aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.github/ISSUE_TEMPLATE/bug_report.yml2
-rw-r--r--builddefs/build_full_test.mk2
-rw-r--r--builddefs/build_keyboard.mk44
-rw-r--r--builddefs/common_features.mk173
-rw-r--r--builddefs/converters.mk7
-rw-r--r--builddefs/generic_features.mk3
-rw-r--r--data/constants/keycodes/extras/keycodes_belgian_0.0.1.hjson2
-rw-r--r--data/constants/keycodes/extras/keycodes_bepo_0.0.1.hjson2
-rw-r--r--data/constants/keycodes/extras/keycodes_brazilian_abnt2_0.0.1.hjson2
-rw-r--r--data/constants/keycodes/extras/keycodes_canadian_multilingual_0.0.1.hjson2
-rw-r--r--data/constants/keycodes/extras/keycodes_colemak_0.0.1.hjson2
-rw-r--r--data/constants/keycodes/extras/keycodes_croatian_0.0.1.hjson2
-rw-r--r--data/constants/keycodes/extras/keycodes_czech_0.0.1.hjson2
-rw-r--r--data/constants/keycodes/extras/keycodes_danish_0.0.1.hjson2
-rw-r--r--data/constants/keycodes/extras/keycodes_dvorak_0.0.1.hjson2
-rw-r--r--data/constants/keycodes/extras/keycodes_dvorak_fr_0.0.1.hjson2
-rw-r--r--data/constants/keycodes/extras/keycodes_dvorak_programmer_0.0.1.hjson2
-rw-r--r--data/constants/keycodes/extras/keycodes_estonian_0.0.1.hjson2
-rw-r--r--data/constants/keycodes/extras/keycodes_eurkey_0.0.1.hjson2
-rw-r--r--data/constants/keycodes/extras/keycodes_finnish_0.0.1.hjson2
-rw-r--r--data/constants/keycodes/extras/keycodes_french_0.0.1.hjson2
-rw-r--r--data/constants/keycodes/extras/keycodes_french_afnor_0.0.1.hjson2
-rw-r--r--data/constants/keycodes/extras/keycodes_french_mac_iso_0.0.1.hjson2
-rw-r--r--data/constants/keycodes/extras/keycodes_german_0.0.1.hjson2
-rw-r--r--data/constants/keycodes/extras/keycodes_german_mac_iso_0.0.1.hjson2
-rw-r--r--data/constants/keycodes/extras/keycodes_greek_0.0.1.hjson2
-rw-r--r--data/constants/keycodes/extras/keycodes_hebrew_0.0.1.hjson2
-rw-r--r--data/constants/keycodes/extras/keycodes_hungarian_0.0.1.hjson2
-rw-r--r--data/constants/keycodes/extras/keycodes_icelandic_0.0.1.hjson2
-rw-r--r--data/constants/keycodes/extras/keycodes_irish_0.0.1.hjson2
-rw-r--r--data/constants/keycodes/extras/keycodes_italian_0.0.1.hjson2
-rw-r--r--data/constants/keycodes/extras/keycodes_italian_mac_ansi_0.0.1.hjson2
-rw-r--r--data/constants/keycodes/extras/keycodes_italian_mac_iso_0.0.1.hjson2
-rw-r--r--data/constants/keycodes/extras/keycodes_japanese_0.0.1.hjson2
-rw-r--r--data/constants/keycodes/extras/keycodes_korean_0.0.1.hjson2
-rw-r--r--data/constants/keycodes/extras/keycodes_latvian_0.0.1.hjson2
-rw-r--r--data/constants/keycodes/extras/keycodes_lithuanian_azerty_0.0.1.hjson2
-rw-r--r--data/constants/keycodes/extras/keycodes_lithuanian_qwerty_0.0.1.hjson2
-rw-r--r--data/constants/keycodes/extras/keycodes_neo2_0.0.1.hjson2
-rw-r--r--data/constants/keycodes/extras/keycodes_nordic_0.0.1.hjson2
-rw-r--r--data/constants/keycodes/extras/keycodes_norman_0.0.1.hjson2
-rw-r--r--data/constants/keycodes/extras/keycodes_norwegian_0.0.1.hjson2
-rw-r--r--data/constants/keycodes/extras/keycodes_plover_0.0.1.hjson2
-rw-r--r--data/constants/keycodes/extras/keycodes_plover_dvorak_0.0.1.hjson2
-rw-r--r--data/constants/keycodes/extras/keycodes_polish_0.0.1.hjson2
-rw-r--r--data/constants/keycodes/extras/keycodes_portuguese_0.0.1.hjson2
-rw-r--r--data/constants/keycodes/extras/keycodes_portuguese_mac_iso_0.0.1.hjson2
-rw-r--r--data/constants/keycodes/extras/keycodes_romanian_0.0.1.hjson2
-rw-r--r--data/constants/keycodes/extras/keycodes_russian_0.0.1.hjson2
-rw-r--r--data/constants/keycodes/extras/keycodes_serbian_0.0.1.hjson2
-rw-r--r--data/constants/keycodes/extras/keycodes_serbian_latin_0.0.1.hjson2
-rw-r--r--data/constants/keycodes/extras/keycodes_slovak_0.0.1.hjson2
-rw-r--r--data/constants/keycodes/extras/keycodes_slovenian_0.0.1.hjson2
-rw-r--r--data/constants/keycodes/extras/keycodes_spanish_0.0.1.hjson2
-rw-r--r--data/constants/keycodes/extras/keycodes_spanish_dvorak_0.0.1.hjson2
-rw-r--r--data/constants/keycodes/extras/keycodes_spanish_latin_america_0.0.1.hjson2
-rw-r--r--data/constants/keycodes/extras/keycodes_swedish_0.0.1.hjson2
-rw-r--r--data/constants/keycodes/extras/keycodes_swedish_mac_ansi_0.0.1.hjson2
-rw-r--r--data/constants/keycodes/extras/keycodes_swedish_mac_iso_0.0.1.hjson2
-rw-r--r--data/constants/keycodes/extras/keycodes_swedish_pro_mac_ansi_0.0.1.hjson2
-rw-r--r--data/constants/keycodes/extras/keycodes_swedish_pro_mac_iso_0.0.1.hjson2
-rw-r--r--data/constants/keycodes/extras/keycodes_swiss_de_0.0.1.hjson2
-rw-r--r--data/constants/keycodes/extras/keycodes_swiss_fr_0.0.1.hjson2
-rw-r--r--data/constants/keycodes/extras/keycodes_turkish_f_0.0.1.hjson2
-rw-r--r--data/constants/keycodes/extras/keycodes_turkish_q_0.0.1.hjson2
-rw-r--r--data/constants/keycodes/extras/keycodes_uk_0.0.1.hjson2
-rw-r--r--data/constants/keycodes/extras/keycodes_ukrainian_0.0.1.hjson2
-rw-r--r--data/constants/keycodes/extras/keycodes_us_extended_0.0.1.hjson2
-rw-r--r--data/constants/keycodes/extras/keycodes_us_international_0.0.1.hjson2
-rw-r--r--data/constants/keycodes/extras/keycodes_us_international_linux_0.0.1.hjson2
-rw-r--r--data/constants/keycodes/extras/keycodes_workman_0.0.1.hjson2
-rw-r--r--data/constants/keycodes/extras/keycodes_workman_zxcvm_0.0.1.hjson2
-rw-r--r--data/constants/keycodes/keycodes_0.0.1.hjson2
-rw-r--r--data/constants/keycodes/keycodes_0.0.1_joystick.hjson2
-rw-r--r--data/constants/keycodes/keycodes_0.0.1_magic.hjson2
-rw-r--r--data/constants/keycodes/keycodes_0.0.1_programmable_button.hjson2
-rw-r--r--data/constants/keycodes/keycodes_0.0.1_sequencer.hjson2
-rw-r--r--data/constants/keycodes/keycodes_0.0.2_basic.hjson2
-rw-r--r--data/constants/keycodes/keycodes_0.0.2_magic.hjson2
-rw-r--r--data/constants/keycodes/keycodes_0.0.2_sequencer.hjson2
-rw-r--r--data/mappings/info_config.hjson1
-rw-r--r--data/mappings/info_rules.hjson4
-rw-r--r--data/mappings/keyboard_aliases.hjson9
-rw-r--r--data/schemas/community_module.jsonschema1
-rw-r--r--data/schemas/keyboard.jsonschema4
-rw-r--r--docs/_sidebar.json1
-rw-r--r--docs/cli.md4
-rw-r--r--docs/cli_development.md6
-rw-r--r--docs/coding_conventions_python.md4
-rw-r--r--docs/configurator_diagram.drawio2
-rw-r--r--docs/configurator_diagram.svg2
-rw-r--r--docs/drivers/battery.md51
-rw-r--r--docs/faq_debug.md11
-rw-r--r--docs/features/community_modules.md5
-rw-r--r--docs/features/pointing_device.md26
-rw-r--r--docs/public/badge-community-dark.svg2
-rw-r--r--docs/public/badge-community-light.svg2
-rw-r--r--docs/tap_hold.md83
-rw-r--r--docs/unit_testing.md28
-rw-r--r--drivers/battery/battery.c31
-rw-r--r--drivers/battery/battery.h34
-rw-r--r--drivers/battery/battery_adc.c55
-rw-r--r--drivers/battery/battery_driver.h29
-rw-r--r--drivers/bluetooth/bluefruit_le.cpp21
-rw-r--r--drivers/bluetooth/bluefruit_le.h4
-rw-r--r--drivers/bluetooth/outputselect.c70
-rw-r--r--drivers/bluetooth/outputselect.h24
-rw-r--r--drivers/eeprom/eeprom_transient.h2
-rw-r--r--drivers/painter/gc9xxx/qp_gc9a01_opcodes.h2
-rw-r--r--drivers/painter/ili9xxx/qp_ili9486.c16
-rw-r--r--drivers/painter/ld7032/qp_ld7032.h2
-rw-r--r--drivers/painter/ld7032/qp_ld7032_opcodes.h2
-rw-r--r--drivers/sensors/pimoroni_trackball.c12
-rw-r--r--drivers/usbpd.h2
-rw-r--r--keyboards/0_sixty/info.json1
-rw-r--r--keyboards/0xc7/61key/keyboard.json2
-rw-r--r--keyboards/0xcb/1337/keyboard.json1
-rw-r--r--keyboards/0xcb/static/keyboard.json1
-rw-r--r--keyboards/0xcb/tutelpad/keyboard.json2
-rw-r--r--keyboards/1k/keyboard.json1
-rw-r--r--keyboards/1upkeyboards/1up60hse/keyboard.json1
-rw-r--r--keyboards/1upkeyboards/1up60hte/keyboard.json1
-rw-r--r--keyboards/1upkeyboards/1up60rgb/keyboard.json2
-rw-r--r--keyboards/1upkeyboards/1upocarina/keyboard.json1
-rw-r--r--keyboards/1upkeyboards/1upslider8/keyboard.json1
-rw-r--r--keyboards/1upkeyboards/1upsuper16v3/keyboard.json1
-rw-r--r--keyboards/1upkeyboards/pi40/grid_v1_1/keyboard.json1
-rw-r--r--keyboards/1upkeyboards/pi40/mit_v1_0/keyboard.json1
-rw-r--r--keyboards/1upkeyboards/pi40/mit_v1_1/keyboard.json1
-rw-r--r--keyboards/1upkeyboards/pi50/info.json1
-rw-r--r--keyboards/1upkeyboards/pi60/keyboard.json1
-rw-r--r--keyboards/1upkeyboards/pi60_hse/keyboard.json1
-rw-r--r--keyboards/1upkeyboards/pi60_rgb/keyboard.json1
-rw-r--r--keyboards/1upkeyboards/super16/keyboard.json2
-rw-r--r--keyboards/1upkeyboards/super16v2/keyboard.json2
-rw-r--r--keyboards/1upkeyboards/sweet16/info.json2
-rw-r--r--keyboards/1upkeyboards/sweet16/v1/keyboard.json1
-rw-r--r--keyboards/1upkeyboards/sweet16v2/kb2040/keyboard.json1
-rw-r--r--keyboards/1upkeyboards/sweet16v2/pro_micro/keyboard.json1
-rw-r--r--keyboards/2key2crawl/keyboard.json1
-rw-r--r--keyboards/30wer/keyboard.json1
-rw-r--r--keyboards/3keyecosystem/2key2/keyboard.json1
-rw-r--r--keyboards/40percentclub/25/keyboard.json1
-rw-r--r--keyboards/40percentclub/4pack/keyboard.json2
-rw-r--r--keyboards/40percentclub/4x4/keyboard.json1
-rw-r--r--keyboards/40percentclub/5x5/keyboard.json1
-rw-r--r--keyboards/40percentclub/6lit/keyboard.json1
-rw-r--r--keyboards/40percentclub/foobar/keyboard.json1
-rw-r--r--keyboards/40percentclub/gherkin/info.json1
-rw-r--r--keyboards/40percentclub/half_n_half/keyboard.json1
-rw-r--r--keyboards/40percentclub/i75/info.json1
-rw-r--r--keyboards/40percentclub/luddite/keyboard.json2
-rw-r--r--keyboards/40percentclub/mf68/keyboard.json2
-rw-r--r--keyboards/40percentclub/nano/keyboard.json2
-rw-r--r--keyboards/40percentclub/nein/keyboard.json1
-rw-r--r--keyboards/40percentclub/nori/keyboard.json1
-rw-r--r--keyboards/40percentclub/polyandry/info.json2
-rw-r--r--keyboards/40percentclub/sixpack/keyboard.json1
-rw-r--r--keyboards/40percentclub/tomato/keyboard.json2
-rw-r--r--keyboards/40percentclub/ut47/keyboard.json1
-rw-r--r--keyboards/45_ats/keyboard.json1
-rw-r--r--keyboards/4pplet/aekiso60/info.json1
-rw-r--r--keyboards/4pplet/aekiso60/rev_a/keyboard.json1
-rw-r--r--keyboards/4pplet/bootleg/rev_a/keyboard.json1
-rw-r--r--keyboards/4pplet/perk60_iso/rev_a/keyboard.json2
-rw-r--r--keyboards/4pplet/steezy60/rev_a/keyboard.json1
-rw-r--r--keyboards/4pplet/steezy60/rev_b/keyboard.json1
-rw-r--r--keyboards/4pplet/unextended_std/rev_a/keyboard.json1
-rw-r--r--keyboards/4pplet/waffling60/rev_a/keyboard.json1
-rw-r--r--keyboards/4pplet/waffling60/rev_b/keyboard.json1
-rw-r--r--keyboards/4pplet/waffling60/rev_c/keyboard.json1
-rw-r--r--keyboards/4pplet/waffling60/rev_e/keyboard.json1
-rw-r--r--keyboards/4pplet/waffling60/rev_e_ansi/keyboard.json1
-rw-r--r--keyboards/4pplet/waffling60/rev_e_iso/keyboard.json1
-rw-r--r--keyboards/4pplet/waffling80/info.json1
-rw-r--r--keyboards/4pplet/waffling80/rev_a/keyboard.json1
-rw-r--r--keyboards/4pplet/yakiimo/rev_a/keyboard.json1
-rw-r--r--keyboards/5keys/keyboard.json1
-rw-r--r--keyboards/7c8/framework/keyboard.json2
-rw-r--r--keyboards/9key/keyboard.json2
-rw-r--r--keyboards/abatskeyboardclub/nayeon/keyboard.json2
-rw-r--r--keyboards/abstract/ellipse/rev1/keyboard.json1
-rw-r--r--keyboards/acekeyboard/titan60/keyboard.json1
-rw-r--r--keyboards/acheron/apollo/87h/delta/keyboard.json1
-rw-r--r--keyboards/acheron/apollo/87h/info.json1
-rw-r--r--keyboards/acheron/apollo/87htsc/keyboard.json2
-rw-r--r--keyboards/acheron/apollo/88htsc/keyboard.json2
-rw-r--r--keyboards/acheron/athena/alpha/keyboard.json1
-rw-r--r--keyboards/acheron/athena/beta/keyboard.json1
-rw-r--r--keyboards/acheron/athena/info.json1
-rwxr-xr-xkeyboards/acheron/austin/keyboard.json1
-rw-r--r--keyboards/acheron/elongate/beta/keyboard.json1
-rw-r--r--keyboards/acheron/elongate/delta/keyboard.json1
-rw-r--r--keyboards/acheron/lasgweloth/keyboard.json1
-rw-r--r--keyboards/acheron/shark/beta/keyboard.json1
-rw-r--r--keyboards/acheron/themis/87h/keyboard.json1
-rw-r--r--keyboards/acheron/themis/87htsc/keyboard.json1
-rw-r--r--keyboards/acheron/themis/88htsc/keyboard.json1
-rw-r--r--keyboards/acheron/themis/info.json1
-rw-r--r--keyboards/ada/ada1800mini/keyboard.json1
-rw-r--r--keyboards/ada/infinity81/keyboard.json2
-rw-r--r--keyboards/adelheid/keyboard.json1
-rw-r--r--keyboards/adkb96/rev1/keyboard.json1
-rw-r--r--keyboards/adm42/rev4/keyboard.json2
-rw-r--r--keyboards/adpenrose/akemipad/keyboard.json1
-rw-r--r--keyboards/adpenrose/kintsugi/keyboard.json1
-rw-r--r--keyboards/adpenrose/obi/keyboard.json1
-rw-r--r--keyboards/adpenrose/shisaku/keyboard.json1
-rw-r--r--keyboards/aeboards/aegis/keyboard.json2
-rw-r--r--keyboards/aeboards/constellation/rev1/keyboard.json1
-rw-r--r--keyboards/aeboards/constellation/rev2/keyboard.json1
-rw-r--r--keyboards/aeboards/constellation/rev3/keyboard.json1
-rw-r--r--keyboards/aeboards/ext65/info.json1
-rw-r--r--keyboards/aeboards/ext65/rev1/keyboard.json1
-rw-r--r--keyboards/aeboards/ext65/rev2/keyboard.json1
-rw-r--r--keyboards/aeboards/ext65/rev3/keyboard.json1
-rw-r--r--keyboards/aeboards/satellite/rev1/keyboard.json1
-rw-r--r--keyboards/afternoonlabs/gust/rev1/keyboard.json1
-rw-r--r--keyboards/ah/haven80/info.json1
-rw-r--r--keyboards/ai/keyboard.json2
-rw-r--r--keyboards/ai03/altair/keyboard.json1
-rw-r--r--keyboards/ai03/altair_x/keyboard.json1
-rw-r--r--keyboards/ai03/andromeda/keyboard.json1
-rw-r--r--keyboards/ai03/duet/keyboard.json1
-rw-r--r--keyboards/ai03/equinox/info.json1
-rw-r--r--keyboards/ai03/equinox/rev0/keyboard.json1
-rw-r--r--keyboards/ai03/equinox/rev1/keyboard.json1
-rw-r--r--keyboards/ai03/equinox_xl/keyboard.json1
-rw-r--r--keyboards/ai03/jp60/keyboard.json1
-rw-r--r--keyboards/ai03/orbit_x/keyboard.json1
-rw-r--r--keyboards/ai03/polaris/keyboard.json1
-rw-r--r--keyboards/ai03/quasar/keyboard.json1
-rw-r--r--keyboards/ai03/soyuz/keyboard.json1
-rw-r--r--keyboards/ai03/voyager60_alps/keyboard.json1
-rw-r--r--keyboards/aidansmithdotdev/fine40/keyboard.json1
-rw-r--r--keyboards/akb/ogr/keyboard.json1
-rw-r--r--keyboards/akb/ogrn/keyboard.json1
-rw-r--r--keyboards/akb/vero/board.h (renamed from keyboards/nix_studio/lilith/config.h)7
-rw-r--r--keyboards/akb/vero/config.h23
-rw-r--r--keyboards/akb/vero/keyboard.json1
-rw-r--r--keyboards/akko/5087/5087.c2
-rw-r--r--keyboards/akko/5087/keyboard.json1
-rw-r--r--keyboards/akko/5108/keyboard.json1
-rw-r--r--keyboards/akko/acr87/keyboard.json1
-rw-r--r--keyboards/akko/top40/keyboard.json1
-rw-r--r--keyboards/al1/keyboard.json1
-rw-r--r--keyboards/alf/x11/keyboard.json2
-rw-r--r--keyboards/alf/x2/keyboard.json2
-rw-r--r--keyboards/alfredslab/swift65/hotswap/keyboard.json1
-rw-r--r--keyboards/alfredslab/swift65/solder/keyboard.json1
-rw-r--r--keyboards/alhenkb/macropad5x4/keyboard.json2
-rw-r--r--keyboards/alpha/keyboard.json1
-rw-r--r--keyboards/alpine65/keyboard.json1
-rw-r--r--keyboards/alps64/keyboard.json1
-rw-r--r--keyboards/amag23/keyboard.json1
-rw-r--r--keyboards/amjkeyboard/amj40/keyboard.json2
-rw-r--r--keyboards/amjkeyboard/amj60/keyboard.json2
-rw-r--r--keyboards/amjkeyboard/amj66/keyboard.json1
-rw-r--r--keyboards/amjkeyboard/amj84/keyboard.json2
-rw-r--r--keyboards/amjkeyboard/amj96/keyboard.json1
-rw-r--r--keyboards/amjkeyboard/amjpad/keyboard.json1
-rw-r--r--keyboards/an_achronism/tetromino/keyboard.json1
-rw-r--r--keyboards/anavi/arrows/keyboard.json1
-rw-r--r--keyboards/anavi/knob1/keyboard.json1
-rw-r--r--keyboards/anavi/knobs3/keyboard.json4
-rw-r--r--keyboards/anavi/macropad10/keyboard.json4
-rw-r--r--keyboards/anavi/macropad12/keyboard.json1
-rw-r--r--keyboards/anavi/macropad8/keyboard.json2
-rw-r--r--keyboards/andean_condor/keyboard.json1
-rw-r--r--keyboards/ano/keyboard.json1
-rw-r--r--keyboards/aos/tkl/keyboard.json1
-rw-r--r--keyboards/aplyard/aplx6/info.json1
-rw-r--r--keyboards/aplyard/aplx6/rev1/keyboard.json1
-rw-r--r--keyboards/aplyard/aplx6/rev2/keyboard.json1
-rw-r--r--keyboards/arabica37/rev1/keyboard.json1
-rw-r--r--keyboards/archetype/minervalx/keyboard.json1
-rw-r--r--keyboards/ares/keyboard.json2
-rw-r--r--keyboards/argo_works/ishi/80/mk0_avr/keyboard.json1
-rw-r--r--keyboards/argo_works/ishi/80/mk0_avr_extra/keyboard.json1
-rw-r--r--keyboards/arisu/keyboard.json1
-rw-r--r--keyboards/arrayperipherals/1x4p1/keyboard.json1
-rw-r--r--keyboards/artemis/paragon/info.json2
-rw-r--r--keyboards/ash_xiix/keyboard.json1
-rw-r--r--keyboards/ashwing66/keyboard.json1
-rw-r--r--keyboards/ask55/keyboard.json3
-rw-r--r--keyboards/at_at/660m/keyboard.json1
-rw-r--r--keyboards/atlantis/ak81_ve/keyboard.json1
-rw-r--r--keyboards/atlantis/ps17/keyboard.json1
-rw-r--r--keyboards/atlas_65/keyboard.json1
-rw-r--r--keyboards/atomic/keyboard.json1
-rw-r--r--keyboards/atreus/feather/keyboard.json3
-rw-r--r--keyboards/atreus/info.json1
-rw-r--r--keyboards/atreus62/keyboard.json1
-rw-r--r--keyboards/atxkb/1894/keyboard.json1
-rw-r--r--keyboards/aves60/keyboard.json1
-rw-r--r--keyboards/aves65/keyboard.json2
-rw-r--r--keyboards/axolstudio/foundation_gamma/keyboard.json1
-rw-r--r--keyboards/axolstudio/helpo/keyboard.json1
-rw-r--r--keyboards/axolstudio/yeti/hotswap/keyboard.json1
-rw-r--r--keyboards/axolstudio/yeti/soldered/keyboard.json1
-rw-r--r--keyboards/bacca70/keyboard.json1
-rw-r--r--keyboards/baguette/keyboard.json2
-rw-r--r--keyboards/bahm/aster_ergo/keyboard.json1
-rw-r--r--keyboards/balloondogcaps/tr90/keyboard.json2
-rw-r--r--keyboards/balloondogcaps/tr90pm/keyboard.json2
-rw-r--r--keyboards/bantam44/keyboard.json1
-rw-r--r--keyboards/barracuda/keyboard.json1
-rw-r--r--keyboards/bastardkb/charybdis/3x5/v1/elitec/keyboard.json4
-rw-r--r--keyboards/bastardkb/charybdis/3x5/v2/elitec/keyboard.json4
-rw-r--r--keyboards/bastardkb/charybdis/3x5/v2/splinky_2/keyboard.json4
-rw-r--r--keyboards/bastardkb/charybdis/3x5/v2/splinky_3/keyboard.json4
-rw-r--r--keyboards/bastardkb/charybdis/3x5/v2/stemcell/keyboard.json4
-rw-r--r--keyboards/bastardkb/charybdis/3x6/v1/elitec/keyboard.json4
-rw-r--r--keyboards/bastardkb/charybdis/3x6/v2/elitec/keyboard.json4
-rw-r--r--keyboards/bastardkb/charybdis/3x6/v2/splinky_2/keyboard.json4
-rw-r--r--keyboards/bastardkb/charybdis/3x6/v2/splinky_3/keyboard.json4
-rw-r--r--keyboards/bastardkb/charybdis/3x6/v2/stemcell/keyboard.json4
-rw-r--r--keyboards/bastardkb/charybdis/4x6/v1/elitec/keyboard.json4
-rw-r--r--keyboards/bastardkb/charybdis/4x6/v2/elitec/keyboard.json4
-rw-r--r--keyboards/bastardkb/charybdis/4x6/v2/splinky_2/keyboard.json4
-rw-r--r--keyboards/bastardkb/charybdis/4x6/v2/splinky_3/keyboard.json4
-rw-r--r--keyboards/bastardkb/charybdis/4x6/v2/stemcell/keyboard.json4
-rw-r--r--keyboards/bastardkb/dilemma/3x5_2/assembled/keyboard.json4
-rw-r--r--keyboards/bastardkb/dilemma/3x5_2/splinky/keyboard.json4
-rw-r--r--keyboards/bastardkb/dilemma/3x5_3/keyboard.json5
-rw-r--r--keyboards/bastardkb/dilemma/4x6_4/keyboard.json5
-rw-r--r--keyboards/bastardkb/scylla/v1/elitec/keyboard.json4
-rw-r--r--keyboards/bastardkb/scylla/v2/elitec/keyboard.json4
-rw-r--r--keyboards/bastardkb/scylla/v2/splinky_2/keyboard.json4
-rw-r--r--keyboards/bastardkb/scylla/v2/splinky_3/keyboard.json4
-rw-r--r--keyboards/bastardkb/scylla/v2/stemcell/keyboard.json4
-rw-r--r--keyboards/bastardkb/skeletyl/v1/elitec/keyboard.json4
-rw-r--r--keyboards/bastardkb/skeletyl/v2/elitec/keyboard.json4
-rw-r--r--keyboards/bastardkb/skeletyl/v2/splinky_2/keyboard.json4
-rw-r--r--keyboards/bastardkb/skeletyl/v2/splinky_3/keyboard.json4
-rw-r--r--keyboards/bastardkb/skeletyl/v2/stemcell/keyboard.json4
-rw-r--r--keyboards/bastardkb/tbkmini/v1/elitec/keyboard.json4
-rw-r--r--keyboards/bastardkb/tbkmini/v2/elitec/keyboard.json4
-rw-r--r--keyboards/bastardkb/tbkmini/v2/splinky_2/keyboard.json4
-rw-r--r--keyboards/bastardkb/tbkmini/v2/splinky_3/keyboard.json4
-rw-r--r--keyboards/bastardkb/tbkmini/v2/stemcell/keyboard.json4
-rw-r--r--keyboards/bear_face/info.json1
-rw-r--r--keyboards/beatervan/keyboard.json2
-rw-r--r--keyboards/beekeeb/piantor/keyboard.json1
-rw-r--r--keyboards/beekeeb/piantor_pro/keyboard.json2
-rw-r--r--keyboards/bestway/keyboard.json1
-rw-r--r--keyboards/bfake/keyboard.json2
-rw-r--r--keyboards/biacco42/ergo42/rev1/keyboard.json1
-rw-r--r--keyboards/biacco42/meishi/keyboard.json1
-rw-r--r--keyboards/biacco42/meishi2/keyboard.json1
-rwxr-xr-xkeyboards/binepad/bn006/keyboard.json1
-rw-r--r--keyboards/binepad/bn009/info.json1
-rwxr-xr-xkeyboards/binepad/bnr1/info.json1
-rw-r--r--keyboards/binepad/pixie/keyboard.json1
-rw-r--r--keyboards/bioi/f60/keyboard.json2
-rw-r--r--keyboards/bioi/g60ble/keyboard.json1
-rw-r--r--keyboards/bioi/morgan65/keyboard.json1
-rw-r--r--keyboards/bioi/s65/keyboard.json2
-rw-r--r--keyboards/black_hellebore/keyboard.json1
-rw-r--r--keyboards/blackplum/keyboard.json1
-rw-r--r--keyboards/blank/blank01/keyboard.json2
-rw-r--r--keyboards/blaster75/keyboard.json1
-rw-r--r--keyboards/blockboy/ac980mini/keyboard.json2
-rw-r--r--keyboards/blockey/keyboard.json1
-rw-r--r--keyboards/boardrun/bizarre/keyboard.json1
-rw-r--r--keyboards/boardrun/classic/keyboard.json1
-rw-r--r--keyboards/boardwalk/keyboard.json2
-rw-r--r--keyboards/bobpad/keyboard.json2
-rw-r--r--keyboards/bolsa/bolsalice/keyboard.json2
-rw-r--r--keyboards/bolsa/damapad/keyboard.json2
-rw-r--r--keyboards/bop/keyboard.json1
-rw-r--r--keyboards/boston/keyboard.json1
-rw-r--r--keyboards/boston_meetup/2019/keyboard.json1
-rw-r--r--keyboards/botanicalkeyboards/fm2u/keyboard.json1
-rw-r--r--keyboards/box75/keyboard.json1
-rw-r--r--keyboards/bpiphany/four_banger/keyboard.json2
-rw-r--r--keyboards/bpiphany/frosty_flake/20130602/keyboard.json1
-rw-r--r--keyboards/bpiphany/frosty_flake/20140521/keyboard.json1
-rw-r--r--keyboards/bpiphany/frosty_flake/info.json1
-rw-r--r--keyboards/bpiphany/ghost_squid/keyboard.json1
-rw-r--r--keyboards/bpiphany/hid_liber/keyboard.json1
-rw-r--r--keyboards/bpiphany/kitten_paw/keyboard.json1
-rw-r--r--keyboards/bpiphany/pegasushoof/info.json1
-rw-r--r--keyboards/bpiphany/sixshooter/keyboard.json1
-rw-r--r--keyboards/bpiphany/tiger_lily/keyboard.json1
-rw-r--r--keyboards/bredworks/wyvern_hs/keyboard.json1
-rw-r--r--keyboards/bschwind/key_ripper/keyboard.json1
-rw-r--r--keyboards/bt66tech/bt66tech60/keyboard.json1
-rw-r--r--keyboards/bthlabs/geekpad/keyboard.json1
-rw-r--r--keyboards/bubble75/hotswap/keyboard.json1
-rw-r--r--keyboards/budgy/keyboard.json2
-rw-r--r--keyboards/buildakb/mw60/keyboard.json2
-rw-r--r--keyboards/buildakb/potato65/keyboard.json1
-rw-r--r--keyboards/buildakb/potato65hs/keyboard.json1
-rw-r--r--keyboards/buildakb/potato65s/keyboard.json1
-rw-r--r--keyboards/butterkeebs/pocketpad/keyboard.json1
-rw-r--r--keyboards/cablecardesigns/cypher/rev6/keyboard.json1
-rwxr-xr-xkeyboards/cablecardesigns/phoenix/keyboard.json1
-rw-r--r--keyboards/caffeinated/serpent65/keyboard.json2
-rw-r--r--keyboards/canary/canary60rgb/v1/keyboard.json2
-rw-r--r--keyboards/cannonkeys/adelie/keyboard.json2
-rw-r--r--keyboards/cannonkeys/atlas_alps/keyboard.json1
-rw-r--r--keyboards/cannonkeys/bakeneko60_iso_hs/keyboard.json1
-rw-r--r--keyboards/cannonkeys/bakeneko65_iso_hs/keyboard.json1
-rw-r--r--keyboards/cannonkeys/bastion60/keyboard.json1
-rw-r--r--keyboards/cannonkeys/bastion65/keyboard.json1
-rw-r--r--keyboards/cannonkeys/bastion75/keyboard.json1
-rw-r--r--keyboards/cannonkeys/bastiontkl/keyboard.json1
-rw-r--r--keyboards/cannonkeys/brutalv2_1800/keyboard.json1
-rw-r--r--keyboards/cannonkeys/caerdroia/keyboard.json1
-rw-r--r--keyboards/cannonkeys/chimera65_hs/keyboard.json1
-rw-r--r--keyboards/cannonkeys/ellipse/keyboard.json1
-rw-r--r--keyboards/cannonkeys/ellipse_hs/keyboard.json1
-rw-r--r--keyboards/cannonkeys/leviatan/keyboard.json1
-rw-r--r--keyboards/cannonkeys/lib/satisfaction75/satisfaction_core.c105
-rw-r--r--keyboards/cannonkeys/lib/satisfaction75/satisfaction_core.h11
-rw-r--r--keyboards/cannonkeys/lib/satisfaction75/satisfaction_encoder.c17
-rw-r--r--keyboards/cannonkeys/lib/satisfaction75/satisfaction_oled.c2
-rw-r--r--keyboards/cannonkeys/meetuppad2023/keyboard.json1
-rw-r--r--keyboards/cannonkeys/moment/keyboard.json1
-rw-r--r--keyboards/cannonkeys/moment_hs/keyboard.json1
-rw-r--r--keyboards/cannonkeys/nearfield/keyboard.json2
-rw-r--r--keyboards/cannonkeys/ortho48/keyboard.json1
-rw-r--r--keyboards/cannonkeys/ortho48v2/keyboard.json1
-rw-r--r--keyboards/cannonkeys/ortho60/keyboard.json1
-rw-r--r--keyboards/cannonkeys/ortho60v2/keyboard.json1
-rw-r--r--keyboards/cannonkeys/ortho75/keyboard.json1
-rw-r--r--keyboards/cannonkeys/petrichor/keyboard.json1
-rw-r--r--keyboards/cannonkeys/practice60/keyboard.json1
-rw-r--r--keyboards/cannonkeys/reverie/info.json1
-rw-r--r--keyboards/cannonkeys/ripple/keyboard.json3
-rw-r--r--keyboards/cannonkeys/ripple_hs/keyboard.json1
-rw-r--r--keyboards/cannonkeys/satisfaction75/config.h5
-rw-r--r--keyboards/cannonkeys/satisfaction75/info.json1
-rw-r--r--keyboards/cannonkeys/satisfaction75_hs/config.h5
-rw-r--r--keyboards/cannonkeys/savage65/keyboard.json207
-rw-r--r--keyboards/cannonkeys/serenity/keyboard.json1
-rw-r--r--keyboards/cannonkeys/typeb/keyboard.json1
-rw-r--r--keyboards/cannonkeys/vector/keyboard.json2
-rw-r--r--keyboards/cannonkeys/vida/info.json1
-rw-r--r--keyboards/cantor/keyboard.json1
-rw-r--r--keyboards/capsunlocked/cu24/keyboard.json2
-rw-r--r--keyboards/capsunlocked/cu65/keyboard.json2
-rw-r--r--keyboards/capsunlocked/cu7/keyboard.json1
-rw-r--r--keyboards/capsunlocked/cu75/keyboard.json1
-rw-r--r--keyboards/capsunlocked/cu80/v1/keyboard.json1
-rw-r--r--keyboards/carbo65/keyboard.json1
-rw-r--r--keyboards/centromere/keyboard.json1
-rw-r--r--keyboards/cest73/tkm/keyboard.json1
-rw-r--r--keyboards/chalice/keyboard.json1
-rw-r--r--keyboards/chaos65/keyboard.json1
-rw-r--r--keyboards/charue/sunsetter_r2/keyboard.json1
-rw-r--r--keyboards/chavdai40/rev1/keyboard.json1
-rw-r--r--keyboards/chavdai40/rev2/keyboard.json1
-rw-r--r--keyboards/checkerboards/axon40/keyboard.json2
-rw-r--r--keyboards/checkerboards/candybar_ortho/keyboard.json2
-rw-r--r--keyboards/checkerboards/g_idb60/keyboard.json2
-rw-r--r--keyboards/checkerboards/nop60/keyboard.json2
-rw-r--r--keyboards/checkerboards/plexus75/keyboard.json2
-rw-r--r--keyboards/checkerboards/plexus75_he/keyboard.json1
-rw-r--r--keyboards/checkerboards/pursuit40/keyboard.json1
-rw-r--r--keyboards/checkerboards/quark/keyboard.json1
-rw-r--r--keyboards/checkerboards/quark_lp/keyboard.json1
-rw-r--r--keyboards/checkerboards/quark_plus/keyboard.json1
-rw-r--r--keyboards/checkerboards/ud40_ortho_alt/keyboard.json2
-rw-r--r--keyboards/cherrybstudio/cb1800/keyboard.json1
-rw-r--r--keyboards/cherrybstudio/cb65/keyboard.json1
-rw-r--r--keyboards/cherrybstudio/cb87/keyboard.json1
-rw-r--r--keyboards/cherrybstudio/cb87rgb/keyboard.json1
-rw-r--r--keyboards/cherrybstudio/cb87v2/keyboard.json1
-rw-r--r--keyboards/cheshire/curiosity/keyboard.json1
-rw-r--r--keyboards/chew/keyboard.json1
-rw-r--r--keyboards/chickenman/ciel/keyboard.json2
-rw-r--r--keyboards/chickenman/ciel65/keyboard.json4
-rw-r--r--keyboards/chill/ghoul/keyboard.json1
-rw-r--r--keyboards/chlx/lfn_merro60/keyboard.json1
-rw-r--r--keyboards/chlx/merro60/keyboard.json1
-rw-r--r--keyboards/chlx/piche60/keyboard.json1
-rw-r--r--keyboards/chlx/ppr_merro60/keyboard.json1
-rw-r--r--keyboards/chocofly/v1/keyboard.json1
-rw-r--r--keyboards/chocv/keyboard.json1
-rw-r--r--keyboards/chord/zero/keyboard.json1
-rw-r--r--keyboards/chosfox/cf81/keyboard.json1
-rw-r--r--keyboards/chouchou/keyboard.json1
-rw-r--r--keyboards/chromatonemini/keyboard.json1
-rw-r--r--keyboards/churrosoft/deck8/info.json1
-rw-r--r--keyboards/cipulot/common/ec_board.c4
-rw-r--r--keyboards/cipulot/common/eeprom_tools.h26
-rw-r--r--keyboards/cipulot/common/via_ec.c7
-rw-r--r--keyboards/cipulot/ec_980c/ec_980c.c4
-rw-r--r--keyboards/cipulot/ec_typek/ec_typek.c4
-rw-r--r--keyboards/cipulot/kallos/keyboard.json2
-rw-r--r--keyboards/ck60i/keyboard.json2
-rw-r--r--keyboards/ckeys/handwire_101/keyboard.json1
-rw-r--r--keyboards/ckeys/nakey/keyboard.json1
-rw-r--r--keyboards/ckeys/obelus/keyboard.json2
-rw-r--r--keyboards/ckeys/thedora/keyboard.json1
-rw-r--r--keyboards/ckeys/washington/keyboard.json1
-rw-r--r--keyboards/clap_studio/flame60/keyboard.json1
-rw-r--r--keyboards/clawsome/bookerboard/keyboard.json1
-rw-r--r--keyboards/clawsome/fightpad/keyboard.json1
-rw-r--r--keyboards/clawsome/sidekick/keyboard.json1
-rw-r--r--keyboards/clueboard/17/keyboard.json5
-rw-r--r--keyboards/clueboard/2x1800/2018/keyboard.json1
-rw-r--r--keyboards/clueboard/66/rev1/keyboard.json4
-rw-r--r--keyboards/clueboard/66/rev2/keyboard.json4
-rw-r--r--keyboards/clueboard/66/rev3/keyboard.json5
-rw-r--r--keyboards/clueboard/66/rev4/keyboard.json4
-rw-r--r--keyboards/clueboard/66_hotswap/prototype/keyboard.json4
-rw-r--r--keyboards/clueboard/california/keyboard.json1
-rw-r--r--keyboards/clueboard/card/keyboard.json4
-rw-r--r--keyboards/cmm_studio/fuji65/keyboard.json1
-rw-r--r--keyboards/cmm_studio/saka68/hotswap/keyboard.json1
-rw-r--r--keyboards/cmm_studio/saka68/solder/keyboard.json2
-rw-r--r--keyboards/coarse/ixora/keyboard.json1
-rw-r--r--keyboards/coarse/vinta/keyboard.json1
-rw-r--r--keyboards/coban/pad3a/keyboard.json1
-rw-r--r--keyboards/compound/keyboard.json1
-rw-r--r--keyboards/concreteflowers/cor/keyboard.json2
-rw-r--r--keyboards/concreteflowers/cor_tkl/keyboard.json2
-rw-r--r--keyboards/contender/keyboard.json1
-rw-r--r--keyboards/contra/keyboard.json1
-rw-r--r--keyboards/contra/keymaps/default/keymap.c4
-rw-r--r--keyboards/controllerworks/city42/keyboard.json1
-rw-r--r--keyboards/controllerworks/mini36/keyboard.json1
-rw-r--r--keyboards/controllerworks/mini42/keyboard.json1
-rw-r--r--keyboards/converter/a1200/miss1200/keyboard.json1
-rw-r--r--keyboards/converter/a1200/mistress1200/keyboard.json1
-rw-r--r--keyboards/converter/a1200/teensy2pp/keyboard.json1
-rw-r--r--keyboards/converter/adb_usb/info.json1
-rw-r--r--keyboards/converter/ibm_terminal/keyboard.json1
-rw-r--r--keyboards/converter/m0110_usb/keyboard.json1
-rw-r--r--keyboards/converter/numeric_keypad_iie/keyboard.json1
-rw-r--r--keyboards/converter/palm_usb/stowaway/keyboard.json1
-rw-r--r--keyboards/converter/siemens_tastatur/keyboard.json1
-rw-r--r--keyboards/converter/sun_usb/info.json1
-rw-r--r--keyboards/converter/usb_usb/info.json1
-rw-r--r--keyboards/converter/xt_usb/keyboard.json1
-rw-r--r--keyboards/cool836a/keyboard.json1
-rwxr-xr-xkeyboards/copenhagen_click/click_pad_v1/keyboard.json1
-rw-r--r--keyboards/coseyfannitutti/discipad/keyboard.json1
-rw-r--r--keyboards/coseyfannitutti/romeo/keyboard.json1
-rw-r--r--keyboards/cosmo65/keyboard.json1
-rw-r--r--keyboards/cozykeys/bloomer/v2/keyboard.json1
-rw-r--r--keyboards/cozykeys/bloomer/v3/keyboard.json1
-rw-r--r--keyboards/cozykeys/speedo/v2/keyboard.json1
-rw-r--r--keyboards/cradio/keyboard.json1
-rw-r--r--keyboards/crawlpad/keyboard.json2
-rw-r--r--keyboards/crazy_keyboard_68/keyboard.json2
-rw-r--r--keyboards/crbn/keyboard.json1
-rw-r--r--keyboards/creatkeebs/glacier/keyboard.json2
-rw-r--r--keyboards/creatkeebs/thera/keyboard.json1
-rw-r--r--keyboards/crimsonkeyboards/resume1800/keyboard.json1
-rw-r--r--keyboards/crowboard/keyboard.json1
-rw-r--r--keyboards/custommk/ergostrafer/keyboard.json1
-rw-r--r--keyboards/custommk/evo70/keyboard.json1
-rw-r--r--keyboards/custommk/evo70_r2/keyboard.json1
-rw-r--r--keyboards/cutie_club/borsdorf/keyboard.json2
-rw-r--r--keyboards/cutie_club/fidelity/keyboard.json2
-rw-r--r--keyboards/cutie_club/giant_macro_pad/keyboard.json2
-rw-r--r--keyboards/cutie_club/keebcats/denis/keyboard.json2
-rw-r--r--keyboards/cutie_club/keebcats/dougal/keyboard.json2
-rw-r--r--keyboards/cutie_club/novus/keyboard.json2
-rw-r--r--keyboards/cutie_club/wraith/keyboard.json2
-rw-r--r--keyboards/cx60/keyboard.json2
-rw-r--r--keyboards/cxt_studio/12e3/keyboard.json1
-rw-r--r--keyboards/cxt_studio/12e4/keyboard.json1
-rw-r--r--keyboards/cybergear/macro25/keyboard.json1
-rw-r--r--keyboards/dailycraft/bat43/info.json2
-rw-r--r--keyboards/dailycraft/claw44/rev1/keyboard.json1
-rw-r--r--keyboards/dailycraft/owl8/keyboard.json2
-rw-r--r--keyboards/dailycraft/sandbox/rev1/keyboard.json1
-rw-r--r--keyboards/dailycraft/sandbox/rev2/keyboard.json1
-rw-r--r--keyboards/dailycraft/stickey4/keyboard.json2
-rw-r--r--keyboards/dailycraft/wings42/rev1/keyboard.json1
-rw-r--r--keyboards/dailycraft/wings42/rev1_extkeys/keyboard.json1
-rw-r--r--keyboards/dailycraft/wings42/rev2/keyboard.json1
-rw-r--r--keyboards/daji/seis_cinco/keyboard.json2
-rw-r--r--keyboards/dark/magnum_ergo_1/keyboard.json2
-rw-r--r--keyboards/darkproject/kd83a_bfg_edition/keyboard.json2
-rw-r--r--keyboards/darkproject/kd87a_bfg_edition/keyboard.json1
-rw-r--r--keyboards/darmoshark/k3/keyboard.json2
-rw-r--r--keyboards/dasky/reverb/keyboard.json1
-rw-r--r--keyboards/db/db63/keyboard.json1
-rw-r--r--keyboards/dc01/arrow/keyboard.json1
-rw-r--r--keyboards/dc01/left/keyboard.json1
-rw-r--r--keyboards/dc01/numpad/keyboard.json1
-rw-r--r--keyboards/dc01/right/keyboard.json1
-rw-r--r--keyboards/decent/tkl/keyboard.json1
-rw-r--r--keyboards/deemen17/de60/r1/config.h (renamed from keyboards/deemen17/de60fs/config.h)0
-rw-r--r--keyboards/deemen17/de60/r1/keyboard.json (renamed from keyboards/deemen17/de60fs/keyboard.json)4
-rw-r--r--keyboards/deemen17/de60/r1/keymaps/default/keymap.c (renamed from keyboards/deemen17/de60fs/keymaps/default/keymap.c)0
-rw-r--r--keyboards/deemen17/de60/r1/readme.md (renamed from keyboards/deemen17/de60fs/readme.md)8
-rw-r--r--keyboards/deemen17/de60/readme.md17
-rw-r--r--keyboards/delikeeb/flatbread60/keyboard.json2
-rw-r--r--keyboards/delikeeb/vaguettelite/keyboard.json2
-rw-r--r--keyboards/delikeeb/vanana/info.json1
-rw-r--r--keyboards/delikeeb/vanana/rev1/keyboard.json1
-rw-r--r--keyboards/delikeeb/vanana/rev2/keyboard.json1
-rw-r--r--keyboards/delikeeb/vaneela/keyboard.json1
-rw-r--r--keyboards/delikeeb/vaneelaex/keyboard.json1
-rw-r--r--keyboards/delikeeb/waaffle/rev3/elite_c/keyboard.json1
-rw-r--r--keyboards/delikeeb/waaffle/rev3/info.json1
-rw-r--r--keyboards/delikeeb/waaffle/rev3/pro_micro/keyboard.json1
-rw-r--r--keyboards/deltapad/keyboard.json2
-rw-r--r--keyboards/demiurge/keyboard.json2
-rw-r--r--keyboards/deng/djam/keyboard.json2
-rw-r--r--keyboards/deng/thirty/keyboard.json1
-rw-r--r--keyboards/densus/alveus/mx/keyboard.json1
-rw-r--r--keyboards/dichotomy/keyboard.json1
-rw-r--r--keyboards/dinofizz/fnrow/v1/keyboard.json1
-rw-r--r--keyboards/dk60/keyboard.json2
-rw-r--r--keyboards/dm9records/ergoinu/keyboard.json1
-rw-r--r--keyboards/dm9records/lain/keyboard.json1
-rw-r--r--keyboards/dm9records/plaid/keymaps/default/keymap.c4
-rw-r--r--keyboards/dmqdesign/spin/keyboard.json1
-rw-r--r--keyboards/dnworks/frltkl/keyboard.json1
-rw-r--r--keyboards/dnworks/sbl/keyboard.json1
-rw-r--r--keyboards/do60/keyboard.json2
-rw-r--r--keyboards/doio/kb04/keyboard.json1
-rw-r--r--keyboards/doio/kb09/keyboard.json2
-rw-r--r--keyboards/doio/kb12/keyboard.json2
-rw-r--r--keyboards/doio/kb19/keyboard.json2
-rw-r--r--keyboards/doio/kb30/keyboard.json2
-rw-r--r--keyboards/doio/kb38/keyboard.json1
-rw-r--r--keyboards/doio/kb3x/keyboard.json1
-rw-r--r--keyboards/donutcables/budget96/keyboard.json2
-rw-r--r--keyboards/donutcables/scrabblepad/keyboard.json2
-rw-r--r--keyboards/doppelganger/keyboard.json1
-rw-r--r--keyboards/doro67/multi/keyboard.json1
-rw-r--r--keyboards/doro67/rgb/keyboard.json2
-rw-r--r--keyboards/dotmod/dymium65/keyboard.json1
-rw-r--r--keyboards/dp3000/rev1/keyboard.json1
-rw-r--r--keyboards/dp3000/rev2/keyboard.json1
-rw-r--r--keyboards/dp60/keyboard.json1
-rw-r--r--keyboards/draculad/keyboard.json1
-rw-r--r--keyboards/draytronics/daisy/keyboard.json1
-rw-r--r--keyboards/draytronics/elise/keyboard.json1
-rw-r--r--keyboards/draytronics/elise_v2/keyboard.json1
-rw-r--r--keyboards/drewkeys/iskar/keyboard.json1
-rw-r--r--keyboards/drhigsby/bkf/keyboard.json1
-rw-r--r--keyboards/drhigsby/dubba175/keyboard.json1
-rw-r--r--keyboards/drhigsby/ogurec/info.json1
-rw-r--r--keyboards/drhigsby/packrat/keyboard.json1
-rw-r--r--keyboards/drop/alt/v2/keyboard.json1
-rw-r--r--keyboards/drop/cstm65/keyboard.json1
-rw-r--r--keyboards/drop/cstm80/keyboard.json1
-rw-r--r--keyboards/drop/ctrl/v2/keyboard.json1
-rw-r--r--keyboards/drop/sense75/keyboard.json1
-rw-r--r--keyboards/drop/shift/v2/keyboard.json1
-rw-r--r--keyboards/drop/thekey/v1/keyboard.json1
-rw-r--r--keyboards/drop/thekey/v2/keyboard.json1
-rw-r--r--keyboards/druah/dk_saver_redux/keyboard.json1
-rw-r--r--keyboards/dtisaac/cg108/keyboard.json2
-rw-r--r--keyboards/dtisaac/dosa40rgb/keyboard.json2
-rw-r--r--keyboards/dtisaac/dtisaac01/keyboard.json2
-rw-r--r--keyboards/duck/jetfire/keyboard.json1
-rw-r--r--keyboards/duck/lightsaver/keyboard.json1
-rw-r--r--keyboards/duck/octagon/v1/keyboard.json1
-rw-r--r--keyboards/duck/octagon/v2/keyboard.json1
-rw-r--r--keyboards/duck/orion/v3/keyboard.json1
-rw-r--r--keyboards/duck/tcv3/keyboard.json1
-rw-r--r--keyboards/dumbo/keyboard.json1
-rw-r--r--keyboards/durgod/k320/base/keyboard.json1
-rw-r--r--keyboards/dyz/dyz40/keyboard.json1
-rw-r--r--keyboards/dyz/dyz60/keyboard.json1
-rw-r--r--keyboards/dyz/dyz60_hs/keyboard.json1
-rw-r--r--keyboards/dyz/dyz_tkl/keyboard.json1
-rw-r--r--keyboards/dyz/selka40/keyboard.json1
-rw-r--r--keyboards/dyz/synthesis60/keyboard.json1
-rw-r--r--keyboards/dz60/keyboard.json2
-rw-r--r--keyboards/dztech/bocc/keyboard.json2
-rw-r--r--keyboards/dztech/duo_s/keyboard.json2
-rw-r--r--keyboards/dztech/dz60rgb/info.json1
-rw-r--r--keyboards/dztech/dz60rgb_ansi/info.json1
-rw-r--r--keyboards/dztech/dz60rgb_wkl/info.json1
-rw-r--r--keyboards/dztech/dz60v2/keyboard.json1
-rw-r--r--keyboards/dztech/dz64rgb/keyboard.json1
-rw-r--r--keyboards/dztech/dz65rgb/info.json1
-rw-r--r--keyboards/dztech/dz65rgb/v1/keyboard.json1
-rw-r--r--keyboards/dztech/dz65rgb/v2/keyboard.json1
-rw-r--r--keyboards/dztech/dz96/keyboard.json2
-rw-r--r--keyboards/dztech/endless80/keyboard.json2
-rw-r--r--keyboards/dztech/mellow/keyboard.json1
-rw-r--r--keyboards/dztech/pluto/keyboard.json1
-rw-r--r--keyboards/dztech/tofu/ii/v1/keyboard.json1
-rw-r--r--keyboards/dztech/tofu/jr/v1/keyboard.json1
-rw-r--r--keyboards/dztech/tofu/jr/v2/keyboard.json1
-rw-r--r--keyboards/dztech/tofu60/keyboard.json1
-rw-r--r--keyboards/e88/keyboard.json1
-rw-r--r--keyboards/earth_rover/keyboard.json1
-rw-r--r--keyboards/eason/aeroboard/keyboard.json2
-rw-r--r--keyboards/eason/capsule65/keyboard.json2
-rw-r--r--keyboards/eason/greatsword80/keyboard.json1
-rw-r--r--keyboards/eason/meow65/keyboard.json2
-rw-r--r--keyboards/eason/void65h/keyboard.json2
-rw-r--r--keyboards/ebastler/e80_1800/keyboard.json1
-rw-r--r--keyboards/ebastler/isometria_75/rev1/keyboard.json1
-rw-r--r--keyboards/eco/info.json1
-rw-r--r--keyboards/eco/rev1/keyboard.json1
-rw-r--r--keyboards/eco/rev2/keyboard.json1
-rw-r--r--keyboards/edc40/keyboard.json2
-rw-r--r--keyboards/edda/keyboard.json1
-rw-r--r--keyboards/edi/standaside/keyboard.json1
-rw-r--r--keyboards/eek/info.json1
-rw-r--r--keyboards/efreet/keyboard.json1
-rw-r--r--keyboards/ein_60/keyboard.json2
-rw-r--r--keyboards/emajesty/eiri/keyboard.json1
-rw-r--r--keyboards/emi20/keyboard.json2
-rw-r--r--keyboards/emptystring/nqg/keyboard.json2
-rw-r--r--keyboards/eniigmakeyboards/ek60/keyboard.json2
-rw-r--r--keyboards/eniigmakeyboards/ek65/keyboard.json2
-rw-r--r--keyboards/eniigmakeyboards/ek87/keyboard.json2
-rw-r--r--keyboards/enviousdesign/60f/keyboard.json1
-rw-r--r--keyboards/enviousdesign/65m/keyboard.json1
-rw-r--r--keyboards/enviousdesign/commissions/mini1800/keyboard.json1
-rw-r--r--keyboards/enviousdesign/delirium/rev0/keyboard.json1
-rw-r--r--keyboards/enviousdesign/delirium/rev1/keyboard.json1
-rw-r--r--keyboards/enviousdesign/delirium/rgb/keyboard.json1
-rw-r--r--keyboards/enviousdesign/mcro/rev1/keyboard.json1
-rw-r--r--keyboards/epomaker/tide65/keyboard.json1
-rw-r--r--keyboards/era/divine/keyboard.json2
-rw-r--r--keyboards/era/era65/keyboard.json2
-rw-r--r--keyboards/era/linx3/fave65s/keyboard.json1
-rw-r--r--keyboards/era/linx3/n86/keyboard.json1
-rw-r--r--keyboards/era/linx3/n87/keyboard.json1
-rw-r--r--keyboards/era/linx3/n8x/keyboard.json1
-rw-r--r--keyboards/era/sirind/brick65s/keyboard.json1
-rw-r--r--keyboards/era/sirind/chickpad/keyboard.json1
-rw-r--r--keyboards/era/sirind/klein_hs/keyboard.json1
-rw-r--r--keyboards/era/sirind/klein_sd/keyboard.json1
-rw-r--r--keyboards/era/sirind/tomak/keyboard.json1
-rw-r--r--keyboards/era/sirind/tomak79h/keyboard.json1
-rw-r--r--keyboards/era/sirind/tomak79s/keyboard.json1
-rw-r--r--keyboards/esca/getawayvan/keyboard.json2
-rw-r--r--keyboards/esca/getawayvan_f042/keyboard.json2
-rw-r--r--keyboards/eternal_keypad/keyboard.json1
-rw-r--r--keyboards/etiennecollin/wave/keyboard.json1
-rw-r--r--keyboards/eve/meteor/keyboard.json2
-rw-r--r--keyboards/evil80/keyboard.json2
-rw-r--r--keyboards/evolv/keyboard.json2
-rw-r--r--keyboards/evyd13/atom47/rev2/keyboard.json1
-rw-r--r--keyboards/evyd13/atom47/rev3/keyboard.json1
-rw-r--r--keyboards/evyd13/atom47/rev4/keyboard.json1
-rw-r--r--keyboards/evyd13/atom47/rev5/keyboard.json1
-rw-r--r--keyboards/evyd13/eon65/keyboard.json1
-rw-r--r--keyboards/evyd13/eon75/keyboard.json1
-rw-r--r--keyboards/evyd13/eon87/keyboard.json1
-rw-r--r--keyboards/evyd13/eon95/keyboard.json1
-rw-r--r--keyboards/evyd13/fin_pad/keyboard.json2
-rw-r--r--keyboards/evyd13/gh80_3700/keyboard.json1
-rw-r--r--keyboards/evyd13/gud70/keyboard.json1
-rw-r--r--keyboards/evyd13/minitomic/keyboard.json1
-rw-r--r--keyboards/evyd13/mx5160/keyboard.json1
-rw-r--r--keyboards/evyd13/nt210/keyboard.json1
-rw-r--r--keyboards/evyd13/nt650/keyboard.json2
-rw-r--r--keyboards/evyd13/nt660/keyboard.json1
-rw-r--r--keyboards/evyd13/nt750/keyboard.json1
-rw-r--r--keyboards/evyd13/nt980/keyboard.json2
-rw-r--r--keyboards/evyd13/omrontkl/keyboard.json1
-rw-r--r--keyboards/evyd13/plain60/keyboard.json2
-rw-r--r--keyboards/evyd13/quackfire/keyboard.json1
-rw-r--r--keyboards/evyd13/solheim68/keyboard.json1
-rw-r--r--keyboards/evyd13/ta65/keyboard.json1
-rw-r--r--keyboards/evyd13/wonderland/keyboard.json1
-rw-r--r--keyboards/exclusive/e65/keyboard.json2
-rw-r--r--keyboards/exclusive/e6_rgb/keyboard.json2
-rw-r--r--keyboards/exclusive/e6v2/le/keyboard.json2
-rw-r--r--keyboards/exclusive/e6v2/le_bmc/keyboard.json1
-rw-r--r--keyboards/exclusive/e6v2/oe/keyboard.json2
-rw-r--r--keyboards/exclusive/e6v2/oe_bmc/keyboard.json1
-rw-r--r--keyboards/exclusive/e7v1/keyboard.json2
-rw-r--r--keyboards/exclusive/e7v1se/keyboard.json1
-rw-r--r--keyboards/exclusive/e85/hotswap/keyboard.json1
-rw-r--r--keyboards/exclusive/e85/soldered/keyboard.json1
-rw-r--r--keyboards/exent/keyboard.json2
-rw-r--r--keyboards/eyeohdesigns/babyv/keyboard.json2
-rw-r--r--keyboards/eyeohdesigns/theboulevard/keyboard.json2
-rw-r--r--keyboards/facew/keyboard.json2
-rw-r--r--keyboards/falsonix/fx19/keyboard.json2
-rw-r--r--keyboards/fatotesa/keyboard.json2
-rw-r--r--keyboards/fc660c/keyboard.json1
-rw-r--r--keyboards/fc980c/keyboard.json1
-rw-r--r--keyboards/feker/ik75/keyboard.json1
-rw-r--r--keyboards/ffkeebs/puca/keyboard.json1
-rw-r--r--keyboards/ffkeebs/siris/keyboard.json1
-rwxr-xr-xkeyboards/flashquark/horizon_z/keyboard.json1
-rw-r--r--keyboards/flehrad/numbrero/keyboard.json2
-rw-r--r--keyboards/flehrad/snagpad/keyboard.json2
-rw-r--r--keyboards/flehrad/tradestation/keyboard.json2
-rw-r--r--keyboards/fleuron/keyboard.json1
-rw-r--r--keyboards/fluorite/keyboard.json1
-rw-r--r--keyboards/flx/lodestone/keyboard.json1
-rw-r--r--keyboards/flx/virgo/keyboard.json2
-rw-r--r--keyboards/flxlb/zplit/keyboard.json1
-rw-r--r--keyboards/foostan/cornelius/keyboard.json2
-rw-r--r--keyboards/forever65/keyboard.json1
-rw-r--r--keyboards/fortitude60/rev1/keyboard.json1
-rw-r--r--keyboards/foxlab/key65/hotswap/keyboard.json2
-rw-r--r--keyboards/foxlab/key65/universal/keyboard.json2
-rw-r--r--keyboards/foxlab/leaf60/hotswap/keyboard.json2
-rw-r--r--keyboards/foxlab/leaf60/universal/keyboard.json2
-rw-r--r--keyboards/foxlab/time80/keyboard.json2
-rw-r--r--keyboards/foxlab/time_re/hotswap/keyboard.json2
-rw-r--r--keyboards/foxlab/time_re/universal/keyboard.json2
-rw-r--r--keyboards/fr4/southpaw75/keyboard.json1
-rw-r--r--keyboards/fr4/unix60/keyboard.json1
-rw-r--r--keyboards/free_willy/keyboard.json1
-rw-r--r--keyboards/friedrich/keyboard.json1
-rw-r--r--keyboards/frobiac/blackbowl/keyboard.json1
-rw-r--r--keyboards/frobiac/blackflat/keyboard.json1
-rw-r--r--keyboards/frobiac/hypernano/keyboard.json1
-rw-r--r--keyboards/frobiac/redtilt/keyboard.json1
-rw-r--r--keyboards/frooastboard/nano/keyboard.json1
-rw-r--r--keyboards/frooastboard/walnut/keyboard.json1
-rw-r--r--keyboards/fs_streampad/keyboard.json4
-rw-r--r--keyboards/ft/mars65/keyboard.json2
-rw-r--r--keyboards/ft/mars80/keyboard.json2
-rw-r--r--keyboards/function96/v1/keyboard.json1
-rw-r--r--keyboards/function96/v2/keyboard.json1
-rw-r--r--keyboards/fungo/rev1/keyboard.json1
-rw-r--r--keyboards/funky40/keyboard.json2
-rw-r--r--keyboards/gami_studio/lex60/keyboard.json2
-rw-r--r--keyboards/gboards/butterstick/keyboard.json1
-rw-r--r--keyboards/gboards/gergoplex/keyboard.json1
-rw-r--r--keyboards/geekboards/macropad_v2/keyboard.json2
-rw-r--r--keyboards/geekboards/tester/keyboard.json2
-rw-r--r--keyboards/geistmaschine/geist/keyboard.json1
-rw-r--r--keyboards/geistmaschine/macropod/keyboard.json1
-rw-r--r--keyboards/generic_panda/panda65_01/keyboard.json1
-rw-r--r--keyboards/genone/eclipse_65/keyboard.json1
-rw-r--r--keyboards/genone/g1_65/keyboard.json1
-rw-r--r--keyboards/geonworks/ee_at/keyboard.json1
-rw-r--r--keyboards/geonworks/frogmini/fmh/keyboard.json1
-rw-r--r--keyboards/geonworks/frogmini/fms/keyboard.json1
-rw-r--r--keyboards/geonworks/w1_at/keyboard.json1
-rw-r--r--keyboards/ggkeyboards/genesis/hotswap/keyboard.json1
-rw-r--r--keyboards/ggkeyboards/genesis/solder/keyboard.json1
-rw-r--r--keyboards/gh60/revc/keyboard.json2
-rw-r--r--keyboards/gh60/satan/keyboard.json1
-rw-r--r--keyboards/gh60/v1p3/keyboard.json2
-rw-r--r--keyboards/gh80_3000/keyboard.json2
-rw-r--r--keyboards/ghs/jem/info.json4
-rw-r--r--keyboards/ghs/rar/keyboard.json1
-rw-r--r--keyboards/ghs/xls/keyboard.json2
-rw-r--r--keyboards/giabalanai/keyboard.json1
-rw-r--r--keyboards/gizmo_engineering/gk6/keyboard.json1
-rw-r--r--keyboards/gkeyboard/gkb_m16/keyboard.json2
-rw-r--r--keyboards/gkeyboard/gpad8_2r/keyboard.json1
-rw-r--r--keyboards/gkeyboard/greatpad/keyboard.json1
-rw-r--r--keyboards/gl516/xr63gl/keyboard.json2
-rw-r--r--keyboards/glenpickle/chimera_ergo/keyboard.json1
-rw-r--r--keyboards/glenpickle/chimera_ls/keyboard.json1
-rw-r--r--keyboards/gmmk/gmmk2/p65/ansi/keyboard.json1
-rw-r--r--keyboards/gmmk/gmmk2/p65/iso/keyboard.json1
-rw-r--r--keyboards/gmmk/gmmk2/p96/ansi/keyboard.json1
-rw-r--r--keyboards/gmmk/gmmk2/p96/iso/keyboard.json1
-rw-r--r--keyboards/gmmk/pro/rev1/ansi/keyboard.json1
-rw-r--r--keyboards/gmmk/pro/rev1/iso/keyboard.json1
-rw-r--r--keyboards/gmmk/pro/rev2/ansi/keyboard.json1
-rw-r--r--keyboards/gmmk/pro/rev2/iso/keyboard.json1
-rw-r--r--keyboards/gon/nerd60/keyboard.json1
-rw-r--r--keyboards/gon/nerdtkl/keyboard.json1
-rw-r--r--keyboards/gopolar/gg86/keyboard.json1
-rw-r--r--keyboards/gorthage_truck/keyboard.json1
-rw-r--r--keyboards/gowla/keyboard.json1
-rw-r--r--keyboards/gray_studio/aero75/keyboard.json1
-rw-r--r--keyboards/gray_studio/apollo80/keyboard.json1
-rw-r--r--keyboards/gray_studio/cod67/keyboard.json1
-rw-r--r--keyboards/gray_studio/hb85/keyboard.json2
-rw-r--r--keyboards/gray_studio/space65/keyboard.json2
-rw-r--r--keyboards/gray_studio/space65r3/keyboard.json1
-rw-r--r--keyboards/gray_studio/think65/hotswap/keyboard.json1
-rw-r--r--keyboards/gray_studio/think65/solder/keyboard.json1
-rw-r--r--keyboards/gray_studio/think65v3/keyboard.json1
-rw-r--r--keyboards/gregandcin/teaqueen/keyboard.json1
-rw-r--r--keyboards/grid600/press/keyboard.json1
-rw-r--r--keyboards/gummykey/keyboard.json1
-rw-r--r--keyboards/gvalchca/ga150/keyboard.json2
-rw-r--r--keyboards/gvalchca/spaccboard/keyboard.json1
-rw-r--r--keyboards/h0oni/deskpad/keyboard.json2
-rw-r--r--keyboards/h0oni/hotduck/keyboard.json2
-rw-r--r--keyboards/hackpad/keyboard.json1
-rw-r--r--keyboards/hadron/info.json1
-rw-r--r--keyboards/halokeys/elemental75/keyboard.json2
-rw-r--r--keyboards/han60/keyboard.json1
-rwxr-xr-xkeyboards/hand88/keyboard.json1
-rw-r--r--keyboards/handwired/108key_trackpoint/keyboard.json1
-rw-r--r--keyboards/handwired/10k/keyboard.json1
-rw-r--r--keyboards/handwired/2x5keypad/keyboard.json2
-rw-r--r--keyboards/handwired/3dfoxc/keyboard.json1
-rw-r--r--keyboards/handwired/3dortho14u/rev1/keyboard.json1
-rw-r--r--keyboards/handwired/3dortho14u/rev2/keyboard.json1
-rw-r--r--keyboards/handwired/3dp660/keyboard.json1
-rw-r--r--keyboards/handwired/3dp660_oled/keyboard.json1
-rw-r--r--keyboards/handwired/412_64/keyboard.json1
-rw-r--r--keyboards/handwired/42/keyboard.json1
-rw-r--r--keyboards/handwired/6key/keyboard.json1
-rw-r--r--keyboards/handwired/6macro/keyboard.json2
-rw-r--r--keyboards/handwired/acacia/keyboard.json1
-rw-r--r--keyboards/handwired/aek64/keyboard.json1
-rw-r--r--keyboards/handwired/aim65/keyboard.json1
-rw-r--r--keyboards/handwired/alcor_dactyl/keyboard.json2
-rw-r--r--keyboards/handwired/amigopunk/keyboard.json1
-rw-r--r--keyboards/handwired/angel/keyboard.json1
-rw-r--r--keyboards/handwired/aplx2/keyboard.json2
-rw-r--r--keyboards/handwired/aranck/keyboard.json1
-rw-r--r--keyboards/handwired/arrow_pad/keyboard.json1
-rw-r--r--keyboards/handwired/atreus50/keyboard.json2
-rw-r--r--keyboards/handwired/axon/keyboard.json1
-rw-r--r--keyboards/handwired/baredev/rev1/keyboard.json1
-rw-r--r--keyboards/handwired/bdn9_ble/keyboard.json1
-rw-r--r--keyboards/handwired/bigmac/keyboard.json1
-rw-r--r--keyboards/handwired/bolek/keyboard.json1
-rw-r--r--keyboards/handwired/boss566y/redragon_vara/keyboard.json2
-rw-r--r--keyboards/handwired/brain/keyboard.json2
-rw-r--r--keyboards/handwired/bstk100/keyboard.json1
-rw-r--r--keyboards/handwired/cans12er/keyboard.json2
-rw-r--r--keyboards/handwired/chiron/keyboard.json2
-rw-r--r--keyboards/handwired/ck4x4/keyboard.json1
-rw-r--r--keyboards/handwired/cmd60/keyboard.json1
-rw-r--r--keyboards/handwired/co60/rev1/keyboard.json1
-rw-r--r--keyboards/handwired/co60/rev6/keyboard.json1
-rw-r--r--keyboards/handwired/co60/rev7/keyboard.json1
-rw-r--r--keyboards/handwired/colorlice/keyboard.json2
-rw-r--r--keyboards/handwired/concertina/64key/keyboard.json1
-rw-r--r--keyboards/handwired/consolekeyboard/18key/keyboard.json1
-rw-r--r--keyboards/handwired/consolekeyboard/20key/keyboard.json1
-rw-r--r--keyboards/handwired/consolekeyboard/27key/keyboard.json1
-rw-r--r--keyboards/handwired/consolekeyboard/30key/keyboard.json1
-rw-r--r--keyboards/handwired/croxsplit44/keyboard.json2
-rw-r--r--keyboards/handwired/curiosity/keyboard.json2
-rw-r--r--keyboards/handwired/d48/keyboard.json1
-rw-r--r--keyboards/handwired/dactyl/keyboard.json1
-rw-r--r--keyboards/handwired/dactyl_cc/keyboard.json5
-rw-r--r--keyboards/handwired/dactyl_kinesis/keyboard.json6
-rw-r--r--keyboards/handwired/dactyl_left/keyboard.json1
-rw-r--r--keyboards/handwired/dactyl_lightcycle/keyboard.json5
-rw-r--r--keyboards/handwired/dactyl_manuform/4x5/keyboard.json6
-rw-r--r--keyboards/handwired/dactyl_manuform/4x5_5/keyboard.json5
-rw-r--r--keyboards/handwired/dactyl_manuform/4x6/keyboard.json6
-rw-r--r--keyboards/handwired/dactyl_manuform/4x6_4_3/keyboard.json5
-rw-r--r--keyboards/handwired/dactyl_manuform/4x6_5/keyboard.json6
-rw-r--r--keyboards/handwired/dactyl_manuform/5x6/keyboard.json6
-rw-r--r--keyboards/handwired/dactyl_manuform/5x6_2_5/keyboard.json6
-rw-r--r--keyboards/handwired/dactyl_manuform/5x6_5/keyboard.json6
-rw-r--r--keyboards/handwired/dactyl_manuform/5x6_6/keyboard.json5
-rw-r--r--keyboards/handwired/dactyl_manuform/5x6_68/keyboard.json6
-rw-r--r--keyboards/handwired/dactyl_manuform/5x7/keyboard.json6
-rw-r--r--keyboards/handwired/dactyl_manuform/5x8/keyboard.json1
-rw-r--r--keyboards/handwired/dactyl_manuform/6x6/info.json1
-rw-r--r--keyboards/handwired/dactyl_manuform/6x6/promicro/keyboard.json4
-rw-r--r--keyboards/handwired/dactyl_manuform/6x6_4/keyboard.json6
-rw-r--r--keyboards/handwired/dactyl_manuform/6x7/keyboard.json6
-rw-r--r--keyboards/handwired/dactyl_manuform_pi_pico/keyboard.json1
-rw-r--r--keyboards/handwired/dactyl_maximus/keyboard.json6
-rw-r--r--keyboards/handwired/dactyl_minidox/keyboard.json4
-rw-r--r--keyboards/handwired/dactyl_promicro/keyboard.json6
-rw-r--r--keyboards/handwired/dactyl_rah/keyboard.json5
-rw-r--r--keyboards/handwired/dactyl_tracer/keyboard.json5
-rw-r--r--keyboards/handwired/dactylmacropad/keyboard.json1
-rw-r--r--keyboards/handwired/daishi/keyboard.json1
-rw-r--r--keyboards/handwired/daskeyboard/daskeyboard4/keyboard.json330
-rw-r--r--keyboards/handwired/datahand/keyboard.json1
-rw-r--r--keyboards/handwired/dc/mc/001/keyboard.json1
-rw-r--r--keyboards/handwired/ddg_56/keyboard.json2
-rw-r--r--keyboards/handwired/dmote/keyboard.json1
-rw-r--r--keyboards/handwired/eagleii/keyboard.json2
-rw-r--r--keyboards/handwired/elrgo_s/keyboard.json2
-rw-r--r--keyboards/handwired/ergocheap/keyboard.json1
-rw-r--r--keyboards/handwired/fc200rt_qmk/keyboard.json1
-rw-r--r--keyboards/handwired/fivethirteen/keyboard.json1
-rw-r--r--keyboards/handwired/frankie_macropad/keyboard.json1
-rw-r--r--keyboards/handwired/freoduo/keyboard.json1
-rw-r--r--keyboards/handwired/gamenum/keyboard.json1
-rw-r--r--keyboards/handwired/hacked_motospeed/keyboard.json1
-rw-r--r--keyboards/handwired/heisenberg/keyboard.json1
-rw-r--r--keyboards/handwired/hexon38/keyboard.json1
-rw-r--r--keyboards/handwired/hnah108/keyboard.json2
-rw-r--r--keyboards/handwired/hnah40/keyboard.json1
-rw-r--r--keyboards/handwired/hnah40rgb/keyboard.json3
-rw-r--r--keyboards/handwired/hwpm87/keyboard.json2
-rw-r--r--keyboards/handwired/iso85k/keyboard.json2
-rw-r--r--keyboards/handwired/itstleo9/info.json2
-rw-r--r--keyboards/handwired/jankrp2040dactyl/keyboard.json5
-rw-r--r--keyboards/handwired/jn68m/keyboard.json2
-rw-r--r--keyboards/handwired/jopr/keyboard.json1
-rw-r--r--keyboards/handwired/jot50/keyboard.json1
-rw-r--r--keyboards/handwired/jotanck/keyboard.json1
-rw-r--r--keyboards/handwired/jotlily60/keyboard.json1
-rw-r--r--keyboards/handwired/jotpad16/keyboard.json1
-rw-r--r--keyboards/handwired/jtallbean/split_65/keyboard.json1
-rw-r--r--keyboards/handwired/juliet/keyboard.json1
-rw-r--r--keyboards/handwired/k8split/keyboard.json2
-rw-r--r--keyboards/handwired/k_numpad17/keyboard.json1
-rw-r--r--keyboards/handwired/kbod/keyboard.json2
-rw-r--r--keyboards/handwired/ks63/keyboard.json2
-rw-r--r--keyboards/handwired/leftynumpad/keyboard.json1
-rw-r--r--keyboards/handwired/lemonpad/keyboard.json1
-rw-r--r--keyboards/handwired/lovelive9/keyboard.json1
-rw-r--r--keyboards/handwired/macroboard/info.json1
-rw-r--r--keyboards/handwired/magicforce61/keyboard.json1
-rw-r--r--keyboards/handwired/magicforce68/keyboard.json1
-rw-r--r--keyboards/handwired/marauder/keyboard.json1
-rw-r--r--keyboards/handwired/marek128b/ergosplit44/keyboard.json2
-rw-r--r--keyboards/handwired/mechboards_micropad/keyboard.json2
-rw-r--r--keyboards/handwired/minorca/keyboard.json2
-rw-r--r--keyboards/handwired/ms_sculpt_mobile/info.json1
-rw-r--r--keyboards/handwired/mutepad/keyboard.json1
-rw-r--r--keyboards/handwired/myskeeb/keyboard.json1
-rw-r--r--keyboards/handwired/nicekey/keyboard.json2
-rw-r--r--keyboards/handwired/nortontechpad/keyboard.json1
-rw-r--r--keyboards/handwired/not_so_minidox/keyboard.json2
-rw-r--r--keyboards/handwired/novem/keyboard.json1
-rw-r--r--keyboards/handwired/nozbe_macro/keyboard.json2
-rw-r--r--keyboards/handwired/numpad20/keyboard.json1
-rw-r--r--keyboards/handwired/obuwunkunubi/spaget/keyboard.json2
-rw-r--r--keyboards/handwired/oem_ansi_fullsize/keyboard.json1
-rw-r--r--keyboards/handwired/onekey/info.json2
-rw-r--r--keyboards/handwired/onekey/keymaps/battery/config.h6
-rw-r--r--keyboards/handwired/onekey/keymaps/battery/keymap.c28
-rw-r--r--keyboards/handwired/onekey/keymaps/battery/keymap.json7
-rw-r--r--keyboards/handwired/onekey/keymaps/battery/rules.mk1
-rw-r--r--keyboards/handwired/onekey/keymaps/via_ci/config.h4
-rw-r--r--keyboards/handwired/onekey/keymaps/via_ci/keymap.c30
-rw-r--r--keyboards/handwired/onekey/keymaps/via_ci/keymap.json7
-rw-r--r--keyboards/handwired/onekey/teensy_32/rules.mk1
-rw-r--r--keyboards/handwired/onekey/teensy_lc/rules.mk2
-rw-r--r--keyboards/handwired/orbweaver/keyboard.json1
-rw-r--r--keyboards/handwired/ortho5x13/keyboard.json1
-rw-r--r--keyboards/handwired/ortho5x14/keyboard.json2
-rw-r--r--keyboards/handwired/ortho_brass/keyboard.json1
-rw-r--r--keyboards/handwired/ortho_brass/keymaps/default/keymap.c4
-rw-r--r--keyboards/handwired/osborne1/keyboard.json1
-rw-r--r--keyboards/handwired/p65rgb/keyboard.json2
-rw-r--r--keyboards/handwired/petruziamini/keyboard.json1
-rw-r--r--keyboards/handwired/phantagom/baragon/keyboard.json1
-rw-r--r--keyboards/handwired/phantagom/varan/keyboard.json1
-rw-r--r--keyboards/handwired/pilcrow/keyboard.json1
-rw-r--r--keyboards/handwired/polly40/keyboard.json1
-rw-r--r--keyboards/handwired/postageboard/info.json1
-rw-r--r--keyboards/handwired/prime_exl/keyboard.json1
-rw-r--r--keyboards/handwired/prime_exl_plus/keyboard.json1
-rw-r--r--keyboards/handwired/promethium/config.h5
-rw-r--r--keyboards/handwired/promethium/keyboard.json1
-rw-r--r--keyboards/handwired/promethium/promethium.c17
-rw-r--r--keyboards/handwired/promethium/rules.mk2
-rw-r--r--keyboards/handwired/protype/keyboard.json1
-rw-r--r--keyboards/handwired/pteron/keyboard.json2
-rw-r--r--keyboards/handwired/pteron38/keyboard.json2
-rw-r--r--keyboards/handwired/pteron44/keyboard.json2
-rw-r--r--keyboards/handwired/qc60/proto/keyboard.json2
-rw-r--r--keyboards/handwired/rabijl/rotary_numpad/keyboard.json1
-rw-r--r--keyboards/handwired/rd_61_qmk/keyboard.json1
-rw-r--r--keyboards/handwired/retro_refit/keyboard.json1
-rw-r--r--keyboards/handwired/riblee_f401/keyboard.json1
-rw-r--r--keyboards/handwired/riblee_f411/keyboard.json1
-rw-r--r--keyboards/handwired/riblee_split/keyboard.json2
-rw-r--r--keyboards/handwired/rs60/keyboard.json1
-rw-r--r--keyboards/handwired/scottokeebs/scotto34/keyboard.json1
-rw-r--r--keyboards/handwired/scottokeebs/scotto36/keyboard.json1
-rw-r--r--keyboards/handwired/scottokeebs/scotto37/keyboard.json1
-rw-r--r--keyboards/handwired/scottokeebs/scotto40/keyboard.json1
-rw-r--r--keyboards/handwired/scottokeebs/scotto61/keyboard.json1
-rw-r--r--keyboards/handwired/scottokeebs/scotto9/keyboard.json1
-rw-r--r--keyboards/handwired/scottokeebs/scottoalp/keyboard.json1
-rw-r--r--keyboards/handwired/scottokeebs/scottocmd/keyboard.json1
-rw-r--r--keyboards/handwired/scottokeebs/scottodeck/keyboard.json1
-rw-r--r--keyboards/handwired/scottokeebs/scottoergo/keyboard.json1
-rw-r--r--keyboards/handwired/scottokeebs/scottofly/keyboard.json1
-rw-r--r--keyboards/handwired/scottokeebs/scottofrog/keyboard.json1
-rw-r--r--keyboards/handwired/scottokeebs/scottogame/keyboard.json1
-rw-r--r--keyboards/handwired/scottokeebs/scottohazard/keyboard.json1
-rw-r--r--keyboards/handwired/scottokeebs/scottoinvader/keyboard.json1
-rw-r--r--keyboards/handwired/scottokeebs/scottokatana/keyboard.json1
-rw-r--r--keyboards/handwired/scottokeebs/scottolong/keyboard.json1
-rw-r--r--keyboards/handwired/scottokeebs/scottomacrodeck/keyboard.json1
-rw-r--r--keyboards/handwired/scottokeebs/scottomouse/keyboard.json1
-rw-r--r--keyboards/handwired/scottokeebs/scottonum/keyboard.json1
-rw-r--r--keyboards/handwired/scottokeebs/scottoslant/keyboard.json1
-rw-r--r--keyboards/handwired/scottokeebs/scottosplit/keyboard.json1
-rw-r--r--keyboards/handwired/scottokeebs/scottostarter/keyboard.json1
-rw-r--r--keyboards/handwired/scottokeebs/scottowing/keyboard.json1
-rw-r--r--keyboards/handwired/sejin_eat1010r2/keyboard.json2
-rw-r--r--keyboards/handwired/sick68/keyboard.json1
-rw-r--r--keyboards/handwired/sick_pad/keyboard.json1
-rw-r--r--keyboards/handwired/skakunm_dactyl/keyboard.json6
-rw-r--r--keyboards/handwired/slash/keyboard.json1
-rw-r--r--keyboards/handwired/snatchpad/keyboard.json2
-rw-r--r--keyboards/handwired/sono1/info.json1
-rw-r--r--keyboards/handwired/space_oddity/keyboard.json2
-rw-r--r--keyboards/handwired/split65/promicro/keyboard.json1
-rw-r--r--keyboards/handwired/split89/keyboard.json1
-rw-r--r--keyboards/handwired/splittest/info.json1
-rw-r--r--keyboards/handwired/splittest/promicro/keyboard.json4
-rw-r--r--keyboards/handwired/splittest/teensy_2/keyboard.json4
-rw-r--r--keyboards/handwired/starrykeebs/dude09/keyboard.json1
-rw-r--r--keyboards/handwired/steamvan/rev1/keyboard.json2
-rw-r--r--keyboards/handwired/stef9998/split_5x7/rev1/keyboard.json2
-rw-r--r--keyboards/handwired/sticc14/keyboard.json1
-rw-r--r--keyboards/handwired/stream_cheap/2x3/keyboard.json1
-rw-r--r--keyboards/handwired/stream_cheap/2x4/keyboard.json1
-rw-r--r--keyboards/handwired/stream_cheap/2x5/keyboard.json1
-rw-r--r--keyboards/handwired/swiftrax/astro65/keyboard.json1
-rw-r--r--keyboards/handwired/swiftrax/bebol/keyboard.json1
-rw-r--r--keyboards/handwired/swiftrax/beegboy/keyboard.json1
-rw-r--r--keyboards/handwired/swiftrax/bumblebee/keyboard.json1
-rw-r--r--keyboards/handwired/swiftrax/cowfish/keyboard.json2
-rw-r--r--keyboards/handwired/swiftrax/digicarp65/keyboard.json1
-rw-r--r--keyboards/handwired/swiftrax/digicarpice/keyboard.json1
-rw-r--r--keyboards/handwired/swiftrax/equator/keyboard.json1
-rw-r--r--keyboards/handwired/swiftrax/glacier/keyboard.json1
-rw-r--r--keyboards/handwired/swiftrax/joypad/keyboard.json1
-rw-r--r--keyboards/handwired/swiftrax/koalafications/keyboard.json1
-rw-r--r--keyboards/handwired/swiftrax/nodu/keyboard.json1
-rw-r--r--keyboards/handwired/swiftrax/pandamic/keyboard.json1
-rw-r--r--keyboards/handwired/swiftrax/the_galleon/keyboard.json1
-rw-r--r--keyboards/handwired/swiftrax/unsplit/keyboard.json1
-rw-r--r--keyboards/handwired/swiftrax/walter/keyboard.json1
-rw-r--r--keyboards/handwired/symmetric70_proto/info.json1
-rw-r--r--keyboards/handwired/symmetric70_proto/promicro/info.json4
-rw-r--r--keyboards/handwired/symmetry60/keyboard.json1
-rw-r--r--keyboards/handwired/t111/keyboard.json1
-rw-r--r--keyboards/handwired/tennie/keyboard.json1
-rw-r--r--keyboards/handwired/terminus_mini/keyboard.json2
-rw-r--r--keyboards/handwired/tkk/keyboard.json2
-rw-r--r--keyboards/handwired/trackpoint/keyboard.json1
-rw-r--r--keyboards/handwired/tractyl_manuform/4x6_right/keyboard.json5
-rw-r--r--keyboards/handwired/tractyl_manuform/5x6_right/arduinomicro/keyboard.json4
-rw-r--r--keyboards/handwired/tractyl_manuform/5x6_right/elite_c/keyboard.json4
-rw-r--r--keyboards/handwired/tractyl_manuform/5x6_right/info.json1
-rw-r--r--keyboards/handwired/tractyl_manuform/5x6_right/teensy2pp/keyboard.json4
-rw-r--r--keyboards/handwired/traveller/keyboard.json2
-rw-r--r--keyboards/handwired/tsubasa/keyboard.json1
-rw-r--r--keyboards/handwired/twig/twig50/keyboard.json2
-rw-r--r--keyboards/handwired/unicomp_mini_m/keyboard.json1
-rw-r--r--keyboards/handwired/uthol/info.json1
-rw-r--r--keyboards/handwired/uthol/rev1/keyboard.json1
-rw-r--r--keyboards/handwired/uthol/rev2/keyboard.json1
-rw-r--r--keyboards/handwired/videowriter/keyboard.json1
-rw-r--r--keyboards/handwired/woodpad/keyboard.json1
-rw-r--r--keyboards/handwired/wulkan/keyboard.json1
-rw-r--r--keyboards/handwired/wwa/helios/keyboard.json2
-rw-r--r--keyboards/handwired/wwa/kepler/keyboard.json2
-rw-r--r--keyboards/handwired/wwa/mercury/keyboard.json2
-rw-r--r--keyboards/handwired/wwa/soyuz/keyboard.json2
-rw-r--r--keyboards/handwired/wwa/soyuzxl/keyboard.json2
-rw-r--r--keyboards/handwired/xealous/rev1/keyboard.json1
-rw-r--r--keyboards/handwired/z150/keyboard.json2
-rw-r--r--keyboards/handwired/zergo/keyboard.json1
-rw-r--r--keyboards/handwired/ziyoulang_k3_mod/keyboard.json4
-rw-r--r--keyboards/hardlineworks/otd_plus/keyboard.json2
-rw-r--r--keyboards/hardwareabstraction/handwire/keyboard.json1
-rw-r--r--keyboards/heliar/wm1_hotswap/keyboard.json2
-rw-r--r--keyboards/heliotrope/keyboard.json1
-rw-r--r--keyboards/helix/pico/info.json4
-rw-r--r--keyboards/helix/rev2/info.json4
-rw-r--r--keyboards/helix/rev2/rev2.c2
-rw-r--r--keyboards/helix/rev3_4rows/keyboard.json5
-rw-r--r--keyboards/helix/rev3_4rows/rev3_4rows.c2
-rw-r--r--keyboards/helix/rev3_5rows/keyboard.json5
-rw-r--r--keyboards/helix/rev3_5rows/rev3_5rows.c2
-rw-r--r--keyboards/herevoland/buff75/keyboard.json1
-rw-r--r--keyboards/hfdkb/ac001/keyboard.json2
-rw-r--r--keyboards/hhkb/ansi/info.json1
-rw-r--r--keyboards/hhkb/jp/keyboard.json1
-rw-r--r--keyboards/hhkb/yang/keyboard.json1
-rw-r--r--keyboards/hhkb_lite_2/keyboard.json2
-rw-r--r--keyboards/hidtech/bastyl/keyboard.json1
-rw-r--r--keyboards/hifumi/keyboard.json1
-rw-r--r--keyboards/hillside/46/0_1/keyboard.json1
-rw-r--r--keyboards/hillside/48/0_1/keyboard.json1
-rw-r--r--keyboards/hillside/52/0_1/keyboard.json1
-rw-r--r--keyboards/hineybush/h08_ocelot/keyboard.json2
-rw-r--r--keyboards/hineybush/h10/keyboard.json1
-rw-r--r--keyboards/hineybush/h101/keyboard.json2
-rw-r--r--keyboards/hineybush/h60/keyboard.json2
-rw-r--r--keyboards/hineybush/h65/keyboard.json2
-rw-r--r--keyboards/hineybush/h65_hotswap/keyboard.json2
-rw-r--r--keyboards/hineybush/h660s/keyboard.json2
-rw-r--r--keyboards/hineybush/h75_singa/keyboard.json2
-rw-r--r--keyboards/hineybush/h87_g2/keyboard.json2
-rw-r--r--keyboards/hineybush/h87a/keyboard.json2
-rw-r--r--keyboards/hineybush/h88/keyboard.json2
-rw-r--r--keyboards/hineybush/h88_g2/keyboard.json2
-rw-r--r--keyboards/hineybush/hbcp/keyboard.json1
-rw-r--r--keyboards/hineybush/hineyg80/keyboard.json1
-rw-r--r--keyboards/hineybush/ibis/keyboard.json2
-rw-r--r--keyboards/hineybush/physix/keyboard.json2
-rw-r--r--keyboards/hineybush/sm68/keyboard.json2
-rw-r--r--keyboards/hnahkb/freyr/keyboard.json1
-rw-r--r--keyboards/hnahkb/stella/keyboard.json1
-rw-r--r--keyboards/holyswitch/lightweight65/keyboard.json2
-rw-r--r--keyboards/holyswitch/southpaw75/keyboard.json2
-rw-r--r--keyboards/horrortroll/caticorn/rev1/hotswap/keyboard.json1
-rw-r--r--keyboards/horrortroll/caticorn/rev1/solder/keyboard.json1
-rw-r--r--keyboards/horrortroll/chinese_pcb/black_e65/keyboard.json2
-rw-r--r--keyboards/horrortroll/chinese_pcb/devil68_pro/keyboard.json2
-rw-r--r--keyboards/horrortroll/handwired_k552/keyboard.json1
-rw-r--r--keyboards/horrortroll/lemon40/keyboard.json1
-rw-r--r--keyboards/horrortroll/nyx/rev1/keyboard.json1
-rw-r--r--keyboards/horrortroll/nyx/rev1/lib/startup_swirl_anim.h3
-rw-r--r--keyboards/horrortroll/paws60/keyboard.json1
-rw-r--r--keyboards/hotdox76v2/keyboard.json1
-rw-r--r--keyboards/hp69/keyboard.json2
-rw-r--r--keyboards/hs60/v1/info.json1
-rw-r--r--keyboards/hs60/v2/ansi/keyboard.json1
-rw-r--r--keyboards/hs60/v2/hhkb/keyboard.json1
-rw-r--r--keyboards/hs60/v2/iso/keyboard.json1
-rw-r--r--keyboards/hubble/keyboard.json2
-rw-r--r--keyboards/huytbt/h50/keyboard.json1
-rw-r--r--keyboards/ianklug/grooveboard/keyboard.json1
-rw-r--r--keyboards/ibm/model_m/ashpil_usbc/keyboard.json1
-rw-r--r--keyboards/ibm/model_m/modelh/keyboard.json1
-rw-r--r--keyboards/ibm/model_m/teensy2/keyboard.json1
-rw-r--r--keyboards/ibm/model_m/yugo_m/keyboard.json1
-rw-r--r--keyboards/ibm/model_m_4th_gen/overnumpad_1xb/board.h8
-rw-r--r--keyboards/ibm/model_m_4th_gen/overnumpad_1xb/config.h2
-rw-r--r--keyboards/ibm/model_m_ssk/teensypp_ssk/keyboard.json1
-rw-r--r--keyboards/ibnuda/alicia_cook/keyboard.json1
-rw-r--r--keyboards/ibnuda/gurindam/keyboard.json1
-rw-r--r--keyboards/icebreaker/hotswap/keyboard.json238
-rw-r--r--keyboards/icebreaker/hotswap/keymaps/default/keymap.c43
-rw-r--r--keyboards/icebreaker/hotswap/keymaps/default/rules.mk1
-rw-r--r--keyboards/icebreaker/readme.md26
-rw-r--r--keyboards/idank/sweeq/keyboard.json1
-rw-r--r--keyboards/idb/idb_60/keyboard.json1
-rw-r--r--keyboards/idobao/id42/keyboard.json1
-rw-r--r--keyboards/idobao/id61/keyboard.json1
-rw-r--r--keyboards/idobao/id63/keyboard.json1
-rw-r--r--keyboards/idobao/id67/keyboard.json1
-rw-r--r--keyboards/idobao/id75/v1/keyboard.json1
-rw-r--r--keyboards/idobao/id75/v2/keyboard.json2
-rw-r--r--keyboards/idobao/id80/v2/info.json2
-rw-r--r--keyboards/idobao/id80/v3/ansi/keyboard.json1
-rw-r--r--keyboards/idobao/id87/v1/keyboard.json1
-rw-r--r--keyboards/idobao/id87/v2/keyboard.json1
-rw-r--r--keyboards/idobao/id96/keyboard.json1
-rw-r--r--keyboards/idobao/montex/v1/keyboard.json1
-rwxr-xr-xkeyboards/idobao/montex/v1rgb/keyboard.json1
-rwxr-xr-xkeyboards/idobao/montex/v2/keyboard.json1
-rw-r--r--keyboards/idyllic/tinny50_rgb/keyboard.json1
-rw-r--r--keyboards/igloo/keyboard.json2
-rw-r--r--keyboards/illuminati/is0/keyboard.json2
-rw-r--r--keyboards/illusion/rosa/keyboard.json2
-rw-r--r--keyboards/ilumkb/primus75/keyboard.json2
-rw-r--r--keyboards/ilumkb/simpler61/keyboard.json2
-rw-r--r--keyboards/ilumkb/simpler64/keyboard.json2
-rw-r--r--keyboards/ilumkb/volcano660/keyboard.json2
-rw-r--r--keyboards/inett_studio/sqx/hotswap/keyboard.json2
-rw-r--r--keyboards/inett_studio/sqx/universal/keyboard.json2
-rw-r--r--keyboards/inland/kb83/kb83.c2
-rw-r--r--keyboards/inland/mk47/keyboard.json2
-rw-r--r--keyboards/inland/v83p/keyboard.json1
-rw-r--r--keyboards/input_club/k_type/keyboard.json2
-rw-r--r--keyboards/input_club/whitefox/keyboard.json1
-rw-r--r--keyboards/io_mini1800/keyboard.json1
-rw-r--r--keyboards/irene/keyboard.json2
-rw-r--r--keyboards/iriskeyboards/keyboard.json2
-rw-r--r--keyboards/iron180/keyboard.json1
-rw-r--r--keyboards/itstleo/itstleo40/keyboard.json1
-rw-r--r--keyboards/j80/keyboard.json2
-rw-r--r--keyboards/jacky_studio/s7_elephant/rev1/keyboard.json1
-rw-r--r--keyboards/jacky_studio/s7_elephant/rev2/keyboard.json1
-rw-r--r--keyboards/jadookb/jkb65/info.json1
-rw-r--r--keyboards/jae/j01/keyboard.json1
-rw-r--r--keyboards/jagdpietr/drakon/keyboard.json1
-rw-r--r--keyboards/janus/keyboard.json1
-rw-r--r--keyboards/jaykeeb/aumz_work/info.json2
-rw-r--r--keyboards/jaykeeb/jk60/keyboard.json2
-rw-r--r--keyboards/jaykeeb/jk60rgb/keyboard.json2
-rw-r--r--keyboards/jaykeeb/jk65/keyboard.json2
-rw-r--r--keyboards/jaykeeb/joker/keyboard.json2
-rw-r--r--keyboards/jaykeeb/kamigakushi/keyboard.json4
-rw-r--r--keyboards/jaykeeb/orba/keyboard.json2
-rw-r--r--keyboards/jaykeeb/sebelas/keyboard.json2
-rw-r--r--keyboards/jaykeeb/skyline/keyboard.json2
-rw-r--r--keyboards/jaykeeb/sriwedari70/keyboard.json3
-rw-r--r--keyboards/jaykeeb/tokki/keyboard.json2
-rw-r--r--keyboards/jc65/v32a/keyboard.json2
-rw-r--r--keyboards/jc65/v32u4/keyboard.json2
-rw-r--r--keyboards/jd40/keyboard.json2
-rw-r--r--keyboards/jd45/keyboard.json1
-rw-r--r--keyboards/jels/boaty/keyboard.json2
-rw-r--r--keyboards/jels/jels60/info.json1
-rw-r--r--keyboards/jels/jels60/v1/keyboard.json1
-rw-r--r--keyboards/jels/jels60/v2/keyboard.json1
-rw-r--r--keyboards/jels/jels88/keyboard.json2
-rw-r--r--keyboards/jian/keymaps/advanced/keymap.c4
-rw-r--r--keyboards/jkdlab/binary_monkey/keyboard.json1
-rw-r--r--keyboards/jkeys_design/gentleman65/keyboard.json1
-rw-r--r--keyboards/jkeys_design/gentleman65_se_s/keyboard.json1
-rw-r--r--keyboards/jolofsor/denial75/keyboard.json2
-rw-r--r--keyboards/joshajohnson/hub20/keyboard.json1
-rw-r--r--keyboards/jukaie/jk01/keyboard.json2
-rw-r--r--keyboards/k34/keyboard.json1
-rw-r--r--keyboards/kabedon/kabedon78s/keyboard.json2
-rw-r--r--keyboards/kabedon/kabedon980/keyboard.json1
-rw-r--r--keyboards/kabedon/kabedon98e/keyboard.json2
-rw-r--r--keyboards/kagizaraya/chidori/keyboard.json1
-rw-r--r--keyboards/kagizaraya/halberd/keyboard.json2
-rw-r--r--keyboards/kagizaraya/miniaxe/keyboard.json2
-rw-r--r--keyboards/kagizaraya/scythe/keyboard.json1
-rw-r--r--keyboards/kakunpc/business_card/alpha/keyboard.json1
-rw-r--r--keyboards/kakunpc/business_card/beta/keyboard.json1
-rw-r--r--keyboards/kakunpc/rabbit_capture_plan/keyboard.json1
-rw-r--r--keyboards/kalakos/bahrnob/keyboard.json1
-rw-r--r--keyboards/kaly/kaly42/keyboard.json1
-rw-r--r--keyboards/kapcave/arya/keyboard.json1
-rw-r--r--keyboards/kapcave/paladinpad/info.json1
-rw-r--r--keyboards/karn/keyboard.json1
-rw-r--r--keyboards/kb_elmo/67mk_e/keyboard.json2
-rw-r--r--keyboards/kb_elmo/isolation/keyboard.json1
-rw-r--r--keyboards/kb_elmo/noah_avr/keyboard.json1
-rw-r--r--keyboards/kb_elmo/qez/keyboard.json2
-rw-r--r--keyboards/kb_elmo/vertex/keyboard.json2
-rw-r--r--keyboards/kbdcraft/adam64/keyboard.json1
-rw-r--r--keyboards/kbdfans/baguette66/rgb/keyboard.json1
-rw-r--r--keyboards/kbdfans/baguette66/soldered/keyboard.json1
-rw-r--r--keyboards/kbdfans/bella/rgb/keyboard.json1
-rw-r--r--keyboards/kbdfans/bella/rgb_iso/keyboard.json1
-rw-r--r--keyboards/kbdfans/bella/soldered/keyboard.json2
-rw-r--r--keyboards/kbdfans/boop65/rgb/keyboard.json2
-rw-r--r--keyboards/kbdfans/bounce/75/hotswap/keyboard.json1
-rw-r--r--keyboards/kbdfans/bounce/75/soldered/keyboard.json2
-rw-r--r--keyboards/kbdfans/bounce/pad/keyboard.json1
-rw-r--r--keyboards/kbdfans/d45/v2/keyboard.json1
-rw-r--r--keyboards/kbdfans/epoch80/keyboard.json1
-rw-r--r--keyboards/kbdfans/jm60/keyboard.json1
-rw-r--r--keyboards/kbdfans/kbd19x/keyboard.json1
-rw-r--r--keyboards/kbdfans/kbd4x/keyboard.json1
-rw-r--r--keyboards/kbdfans/kbd66/keyboard.json1
-rw-r--r--keyboards/kbdfans/kbd67/hotswap/keyboard.json1
-rw-r--r--keyboards/kbdfans/kbd67/mkii_soldered/keyboard.json2
-rw-r--r--keyboards/kbdfans/kbd67/mkiirgb/info.json1
-rw-r--r--keyboards/kbdfans/kbd67/mkiirgb/v1/keyboard.json1
-rw-r--r--keyboards/kbdfans/kbd67/mkiirgb/v2/keyboard.json1
-rw-r--r--keyboards/kbdfans/kbd67/mkiirgb/v4/keyboard.json1
-rw-r--r--keyboards/kbdfans/kbd67/mkiirgb_iso/keyboard.json1
-rw-r--r--keyboards/kbdfans/kbd67/rev1/keyboard.json1
-rw-r--r--keyboards/kbdfans/kbd67/rev2/keyboard.json2
-rw-r--r--keyboards/kbdfans/kbd6x/keyboard.json1
-rw-r--r--keyboards/kbdfans/kbd75/rev1/keyboard.json1
-rw-r--r--keyboards/kbdfans/kbd75/rev2/keyboard.json1
-rw-r--r--keyboards/kbdfans/kbd75hs/keyboard.json1
-rw-r--r--keyboards/kbdfans/kbd75rgb/keyboard.json2
-rw-r--r--keyboards/kbdfans/kbd8x/keyboard.json2
-rw-r--r--keyboards/kbdfans/kbd8x_mk2/keyboard.json1
-rw-r--r--keyboards/kbdfans/kbdmini/keyboard.json2
-rw-r--r--keyboards/kbdfans/kbdpad/mk1/keyboard.json1
-rw-r--r--keyboards/kbdfans/kbdpad/mk2/keyboard.json1
-rw-r--r--keyboards/kbdfans/kbdpad/mk3/keyboard.json1
-rw-r--r--keyboards/kbdfans/maja/keyboard.json2
-rw-r--r--keyboards/kbdfans/maja_soldered/keyboard.json2
-rw-r--r--keyboards/kbdfans/niu_mini/keyboard.json1
-rw-r--r--keyboards/kbdfans/odin/rgb/keyboard.json2
-rw-r--r--keyboards/kbdfans/odin/soldered/keyboard.json2
-rw-r--r--keyboards/kbdfans/odin/v2/keyboard.json2
-rw-r--r--keyboards/kbdfans/odin75/keyboard.json1
-rw-r--r--keyboards/kbdfans/odinmini/keyboard.json1
-rw-r--r--keyboards/kbdfans/phaseone/keyboard.json2
-rw-r--r--keyboards/kbdfans/tiger80/keyboard.json2
-rw-r--r--keyboards/kbnordic/nordic60/rev_a/keyboard.json1
-rw-r--r--keyboards/kbnordic/nordic65/rev_a/keyboard.json1
-rw-r--r--keyboards/kc60/keyboard.json1
-rw-r--r--keyboards/kc60se/keyboard.json2
-rw-r--r--keyboards/keebformom/keyboard.json1
-rw-r--r--keyboards/keebio/bfo9000/keyboard.json1
-rw-r--r--keyboards/keebio/dilly/keyboard.json2
-rw-r--r--keyboards/keebio/fourier/keyboard.json1
-rw-r--r--keyboards/keebio/iris/rev5/keyboard.json1
-rw-r--r--keyboards/keebio/laplace/keyboard.json1
-rw-r--r--keyboards/keebio/nyquist/rev1/keyboard.json1
-rw-r--r--keyboards/keebio/nyquist/rev2/keyboard.json1
-rw-r--r--keyboards/keebio/nyquist/rev3/keyboard.json1
-rw-r--r--keyboards/keebio/sinc/info.json1
-rw-r--r--keyboards/keebio/stick/keyboard.json1
-rw-r--r--keyboards/keebio/tragicforce68/keyboard.json1
-rw-r--r--keyboards/keebio/wtf60/keyboard.json1
-rw-r--r--keyboards/keebmonkey/kbmg68/keyboard.json2
-rw-r--r--keyboards/keebsforall/freebird60/keyboard.json2
-rw-r--r--keyboards/keebsforall/freebird75/keyboard.json2
-rw-r--r--keyboards/keebsforall/freebirdnp/lite/keyboard.json1
-rw-r--r--keyboards/keebsforall/freebirdnp/pro/keyboard.json1
-rw-r--r--keyboards/keebsforall/freebirdtkl/keyboard.json1
-rwxr-xr-xkeyboards/keebwerk/mega/ansi/keyboard.json1
-rw-r--r--keyboards/keebwerk/nano_slider/keyboard.json1
-rw-r--r--keyboards/keebzdotnet/fme/keyboard.json2
-rw-r--r--keyboards/keebzdotnet/wazowski/keyboard.json1
-rw-r--r--keyboards/kegen/gboy/keyboard.json1
-rw-r--r--keyboards/kelwin/utopia88/keyboard.json2
-rw-r--r--keyboards/kepler_33/proto/keyboard.json1
-rw-r--r--keyboards/keybage/radpad/keyboard.json2
-rw-r--r--keyboards/keybee/keybee65/keyboard.json2
-rw-r--r--keyboards/keyboardio/atreus/keyboard.json1
-rw-r--r--keyboards/keycapsss/3w6_2040/keyboard.json1
-rw-r--r--keyboards/keycapsss/o4l_5x12/keyboard.json1
-rw-r--r--keyboards/keycapsss/plaid_pad/rev1/keyboard.json1
-rw-r--r--keyboards/keycapsss/plaid_pad/rev2/keyboard.json1
-rw-r--r--keyboards/keycapsss/plaid_pad/rev3/keyboard.json1
-rw-r--r--keyboards/keychron/c1_pro/info.json1
-rw-r--r--keyboards/keychron/c1_pro_v2/board.h8
-rw-r--r--keyboards/keychron/c1_pro_v2/info.json1
-rw-r--r--keyboards/keychron/c1_pro_v2/mcuconf.h3
-rw-r--r--keyboards/keychron/c2_pro/info.json1
-rw-r--r--keyboards/keychron/c2_pro_v2/board.h8
-rw-r--r--keyboards/keychron/c2_pro_v2/info.json1
-rw-r--r--keyboards/keychron/c2_pro_v2/mcuconf.h3
-rw-r--r--keyboards/keychron/c3_pro/board.h8
-rw-r--r--keyboards/keychron/c3_pro/info.json1
-rw-r--r--keyboards/keychron/c3_pro/mcuconf.h3
-rw-r--r--keyboards/keychron/q0/info.json1
-rwxr-xr-xkeyboards/keychron/q11/info.json1
-rw-r--r--keyboards/keychron/q1v1/info.json1
-rw-r--r--keyboards/keychron/q1v2/info.json1
-rw-r--r--keyboards/keychron/q2/info.json1
-rw-r--r--keyboards/keychron/q3/info.json1
-rw-r--r--keyboards/keychron/q4/info.json1
-rw-r--r--keyboards/keychron/q5/info.json1
-rw-r--r--keyboards/keychron/q60/ansi/keyboard.json1
-rw-r--r--keyboards/keychron/q7/info.json1
-rw-r--r--keyboards/keychron/q8/info.json1
-rw-r--r--keyboards/keychron/q9/info.json1
-rwxr-xr-xkeyboards/keychron/q9_plus/info.json1
-rw-r--r--keyboards/keychron/s1/ansi/rgb/keyboard.json1
-rw-r--r--keyboards/keychron/s1/ansi/white/keyboard.json1
-rw-r--r--keyboards/keychron/v2/ansi/keyboard.json1
-rw-r--r--keyboards/keychron/v2/ansi_encoder/keyboard.json1
-rw-r--r--keyboards/keychron/v2/iso/keyboard.json1
-rw-r--r--keyboards/keychron/v2/iso_encoder/keyboard.json1
-rw-r--r--keyboards/keychron/v2/jis/keyboard.json1
-rw-r--r--keyboards/keychron/v2/jis_encoder/keyboard.json1
-rw-r--r--keyboards/keychron/v3/ansi/keyboard.json1
-rw-r--r--keyboards/keychron/v3/jis/keyboard.json1
-rw-r--r--keyboards/keychron/v4/ansi/keyboard.json1
-rw-r--r--keyboards/keychron/v4/iso/keyboard.json1
-rw-r--r--keyboards/keychron/v7/ansi/keyboard.json1
-rw-r--r--keyboards/keychron/v7/iso/keyboard.json1
-rw-r--r--keyboards/keychron/v8/ansi/keyboard.json1
-rw-r--r--keyboards/keychron/v8/ansi_encoder/keyboard.json1
-rw-r--r--keyboards/keychron/v8/iso/keyboard.json1
-rw-r--r--keyboards/keychron/v8/iso_encoder/keyboard.json1
-rw-r--r--keyboards/keycult/keycult1800/keyboard.json3
-rw-r--r--keyboards/keycult/keycult1800/keymaps/default/keymap.c4
-rw-r--r--keyboards/keyhive/absinthe/keyboard.json1
-rw-r--r--keyboards/keyhive/honeycomb/keyboard.json1
-rw-r--r--keyboards/keyhive/lattice60/keyboard.json1
-rw-r--r--keyboards/keyhive/navi10/info.json1
-rw-r--r--keyboards/keyhive/opus/keyboard.json1
-rw-r--r--keyboards/keyhive/smallice/keyboard.json1
-rw-r--r--keyboards/keyhive/southpole/keyboard.json2
-rw-r--r--keyboards/keyhive/ut472/keyboard.json2
-rw-r--r--keyboards/keyprez/bison/keyboard.json2
-rw-r--r--keyboards/keyprez/corgi/keyboard.json2
-rw-r--r--keyboards/keyprez/rhino/keyboard.json2
-rw-r--r--keyboards/keyprez/unicorn/keyboard.json2
-rw-r--r--keyboards/keyquest/enclave/keyboard.json1
-rw-r--r--keyboards/keysofkings/twokey/keyboard.json2
-rw-r--r--keyboards/keyspensory/kp60/keyboard.json2
-rw-r--r--keyboards/keystonecaps/gameroyadvance/keyboard.json1
-rw-r--r--keyboards/keyten/aperture/keyboard.json2
-rw-r--r--keyboards/keyten/diablo/keyboard.json1
-rw-r--r--keyboards/keyten/kt3700/keyboard.json2
-rw-r--r--keyboards/keyten/kt60_m/keyboard.json2
-rw-r--r--keyboards/keyten/kt60hs_t/info.json14
-rw-r--r--keyboards/keyten/kt60hs_t/readme.md27
-rw-r--r--keyboards/keyten/kt60hs_t/v1/keyboard.json (renamed from keyboards/keyten/kt60hs_t/keyboard.json)82
-rw-r--r--keyboards/keyten/kt60hs_t/v1/readme.md29
-rw-r--r--keyboards/keyten/kt60hs_t/v2/keyboard.json282
-rw-r--r--keyboards/keyten/kt60hs_t/v2/readme.md29
-rw-r--r--keyboards/keyten/lisa/keyboard.json1
-rw-r--r--keyboards/kezewa/enter67/keyboard.json1
-rw-r--r--keyboards/kezewa/enter80/keyboard.json1
-rw-r--r--keyboards/kibou/fukuro/keyboard.json2
-rw-r--r--keyboards/kibou/harbour/keyboard.json1
-rw-r--r--keyboards/kibou/suisei/keyboard.json1
-rw-r--r--keyboards/kibou/wendy/keyboard.json1
-rw-r--r--keyboards/kibou/winter/keyboard.json1
-rw-r--r--keyboards/kikkou/keyboard.json2
-rw-r--r--keyboards/kikoslab/ellora65/keyboard.json1
-rw-r--r--keyboards/kikoslab/kl90/keyboard.json1
-rw-r--r--keyboards/kin80/info.json1
-rw-r--r--keyboards/kindakeyboards/conone65/keyboard.json1
-rw-r--r--keyboards/kinesis/alvicstep/keyboard.json1
-rw-r--r--keyboards/kinesis/info.json1
-rw-r--r--keyboards/kinesis/kint2pp/keyboard.json1
-rw-r--r--keyboards/kinesis/kint36/keyboard.json1
-rw-r--r--keyboards/kinesis/kint41/keyboard.json1
-rw-r--r--keyboards/kinesis/kintlc/keyboard.json1
-rw-r--r--keyboards/kinesis/kintwin/keyboard.json1
-rw-r--r--keyboards/kinesis/nguyenvietyen/keyboard.json1
-rw-r--r--keyboards/kinesis/stapelberg/keyboard.json1
-rw-r--r--keyboards/kineticlabs/emu/hotswap/keyboard.json2
-rw-r--r--keyboards/kineticlabs/emu/soldered/keyboard.json2
-rw-r--r--keyboards/kingly_keys/ave/ortho/keyboard.json2
-rw-r--r--keyboards/kingly_keys/ave/staggered/keyboard.json2
-rw-r--r--keyboards/kingly_keys/little_foot/keyboard.json2
-rw-r--r--keyboards/kingly_keys/romac/keyboard.json2
-rw-r--r--keyboards/kingly_keys/romac_plus/keyboard.json2
-rw-r--r--keyboards/kingly_keys/ropro/keyboard.json1
-rw-r--r--keyboards/kingly_keys/smd_milk/keyboard.json1
-rw-r--r--keyboards/kingly_keys/soap/keyboard.json1
-rw-r--r--keyboards/kira/kira75/keyboard.json1
-rw-r--r--keyboards/kira/kira80/keyboard.json2
-rw-r--r--keyboards/kiserdesigns/madeline/keyboard.json1
-rw-r--r--keyboards/kiwikeebs/macro/keyboard.json1
-rw-r--r--keyboards/kiwikeebs/macro_v2/keyboard.json1
-rw-r--r--keyboards/kiwikey/wanderland/keyboard.json1
-rw-r--r--keyboards/kj_modify/rs40/keyboard.json1
-rw-r--r--keyboards/kk/65/keyboard.json2
-rw-r--r--keyboards/kkatano/bakeneko60/keyboard.json1
-rw-r--r--keyboards/kkatano/bakeneko65/rev2/keyboard.json1
-rw-r--r--keyboards/kkatano/bakeneko65/rev3/keyboard.json1
-rw-r--r--keyboards/knobgoblin/keyboard.json1
-rw-r--r--keyboards/kona_classic/keyboard.json1
-rw-r--r--keyboards/kopibeng/mnk60/keyboard.json1
-rw-r--r--keyboards/kopibeng/mnk60_stm32/keyboard.json1
-rw-r--r--keyboards/kopibeng/mnk65_stm32/keyboard.json1
-rw-r--r--keyboards/kopibeng/tgr_lena/keyboard.json1
-rw-r--r--keyboards/kopibeng/typ65/keyboard.json1
-rw-r--r--keyboards/kopibeng/xt60/keyboard.json2
-rw-r--r--keyboards/kopibeng/xt60_singa/keyboard.json2
-rw-r--r--keyboards/kopibeng/xt65/keyboard.json2
-rw-r--r--keyboards/kopibeng/xt8x/keyboard.json1
-rw-r--r--keyboards/kprepublic/bm16a/v1/keyboard.json2
-rw-r--r--keyboards/kprepublic/bm16a/v2/keyboard.json2
-rw-r--r--keyboards/kprepublic/bm16s/keyboard.json2
-rw-r--r--keyboards/kprepublic/bm40hsrgb/rev1/keyboard.json2
-rw-r--r--keyboards/kprepublic/bm40hsrgb/rev2/keyboard.json2
-rw-r--r--keyboards/kprepublic/bm43a/keyboard.json1
-rwxr-xr-xkeyboards/kprepublic/bm43hsrgb/keyboard.json2
-rw-r--r--keyboards/kprepublic/bm60hsrgb/rev1/keyboard.json2
-rw-r--r--keyboards/kprepublic/bm60hsrgb/rev2/keyboard.json1
-rw-r--r--keyboards/kprepublic/bm60hsrgb_ec/rev1/keyboard.json2
-rw-r--r--keyboards/kprepublic/bm60hsrgb_ec/rev2/keyboard.json2
-rw-r--r--keyboards/kprepublic/bm60hsrgb_iso/rev1/keyboard.json2
-rw-r--r--keyboards/kprepublic/bm60hsrgb_iso/rev2/keyboard.json1
-rw-r--r--keyboards/kprepublic/bm60hsrgb_poker/rev1/keyboard.json2
-rw-r--r--keyboards/kprepublic/bm60hsrgb_poker/rev2/keyboard.json1
-rw-r--r--keyboards/kprepublic/bm65hsrgb/rev1/keyboard.json2
-rw-r--r--keyboards/kprepublic/bm65hsrgb_iso/rev1/keyboard.json2
-rw-r--r--keyboards/kprepublic/bm68hsrgb/rev1/keyboard.json2
-rw-r--r--keyboards/kprepublic/bm68hsrgb/rev2/keyboard.json2
-rw-r--r--keyboards/kprepublic/bm80hsrgb/keyboard.json2
-rw-r--r--keyboards/kprepublic/bm80v2/keyboard.json2
-rw-r--r--keyboards/kprepublic/bm80v2_iso/keyboard.json2
-rw-r--r--keyboards/kprepublic/bm980hsrgb/keyboard.json2
-rw-r--r--keyboards/kprepublic/cospad/keyboard.json2
-rw-r--r--keyboards/kprepublic/cstc40/info.json2
-rw-r--r--keyboards/kprepublic/jj40/rev1/keyboard.json1
-rw-r--r--keyboards/kprepublic/jj4x4/keyboard.json2
-rw-r--r--keyboards/kprepublic/jj50/rev1/keyboard.json1
-rw-r--r--keyboards/kprepublic/jj50/rev2/keyboard.json2
-rw-r--r--keyboards/kradoindustries/kousa/keyboard.json1
-rw-r--r--keyboards/kradoindustries/krado66/keyboard.json1
-rw-r--r--keyboards/kradoindustries/promenade/keyboard.json1
-rw-r--r--keyboards/kradoindustries/promenade_rp24s/keyboard.json1
-rw-r--r--keyboards/kraken_jones/pteron56/keyboard.json1
-rw-r--r--keyboards/ktec/daisy/keyboard.json2
-rw-r--r--keyboards/ktec/staryu/keyboard.json2
-rw-r--r--keyboards/kumaokobo/kudox_game/info.json1
-rw-r--r--keyboards/kumaokobo/kudox_game/rev1/keyboard.json1
-rw-r--r--keyboards/kumaokobo/kudox_game/rev2/keyboard.json1
-rw-r--r--keyboards/kuro/kuro65/keyboard.json2
-rw-r--r--keyboards/kv/revt/keyboard.json1
-rw-r--r--keyboards/kwstudio/pisces/keyboard.json2
-rw-r--r--keyboards/kwstudio/scorpio/keyboard.json1
-rw-r--r--keyboards/kwstudio/scorpio_rev2/keyboard.json1
-rw-r--r--keyboards/kwub/bloop/keyboard.json1
-rw-r--r--keyboards/labbe/labbeminiv1/keyboard.json2
-rw-r--r--keyboards/labyrinth75/keyboard.json2
-rw-r--r--keyboards/laneware/lpad/keyboard.json2
-rw-r--r--keyboards/laneware/lw67/keyboard.json2
-rw-r--r--keyboards/laneware/lw75/keyboard.json2
-rw-r--r--keyboards/laneware/macro1/keyboard.json2
-rw-r--r--keyboards/laneware/raindrop/keyboard.json1
-rw-r--r--keyboards/large_lad/keyboard.json1
-rw-r--r--keyboards/laser_ninja/pumpkinpad/keyboard.json2
-rw-r--r--keyboards/latincompass/latin17rgb/keyboard.json2
-rw-r--r--keyboards/latincompass/latin47ble/keyboard.json1
-rw-r--r--keyboards/latincompass/latin60rgb/keyboard.json2
-rw-r--r--keyboards/latincompass/latin64ble/keyboard.json1
-rw-r--r--keyboards/latincompass/latin6rgb/keyboard.json1
-rw-r--r--keyboards/latincompass/latinpad/keyboard.json1
-rw-r--r--keyboards/latincompass/latinpadble/keyboard.json1
-rw-r--r--keyboards/lazydesigners/bolt/keyboard.json1
-rwxr-xr-xkeyboards/lazydesigners/cassette8/keyboard.json1
-rw-r--r--keyboards/lazydesigners/dimpleplus/keyboard.json1
-rw-r--r--keyboards/lazydesigners/the30/keyboard.json1
-rw-r--r--keyboards/lazydesigners/the40/keyboard.json1
-rw-r--r--keyboards/lazydesigners/the50/keyboard.json1
-rwxr-xr-xkeyboards/lazydesigners/the60/rev1/keyboard.json1
-rwxr-xr-xkeyboards/lazydesigners/the60/rev2/keyboard.json1
-rw-r--r--keyboards/leafcutterlabs/bigknob/keyboard.json2
-rw-r--r--keyboards/leeku/finger65/keyboard.json2
-rw-r--r--keyboards/lendunistus/rpneko65/rev1/keyboard.json1
-rw-r--r--keyboards/lets_split/info.json1
-rw-r--r--keyboards/lfkeyboards/lfk78/revb/keyboard.json1
-rw-r--r--keyboards/lfkeyboards/lfk78/revc/keyboard.json1
-rw-r--r--keyboards/lfkeyboards/lfk78/revj/keyboard.json1
-rw-r--r--keyboards/lfkeyboards/lfk87/info.json2
-rw-r--r--keyboards/lfkeyboards/lfkpad/keyboard.json2
-rw-r--r--keyboards/lfkeyboards/mini1800/info.json1
-rw-r--r--keyboards/lfkeyboards/smk65/info.json1
-rw-r--r--keyboards/lgbtkl/keyboard.json1
-rw-r--r--keyboards/lily58/lite_rev3/keyboard.json1
-rw-r--r--keyboards/lily58/r2g/keyboard.json1
-rw-r--r--keyboards/lily58/rev1/keyboard.json1
-rw-r--r--keyboards/linworks/dolice/keyboard.json1
-rw-r--r--keyboards/linworks/em8/keyboard.json1
-rw-r--r--keyboards/linworks/fave104/keyboard.json2
-rw-r--r--keyboards/linworks/fave60/keyboard.json2
-rw-r--r--keyboards/linworks/fave60a/keyboard.json1
-rw-r--r--keyboards/linworks/fave65h/keyboard.json1
-rw-r--r--keyboards/linworks/fave84h/keyboard.json2
-rw-r--r--keyboards/linworks/fave87/keyboard.json1
-rw-r--r--keyboards/linworks/fave87h/keyboard.json1
-rw-r--r--keyboards/linworks/favepada/keyboard.json1
-rw-r--r--keyboards/linworks/whale75/keyboard.json1
-rw-r--r--keyboards/littlealby/mute/keyboard.json2
-rw-r--r--keyboards/lizard_trick/tenkey_plusplus/keyboard.json1
-rw-r--r--keyboards/ll3macorn/bongopad/keyboard.json1
-rw-r--r--keyboards/lm_keyboard/lm60n/keyboard.json2
-rw-r--r--keyboards/longnald/corin/keyboard.json1
-rw-r--r--keyboards/lostdotfish/rp2040_orbweaver/keyboard.json1
-rw-r--r--keyboards/lxxt/keyboard.json4
-rw-r--r--keyboards/lyso1/lefishe/keyboard.json2
-rw-r--r--keyboards/lz/erghost/keyboard.json1
-rw-r--r--keyboards/m10a/keyboard.json2
-rw-r--r--keyboards/machine_industries/m4_a/keyboard.json1
-rw-r--r--keyboards/machkeyboards/mach3/keyboard.json1
-rw-r--r--keyboards/macrocat/keyboard.json1
-rw-r--r--keyboards/madjax_macropad/keyboard.json1
-rw-r--r--keyboards/magic_force/mf34/keyboard.json1
-rw-r--r--keyboards/makeymakey/keyboard.json1
-rw-r--r--keyboards/makrosu/keyboard.json2
-rw-r--r--keyboards/malevolti/lyra/rev1/keyboard.json1
-rw-r--r--keyboards/malevolti/superlyra/rev1/keyboard.json2
-rw-r--r--keyboards/manta60/keyboard.json1
-rw-r--r--keyboards/manyboard/macro/keyboard.json1
-rw-r--r--keyboards/maple_computing/6ball/keyboard.json2
-rwxr-xr-xkeyboards/maple_computing/c39/keyboard.json1
-rw-r--r--keyboards/maple_computing/ivy/rev1/keyboard.json1
-rw-r--r--keyboards/maple_computing/jnao/keyboard.json1
-rw-r--r--keyboards/maple_computing/launchpad/rev1/keyboard.json1
-rw-r--r--keyboards/maple_computing/lets_split_eh/keyboard.json1
-rw-r--r--keyboards/maple_computing/minidox/rev1/keyboard.json1
-rw-r--r--keyboards/maple_computing/the_ruler/keyboard.json2
-rw-r--r--keyboards/marcopad/keyboard.json3
-rw-r--r--keyboards/mariorion_v25/prod/keyboard.json2
-rw-r--r--keyboards/mariorion_v25/proto/keyboard.json2
-rw-r--r--keyboards/marksard/leftover30/keyboard.json1
-rw-r--r--keyboards/marksard/treadstone32/info.json1
-rw-r--r--keyboards/matchstickworks/normiepad/keyboard.json1
-rw-r--r--keyboards/matchstickworks/southpad/rev1/keyboard.json1
-rw-r--r--keyboards/matchstickworks/southpad/rev2/keyboard.json1
-rw-r--r--keyboards/matrix/abelx/keyboard.json1
-rw-r--r--keyboards/matrix/cain_re/keyboard.json2
-rw-r--r--keyboards/matrix/falcon/config.h1
-rw-r--r--keyboards/matrix/falcon/keyboard.json2
-rw-r--r--keyboards/matrix/m12og/rev1/keyboard.json1
-rw-r--r--keyboards/matrix/m12og/rev2/keyboard.json2
-rw-r--r--keyboards/matrix/m20add/keyboard.json1
-rw-r--r--keyboards/matrix/me/keyboard.json2
-rw-r--r--keyboards/matrix/noah/keyboard.json1
-rw-r--r--keyboards/matthewdias/m3n3van/keyboard.json1
-rw-r--r--keyboards/matthewdias/minim/keyboard.json1
-rw-r--r--keyboards/matthewdias/model_v/keyboard.json1
-rw-r--r--keyboards/matthewdias/txuu/keyboard.json1
-rw-r--r--keyboards/maxipad/info.json2
-rw-r--r--keyboards/mazestudio/jocker/keyboard.json2
-rw-r--r--keyboards/mb44/keyboard.json2
-rw-r--r--keyboards/mc_76k/keyboard.json1
-rw-r--r--keyboards/mechanickeys/miniashen40/keyboard.json2
-rw-r--r--keyboards/mechanickeys/undead60m/keyboard.json2
-rw-r--r--keyboards/mechboards/crkbd/pro/keyboard.json3
-rw-r--r--keyboards/mechboards/lily58/pro/keyboard.json3
-rw-r--r--keyboards/mechboards/sofle/pro/keyboard.json3
-rw-r--r--keyboards/mechbrewery/mb65h/keyboard.json2
-rw-r--r--keyboards/mechbrewery/mb65s/keyboard.json2
-rw-r--r--keyboards/mechkeys/acr60/keyboard.json2
-rw-r--r--keyboards/mechkeys/alu84/keyboard.json2
-rw-r--r--keyboards/mechkeys/espectro/keyboard.json2
-rw-r--r--keyboards/mechkeys/mechmini/v1/keyboard.json1
-rw-r--r--keyboards/mechkeys/mk60/keyboard.json2
-rw-r--r--keyboards/mechllama/g35/info.json1
-rw-r--r--keyboards/mechlovin/adelais/info.json1
-rw-r--r--keyboards/mechlovin/adelais/rgb_led/rev3/keyboard.json1
-rw-r--r--keyboards/mechlovin/adelais/standard_led/avr/rev1/keyboard.json1
-rw-r--r--keyboards/mechlovin/delphine/info.json1
-rw-r--r--keyboards/mechlovin/foundation/keyboard.json1
-rw-r--r--keyboards/mechlovin/hannah60rgb/rev1/keyboard.json1
-rw-r--r--keyboards/mechlovin/hannah60rgb/rev2/keyboard.json1
-rw-r--r--keyboards/mechlovin/hannah65/rev1/haus/keyboard.json1
-rw-r--r--keyboards/mechlovin/hannah910/rev1/keyboard.json1
-rw-r--r--keyboards/mechlovin/hannah910/rev2/keyboard.json1
-rw-r--r--keyboards/mechlovin/hannah910/rev3/keyboard.json1
-rw-r--r--keyboards/mechlovin/hex4b/info.json1
-rw-r--r--keyboards/mechlovin/hex6c/keyboard.json1
-rw-r--r--keyboards/mechlovin/infinity87/rev1/rogue87/keyboard.json1
-rw-r--r--keyboards/mechlovin/infinity87/rev1/rouge87/keyboard.json1
-rw-r--r--keyboards/mechlovin/infinity87/rev1/standard/keyboard.json1
-rw-r--r--keyboards/mechlovin/infinity87/rev2/keyboard.json1
-rw-r--r--keyboards/mechlovin/infinity87/rgb_rev1/keyboard.json1
-rw-r--r--keyboards/mechlovin/infinity875/keyboard.json1
-rw-r--r--keyboards/mechlovin/infinity88/keyboard.json1
-rw-r--r--keyboards/mechlovin/infinityce/keyboard.json2
-rw-r--r--keyboards/mechlovin/jay60/keyboard.json1
-rw-r--r--keyboards/mechlovin/kanu/keyboard.json2
-rw-r--r--keyboards/mechlovin/kay60/keyboard.json2
-rw-r--r--keyboards/mechlovin/kay65/keyboard.json2
-rw-r--r--keyboards/mechlovin/mechlovin9/info.json1
-rw-r--r--keyboards/mechlovin/olly/bb/keyboard.json1
-rw-r--r--keyboards/mechlovin/olly/jf/info.json1
-rw-r--r--keyboards/mechlovin/olly/octagon/keyboard.json752
-rw-r--r--keyboards/mechlovin/olly/octagon/keymaps/default/keymap.c6
-rw-r--r--keyboards/mechlovin/olly/octagon/matrix_diagram.md26
-rw-r--r--keyboards/mechlovin/olly/orion/keyboard.json1
-rw-r--r--keyboards/mechlovin/pisces/keyboard.json2
-rw-r--r--keyboards/mechlovin/serratus/keyboard.json1
-rw-r--r--keyboards/mechlovin/th1800/keyboard.json1
-rw-r--r--keyboards/mechlovin/zed1800/info.json1
-rw-r--r--keyboards/mechlovin/zed60/keyboard.json1
-rw-r--r--keyboards/mechlovin/zed65/mono_led/keyboard.json1
-rw-r--r--keyboards/mechlovin/zed65/no_backlight/cor65/keyboard.json1
-rw-r--r--keyboards/mechlovin/zed65/no_backlight/retro66/keyboard.json1
-rw-r--r--keyboards/mechlovin/zed65/no_backlight/wearhaus66/keyboard.json1
-rw-r--r--keyboards/mechstudio/dawn/keyboard.json1
-rw-r--r--keyboards/mechwild/bde/info.json3
-rw-r--r--keyboards/mechwild/bde/rev2/keyboard.json1
-rw-r--r--keyboards/mechwild/mercutio/keyboard.json1
-rw-r--r--keyboards/mechwild/murphpad/keyboard.json1
-rw-r--r--keyboards/mechwild/obe/info.json1
-rw-r--r--keyboards/mechwild/sugarglider/f401/keyboard.json1
-rw-r--r--keyboards/mechwild/sugarglider/f411/keyboard.json1
-rw-r--r--keyboards/mechwild/sugarglider/info.json2
-rw-r--r--keyboards/mechwild/sugarglider/wide_oled/f401/keyboard.json1
-rw-r--r--keyboards/mechwild/sugarglider/wide_oled/f411/keyboard.json1
-rw-r--r--keyboards/meetlab/kafka60/keyboard.json1
-rw-r--r--keyboards/meetlab/kafka68/keyboard.json1
-rw-r--r--keyboards/meetlab/kafkasplit/keyboard.json1
-rw-r--r--keyboards/meetlab/kalice/keyboard.json1
-rw-r--r--keyboards/meetlab/rena/keyboard.json1
-rw-r--r--keyboards/mehkee96/keyboard.json2
-rw-r--r--keyboards/meletrix/zoom75/keyboard.json1
-rw-r--r--keyboards/meletrix/zoom98/keyboard.json1
-rwxr-xr-xkeyboards/melgeek/mach80/info.json1
-rw-r--r--keyboards/melgeek/mach80/rev1/keyboard.json1
-rw-r--r--keyboards/melgeek/mach80/rev2/keyboard.json1
-rw-r--r--keyboards/melgeek/mj61/info.json1
-rw-r--r--keyboards/melgeek/mj61/rev1/keyboard.json1
-rw-r--r--keyboards/melgeek/mj61/rev2/keyboard.json1
-rw-r--r--keyboards/melgeek/mj63/info.json1
-rw-r--r--keyboards/melgeek/mj63/rev1/keyboard.json1
-rw-r--r--keyboards/melgeek/mj63/rev2/keyboard.json1
-rw-r--r--keyboards/melgeek/mj64/info.json1
-rw-r--r--keyboards/melgeek/mj64/rev1/keyboard.json1
-rw-r--r--keyboards/melgeek/mj64/rev2/keyboard.json1
-rw-r--r--keyboards/melgeek/mj64/rev3/keyboard.json1
-rw-r--r--keyboards/melgeek/mj65/rev3/keyboard.json1
-rwxr-xr-xkeyboards/melgeek/mj6xy/info.json1
-rw-r--r--keyboards/melgeek/mj6xy/rev3/keyboard.json1
-rwxr-xr-xkeyboards/melgeek/mojo68/rev1/keyboard.json2
-rw-r--r--keyboards/melgeek/mojo75/rev1/keyboard.json2
-rw-r--r--keyboards/melgeek/tegic/rev1/keyboard.json2
-rw-r--r--keyboards/melgeek/z70ultra/rev1/keyboard.json2
-rw-r--r--keyboards/meme/keyboard.json1
-rw-r--r--keyboards/meow48/keyboard.json1
-rw-r--r--keyboards/meow65/keyboard.json1
-rw-r--r--keyboards/merge/iso_macro/keyboard.json2
-rw-r--r--keyboards/merge/uc1/keyboard.json1
-rw-r--r--keyboards/merge/um70/keyboard.json1
-rw-r--r--keyboards/merge/um80/keyboard.json1
-rw-r--r--keyboards/mesa/mesa_tkl/keyboard.json1
-rw-r--r--keyboards/meson/keyboard.json1
-rw-r--r--keyboards/metamechs/timberwolf/keyboard.json1
-rw-r--r--keyboards/mexsistor/ludmila/keyboard.json1
-rw-r--r--keyboards/miiiw/blackio83/rev_0100/keyboard.json1
-rw-r--r--keyboards/mikeneko65/keyboard.json1
-rw-r--r--keyboards/miller/gm862/keyboard.json2
-rw-r--r--keyboards/millet/doksin/keyboard.json1
-rw-r--r--keyboards/millipad/keyboard.json1
-rw-r--r--keyboards/mincedshon/ecila/keyboard.json2
-rw-r--r--keyboards/mini_elixivy/keyboard.json1
-rw-r--r--keyboards/mini_ten_key_plus/keyboard.json1
-rw-r--r--keyboards/minimacro5/keyboard.json2
-rw-r--r--keyboards/minimon/bartlesplit/keyboard.json1
-rw-r--r--keyboards/minimon/index_tab/keyboard.json1
-rw-r--r--keyboards/mint60/keyboard.json2
-rw-r--r--keyboards/misonoworks/chocolatebar/keyboard.json1
-rw-r--r--keyboards/misonoworks/karina/keyboard.json1
-rw-r--r--keyboards/misterknife/knife66/keyboard.json2
-rw-r--r--keyboards/misterknife/knife66_iso/keyboard.json2
-rw-r--r--keyboards/mitosis/keyboard.json1
-rw-r--r--keyboards/miuni32/keyboard.json2
-rw-r--r--keyboards/mk65/keyboard.json4
-rw-r--r--keyboards/ml/gas75/keyboard.json1
-rw-r--r--keyboards/mlego/m48/rev1/keyboard.json1
-rw-r--r--keyboards/mlego/m60/rev1/keyboard.json1
-rw-r--r--keyboards/mlego/m65/rev1/keyboard.json2
-rw-r--r--keyboards/mlego/m65/rev2/keyboard.json2
-rw-r--r--keyboards/mlego/m65/rev3/keyboard.json2
-rw-r--r--keyboards/mlego/m65/rev4/keyboard.json1
-rw-r--r--keyboards/mmkzoo65/keyboard.json2
-rw-r--r--keyboards/mntre/keyboard.json1
-rw-r--r--keyboards/mode/m256ws/keyboard.json2
-rw-r--r--keyboards/mode/m60h/keyboard.json2
-rw-r--r--keyboards/mode/m60h_f/keyboard.json2
-rw-r--r--keyboards/mode/m60s/keyboard.json2
-rw-r--r--keyboards/mode/m65ha_alpha/keyboard.json2
-rw-r--r--keyboards/mode/m65hi_alpha/keyboard.json2
-rw-r--r--keyboards/mode/m65s/keyboard.json2
-rw-r--r--keyboards/mode/m75h/keyboard.json2
-rw-r--r--keyboards/mode/m75s/keyboard.json2
-rw-r--r--keyboards/mode/m80v1/m80h/keyboard.json2
-rw-r--r--keyboards/mode/m80v1/m80s/keyboard.json2
-rw-r--r--keyboards/mode/m80v2/m80v2h/keyboard.json1
-rw-r--r--keyboards/mode/m80v2/m80v2s/keyboard.json1
-rw-r--r--keyboards/mokey/ginkgo65/keyboard.json2
-rw-r--r--keyboards/mokey/ginkgo65hot/keyboard.json2
-rw-r--r--keyboards/mokey/ibis80/keyboard.json2
-rw-r--r--keyboards/mokey/luckycat70/keyboard.json2
-rw-r--r--keyboards/mokey/mokey12x2/keyboard.json1
-rw-r--r--keyboards/mokey/mokey63/keyboard.json2
-rw-r--r--keyboards/mokey/mokey64/keyboard.json2
-rw-r--r--keyboards/mokey/xox70/keyboard.json2
-rw-r--r--keyboards/mokey/xox70hot/keyboard.json2
-rw-r--r--keyboards/moky/moky67/keyboard.json1
-rw-r--r--keyboards/moky/moky88/keyboard.json1
-rw-r--r--keyboards/momoka_ergo/keyboard.json2
-rw-r--r--keyboards/momokai/aurora/keyboard.json3
-rw-r--r--keyboards/momokai/tap_duo/keyboard.json3
-rw-r--r--keyboards/momokai/tap_trio/keyboard.json3
-rw-r--r--keyboards/monarch/keyboard.json1
-rw-r--r--keyboards/monoflex60/keyboard.json2
-rw-r--r--keyboards/monsgeek/m1/keyboard.json1
-rw-r--r--keyboards/monsgeek/m1/m1.c2
-rw-r--r--keyboards/monsgeek/m3/keyboard.json1
-rw-r--r--keyboards/monsgeek/m3/m3.c2
-rw-r--r--keyboards/monsgeek/m5/keyboard.json1
-rw-r--r--keyboards/monsgeek/m6/keyboard.json1
-rw-r--r--keyboards/monstargear/xo87/rgb/keyboard.json1
-rw-r--r--keyboards/monstargear/xo87/solderable/keyboard.json1
-rw-r--r--keyboards/moondrop/dash75/info.json1
-rw-r--r--keyboards/mothwing/keyboard.json1
-rw-r--r--keyboards/mountainblocks/mb17/keyboard.json1
-rw-r--r--keyboards/mountainmechdesigns/teton_78/keyboard.json2
-rw-r--r--keyboards/ms_sculpt/keyboard.json2
-rw-r--r--keyboards/mss_studio/m63_rgb/keyboard.json2
-rw-r--r--keyboards/mss_studio/m64_rgb/keyboard.json2
-rw-r--r--keyboards/mt/blocked65/keyboard.json2
-rw-r--r--keyboards/mt/mt40/keyboard.json2
-rw-r--r--keyboards/mt/mt64rgb/keyboard.json2
-rw-r--r--keyboards/mt/mt84/keyboard.json2
-rw-r--r--keyboards/mt/mt980/keyboard.json1
-rw-r--r--keyboards/mt/split75/keyboard.json1
-rw-r--r--keyboards/mtbkeys/mtb60/hotswap/keyboard.json1
-rw-r--r--keyboards/mtbkeys/mtb60/solder/keyboard.json1
-rw-r--r--keyboards/murcielago/rev1/keyboard.json2
-rw-r--r--keyboards/mwstudio/alicekk/keyboard.json1
-rw-r--r--keyboards/mwstudio/mmk_3/keyboard.json1
-rw-r--r--keyboards/mwstudio/mw65_black/keyboard.json2
-rw-r--r--keyboards/mwstudio/mw65_rgb/keyboard.json2
-rw-r--r--keyboards/mwstudio/mw660/keyboard.json2
-rw-r--r--keyboards/mwstudio/mw75/keyboard.json2
-rw-r--r--keyboards/mwstudio/mw75r2/keyboard.json2
-rw-r--r--keyboards/mwstudio/mw80/keyboard.json4
-rw-r--r--keyboards/mxss/keyboard.json1
-rw-r--r--keyboards/mykeyclub/jris65/hotswap/keyboard.json1
-rw-r--r--keyboards/mysticworks/wyvern/keyboard.json1
-rw-r--r--keyboards/nacly/sodium42/keyboard.json1
-rw-r--r--keyboards/nacly/sodium50/keyboard.json1
-rw-r--r--keyboards/nacly/sodium62/keyboard.json1
-rw-r--r--keyboards/nacly/splitreus62/keyboard.json2
-rw-r--r--keyboards/nacly/ua62/keyboard.json1
-rw-r--r--keyboards/navi60/keyboard.json2
-rw-r--r--keyboards/ncc1701kb/keyboard.json2
-rw-r--r--keyboards/neito/keyboard.json1
-rw-r--r--keyboards/nek_type_a/keyboard.json1
-rw-r--r--keyboards/nemui/keyboard.json1
-rw-r--r--keyboards/neokeys/g67/element_hs/keyboard.json2
-rw-r--r--keyboards/neokeys/g67/hotswap/keyboard.json2
-rw-r--r--keyboards/neokeys/g67/soldered/keyboard.json2
-rw-r--r--keyboards/neson_design/700e/keyboard.json1
-rw-r--r--keyboards/neson_design/810e/board.h8
-rw-r--r--keyboards/neson_design/810e/config.h21
-rw-r--r--keyboards/neson_design/810e/keyboard.json1
-rw-r--r--keyboards/neson_design/n6/keyboard.json1
-rw-r--r--keyboards/neson_design/nico/keyboard.json2
-rw-r--r--keyboards/newgame40/keyboard.json2
-rw-r--r--keyboards/nibell/micropad4x4/keyboard.json1
-rw-r--r--keyboards/nibiria/stream15/keyboard.json2
-rw-r--r--keyboards/nightingale_studios/hailey/keyboard.json1
-rw-r--r--keyboards/nightly_boards/adellein/keyboard.json2
-rw-r--r--keyboards/nightly_boards/alter/rev1/keyboard.json2
-rw-r--r--keyboards/nightly_boards/alter_lite/keyboard.json2
-rw-r--r--keyboards/nightly_boards/conde60/keyboard.json2
-rw-r--r--keyboards/nightly_boards/daily60/keyboard.json1
-rw-r--r--keyboards/nightly_boards/jisoo/keyboard.json1
-rw-r--r--keyboards/nightly_boards/n2/keyboard.json2
-rw-r--r--keyboards/nightly_boards/n40_o/keyboard.json1
-rw-r--r--keyboards/nightly_boards/n60_s/keyboard.json2
-rw-r--r--keyboards/nightly_boards/n87/keyboard.json2
-rw-r--r--keyboards/nightly_boards/n9/keyboard.json2
-rw-r--r--keyboards/nightly_boards/octopad/keyboard.json2
-rw-r--r--keyboards/nightly_boards/octopadplus/keyboard.json4
-rw-r--r--keyboards/nightly_boards/paraluman/keyboard.json2
-rw-r--r--keyboards/nightly_boards/ph_arisu/keyboard.json1
-rw-r--r--keyboards/nimrod/keyboard.json1
-rw-r--r--keyboards/ning/tiny_board/tb16_rgb/keyboard.json2
-rw-r--r--keyboards/nix_studio/lilith/board.h8
-rw-r--r--keyboards/nix_studio/lilith/keyboard.json1
-rw-r--r--keyboards/nix_studio/n60_a/keyboard.json1
-rw-r--r--keyboards/nix_studio/oxalys80/keyboard.json2
-rw-r--r--keyboards/nixkeyboards/day_off/keyboard.json1
-rw-r--r--keyboards/nopunin10did/jabberwocky/v1/keyboard.json1
-rw-r--r--keyboards/nopunin10did/jabberwocky/v2/keyboard.json1
-rw-r--r--keyboards/nopunin10did/kastenwagen1840/keyboard.json1
-rw-r--r--keyboards/nopunin10did/kastenwagen48/keyboard.json1
-rw-r--r--keyboards/nopunin10did/railroad/rev0/keyboard.json1
-rw-r--r--keyboards/nopunin10did/styrkatmel/keyboard.json1
-rwxr-xr-xkeyboards/novelkeys/nk1/keyboard.json1
-rwxr-xr-xkeyboards/novelkeys/nk65/info.json1
-rwxr-xr-xkeyboards/novelkeys/nk_classic_tkl/keyboard.json1
-rwxr-xr-xkeyboards/novelkeys/nk_classic_tkl_iso/keyboard.json1
-rwxr-xr-xkeyboards/novelkeys/nk_plus/keyboard.json1
-rw-r--r--keyboards/novelkeys/novelpad/keyboard.json1
-rw-r--r--keyboards/noxary/220/keyboard.json1
-rw-r--r--keyboards/noxary/260/keyboard.json1
-rw-r--r--keyboards/noxary/268_2/keyboard.json2
-rw-r--r--keyboards/noxary/268_2_rgb/keyboard.json2
-rw-r--r--keyboards/noxary/280/keyboard.json1
-rw-r--r--keyboards/noxary/378/keyboard.json2
-rw-r--r--keyboards/noxary/valhalla/keyboard.json2
-rw-r--r--keyboards/noxary/valhalla_v2/keyboard.json2
-rw-r--r--keyboards/noxary/vulcan/keyboard.json1
-rw-r--r--keyboards/noxary/x268/keyboard.json2
-rw-r--r--keyboards/np12/keyboard.json1
-rw-r--r--keyboards/null/st110r2/keyboard.json1
-rw-r--r--keyboards/numatreus/keyboard.json1
-rw-r--r--keyboards/nyhxis/nfr_70/keyboard.json1
-rw-r--r--keyboards/obosob/arch_36/keyboard.json2
-rw-r--r--keyboards/obosob/steal_this_keyboard/keyboard.json1
-rw-r--r--keyboards/ocean/addon/keyboard.json1
-rw-r--r--keyboards/ocean/gin_v2/keyboard.json2
-rw-r--r--keyboards/ocean/slamz/keyboard.json2
-rw-r--r--keyboards/ocean/stealth/keyboard.json2
-rw-r--r--keyboards/ocean/sus/keyboard.json1
-rw-r--r--keyboards/ocean/wang_ergo/keyboard.json2
-rw-r--r--keyboards/ocean/wang_v2/keyboard.json2
-rw-r--r--keyboards/ocean/yuri/keyboard.json1
-rw-r--r--keyboards/odelia/keyboard.json2
-rw-r--r--keyboards/ogre/ergo_single/keyboard.json2
-rw-r--r--keyboards/ogre/ergo_split/keyboard.json2
-rw-r--r--keyboards/ok60/keyboard.json2
-rw-r--r--keyboards/omkbd/ergodash/mini/keyboard.json1
-rw-r--r--keyboards/omkbd/ergodash/rev1/keyboard.json1
-rw-r--r--keyboards/omkbd/runner3680/3x6/keyboard.json1
-rw-r--r--keyboards/omkbd/runner3680/3x7/keyboard.json1
-rw-r--r--keyboards/omkbd/runner3680/3x8/keyboard.json1
-rw-r--r--keyboards/omkbd/runner3680/4x6/keyboard.json1
-rw-r--r--keyboards/omkbd/runner3680/4x7/keyboard.json1
-rw-r--r--keyboards/omkbd/runner3680/4x8/keyboard.json1
-rw-r--r--keyboards/omkbd/runner3680/5x6/keyboard.json1
-rw-r--r--keyboards/omkbd/runner3680/5x6_5x8/keyboard.json1
-rw-r--r--keyboards/omkbd/runner3680/5x7/keyboard.json1
-rw-r--r--keyboards/omkbd/runner3680/5x8/keyboard.json1
-rw-r--r--keyboards/omnikeyish/dynamic_macro.c1
-rw-r--r--keyboards/onekeyco/dango40/keyboard.json1
-rw-r--r--keyboards/orange75/keyboard.json2
-rw-r--r--keyboards/org60/keyboard.json2
-rw-r--r--keyboards/ortho5by12/keyboard.json1
-rw-r--r--keyboards/orthograph/keyboard.json1
-rw-r--r--keyboards/owlab/jelly_epoch/hotswap/keyboard.json1
-rw-r--r--keyboards/owlab/jelly_epoch/soldered/keyboard.json1
-rw-r--r--keyboards/owlab/jelly_evolv/info.json1
-rw-r--r--keyboards/owlab/spring/keyboard.json2
-rw-r--r--keyboards/owlab/suit80/ansi/keyboard.json2
-rw-r--r--keyboards/owlab/suit80/iso/keyboard.json2
-rw-r--r--keyboards/owlab/voice65/hotswap/keyboard.json1
-rw-r--r--keyboards/owlab/voice65/soldered/keyboard.json1
-rw-r--r--keyboards/p3d/eu_isolation/keyboard.json1
-rw-r--r--keyboards/p3d/glitch/keyboard.json1
-rw-r--r--keyboards/p3d/q4z/keyboard.json2
-rw-r--r--keyboards/p3d/spacey/keyboard.json2
-rw-r--r--keyboards/p3d/synapse/keyboard.json2
-rw-r--r--keyboards/p3d/tw40/keyboard.json1
-rw-r--r--keyboards/pabile/p18/keyboard.json1
-rw-r--r--keyboards/pabile/p20/info.json1
-rw-r--r--keyboards/pabile/p20/ver1/keyboard.json1
-rw-r--r--keyboards/pabile/p20/ver2/keyboard.json1
-rw-r--r--keyboards/pabile/p40/keyboard.json1
-rw-r--r--keyboards/pabile/p40_ortho/keyboard.json1
-rw-r--r--keyboards/pabile/p42/keyboard.json1
-rw-r--r--keyboards/panc40/keyboard.json2
-rw-r--r--keyboards/panc60/keyboard.json2
-rw-r--r--keyboards/pangorin/tan67/keyboard.json1
-rw-r--r--keyboards/papercranekeyboards/gerald65/keyboard.json2
-rw-r--r--keyboards/paprikman/albacore/keyboard.json1
-rw-r--r--keyboards/parallel/parallel_65/hotswap/keyboard.json1
-rw-r--r--keyboards/parallel/parallel_65/soldered/keyboard.json1
-rw-r--r--keyboards/pauperboards/brick/keyboard.json2
-rw-r--r--keyboards/pdxkbc/keyboard.json1
-rw-r--r--keyboards/pearl/keyboard.json1
-rw-r--r--keyboards/pearlboards/atlas/keyboard.json1
-rw-r--r--keyboards/pearlboards/pandora/keyboard.json2
-rw-r--r--keyboards/pearlboards/pearl/keyboard.json1
-rw-r--r--keyboards/pearlboards/zeus/keyboard.json1
-rw-r--r--keyboards/pearlboards/zeuspad/keyboard.json2
-rw-r--r--keyboards/peej/lumberjack/keyboard.json1
-rw-r--r--keyboards/peej/tripel/info.json1
-rw-r--r--keyboards/pegasus/keyboard.json2
-rw-r--r--keyboards/percent/booster/keyboard.json1
-rw-r--r--keyboards/percent/canoe/keyboard.json2
-rw-r--r--keyboards/percent/canoe_gen2/keyboard.json1
-rw-r--r--keyboards/percent/skog/keyboard.json2
-rw-r--r--keyboards/percent/skog_lite/keyboard.json2
-rw-r--r--keyboards/phantom/keyboard.json1
-rw-r--r--keyboards/phase_studio/titan65/hotswap/keyboard.json1
-rw-r--r--keyboards/phase_studio/titan65/soldered/keyboard.json1
-rw-r--r--keyboards/phdesign/phac/keyboard.json2
-rw-r--r--keyboards/phentech/rpk_001/keyboard.json1
-rw-r--r--keyboards/phrygian/ph100/keyboard.json1
-rw-r--r--keyboards/piantoruv44/keyboard.json1
-rw-r--r--keyboards/pica40/rev1/keyboard.json1
-rw-r--r--keyboards/pica40/rev2/keyboard.json1
-rw-r--r--keyboards/picolab/frusta_fundamental/keyboard.json1
-rw-r--r--keyboards/pimentoso/paddino02/rev1/keyboard.json2
-rw-r--r--keyboards/pimentoso/paddino02/rev2/left/keyboard.json2
-rw-r--r--keyboards/pimentoso/paddino02/rev2/right/keyboard.json2
-rw-r--r--keyboards/pimentoso/touhoupad/keyboard.json1
-rw-r--r--keyboards/pinky/3/keyboard.json1
-rw-r--r--keyboards/pinky/4/keyboard.json1
-rw-r--r--keyboards/pisces/keyboard.json1
-rw-r--r--keyboards/pixelspace/capsule65i/keyboard.json2
-rw-r--r--keyboards/pixelspace/shadow80/keyboard.json1
-rw-r--r--keyboards/pizzakeyboards/pizza65/keyboard.json1
-rw-r--r--keyboards/pjb/eros/keyboard.json1
-rw-r--r--keyboards/pkb65/keyboard.json2
-rw-r--r--keyboards/planck/keymaps/default/keymap.c4
-rw-r--r--keyboards/planck/rev7/keymaps/default/keymap.c4
-rw-r--r--keyboards/playkbtw/ca66/keyboard.json2
-rw-r--r--keyboards/playkbtw/helen80/keyboard.json2
-rw-r--r--keyboards/playkbtw/pk60/keyboard.json2
-rw-r--r--keyboards/playkbtw/pk64rgb/keyboard.json2
-rw-r--r--keyboards/pluckey/keyboard.json1
-rw-r--r--keyboards/plum47/keyboard.json1
-rw-r--r--keyboards/plume/plume65/keyboard.json2
-rw-r--r--keyboards/plut0nium/0x3e/keyboard.json2
-rw-r--r--keyboards/plx/keyboard.json1
-rw-r--r--keyboards/plywrks/ahgase/keyboard.json2
-rw-r--r--keyboards/plywrks/allaro/keyboard.json4
-rw-r--r--keyboards/plywrks/ji_eun/keyboard.json2
-rw-r--r--keyboards/plywrks/lune/keyboard.json2
-rw-r--r--keyboards/plywrks/ply8x/hotswap/config.h (renamed from keyboards/plywrks/ply8x/config.h)0
-rw-r--r--keyboards/plywrks/ply8x/hotswap/halconf.h (renamed from keyboards/plywrks/ply8x/halconf.h)0
-rw-r--r--keyboards/plywrks/ply8x/hotswap/keyboard.json559
-rw-r--r--keyboards/plywrks/ply8x/hotswap/keymaps/default/keymap.c32
-rw-r--r--keyboards/plywrks/ply8x/hotswap/mcuconf.h (renamed from keyboards/plywrks/ply8x/mcuconf.h)0
-rw-r--r--keyboards/plywrks/ply8x/solder/config.h10
-rw-r--r--keyboards/plywrks/ply8x/solder/halconf.h8
-rw-r--r--keyboards/plywrks/ply8x/solder/keyboard.json (renamed from keyboards/plywrks/ply8x/keyboard.json)496
-rw-r--r--keyboards/plywrks/ply8x/solder/keymaps/default/keymap.c (renamed from keyboards/plywrks/ply8x/keymaps/default/keymap.c)0
-rw-r--r--keyboards/plywrks/ply8x/solder/mcuconf.h9
-rw-r--r--keyboards/pmk/posey_split/v4/keyboard.json1
-rw-r--r--keyboards/pmk/posey_split/v5/keyboard.json1
-rw-r--r--keyboards/pohjolaworks/louhi/keyboard.json1
-rw-r--r--keyboards/poker87c/keyboard.json2
-rw-r--r--keyboards/poker87d/keyboard.json2
-rw-r--r--keyboards/polilla/rev1/keyboard.json2
-rw-r--r--keyboards/polycarbdiet/s20/keyboard.json2
-rw-r--r--keyboards/pom_keyboards/tnln95/keyboard.json1
-rw-r--r--keyboards/portal_66/hotswap/keyboard.json1
-rw-r--r--keyboards/portal_66/soldered/keyboard.json1
-rw-r--r--keyboards/pos78/keyboard.json1
-rw-r--r--keyboards/preonic/rev1/keyboard.json1
-rw-r--r--keyboards/primekb/prime_e/info.json1
-rw-r--r--keyboards/primekb/prime_l/info.json1
-rw-r--r--keyboards/primekb/prime_m/keyboard.json1
-rw-r--r--keyboards/primekb/prime_o/keyboard.json1
-rw-r--r--keyboards/primekb/prime_r/keyboard.json2
-rw-r--r--keyboards/printedpad/keyboard.json2
-rw-r--r--keyboards/program_yoink/ortho/keyboard.json1
-rw-r--r--keyboards/program_yoink/staggered/keyboard.json1
-rw-r--r--keyboards/projectcain/relic/keyboard.json1
-rw-r--r--keyboards/projectcain/vault45/keyboard.json2
-rw-r--r--keyboards/projectd/65/projectd_65_ansi/keyboard.json2
-rw-r--r--keyboards/projectd/75/ansi/keyboard.json2
-rw-r--r--keyboards/projectd/75/iso/keyboard.json2
-rw-r--r--keyboards/projectkb/signature65/keyboard.json1
-rw-r--r--keyboards/projectkb/signature87/keyboard.json1
-rw-r--r--keyboards/prototypist/allison/keyboard.json1
-rw-r--r--keyboards/prototypist/allison_numpad/keyboard.json1
-rw-r--r--keyboards/prototypist/j01/keyboard.json1
-rw-r--r--keyboards/prototypist/oceanographer/keyboard.json3
-rw-r--r--keyboards/prototypist/pt60/keyboard.json2
-rw-r--r--keyboards/prototypist/pt80/keyboard.json2
-rw-r--r--keyboards/protozoa/event_horizon/keyboard.json1
-rw-r--r--keyboards/psuieee/pluto12/keyboard.json1
-rw-r--r--keyboards/pteron36/keyboard.json2
-rw-r--r--keyboards/pteropus/keyboard.json2
-rw-r--r--keyboards/puck/keyboard.json2
-rw-r--r--keyboards/punk75/keyboard.json1
-rw-r--r--keyboards/purin/keyboard.json2
-rw-r--r--keyboards/qck75/v1/keyboard.json2
-rw-r--r--keyboards/qpockets/eggman/keyboard.json2
-rw-r--r--keyboards/qpockets/space_space/rev1/keyboard.json1
-rw-r--r--keyboards/qpockets/space_space/rev2/keyboard.json1
-rw-r--r--keyboards/qpockets/wanten/keyboard.json2
-rw-r--r--keyboards/quad_h/lb75/keyboard.json2
-rw-r--r--keyboards/quadrum/delta/keyboard.json1
-rw-r--r--keyboards/quantrik/kyuu/keyboard.json1
-rw-r--r--keyboards/quarkeys/z40/keyboard.json1
-rw-r--r--keyboards/quarkeys/z60/hotswap/keyboard.json1
-rw-r--r--keyboards/quarkeys/z60/solder/keyboard.json1
-rw-r--r--keyboards/quarkeys/z67/hotswap/keyboard.json1
-rw-r--r--keyboards/quarkeys/z67/solder/keyboard.json1
-rw-r--r--keyboards/qvex/lynepad/keyboard.json1
-rw-r--r--keyboards/qwertlekeys/calice/keyboard.json2
-rw-r--r--keyboards/qwertykeys/qk65/hotswap/keyboard.json2
-rw-r--r--keyboards/qwertykeys/qk65/solder/keyboard.json2
-rw-r--r--keyboards/qwertyydox/rev1/keyboard.json1
-rw-r--r--keyboards/rabbit/rabbit68/keyboard.json1
-rw-r--r--keyboards/rad/keyboard.json1
-rw-r--r--keyboards/rainkeebs/delilah/keyboard.json1
-rw-r--r--keyboards/rainkeebs/rainkeeb/keyboard.json2
-rw-r--r--keyboards/rainkeebs/yasui/keyboard.json1
-rw-r--r--keyboards/ramlord/witf/keyboard.json2
-rw-r--r--keyboards/rart/rart45/keyboard.json2
-rw-r--r--keyboards/rart/rart4x4/keyboard.json2
-rw-r--r--keyboards/rart/rart60/keyboard.json1
-rw-r--r--keyboards/rart/rart67/keyboard.json1
-rw-r--r--keyboards/rart/rart67m/keyboard.json2
-rw-r--r--keyboards/rart/rart75/keyboard.json1
-rw-r--r--keyboards/rart/rart75hs/keyboard.json1
-rw-r--r--keyboards/rart/rart75m/keyboard.json2
-rw-r--r--keyboards/rart/rart80/keyboard.json1
-rw-r--r--keyboards/rart/rartand/keyboard.json2
-rw-r--r--keyboards/rart/rartlice/keyboard.json1
-rw-r--r--keyboards/rart/rartlite/keyboard.json2
-rw-r--r--keyboards/rart/rartpad/keyboard.json2
-rw-r--r--keyboards/rastersoft/minitkl/keyboard.json1
-rw-r--r--keyboards/rate/pistachio/info.json1
-rw-r--r--keyboards/rate/pistachio_mp/keyboard.json2
-rw-r--r--keyboards/rationalist/ratio65_hotswap/rev_a/keyboard.json2
-rw-r--r--keyboards/rationalist/ratio65_solder/rev_a/keyboard.json2
-rw-r--r--keyboards/recompile_keys/cocoa40/keyboard.json1
-rw-r--r--keyboards/recompile_keys/mio/keyboard.json1
-rw-r--r--keyboards/rect44/keyboard.json2
-rw-r--r--keyboards/redox/rev1/info.json2
-rw-r--r--keyboards/redox/wireless/keyboard.json1
-rw-r--r--keyboards/redox_media/keyboard.json1
-rw-r--r--keyboards/redscarf_i/keyboard.json2
-rw-r--r--keyboards/redscarf_iiplus/verb/keyboard.json1
-rw-r--r--keyboards/redscarf_iiplus/verc/keyboard.json1
-rw-r--r--keyboards/redscarf_iiplus/verd/keyboard.json1
-rw-r--r--keyboards/reedskeebs/alish40/keyboard.json4
-rw-r--r--keyboards/relapsekb/or87/keyboard.json1
-rw-r--r--keyboards/retro_75/keyboard.json2
-rw-r--r--keyboards/reversestudio/decadepad/keyboard.json1
-rw-r--r--keyboards/reviung/reviung33/keyboard.json2
-rwxr-xr-xkeyboards/reviung/reviung34/keyboard.json1
-rw-r--r--keyboards/reviung/reviung39/keyboard.json1
-rw-r--r--keyboards/reviung/reviung41/keyboard.json1
-rw-r--r--keyboards/reviung/reviung46/keyboard.json1
-rw-r--r--keyboards/reviung/reviung5/keyboard.json2
-rw-r--r--keyboards/reviung/reviung53/keyboard.json2
-rw-r--r--keyboards/reviung/reviung61/keyboard.json1
-rw-r--r--keyboards/rgbkb/sol/rev1/keyboard.json1
-rw-r--r--keyboards/rgbkb/sol/rev2/keyboard.json1
-rw-r--r--keyboards/rgbkb/sol3/rev1/keyboard.json1
-rw-r--r--keyboards/rgbkb/zen/rev1/keyboard.json1
-rw-r--r--keyboards/rgbkb/zen/rev2/keyboard.json1
-rw-r--r--keyboards/rico/phoenix_project_no1/keyboard.json1
-rw-r--r--keyboards/rmi_kb/aelith/keyboard.json1
-rw-r--r--keyboards/rmi_kb/chevron/keyboard.json1
-rw-r--r--keyboards/rmi_kb/equator/keyboard.json2
-rw-r--r--keyboards/rmi_kb/herringbone/pro/keyboard.json1
-rw-r--r--keyboards/rmi_kb/herringbone/v1/keyboard.json1
-rw-r--r--keyboards/rmi_kb/mona/v1/keyboard.json1
-rw-r--r--keyboards/rmi_kb/mona/v1_1/keyboard.json1
-rw-r--r--keyboards/rmi_kb/mona/v32a/keyboard.json1
-rw-r--r--keyboards/rmi_kb/squishy65/keyboard.json1
-rw-r--r--keyboards/rmi_kb/squishyfrl/keyboard.json2
-rw-r--r--keyboards/rmi_kb/squishytkl/keyboard.json2
-rw-r--r--keyboards/rmi_kb/tkl_ff/info.json2
-rw-r--r--keyboards/rmi_kb/wete/v1/keyboard.json1
-rw-r--r--keyboards/rmi_kb/wete/v2/keyboard.json1
-rw-r--r--keyboards/rmkeebs/rm_fullsize/keyboard.json2
-rw-r--r--keyboards/rmkeebs/rm_numpad/keyboard.json1
-rw-r--r--keyboards/rocketboard_16/keyboard.json1
-rw-r--r--keyboards/rocketboard_16/keycode_lookup.c1
-rw-r--r--keyboards/rominronin/katana60/rev1/keyboard.json1
-rw-r--r--keyboards/rose75/keyboard.json1
-rw-r--r--keyboards/roseslite/keyboard.json1
-rw-r--r--keyboards/rot13labs/h4ckb0ard/keyboard.json1
-rw-r--r--keyboards/rot13labs/rotc0n/keyboard.json2
-rw-r--r--keyboards/rot13labs/veilid_sao/keyboard.json4
-rw-r--r--keyboards/rotr/keyboard.json1
-rw-r--r--keyboards/rpiguy9907/southpaw66/keyboard.json1
-rw-r--r--keyboards/runes/vaengr/keyboard.json1
-rw-r--r--keyboards/ryanbaekr/rb1/keyboard.json2
-rw-r--r--keyboards/ryanbaekr/rb18/keyboard.json2
-rw-r--r--keyboards/ryanbaekr/rb69/keyboard.json2
-rw-r--r--keyboards/ryanbaekr/rb86/keyboard.json1
-rw-r--r--keyboards/ryanbaekr/rb87/keyboard.json2
-rw-r--r--keyboards/ryanskidmore/rskeys100/keyboard.json1
-rw-r--r--keyboards/ryloo_studio/m0110/keyboard.json1
-rw-r--r--keyboards/s_ol/0xc_pad/keyboard.json1
-rw-r--r--keyboards/sakura_workshop/fuji75/info.json1
-rw-r--r--keyboards/salane/ncr80alpsskfl/keyboard.json1
-rw-r--r--keyboards/salane/starryfrl/keyboard.json2
-rw-r--r--keyboards/salicylic_acid3/7splus/keyboard.json1
-rw-r--r--keyboards/salicylic_acid3/ajisai74/keyboard.json1
-rw-r--r--keyboards/salicylic_acid3/ergoarrows/keyboard.json1
-rw-r--r--keyboards/salicylic_acid3/guide68/keyboard.json3
-rw-r--r--keyboards/salicylic_acid3/nafuda/keyboard.json1
-rw-r--r--keyboards/salicylic_acid3/nknl7en/keyboard.json1
-rw-r--r--keyboards/salicylic_acid3/nknl7jp/keyboard.json1
-rw-r--r--keyboards/sam/s80/keyboard.json2
-rw-r--r--keyboards/sam/sg81m/keyboard.json2
-rw-r--r--keyboards/sanctified/dystopia/keyboard.json2
-rw-r--r--keyboards/sandwich/keeb68/keyboard.json2
-rw-r--r--keyboards/sapuseven/macropad12/keyboard.json1
-rw-r--r--keyboards/satt/comet46/keyboard.json1
-rw-r--r--keyboards/satt/vision/keyboard.json1
-rw-r--r--keyboards/sauce/mild/keyboard.json2
-rw-r--r--keyboards/sawnsprojects/amber80/solder/keyboard.json1
-rw-r--r--keyboards/sawnsprojects/bunnygirl65/keyboard.json1
-rw-r--r--keyboards/sawnsprojects/eclipse/eclipse60/keyboard.json4
-rw-r--r--keyboards/sawnsprojects/eclipse/tinyneko/keyboard.json4
-rw-r--r--keyboards/sawnsprojects/krush/krush65/hotswap/keyboard.json1
-rw-r--r--keyboards/sawnsprojects/krush/krush65/solder/keyboard.json1
-rw-r--r--keyboards/sawnsprojects/okayu/info.json1
-rw-r--r--keyboards/sawnsprojects/plaque80/keyboard.json2
-rw-r--r--keyboards/sawnsprojects/re65/keyboard.json2
-rw-r--r--keyboards/sawnsprojects/satxri6key/keyboard.json2
-rw-r--r--keyboards/sawnsprojects/vcl65/solder/keyboard.json1
-rw-r--r--keyboards/scatter42/keyboard.json1
-rw-r--r--keyboards/sck/gtm/keyboard.json1
-rw-r--r--keyboards/sck/neiso/keyboard.json1
-rw-r--r--keyboards/sck/osa/keyboard.json1
-rw-r--r--keyboards/scottokeebs/scotto34/keyboard.json1
-rw-r--r--keyboards/scottokeebs/scotto69/keyboard.json1
-rw-r--r--keyboards/scottokeebs/scottowing/keyboard.json1
-rw-r--r--keyboards/sendyyeah/75pixels/keyboard.json1
-rw-r--r--keyboards/sendyyeah/bevi/keyboard.json1
-rw-r--r--keyboards/sendyyeah/pix/keyboard.json1
-rw-r--r--keyboards/senselessclay/ck60/keyboard.json1
-rw-r--r--keyboards/senselessclay/ck65/keyboard.json1
-rw-r--r--keyboards/senselessclay/gos65/keyboard.json1
-rw-r--r--keyboards/senselessclay/had60/keyboard.json1
-rw-r--r--keyboards/sentraq/s60_x/default/keyboard.json1
-rw-r--r--keyboards/sentraq/s60_x/info.json1
-rw-r--r--keyboards/sentraq/s60_x/rgb/keyboard.json1
-rw-r--r--keyboards/sentraq/s65_plus/keyboard.json2
-rw-r--r--keyboards/sentraq/s65_x/keyboard.json2
-rw-r--r--keyboards/sets3n/kk980/keyboard.json1
-rw-r--r--keyboards/sha/keyboard.json1
-rw-r--r--keyboards/shambles/keyboard.json2
-rw-r--r--keyboards/shandoncodes/flygone60/rev3/keyboard.json1
-rw-r--r--keyboards/shandoncodes/mino/hotswap/keyboard.json1
-rw-r--r--keyboards/shandoncodes/mino_plus/hotswap/keyboard.json2
-rw-r--r--keyboards/shandoncodes/mino_plus/soldered/keyboard.json2
-rw-r--r--keyboards/shandoncodes/riot_pad/keyboard.json2
-rw-r--r--keyboards/sharkoon/skiller_sgk50_s2/keyboard.json2
-rw-r--r--keyboards/sharkoon/skiller_sgk50_s3/keyboard.json2
-rw-r--r--keyboards/sharkoon/skiller_sgk50_s4/keyboard.json2
-rw-r--r--keyboards/shk9/keyboard.json1
-rw-r--r--keyboards/shoc/keyboard.json1
-rw-r--r--keyboards/shorty/keyboard.json1
-rw-r--r--keyboards/shostudio/arc/keyboard.json1
-rw-r--r--keyboards/sidderskb/majbritt/rev1/keyboard.json1
-rw-r--r--keyboards/sidderskb/majbritt/rev2/keyboard.json1
-rw-r--r--keyboards/singa/keyboard.json1
-rw-r--r--keyboards/sirius/uni660/rev1/keyboard.json1
-rw-r--r--keyboards/sirius/uni660/rev2/ansi/keyboard.json1
-rw-r--r--keyboards/sirius/uni660/rev2/iso/keyboard.json1
-rw-r--r--keyboards/sixkeyboard/keyboard.json1
-rw-r--r--keyboards/skeletn87/hotswap/keyboard.json2
-rw-r--r--keyboards/skeletn87/soldered/keyboard.json2
-rw-r--r--keyboards/skeletonkbd/frost68/keyboard.json1
-rw-r--r--keyboards/skeletonkbd/skeletonnumpad/keyboard.json1
-rw-r--r--keyboards/skippys_custom_pcs/roopad/keyboard.json1
-rw-r--r--keyboards/skme/zeno/keyboard.json1
-rw-r--r--keyboards/skmt/15k/keyboard.json1
-rw-r--r--keyboards/skyloong/dt40/keyboard.json1
-rw-r--r--keyboards/skyloong/gk61/pro/keyboard.json1
-rw-r--r--keyboards/skyloong/gk61/pro_48/keyboard.json1
-rw-r--r--keyboards/skyloong/gk61/v1/keyboard.json1
-rw-r--r--keyboards/skyloong/qk21/v1/keyboard.json1
-rw-r--r--keyboards/slz40/keyboard.json1
-rw-r--r--keyboards/smallkeyboard/keyboard.json1
-rw-r--r--keyboards/smithrune/iron160/iron160_h/keyboard.json1
-rw-r--r--keyboards/smithrune/iron160/iron160_s/keyboard.json1
-rw-r--r--keyboards/smithrune/iron165r2/info.json1
-rw-r--r--keyboards/smithrune/iron180/keyboard.json1
-rw-r--r--keyboards/smithrune/iron180v2/v2h/keyboard.json2
-rw-r--r--keyboards/smithrune/iron180v2/v2s/keyboard.json2
-rw-r--r--keyboards/smithrune/magnus/m75h/keyboard.json2
-rw-r--r--keyboards/smithrune/magnus/m75s/keyboard.json2
-rw-r--r--keyboards/smk60/keyboard.json2
-rw-r--r--keyboards/smoll/lefty/info.json1
-rw-r--r--keyboards/snampad/keyboard.json1
-rw-r--r--keyboards/sneakbox/aliceclone/keyboard.json1
-rw-r--r--keyboards/sneakbox/aliceclonergb/keyboard.json1
-rw-r--r--keyboards/sneakbox/ava/keyboard.json1
-rw-r--r--keyboards/sneakbox/disarray/ortho/keyboard.json1
-rw-r--r--keyboards/sneakbox/disarray/staggered/keyboard.json1
-rw-r--r--keyboards/snes_macropad/keyboard.json1
-rw-r--r--keyboards/soda/cherish/keyboard.json1
-rw-r--r--keyboards/sofle/keyhive/keyboard.json1
-rw-r--r--keyboards/sofle/keyhive/readme.md54
-rw-r--r--keyboards/sofle/keymaps/rgb_default/config.h124
-rw-r--r--keyboards/sofle/keymaps/rgb_default/keymap.c559
-rw-r--r--keyboards/sofle/keymaps/rgb_default/rules.mk7
-rw-r--r--keyboards/sofle/readme.md25
-rw-r--r--keyboards/sofle/rev1/readme.md27
-rw-r--r--keyboards/soup10/keyboard.json1
-rw-r--r--keyboards/sowbug/68keys/keyboard.json1
-rw-r--r--keyboards/sowbug/ansi_tkl/keyboard.json1
-rw-r--r--keyboards/soy20/keyboard.json2
-rwxr-xr-xkeyboards/spaceholdings/nebula12/keyboard.json1
-rwxr-xr-xkeyboards/spaceholdings/nebula12b/keyboard.json2
-rwxr-xr-xkeyboards/spaceholdings/nebula68/keyboard.json1
-rw-r--r--keyboards/spaceholdings/nebula68b/info.json2
-rw-r--r--keyboards/spaceman/2_milk/keyboard.json1
-rw-r--r--keyboards/spaceman/pancake/rev1/info.json1
-rw-r--r--keyboards/spaceman/pancake/rev2/keyboard.json1
-rw-r--r--keyboards/spaceman/yun65/keyboard.json1
-rw-r--r--keyboards/sparrow62/keyboard.json1
-rw-r--r--keyboards/specskeys/keyboard.json1
-rw-r--r--keyboards/spiderisland/split78/keyboard.json1
-rw-r--r--keyboards/split67/keyboard.json1
-rw-r--r--keyboards/splitish/keyboard.json2
-rwxr-xr-xkeyboards/splitkb/halcyon/kyria/rev4/keyboard.json3
-rw-r--r--keyboards/splitography/keyboard.json1
-rw-r--r--keyboards/splitography/keymaps/default/keymap.c4
-rw-r--r--keyboards/splitography/keymaps/default_with_ctl_shft_alt_switched/keymap.c4
-rw-r--r--keyboards/splitography/keymaps/dvorak/keymap.c4
-rw-r--r--keyboards/sporewoh/banime40/keyboard.json1
-rw-r--r--keyboards/star75/keyboard.json1
-rw-r--r--keyboards/stello65/beta/keyboard.json2
-rw-r--r--keyboards/stello65/hs_rev1/keyboard.json2
-rw-r--r--keyboards/stello65/sl_rev1/keyboard.json2
-rw-r--r--keyboards/stenokeyboards/the_uni/pro_micro/keyboard.json1
-rw-r--r--keyboards/stenokeyboards/the_uni/rp_2040/keyboard.json1
-rw-r--r--keyboards/stenokeyboards/the_uni/usb_c/keyboard.json1
-rw-r--r--keyboards/sthlmkb/lagom/keyboard.json1
-rw-r--r--keyboards/sthlmkb/litl/keyboard.json1
-rw-r--r--keyboards/stratos/keyboard.json2
-rw-r--r--keyboards/strech/soulstone/keyboard.json1
-rw-r--r--keyboards/stront/keyboard.json1
-rw-r--r--keyboards/studiokestra/bourgeau/keyboard.json1
-rw-r--r--keyboards/studiokestra/cascade/keyboard.json1
-rw-r--r--keyboards/studiokestra/fairholme/keyboard.json1
-rw-r--r--keyboards/studiokestra/frl84/keyboard.json2
-rw-r--r--keyboards/studiokestra/galatea/rev1/keyboard.json2
-rw-r--r--keyboards/studiokestra/galatea/rev2/keyboard.json3
-rw-r--r--keyboards/studiokestra/galatea/rev3/keyboard.json3
-rw-r--r--keyboards/studiokestra/line_friends_tkl/keyboard.json1
-rwxr-xr-xkeyboards/suavity/ehan/keyboard.json1
-rw-r--r--keyboards/subatomic/keyboard.json2
-rw-r--r--keyboards/subrezon/la_nc/keyboard.json1
-rw-r--r--keyboards/subrezon/lancer/keyboard.json1
-rw-r--r--keyboards/suikagiken/suika15tone/keyboard.json1
-rw-r--r--keyboards/suikagiken/suika27melo/keyboard.json1
-rw-r--r--keyboards/suikagiken/suika83opti/keyboard.json1
-rw-r--r--keyboards/suikagiken/suika85ergo/keyboard.json1
-rw-r--r--keyboards/supersplit/keyboard.json1
-rw-r--r--keyboards/superuser/ext/keyboard.json2
-rw-r--r--keyboards/superuser/frl/keyboard.json2
-rw-r--r--keyboards/superuser/tkl/keyboard.json2
-rw-r--r--keyboards/swiftrax/retropad/keyboard.json1
-rw-r--r--keyboards/swiss/keyboard.json2
-rw-r--r--keyboards/switchplate/southpaw_fullsize/keyboard.json2
-rw-r--r--keyboards/switchplate/switchplate910/keyboard.json2
-rw-r--r--keyboards/sx60/keyboard.json1
-rw-r--r--keyboards/synthandkeys/bento_box/keyboard.json2
-rw-r--r--keyboards/synthandkeys/the_debit_card/keyboard.json2
-rw-r--r--keyboards/synthlabs/060/keyboard.json1
-rw-r--r--keyboards/synthlabs/065/keyboard.json1
-rw-r--r--keyboards/synthlabs/solo/keyboard.json1
-rw-r--r--keyboards/system76/launch_1/keyboard.json4
-rw-r--r--keyboards/system76/launch_1/launch_1.c3
-rw-r--r--keyboards/tacworks/tac_k1/keyboard.json1
-rw-r--r--keyboards/tada68/keyboard.json1
-rw-r--r--keyboards/takashicompany/baumkuchen/keyboard.json2
-rw-r--r--keyboards/takashicompany/center_enter/keyboard.json2
-rw-r--r--keyboards/takashicompany/ejectix/keyboard.json2
-rw-r--r--keyboards/takashicompany/endzone34/keyboard.json1
-rw-r--r--keyboards/takashicompany/ergomirage/keyboard.json2
-rw-r--r--keyboards/takashicompany/goat51/keyboard.json3
-rw-r--r--keyboards/takashicompany/jourkey/keyboard.json2
-rw-r--r--keyboards/takashicompany/klec_01/keyboard.json2
-rw-r--r--keyboards/takashicompany/klec_02/keyboard.json2
-rw-r--r--keyboards/takashicompany/minidivide/keyboard.json2
-rw-r--r--keyboards/takashicompany/minidivide_max/keyboard.json2
-rw-r--r--keyboards/takashicompany/palmslave/keyboard.json2
-rw-r--r--keyboards/takashicompany/qoolee/keyboard.json1
-rw-r--r--keyboards/takashicompany/radialex/keyboard.json1
-rw-r--r--keyboards/takashicompany/rookey/keyboard.json1
-rw-r--r--keyboards/takashicompany/spreadwriter/keyboard.json2
-rw-r--r--keyboards/takashicompany/tightwriter/keyboard.json2
-rw-r--r--keyboards/takashiski/otaku_split/rev0/keyboard.json1
-rw-r--r--keyboards/taleguers/taleguers75/keyboard.json2
-rw-r--r--keyboards/tanuki/keyboard.json2
-rw-r--r--keyboards/tau4/keyboard.json1
-rw-r--r--keyboards/teahouse/ayleen/keyboard.json1
-rw-r--r--keyboards/team0110/p1800fl/keyboard.json1
-rw-r--r--keyboards/technika/keyboard.json1
-rw-r--r--keyboards/teleport/native/board.h8
-rw-r--r--keyboards/teleport/native/config.h3
-rw-r--r--keyboards/teleport/native/info.json1
-rw-r--r--keyboards/teleport/numpad/keyboard.json1
-rw-r--r--keyboards/teleport/tkl/keyboard.json1
-rw-r--r--keyboards/telophase/keyboard.json1
-rw-r--r--keyboards/tempo_turtle/bradpad/keyboard.json1
-rw-r--r--keyboards/tender/macrowo_pad/keyboard.json1
-rw-r--r--keyboards/tenki/keyboard.json1
-rw-r--r--keyboards/terrazzo/keyboard.json2
-rw-r--r--keyboards/tetris/keyboard.json2
-rw-r--r--keyboards/tg4x/keyboard.json2
-rw-r--r--keyboards/tg67/keyboard.json1
-rw-r--r--keyboards/tgr/910/keyboard.json2
-rw-r--r--keyboards/tgr/910ce/keyboard.json2
-rw-r--r--keyboards/tgr/alice/keyboard.json2
-rw-r--r--keyboards/tgr/jane/v2/keyboard.json2
-rw-r--r--keyboards/tgr/jane/v2ce/keyboard.json2
-rw-r--r--keyboards/tgr/tris/keyboard.json2
-rw-r--r--keyboards/the_royal/liminal/keyboard.json2
-rw-r--r--keyboards/the_royal/schwann/keyboard.json1
-rw-r--r--keyboards/themadnoodle/ncc1701kb/v2/keyboard.json1
-rw-r--r--keyboards/themadnoodle/noodlepad/info.json1
-rw-r--r--keyboards/themadnoodle/noodlepad_micro/keyboard.json1
-rw-r--r--keyboards/themadnoodle/udon13/keyboard.json1
-rw-r--r--keyboards/theone/keyboard.json1
-rw-r--r--keyboards/thepanduuh/degenpad/keyboard.json1
-rw-r--r--keyboards/thevankeyboards/bananasplit/keyboard.json1
-rw-r--r--keyboards/thevankeyboards/caravan/keyboard.json1
-rw-r--r--keyboards/thevankeyboards/jetvan/keyboard.json2
-rw-r--r--keyboards/thevankeyboards/minivan/keyboard.json2
-rw-r--r--keyboards/thevankeyboards/roadkit/keyboard.json2
-rw-r--r--keyboards/tkc/california/keyboard.json2
-rw-r--r--keyboards/tkc/candybar/lefty/keyboard.json2
-rw-r--r--keyboards/tkc/candybar/lefty_r3/keyboard.json2
-rw-r--r--keyboards/tkc/candybar/righty/keyboard.json2
-rw-r--r--keyboards/tkc/candybar/righty_r3/keyboard.json2
-rw-r--r--keyboards/tkc/godspeed75/keyboard.json2
-rw-r--r--keyboards/tkc/m0lly/keyboard.json1
-rw-r--r--keyboards/tkc/osav2/keyboard.json1
-rw-r--r--keyboards/tkc/portico/keyboard.json1
-rw-r--r--keyboards/tkc/portico68v2/keyboard.json2
-rw-r--r--keyboards/tkc/portico75/keyboard.json1
-rw-r--r--keyboards/tkc/tkc1800/keyboard.json2
-rw-r--r--keyboards/tkc/tkl_ab87/keyboard.json2
-rw-r--r--keyboards/tmo50/keyboard.json2
-rw-r--r--keyboards/toad/keyboard.json2
-rw-r--r--keyboards/toffee_studio/blueberry/keyboard.json2
-rw-r--r--keyboards/tokyokeyboard/alix40/config.h18
-rw-r--r--keyboards/tokyokeyboard/tokyo60/keyboard.json1
-rw-r--r--keyboards/tominabox1/adalyn/keyboard.json1
-rw-r--r--keyboards/tominabox1/bigboy/keyboard.json2
-rw-r--r--keyboards/tominabox1/le_chiffre/info.json1
-rw-r--r--keyboards/tominabox1/littlefoot_lx/rev1/keyboard.json1
-rw-r--r--keyboards/tominabox1/littlefoot_lx/rev2/keyboard.json1
-rw-r--r--keyboards/tominabox1/qaz/keyboard.json2
-rw-r--r--keyboards/tominabox1/underscore33/rev1/keyboard.json1
-rw-r--r--keyboards/tominabox1/underscore33/rev2/keyboard.json1
-rw-r--r--keyboards/touchpad/keyboard.json1
-rw-r--r--keyboards/tr60w/keyboard.json2
-rw-r--r--keyboards/trainpad/keyboard.json2
-rw-r--r--keyboards/trashman/ketch/keyboard.json1
-rw-r--r--keyboards/treasure/type9/keyboard.json1
-rw-r--r--keyboards/treasure/type9s2/keyboard.json1
-rw-r--r--keyboards/treasure/type9s3/keyboard.json2
-rw-r--r--keyboards/trkeyboards/trk1/keyboard.json1
-rw-r--r--keyboards/trnthsn/e8ghty/info.json2
-rw-r--r--keyboards/trnthsn/e8ghtyneo/info.json2
-rw-r--r--keyboards/trnthsn/s6xty/keyboard.json2
-rw-r--r--keyboards/trnthsn/s6xty5neor2/info.json2
-rw-r--r--keyboards/trojan_pinata/model_b/rev0/keyboard.json1
-rw-r--r--keyboards/tunks/ergo33/keyboard.json1
-rw-r--r--keyboards/tweetydabird/lbs4/keyboard.json4
-rw-r--r--keyboards/tweetydabird/lbs6/keyboard.json4
-rw-r--r--keyboards/tweetydabird/lotus58/info.json1
-rw-r--r--keyboards/ubest/vn/keyboard.json2
-rw-r--r--keyboards/uk78/keyboard.json2
-rw-r--r--keyboards/ungodly/nines/keyboard.json1
-rw-r--r--keyboards/unicomp/classic_ultracl_post_2013/overnumpad_1xb/board.h8
-rw-r--r--keyboards/unicomp/classic_ultracl_post_2013/overnumpad_1xb/config.h2
-rw-r--r--keyboards/unicomp/classic_ultracl_pre_2013/overnumpad_1xb/board.h8
-rw-r--r--keyboards/unicomp/classic_ultracl_pre_2013/overnumpad_1xb/config.h2
-rw-r--r--keyboards/unicomp/pc122/overnumpad_1xb/board.h8
-rw-r--r--keyboards/unicomp/pc122/overnumpad_1xb/config.h2
-rw-r--r--keyboards/unicomp/spacesaver_m_post_2013/overnumpad_1xb/board.h8
-rw-r--r--keyboards/unicomp/spacesaver_m_post_2013/overnumpad_1xb/config.h2
-rw-r--r--keyboards/unicomp/spacesaver_m_pre_2013/overnumpad_1xb/board.h8
-rw-r--r--keyboards/unicomp/spacesaver_m_pre_2013/overnumpad_1xb/config.h2
-rw-r--r--keyboards/unikeyboard/diverge3/keyboard.json2
-rw-r--r--keyboards/unikeyboard/divergetm2/keyboard.json2
-rw-r--r--keyboards/unikeyboard/felix/keyboard.json2
-rw-r--r--keyboards/unikorn/keyboard.json2
-rw-r--r--keyboards/uranuma/keyboard.json1
-rw-r--r--keyboards/utd80/keyboard.json2
-rw-r--r--keyboards/v60_type_r/keyboard.json2
-rw-r--r--keyboards/vagrant_10/keyboard.json1
-rw-r--r--keyboards/vertex/angle65/keyboard.json1
-rw-r--r--keyboards/vertex/angler2/keyboard.json1
-rw-r--r--keyboards/vertex/arc60/keyboard.json1
-rw-r--r--keyboards/vertex/arc60h/keyboard.json1
-rw-r--r--keyboards/vertex/cycle7/keyboard.json1
-rw-r--r--keyboards/vertex/cycle8/keyboard.json2
-rw-r--r--keyboards/viendi8l/keyboard.json1
-rw-r--r--keyboards/viktus/at101_bh/keyboard.json1
-rw-r--r--keyboards/viktus/minne/keyboard.json1
-rw-r--r--keyboards/viktus/minne_topre/keyboard.json1
-rw-r--r--keyboards/viktus/omnikey_bh/keyboard.json2
-rw-r--r--keyboards/viktus/osav2/keyboard.json1
-rw-r--r--keyboards/viktus/osav2_numpad/keyboard.json1
-rw-r--r--keyboards/viktus/osav2_numpad_topre/keyboard.json1
-rw-r--r--keyboards/viktus/osav2_topre/keyboard.json1
-rw-r--r--keyboards/viktus/smolka/keyboard.json2
-rw-r--r--keyboards/viktus/sp111_v2/keyboard.json1
-rw-r--r--keyboards/viktus/sp_mini/keyboard.json2
-rw-r--r--keyboards/viktus/styrka/keyboard.json1
-rw-r--r--keyboards/viktus/styrka_topre/keyboard.json1
-rw-r--r--keyboards/viktus/vkr94/keyboard.json2
-rw-r--r--keyboards/viktus/z150_bh/keyboard.json2
-rw-r--r--keyboards/vinhcatba/uncertainty/keyboard.json3
-rw-r--r--keyboards/vitamins_included/info.json2
-rw-r--r--keyboards/vitamins_included/rev2/rev2.c2
-rw-r--r--keyboards/void/voidhhkb_hotswap/keyboard.json2
-rw-r--r--keyboards/vt40/keyboard.json1
-rw-r--r--keyboards/walletburner/cajal/keyboard.json1
-rw-r--r--keyboards/walletburner/neuron/keyboard.json1
-rw-r--r--keyboards/waterfowl/keyboard.json1
-rw-r--r--keyboards/wavtype/foundation/keyboard.json2
-rw-r--r--keyboards/wavtype/p01_ultra/keyboard.json2
-rw-r--r--keyboards/weirdo/geminate60/keyboard.json2
-rw-r--r--keyboards/weirdo/kelowna/rgb64/keyboard.json2
-rw-r--r--keyboards/weirdo/ls_60/keyboard.json2
-rw-r--r--keyboards/weirdo/naiping/np64/keyboard.json2
-rw-r--r--keyboards/weirdo/naiping/nphhkb/keyboard.json2
-rw-r--r--keyboards/weirdo/naiping/npminila/keyboard.json2
-rw-r--r--keyboards/weirdo/tiger910/keyboard.json1
-rw-r--r--keyboards/wekey/polaris/keyboard.json2
-rw-r--r--keyboards/wekey/we27/keyboard.json1
-rw-r--r--keyboards/werk_technica/one/board.h8
-rw-r--r--keyboards/werk_technica/one/config.h7
-rw-r--r--keyboards/werk_technica/one/keyboard.json1
-rw-r--r--keyboards/westfoxtrot/aanzee/keyboard.json2
-rw-r--r--keyboards/westfoxtrot/cyclops/keyboard.json2
-rw-r--r--keyboards/westfoxtrot/cypher/rev1/keyboard.json1
-rw-r--r--keyboards/westfoxtrot/cypher/rev5/keyboard.json1
-rw-r--r--keyboards/westfoxtrot/prophet/keyboard.json2
-rw-r--r--keyboards/wilba_tech/rama_works_m10_b/keyboard.json1
-rw-r--r--keyboards/wilba_tech/rama_works_m50_ax/keyboard.json1
-rw-r--r--keyboards/wilba_tech/wt60_g/keyboard.json1
-rw-r--r--keyboards/wilba_tech/wt60_g2/keyboard.json1
-rw-r--r--keyboards/wilba_tech/wt60_h1/keyboard.json1
-rw-r--r--keyboards/wilba_tech/wt60_h2/keyboard.json1
-rw-r--r--keyboards/wilba_tech/wt60_h3/keyboard.json1
-rw-r--r--keyboards/wilba_tech/wt60_xt/keyboard.json1
-rw-r--r--keyboards/wilba_tech/wt65_d/keyboard.json1
-rw-r--r--keyboards/wilba_tech/wt65_f/keyboard.json1
-rw-r--r--keyboards/wilba_tech/wt65_fx/keyboard.json1
-rw-r--r--keyboards/wilba_tech/wt65_g/keyboard.json1
-rw-r--r--keyboards/wilba_tech/wt65_g2/keyboard.json1
-rw-r--r--keyboards/wilba_tech/wt65_h1/keyboard.json1
-rw-r--r--keyboards/wilba_tech/wt65_xt/keyboard.json1
-rw-r--r--keyboards/wilba_tech/wt65_xtx/keyboard.json1
-rw-r--r--keyboards/wilba_tech/wt70_jb/keyboard.json1
-rw-r--r--keyboards/wilba_tech/wt80_g/keyboard.json1
-rw-r--r--keyboards/wilba_tech/wt_main.c59
-rw-r--r--keyboards/wilba_tech/wt_mono_backlight.c2
-rw-r--r--keyboards/wilba_tech/wt_rgb_backlight.c2
-rw-r--r--keyboards/willoucom/keypad/keyboard.json1
-rw-r--r--keyboards/windstudio/wind_x/r1/keyboard.json1
-rw-r--r--keyboards/winkeyless/b87/keyboard.json2
-rw-r--r--keyboards/winkeyless/bface/keyboard.json2
-rw-r--r--keyboards/winkeyless/bmini/keyboard.json2
-rw-r--r--keyboards/winkeyless/bminiex/keyboard.json1
-rw-r--r--keyboards/winkeys/mini_winni/keyboard.json1
-rw-r--r--keyboards/winry/winry25tc/keyboard.json2
-rw-r--r--keyboards/winry/winry315/keyboard.json2
-rw-r--r--keyboards/wolf/frogpad/keyboard.json1
-rw-r--r--keyboards/wolf/kuku65/keyboard.json1
-rw-r--r--keyboards/wolf/m60_b/keyboard.json2
-rw-r--r--keyboards/wolf/m6_c/keyboard.json2
-rw-r--r--keyboards/wolf/neely65/keyboard.json2
-rw-r--r--keyboards/wolf/ryujin/keyboard.json1
-rw-r--r--keyboards/wolf/sabre/keyboard.json1
-rw-r--r--keyboards/wolf/silhouette/keyboard.json2
-rw-r--r--keyboards/wolf/twilight/keyboard.json2
-rw-r--r--keyboards/wolf/ziggurat/keyboard.json2
-rw-r--r--keyboards/wolfmarkclub/wm1/keyboard.json1
-rw-r--r--keyboards/woodkeys/bigseries/1key/keyboard.json1
-rw-r--r--keyboards/woodkeys/bigseries/2key/keyboard.json1
-rw-r--r--keyboards/woodkeys/bigseries/3key/keyboard.json1
-rw-r--r--keyboards/woodkeys/bigseries/4key/keyboard.json1
-rw-r--r--keyboards/woodkeys/meira/info.json1
-rw-r--r--keyboards/woodkeys/scarletbandana/keyboard.json2
-rw-r--r--keyboards/work_louder/micro/keyboard.json2
-rw-r--r--keyboards/work_louder/numpad/keyboard.json2
-rw-r--r--keyboards/wsk/alpha9/keyboard.json2
-rw-r--r--keyboards/wsk/g4m3ralpha/keyboard.json2
-rw-r--r--keyboards/wsk/houndstooth/keyboard.json1
-rw-r--r--keyboards/wsk/jerkin/keyboard.json1
-rw-r--r--keyboards/wsk/kodachi50/keyboard.json1
-rw-r--r--keyboards/wsk/pain27/keyboard.json1
-rw-r--r--keyboards/wsk/sl40/keyboard.json1
-rw-r--r--keyboards/wsk/tkl30/keyboard.json1
-rw-r--r--keyboards/wuque/creek70/keyboard.json1
-rw-r--r--keyboards/wuque/ikki68/keyboard.json1
-rw-r--r--keyboards/wuque/nemui65/keyboard.json1
-rw-r--r--keyboards/wuque/tata80/wk/keyboard.json1
-rw-r--r--keyboards/wuque/tata80/wkl/keyboard.json1
-rw-r--r--keyboards/x16/keyboard.json2
-rw-r--r--keyboards/xbows/knight/keyboard.json2
-rw-r--r--keyboards/xbows/knight_plus/keyboard.json2
-rw-r--r--keyboards/xbows/nature/keyboard.json2
-rw-r--r--keyboards/xbows/numpad/keyboard.json2
-rw-r--r--keyboards/xbows/ranger/keyboard.json2
-rw-r--r--keyboards/xbows/woody/keyboard.json1
-rw-r--r--keyboards/xelus/dawn60/info.json1
-rw-r--r--keyboards/xelus/dharma/keyboard.json2
-rw-r--r--keyboards/xelus/la_plus/keyboard.json1
-rw-r--r--keyboards/xelus/la_plus/rgb_matrix_kb.inc2
-rw-r--r--keyboards/xelus/ninjin/keyboard.json1
-rw-r--r--keyboards/xelus/pachi/mini_32u4/keyboard.json2
-rw-r--r--keyboards/xelus/pachi/rev1/keyboard.json2
-rw-r--r--keyboards/xelus/pachi/rgb/rev1/keyboard.json1
-rw-r--r--keyboards/xelus/pachi/rgb/rev2/keyboard.json1
-rw-r--r--keyboards/xelus/rs108/board.h8
-rw-r--r--keyboards/xelus/rs108/config.h3
-rw-r--r--keyboards/xelus/rs108/keyboard.json1
-rw-r--r--keyboards/xelus/rs60/info.json1
-rw-r--r--keyboards/xelus/rs60/rev2_0/board.h8
-rw-r--r--keyboards/xelus/rs60/rev2_0/config.h3
-rw-r--r--keyboards/xelus/snap96/keyboard.json2
-rw-r--r--keyboards/xelus/trinityxttkl/keyboard.json1
-rw-r--r--keyboards/xelus/valor/rev1/keyboard.json2
-rw-r--r--keyboards/xelus/valor/rev2/keyboard.json1
-rw-r--r--keyboards/xelus/valor/rev3/keyboard.json1
-rw-r--r--keyboards/xelus/valor_frl_tkl/info.json1
-rw-r--r--keyboards/xelus/valor_frl_tkl/rev2_0/board.h8
-rw-r--r--keyboards/xelus/valor_frl_tkl/rev2_0/keyboard.json1
-rw-r--r--keyboards/xelus/valor_frl_tkl/rev2_1/board.h8
-rw-r--r--keyboards/xelus/valor_frl_tkl/rev2_1/keyboard.json1
-rw-r--r--keyboards/xelus/xs108/keyboard.json1
-rw-r--r--keyboards/xelus/xs60/hotswap/keyboard.json1
-rw-r--r--keyboards/xelus/xs60/soldered/keyboard.json1
-rw-r--r--keyboards/xiaomi/mk02/keyboard.json1
-rw-r--r--keyboards/xiudi/xd004/v1/keyboard.json1
-rw-r--r--keyboards/xiudi/xd60/rev2/keyboard.json1
-rw-r--r--keyboards/xiudi/xd60/rev3/keyboard.json1
-rw-r--r--keyboards/xiudi/xd68/keyboard.json2
-rw-r--r--keyboards/xiudi/xd75/keyboard.json2
-rw-r--r--keyboards/xiudi/xd84/keyboard.json1
-rw-r--r--keyboards/xiudi/xd84pro/keyboard.json2
-rw-r--r--keyboards/xiudi/xd96/keyboard.json1
-rw-r--r--keyboards/xmmx/keyboard.json2
-rw-r--r--keyboards/xw60/keyboard.json1
-rw-r--r--keyboards/yampad/keyboard.json1
-rw-r--r--keyboards/yandrstudio/nz64/keyboard.json1
-rw-r--r--keyboards/yandrstudio/zhou65/keyboard.json1
-rw-r--r--keyboards/yatara/drink_me/keyboard.json1
-rw-r--r--keyboards/ydkb/chili/keyboard.json2
-rw-r--r--keyboards/ydkb/just60/keyboard.json1
-rw-r--r--keyboards/ydkb/yd68/keyboard.json2
-rw-r--r--keyboards/ydkb/ydpm40/keyboard.json2
-rw-r--r--keyboards/yeehaw/keyboard.json1
-rw-r--r--keyboards/ymdk/bface/keyboard.json2
-rw-r--r--keyboards/ymdk/id75/f103/keyboard.json1
-rw-r--r--keyboards/ymdk/id75/info.json2
-rw-r--r--keyboards/ymdk/id75/readme.md4
-rw-r--r--keyboards/ymdk/id75/rp2040/config.h (renamed from keyboards/sofle/keyhive/config.h)9
-rw-r--r--keyboards/ymdk/id75/rp2040/keyboard.json12
-rw-r--r--keyboards/ymdk/melody96/hotswap/keyboard.json2
-rw-r--r--keyboards/ymdk/melody96/soldered/keyboard.json1
-rw-r--r--keyboards/ymdk/np21/keyboard.json1
-rw-r--r--keyboards/ymdk/np24/u4rgb6/keyboard.json1
-rw-r--r--keyboards/ymdk/sp64/keyboard.json1
-rw-r--r--keyboards/ymdk/wings/keyboard.json1
-rw-r--r--keyboards/ymdk/wingshs/keyboard.json1
-rw-r--r--keyboards/ymdk/yd60mq/info.json2
-rw-r--r--keyboards/ymdk/ym68/keyboard.json2
-rw-r--r--keyboards/ymdk/ymd09/keyboard.json1
-rw-r--r--keyboards/ymdk/ymd21/v2/keyboard.json2
-rw-r--r--keyboards/ymdk/ymd40/air40/keyboard.json1
-rw-r--r--keyboards/ymdk/ymd40/v2/keyboard.json1
-rw-r--r--keyboards/ymdk/ymd67/keyboard.json1
-rw-r--r--keyboards/ymdk/ymd75/rev1/keyboard.json2
-rw-r--r--keyboards/ymdk/ymd75/rev2/keyboard.json2
-rw-r--r--keyboards/ymdk/ymd75/rev3/keyboard.json2
-rw-r--r--keyboards/ymdk/ymd75/rev4/iso/keyboard.json2
-rw-r--r--keyboards/ymdk/ymd96/keyboard.json2
-rw-r--r--keyboards/yncognito/batpad/keyboard.json2
-rw-r--r--keyboards/yoichiro/lunakey_macro/keyboard.json2
-rw-r--r--keyboards/yoichiro/lunakey_mini/keyboard.json1
-rw-r--r--keyboards/yoichiro/lunakey_pico/keyboard.json5
-rw-r--r--keyboards/yushakobo/ergo68/keyboard.json1
-rw-r--r--keyboards/yushakobo/navpad/10_helix_r/keyboard.json1
-rw-r--r--keyboards/yushakobo/quick7/keyboard.json1
-rw-r--r--keyboards/yynmt/dozen0/keyboard.json1
-rw-r--r--keyboards/zeix/eden/keyboard.json1
-rw-r--r--keyboards/zeix/qwertyqop60hs/keyboard.json1
-rw-r--r--keyboards/zicodia/tklfrlnrlmlao/keyboard.json1
-rw-r--r--keyboards/ziggurat/keyboard.json2
-rw-r--r--keyboards/zigotica/z12/keyboard.json1
-rw-r--r--keyboards/ziptyze/lets_split_v3/keyboard.json1
-rw-r--r--keyboards/zj68/keyboard.json1
-rw-r--r--keyboards/zlant/keyboard.json1
-rw-r--r--keyboards/zoo/wampus/keyboard.json1
-rw-r--r--keyboards/zos/65s/keyboard.json1
-rw-r--r--keyboards/zsa/moonlander/matrix.c2
-rw-r--r--keyboards/ztboards/after/keyboard.json1
-rw-r--r--keyboards/ztboards/noon/keyboard.json1
-rw-r--r--keyboards/zvecr/split_blackpill/keyboard.json1
-rw-r--r--keyboards/zvecr/zv48/info.json1
-rw-r--r--keyboards/zwag/zwag75/keyboard.json2
-rw-r--r--keyboards/zwerg/keyboard.json1
-rw-r--r--keyboards/zykrah/fuyu/keyboard.json1
-rw-r--r--keyboards/zykrah/slime88/keyboard.json1
-rw-r--r--layouts/community/75_ansi/layout.json2
-rw-r--r--layouts/community/ortho_1x4/layout.json2
-rw-r--r--layouts/community/ortho_4x12/layout.json2
-rw-r--r--layouts/default/60_ansi_arrow/layout.json2
-rw-r--r--layouts/default/ortho_5x5/readme.md2
m---------lib/pico-sdk0
-rw-r--r--lib/python/qmk/cli/__init__.py3
-rw-r--r--lib/python/qmk/cli/generate/community_modules.py65
-rw-r--r--lib/python/qmk/cli/generate/keycodes_tests.py39
-rwxr-xr-xlib/python/qmk/cli/generate/rules_mk.py34
-rw-r--r--lib/python/qmk/cli/lint.py13
-rwxr-xr-xlib/python/qmk/cli/new/keymap.py56
-rw-r--r--lib/python/qmk/info.py16
-rwxr-xr-xlib/python/qmk/json_encoders.py8
-rw-r--r--lib/python/qmk/keymap.py11
-rw-r--r--modules/qmk/hello_world/qmk_module.json1
-rw-r--r--modules/qmk/super_alt_tab/qmk_module.json1
-rw-r--r--platforms/avr/drivers/i2c_master.c2
-rw-r--r--platforms/chibios/boards/BONSAI_C4/configs/board.h2
-rw-r--r--platforms/chibios/boards/BONSAI_C4/configs/config.h2
-rw-r--r--platforms/chibios/boards/BONSAI_C4/configs/halconf.h2
-rw-r--r--platforms/chibios/boards/GENERIC_STM32_F405XG/board/board.mk2
-rw-r--r--platforms/chibios/boards/GENERIC_STM32_F407XE/board/board.mk2
-rw-r--r--platforms/chibios/boards/GENERIC_STM32_F407XE/configs/board.h2
-rw-r--r--platforms/chibios/boards/GENERIC_STM32_G474XE/configs/config.h2
-rw-r--r--platforms/chibios/boards/GENERIC_WB32_F3G71XX/configs/chconf.h2
-rw-r--r--platforms/chibios/boards/GENERIC_WB32_FQ95XX/configs/chconf.h2
-rw-r--r--platforms/chibios/boards/SIPEED_LONGAN_NANO/configs/chconf.h2
-rw-r--r--platforms/chibios/bootloaders/stm32duino.c2
-rw-r--r--platforms/chibios/converters/promicro_to_bonsai_c4/_pin_defs.h2
-rw-r--r--platforms/chibios/converters/promicro_to_bonsai_c4/post_converter.mk2
-rw-r--r--platforms/chibios/drivers/i2c_master.c2
-rw-r--r--platforms/chibios/drivers/usbpd_stm32g4.c2
-rw-r--r--platforms/chibios/errno.h13
-rw-r--r--platforms/chibios/platform.c2
-rw-r--r--platforms/test/platform.c2
-rw-r--r--quantum/action.c20
-rw-r--r--quantum/action.h6
-rw-r--r--quantum/action_tapping.c179
-rw-r--r--quantum/action_tapping.h60
-rw-r--r--quantum/action_util.c2
-rw-r--r--quantum/audio/audio.c12
-rw-r--r--quantum/audio/audio.h2
-rw-r--r--quantum/backlight/backlight.c31
-rw-r--r--quantum/backlight/backlight.h8
-rw-r--r--quantum/command.c6
-rw-r--r--quantum/connection/connection.c147
-rw-r--r--quantum/connection/connection.h110
-rw-r--r--quantum/dynamic_keymap.c205
-rw-r--r--quantum/dynamic_keymap.h9
-rw-r--r--quantum/eeconfig.c470
-rw-r--r--quantum/eeconfig.h162
-rw-r--r--quantum/haptic.c26
-rw-r--r--quantum/haptic.h2
-rw-r--r--quantum/keyboard.c22
-rw-r--r--quantum/keycode_config.h2
-rw-r--r--quantum/keycode_string.c564
-rw-r--r--quantum/keycode_string.h134
-rw-r--r--quantum/led_matrix/led_matrix.c5
-rw-r--r--quantum/led_matrix/led_matrix.h2
-rw-r--r--quantum/led_matrix/led_matrix_types.h2
-rw-r--r--quantum/logging/debug.h2
-rw-r--r--quantum/nvm/eeprom/nvm_dynamic_keymap.c193
-rw-r--r--quantum/nvm/eeprom/nvm_eeconfig.c305
-rw-r--r--quantum/nvm/eeprom/nvm_eeprom_eeconfig_internal.h61
-rw-r--r--quantum/nvm/eeprom/nvm_eeprom_via_internal.h22
-rw-r--r--quantum/nvm/eeprom/nvm_via.c77
-rw-r--r--quantum/nvm/nvm_dynamic_keymap.h27
-rw-r--r--quantum/nvm/nvm_eeconfig.h111
-rw-r--r--quantum/nvm/nvm_via.h17
-rw-r--r--quantum/nvm/readme.md30
-rw-r--r--quantum/nvm/rules.mk31
-rw-r--r--quantum/os_detection.h3
-rw-r--r--quantum/pointing_device/pointing_device.c35
-rw-r--r--quantum/pointing_device/pointing_device.h14
-rw-r--r--quantum/process_keycode/process_autocorrect.c6
-rw-r--r--quantum/process_keycode/process_caps_word.c7
-rw-r--r--quantum/process_keycode/process_clicky.c6
-rw-r--r--quantum/process_keycode/process_connection.c24
-rw-r--r--quantum/process_keycode/process_leader.c6
-rw-r--r--quantum/process_keycode/process_magic.c4
-rw-r--r--quantum/process_keycode/process_repeat_key.c5
-rw-r--r--quantum/process_keycode/process_steno.c7
-rw-r--r--quantum/quantum.c4
-rw-r--r--quantum/quantum.h1
-rw-r--r--quantum/rgb_matrix/animations/rgb_matrix_effects.inc2
-rw-r--r--quantum/rgb_matrix/rgb_matrix.c5
-rw-r--r--quantum/rgb_matrix/rgb_matrix.h4
-rw-r--r--quantum/rgb_matrix/rgb_matrix_types.h2
-rw-r--r--quantum/rgblight/rgblight.c45
-rw-r--r--quantum/rgblight/rgblight.h5
-rw-r--r--quantum/split_common/split_util.h2
-rw-r--r--quantum/unicode/unicode.c5
-rw-r--r--quantum/unicode/unicode.h2
-rw-r--r--quantum/via.c61
-rw-r--r--quantum/via.h27
-rw-r--r--quantum/wear_leveling/tests/rules.mk2
-rw-r--r--readme.md4
-rw-r--r--requirements.txt2
-rw-r--r--tests/basic/test_keycode_util.cpp52
-rw-r--r--tests/basic/test_one_shot_keys.cpp2
-rw-r--r--tests/caps_word/test.mk2
-rw-r--r--tests/caps_word/test_caps_word.cpp52
-rw-r--r--tests/combo/combo_repress/test_combo.cpp2
-rw-r--r--tests/combo/test_combo.cpp1
-rw-r--r--tests/keycode_string/config.h (renamed from keyboards/xelus/valor_frl_tkl/rev2_0/config.h)4
-rw-r--r--tests/keycode_string/test.mk22
-rw-r--r--tests/keycode_string/test_keycode_string.cpp153
-rw-r--r--tests/no_tapping/no_action_tapping/test.mk2
-rw-r--r--tests/no_tapping/no_mod_tap_mods/test.mk2
-rw-r--r--tests/repeat_key/alt_repeat_key/test_alt_repeat_key.cpp2
-rw-r--r--tests/repeat_key/test.mk1
-rw-r--r--tests/repeat_key/test_repeat_key.cpp33
-rw-r--r--tests/tap_hold_configurations/flow_tap/config.h (renamed from keyboards/xelus/valor_frl_tkl/rev2_1/config.h)8
-rw-r--r--tests/tap_hold_configurations/flow_tap/test.mk18
-rw-r--r--tests/tap_hold_configurations/flow_tap/test_keymap.c23
-rw-r--r--tests/tap_hold_configurations/flow_tap/test_tap_hold.cpp642
-rw-r--r--tests/test_common/build.mk1
-rw-r--r--tests/test_common/keyboard_report_util.cpp8
-rw-r--r--tests/test_common/keycode_table.cpp767
-rw-r--r--tests/test_common/keycode_util.cpp130
-rw-r--r--tests/test_common/keycode_util.hpp6
-rw-r--r--tests/test_common/test_driver.hpp8
-rw-r--r--tests/test_common/test_fixture.cpp2
-rw-r--r--tests/test_common/test_keymap_key.hpp6
-rw-r--r--tmk_core/protocol/chibios/chibios.c17
-rw-r--r--tmk_core/protocol/host.c11
-rw-r--r--tmk_core/protocol/report.h8
-rw-r--r--tmk_core/protocol/usb_descriptor.c24
-rw-r--r--tmk_core/protocol/usb_descriptor_common.h20
-rw-r--r--tmk_core/protocol/vusb/vusb.c28
-rw-r--r--users/_example/_example.c2
-rw-r--r--users/_example/_example.h2
-rw-r--r--users/_example/readme.md2
-rw-r--r--users/_example/rules.mk2
-rw-r--r--users/readme.md2
-rwxr-xr-xutil/regen.sh1
-rw-r--r--util/usb_detach/usb_detach.c2
2863 files changed, 8095 insertions, 6912 deletions
diff --git a/.github/ISSUE_TEMPLATE/bug_report.yml b/.github/ISSUE_TEMPLATE/bug_report.yml
index a5d185e1dd..3e32f4d994 100644
--- a/.github/ISSUE_TEMPLATE/bug_report.yml
+++ b/.github/ISSUE_TEMPLATE/bug_report.yml
@@ -38,4 +38,4 @@ body:
- type: textarea
attributes:
label: Additional Context
- description: Add any other relevant information about the problem here. \ No newline at end of file
+ description: Add any other relevant information about the problem here.
diff --git a/builddefs/build_full_test.mk b/builddefs/build_full_test.mk
index 5cae327c6c..82bb9387a6 100644
--- a/builddefs/build_full_test.mk
+++ b/builddefs/build_full_test.mk
@@ -25,8 +25,6 @@ $(TEST_OUTPUT)_SRC := \
tests/test_common/test_driver.cpp \
tests/test_common/keyboard_report_util.cpp \
tests/test_common/mouse_report_util.cpp \
- tests/test_common/keycode_util.cpp \
- tests/test_common/keycode_table.cpp \
tests/test_common/test_fixture.cpp \
tests/test_common/test_keymap_key.cpp \
tests/test_common/test_logger.cpp \
diff --git a/builddefs/build_keyboard.mk b/builddefs/build_keyboard.mk
index c5fc9cd25d..514191b17d 100644
--- a/builddefs/build_keyboard.mk
+++ b/builddefs/build_keyboard.mk
@@ -97,21 +97,12 @@ endif
# Pull in rules.mk files from all our subfolders
-ifneq ("$(wildcard $(KEYBOARD_PATH_5)/rules.mk)","")
- include $(KEYBOARD_PATH_5)/rules.mk
-endif
-ifneq ("$(wildcard $(KEYBOARD_PATH_4)/rules.mk)","")
- include $(KEYBOARD_PATH_4)/rules.mk
-endif
-ifneq ("$(wildcard $(KEYBOARD_PATH_3)/rules.mk)","")
- include $(KEYBOARD_PATH_3)/rules.mk
-endif
-ifneq ("$(wildcard $(KEYBOARD_PATH_2)/rules.mk)","")
- include $(KEYBOARD_PATH_2)/rules.mk
-endif
-ifneq ("$(wildcard $(KEYBOARD_PATH_1)/rules.mk)","")
- include $(KEYBOARD_PATH_1)/rules.mk
-endif
+-include $(KEYBOARD_PATH_5)/rules.mk
+-include $(KEYBOARD_PATH_4)/rules.mk
+-include $(KEYBOARD_PATH_3)/rules.mk
+-include $(KEYBOARD_PATH_2)/rules.mk
+-include $(KEYBOARD_PATH_1)/rules.mk
+
# Create dependencies on DD keyboard config - structure validated elsewhere
DD_CONFIG_FILES :=
ifneq ("$(wildcard $(KEYBOARD_PATH_1)/info.json)","")
@@ -260,6 +251,9 @@ generated-files: $(INTERMEDIATE_OUTPUT)/src/config.h $(INTERMEDIATE_OUTPUT)/src/
endif
# Community modules
+COMMUNITY_RULES_MK = $(shell $(QMK_BIN) generate-community-modules-rules-mk -kb $(KEYBOARD) --quiet --escape --output $(INTERMEDIATE_OUTPUT)/src/community_rules.mk $(KEYMAP_JSON))
+include $(COMMUNITY_RULES_MK)
+
$(INTERMEDIATE_OUTPUT)/src/community_modules.h: $(KEYMAP_JSON) $(DD_CONFIG_FILES)
@$(SILENT) || printf "$(MSG_GENERATING) $@" | $(AWK_CMD)
$(eval CMD=$(QMK_BIN) generate-community-modules-h -kb $(KEYBOARD) --quiet --output $(INTERMEDIATE_OUTPUT)/src/community_modules.h $(KEYMAP_JSON))
@@ -487,21 +481,11 @@ ifneq ("$(CONVERTER)","")
endif
# Pull in post_rules.mk files from all our subfolders
-ifneq ("$(wildcard $(KEYBOARD_PATH_1)/post_rules.mk)","")
- include $(KEYBOARD_PATH_1)/post_rules.mk
-endif
-ifneq ("$(wildcard $(KEYBOARD_PATH_2)/post_rules.mk)","")
- include $(KEYBOARD_PATH_2)/post_rules.mk
-endif
-ifneq ("$(wildcard $(KEYBOARD_PATH_3)/post_rules.mk)","")
- include $(KEYBOARD_PATH_3)/post_rules.mk
-endif
-ifneq ("$(wildcard $(KEYBOARD_PATH_4)/post_rules.mk)","")
- include $(KEYBOARD_PATH_4)/post_rules.mk
-endif
-ifneq ("$(wildcard $(KEYBOARD_PATH_5)/post_rules.mk)","")
- include $(KEYBOARD_PATH_5)/post_rules.mk
-endif
+-include $(KEYBOARD_PATH_1)/post_rules.mk
+-include $(KEYBOARD_PATH_2)/post_rules.mk
+-include $(KEYBOARD_PATH_3)/post_rules.mk
+-include $(KEYBOARD_PATH_4)/post_rules.mk
+-include $(KEYBOARD_PATH_5)/post_rules.mk
define post_rules_mk_community_module_includer
ifneq ("$(wildcard $(1)/post_rules.mk)","")
diff --git a/builddefs/common_features.mk b/builddefs/common_features.mk
index c88ce36011..0b9840a14e 100644
--- a/builddefs/common_features.mk
+++ b/builddefs/common_features.mk
@@ -30,6 +30,8 @@ QUANTUM_SRC += \
$(QUANTUM_DIR)/logging/sendchar.c \
$(QUANTUM_DIR)/process_keycode/process_default_layer.c \
+include $(QUANTUM_DIR)/nvm/rules.mk
+
VPATH += $(QUANTUM_DIR)/logging
# Fall back to lib/printf if there is no platform provided print
ifeq ("$(wildcard $(PLATFORM_PATH)/$(PLATFORM_KEY)/printf.mk)","")
@@ -169,80 +171,82 @@ endif
VALID_EEPROM_DRIVER_TYPES := vendor custom transient i2c spi wear_leveling legacy_stm32_flash
EEPROM_DRIVER ?= vendor
-ifeq ($(filter $(EEPROM_DRIVER),$(VALID_EEPROM_DRIVER_TYPES)),)
+ifneq ($(strip $(EEPROM_DRIVER)),none)
+ ifeq ($(filter $(EEPROM_DRIVER),$(VALID_EEPROM_DRIVER_TYPES)),)
$(call CATASTROPHIC_ERROR,Invalid EEPROM_DRIVER,EEPROM_DRIVER="$(EEPROM_DRIVER)" is not a valid EEPROM driver)
-else
- OPT_DEFS += -DEEPROM_ENABLE
- COMMON_VPATH += $(PLATFORM_PATH)/$(PLATFORM_KEY)/$(DRIVER_DIR)/eeprom
- COMMON_VPATH += $(DRIVER_PATH)/eeprom
- COMMON_VPATH += $(PLATFORM_COMMON_DIR)
- ifeq ($(strip $(EEPROM_DRIVER)), custom)
- # Custom EEPROM implementation -- only needs to implement init/erase/read_block/write_block
- OPT_DEFS += -DEEPROM_DRIVER -DEEPROM_CUSTOM
- SRC += eeprom_driver.c
- else ifeq ($(strip $(EEPROM_DRIVER)), wear_leveling)
- # Wear-leveling EEPROM implementation
- OPT_DEFS += -DEEPROM_DRIVER -DEEPROM_WEAR_LEVELING
- SRC += eeprom_driver.c eeprom_wear_leveling.c
- else ifeq ($(strip $(EEPROM_DRIVER)), i2c)
- # External I2C EEPROM implementation
- OPT_DEFS += -DEEPROM_DRIVER -DEEPROM_I2C
- I2C_DRIVER_REQUIRED = yes
- SRC += eeprom_driver.c eeprom_i2c.c
- else ifeq ($(strip $(EEPROM_DRIVER)), spi)
- # External SPI EEPROM implementation
- OPT_DEFS += -DEEPROM_DRIVER -DEEPROM_SPI
- SPI_DRIVER_REQUIRED = yes
- SRC += eeprom_driver.c eeprom_spi.c
- else ifeq ($(strip $(EEPROM_DRIVER)), legacy_stm32_flash)
- # STM32 Emulated EEPROM, backed by MCU flash (soon to be deprecated)
- OPT_DEFS += -DEEPROM_DRIVER -DEEPROM_LEGACY_EMULATED_FLASH
- COMMON_VPATH += $(PLATFORM_PATH)/$(PLATFORM_KEY)/$(DRIVER_DIR)/flash
- COMMON_VPATH += $(DRIVER_PATH)/flash
- SRC += eeprom_driver.c eeprom_legacy_emulated_flash.c legacy_flash_ops.c
- else ifeq ($(strip $(EEPROM_DRIVER)), transient)
- # Transient EEPROM implementation -- no data storage but provides runtime area for it
- OPT_DEFS += -DEEPROM_DRIVER -DEEPROM_TRANSIENT
- SRC += eeprom_driver.c eeprom_transient.c
- else ifeq ($(strip $(EEPROM_DRIVER)), vendor)
- # Vendor-implemented EEPROM
- OPT_DEFS += -DEEPROM_VENDOR
- ifeq ($(PLATFORM),AVR)
- # Automatically provided by avr-libc, nothing required
- else ifeq ($(PLATFORM),CHIBIOS)
- ifneq ($(filter %_STM32F072xB %_STM32F042x6, $(MCU_SERIES)_$(MCU_LDSCRIPT)),)
- # STM32 Emulated EEPROM, backed by MCU flash (soon to be deprecated)
- OPT_DEFS += -DEEPROM_DRIVER -DEEPROM_LEGACY_EMULATED_FLASH
- COMMON_VPATH += $(PLATFORM_PATH)/$(PLATFORM_KEY)/$(DRIVER_DIR)/flash
- COMMON_VPATH += $(DRIVER_PATH)/flash
- SRC += eeprom_driver.c eeprom_legacy_emulated_flash.c legacy_flash_ops.c
- else ifneq ($(filter $(MCU_SERIES),STM32F1xx STM32F3xx STM32F4xx STM32L4xx STM32G4xx WB32F3G71xx WB32FQ95xx AT32F415 GD32VF103),)
- # Wear-leveling EEPROM implementation, backed by MCU flash
- OPT_DEFS += -DEEPROM_DRIVER -DEEPROM_WEAR_LEVELING
- SRC += eeprom_driver.c eeprom_wear_leveling.c
- WEAR_LEVELING_DRIVER ?= embedded_flash
- else ifneq ($(filter $(MCU_SERIES),STM32L0xx STM32L1xx),)
- # True EEPROM on STM32L0xx, L1xx
- OPT_DEFS += -DEEPROM_DRIVER -DEEPROM_STM32_L0_L1
- SRC += eeprom_driver.c eeprom_stm32_L0_L1.c
- else ifneq ($(filter $(MCU_SERIES),RP2040),)
- # Wear-leveling EEPROM implementation, backed by RP2040 flash
- OPT_DEFS += -DEEPROM_DRIVER -DEEPROM_WEAR_LEVELING
- SRC += eeprom_driver.c eeprom_wear_leveling.c
- WEAR_LEVELING_DRIVER ?= rp2040_flash
- else ifneq ($(filter $(MCU_SERIES),KL2x K20x),)
- # Teensy EEPROM implementations
- OPT_DEFS += -DEEPROM_KINETIS_FLEXRAM
- SRC += eeprom_kinetis_flexram.c
- else
- # Fall back to transient, i.e. non-persistent
- OPT_DEFS += -DEEPROM_DRIVER -DEEPROM_TRANSIENT
- SRC += eeprom_driver.c eeprom_transient.c
+ else
+ OPT_DEFS += -DEEPROM_ENABLE
+ COMMON_VPATH += $(PLATFORM_PATH)/$(PLATFORM_KEY)/$(DRIVER_DIR)/eeprom
+ COMMON_VPATH += $(DRIVER_PATH)/eeprom
+ COMMON_VPATH += $(PLATFORM_COMMON_DIR)
+ ifeq ($(strip $(EEPROM_DRIVER)), custom)
+ # Custom EEPROM implementation -- only needs to implement init/erase/read_block/write_block
+ OPT_DEFS += -DEEPROM_DRIVER -DEEPROM_CUSTOM
+ SRC += eeprom_driver.c
+ else ifeq ($(strip $(EEPROM_DRIVER)), wear_leveling)
+ # Wear-leveling EEPROM implementation
+ OPT_DEFS += -DEEPROM_DRIVER -DEEPROM_WEAR_LEVELING
+ SRC += eeprom_driver.c eeprom_wear_leveling.c
+ else ifeq ($(strip $(EEPROM_DRIVER)), i2c)
+ # External I2C EEPROM implementation
+ OPT_DEFS += -DEEPROM_DRIVER -DEEPROM_I2C
+ I2C_DRIVER_REQUIRED = yes
+ SRC += eeprom_driver.c eeprom_i2c.c
+ else ifeq ($(strip $(EEPROM_DRIVER)), spi)
+ # External SPI EEPROM implementation
+ OPT_DEFS += -DEEPROM_DRIVER -DEEPROM_SPI
+ SPI_DRIVER_REQUIRED = yes
+ SRC += eeprom_driver.c eeprom_spi.c
+ else ifeq ($(strip $(EEPROM_DRIVER)), legacy_stm32_flash)
+ # STM32 Emulated EEPROM, backed by MCU flash (soon to be deprecated)
+ OPT_DEFS += -DEEPROM_DRIVER -DEEPROM_LEGACY_EMULATED_FLASH
+ COMMON_VPATH += $(PLATFORM_PATH)/$(PLATFORM_KEY)/$(DRIVER_DIR)/flash
+ COMMON_VPATH += $(DRIVER_PATH)/flash
+ SRC += eeprom_driver.c eeprom_legacy_emulated_flash.c legacy_flash_ops.c
+ else ifeq ($(strip $(EEPROM_DRIVER)), transient)
+ # Transient EEPROM implementation -- no data storage but provides runtime area for it
+ OPT_DEFS += -DEEPROM_DRIVER -DEEPROM_TRANSIENT
+ SRC += eeprom_driver.c eeprom_transient.c
+ else ifeq ($(strip $(EEPROM_DRIVER)), vendor)
+ # Vendor-implemented EEPROM
+ OPT_DEFS += -DEEPROM_VENDOR
+ ifeq ($(PLATFORM),AVR)
+ # Automatically provided by avr-libc, nothing required
+ else ifeq ($(PLATFORM),CHIBIOS)
+ ifneq ($(filter %_STM32F072xB %_STM32F042x6, $(MCU_SERIES)_$(MCU_LDSCRIPT)),)
+ # STM32 Emulated EEPROM, backed by MCU flash (soon to be deprecated)
+ OPT_DEFS += -DEEPROM_DRIVER -DEEPROM_LEGACY_EMULATED_FLASH
+ COMMON_VPATH += $(PLATFORM_PATH)/$(PLATFORM_KEY)/$(DRIVER_DIR)/flash
+ COMMON_VPATH += $(DRIVER_PATH)/flash
+ SRC += eeprom_driver.c eeprom_legacy_emulated_flash.c legacy_flash_ops.c
+ else ifneq ($(filter $(MCU_SERIES),STM32F1xx STM32F3xx STM32F4xx STM32L4xx STM32G4xx WB32F3G71xx WB32FQ95xx AT32F415 GD32VF103),)
+ # Wear-leveling EEPROM implementation, backed by MCU flash
+ OPT_DEFS += -DEEPROM_DRIVER -DEEPROM_WEAR_LEVELING
+ SRC += eeprom_driver.c eeprom_wear_leveling.c
+ WEAR_LEVELING_DRIVER ?= embedded_flash
+ else ifneq ($(filter $(MCU_SERIES),STM32L0xx STM32L1xx),)
+ # True EEPROM on STM32L0xx, L1xx
+ OPT_DEFS += -DEEPROM_DRIVER -DEEPROM_STM32_L0_L1
+ SRC += eeprom_driver.c eeprom_stm32_L0_L1.c
+ else ifneq ($(filter $(MCU_SERIES),RP2040),)
+ # Wear-leveling EEPROM implementation, backed by RP2040 flash
+ OPT_DEFS += -DEEPROM_DRIVER -DEEPROM_WEAR_LEVELING
+ SRC += eeprom_driver.c eeprom_wear_leveling.c
+ WEAR_LEVELING_DRIVER ?= rp2040_flash
+ else ifneq ($(filter $(MCU_SERIES),KL2x K20x),)
+ # Teensy EEPROM implementations
+ OPT_DEFS += -DEEPROM_KINETIS_FLEXRAM
+ SRC += eeprom_kinetis_flexram.c
+ else
+ # Fall back to transient, i.e. non-persistent
+ OPT_DEFS += -DEEPROM_DRIVER -DEEPROM_TRANSIENT
+ SRC += eeprom_driver.c eeprom_transient.c
+ endif
+ else ifeq ($(PLATFORM),TEST)
+ # Test harness "EEPROM"
+ OPT_DEFS += -DEEPROM_TEST_HARNESS
+ SRC += eeprom.c
endif
- else ifeq ($(PLATFORM),TEST)
- # Test harness "EEPROM"
- OPT_DEFS += -DEEPROM_TEST_HARNESS
- SRC += eeprom.c
endif
endif
endif
@@ -888,12 +892,11 @@ ifeq ($(strip $(BLUETOOTH_ENABLE)), yes)
OPT_DEFS += -DBLUETOOTH_ENABLE
OPT_DEFS += -DBLUETOOTH_$(strip $(shell echo $(BLUETOOTH_DRIVER) | tr '[:lower:]' '[:upper:]'))
NO_USB_STARTUP_CHECK := yes
+ CONNECTION_ENABLE := yes
COMMON_VPATH += $(DRIVER_PATH)/bluetooth
- SRC += outputselect.c process_connection.c
ifeq ($(strip $(BLUETOOTH_DRIVER)), bluefruit_le)
SPI_DRIVER_REQUIRED = yes
- ANALOG_DRIVER_REQUIRED = yes
SRC += $(DRIVER_PATH)/bluetooth/bluetooth.c
SRC += $(DRIVER_PATH)/bluetooth/bluefruit_le.cpp
endif
@@ -934,6 +937,28 @@ ifeq ($(strip $(DIP_SWITCH_ENABLE)), yes)
endif
endif
+VALID_BATTERY_DRIVER_TYPES := adc custom vendor
+
+BATTERY_DRIVER ?= adc
+ifeq ($(strip $(BATTERY_DRIVER_REQUIRED)), yes)
+ ifeq ($(filter $(BATTERY_DRIVER),$(VALID_BATTERY_DRIVER_TYPES)),)
+ $(call CATASTROPHIC_ERROR,Invalid BATTERY_DRIVER,BATTERY_DRIVER="$(BATTERY_DRIVER)" is not a valid battery driver)
+ endif
+
+ OPT_DEFS += -DBATTERY_DRIVER
+ OPT_DEFS += -DBATTERY_$(strip $(shell echo $(BATTERY_DRIVER) | tr '[:lower:]' '[:upper:]'))
+
+ COMMON_VPATH += $(DRIVER_PATH)/battery
+
+ SRC += battery.c
+ SRC += battery_$(strip $(BATTERY_DRIVER)).c
+
+ # add extra deps
+ ifeq ($(strip $(BATTERY_DRIVER)), adc)
+ ANALOG_DRIVER_REQUIRED = yes
+ endif
+endif
+
VALID_WS2812_DRIVER_TYPES := bitbang custom i2c pwm spi vendor
WS2812_DRIVER ?= bitbang
diff --git a/builddefs/converters.mk b/builddefs/converters.mk
index b1e5a1bed2..20ecea5cb9 100644
--- a/builddefs/converters.mk
+++ b/builddefs/converters.mk
@@ -1,10 +1,3 @@
-# Note for new boards -- CTPC and CONVERT_TO_PROTON_C are deprecated terms
-# and should not be replicated for new boards. These will be removed from
-# documentation as well as existing keymaps in due course.
-ifneq ($(findstring yes, $(CTPC)$(CONVERT_TO_PROTON_C)),)
-$(call CATASTROPHIC_ERROR,The `CONVERT_TO_PROTON_C` and `CTPC` options are now deprecated. `CONVERT_TO=proton_c` should be used instead.)
-endif
-
ifneq (,$(filter $(MCU),atmega32u4))
# TODO: opt in rather than assume everything uses a pro micro
PIN_COMPATIBLE ?= promicro
diff --git a/builddefs/generic_features.mk b/builddefs/generic_features.mk
index f14f440877..c826514431 100644
--- a/builddefs/generic_features.mk
+++ b/builddefs/generic_features.mk
@@ -25,6 +25,7 @@ GENERIC_FEATURES = \
CAPS_WORD \
COMBO \
COMMAND \
+ CONNECTION \
CRC \
DEFERRED_EXEC \
DIGITIZER \
@@ -34,6 +35,7 @@ GENERIC_FEATURES = \
DYNAMIC_TAPPING_TERM \
GRAVE_ESC \
HAPTIC \
+ KEYCODE_STRING \
KEY_LOCK \
KEY_OVERRIDE \
LAYER_LOCK \
@@ -60,6 +62,7 @@ define HANDLE_GENERIC_FEATURE
SRC += $$(wildcard $$(QUANTUM_DIR)/process_keycode/process_$2.c)
SRC += $$(wildcard $$(QUANTUM_DIR)/$2/$2.c)
SRC += $$(wildcard $$(QUANTUM_DIR)/$2.c)
+ SRC += $$(wildcard $$(QUANTUM_DIR)/nvm/$$(NVM_DRIVER_LOWER)/nvm_$2.c)
VPATH += $$(wildcard $$(QUANTUM_DIR)/$2/)
OPT_DEFS += -D$1_ENABLE
endef
diff --git a/data/constants/keycodes/extras/keycodes_belgian_0.0.1.hjson b/data/constants/keycodes/extras/keycodes_belgian_0.0.1.hjson
index d2b8c1d7d9..11b68d16a0 100644
--- a/data/constants/keycodes/extras/keycodes_belgian_0.0.1.hjson
+++ b/data/constants/keycodes/extras/keycodes_belgian_0.0.1.hjson
@@ -372,4 +372,4 @@
"label": "~",
}
}
-} \ No newline at end of file
+}
diff --git a/data/constants/keycodes/extras/keycodes_bepo_0.0.1.hjson b/data/constants/keycodes/extras/keycodes_bepo_0.0.1.hjson
index 713f3f2829..7a9dea9d13 100644
--- a/data/constants/keycodes/extras/keycodes_bepo_0.0.1.hjson
+++ b/data/constants/keycodes/extras/keycodes_bepo_0.0.1.hjson
@@ -629,4 +629,4 @@
"label": "(narrow non-breaking space)",
}
}
-} \ No newline at end of file
+}
diff --git a/data/constants/keycodes/extras/keycodes_brazilian_abnt2_0.0.1.hjson b/data/constants/keycodes/extras/keycodes_brazilian_abnt2_0.0.1.hjson
index 17006a64df..e28970ed33 100644
--- a/data/constants/keycodes/extras/keycodes_brazilian_abnt2_0.0.1.hjson
+++ b/data/constants/keycodes/extras/keycodes_brazilian_abnt2_0.0.1.hjson
@@ -376,4 +376,4 @@
"label": "₢",
}
}
-} \ No newline at end of file
+}
diff --git a/data/constants/keycodes/extras/keycodes_canadian_multilingual_0.0.1.hjson b/data/constants/keycodes/extras/keycodes_canadian_multilingual_0.0.1.hjson
index bfe5d5b54c..a663088e22 100644
--- a/data/constants/keycodes/extras/keycodes_canadian_multilingual_0.0.1.hjson
+++ b/data/constants/keycodes/extras/keycodes_canadian_multilingual_0.0.1.hjson
@@ -638,4 +638,4 @@
"label": "÷",
}
}
-} \ No newline at end of file
+}
diff --git a/data/constants/keycodes/extras/keycodes_colemak_0.0.1.hjson b/data/constants/keycodes/extras/keycodes_colemak_0.0.1.hjson
index 1dc091584b..0bf0f3b221 100644
--- a/data/constants/keycodes/extras/keycodes_colemak_0.0.1.hjson
+++ b/data/constants/keycodes/extras/keycodes_colemak_0.0.1.hjson
@@ -299,4 +299,4 @@
"label": "?",
}
}
-} \ No newline at end of file
+}
diff --git a/data/constants/keycodes/extras/keycodes_croatian_0.0.1.hjson b/data/constants/keycodes/extras/keycodes_croatian_0.0.1.hjson
index 82632aa637..50464921fa 100644
--- a/data/constants/keycodes/extras/keycodes_croatian_0.0.1.hjson
+++ b/data/constants/keycodes/extras/keycodes_croatian_0.0.1.hjson
@@ -400,4 +400,4 @@
"label": "§",
}
}
-} \ No newline at end of file
+}
diff --git a/data/constants/keycodes/extras/keycodes_czech_0.0.1.hjson b/data/constants/keycodes/extras/keycodes_czech_0.0.1.hjson
index 9cfb88c489..8b1572bfcb 100644
--- a/data/constants/keycodes/extras/keycodes_czech_0.0.1.hjson
+++ b/data/constants/keycodes/extras/keycodes_czech_0.0.1.hjson
@@ -432,4 +432,4 @@
"label": "*",
}
}
-} \ No newline at end of file
+}
diff --git a/data/constants/keycodes/extras/keycodes_danish_0.0.1.hjson b/data/constants/keycodes/extras/keycodes_danish_0.0.1.hjson
index fffcd9f9ad..0e8f7a75c6 100644
--- a/data/constants/keycodes/extras/keycodes_danish_0.0.1.hjson
+++ b/data/constants/keycodes/extras/keycodes_danish_0.0.1.hjson
@@ -356,4 +356,4 @@
"label": "µ",
}
}
-} \ No newline at end of file
+}
diff --git a/data/constants/keycodes/extras/keycodes_dvorak_0.0.1.hjson b/data/constants/keycodes/extras/keycodes_dvorak_0.0.1.hjson
index 534f99c8e6..485d86aa21 100644
--- a/data/constants/keycodes/extras/keycodes_dvorak_0.0.1.hjson
+++ b/data/constants/keycodes/extras/keycodes_dvorak_0.0.1.hjson
@@ -299,4 +299,4 @@
"label": ":",
}
}
-} \ No newline at end of file
+}
diff --git a/data/constants/keycodes/extras/keycodes_dvorak_fr_0.0.1.hjson b/data/constants/keycodes/extras/keycodes_dvorak_fr_0.0.1.hjson
index 70c0b3c0aa..69ce14486e 100644
--- a/data/constants/keycodes/extras/keycodes_dvorak_fr_0.0.1.hjson
+++ b/data/constants/keycodes/extras/keycodes_dvorak_fr_0.0.1.hjson
@@ -314,4 +314,4 @@
"label": "@",
}
}
-} \ No newline at end of file
+}
diff --git a/data/constants/keycodes/extras/keycodes_dvorak_programmer_0.0.1.hjson b/data/constants/keycodes/extras/keycodes_dvorak_programmer_0.0.1.hjson
index 8a70dae7ef..6fa9868e4c 100644
--- a/data/constants/keycodes/extras/keycodes_dvorak_programmer_0.0.1.hjson
+++ b/data/constants/keycodes/extras/keycodes_dvorak_programmer_0.0.1.hjson
@@ -299,4 +299,4 @@
"label": "\"",
}
}
-} \ No newline at end of file
+}
diff --git a/data/constants/keycodes/extras/keycodes_estonian_0.0.1.hjson b/data/constants/keycodes/extras/keycodes_estonian_0.0.1.hjson
index bbf7512581..276d3fe664 100644
--- a/data/constants/keycodes/extras/keycodes_estonian_0.0.1.hjson
+++ b/data/constants/keycodes/extras/keycodes_estonian_0.0.1.hjson
@@ -364,4 +364,4 @@
"label": "ž",
}
}
-} \ No newline at end of file
+}
diff --git a/data/constants/keycodes/extras/keycodes_eurkey_0.0.1.hjson b/data/constants/keycodes/extras/keycodes_eurkey_0.0.1.hjson
index 9ff217cff2..9b4fa33053 100644
--- a/data/constants/keycodes/extras/keycodes_eurkey_0.0.1.hjson
+++ b/data/constants/keycodes/extras/keycodes_eurkey_0.0.1.hjson
@@ -593,4 +593,4 @@
"label": "…",
}
}
-} \ No newline at end of file
+}
diff --git a/data/constants/keycodes/extras/keycodes_finnish_0.0.1.hjson b/data/constants/keycodes/extras/keycodes_finnish_0.0.1.hjson
index b284192962..a4d3c99a6f 100644
--- a/data/constants/keycodes/extras/keycodes_finnish_0.0.1.hjson
+++ b/data/constants/keycodes/extras/keycodes_finnish_0.0.1.hjson
@@ -356,4 +356,4 @@
"label": "µ",
}
}
-} \ No newline at end of file
+}
diff --git a/data/constants/keycodes/extras/keycodes_french_0.0.1.hjson b/data/constants/keycodes/extras/keycodes_french_0.0.1.hjson
index 8ba7b35d2e..351dfe89d8 100644
--- a/data/constants/keycodes/extras/keycodes_french_0.0.1.hjson
+++ b/data/constants/keycodes/extras/keycodes_french_0.0.1.hjson
@@ -364,4 +364,4 @@
"label": "¤",
}
}
-} \ No newline at end of file
+}
diff --git a/data/constants/keycodes/extras/keycodes_french_afnor_0.0.1.hjson b/data/constants/keycodes/extras/keycodes_french_afnor_0.0.1.hjson
index 90981d085d..92646c4de8 100644
--- a/data/constants/keycodes/extras/keycodes_french_afnor_0.0.1.hjson
+++ b/data/constants/keycodes/extras/keycodes_french_afnor_0.0.1.hjson
@@ -620,4 +620,4 @@
"label": "≠",
}
}
-} \ No newline at end of file
+}
diff --git a/data/constants/keycodes/extras/keycodes_french_mac_iso_0.0.1.hjson b/data/constants/keycodes/extras/keycodes_french_mac_iso_0.0.1.hjson
index b698018d5b..bb924e9852 100644
--- a/data/constants/keycodes/extras/keycodes_french_mac_iso_0.0.1.hjson
+++ b/data/constants/keycodes/extras/keycodes_french_mac_iso_0.0.1.hjson
@@ -673,4 +673,4 @@
"label": "±",
}
}
-} \ No newline at end of file
+}
diff --git a/data/constants/keycodes/extras/keycodes_german_0.0.1.hjson b/data/constants/keycodes/extras/keycodes_german_0.0.1.hjson
index a1cfd44956..015438abb2 100644
--- a/data/constants/keycodes/extras/keycodes_german_0.0.1.hjson
+++ b/data/constants/keycodes/extras/keycodes_german_0.0.1.hjson
@@ -356,4 +356,4 @@
"label": "µ",
}
}
-} \ No newline at end of file
+}
diff --git a/data/constants/keycodes/extras/keycodes_german_mac_iso_0.0.1.hjson b/data/constants/keycodes/extras/keycodes_german_mac_iso_0.0.1.hjson
index 366ed5b9d1..fa3b8d67b5 100644
--- a/data/constants/keycodes/extras/keycodes_german_mac_iso_0.0.1.hjson
+++ b/data/constants/keycodes/extras/keycodes_german_mac_iso_0.0.1.hjson
@@ -653,4 +653,4 @@
"label": "—",
}
}
-} \ No newline at end of file
+}
diff --git a/data/constants/keycodes/extras/keycodes_greek_0.0.1.hjson b/data/constants/keycodes/extras/keycodes_greek_0.0.1.hjson
index 9c7f8796bf..b61a317b19 100644
--- a/data/constants/keycodes/extras/keycodes_greek_0.0.1.hjson
+++ b/data/constants/keycodes/extras/keycodes_greek_0.0.1.hjson
@@ -388,4 +388,4 @@
"label": "©",
}
}
-} \ No newline at end of file
+}
diff --git a/data/constants/keycodes/extras/keycodes_hebrew_0.0.1.hjson b/data/constants/keycodes/extras/keycodes_hebrew_0.0.1.hjson
index b519229f35..aaf0563623 100644
--- a/data/constants/keycodes/extras/keycodes_hebrew_0.0.1.hjson
+++ b/data/constants/keycodes/extras/keycodes_hebrew_0.0.1.hjson
@@ -344,4 +344,4 @@
"label": "÷",
}
}
-} \ No newline at end of file
+}
diff --git a/data/constants/keycodes/extras/keycodes_hungarian_0.0.1.hjson b/data/constants/keycodes/extras/keycodes_hungarian_0.0.1.hjson
index d4fc908dc0..e7ae0d340c 100644
--- a/data/constants/keycodes/extras/keycodes_hungarian_0.0.1.hjson
+++ b/data/constants/keycodes/extras/keycodes_hungarian_0.0.1.hjson
@@ -432,4 +432,4 @@
"label": "*",
}
}
-} \ No newline at end of file
+}
diff --git a/data/constants/keycodes/extras/keycodes_icelandic_0.0.1.hjson b/data/constants/keycodes/extras/keycodes_icelandic_0.0.1.hjson
index f4d6025a77..59478a1018 100644
--- a/data/constants/keycodes/extras/keycodes_icelandic_0.0.1.hjson
+++ b/data/constants/keycodes/extras/keycodes_icelandic_0.0.1.hjson
@@ -352,4 +352,4 @@
"label": "µ",
}
}
-} \ No newline at end of file
+}
diff --git a/data/constants/keycodes/extras/keycodes_irish_0.0.1.hjson b/data/constants/keycodes/extras/keycodes_irish_0.0.1.hjson
index 94e553469e..99487a5b90 100644
--- a/data/constants/keycodes/extras/keycodes_irish_0.0.1.hjson
+++ b/data/constants/keycodes/extras/keycodes_irish_0.0.1.hjson
@@ -352,4 +352,4 @@
"label": "´ (dead)",
}
}
-} \ No newline at end of file
+}
diff --git a/data/constants/keycodes/extras/keycodes_italian_0.0.1.hjson b/data/constants/keycodes/extras/keycodes_italian_0.0.1.hjson
index 951c564f62..8b859d6de8 100644
--- a/data/constants/keycodes/extras/keycodes_italian_0.0.1.hjson
+++ b/data/constants/keycodes/extras/keycodes_italian_0.0.1.hjson
@@ -361,4 +361,4 @@
"label": "}",
}
}
-} \ No newline at end of file
+}
diff --git a/data/constants/keycodes/extras/keycodes_italian_mac_ansi_0.0.1.hjson b/data/constants/keycodes/extras/keycodes_italian_mac_ansi_0.0.1.hjson
index 328755ca67..551f094974 100644
--- a/data/constants/keycodes/extras/keycodes_italian_mac_ansi_0.0.1.hjson
+++ b/data/constants/keycodes/extras/keycodes_italian_mac_ansi_0.0.1.hjson
@@ -681,4 +681,4 @@
"label": "—",
}
}
-} \ No newline at end of file
+}
diff --git a/data/constants/keycodes/extras/keycodes_italian_mac_iso_0.0.1.hjson b/data/constants/keycodes/extras/keycodes_italian_mac_iso_0.0.1.hjson
index 4beccd804a..aed90f203d 100644
--- a/data/constants/keycodes/extras/keycodes_italian_mac_iso_0.0.1.hjson
+++ b/data/constants/keycodes/extras/keycodes_italian_mac_iso_0.0.1.hjson
@@ -685,4 +685,4 @@
"label": "—",
}
}
-} \ No newline at end of file
+}
diff --git a/data/constants/keycodes/extras/keycodes_japanese_0.0.1.hjson b/data/constants/keycodes/extras/keycodes_japanese_0.0.1.hjson
index d95712abd9..779eef8a84 100644
--- a/data/constants/keycodes/extras/keycodes_japanese_0.0.1.hjson
+++ b/data/constants/keycodes/extras/keycodes_japanese_0.0.1.hjson
@@ -327,4 +327,4 @@
"label": "_",
}
}
-} \ No newline at end of file
+}
diff --git a/data/constants/keycodes/extras/keycodes_korean_0.0.1.hjson b/data/constants/keycodes/extras/keycodes_korean_0.0.1.hjson
index 5ee19c9e4e..8e04d8ed2a 100644
--- a/data/constants/keycodes/extras/keycodes_korean_0.0.1.hjson
+++ b/data/constants/keycodes/extras/keycodes_korean_0.0.1.hjson
@@ -307,4 +307,4 @@
"label": "?",
}
}
-} \ No newline at end of file
+}
diff --git a/data/constants/keycodes/extras/keycodes_latvian_0.0.1.hjson b/data/constants/keycodes/extras/keycodes_latvian_0.0.1.hjson
index ab80f0fdd9..510a2c83a7 100644
--- a/data/constants/keycodes/extras/keycodes_latvian_0.0.1.hjson
+++ b/data/constants/keycodes/extras/keycodes_latvian_0.0.1.hjson
@@ -437,4 +437,4 @@
"label": "¨ (dead)",
}
}
-} \ No newline at end of file
+}
diff --git a/data/constants/keycodes/extras/keycodes_lithuanian_azerty_0.0.1.hjson b/data/constants/keycodes/extras/keycodes_lithuanian_azerty_0.0.1.hjson
index dfb527878e..f6140d7f93 100644
--- a/data/constants/keycodes/extras/keycodes_lithuanian_azerty_0.0.1.hjson
+++ b/data/constants/keycodes/extras/keycodes_lithuanian_azerty_0.0.1.hjson
@@ -372,4 +372,4 @@
"label": "\\",
}
}
-} \ No newline at end of file
+}
diff --git a/data/constants/keycodes/extras/keycodes_lithuanian_qwerty_0.0.1.hjson b/data/constants/keycodes/extras/keycodes_lithuanian_qwerty_0.0.1.hjson
index a4ea30d592..2ab6f83c94 100644
--- a/data/constants/keycodes/extras/keycodes_lithuanian_qwerty_0.0.1.hjson
+++ b/data/constants/keycodes/extras/keycodes_lithuanian_qwerty_0.0.1.hjson
@@ -365,4 +365,4 @@
"label": "+",
}
}
-} \ No newline at end of file
+}
diff --git a/data/constants/keycodes/extras/keycodes_neo2_0.0.1.hjson b/data/constants/keycodes/extras/keycodes_neo2_0.0.1.hjson
index 980bddbf7a..88ede311a6 100644
--- a/data/constants/keycodes/extras/keycodes_neo2_0.0.1.hjson
+++ b/data/constants/keycodes/extras/keycodes_neo2_0.0.1.hjson
@@ -214,4 +214,4 @@
"label": "(layer 4)",
}
}
-} \ No newline at end of file
+}
diff --git a/data/constants/keycodes/extras/keycodes_nordic_0.0.1.hjson b/data/constants/keycodes/extras/keycodes_nordic_0.0.1.hjson
index fb3d1bc84b..8536a004de 100644
--- a/data/constants/keycodes/extras/keycodes_nordic_0.0.1.hjson
+++ b/data/constants/keycodes/extras/keycodes_nordic_0.0.1.hjson
@@ -113,4 +113,4 @@
"key": "NO_MU"
}
}
-} \ No newline at end of file
+}
diff --git a/data/constants/keycodes/extras/keycodes_norman_0.0.1.hjson b/data/constants/keycodes/extras/keycodes_norman_0.0.1.hjson
index 98ea7e6aab..45cd26ae1c 100644
--- a/data/constants/keycodes/extras/keycodes_norman_0.0.1.hjson
+++ b/data/constants/keycodes/extras/keycodes_norman_0.0.1.hjson
@@ -299,4 +299,4 @@
"label": "?",
}
}
-} \ No newline at end of file
+}
diff --git a/data/constants/keycodes/extras/keycodes_norwegian_0.0.1.hjson b/data/constants/keycodes/extras/keycodes_norwegian_0.0.1.hjson
index 4e8cbb5d0e..0cc79c5631 100644
--- a/data/constants/keycodes/extras/keycodes_norwegian_0.0.1.hjson
+++ b/data/constants/keycodes/extras/keycodes_norwegian_0.0.1.hjson
@@ -352,4 +352,4 @@
"label": "µ",
}
}
-} \ No newline at end of file
+}
diff --git a/data/constants/keycodes/extras/keycodes_plover_0.0.1.hjson b/data/constants/keycodes/extras/keycodes_plover_0.0.1.hjson
index fb00ef0c62..78cfe9dd41 100644
--- a/data/constants/keycodes/extras/keycodes_plover_0.0.1.hjson
+++ b/data/constants/keycodes/extras/keycodes_plover_0.0.1.hjson
@@ -83,4 +83,4 @@
"key": "PV_U"
}
}
-} \ No newline at end of file
+}
diff --git a/data/constants/keycodes/extras/keycodes_plover_dvorak_0.0.1.hjson b/data/constants/keycodes/extras/keycodes_plover_dvorak_0.0.1.hjson
index 9656dd9821..8e1fe29f8b 100644
--- a/data/constants/keycodes/extras/keycodes_plover_dvorak_0.0.1.hjson
+++ b/data/constants/keycodes/extras/keycodes_plover_dvorak_0.0.1.hjson
@@ -70,4 +70,4 @@
"key": "PD_U"
}
}
-} \ No newline at end of file
+}
diff --git a/data/constants/keycodes/extras/keycodes_polish_0.0.1.hjson b/data/constants/keycodes/extras/keycodes_polish_0.0.1.hjson
index 609011b1f7..f09f2c9b64 100644
--- a/data/constants/keycodes/extras/keycodes_polish_0.0.1.hjson
+++ b/data/constants/keycodes/extras/keycodes_polish_0.0.1.hjson
@@ -352,4 +352,4 @@
"label": "Ń",
}
}
-} \ No newline at end of file
+}
diff --git a/data/constants/keycodes/extras/keycodes_portuguese_0.0.1.hjson b/data/constants/keycodes/extras/keycodes_portuguese_0.0.1.hjson
index c8e43065d2..ec773ddbb5 100644
--- a/data/constants/keycodes/extras/keycodes_portuguese_0.0.1.hjson
+++ b/data/constants/keycodes/extras/keycodes_portuguese_0.0.1.hjson
@@ -352,4 +352,4 @@
"label": "€",
}
}
-} \ No newline at end of file
+}
diff --git a/data/constants/keycodes/extras/keycodes_portuguese_mac_iso_0.0.1.hjson b/data/constants/keycodes/extras/keycodes_portuguese_mac_iso_0.0.1.hjson
index b1c9aaad98..503a3e92a6 100644
--- a/data/constants/keycodes/extras/keycodes_portuguese_mac_iso_0.0.1.hjson
+++ b/data/constants/keycodes/extras/keycodes_portuguese_mac_iso_0.0.1.hjson
@@ -617,4 +617,4 @@
"label": "–",
}
}
-} \ No newline at end of file
+}
diff --git a/data/constants/keycodes/extras/keycodes_romanian_0.0.1.hjson b/data/constants/keycodes/extras/keycodes_romanian_0.0.1.hjson
index 42b1e89d3b..f388523146 100644
--- a/data/constants/keycodes/extras/keycodes_romanian_0.0.1.hjson
+++ b/data/constants/keycodes/extras/keycodes_romanian_0.0.1.hjson
@@ -441,4 +441,4 @@
"label": "»",
}
}
-} \ No newline at end of file
+}
diff --git a/data/constants/keycodes/extras/keycodes_russian_0.0.1.hjson b/data/constants/keycodes/extras/keycodes_russian_0.0.1.hjson
index d83fc0f61f..41904be634 100644
--- a/data/constants/keycodes/extras/keycodes_russian_0.0.1.hjson
+++ b/data/constants/keycodes/extras/keycodes_russian_0.0.1.hjson
@@ -288,4 +288,4 @@
"label": "₽",
}
}
-} \ No newline at end of file
+}
diff --git a/data/constants/keycodes/extras/keycodes_serbian_0.0.1.hjson b/data/constants/keycodes/extras/keycodes_serbian_0.0.1.hjson
index 98957930a0..3ddd7f15df 100644
--- a/data/constants/keycodes/extras/keycodes_serbian_0.0.1.hjson
+++ b/data/constants/keycodes/extras/keycodes_serbian_0.0.1.hjson
@@ -304,4 +304,4 @@
"label": "€",
}
}
-} \ No newline at end of file
+}
diff --git a/data/constants/keycodes/extras/keycodes_serbian_latin_0.0.1.hjson b/data/constants/keycodes/extras/keycodes_serbian_latin_0.0.1.hjson
index ca4746b646..eec0877aa7 100644
--- a/data/constants/keycodes/extras/keycodes_serbian_latin_0.0.1.hjson
+++ b/data/constants/keycodes/extras/keycodes_serbian_latin_0.0.1.hjson
@@ -404,4 +404,4 @@
"label": "§",
}
}
-} \ No newline at end of file
+}
diff --git a/data/constants/keycodes/extras/keycodes_slovak_0.0.1.hjson b/data/constants/keycodes/extras/keycodes_slovak_0.0.1.hjson
index 14eb4b783a..dbf39b5f49 100644
--- a/data/constants/keycodes/extras/keycodes_slovak_0.0.1.hjson
+++ b/data/constants/keycodes/extras/keycodes_slovak_0.0.1.hjson
@@ -440,4 +440,4 @@
"label": "}",
}
}
-} \ No newline at end of file
+}
diff --git a/data/constants/keycodes/extras/keycodes_slovenian_0.0.1.hjson b/data/constants/keycodes/extras/keycodes_slovenian_0.0.1.hjson
index fd1a4eb4fc..d264d3d392 100644
--- a/data/constants/keycodes/extras/keycodes_slovenian_0.0.1.hjson
+++ b/data/constants/keycodes/extras/keycodes_slovenian_0.0.1.hjson
@@ -400,4 +400,4 @@
"label": "§",
}
}
-} \ No newline at end of file
+}
diff --git a/data/constants/keycodes/extras/keycodes_spanish_0.0.1.hjson b/data/constants/keycodes/extras/keycodes_spanish_0.0.1.hjson
index db3b068e97..9656e35674 100644
--- a/data/constants/keycodes/extras/keycodes_spanish_0.0.1.hjson
+++ b/data/constants/keycodes/extras/keycodes_spanish_0.0.1.hjson
@@ -356,4 +356,4 @@
"label": "}",
}
}
-} \ No newline at end of file
+}
diff --git a/data/constants/keycodes/extras/keycodes_spanish_dvorak_0.0.1.hjson b/data/constants/keycodes/extras/keycodes_spanish_dvorak_0.0.1.hjson
index 39119a6a91..fa0a93ff85 100644
--- a/data/constants/keycodes/extras/keycodes_spanish_dvorak_0.0.1.hjson
+++ b/data/constants/keycodes/extras/keycodes_spanish_dvorak_0.0.1.hjson
@@ -356,4 +356,4 @@
"label": "}",
}
}
-} \ No newline at end of file
+}
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
index fb1de29e6e..51ad69a55a 100644
--- 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
@@ -340,4 +340,4 @@
"label": "`",
}
}
-} \ No newline at end of file
+}
diff --git a/data/constants/keycodes/extras/keycodes_swedish_0.0.1.hjson b/data/constants/keycodes/extras/keycodes_swedish_0.0.1.hjson
index 6db71ea241..f538a81bd9 100644
--- a/data/constants/keycodes/extras/keycodes_swedish_0.0.1.hjson
+++ b/data/constants/keycodes/extras/keycodes_swedish_0.0.1.hjson
@@ -356,4 +356,4 @@
"label": "µ",
}
}
-} \ No newline at end of file
+}
diff --git a/data/constants/keycodes/extras/keycodes_swedish_mac_ansi_0.0.1.hjson b/data/constants/keycodes/extras/keycodes_swedish_mac_ansi_0.0.1.hjson
index ab7c3ad8d1..59f0173e89 100644
--- a/data/constants/keycodes/extras/keycodes_swedish_mac_ansi_0.0.1.hjson
+++ b/data/constants/keycodes/extras/keycodes_swedish_mac_ansi_0.0.1.hjson
@@ -639,4 +639,4 @@
"label": "—",
}
}
-} \ No newline at end of file
+}
diff --git a/data/constants/keycodes/extras/keycodes_swedish_mac_iso_0.0.1.hjson b/data/constants/keycodes/extras/keycodes_swedish_mac_iso_0.0.1.hjson
index cafd815776..cf2c0d9fdf 100644
--- a/data/constants/keycodes/extras/keycodes_swedish_mac_iso_0.0.1.hjson
+++ b/data/constants/keycodes/extras/keycodes_swedish_mac_iso_0.0.1.hjson
@@ -637,4 +637,4 @@
"label": "—",
}
}
-} \ No newline at end of file
+}
diff --git a/data/constants/keycodes/extras/keycodes_swedish_pro_mac_ansi_0.0.1.hjson b/data/constants/keycodes/extras/keycodes_swedish_pro_mac_ansi_0.0.1.hjson
index c82c79c711..911cbc2be8 100644
--- a/data/constants/keycodes/extras/keycodes_swedish_pro_mac_ansi_0.0.1.hjson
+++ b/data/constants/keycodes/extras/keycodes_swedish_pro_mac_ansi_0.0.1.hjson
@@ -639,4 +639,4 @@
"label": "—",
}
}
-} \ No newline at end of file
+}
diff --git a/data/constants/keycodes/extras/keycodes_swedish_pro_mac_iso_0.0.1.hjson b/data/constants/keycodes/extras/keycodes_swedish_pro_mac_iso_0.0.1.hjson
index 4555739ccd..d8e532f792 100644
--- a/data/constants/keycodes/extras/keycodes_swedish_pro_mac_iso_0.0.1.hjson
+++ b/data/constants/keycodes/extras/keycodes_swedish_pro_mac_iso_0.0.1.hjson
@@ -637,4 +637,4 @@
"label": "—",
}
}
-} \ No newline at end of file
+}
diff --git a/data/constants/keycodes/extras/keycodes_swiss_de_0.0.1.hjson b/data/constants/keycodes/extras/keycodes_swiss_de_0.0.1.hjson
index ae260a5e56..e4a5f91158 100644
--- a/data/constants/keycodes/extras/keycodes_swiss_de_0.0.1.hjson
+++ b/data/constants/keycodes/extras/keycodes_swiss_de_0.0.1.hjson
@@ -376,4 +376,4 @@
"label": "\\",
}
}
-} \ No newline at end of file
+}
diff --git a/data/constants/keycodes/extras/keycodes_swiss_fr_0.0.1.hjson b/data/constants/keycodes/extras/keycodes_swiss_fr_0.0.1.hjson
index 83fb86e49c..e518658314 100644
--- a/data/constants/keycodes/extras/keycodes_swiss_fr_0.0.1.hjson
+++ b/data/constants/keycodes/extras/keycodes_swiss_fr_0.0.1.hjson
@@ -376,4 +376,4 @@
"label": "\\",
}
}
-} \ No newline at end of file
+}
diff --git a/data/constants/keycodes/extras/keycodes_turkish_f_0.0.1.hjson b/data/constants/keycodes/extras/keycodes_turkish_f_0.0.1.hjson
index 2689f10dbe..0f527e04d6 100644
--- a/data/constants/keycodes/extras/keycodes_turkish_f_0.0.1.hjson
+++ b/data/constants/keycodes/extras/keycodes_turkish_f_0.0.1.hjson
@@ -477,4 +477,4 @@
"label": "º",
}
}
-} \ No newline at end of file
+}
diff --git a/data/constants/keycodes/extras/keycodes_turkish_q_0.0.1.hjson b/data/constants/keycodes/extras/keycodes_turkish_q_0.0.1.hjson
index e00cee9ce3..e736bb52a2 100644
--- a/data/constants/keycodes/extras/keycodes_turkish_q_0.0.1.hjson
+++ b/data/constants/keycodes/extras/keycodes_turkish_q_0.0.1.hjson
@@ -372,4 +372,4 @@
"label": "` (dead)",
}
}
-} \ No newline at end of file
+}
diff --git a/data/constants/keycodes/extras/keycodes_uk_0.0.1.hjson b/data/constants/keycodes/extras/keycodes_uk_0.0.1.hjson
index 006bf5c59e..aa97e11fa9 100644
--- a/data/constants/keycodes/extras/keycodes_uk_0.0.1.hjson
+++ b/data/constants/keycodes/extras/keycodes_uk_0.0.1.hjson
@@ -350,4 +350,4 @@
"label": "Á"
}
}
-} \ No newline at end of file
+}
diff --git a/data/constants/keycodes/extras/keycodes_ukrainian_0.0.1.hjson b/data/constants/keycodes/extras/keycodes_ukrainian_0.0.1.hjson
index 2e8629f58b..3596dc14e0 100644
--- a/data/constants/keycodes/extras/keycodes_ukrainian_0.0.1.hjson
+++ b/data/constants/keycodes/extras/keycodes_ukrainian_0.0.1.hjson
@@ -292,4 +292,4 @@
"label": "ґ",
}
}
-} \ No newline at end of file
+}
diff --git a/data/constants/keycodes/extras/keycodes_us_extended_0.0.1.hjson b/data/constants/keycodes/extras/keycodes_us_extended_0.0.1.hjson
index ecac6ca161..15b21dd526 100644
--- a/data/constants/keycodes/extras/keycodes_us_extended_0.0.1.hjson
+++ b/data/constants/keycodes/extras/keycodes_us_extended_0.0.1.hjson
@@ -585,4 +585,4 @@
"label": "̉ (dead)",
}
}
-} \ No newline at end of file
+}
diff --git a/data/constants/keycodes/extras/keycodes_us_international_0.0.1.hjson b/data/constants/keycodes/extras/keycodes_us_international_0.0.1.hjson
index 36a574a4ad..34328be8b8 100644
--- a/data/constants/keycodes/extras/keycodes_us_international_0.0.1.hjson
+++ b/data/constants/keycodes/extras/keycodes_us_international_0.0.1.hjson
@@ -505,4 +505,4 @@
"label": "¢",
}
}
-} \ No newline at end of file
+}
diff --git a/data/constants/keycodes/extras/keycodes_us_international_linux_0.0.1.hjson b/data/constants/keycodes/extras/keycodes_us_international_linux_0.0.1.hjson
index d6bdf2e02d..fcf848dd87 100644
--- a/data/constants/keycodes/extras/keycodes_us_international_linux_0.0.1.hjson
+++ b/data/constants/keycodes/extras/keycodes_us_international_linux_0.0.1.hjson
@@ -573,4 +573,4 @@
"label": "̉ (dead)",
}
}
-} \ No newline at end of file
+}
diff --git a/data/constants/keycodes/extras/keycodes_workman_0.0.1.hjson b/data/constants/keycodes/extras/keycodes_workman_0.0.1.hjson
index 27471a15e4..14220e560e 100644
--- a/data/constants/keycodes/extras/keycodes_workman_0.0.1.hjson
+++ b/data/constants/keycodes/extras/keycodes_workman_0.0.1.hjson
@@ -299,4 +299,4 @@
"label": "?",
}
}
-} \ No newline at end of file
+}
diff --git a/data/constants/keycodes/extras/keycodes_workman_zxcvm_0.0.1.hjson b/data/constants/keycodes/extras/keycodes_workman_zxcvm_0.0.1.hjson
index 86f6a5bffb..f05ec1a3ea 100644
--- a/data/constants/keycodes/extras/keycodes_workman_zxcvm_0.0.1.hjson
+++ b/data/constants/keycodes/extras/keycodes_workman_zxcvm_0.0.1.hjson
@@ -299,4 +299,4 @@
"label": "?",
}
}
-} \ No newline at end of file
+}
diff --git a/data/constants/keycodes/keycodes_0.0.1.hjson b/data/constants/keycodes/keycodes_0.0.1.hjson
index 7ba1ecf201..c40baf13dc 100644
--- a/data/constants/keycodes/keycodes_0.0.1.hjson
+++ b/data/constants/keycodes/keycodes_0.0.1.hjson
@@ -93,4 +93,4 @@
"key": "SAFE_RANGE"
}
}
-} \ No newline at end of file
+}
diff --git a/data/constants/keycodes/keycodes_0.0.1_joystick.hjson b/data/constants/keycodes/keycodes_0.0.1_joystick.hjson
index 0bda7c29f3..b851d72eef 100644
--- a/data/constants/keycodes/keycodes_0.0.1_joystick.hjson
+++ b/data/constants/keycodes/keycodes_0.0.1_joystick.hjson
@@ -225,4 +225,4 @@
]
}
}
-} \ No newline at end of file
+}
diff --git a/data/constants/keycodes/keycodes_0.0.1_magic.hjson b/data/constants/keycodes/keycodes_0.0.1_magic.hjson
index 7ee1f2bce9..0e3e8dc55f 100644
--- a/data/constants/keycodes/keycodes_0.0.1_magic.hjson
+++ b/data/constants/keycodes/keycodes_0.0.1_magic.hjson
@@ -246,4 +246,4 @@
]
}
}
-} \ No newline at end of file
+}
diff --git a/data/constants/keycodes/keycodes_0.0.1_programmable_button.hjson b/data/constants/keycodes/keycodes_0.0.1_programmable_button.hjson
index 645bcd6a39..7d031728a6 100644
--- a/data/constants/keycodes/keycodes_0.0.1_programmable_button.hjson
+++ b/data/constants/keycodes/keycodes_0.0.1_programmable_button.hjson
@@ -225,4 +225,4 @@
]
}
}
-} \ No newline at end of file
+}
diff --git a/data/constants/keycodes/keycodes_0.0.1_sequencer.hjson b/data/constants/keycodes/keycodes_0.0.1_sequencer.hjson
index 039d09b2fa..85844ae99c 100644
--- a/data/constants/keycodes/keycodes_0.0.1_sequencer.hjson
+++ b/data/constants/keycodes/keycodes_0.0.1_sequencer.hjson
@@ -37,4 +37,4 @@
"key": "SQ_SCLR"
}
}
-} \ No newline at end of file
+}
diff --git a/data/constants/keycodes/keycodes_0.0.2_basic.hjson b/data/constants/keycodes/keycodes_0.0.2_basic.hjson
index 2b5df85d99..d9cefe7e93 100644
--- a/data/constants/keycodes/keycodes_0.0.2_basic.hjson
+++ b/data/constants/keycodes/keycodes_0.0.2_basic.hjson
@@ -17,4 +17,4 @@
]
}
}
-} \ No newline at end of file
+}
diff --git a/data/constants/keycodes/keycodes_0.0.2_magic.hjson b/data/constants/keycodes/keycodes_0.0.2_magic.hjson
index 81758975e3..2fc8ba038d 100644
--- a/data/constants/keycodes/keycodes_0.0.2_magic.hjson
+++ b/data/constants/keycodes/keycodes_0.0.2_magic.hjson
@@ -248,4 +248,4 @@
]
}
}
-} \ No newline at end of file
+}
diff --git a/data/constants/keycodes/keycodes_0.0.2_sequencer.hjson b/data/constants/keycodes/keycodes_0.0.2_sequencer.hjson
index eedaed166c..445a2c9328 100644
--- a/data/constants/keycodes/keycodes_0.0.2_sequencer.hjson
+++ b/data/constants/keycodes/keycodes_0.0.2_sequencer.hjson
@@ -66,4 +66,4 @@
]
}
}
-} \ No newline at end of file
+}
diff --git a/data/mappings/info_config.hjson b/data/mappings/info_config.hjson
index b643553b52..bab881583a 100644
--- a/data/mappings/info_config.hjson
+++ b/data/mappings/info_config.hjson
@@ -201,6 +201,7 @@
// Tapping
"CHORDAL_HOLD": {"info_key": "tapping.chordal_hold", "value_type": "flag"},
+ "FLOW_TAP_TERM": {"info_key": "tapping.flow_tap_term", "value_type": "int"},
"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"},
diff --git a/data/mappings/info_rules.hjson b/data/mappings/info_rules.hjson
index 00685b5b5f..238957f170 100644
--- a/data/mappings/info_rules.hjson
+++ b/data/mappings/info_rules.hjson
@@ -53,8 +53,8 @@
"WS2812_DRIVER": {"info_key": "ws2812.driver"},
// Items we want flagged in lint
- "CTPC": {"info_key": "_deprecated.ctpc", "deprecated": true, "replace_with": "CONVERT_TO=proton_c"},
- "CONVERT_TO_PROTON_C": {"info_key": "_deprecated.ctpc", "deprecated": true, "replace_with": "CONVERT_TO=proton_c"},
"DEFAULT_FOLDER": {"info_key": "_deprecated.default_folder", "deprecated": true},
+ "CTPC": {"info_key": "_invalid.ctpc", "invalid": true, "replace_with": "CONVERT_TO=proton_c"},
+ "CONVERT_TO_PROTON_C": {"info_key": "_invalid.ctpc", "invalid": true, "replace_with": "CONVERT_TO=proton_c"},
"VIAL_ENABLE": {"info_key": "_invalid.vial", "invalid": true}
}
diff --git a/data/mappings/keyboard_aliases.hjson b/data/mappings/keyboard_aliases.hjson
index b601a42761..0a640fd3e0 100644
--- a/data/mappings/keyboard_aliases.hjson
+++ b/data/mappings/keyboard_aliases.hjson
@@ -146,6 +146,9 @@
"daisy": {
"target": "ktec/daisy"
},
+ "deemen17/de60": {
+ "target": "deemen17/de60/r1"
+ },
"dp3000": {
"target": "dp3000/rev1"
},
@@ -347,6 +350,9 @@
"keycapsss/plaid_pad": {
"target": "keycapsss/plaid_pad/rev1"
},
+ "keyten/kt60hs_t": {
+ "target": "keyten/kt60hs_t/v1"
+ },
"kira75": {
"target": "kira/kira75"
},
@@ -581,6 +587,9 @@
"ploopyco/trackball": {
"target": "ploopyco/trackball/rev1_005"
},
+ "plywrks/ply8x": {
+ "target": "plywrks/ply8x/solder"
+ },
"polilla": {
"target": "polilla/rev1"
},
diff --git a/data/schemas/community_module.jsonschema b/data/schemas/community_module.jsonschema
index 3cdb6d6a42..feced00508 100644
--- a/data/schemas/community_module.jsonschema
+++ b/data/schemas/community_module.jsonschema
@@ -7,6 +7,7 @@
"properties": {
"module_name": {"$ref": "qmk.definitions.v1#/text_identifier"},
"maintainer": {"$ref": "qmk.definitions.v1#/text_identifier"},
+ "license": {"type": "string"},
"url": {
"type": "string",
"format": "uri"
diff --git a/data/schemas/keyboard.jsonschema b/data/schemas/keyboard.jsonschema
index 92a17e1ef8..4e8bae1084 100644
--- a/data/schemas/keyboard.jsonschema
+++ b/data/schemas/keyboard.jsonschema
@@ -319,7 +319,7 @@
"properties": {
"driver": {
"type": "string",
- "enum": ["custom", "embedded_flash", "legacy", "rp2040_flash", "spi_flash"]
+ "enum": ["none", "custom", "embedded_flash", "legacy", "rp2040_flash", "spi_flash"]
},
"backing_size": {"$ref": "qmk.definitions.v1#/unsigned_int"},
"logical_size": {"$ref": "qmk.definitions.v1#/unsigned_int"}
@@ -554,6 +554,7 @@
"items": {
"type": "object",
"additionalProperties": false,
+ "required": ["x", "y"],
"properties": {
"matrix": {
"type": "array",
@@ -640,6 +641,7 @@
"items": {
"type": "object",
"additionalProperties": false,
+ "required": ["x", "y"],
"properties": {
"matrix": {
"type": "array",
diff --git a/docs/_sidebar.json b/docs/_sidebar.json
index ae4d8fe4a9..f504f6f900 100644
--- a/docs/_sidebar.json
+++ b/docs/_sidebar.json
@@ -227,6 +227,7 @@
{ "text": "ADC Driver", "link": "/drivers/adc" },
{ "text": "APA102 Driver", "link": "/drivers/apa102" },
{ "text": "Audio Driver", "link": "/drivers/audio" },
+ { "text": "Battery Driver", "link": "/drivers/battery" },
{ "text": "EEPROM Driver", "link": "/drivers/eeprom" },
{ "text": "Flash Driver", "link": "/drivers/flash" },
{ "text": "I2C Driver", "link": "/drivers/i2c" },
diff --git a/docs/cli.md b/docs/cli.md
index 7d4c10cedd..36983d5e00 100644
--- a/docs/cli.md
+++ b/docs/cli.md
@@ -6,7 +6,7 @@ The QMK CLI (command line interface) makes building and working with QMK keyboar
### Requirements {#requirements}
-QMK requires Python 3.7 or greater. We try to keep the number of requirements small but you will also need to install the packages listed in [`requirements.txt`](https://github.com/qmk/qmk_firmware/blob/master/requirements.txt). These are installed automatically when you install the QMK CLI.
+QMK requires Python 3.9 or greater. We try to keep the number of requirements small but you will also need to install the packages listed in [`requirements.txt`](https://github.com/qmk/qmk_firmware/blob/master/requirements.txt). These are installed automatically when you install the QMK CLI.
### Install Using Homebrew (macOS, some Linux) {#install-using-homebrew}
@@ -20,7 +20,7 @@ qmk setup # This will clone `qmk/qmk_firmware` and optionally set up your build
### Install Using pip {#install-using-easy_install-or-pip}
-If your system is not listed above you can install QMK manually. First ensure that you have Python 3.7 (or later) installed and have installed pip. Then install QMK with this command:
+If your system is not listed above you can install QMK manually. First ensure that you have Python 3.9 (or later) installed and have installed pip. Then install QMK with this command:
```
python3 -m pip install qmk
diff --git a/docs/cli_development.md b/docs/cli_development.md
index 2e74220d4b..74ac53d327 100644
--- a/docs/cli_development.md
+++ b/docs/cli_development.md
@@ -44,7 +44,7 @@ def hello(cli):
First we import the `cli` object from `milc`. This is how we interact with the user and control the script's behavior. We use `@cli.argument()` to define a command line flag, `--name`. This also creates a configuration variable named `hello.name` (and the corresponding `user.name`) which the user can set so they don't have to specify the argument. The `cli.subcommand()` decorator designates this function as a subcommand. The name of the subcommand will be taken from the name of the function.
-Once inside our function we find a typical "Hello, World!" program. We use `cli.log` to access the underlying [Logger Object](https://docs.python.org/3.7/library/logging.html#logger-objects), whose behavior is user controllable. We also access the value for name supplied by the user as `cli.config.hello.name`. The value for `cli.config.hello.name` will be determined by looking at the `--name` argument supplied by the user, if not provided it will use the value in the `qmk.ini` config file, and if neither of those is provided it will fall back to the default supplied in the `cli.argument()` decorator.
+Once inside our function we find a typical "Hello, World!" program. We use `cli.log` to access the underlying [Logger Object](https://docs.python.org/3.9/library/logging.html#logger-objects), whose behavior is user controllable. We also access the value for name supplied by the user as `cli.config.hello.name`. The value for `cli.config.hello.name` will be determined by looking at the `--name` argument supplied by the user, if not provided it will use the value in the `qmk.ini` config file, and if neither of those is provided it will fall back to the default supplied in the `cli.argument()` decorator.
# User Interaction
@@ -56,13 +56,13 @@ There are two main methods for outputting text in a subcommand- `cli.log` and `c
You can use special tokens to colorize your text, to make it easier to understand the output of your program. See [Colorizing Text](#colorizing-text) below.
-Both of these methods support built-in string formatting using python's [printf style string format operations](https://docs.python.org/3.7/library/stdtypes.html#old-string-formatting). You can use tokens such as `%s` and `%d` within your text strings then pass the values as arguments. See our Hello, World program above for an example.
+Both of these methods support built-in string formatting using python's [printf style string format operations](https://docs.python.org/3.9/library/stdtypes.html#old-string-formatting). You can use tokens such as `%s` and `%d` within your text strings then pass the values as arguments. See our Hello, World program above for an example.
You should never use the format operator (`%`) directly, always pass values as arguments.
### Logging (`cli.log`)
-The `cli.log` object gives you access to a [Logger Object](https://docs.python.org/3.7/library/logging.html#logger-objects). We have configured our log output to show the user a nice emoji for each log level (or the log level name if their terminal does not support unicode.) This way the user can tell at a glance which messages are most important when something goes wrong.
+The `cli.log` object gives you access to a [Logger Object](https://docs.python.org/3.9/library/logging.html#logger-objects). We have configured our log output to show the user a nice emoji for each log level (or the log level name if their terminal does not support unicode.) This way the user can tell at a glance which messages are most important when something goes wrong.
The default log level is `INFO`. If the user runs `qmk -v <subcommand>` the default log level will be set to `DEBUG`.
diff --git a/docs/coding_conventions_python.md b/docs/coding_conventions_python.md
index 502ee9102e..b25466bf82 100644
--- a/docs/coding_conventions_python.md
+++ b/docs/coding_conventions_python.md
@@ -2,7 +2,7 @@
Most of our style follows PEP8 with some local modifications to make things less nit-picky.
-* We target Python 3.7 for compatibility with all supported platforms.
+* We target Python 3.9 for compatibility with all supported platforms.
* We indent using four (4) spaces (soft tabs)
* We encourage liberal use of comments
* Think of them as a story describing the feature
@@ -317,7 +317,7 @@ At the time of this writing our tests are not very comprehensive. Looking at the
## Integration Tests
-Integration tests can be found in `lib/python/qmk/tests/test_cli_commands.py`. This is where CLI commands are actually run and their overall behavior is verified. We use [`subprocess`](https://docs.python.org/3.7/library/subprocess.html#module-subprocess) to launch each CLI command and a combination of checking output and returncode to determine if the right thing happened.
+Integration tests can be found in `lib/python/qmk/tests/test_cli_commands.py`. This is where CLI commands are actually run and their overall behavior is verified. We use [`subprocess`](https://docs.python.org/3.9/library/subprocess.html#module-subprocess) to launch each CLI command and a combination of checking output and returncode to determine if the right thing happened.
## Unit Tests
diff --git a/docs/configurator_diagram.drawio b/docs/configurator_diagram.drawio
index 091a3a76b8..661f884def 100644
--- a/docs/configurator_diagram.drawio
+++ b/docs/configurator_diagram.drawio
@@ -1 +1 @@
-<mxfile host="Electron" modified="2021-08-09T19:46:29.036Z" agent="5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/14.6.13 Chrome/89.0.4389.128 Electron/12.0.7 Safari/537.36" etag="PQ2r34UrZa0TfW4Fw0EV" version="14.6.13" type="device"><diagram id="NEtccoSKIy4HskWlhJpu" name="Page-1">5VvbcqM4EP2a1O4+hOLqy2Ni5zKX1CTxzszOU0oG2dZEIBZEYu/XbwuEDQg7csZ2vFlXjQca0RLdR+eohXPiDML5VYLi2Q0LMD2xzWB+4gxPbNvqezb8JywLaTFtr7BMExJI28owIv/gsqG0ZiTAaa0hZ4xyEteNPosi7POaDSUJe643mzBa7zVGU6wYRj6iqvU7CfissPY8c2W/xmQ6K3u2THklRGVjaUhnKGDPFZNzceIMEsZ4cRTOB5iK6JVxKe67XHN1ObAER1znhgfT76Zzxxp3Z49j5+7zjw/z+NSS+XlCNJNPLEfLF2UIcAARkacs4TM2ZRGiFyvrecKyKMCiHxPOVm0+MxaD0QLjT8z5QqYXZZyBacZDKq/iKDgTyYLTiEW4sFwSSqXLAKWz3L9orD64jEXKssTHG57WlQBCyRTzTVGRDsWTV3qQcb3CLMQ8WUCDBFPEyVMdK0hCbrpst8oKHMjEbJEk9+UckTDHcTWm0jQk4RR6pWQM3z4l8QNKuDhkYZxxnKRw/J0ljymHJ2HRg2X35vDPiKPp2kA/4YTj+cbIyKunjmv0zMpHeljSQXH6XJla0jSrzKrStvPIei9Hdgm9HNoZpyTCgyXZmPWYI0qmERz7EDGcgIGiMaa3LCUittULIoQEaOZzo8GYcc7CSoMz6ZKLqXQOJBKLgYXzqSBc4xmPKcy11JgSPsvG0GLCIn6JQkJFiK8xfcLCjbwgJyDM+uJ8wChL8ud0ivSILnjCHnHblQlMyIp9kn/ADkMJCK55G14OL4YXmybrFhhyOzXQtKEGdMVwVeBUzDvHTjmKjdS54jWfojQlfpP3YCR/CRwZXnn6o3ptOJcgK84W8gwma8JVz7lZ0qZVI9Ff401PkzddTdqsJM5rme6lTZtdZQ+3jMCTLXFjlRkqyaZJI8Vzy7uqytl01Gk4chqOisAojnJYLR/7F5BWTpkV0gZUTDjgbnOUxTEorqCosxO7QyGG5+MEjqbiaDBLoPsTGzo2L0mCJ2yuNhri9FHQi21+iehCAfHzjHA8ilEOkWegnTqGm0QVkiDIVwU5950j/3Garw9Kdsjd7YYZlmurkhlUYrDNFoB19qUnltPCCUW40xhFZcBnnIvl65noTChxNCFT4+/w0ZiEZXOwV+9Qk9bmd0SiKYTeNm+F9AM2RKTX3tno4iN6QiM/IbFYHXz7eqHeOJI8AeM2YbTQDL4fiuFnCeIs0RvmNUt54eWqUK1iwOnaZ28Asr7cfC0894E/q2PYehDs7w2CGqtFdbndqklVRaoI1BpN2tEaXVdryql2JGKzTKiEgvdasXHchqNDi01XAz/vpiK0tOHW0YTbYUpC6/1ULj9TuH0XlWZ93riOuhjotsz/rmf09pWkjpKkuvI/4sWYoSRIG+K/ks9PsgV4ucEcBYgjXV2ekCR8hoiq7a+uoeGZX+RN3PQ1BsdiwXB2+wG+h629rFR7SKDaRPSLj4VIm7n2ptsuG2voPKRIu7Zt9N9apHtbiXRr7VirASVHVgtAc4cFoDZNekclypZnWK5p9Tp9y+v1up1y73nRQMbWBWHdz3LP90ASbav14HuW6L4m9spsHotE95Us3d18Kkm2mS5KSZziik76lGXBy+XNLpTTq8O5Y6rKadkts3Rv27JlZ2uFE8VkrWTeX4z+nGS0DLSeWILDTYp3jyJ/Bqsf2xRrFXP4Bb6+3fy2tegdUuc6pqenct29pVFjkfryDulhtzDLWXskCnbarCtd75WadaoUlpqqBelBi0qzWDRINwzZanTkOObmkTVv8Pq1G+CgGMNuRVSl53csonZXV0R7RyWitrobIasPMMoCRGF4WY807b+PnD+OS3idXh347fuHrdrbt8qWu4+5WpzU1RcE81QocLTwHcMPIiMoUsJEPtI8+obPWqRZRlNK7+kLoqskejut3UWCeg1msh3L6PYrn54qsf2WbO3thYOjrpTeTGK1Oea4ikSQ/EaSX7t1qwiZfeC9W6ft9dO71TSn/D3YS3hz7KPSNEct3+/vlDyVciS2/FLOEnwYSWpskXS7ai3YOSjB2WqwcEDEm+9cjEwRuqaGfGTineJdhrOW3c/2AjApnO6/BNxBkpqVXrfz1pWes91Lx73KkPZ+UTkP31qHyiw26zFt2fEacGiWiPtWHXWNXvwuIIwpETNmDbPhuZhhAcvG+RWrJj3Wm2x99Vt+QXLYrS9XXdAVu4YDCCehIpztbHefRVH+a07dX22sc/efoLy+/daU5+pswh+I8vRXQt3joDyZVbeW015ztaxLgHU3/eZbnT3Tn6uuULYGwoF/z+lo7wYdF16AHes00GuuO/V3Qxui2bP0ULP1bqjTYK5yS2Gvm5vu/6sQ1IVzKa67KwTXEJK3GVu6KLWd14H0ZRjB6eovj4rmqz/gci7+BQ==</diagram></mxfile> \ No newline at end of file
+<mxfile host="Electron" modified="2021-08-09T19:46:29.036Z" agent="5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/14.6.13 Chrome/89.0.4389.128 Electron/12.0.7 Safari/537.36" etag="PQ2r34UrZa0TfW4Fw0EV" version="14.6.13" type="device"><diagram id="NEtccoSKIy4HskWlhJpu" name="Page-1">5VvbcqM4EP2a1O4+hOLqy2Ni5zKX1CTxzszOU0oG2dZEIBZEYu/XbwuEDQg7csZ2vFlXjQca0RLdR+eohXPiDML5VYLi2Q0LMD2xzWB+4gxPbNvqezb8JywLaTFtr7BMExJI28owIv/gsqG0ZiTAaa0hZ4xyEteNPosi7POaDSUJe643mzBa7zVGU6wYRj6iqvU7CfissPY8c2W/xmQ6K3u2THklRGVjaUhnKGDPFZNzceIMEsZ4cRTOB5iK6JVxKe67XHN1ObAER1znhgfT76Zzxxp3Z49j5+7zjw/z+NSS+XlCNJNPLEfLF2UIcAARkacs4TM2ZRGiFyvrecKyKMCiHxPOVm0+MxaD0QLjT8z5QqYXZZyBacZDKq/iKDgTyYLTiEW4sFwSSqXLAKWz3L9orD64jEXKssTHG57WlQBCyRTzTVGRDsWTV3qQcb3CLMQ8WUCDBFPEyVMdK0hCbrpst8oKHMjEbJEk9+UckTDHcTWm0jQk4RR6pWQM3z4l8QNKuDhkYZxxnKRw/J0ljymHJ2HRg2X35vDPiKPp2kA/4YTj+cbIyKunjmv0zMpHeljSQXH6XJla0jSrzKrStvPIei9Hdgm9HNoZpyTCgyXZmPWYI0qmERz7EDGcgIGiMaa3LCUittULIoQEaOZzo8GYcc7CSoMz6ZKLqXQOJBKLgYXzqSBc4xmPKcy11JgSPsvG0GLCIn6JQkJFiK8xfcLCjbwgJyDM+uJ8wChL8ud0ivSILnjCHnHblQlMyIp9kn/ADkMJCK55G14OL4YXmybrFhhyOzXQtKEGdMVwVeBUzDvHTjmKjdS54jWfojQlfpP3YCR/CRwZXnn6o3ptOJcgK84W8gwma8JVz7lZ0qZVI9Ff401PkzddTdqsJM5rme6lTZtdZQ+3jMCTLXFjlRkqyaZJI8Vzy7uqytl01Gk4chqOisAojnJYLR/7F5BWTpkV0gZUTDjgbnOUxTEorqCosxO7QyGG5+MEjqbiaDBLoPsTGzo2L0mCJ2yuNhri9FHQi21+iehCAfHzjHA8ilEOkWegnTqGm0QVkiDIVwU5950j/3Garw9Kdsjd7YYZlmurkhlUYrDNFoB19qUnltPCCUW40xhFZcBnnIvl65noTChxNCFT4+/w0ZiEZXOwV+9Qk9bmd0SiKYTeNm+F9AM2RKTX3tno4iN6QiM/IbFYHXz7eqHeOJI8AeM2YbTQDL4fiuFnCeIs0RvmNUt54eWqUK1iwOnaZ28Asr7cfC0894E/q2PYehDs7w2CGqtFdbndqklVRaoI1BpN2tEaXVdryql2JGKzTKiEgvdasXHchqNDi01XAz/vpiK0tOHW0YTbYUpC6/1ULj9TuH0XlWZ93riOuhjotsz/rmf09pWkjpKkuvI/4sWYoSRIG+K/ks9PsgV4ucEcBYgjXV2ekCR8hoiq7a+uoeGZX+RN3PQ1BsdiwXB2+wG+h629rFR7SKDaRPSLj4VIm7n2ptsuG2voPKRIu7Zt9N9apHtbiXRr7VirASVHVgtAc4cFoDZNekclypZnWK5p9Tp9y+v1up1y73nRQMbWBWHdz3LP90ASbav14HuW6L4m9spsHotE95Us3d18Kkm2mS5KSZziik76lGXBy+XNLpTTq8O5Y6rKadkts3Rv27JlZ2uFE8VkrWTeX4z+nGS0DLSeWILDTYp3jyJ/Bqsf2xRrFXP4Bb6+3fy2tegdUuc6pqenct29pVFjkfryDulhtzDLWXskCnbarCtd75WadaoUlpqqBelBi0qzWDRINwzZanTkOObmkTVv8Pq1G+CgGMNuRVSl53csonZXV0R7RyWitrobIasPMMoCRGF4WY807b+PnD+OS3idXh347fuHrdrbt8qWu4+5WpzU1RcE81QocLTwHcMPIiMoUsJEPtI8+obPWqRZRlNK7+kLoqskejut3UWCeg1msh3L6PYrn54qsf2WbO3thYOjrpTeTGK1Oea4ikSQ/EaSX7t1qwiZfeC9W6ft9dO71TSn/D3YS3hz7KPSNEct3+/vlDyVciS2/FLOEnwYSWpskXS7ai3YOSjB2WqwcEDEm+9cjEwRuqaGfGTineJdhrOW3c/2AjApnO6/BNxBkpqVXrfz1pWes91Lx73KkPZ+UTkP31qHyiw26zFt2fEacGiWiPtWHXWNXvwuIIwpETNmDbPhuZhhAcvG+RWrJj3Wm2x99Vt+QXLYrS9XXdAVu4YDCCehIpztbHefRVH+a07dX22sc/efoLy+/daU5+pswh+I8vRXQt3joDyZVbeW015ztaxLgHU3/eZbnT3Tn6uuULYGwoF/z+lo7wYdF16AHes00GuuO/V3Qxui2bP0ULP1bqjTYK5yS2Gvm5vu/6sQ1IVzKa67KwTXEJK3GVu6KLWd14H0ZRjB6eovj4rmqz/gci7+BQ==</diagram></mxfile>
diff --git a/docs/configurator_diagram.svg b/docs/configurator_diagram.svg
index bcf0bf76d1..1e540d70a6 100644
--- a/docs/configurator_diagram.svg
+++ b/docs/configurator_diagram.svg
@@ -1,3 +1,3 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="1261px" height="991px" viewBox="-0.5 -0.5 1261 991" style="background-color: rgb(255, 255, 255);"><defs/><g><path d="M 885.2 40 L 1060 40" fill="none" stroke="#000000" stroke-miterlimit="10" stroke-dasharray="3 3" pointer-events="stroke"/><image x="804.7" y="-0.5" width="80" height="80" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHcAAAB8CAYAAABT/i9JAAAgAElEQVR4Xu19CbhdZXnuu/Y8n3k+OUPmhAyQQMJMQCZxqFpBvU7VKk6otQIq4BBBLVQF7a2ot/a2trW3j09br+3F1lZAJBBIQkLInJOcedjD2WfPwxrv8/3/+tdee+eckIRDCMcsnnCmvdfee73r/Yb3+77/l3D+OKMr0NbZ8xmfz/95p9PVkEonP5SMTf7zGZ3oVXyS9Cqee8GdurV10RKP3/tIMBS+0e3xegzDAP3TNA3pmcQTU+PD1wPQz5UPfh7cU0Cis6fvM35/6PPBcF0PXTACVNd19lWWy8hnZiBJBnKZ9NJ0On3sFE55Vh5yHtw5LnNbb29/wO3/fjBcd6PX5/MYugGdmGqCmkknIZcKcLlcYIDDQHomeR7cs3LbnuGL9PYvuSMQjNwVqqvvkSBxQA0dBG6pXER2ZpqB6XA5icKMvfSPvk+nzoN7hpf91Xtab29vv8cf/n64rv5Gnz9QxVLd0JFOJlAqFuBymyy1g0qcZdgayJwH99UD6XTP3L985R3BYPiu+vqmHkmqZmmxWEAqGWcG1+kklnIA6T9AgivYjIBHwkx8gjMYBO7MebN8uiDM5+N7e1f0B8OB74XrG28KBAMeXTdNq66zIGl6OoZSPgeX2819qQkcM71OP3zNfWjoXgU5n4YrN4TxwUOWWc6kz4M7n1id8rmWr1x9RzBSf2dDY0uvwyGBg0qAGigW8piOT7FzMZYyU8v/SZIL4dZeRDpWQPLVM4YSzvmZKbgZuAfNxwLZ8+CeMh6v+IG9K1b0hwOR7zU2Nt0UCIYqLDV0aJqORGwC+VwOHo+HvZYAlL66A/Vo6V2Ftv41cDg9KJZkZDIZ6Dx2QoHAzQ9h/LgJLgxk06nzZvkVo/YyJ1i5dv0ddZGGOxubW3slh8QiXcHSfD6H+NQEIJEvdVVFvJLkQF3HEnQsXofG1m4oGt0EGlRVR0kuI5PNmcETZ64nP4QxE1z6QzZzHtxXBdsVK9b1ByKB7zU1td4UDIc9PCel3FSHrumYmhhDPp+Bxy1YWvGnHn8EnUvXo2vxGji9PsZqTdVs4GoolRXkcjnOXBBzJ+HJD2Ps+AGL8edFjHmG9oILN3yqvr7xrpbW9l7J4aiw1CDFKIPo5Djzky6nqyo4oui4qXMpelduQFP7IqgalxFVk6nse12HqumMucVSGYVCocLc1CS8BO4xE1ycV6jmBdoV69b1RwJ1jzS3tt0citR5hMggWDoxNoxsJgOP12ulKcKf+gIRBmjv8rVwewMWeKqucoBVjTGXg0xgc/9cKJVQKpUrPtcEd/TYfitNymXPy49nDPCFGzZ/qr6p8a7Wts5eh5OzVChImVQKk+OjjKXXfOh+/Oaf/hKeUtxMU4C23mVYesElaOvuhaYbjI0MQAaiyVrxO12DRt/rOjSFMziXL0BRVM5cGCikphhzCVyhUOWymfMB1emgu27duv5AXdMjbe0dN4cZSyu+VFNVjA4PIZtJw+PzWcHRRW//LJ79xU8QCRhYdsElWLZ6A9xeP2MisdAeKHHTq3K2EqCqDk3nQRQBr+k6FFVDPl9gj+HRsoFiagqewjDGBji49F/+PLinBu2GzZd9qqGp5c6Oju4+J7HUVolJzyQxOjrMzCEJ99zkckaR8NDRuwyrL7wUnT39jKUc0IqJJbAoyJJNs0vfMxNMTNU0BiYPqkyfq2nI5nLs7OK1BLijA/vMmwrI584zd050N27c2BOINP5FW0fXTXX1DV6RvtBXYung8WPIpNPw2ljK5EDDgD8QxqqLLsXqdRvgDQQ5A22+U2GMNEEUv9cMzk4RGdvYave5ZI6LxRK7gbgbAIrpKXgLwyBwhVnO57LnzXItupsvu/pTTa0td3Z0L+pzOpxmaY3nptOJBEaHB7meSyy1q0eQsKh/OdZtuhy9vUu5L2UAqqZZ5X6zApQAU/yO/m76VxNwzlx+IxBzFV1DuVyGLJv+VoBLPrc4jNGjHFzmh8+Dy6HduPGKnkhj5C/auxfd1FDfyFlq1ksVVcXxo0eQTs3A6/NXqUeMpcEA1l9yJdZvuIQxlgdGnJVkfjViJDO5ZJJV5mPZ36tSHf547mvNnNZkNmO4Qv6W+95CscTlSlN6JL9LZtlXHMbI0ZcsX1/I536/mXv5Vdd9orm19e6unt4+l7OapYlEHEPHjgGSyVJbaY1qq71Ll+OSy67C4iXL2I0gIlpimshPK0ALQCnFqfhP5nuFiRZ+mBhKQJsstm4QAldRbSmQKO9xs+wrDGNk4CXLLP9egrvxiit6muoav9+5qOfmhoZmL+WjPOrVISsKBg4fQkqw1AKUqb3wBf245LKrccmmyxAMmixljDM4I8kEM8bZgiZbIMQZa/paK4etAC9ukEpqxNUp4a/LZQWKRia5Aixn7iT8xRGMHN1rBXPF3yfmXnXd9Z9obWu7e1Hv4j5SiOySYCw6hcFjA9TTUIl4TX8KQ8fiZStw5TXXYfnyFeziMT9oRb3cT3Jwud9UFDNgIp8pclcC3jLJFXYL9Ymdj8w3Oze/STioHGD6yoQLK5/m0iMLqKrA5RWkYiG/sM3yFVdc3xNuCn+/p6fv5sbmFq9oJBMsPXRgP2aSSfj8gSr1iEe8flx+1RZcfsWViETCDEBZsI5FtjxQ4nmq6StZ4MN9JmdfdZQs5EPL32oGT4PMKLk6guapEGezCkVWURbCRRVzDZTSU4y5w0f2WiXCBQ/uO9793rGGxqau1rYOKzedmpjAwNEjoKoLtaqIthSRQixZtgw33HgjVq9aRaS1BUAUDNnVJGKaWakxWSdECZbSMNZSMGQKEJZgMVt0LExvJdAiUO1gC9baAynx3jm4wwxc8TmKxcLCZu77PvyxeG//4uax0WHEo1FMT0/D5w9a2Y+4EJSrXnXNNbj22mvQ3NDIGMejWm5KeZAk2MhlQvY7FslW/KiIaK2giokWFSGCsZydi7OegWfLf4VvFWaeiRfEWkWDLCuWImX2wDGzTO6FwA3YwKXPVVro4L73Qx+N9/QtbiY0H/+vX3Pzazv6+vpww0034sK1a+GiDkK6WEziMwE10w8R1VI6Q6kRD5ooiCKpUKQ6Zgpk/syrOmbka/pny4eKn0VkzEAUNw/dUDxI48qUipKssL/XBlLiZwZuaRhDh1+0UrVUsbC0vJD7lt/zwY/Ee/r6GbhP/ua/q8D90r33oG9RdxXYdLE4YwkwzlpZ5TVY+j2XDSklqWay8LuCpZXASQBuD4wq0qMIwKwcl4HKH0vn1Ml/qypjrV2REoGUJT+mpxA0wRXWKFUqLmxw3/3+D8cXmeA+9cTjVeA+/N3vIBDgooQ4GAs1jQVOQh0SOSsPkipiv/V7M4iqmG0TGDNStgsT9BzdZL+9aCAKBdxPc/B1M/ImRUrTeVRczVyhYYOb5dIwhg+/aBXr06ni0nJ5AU8c3Pa+D8YX9XLmPv3bJyv+1jDw8MPfrQKXfJeIcJlPNVMYlp7Y81NmqvlNYEXLTOgXZtgWITOgeF22okqZ1R5xA9mKCKKNhqVBZI7LMmOyKERw9p4INIkYwfIwhg7tMaNlYMGDe+t7PxDv7ulj4G576in4AzyYIgY8UgOuAJD5VMZgEUjZgDHLcNznmt0RigbF9JeceVxmtAdglRJe5SawgLSlSyyNMvNbRVFs5riatSKQEoEVMVeAK8xyOp1aWi6XF+6s0Dvf/f54V08vA/fZbU/PCS4rxZkRseVXmVBfqavatWAC154GCVZyEcIwdWAOFPPXImUywWMmV3RWWDcK5bRmMUGjVhqhIdea4xOBrgWXAM4sdHDf/q73xrsXcXCfe/YZBq64sx955GHLLFdYWmEcz2lNFpPqRP6WRcgiIOK/48BWQKkKuMwAjD2PtGJR7WHacSXFYmKFGUyRby/LZVYsEMwUpb3aQEqY6LLF3N1WpSqTTi9s5r7ttv8R7+ruYeDueG67BS4B/D0TXJH6UDAlCuaWAFFlmm0yo5WbVoQGqwjAmtkoZeJF+EogZhbgrZaaSquq1QBH1kJRGbhz+dfZgC6lowiVhzF4aLdVFcpkFji4b33nuy1wd+143oyWeZRJ4Pr9/irBgphFqY9dThTlOqvSY9ZVrSBJiBmW6eV1V2Hm7W0yXDfm6RSPlrnIIfwvPZbMMd1oFaGCfz9bIMVbWw2UGbhDDFx6LP1vwYP7lne8K97ZvYgxd/eunQxcYZa/971H4PN5udIkhH+rX6kmmLKxzfKvTPcV5pgrViw3NWVHDj4PzERfVJV2bPZH2W+SsixDUXlOWwHUDnSl+8ICnylUUYTlIQwerJjlbCazsM3ym99+W7yjq5uB++LuXSwVEm2lBK7b4zEBsBUBqoA20x2rTYYLGcJ3iuqQAFAUCuzFBMHSSiHBrOmaUTI7HxUlFBlU0mP9WWaz+VyKFE+NKkATcwnc4wcrZjmbXeDg3vIH77TA3btnN/zEXLOU9/DDj7C5HCFYCKmQpzBmMGX6Tt7+woMpxjQKhsyynuWfRRXIVLaEbmw9h4EpqkmC8Sprx5FZEd6Mjq081sZSs7QnwK410eWMAPcFq312wYP7xre+Pd7eyZm7b++LXMQwC/Dfefi7cLu9VltMpUxnb5OxFwu4hsxNq6gQVboUuZRY8deiKM/0YUtSJDCrRQwCllpn2AyRrXXmZIqU+JsVLWeiiBBzD7xg3by5bHZhm+Wb3/y2eFtnFwP3wL6XTJ/LafDQt78Dt9drkxTt0XClJmtvRbVyU5EDW8NZwr9WTC4H19aDzIoDogdZlAE1FKgH2ZzLrTCSB0ovF0gJv0vMJXCPHXjBunlzuQUO7g1vemu8vYODe3D/PvjJ55pm+UEC1+0xi+vC5FZSlyoVik0BqDX1W5ORpuzIo+Na8EQzuVlNsqlRFHjl80WWMvEAt7p1xv5zrSJVy1w5O4WIPIxjB3ZVJg5yuYXN3OtveUu8rb2TgXv44IEqs/zNh/4cHg83y4o5wsFrtKLVxazO2HRh0azGW2LMdhhbK4zVzCYYPSvYPB2iQS4yyfao93QDKfFcOTOFiDKMY/t3WTdvfqGDe93Nb463tXcwcI8cOmhTqIAHvvUg3B4akaxow7WFc+GHyZyKgr09gOIaskh3KmadixKiVZXfJLrJfLIIpWKRFQVmTXdszeZzKVKVqQae/wpwj+/faVWP8vkFztzrbrol3trGwT165HCVWb7/mw+yybuqLguarhNRsa0PyqoSmZ0UvNtRtRrjeMDE/SvPdUWR3uxbZg1vvOpUpvHLYsEmSrycf62U9mrNsfhZJp+rEnN3Wj43n88vbLO85fo3xlva2xm4x44egT8Qsj78177xZ/AKcK2Jutq+qEqPlBjKEnJiRWUSEbJZkNerQefRMg+0ikUZ+WLeZoq5rz3TQEoU8AncOmaWd/IVbgwDCx7ca95wc7ylrY2Be/zYQFXh4CsPfAsej88c17D1RdkZa6U+tujZHNDibObpERveEqMf1jQBj46FAlUolFAoFq3A6Uz9a9XNYEbUHNwhDq6Z6hUKhYXN3KuvvSHe3MqZOzR4nINrRstf/vq3mELFxYlq32kv2tvbU63ujJrRSuZ3mY8VfpeLHkJuzOfzbGC6qlXGVnR/pUArWQ7ugM0sL3hwr9xyfby5hTN3eHgQAVby46bw3q3fYAFVVZ3W9Km8j8pe2hNdirwbUUTLHHgheoheK1H94QFVJptlyxxYooSpNonZ2kq0fOqKFE+NKumTBe6+ille8OBecfV18aaWVgbu6MgI/MGKQvWlrxK4PBWywLKNVVrihdmCWinOV1pnRI1WTAsIoEXnRSqTRtmMimcNhs5QkapSrwBUwN1hmeVikXqoFnAnxqVXbYk3N3Nwx8fGLLNMNLr7yw/wPFe0y1h9UnbW2vqWWbRrKk42MYJAJ0GiYr4pKFORSqVBVR4r3akRKuYjkGLlPQBqegwRbRxH9+2wAsYFD+7mK6+JNzW1MHAnJsZNs8xnae5i4FJVqDL6wUxx1VC0fSzEbGu1m2zb0gYCZCr4J2dmQD1QVVGwqUC9Uv8qmuXYDZWZRFudC35HGYdfeh6pxBSv58LAggd30+VXxxubmhm4U5OTVWb58/fcD4+XwDW7Gc31JrhpFUUC+9xPhZ21s0FiiYNyScb0TIpZA7vQMJ+BFK3z6FWT6GoJIzFxHGODh1HIpy3GmtGyoShKd6FQmLC37r6W38/7YtoXX3qlBS5N8lGey4r1MPC5e7ayqpCo2IgASvRFiaFnEh94p0QlcLJqtLaOi0w+j3Q6Bd3WY1xVmnsFgRSxVE6PoyXsgE+SMXL8AOKTI2w6QlS56GNpmlpQFOUXLpfrs9lsNvFagln72vMO7sZNV8QbmpoYc+PxWJVZ/uwXv8YUqkraU2lE57VYE0xWtxUMNhcfsXqkeH8zmeFcrrLol24GSifoxiL9OcVASs6n4JKT6Gj0Y3pqGBNDAygUshVAwZbANxRZPqqq6tdLpdI/nEuA2t/LvIO74ZJL4/WN3CzTehb2aPkzX/gqK/mxPFc0lZs9TlUdFvZ1KkTkbEqNpA/HE0m2t8Cp+teXC6RIgy6lJtDkB3yOMkaOH8Z0bLzCUjNPVxWlqCjqLyUJn8nlcrFzFVTxvuYd3Asv3hyvb+DMnUlOVxQqAJ+66ytmVagyNM0iXnsDnK1HSkzMi+Z1WmE1Pp1kAVm1f62RE08xkCJfKpUSaG/wIjE5gsmxQZQKOXZthOpELJXL5QFNUx/I5/M/PdcBfVWZu37DpnhdQyMDlxYsEX3LdLE++fmvcLM8h2Bhb2YTOS/N+VA6FJ9JIpXKVM3vnNCdaPlYW4ObKTyIiFmnbsfkOOo9GrwoY2x4ANMs4rX7UgOqIhdlWf5/uq5/Op/P88WYX2fHvDN3zUUXx+vrGxi4mXQGgWClQe7jf3ofPF6f2Rdlztra11q0lkGwLVtQlhGNxXhbjOhQPKl/5QvV15b2SoUMkIuhtc6D6alRRCeGUSoVqoIjtlaHrseKhfw92Wz2J68zLE94u/MO7gXrN8TrTHBz2SwfJzHXafro5+5jhYNKX5R9WEusmiq6KzQkEjOYTs+wIsGcddiTAE2RbWFmHM1BCX6HisGBQ4hHJ6tZSgGSpqG1vYMt2RAK10GSpD2Sw3HnQ1+/9zevZ4DnHdzV6y6KR+rqGXML+XyVWf7on9wLN61nzJrdbGU7q+rDa7O5bB6T0SiTEa1uf1vr6csFUqV8lvvSOi/KhQyGjh9FKpmoWoODgHe53Fi1dj1WrV4DWs6Xlumlfw766nDQumaPSU7X3Q9+5Yv7X48gzzu4K9est8AtFgoIBHmeS/8+8pkvmQ1yvKJjLZ5pBlS0StvkVBQz6fTc3f7WOo/VdVkCK58YQ71fQtCtMoaODB5jdV17gBQOR9DTv5hNPrR3LoLb464AKjlAK6vbAZYgaQ5J+gnc+le+ee+90dcTyPMO7orV6+LhSB1jbrlcqjLLH/r0l1i0LFZ0s5a91TQkkilMTEWZhFiVq1r9w5WKjD2QIpbqhThawy6UchmMjgwinZ6pUo8cDgfa2juwdPlKtHV0gn4mZvKNKxJo6ehgC4JWgVrDYkmScpLD8aBbLXz3a1/7WuH1APK8g7t85Zp4yARXUeSqYv0f3fEFuFgPVWXREYqAJ6Ixtp6xaC19Of9K60JlE2MIuxQEnBrisSgmxoeZ7xRWgs7h9nrQ0NCECy/eBJ/PB4fkYMDS7iQCYPqaTCRQLpXQ0Nw8K8AM9IrZHpck3OeQ8z/dunXrObMp42w327yDu3TF6ngozJmrqootWgY+8Mm7mc+lVGg6OYPxySjytqXlZ/OvdqCJpWo2hsaAA6VcGmPjo8hlM1XqEX0g1qclKygW8+jpW4INmy41QTXBZSBXA0zg0drN/kAAwVB4dhabAPMLKb0IA3c+8OW7/vtcZfG8g7tk+ap4MBRh4FJOaY+W3/vxu5ArlDA2MVUN6gmluUoRnViaSYwh6CjDCwWJ6TimJidgCJaa6hGtUEf+knYfoUkCJzHU6UR3Tx/WXrSxGlz6mwkwmWfOZh5QUU49NjKE5pZWVnsWwZUItsRXG6CPSbp+9/3nYNA17+D2L10ZD4bCDFwSBkRARY509eU3AU63JUScEPVa3Q4AsbScmkS9Fyjm0piITqCQy1vrTwiFihYHJfNPOavD4WSbPnGwnKCl8ju7erB67TrmYwWIVV/NyFj8ToCWz2URj8XQ2d3NFkezmWV2E9QcmgH8xJCUcyromldwN119dX9sIro/EAiyJWvoIthFjCUbroWXVYkqraXV/tVAKjoGr16AR5KZNh2P0z4FQm40d+miFcslHaV8nkXVgqUCUPbVZC4FUCtWrq7ysdXgmsAJM10D3HQ8xqYBW1rbuamuMs21GEs5SHjIpeS/cy4EXfMBrmPDpde8CZL0CYck3ZSIjjvEwmJ0IYIiFYKBCrjVMzmlYg6FxDjCbo2WkmfVpGKxWBXxinRGKZdRlkuzspSDyhnLvzrR2tbGlvC1TO9cDDZBo8fVHrRu5dO//Q0uv/o6C+CX8bPnRNB1xuCu2by5zWU4PwI4b3dIEtvFknxebGocPnMBbFrZnMyyqH8u2XgtPGZ9l8zqzNQYnGoOLrWImZkkkqmUuS+QuZceDA6S5MTMTIwNyJ6MpXbG0orrBHJTUwt6+vqqTPLcJrqS5xJ4M9PTeOrxX2N8lOq4Gj7xuS9YQscspnkWvF/boOu0wV170WXXGIyleIckSW4OKgUoPPmPTo3C6+ULiXncbgRCZrHeMLB443Xs99nYGIIuGflMBolkkilRQqIUqYzkcAOGxKbeqXsjl0pU+dLZWMqANxkr/G5jYxM6unhueyrspcfseWEH9u7aARJhhEsgkeTjf3J3le891ShZgvEr6MZdZzvoOiVwF2/cWOcp4wMOh/MTkkNaJVjKAg0TVK7sODA1MQKv18c+N00X2M1yZ9ciOHUFM+kUMtk83yLc0oZp7w8JDpfbWpeZZxyA2+VGLjPNgTN96WwstQMeCoVRV1ePYChkBlncX84FMAVQ23/3W4yPjbCXFRtR0Vc679JVq3HNdTdWJMpZzPfLgM2CLpeCr27devdZqTKdFNylqzZucDj0T0iS4z2SJAVrWTrbz5MTI0yFosPv99nMMtiFpfmeSpsKL/MQrLQvkJdNI3C50P7G6HmZ1HSVL52NpdQIEA6HEQ6H2KgoD35qo+QKyGRxjh46iAP79qBMkwkEqrmYJ1WIwqEINl56OfqXLKsKpuxp0amyVzwuMR17ZuTY4Gcf++U/7zzd557u408At69vi88TzL4L0D8JSJvECatSAZsZrmXxxNgQyw/pIOZQt6OYpamoR9SqwneQpqV5HU4XA4LSGL6Sa+VtsQ2KYTDhnwIk4UsFS2nPIV8giGAwwHz9bOkOdxsVkClt2rPrecSnJtlrWabX1MAX9fZh0+VXm6oWdzu1RYVZ8t05r72qqdmRweHdk1MT3bqmL5Ykx9uf/PW//eJ0wTrdx1tXcdWqC5dpDufHAf2PAKmx9kQ1Ehz/sDUgkyJE265RIENHQ2MT87sMVPqPrWuhmotqc2bVmkna9pRWvBE7T9N5SPyfmebgCl9KYykk/vu8fjhdTjOPrTa9tecfHx7CkcMHocilCqi0xL2usV1Q1qzfgP6ly04QLmYTMk6eEvGrl8lkjwwdHYimc5kNAKxFp88auGsvvvL6cqnwBRh4Q401rMLXbopqWazKMgqFPCvEq2yFGD58RR2ubreb7fBBoILYQwCZ+WIty+xRrJsi7VDQNNUypuNx9lwy+RRgkR+e3YdWA0wS6OH9+8znm/vSm6aXbhqq41548WYEA0F204mqEC8i1P5cw+JZ/K5uGPLE+NjO0ZGRkKqo62Zj21kD9+4vP/CrZ7Zt88ei0StpV++5qF8rv9lZ29HZxoKoYwPHWVWHDrlcZGaNWV8KlWyAchD5xZvTjJqsJrNOgRnN11JqZT1+luda53U4kIhFMTx0jNWOKVDjLoGvPkemfenKVSz/5Z9rllLfiVWhOYsK9AlLpfLEsWMDR5LTiQtgoOVkJvSsgXvf/Q89CQnXTCcSh5968reqoigXnAzg2Xxva0sz+pYsZd2Cx44exlQ0yvYqqD1OjFRnB3jOPHQWsd9+g1C1iWq4mUyS7WotACWtmRgcqW/AmvUXsQheuBWrzFcL8El+tlwUYCSmE7sHjx1XyuXyxScjB8mk1LrLbvWz5XMFuPSihmHoe/e8+PThQ4cuBBCZze/O5nu9Hg+WrVjOxjPZXVwsYuDoUbZzJW9I58eJ7K1UZ2pZPDvA1ZGuuFmyqRTb2Zr8Ov1O7CzGd0bRWfFARLyCpVYKZ4JYSenmDp6E79U0LT02MrInGo326rreNxcZyJcnEzEkopO44uprMT2Tfu3AFW+yWCzGnnj88YFcJnu5/Y1XmebaiFmSEAmH0Nm9yBLWU6kkRoaHWceFOE7qJ2tM7ckYTDdNdGoCxTz5eq+VwhCYskx15ACWr1xtle94SsTdw5mytpDNHhoaGYnnc7mNAKo3b7BdKOqpno5OIhGfYjVmOq678ZZzA1zxPkeHh3c9t/25Fl3Xe+zgzB1cSSxvrW+og9ndyp4WnRhn9VsisZ29zMRbEbMtELKBXAtwqVDAzEycbVPOtjE30xe2/qMio7WtHT39SyxfWgVoLUvnYK2dxYBRjsViO6cmp+o0VV1zMl+az2eRjEWRTiehq3wXMXGcc+DSG9M0rbT9mWe2j4+NE4s9p5IS0UXXVRk0eCBWSqfZn8mxURTLZaYVz60WmSDbAKa9/TKpJFRVhs9HC4XyKhGZXarYuBxOBmgoTEV2UzWzWMrNbAVkHjzNaZZNwGVZHpsYHxvIZDLrYOCE1FCARukdbc6cmo6xjIFuMhqFEYylfJzy8CXLVsDh4m7rNfG5J7srU+nU8acefyJTLqKbE1kAABnESURBVMsXWgm9LbkX8mOV76KdRwjkphYW6dJRLhURi0UhnQLApCuXcjl4KO91Ub5MfcU8L6XzhCMN6Fy0iIkfs4Fay9qTsph/FiOTSu2amooaiiKT6T2xRGReJCrqZ9NJZFI0OipzUNlmGRxcCuiC4QgaGltQ11B9b5w1cO/5+reeBKRrTgas/W+HDh54+uD+g6sBNL6sHGnqzTSLoyky/5BmvTSbSaGQL8JlyoSWiXY6UC7mmUZF7S52VUuWS2wHkbbOToTCETM1seeiZ8ZaXddnEtHY3pl0qh+GYbmg2a6JXC6D3nuRWn5UtYqpZEkI1EAogubWthP2VKoElmdJofriV7/xpAGcMrj0BmVZntm+bdu+dDpzpUSHmbPOHqxUEv8yWwtKZ7tp0kHApVNJSA4XnA6J3fmhcJCNeVZML63VmGcyZVtHFzfnZDrNEqMlNth+PiF4qg2mzJ+LxdKBRCyaLPE0hlc7ZjnIc9J7L+SyzGIIsyuYStE5WY9guI6BSgCf7DhrzL3zvq8/idMEV7zxeCy6d8+uFwKabiw9gcUma2urRvQzzRCR2iQ0aLlcQkMjN13C9CpyGaVSEfUNTQiGwxVATRD5eU+mKJ3IYjLLlKml06mdqZlko66DLNCcB92IVFCgjg9FUxhLLfNrrlZHMmmkrh71fDzqlI6zBu7nvvTVMwaXgyEp+/e9tG1qYmKTJEmBWr1ZiO48RzQBkSTmO6cTUWaWicEtra3say6bZooSBWPEAAbgSVg6K4vtKY/JUk1RRxLJxGC5WFoHCQ3VdadqTJhPp63MiaUmoPQ7+p7vJiqzsRgaZhQB4ymhCsQB4696+hb/NhQMLi97jL/564ceyp7ic0/7YdJn7rrvScA4LbM826sUi4WxPS/snpRl5ZITgysOai2LCTRqm0kkYgiFQwgEQqznypIELZZWhIUTXYDt3LYImV4LDkkv5nO7UjMpSdU0CpCqO6QYkSsVKMPgO12rCu3jZ2MpGwqnLVdlVmBoammzAsRTvOLPODyenyzu7fMVi4VPxafGVyfjMbR2dOY7FvX9eWPA9e1vf/vb1P03r4d0x59+8bR97sneweT4xPbBwUFSbdqrWGxjbS2La3+upC4V1lpm+OVY7CCroCdTM6mXivncEh3otheHOZS2SqfEc28KhmojXvqZfCwBS0sLU4O7dXvU3BhVZ+W3UN6A9LOmlub/bKxvuFZVlQ/s3L4trJQKLNqnm5hy8oA/gI7eJUmv3/tn5YDnL388j9MM0u2fveuHEvCx+bxlNE3LHTl0aFcum7tSckjO2Vg7G4urclErNz05a+1muVwu7UvPpNKKIlOAxIvK1kEozmaMJVairAaXctcUcxOhSB0DogJe9Y1hP7/5l8NOh/PHi/p6M3K5dPt0bOqS6OQ4K0vGYgkkE3G84YYboKsK/MEwvP4gMpkUktMJdHb3pLt6++53KcUfPPzww8VXigl7Px/91OduMyTpERjoeKUntD8/l8sdHKCty3V9lfCd88FaO4shGYVcLrsrl8mSkrayQqgTm0z43078Pfl2AleVy0ilZthD6hqabKZ37hvDNAKaA8YvA3X1/9La0rIWhvThPTu3NyvlIjQC0R9AS1s7/D4fSorC2mT9wRBe3PU8cmzBFo1V1do7OhCO1GHR4uVRj8f7zbDH+PHWrVup+HxGh/VJ3/vpT0c8Cr4BSJ88WfJ+Bq+iT0xMPp1MJC6SHI5wpQpTWxsVuq9dUZqbtZqmDqVnUsNluXAhINVxZs3NqmqzKT4FfzxpwflshqUzVDmiG7H2mOPGmJIcxl91dPYMGrrxgVQydnUiNiVRpA/JidGRYVx40QZEQgF4fQG4/UFk02lEJ8fgdLmZ7l4o5LDl2uuYDuALhFDX2MRSQ5pSbG3vjDW0tHw97NT/19atW+XTvfYn3Mbv/9gdFzt040cGQN0D83YoihIdGxo5LmvKZa+AxVqxkN+Zy6TdmqZdZNHQ/BTVzTnmWz+Fv1EN2uPm0qDN/lb9YJ2bf/OUx+/9WXt7d6dTcnx4dPh49/DgAIJ+P2skoFGUgN/sAPWHUd/YiL27d6GQy7BmBmo4oKnDYDCIbKGArq5uZinGx0YxNnycqV50UGlyyfIV6Fu6Ytztdj+Qirb95Mc//hgvmJ/CMWuD3K233ur0RhrvMAzpfgBccZinI5vJ7EzE4m2GJC2yWGwLtk4Ipihtgh7PpdP7S8XCcgPonO2t0PNmP05iUukJpwC++ZAcDPxdY3PbC+Fw+GbJgT+QHA4XvW6pUMS+vbtQzGWxfv06uL1+eHx+5LI5xKITkEslNrY6PHgcl11xJfxeNzxeP0J1DazbMzY5zpoItm97CjQ/fMEFa+AP+NmNEI7Uo62rh5lxSZKGHZLzgWRn49/++GMvD/JcV4Rdp1s/8PEuh6F9T5Lwh/OELTuNYRjFRDz+XLFUvEKSHKz3ebaIWZHLe7OZVE5V1YsloEKtGhpZGM3y++q/zf5xX+bGOOByuf6mvaPHZWjKRw0Y/V6/f1Ytu1SglQT8GBsdwfjIEJwSV65a2zoQCoWYOucLRtDY1Izp6STGR44hNc3XJaPmvvbOTszMpNDT08OYXNfYzHrJanu4HJI0CMl5v0cv/N3WrVt5u+gsx0nBFY+/9X1//CbdMP6nBMxZmD4T8BVFOZacTuQNA+sqZUTkC7ncC/l8rg3Ql4vzzpbCVP5W8zGqfqzyxLZwucaIV98YKgz8a6Sx8clIuP6yXDr5rnRq2p3PplkETWpUV89itkrAiX1WDlAd+8VdzzGjsOaC1Uyo8YfqWFVoOjaFQj6LaDTKRkbXX7gBrW0t0BQFAeq1bmpBmBg9W/tPrSLndAw4JOn+Q8v6/uHnt93GC8e245TApce/5S23B1zB0lcA/CkA95mAOcdzKNzdlslk6nO5dFIply+qcgX0Ic0uDhbVairrtLDnNdUf4gQ7a1re2YMtO/QSMCG5nX/T0tKZliS8Xy4V14wMDyI9k0RzcxNoYTwSW0gHd7q88Eco+JpDRHFItJ8uY6wsKzh6aB9ymRSrdzOdvL2DFz6cbpbvhusbWTOhJeBwqZSNz5ystZZbPRzRga+7lMI/2gfCTxlcAcyb3vX+NU5d/yGAK+YRYBw/fPBZWSlfNlsmSnd+fUMLwpEwa3SfmhjHDC1gYh5zmlXzxjjxfVYSXh4F44lAIPxv9Q2Ny7PZzAeLubSfgh9iKb02rUXpcjrQ39cHp9sHF3V50hLA0wnWLE8mtLWji0mS9u5JUcCgFqBnnnqC5csXb9zIblDKb8nnBiP1HECTlZSSxSfHMT46zFp0unr6sHTFakTqGqrOTT1hY0ODrOm/q6dXfMSDBrDVpeR/TiCfNrjiet7yjvf8sWQYD1Lpbz5AHjx66FlZLl9WNWrAmtaDfAxU54zt6e1HY1MTnnnqcbb8QrU1PfHjmODN1rWbgST9fXNz+5DT4/rDUi67maLmvXt2oq2tA93dXSy4IVAlGmPxBuF0uZgmfnDfbkDXaDyByZHNzS1s0+dQQwtcbm91O4+pbVNB5PjRI+js7EQgXHcCS8kMp2aS+N0T/4VgwM/UsvaOTkQidSBZdPHKdaybNJGI4/iRg5gYG2GPIZ9Oa30sX72WCS7msT83k7rrTMFl53jjG29t0d3StyUYH3ilAA8OHHpWIXBt4avTTbNGYXQtX4fCutuhJ44i8es/w7U33IznnnmKrWVxBrntXo/X9/PGptamQin/R3I+W0+1WWIplRPrG5swOT6B1ReshuT0wGHuYJahwvzMNMu+KOhJxKZw9ZZr4XI44PJ44PEF4fYFeIOersHt8tiYdmrdIJQf797xHEubbrjxRgYcBVWhSD0S8RgK+Rz27d3DzP2q1RegpbkFqlJmN1h7dy+aWtsxdGxgz9NP/qaYSiW1VwSuAPT6N79tCyD9UDKw4kxBHjl2+NmyLF9Web6ESFMrnNDRfNtf4uEPXoTb/3ECiR/ejLe+45147Jf/ilKxdlGZan9rC5lkhyT9S7Chca/fE7heLuev1TRVGjh6mPnA/v7FaG5uhsfthEEChsMNyUlThsDAkQNMYKAhClKRKNINBAJsRXYqyvsDYTjYCAyQmUliOj6F9Axf87Kzp5+ECNvYZ02T3hw9XbTKDpNRHE4cObAXk+OjFkvbu7rZ+yJz3NbWhsbWdrIo6Z3bt+05sPfFblVVyJL+raIoj84LuPQ+br31Vk8iU/4CgHtOVvieC/yRoSPPKuUKuOS7Orr6IZfyaLrlK1C6Lkfisfux3DfFZm5//dgvZ1u+QHgNEW+NOl2en9U1NzlVRX9fOZdqV2VaZtBgQUokUo9cIY+G+kaEIxEYEpchc9kUcmnePkNmdmJ8DIuXLEVbSxMLgJweH1xuHyShSasKsyQkOricEnt/kboIBToI1TXDH4qccg8XvT5p0ZT70g1EexD39S/BihXLmZRJAkhDcxvz8fFY9MD2p5+YjsdiGw3DOGjo+g8CgcA/jo2NMV163sAVoG256a1LdV37AQzccDosHhk88qyqVDO3b+lKNkhGA920q9cFa9ejb/FiPPFf/8GE9jn8LYXS/x0K1W/zhUIbNbl0i1IuOWkbmpGhY+jqWoTFSxbD66GeLAmaIUGXnIwZ5PMmRocQiYRBvdgNTU0IBripLasSbxpwcpbmqSkuGTfVJANOtwdTU1PYcNEGNutEAZMvGGYBGVWWqGBArCe/aEXYtrozQbF3907MJKZYaZFeh6lYgQAbd+1fshgNTa00slM4sPfFXftfeqFJluV+wzD+Sde0H0xPT++ovd7zDq54gSuvu/k9hoHvUunvVEAeGzr6rEJm2faOqD12+aq1LP0gVtAw2M7nt7Gm91ny3pTD5fw/4brWtNvpfGdyOrrE4+QTfHQxSZCncySmk+jo7ISmS0wVKhayKOYyoG4Qmjak9bBoVveySzczsyg5PMxEE0tpNqZUzGPw2FFks2k0NDSwf5FIhPleihHcviB8gQB7TRbVxydZdyQdNEvVt3gJ2jp7WHBmb5AvFgt4/D8fY1nAlVddzVhPTYGRhmbUN7eglM8d3/X8c6OTk+PrASNuAD8su93/Oz0ywrXKWY5XDVx6rS1bttSXNNc3IbGS4pydhPTYiaGBZ2WLuZQ78nfr8/vR2NwCTVYQjU7NIhdit88f+Y9AKLTE0NS3q0rJTWMbZEqpa2LDxosRCgZYpE27iSk6WEGemHpg7wusvSccCjL9l4bByKyWFMDjJ4C4j6RAJpua5mVAWjPS7WHKEQ23Le7vhdvjZ8EUsZduEirEU7F/z87nGdCrVq1mDfuGrrHzhuqaGOA0A0VsFJ0mFDGPjYzA63GioamFAiVl6PjAzv0v7faVi6W1hoF/16D/IDYxQWtfVZqiXwtwxWtuvPLazQ4dlBvTmMqsx/jIsSqzfJIUhp5flhyOfw3XNY+4Pd6bUsnEepfTgJvSFklCMBRhbKcV1ZubmlmQRNouFcppcRUq7XEm+dlyRGvWrmGjMDoooOI91RRoEai0xOHe3TvQ3tGFttZW5kvdNDIqOeDyhZlKRa9J62ck45NcqKBze7xoaW3DTCqFzi5Kq+qgGkB8apyNl1CeTMei3n70LF7G9oIQ/dTFYnH8wN4XjkyMj63WWaHZ+CtA//H4+PjYqVhB8ZhXlbn2N0LFiIHR2Gclw9gKIFT7JidGBbhzyYX0DGnI4/H/30C4vh7Qb4Mm+8nsFosltvDYilWr0dXZziYbSrKKssy3rtE1BSODx6HrKouKabQ0FAwykFRdgqyCm0kHFQGoyzHN/rHNKiAxWXBsbBSbLrmESYhkfknwp3acdDLBTHU6k8Hw8QG2AmxnZwdzB9QA6PWHQSaXbpQjhw8xxi5dvgytLa3WKCuZ3khDkx6dnNh16OBerZDNXwwYv9MM/dH2lpZf7Nq165QrQfbretbAFS+65pKrFzkN9fuA9Db7G5kcHXxWVSnPrZ2rh+FwSL8O1TXtd7m9W4rFwoZSPsPMHJluyoNp0oCku+RMGl5/gLFUpjZatcQqK3RQ/ZQW5I6Ew0xIoPElCqZ4WE2g5phydOjASwzo3t5eJjd63S72d8nlY8DSDUABz8jxo1BlPodMrCchg5ZootdobW2D5PJgcmwYM4kYmzCko4nci6azNKm1rZWJGU6Xe3rgyKG9k6NjS3RDrTMM/afQ9UeHh4cPng5LZ3vsWQdXvInVF136Vgn4CwCsCTw2PshEDJuUmHR5fP9SV98YgIS3GaocIEWI1s+gvQ5od83NmzcxlhZKMoolha2nQWMsJYqMB4+iqaUVvT29rG7qcbuYjFiQNVpWhYFEvjefmYFcypksBerqG1mgRfXYcF094HBBMjXtbHoG9I+WfCDN2eXyYPPmzTT9C6fbDbc3wN4f9WKTnrxz+za0d3Zh5coVLOCim4Raa8INTUjPpF4cOHo4W8hlLzEM4wB0PFoo+H4Wje6dt0a51wxcAnTdunVBGe6vwZD+ZHpqZIfCA6odi3r7/13RnVeVy6U3jA8PSPX1DWior2NTBiE2be/G6GSc+bWyrILaWRzg5pexlBrEQxGQi1q7di3KCm0Hx5fHJ42COi7lcoEt0z8+Nozu7h709fXB66V6CIMKuoMm93lRYODwfjgMPthFFoLGYwLBAOKJaSxa1MsYzfqg4lFQ5YgO6ujo6OzG8PAwli5ZAl8wBKfHm50YGdk1MTHaoatarwH955ru+MHQwMHtr5Sl5xRz7W9mxZoN62YSE39QKhT+I5PJ7PjyAw9+UtWMO5/bvj1/+MC+NYnoOGeI5GALg+aLZZbQQ6e1mQ1MjI+ynHXJkiVobGyEz+th+yjkiwrbaUyI+alEDJKhMnmQjlAowiLfTDaD3t4+aCygp8lBnXVNUHAkfDrVaC+97HIEA1QccDG/KyuUG8eZ36WeZqpatba3M0tBZ6IF1UjAKBaKh8ZGjk9lM9mLDRhR6PqPnJLx14cOHZp+NUA96wHV6XyI++5/6NOQ8H16TqGY3/27J55qzWRSXQQgXXQC1evhIxukq9KaU9RETr6PKjPFMi8yEKi6IkORi5YppUh4/foLEQz6mS5Nvlc1uMkk1k6Oj7BFRcmM08o6pDWHqAuCzLgmgQr1lBLxQIrLn8yyNDaxNIpAJ53Z5fWVpuOJHbHoWERV1DWGYfw/SPqjh/fv/89TSWNO53rN9djX1CzP9abuu//Bt0KS/skmYyrRyeiOZ5/Ztj42NR6cjk0wk7d8+TJWLiOfS/+ISWKsJTOTYKbaLIsyLZYqLJlsDvUNDdz0mguM0uBZMZ+BUi6B6kyxaBRt7e1Yurif2XHD4UapWAIVDzibeRBFqQ75ZrovXGauq6nGUHRqfDCXTq/VYbCFxRy6/KMDBw7w1cvO4nFOgkuf/55vPNzhNOQvGpBut0A2MHP40MFDe3bv3qwrZQfN6BTLZpZAn0SVoallJjTQ5si0l+DyFSvR0UErrgKyokNWxQZTBptFGjl+BPX1tF6WiwVT5NMpRcoWFDZlWCgUMDo0AI9LLL/UjPr6Or4GpYvrzA6XRy1kczvi8ahTU5WLYRhPazAeDbgd/3ymacx83APnLLjiw9391Qc7JahfhITbYfBGc03Tju18fkdxYnx8DTGV2JTPpljQ5Xa7LKmRFiCjdSgCwTBoOznKeij4kot5thYVyY0UYY+PjuLa665lfluHg90YZP6ZC5CcrIaay2WwZcu13DI4PRQcUaQ+mZqZPpjP5lbo0COGrv+dbjh+cODFHefEbibnPLgC5M997t4uzSV9CcBHxDRBoVja+cKO5zvSqZmueHScmeBNmy6BomiM0SRiUISsURSt6zh+7DDzz+FQgPlJ+p4YWyjTwmcuZqaPHnwJAb8PTqfE/l5X3wCf14tUNscGvxxON23/tiudTpVVRaZc7KChG48q5dzfHzhwgO8Vd44crxtwxfX6yKfv7pYM7UuAQSBTR6QynZx57sjBgxcqcilEXYSaOX2vKWXoSsmKjqndNJ/NoqOT5MAQFI2tH8Ua1sQefuRzJ8fHmCZNkTFVjCg6NuBKFgq5F0uFQo8OfZFh4Ocw9Ef3UDJ7jh6vO3DFdXz3hz65yOUwiMl/TCAbMKZj41OHJ6YmL6Vx8NjUGFOHSETo6uxka0NSYxvlvNlCmeXEtKsJjWlS4YDSF2Kp3+eFQYqVojPtWdP1veViPqkq6ibD0GPQ8SNddfxk9+7fxc9RTK239boFV3yCW299f4/mct4jAR8ikHXdODo5MV7M5/PraERE18pMSiRQafs5kgz52o8kdnBTTP3ES5csZmVAYq4OR05T5Z2qojRrurHaMIxfGZrx6K7nf/cr2obhXAdVvL/XPbjig9zyjnf0Grr7HgkGgexWVfX5eCLRqataNwVBtLz+8SMHmL67qLsbISrIu2ltZyBfUljkC0hHDF0b03Rtg2EYCnTjr6matX37k0OvF0Dt73PBgCs+1Jab39bnMLR7DQMfpE1TVUXens8XNlDHC4kOtGTwxg0bmM5Ma40aEsoOh+N5AwatgbQBhv6MAenRTKLx5wcO/Py0h6/OpZtgwYErLu6mq2/sd+jGvYZkfJC2U9B17bCu6ZfzxVhpXSrniNvlPCJJ0lrDMII6jL/XNf3R5373m73nEkCv5L0sWHDFRVl78ZWLAf1eCRK13x7zetxjfr8/YACUxhyiNMZQvD/dtu2Xr9raFK8EoFfy3AUPrrg4S9dsXOIwjPuCoWB3JBJKGJr06FOPP/bUK7l45/pzf2/AtYDYssWFJ5+cczLuXAfsdN7f/wfvVE4m+Gp+kAAAAABJRU5ErkJggg=="/><path d="M 845.33 302.4 C 815.12 302.4 794 277.79 794 251.59 C 794 220.27 819.22 200 845.71 200 C 871.22 200 896.4 220.93 896.4 251.18 C 896.4 278.28 874.84 302.4 845.33 302.4 Z" fill="#0d2636" stroke="none" pointer-events="all"/><path d="M 834.25 291.19 C 834.25 293.4 832.57 294.32 830.06 293.46 C 814.91 288.15 800.34 271.75 800.34 251.27 C 800.34 223.57 824.03 206.1 844.57 206.1 C 871.22 206.1 890.18 227.94 890.18 251 C 890.18 270.03 877.94 287.54 859.59 293.69 C 857.52 294.24 856.23 293.13 856.23 291.31 L 856.23 277.98 C 856.23 275.4 855.18 272.65 853.24 270.74 C 860.69 269.89 865.21 268.02 868.67 264.46 C 872.07 261.08 873.6 256.13 873.88 250.01 C 874.07 245.15 872.77 240.41 869.25 236.8 C 870.48 233.82 870.69 229.86 868.83 224.97 C 865.14 224.69 860.94 226.9 856.64 229.56 C 849.08 227.59 841.52 227.33 833.96 229.67 C 830.58 227.47 827.51 225 821.65 224.97 C 820.1 229.29 819.86 233.23 821.19 236.72 C 817 241.37 816.52 245.93 816.6 250.47 C 817.06 259.25 820.27 263.68 823.83 266.33 C 826.79 268.52 830.94 269.9 837.27 270.83 C 835.57 272.51 834.62 274.51 834.46 276.86 C 830.74 278.56 825.42 279.41 821.78 274.25 C 820.15 271.66 817.93 268.73 813.72 268.74 C 813.03 268.72 812.35 268.98 812.25 269.28 C 812.15 269.61 812.54 270.3 813.01 270.57 C 816.7 272.92 817.29 274.23 818.8 277.44 C 820.2 281.19 822.62 282.63 825.24 283.64 C 827.92 284.59 832.25 284.32 834.25 283.64 Z" fill="#ffffff" stroke="none" pointer-events="all"/><path d="M 845.2 193.63 L 845.2 86.37" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 845.2 198.88 L 841.7 191.88 L 845.2 193.63 L 848.7 191.88 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><path d="M 845.2 81.12 L 848.7 88.12 L 845.2 86.37 L 841.7 88.12 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><rect x="1060" y="10" width="200" height="60" fill="#ffffff" stroke="#000000" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 198px; height: 1px; padding-top: 40px; margin-left: 1061px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; background-color: white; white-space: normal; word-wrap: normal; ">Clients Supported:<br />Chrome, Firefox<br />Desktop Only</div></div></div></foreignObject><text x="1160" y="44" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">Clients Supported:...</text></switch></g><rect x="1060" y="206.2" width="200" height="90" fill="#ffffff" stroke="#000000" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 198px; height: 1px; padding-top: 251px; margin-left: 1061px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; "><span>https://config.qmk.fm</span><br /><span>Single Page Site<br /></span>JavaScript/VUE<br />Source: qmk/qmk_configurator<br /><span>Host: Github Pages</span></div></div></div></foreignObject><text x="1160" y="255" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">https://config.qmk.fm...</text></switch></g><path d="M 896.4 251.2 L 1060 251.2" fill="none" stroke="#000000" stroke-miterlimit="10" stroke-dasharray="3 3" pointer-events="stroke"/><path d="M 880 457.9 L 1060 457.9" fill="none" stroke="#000000" stroke-miterlimit="10" stroke-dasharray="3 3" pointer-events="stroke"/><path d="M 833.22 495.8 C 828.16 495.8 821.72 491.64 821.72 483.75 L 821.72 475.34 L 813.15 475.34 C 811.65 475.34 810 474.49 810.03 471.92 L 810.03 455.36 C 810.03 453.81 810.93 452.17 812.91 452.12 L 821.72 452.12 L 821.72 431.37 C 821.72 425.69 826.62 420 833.69 420 L 856.49 420 C 858.53 420 861.18 421.45 863.72 423.93 L 876.39 436.67 C 879.49 440.04 880 441.77 880 443.93 L 880 484.09 C 880 490.1 875.34 495.8 867.72 495.8 Z" fill="#000000" stroke="none" pointer-events="all"/><path d="M 850.47 469.58 L 850.47 457.06 L 854.43 457.06 L 858.82 463.99 L 858.82 457.06 L 861.89 457.06 L 861.89 469.58 L 858.67 469.58 L 853.58 461.29 L 853.58 469.58 Z M 844.7 463.4 C 844.69 461.89 844.28 459.4 841.65 459.33 C 839.7 459.3 838.71 461.33 838.71 463.26 C 838.77 466.2 840.13 467.37 841.74 467.37 C 843.53 467.33 844.68 465.87 844.7 463.4 Z M 835.26 462.55 C 835.34 459.28 837.91 457.1 840.4 456.87 C 843.13 456.63 844.5 457.13 845.74 457.91 C 847.41 459.11 848.53 461.32 848.06 464.79 C 847.61 467.23 846.07 469.6 842.36 469.85 C 841 469.92 838.36 469.99 836.56 467.58 C 835.73 466.38 835.22 465.51 835.26 462.55 Z M 823.19 465.77 L 823.65 465.72 C 825.75 467.29 827.29 467.4 828.78 467.35 C 829.66 467.23 830.41 467.01 830.47 466.24 C 830.51 465.69 829.93 465.31 829.36 465.17 C 827.6 464.71 826.16 464.86 824.34 463.46 C 822.89 462.1 822.96 460.46 823.66 459.16 C 824.9 457.24 827.05 456.94 828.36 456.83 C 830.57 456.81 832.33 457.19 833.44 457.73 L 833.43 460.67 L 832.94 460.71 C 831.93 459.92 830.82 459.41 829.27 459.32 C 828.41 459.31 827.38 459.3 826.76 460 C 826.43 461.17 827.29 461.25 828.04 461.42 C 830.02 461.87 831.13 461.99 832.65 462.95 C 834.58 464.43 833.97 466.96 832.96 468.1 C 831.63 469.39 830.35 469.86 827.92 469.85 C 826.52 469.83 824.81 469.63 823.17 468.83 Z M 813.29 466.83 C 814.07 467.09 814.63 467.45 816.44 467.23 C 817.09 467.05 817.76 466.56 817.76 465.57 L 817.76 459.51 L 814.91 459.51 L 814.91 457.06 L 821.13 457.06 L 821.13 466.31 C 820.87 468.24 819.78 469.26 818.09 469.59 C 816.91 469.84 815.53 469.98 813.29 469.57 Z M 827.52 475.34 L 862.48 475.34 C 864.3 475.34 865.44 473.93 865.44 472.17 L 865.44 455.09 C 865.44 453.39 864.22 452.12 862.32 452.12 L 827.52 452.12 L 827.52 431.76 C 827.52 427.61 830.96 425.79 833.33 425.79 L 854.21 425.79 C 856.33 425.79 856.7 428.23 856.7 429.52 L 856.71 440.31 C 856.71 442.3 858.38 443.31 859.64 443.31 L 870.53 443.31 C 872.02 443.31 874.24 443.77 874.24 446.39 L 874.24 483.83 C 874.24 487.16 872.07 489.95 868.16 489.95 L 833.53 489.95 C 830.7 489.95 827.52 487.95 827.52 483.92 Z" fill="#ffffff" stroke="none" pointer-events="all"/><rect x="1060" y="412.9" width="200" height="90" fill="#ffffff" stroke="#000000" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 198px; height: 1px; padding-top: 458px; margin-left: 1061px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">https://keyboards.qmk.fm<br />Keyboard Metadata<br />Source: qmk/qmk_firmware<br />GH Action: Update API Data<br />Host: DigitalOcean Spaces</div></div></div></foreignObject><text x="1160" y="462" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">https://keyboards.qmk.fm...</text></switch></g><path d="M 845.04 420 L 845.14 308.77" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 845.15 303.52 L 848.64 310.52 L 845.14 308.77 L 841.64 310.51 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><path d="M 905 630 L 1060 630" fill="none" stroke="#000000" stroke-miterlimit="10" stroke-dasharray="3 3" pointer-events="stroke"/><path d="M 815 610 C 791 610 785 630 804.2 634 C 785 642.8 806.6 662 822.2 654 C 833 670 869 670 881 654 C 905 654 905 638 890 630 C 905 614 881 598 860 606 C 845 594 821 594 815 610 Z" fill="#ffffff" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 118px; height: 1px; padding-top: 630px; margin-left: 786px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">QMK API</div></div></div></foreignObject><text x="845" y="634" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">QMK API</text></switch></g><rect x="1060" y="595" width="200" height="70" fill="#ffffff" stroke="#000000" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 198px; height: 1px; padding-top: 630px; margin-left: 1061px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">https://api.qmk.fm<br />RESTful API<br />Source: qmk/qmk_api<br />Host: Rancher on DO VM's</div></div></div></foreignObject><text x="1160" y="634" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">https://api.qmk.fm...</text></switch></g><path d="M 794 275.46 L 709.04 315.72 Q 700 320 700 330 L 700 570 Q 700 580 709.45 583.26 L 785.69 609.55" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 790.65 611.26 L 782.89 612.29 L 785.69 609.55 L 785.17 605.67 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><path d="M 460 251.8 L 290 251.8" fill="none" stroke="#000000" stroke-miterlimit="10" stroke-dasharray="3 3" pointer-events="stroke"/><path d="M 490 229 C 466 229 460 251.8 479.2 256.36 C 460 266.39 481.6 288.28 497.2 279.16 C 508 297.4 544 297.4 556 279.16 C 580 279.16 580 260.92 565 251.8 C 580 233.56 556 215.32 535 224.44 C 520 210.76 496 210.76 490 229 Z" fill="#ffffff" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 118px; height: 1px; padding-top: 252px; margin-left: 461px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">Digital Ocean<br />Spaces<br />(S3)</div></div></div></foreignObject><text x="520" y="255" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">Digital Ocean...</text></switch></g><rect x="0" y="221.8" width="290" height="60" fill="#ffffff" stroke="#000000" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 288px; height: 1px; padding-top: 252px; margin-left: 1px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">https://qmk-api.nyc3.cdn.digitaloceanspaces.com<br />Space: qmk-api<br />Host: Digital Ocean</div></div></div></foreignObject><text x="145" y="255" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">https://qmk-api.nyc3.cdn.digitaloceanspaces.com...</text></switch></g><path d="M 580 251.8 L 787.63 251.31" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 792.88 251.3 L 785.89 254.81 L 787.63 251.31 L 785.87 247.81 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><path d="M 875 790 L 1060 790" fill="none" stroke="#000000" stroke-miterlimit="10" stroke-dasharray="3 3" pointer-events="stroke"/><path d="M 815 768 C 815 757.33 875 757.33 875 768 L 875 812 C 875 822.67 815 822.67 815 812 Z" fill="#ffffff" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><path d="M 815 768 C 815 776 875 776 875 768 M 815 772 C 815 780 875 780 875 772 M 815 776 C 815 784 875 784 875 776" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 58px; height: 1px; padding-top: 800px; margin-left: 816px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">RQ</div></div></div></foreignObject><text x="845" y="804" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">RQ</text></switch></g><rect x="1060" y="755" width="200" height="70" fill="#ffffff" stroke="#000000" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 198px; height: 1px; padding-top: 790px; margin-left: 1061px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">Redis / RQ<br />Job Queue<br />Source: qmk/qmk_redis<br />Host: Rancher on DO VM's</div></div></div></foreignObject><text x="1160" y="794" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">Redis / RQ...</text></switch></g><path d="M 845 670 L 845 753.63" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 845 758.88 L 841.5 751.88 L 845 753.63 L 848.5 751.88 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><rect x="785" y="910" width="120" height="80" rx="12" ry="12" fill="#ffffff" stroke="#000000" pointer-events="all"/><rect x="787" y="912" width="116" height="76" rx="11.4" ry="11.4" fill="#ffffff" stroke="#000000" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 114px; height: 1px; padding-top: 950px; margin-left: 788px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">qmk_complier</div></div></div></foreignObject><text x="845" y="954" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">qmk_complier</text></switch></g><rect x="1060" y="915" width="200" height="70" fill="#ffffff" stroke="#000000" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 198px; height: 1px; padding-top: 950px; margin-left: 1061px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">QMK Compiler<br />Job Runners<br />Source: qmk/qmk_compiler<br />Host: Rancher on DO VM's</div></div></div></foreignObject><text x="1160" y="954" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">QMK Compiler...</text></switch></g><path d="M 845 820 L 845 903.63" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 845 908.88 L 841.5 901.88 L 845 903.63 L 848.5 901.88 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><path d="M 779.03 925.64 L 529.38 833.46 Q 520 830 520 820 L 520 303.77" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 783.95 927.46 L 776.17 928.32 L 779.03 925.64 L 778.6 921.75 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><path d="M 520 298.52 L 523.5 305.52 L 520 303.77 L 516.5 305.52 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><path d="M 905 950 L 1060 950" fill="none" stroke="#000000" stroke-miterlimit="10" stroke-dasharray="3 3" pointer-events="stroke"/></g><switch><g requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"/><a transform="translate(0,-5)" xlink:href="https://www.diagrams.net/doc/faq/svg-export-text-problems" target="_blank"><text text-anchor="middle" font-size="10px" x="50%" y="100%">Viewer does not support full SVG 1.1</text></a></switch></svg> \ No newline at end of file
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="1261px" height="991px" viewBox="-0.5 -0.5 1261 991" style="background-color: rgb(255, 255, 255);"><defs/><g><path d="M 885.2 40 L 1060 40" fill="none" stroke="#000000" stroke-miterlimit="10" stroke-dasharray="3 3" pointer-events="stroke"/><image x="804.7" y="-0.5" width="80" height="80" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHcAAAB8CAYAAABT/i9JAAAgAElEQVR4Xu19CbhdZXnuu/Y8n3k+OUPmhAyQQMJMQCZxqFpBvU7VKk6otQIq4BBBLVQF7a2ot/a2trW3j09br+3F1lZAJBBIQkLInJOcedjD2WfPwxrv8/3/+tdee+eckIRDCMcsnnCmvdfee73r/Yb3+77/l3D+OKMr0NbZ8xmfz/95p9PVkEonP5SMTf7zGZ3oVXyS9Cqee8GdurV10RKP3/tIMBS+0e3xegzDAP3TNA3pmcQTU+PD1wPQz5UPfh7cU0Cis6fvM35/6PPBcF0PXTACVNd19lWWy8hnZiBJBnKZ9NJ0On3sFE55Vh5yHtw5LnNbb29/wO3/fjBcd6PX5/MYugGdmGqCmkknIZcKcLlcYIDDQHomeR7cs3LbnuGL9PYvuSMQjNwVqqvvkSBxQA0dBG6pXER2ZpqB6XA5icKMvfSPvk+nzoN7hpf91Xtab29vv8cf/n64rv5Gnz9QxVLd0JFOJlAqFuBymyy1g0qcZdgayJwH99UD6XTP3L985R3BYPiu+vqmHkmqZmmxWEAqGWcG1+kklnIA6T9AgivYjIBHwkx8gjMYBO7MebN8uiDM5+N7e1f0B8OB74XrG28KBAMeXTdNq66zIGl6OoZSPgeX2819qQkcM71OP3zNfWjoXgU5n4YrN4TxwUOWWc6kz4M7n1id8rmWr1x9RzBSf2dDY0uvwyGBg0qAGigW8piOT7FzMZYyU8v/SZIL4dZeRDpWQPLVM4YSzvmZKbgZuAfNxwLZ8+CeMh6v+IG9K1b0hwOR7zU2Nt0UCIYqLDV0aJqORGwC+VwOHo+HvZYAlL66A/Vo6V2Ftv41cDg9KJZkZDIZ6Dx2QoHAzQ9h/LgJLgxk06nzZvkVo/YyJ1i5dv0ddZGGOxubW3slh8QiXcHSfD6H+NQEIJEvdVVFvJLkQF3HEnQsXofG1m4oGt0EGlRVR0kuI5PNmcETZ64nP4QxE1z6QzZzHtxXBdsVK9b1ByKB7zU1td4UDIc9PCel3FSHrumYmhhDPp+Bxy1YWvGnHn8EnUvXo2vxGji9PsZqTdVs4GoolRXkcjnOXBBzJ+HJD2Ps+AGL8edFjHmG9oILN3yqvr7xrpbW9l7J4aiw1CDFKIPo5Djzky6nqyo4oui4qXMpelduQFP7IqgalxFVk6nse12HqumMucVSGYVCocLc1CS8BO4xE1ycV6jmBdoV69b1RwJ1jzS3tt0citR5hMggWDoxNoxsJgOP12ulKcKf+gIRBmjv8rVwewMWeKqucoBVjTGXg0xgc/9cKJVQKpUrPtcEd/TYfitNymXPy49nDPCFGzZ/qr6p8a7Wts5eh5OzVChImVQKk+OjjKXXfOh+/Oaf/hKeUtxMU4C23mVYesElaOvuhaYbjI0MQAaiyVrxO12DRt/rOjSFMziXL0BRVM5cGCikphhzCVyhUOWymfMB1emgu27duv5AXdMjbe0dN4cZSyu+VFNVjA4PIZtJw+PzWcHRRW//LJ79xU8QCRhYdsElWLZ6A9xeP2MisdAeKHHTq3K2EqCqDk3nQRQBr+k6FFVDPl9gj+HRsoFiagqewjDGBji49F/+PLinBu2GzZd9qqGp5c6Oju4+J7HUVolJzyQxOjrMzCEJ99zkckaR8NDRuwyrL7wUnT39jKUc0IqJJbAoyJJNs0vfMxNMTNU0BiYPqkyfq2nI5nLs7OK1BLijA/vMmwrI584zd050N27c2BOINP5FW0fXTXX1DV6RvtBXYung8WPIpNPw2ljK5EDDgD8QxqqLLsXqdRvgDQQ5A22+U2GMNEEUv9cMzk4RGdvYave5ZI6LxRK7gbgbAIrpKXgLwyBwhVnO57LnzXItupsvu/pTTa0td3Z0L+pzOpxmaY3nptOJBEaHB7meSyy1q0eQsKh/OdZtuhy9vUu5L2UAqqZZ5X6zApQAU/yO/m76VxNwzlx+IxBzFV1DuVyGLJv+VoBLPrc4jNGjHFzmh8+Dy6HduPGKnkhj5C/auxfd1FDfyFlq1ksVVcXxo0eQTs3A6/NXqUeMpcEA1l9yJdZvuIQxlgdGnJVkfjViJDO5ZJJV5mPZ36tSHf547mvNnNZkNmO4Qv6W+95CscTlSlN6JL9LZtlXHMbI0ZcsX1/I536/mXv5Vdd9orm19e6unt4+l7OapYlEHEPHjgGSyVJbaY1qq71Ll+OSy67C4iXL2I0gIlpimshPK0ALQCnFqfhP5nuFiRZ+mBhKQJsstm4QAldRbSmQKO9xs+wrDGNk4CXLLP9egrvxiit6muoav9+5qOfmhoZmL+WjPOrVISsKBg4fQkqw1AKUqb3wBf245LKrccmmyxAMmixljDM4I8kEM8bZgiZbIMQZa/paK4etAC9ukEpqxNUp4a/LZQWKRia5Aixn7iT8xRGMHN1rBXPF3yfmXnXd9Z9obWu7e1Hv4j5SiOySYCw6hcFjA9TTUIl4TX8KQ8fiZStw5TXXYfnyFeziMT9oRb3cT3Jwud9UFDNgIp8pclcC3jLJFXYL9Ymdj8w3Oze/STioHGD6yoQLK5/m0iMLqKrA5RWkYiG/sM3yFVdc3xNuCn+/p6fv5sbmFq9oJBMsPXRgP2aSSfj8gSr1iEe8flx+1RZcfsWViETCDEBZsI5FtjxQ4nmq6StZ4MN9JmdfdZQs5EPL32oGT4PMKLk6guapEGezCkVWURbCRRVzDZTSU4y5w0f2WiXCBQ/uO9793rGGxqau1rYOKzedmpjAwNEjoKoLtaqIthSRQixZtgw33HgjVq9aRaS1BUAUDNnVJGKaWakxWSdECZbSMNZSMGQKEJZgMVt0LExvJdAiUO1gC9baAynx3jm4wwxc8TmKxcLCZu77PvyxeG//4uax0WHEo1FMT0/D5w9a2Y+4EJSrXnXNNbj22mvQ3NDIGMejWm5KeZAk2MhlQvY7FslW/KiIaK2giokWFSGCsZydi7OegWfLf4VvFWaeiRfEWkWDLCuWImX2wDGzTO6FwA3YwKXPVVro4L73Qx+N9/QtbiY0H/+vX3Pzazv6+vpww0034sK1a+GiDkK6WEziMwE10w8R1VI6Q6kRD5ooiCKpUKQ6Zgpk/syrOmbka/pny4eKn0VkzEAUNw/dUDxI48qUipKssL/XBlLiZwZuaRhDh1+0UrVUsbC0vJD7lt/zwY/Ee/r6GbhP/ua/q8D90r33oG9RdxXYdLE4YwkwzlpZ5TVY+j2XDSklqWay8LuCpZXASQBuD4wq0qMIwKwcl4HKH0vn1Ml/qypjrV2REoGUJT+mpxA0wRXWKFUqLmxw3/3+D8cXmeA+9cTjVeA+/N3vIBDgooQ4GAs1jQVOQh0SOSsPkipiv/V7M4iqmG0TGDNStgsT9BzdZL+9aCAKBdxPc/B1M/ImRUrTeVRczVyhYYOb5dIwhg+/aBXr06ni0nJ5AU8c3Pa+D8YX9XLmPv3bJyv+1jDw8MPfrQKXfJeIcJlPNVMYlp7Y81NmqvlNYEXLTOgXZtgWITOgeF22okqZ1R5xA9mKCKKNhqVBZI7LMmOyKERw9p4INIkYwfIwhg7tMaNlYMGDe+t7PxDv7ulj4G576in4AzyYIgY8UgOuAJD5VMZgEUjZgDHLcNznmt0RigbF9JeceVxmtAdglRJe5SawgLSlSyyNMvNbRVFs5riatSKQEoEVMVeAK8xyOp1aWi6XF+6s0Dvf/f54V08vA/fZbU/PCS4rxZkRseVXmVBfqavatWAC154GCVZyEcIwdWAOFPPXImUywWMmV3RWWDcK5bRmMUGjVhqhIdea4xOBrgWXAM4sdHDf/q73xrsXcXCfe/YZBq64sx955GHLLFdYWmEcz2lNFpPqRP6WRcgiIOK/48BWQKkKuMwAjD2PtGJR7WHacSXFYmKFGUyRby/LZVYsEMwUpb3aQEqY6LLF3N1WpSqTTi9s5r7ttv8R7+ruYeDueG67BS4B/D0TXJH6UDAlCuaWAFFlmm0yo5WbVoQGqwjAmtkoZeJF+EogZhbgrZaaSquq1QBH1kJRGbhz+dfZgC6lowiVhzF4aLdVFcpkFji4b33nuy1wd+143oyWeZRJ4Pr9/irBgphFqY9dThTlOqvSY9ZVrSBJiBmW6eV1V2Hm7W0yXDfm6RSPlrnIIfwvPZbMMd1oFaGCfz9bIMVbWw2UGbhDDFx6LP1vwYP7lne8K97ZvYgxd/eunQxcYZa/971H4PN5udIkhH+rX6kmmLKxzfKvTPcV5pgrViw3NWVHDj4PzERfVJV2bPZH2W+SsixDUXlOWwHUDnSl+8ICnylUUYTlIQwerJjlbCazsM3ym99+W7yjq5uB++LuXSwVEm2lBK7b4zEBsBUBqoA20x2rTYYLGcJ3iuqQAFAUCuzFBMHSSiHBrOmaUTI7HxUlFBlU0mP9WWaz+VyKFE+NKkATcwnc4wcrZjmbXeDg3vIH77TA3btnN/zEXLOU9/DDj7C5HCFYCKmQpzBmMGX6Tt7+woMpxjQKhsyynuWfRRXIVLaEbmw9h4EpqkmC8Sprx5FZEd6Mjq081sZSs7QnwK410eWMAPcFq312wYP7xre+Pd7eyZm7b++LXMQwC/Dfefi7cLu9VltMpUxnb5OxFwu4hsxNq6gQVboUuZRY8deiKM/0YUtSJDCrRQwCllpn2AyRrXXmZIqU+JsVLWeiiBBzD7xg3by5bHZhm+Wb3/y2eFtnFwP3wL6XTJ/LafDQt78Dt9drkxTt0XClJmtvRbVyU5EDW8NZwr9WTC4H19aDzIoDogdZlAE1FKgH2ZzLrTCSB0ovF0gJv0vMJXCPHXjBunlzuQUO7g1vemu8vYODe3D/PvjJ55pm+UEC1+0xi+vC5FZSlyoVik0BqDX1W5ORpuzIo+Na8EQzuVlNsqlRFHjl80WWMvEAt7p1xv5zrSJVy1w5O4WIPIxjB3ZVJg5yuYXN3OtveUu8rb2TgXv44IEqs/zNh/4cHg83y4o5wsFrtKLVxazO2HRh0azGW2LMdhhbK4zVzCYYPSvYPB2iQS4yyfao93QDKfFcOTOFiDKMY/t3WTdvfqGDe93Nb463tXcwcI8cOmhTqIAHvvUg3B4akaxow7WFc+GHyZyKgr09gOIaskh3KmadixKiVZXfJLrJfLIIpWKRFQVmTXdszeZzKVKVqQae/wpwj+/faVWP8vkFztzrbrol3trGwT165HCVWb7/mw+yybuqLguarhNRsa0PyqoSmZ0UvNtRtRrjeMDE/SvPdUWR3uxbZg1vvOpUpvHLYsEmSrycf62U9mrNsfhZJp+rEnN3Wj43n88vbLO85fo3xlva2xm4x44egT8Qsj78177xZ/AKcK2Jutq+qEqPlBjKEnJiRWUSEbJZkNerQefRMg+0ikUZ+WLeZoq5rz3TQEoU8AncOmaWd/IVbgwDCx7ca95wc7ylrY2Be/zYQFXh4CsPfAsej88c17D1RdkZa6U+tujZHNDibObpERveEqMf1jQBj46FAlUolFAoFq3A6Uz9a9XNYEbUHNwhDq6Z6hUKhYXN3KuvvSHe3MqZOzR4nINrRstf/vq3mELFxYlq32kv2tvbU63ujJrRSuZ3mY8VfpeLHkJuzOfzbGC6qlXGVnR/pUArWQ7ugM0sL3hwr9xyfby5hTN3eHgQAVby46bw3q3fYAFVVZ3W9Km8j8pe2hNdirwbUUTLHHgheoheK1H94QFVJptlyxxYooSpNonZ2kq0fOqKFE+NKumTBe6+ille8OBecfV18aaWVgbu6MgI/MGKQvWlrxK4PBWywLKNVVrihdmCWinOV1pnRI1WTAsIoEXnRSqTRtmMimcNhs5QkapSrwBUwN1hmeVikXqoFnAnxqVXbYk3N3Nwx8fGLLNMNLr7yw/wPFe0y1h9UnbW2vqWWbRrKk42MYJAJ0GiYr4pKFORSqVBVR4r3akRKuYjkGLlPQBqegwRbRxH9+2wAsYFD+7mK6+JNzW1MHAnJsZNs8xnae5i4FJVqDL6wUxx1VC0fSzEbGu1m2zb0gYCZCr4J2dmQD1QVVGwqUC9Uv8qmuXYDZWZRFudC35HGYdfeh6pxBSv58LAggd30+VXxxubmhm4U5OTVWb58/fcD4+XwDW7Gc31JrhpFUUC+9xPhZ21s0FiiYNyScb0TIpZA7vQMJ+BFK3z6FWT6GoJIzFxHGODh1HIpy3GmtGyoShKd6FQmLC37r6W38/7YtoXX3qlBS5N8lGey4r1MPC5e7ayqpCo2IgASvRFiaFnEh94p0QlcLJqtLaOi0w+j3Q6Bd3WY1xVmnsFgRSxVE6PoyXsgE+SMXL8AOKTI2w6QlS56GNpmlpQFOUXLpfrs9lsNvFagln72vMO7sZNV8QbmpoYc+PxWJVZ/uwXv8YUqkraU2lE57VYE0xWtxUMNhcfsXqkeH8zmeFcrrLol24GSifoxiL9OcVASs6n4JKT6Gj0Y3pqGBNDAygUshVAwZbANxRZPqqq6tdLpdI/nEuA2t/LvIO74ZJL4/WN3CzTehb2aPkzX/gqK/mxPFc0lZs9TlUdFvZ1KkTkbEqNpA/HE0m2t8Cp+teXC6RIgy6lJtDkB3yOMkaOH8Z0bLzCUjNPVxWlqCjqLyUJn8nlcrFzFVTxvuYd3Asv3hyvb+DMnUlOVxQqAJ+66ytmVagyNM0iXnsDnK1HSkzMi+Z1WmE1Pp1kAVm1f62RE08xkCJfKpUSaG/wIjE5gsmxQZQKOXZthOpELJXL5QFNUx/I5/M/PdcBfVWZu37DpnhdQyMDlxYsEX3LdLE++fmvcLM8h2Bhb2YTOS/N+VA6FJ9JIpXKVM3vnNCdaPlYW4ObKTyIiFmnbsfkOOo9GrwoY2x4ANMs4rX7UgOqIhdlWf5/uq5/Op/P88WYX2fHvDN3zUUXx+vrGxi4mXQGgWClQe7jf3ofPF6f2Rdlztra11q0lkGwLVtQlhGNxXhbjOhQPKl/5QvV15b2SoUMkIuhtc6D6alRRCeGUSoVqoIjtlaHrseKhfw92Wz2J68zLE94u/MO7gXrN8TrTHBz2SwfJzHXafro5+5jhYNKX5R9WEusmiq6KzQkEjOYTs+wIsGcddiTAE2RbWFmHM1BCX6HisGBQ4hHJ6tZSgGSpqG1vYMt2RAK10GSpD2Sw3HnQ1+/9zevZ4DnHdzV6y6KR+rqGXML+XyVWf7on9wLN61nzJrdbGU7q+rDa7O5bB6T0SiTEa1uf1vr6csFUqV8lvvSOi/KhQyGjh9FKpmoWoODgHe53Fi1dj1WrV4DWs6Xlumlfw766nDQumaPSU7X3Q9+5Yv7X48gzzu4K9est8AtFgoIBHmeS/8+8pkvmQ1yvKJjLZ5pBlS0StvkVBQz6fTc3f7WOo/VdVkCK58YQ71fQtCtMoaODB5jdV17gBQOR9DTv5hNPrR3LoLb464AKjlAK6vbAZYgaQ5J+gnc+le+ee+90dcTyPMO7orV6+LhSB1jbrlcqjLLH/r0l1i0LFZ0s5a91TQkkilMTEWZhFiVq1r9w5WKjD2QIpbqhThawy6UchmMjgwinZ6pUo8cDgfa2juwdPlKtHV0gn4mZvKNKxJo6ehgC4JWgVrDYkmScpLD8aBbLXz3a1/7WuH1APK8g7t85Zp4yARXUeSqYv0f3fEFuFgPVWXREYqAJ6Ixtp6xaC19Of9K60JlE2MIuxQEnBrisSgmxoeZ7xRWgs7h9nrQ0NCECy/eBJ/PB4fkYMDS7iQCYPqaTCRQLpXQ0Nw8K8AM9IrZHpck3OeQ8z/dunXrObMp42w327yDu3TF6ngozJmrqootWgY+8Mm7mc+lVGg6OYPxySjytqXlZ/OvdqCJpWo2hsaAA6VcGmPjo8hlM1XqEX0g1qclKygW8+jpW4INmy41QTXBZSBXA0zg0drN/kAAwVB4dhabAPMLKb0IA3c+8OW7/vtcZfG8g7tk+ap4MBRh4FJOaY+W3/vxu5ArlDA2MVUN6gmluUoRnViaSYwh6CjDCwWJ6TimJidgCJaa6hGtUEf+knYfoUkCJzHU6UR3Tx/WXrSxGlz6mwkwmWfOZh5QUU49NjKE5pZWVnsWwZUItsRXG6CPSbp+9/3nYNA17+D2L10ZD4bCDFwSBkRARY509eU3AU63JUScEPVa3Q4AsbScmkS9Fyjm0piITqCQy1vrTwiFihYHJfNPOavD4WSbPnGwnKCl8ju7erB67TrmYwWIVV/NyFj8ToCWz2URj8XQ2d3NFkezmWV2E9QcmgH8xJCUcyromldwN119dX9sIro/EAiyJWvoIthFjCUbroWXVYkqraXV/tVAKjoGr16AR5KZNh2P0z4FQm40d+miFcslHaV8nkXVgqUCUPbVZC4FUCtWrq7ysdXgmsAJM10D3HQ8xqYBW1rbuamuMs21GEs5SHjIpeS/cy4EXfMBrmPDpde8CZL0CYck3ZSIjjvEwmJ0IYIiFYKBCrjVMzmlYg6FxDjCbo2WkmfVpGKxWBXxinRGKZdRlkuzspSDyhnLvzrR2tbGlvC1TO9cDDZBo8fVHrRu5dO//Q0uv/o6C+CX8bPnRNB1xuCu2by5zWU4PwI4b3dIEtvFknxebGocPnMBbFrZnMyyqH8u2XgtPGZ9l8zqzNQYnGoOLrWImZkkkqmUuS+QuZceDA6S5MTMTIwNyJ6MpXbG0orrBHJTUwt6+vqqTPLcJrqS5xJ4M9PTeOrxX2N8lOq4Gj7xuS9YQscspnkWvF/boOu0wV170WXXGIyleIckSW4OKgUoPPmPTo3C6+ULiXncbgRCZrHeMLB443Xs99nYGIIuGflMBolkkilRQqIUqYzkcAOGxKbeqXsjl0pU+dLZWMqANxkr/G5jYxM6unhueyrspcfseWEH9u7aARJhhEsgkeTjf3J3le891ShZgvEr6MZdZzvoOiVwF2/cWOcp4wMOh/MTkkNaJVjKAg0TVK7sODA1MQKv18c+N00X2M1yZ9ciOHUFM+kUMtk83yLc0oZp7w8JDpfbWpeZZxyA2+VGLjPNgTN96WwstQMeCoVRV1ePYChkBlncX84FMAVQ23/3W4yPjbCXFRtR0Vc679JVq3HNdTdWJMpZzPfLgM2CLpeCr27devdZqTKdFNylqzZucDj0T0iS4z2SJAVrWTrbz5MTI0yFosPv99nMMtiFpfmeSpsKL/MQrLQvkJdNI3C50P7G6HmZ1HSVL52NpdQIEA6HEQ6H2KgoD35qo+QKyGRxjh46iAP79qBMkwkEqrmYJ1WIwqEINl56OfqXLKsKpuxp0amyVzwuMR17ZuTY4Gcf++U/7zzd557u408At69vi88TzL4L0D8JSJvECatSAZsZrmXxxNgQyw/pIOZQt6OYpamoR9SqwneQpqV5HU4XA4LSGL6Sa+VtsQ2KYTDhnwIk4UsFS2nPIV8giGAwwHz9bOkOdxsVkClt2rPrecSnJtlrWabX1MAX9fZh0+VXm6oWdzu1RYVZ8t05r72qqdmRweHdk1MT3bqmL5Ykx9uf/PW//eJ0wTrdx1tXcdWqC5dpDufHAf2PAKmx9kQ1Ehz/sDUgkyJE265RIENHQ2MT87sMVPqPrWuhmotqc2bVmkna9pRWvBE7T9N5SPyfmebgCl9KYykk/vu8fjhdTjOPrTa9tecfHx7CkcMHocilCqi0xL2usV1Q1qzfgP6ly04QLmYTMk6eEvGrl8lkjwwdHYimc5kNAKxFp88auGsvvvL6cqnwBRh4Q401rMLXbopqWazKMgqFPCvEq2yFGD58RR2ubreb7fBBoILYQwCZ+WIty+xRrJsi7VDQNNUypuNx9lwy+RRgkR+e3YdWA0wS6OH9+8znm/vSm6aXbhqq41548WYEA0F204mqEC8i1P5cw+JZ/K5uGPLE+NjO0ZGRkKqo62Zj21kD9+4vP/CrZ7Zt88ei0StpV++5qF8rv9lZ29HZxoKoYwPHWVWHDrlcZGaNWV8KlWyAchD5xZvTjJqsJrNOgRnN11JqZT1+luda53U4kIhFMTx0jNWOKVDjLoGvPkemfenKVSz/5Z9rllLfiVWhOYsK9AlLpfLEsWMDR5LTiQtgoOVkJvSsgXvf/Q89CQnXTCcSh5968reqoigXnAzg2Xxva0sz+pYsZd2Cx44exlQ0yvYqqD1OjFRnB3jOPHQWsd9+g1C1iWq4mUyS7WotACWtmRgcqW/AmvUXsQheuBWrzFcL8El+tlwUYCSmE7sHjx1XyuXyxScjB8mk1LrLbvWz5XMFuPSihmHoe/e8+PThQ4cuBBCZze/O5nu9Hg+WrVjOxjPZXVwsYuDoUbZzJW9I58eJ7K1UZ2pZPDvA1ZGuuFmyqRTb2Zr8Ov1O7CzGd0bRWfFARLyCpVYKZ4JYSenmDp6E79U0LT02MrInGo326rreNxcZyJcnEzEkopO44uprMT2Tfu3AFW+yWCzGnnj88YFcJnu5/Y1XmebaiFmSEAmH0Nm9yBLWU6kkRoaHWceFOE7qJ2tM7ckYTDdNdGoCxTz5eq+VwhCYskx15ACWr1xtle94SsTdw5mytpDNHhoaGYnnc7mNAKo3b7BdKOqpno5OIhGfYjVmOq678ZZzA1zxPkeHh3c9t/25Fl3Xe+zgzB1cSSxvrW+og9ndyp4WnRhn9VsisZ29zMRbEbMtELKBXAtwqVDAzEycbVPOtjE30xe2/qMio7WtHT39SyxfWgVoLUvnYK2dxYBRjsViO6cmp+o0VV1zMl+az2eRjEWRTiehq3wXMXGcc+DSG9M0rbT9mWe2j4+NE4s9p5IS0UXXVRk0eCBWSqfZn8mxURTLZaYVz60WmSDbAKa9/TKpJFRVhs9HC4XyKhGZXarYuBxOBmgoTEV2UzWzWMrNbAVkHjzNaZZNwGVZHpsYHxvIZDLrYOCE1FCARukdbc6cmo6xjIFuMhqFEYylfJzy8CXLVsDh4m7rNfG5J7srU+nU8acefyJTLqKbE1kAABnESURBVMsXWgm9LbkX8mOV76KdRwjkphYW6dJRLhURi0UhnQLApCuXcjl4KO91Ub5MfcU8L6XzhCMN6Fy0iIkfs4Fay9qTsph/FiOTSu2amooaiiKT6T2xRGReJCrqZ9NJZFI0OipzUNlmGRxcCuiC4QgaGltQ11B9b5w1cO/5+reeBKRrTgas/W+HDh54+uD+g6sBNL6sHGnqzTSLoyky/5BmvTSbSaGQL8JlyoSWiXY6UC7mmUZF7S52VUuWS2wHkbbOToTCETM1seeiZ8ZaXddnEtHY3pl0qh+GYbmg2a6JXC6D3nuRWn5UtYqpZEkI1EAogubWthP2VKoElmdJofriV7/xpAGcMrj0BmVZntm+bdu+dDpzpUSHmbPOHqxUEv8yWwtKZ7tp0kHApVNJSA4XnA6J3fmhcJCNeVZML63VmGcyZVtHFzfnZDrNEqMlNth+PiF4qg2mzJ+LxdKBRCyaLPE0hlc7ZjnIc9J7L+SyzGIIsyuYStE5WY9guI6BSgCf7DhrzL3zvq8/idMEV7zxeCy6d8+uFwKabiw9gcUma2urRvQzzRCR2iQ0aLlcQkMjN13C9CpyGaVSEfUNTQiGwxVATRD5eU+mKJ3IYjLLlKml06mdqZlko66DLNCcB92IVFCgjg9FUxhLLfNrrlZHMmmkrh71fDzqlI6zBu7nvvTVMwaXgyEp+/e9tG1qYmKTJEmBWr1ZiO48RzQBkSTmO6cTUWaWicEtra3say6bZooSBWPEAAbgSVg6K4vtKY/JUk1RRxLJxGC5WFoHCQ3VdadqTJhPp63MiaUmoPQ7+p7vJiqzsRgaZhQB4ymhCsQB4696+hb/NhQMLi97jL/564ceyp7ic0/7YdJn7rrvScA4LbM826sUi4WxPS/snpRl5ZITgysOai2LCTRqm0kkYgiFQwgEQqznypIELZZWhIUTXYDt3LYImV4LDkkv5nO7UjMpSdU0CpCqO6QYkSsVKMPgO12rCu3jZ2MpGwqnLVdlVmBoammzAsRTvOLPODyenyzu7fMVi4VPxafGVyfjMbR2dOY7FvX9eWPA9e1vf/vb1P03r4d0x59+8bR97sneweT4xPbBwUFSbdqrWGxjbS2La3+upC4V1lpm+OVY7CCroCdTM6mXivncEh3otheHOZS2SqfEc28KhmojXvqZfCwBS0sLU4O7dXvU3BhVZ+W3UN6A9LOmlub/bKxvuFZVlQ/s3L4trJQKLNqnm5hy8oA/gI7eJUmv3/tn5YDnL388j9MM0u2fveuHEvCx+bxlNE3LHTl0aFcum7tSckjO2Vg7G4urclErNz05a+1muVwu7UvPpNKKIlOAxIvK1kEozmaMJVairAaXctcUcxOhSB0DogJe9Y1hP7/5l8NOh/PHi/p6M3K5dPt0bOqS6OQ4K0vGYgkkE3G84YYboKsK/MEwvP4gMpkUktMJdHb3pLt6++53KcUfPPzww8VXigl7Px/91OduMyTpERjoeKUntD8/l8sdHKCty3V9lfCd88FaO4shGYVcLrsrl8mSkrayQqgTm0z43078Pfl2AleVy0ilZthD6hqabKZ37hvDNAKaA8YvA3X1/9La0rIWhvThPTu3NyvlIjQC0R9AS1s7/D4fSorC2mT9wRBe3PU8cmzBFo1V1do7OhCO1GHR4uVRj8f7zbDH+PHWrVup+HxGh/VJ3/vpT0c8Cr4BSJ88WfJ+Bq+iT0xMPp1MJC6SHI5wpQpTWxsVuq9dUZqbtZqmDqVnUsNluXAhINVxZs3NqmqzKT4FfzxpwflshqUzVDmiG7H2mOPGmJIcxl91dPYMGrrxgVQydnUiNiVRpA/JidGRYVx40QZEQgF4fQG4/UFk02lEJ8fgdLmZ7l4o5LDl2uuYDuALhFDX2MRSQ5pSbG3vjDW0tHw97NT/19atW+XTvfYn3Mbv/9gdFzt040cGQN0D83YoihIdGxo5LmvKZa+AxVqxkN+Zy6TdmqZdZNHQ/BTVzTnmWz+Fv1EN2uPm0qDN/lb9YJ2bf/OUx+/9WXt7d6dTcnx4dPh49/DgAIJ+P2skoFGUgN/sAPWHUd/YiL27d6GQy7BmBmo4oKnDYDCIbKGArq5uZinGx0YxNnycqV50UGlyyfIV6Fu6Ytztdj+Qirb95Mc//hgvmJ/CMWuD3K233ur0RhrvMAzpfgBccZinI5vJ7EzE4m2GJC2yWGwLtk4Ipihtgh7PpdP7S8XCcgPonO2t0PNmP05iUukJpwC++ZAcDPxdY3PbC+Fw+GbJgT+QHA4XvW6pUMS+vbtQzGWxfv06uL1+eHx+5LI5xKITkEslNrY6PHgcl11xJfxeNzxeP0J1DazbMzY5zpoItm97CjQ/fMEFa+AP+NmNEI7Uo62rh5lxSZKGHZLzgWRn49/++GMvD/JcV4Rdp1s/8PEuh6F9T5Lwh/OELTuNYRjFRDz+XLFUvEKSHKz3ebaIWZHLe7OZVE5V1YsloEKtGhpZGM3y++q/zf5xX+bGOOByuf6mvaPHZWjKRw0Y/V6/f1Ytu1SglQT8GBsdwfjIEJwSV65a2zoQCoWYOucLRtDY1Izp6STGR44hNc3XJaPmvvbOTszMpNDT08OYXNfYzHrJanu4HJI0CMl5v0cv/N3WrVt5u+gsx0nBFY+/9X1//CbdMP6nBMxZmD4T8BVFOZacTuQNA+sqZUTkC7ncC/l8rg3Ql4vzzpbCVP5W8zGqfqzyxLZwucaIV98YKgz8a6Sx8clIuP6yXDr5rnRq2p3PplkETWpUV89itkrAiX1WDlAd+8VdzzGjsOaC1Uyo8YfqWFVoOjaFQj6LaDTKRkbXX7gBrW0t0BQFAeq1bmpBmBg9W/tPrSLndAw4JOn+Q8v6/uHnt93GC8e245TApce/5S23B1zB0lcA/CkA95mAOcdzKNzdlslk6nO5dFIply+qcgX0Ic0uDhbVairrtLDnNdUf4gQ7a1re2YMtO/QSMCG5nX/T0tKZliS8Xy4V14wMDyI9k0RzcxNoYTwSW0gHd7q88Eco+JpDRHFItJ8uY6wsKzh6aB9ymRSrdzOdvL2DFz6cbpbvhusbWTOhJeBwqZSNz5ystZZbPRzRga+7lMI/2gfCTxlcAcyb3vX+NU5d/yGAK+YRYBw/fPBZWSlfNlsmSnd+fUMLwpEwa3SfmhjHDC1gYh5zmlXzxjjxfVYSXh4F44lAIPxv9Q2Ny7PZzAeLubSfgh9iKb02rUXpcjrQ39cHp9sHF3V50hLA0wnWLE8mtLWji0mS9u5JUcCgFqBnnnqC5csXb9zIblDKb8nnBiP1HECTlZSSxSfHMT46zFp0unr6sHTFakTqGqrOTT1hY0ODrOm/q6dXfMSDBrDVpeR/TiCfNrjiet7yjvf8sWQYD1Lpbz5AHjx66FlZLl9WNWrAmtaDfAxU54zt6e1HY1MTnnnqcbb8QrU1PfHjmODN1rWbgST9fXNz+5DT4/rDUi67maLmvXt2oq2tA93dXSy4IVAlGmPxBuF0uZgmfnDfbkDXaDyByZHNzS1s0+dQQwtcbm91O4+pbVNB5PjRI+js7EQgXHcCS8kMp2aS+N0T/4VgwM/UsvaOTkQidSBZdPHKdaybNJGI4/iRg5gYG2GPIZ9Oa30sX72WCS7msT83k7rrTMFl53jjG29t0d3StyUYH3ilAA8OHHpWIXBt4avTTbNGYXQtX4fCutuhJ44i8es/w7U33IznnnmKrWVxBrntXo/X9/PGptamQin/R3I+W0+1WWIplRPrG5swOT6B1ReshuT0wGHuYJahwvzMNMu+KOhJxKZw9ZZr4XI44PJ44PEF4fYFeIOersHt8tiYdmrdIJQf797xHEubbrjxRgYcBVWhSD0S8RgK+Rz27d3DzP2q1RegpbkFqlJmN1h7dy+aWtsxdGxgz9NP/qaYSiW1VwSuAPT6N79tCyD9UDKw4kxBHjl2+NmyLF9Web6ESFMrnNDRfNtf4uEPXoTb/3ECiR/ejLe+45147Jf/ilKxdlGZan9rC5lkhyT9S7Chca/fE7heLuev1TRVGjh6mPnA/v7FaG5uhsfthEEChsMNyUlThsDAkQNMYKAhClKRKNINBAJsRXYqyvsDYTjYCAyQmUliOj6F9Axf87Kzp5+ECNvYZ02T3hw9XbTKDpNRHE4cObAXk+OjFkvbu7rZ+yJz3NbWhsbWdrIo6Z3bt+05sPfFblVVyJL+raIoj84LuPQ+br31Vk8iU/4CgHtOVvieC/yRoSPPKuUKuOS7Orr6IZfyaLrlK1C6Lkfisfux3DfFZm5//dgvZ1u+QHgNEW+NOl2en9U1NzlVRX9fOZdqV2VaZtBgQUokUo9cIY+G+kaEIxEYEpchc9kUcmnePkNmdmJ8DIuXLEVbSxMLgJweH1xuHyShSasKsyQkOricEnt/kboIBToI1TXDH4qccg8XvT5p0ZT70g1EexD39S/BihXLmZRJAkhDcxvz8fFY9MD2p5+YjsdiGw3DOGjo+g8CgcA/jo2NMV163sAVoG256a1LdV37AQzccDosHhk88qyqVDO3b+lKNkhGA920q9cFa9ejb/FiPPFf/8GE9jn8LYXS/x0K1W/zhUIbNbl0i1IuOWkbmpGhY+jqWoTFSxbD66GeLAmaIUGXnIwZ5PMmRocQiYRBvdgNTU0IBripLasSbxpwcpbmqSkuGTfVJANOtwdTU1PYcNEGNutEAZMvGGYBGVWWqGBArCe/aEXYtrozQbF3907MJKZYaZFeh6lYgQAbd+1fshgNTa00slM4sPfFXftfeqFJluV+wzD+Sde0H0xPT++ovd7zDq54gSuvu/k9hoHvUunvVEAeGzr6rEJm2faOqD12+aq1LP0gVtAw2M7nt7Gm91ny3pTD5fw/4brWtNvpfGdyOrrE4+QTfHQxSZCncySmk+jo7ISmS0wVKhayKOYyoG4Qmjak9bBoVveySzczsyg5PMxEE0tpNqZUzGPw2FFks2k0NDSwf5FIhPleihHcviB8gQB7TRbVxydZdyQdNEvVt3gJ2jp7WHBmb5AvFgt4/D8fY1nAlVddzVhPTYGRhmbUN7eglM8d3/X8c6OTk+PrASNuAD8su93/Oz0ywrXKWY5XDVx6rS1bttSXNNc3IbGS4pydhPTYiaGBZ2WLuZQ78nfr8/vR2NwCTVYQjU7NIhdit88f+Y9AKLTE0NS3q0rJTWMbZEqpa2LDxosRCgZYpE27iSk6WEGemHpg7wusvSccCjL9l4bByKyWFMDjJ4C4j6RAJpua5mVAWjPS7WHKEQ23Le7vhdvjZ8EUsZduEirEU7F/z87nGdCrVq1mDfuGrrHzhuqaGOA0A0VsFJ0mFDGPjYzA63GioamFAiVl6PjAzv0v7faVi6W1hoF/16D/IDYxQWtfVZqiXwtwxWtuvPLazQ4dlBvTmMqsx/jIsSqzfJIUhp5flhyOfw3XNY+4Pd6bUsnEepfTgJvSFklCMBRhbKcV1ZubmlmQRNouFcppcRUq7XEm+dlyRGvWrmGjMDoooOI91RRoEai0xOHe3TvQ3tGFttZW5kvdNDIqOeDyhZlKRa9J62ck45NcqKBze7xoaW3DTCqFzi5Kq+qgGkB8apyNl1CeTMei3n70LF7G9oIQ/dTFYnH8wN4XjkyMj63WWaHZ+CtA//H4+PjYqVhB8ZhXlbn2N0LFiIHR2Gclw9gKIFT7JidGBbhzyYX0DGnI4/H/30C4vh7Qb4Mm+8nsFosltvDYilWr0dXZziYbSrKKssy3rtE1BSODx6HrKouKabQ0FAwykFRdgqyCm0kHFQGoyzHN/rHNKiAxWXBsbBSbLrmESYhkfknwp3acdDLBTHU6k8Hw8QG2AmxnZwdzB9QA6PWHQSaXbpQjhw8xxi5dvgytLa3WKCuZ3khDkx6dnNh16OBerZDNXwwYv9MM/dH2lpZf7Nq165QrQfbretbAFS+65pKrFzkN9fuA9Db7G5kcHXxWVSnPrZ2rh+FwSL8O1TXtd7m9W4rFwoZSPsPMHJluyoNp0oCku+RMGl5/gLFUpjZatcQqK3RQ/ZQW5I6Ew0xIoPElCqZ4WE2g5phydOjASwzo3t5eJjd63S72d8nlY8DSDUABz8jxo1BlPodMrCchg5ZootdobW2D5PJgcmwYM4kYmzCko4nci6azNKm1rZWJGU6Xe3rgyKG9k6NjS3RDrTMM/afQ9UeHh4cPng5LZ3vsWQdXvInVF136Vgn4CwCsCTw2PshEDJuUmHR5fP9SV98YgIS3GaocIEWI1s+gvQ5od83NmzcxlhZKMoolha2nQWMsJYqMB4+iqaUVvT29rG7qcbuYjFiQNVpWhYFEvjefmYFcypksBerqG1mgRfXYcF094HBBMjXtbHoG9I+WfCDN2eXyYPPmzTT9C6fbDbc3wN4f9WKTnrxz+za0d3Zh5coVLOCim4Raa8INTUjPpF4cOHo4W8hlLzEM4wB0PFoo+H4Wje6dt0a51wxcAnTdunVBGe6vwZD+ZHpqZIfCA6odi3r7/13RnVeVy6U3jA8PSPX1DWior2NTBiE2be/G6GSc+bWyrILaWRzg5pexlBrEQxGQi1q7di3KCm0Hx5fHJ42COi7lcoEt0z8+Nozu7h709fXB66V6CIMKuoMm93lRYODwfjgMPthFFoLGYwLBAOKJaSxa1MsYzfqg4lFQ5YgO6ujo6OzG8PAwli5ZAl8wBKfHm50YGdk1MTHaoatarwH955ru+MHQwMHtr5Sl5xRz7W9mxZoN62YSE39QKhT+I5PJ7PjyAw9+UtWMO5/bvj1/+MC+NYnoOGeI5GALg+aLZZbQQ6e1mQ1MjI+ynHXJkiVobGyEz+th+yjkiwrbaUyI+alEDJKhMnmQjlAowiLfTDaD3t4+aCygp8lBnXVNUHAkfDrVaC+97HIEA1QccDG/KyuUG8eZ36WeZqpatba3M0tBZ6IF1UjAKBaKh8ZGjk9lM9mLDRhR6PqPnJLx14cOHZp+NUA96wHV6XyI++5/6NOQ8H16TqGY3/27J55qzWRSXQQgXXQC1evhIxukq9KaU9RETr6PKjPFMi8yEKi6IkORi5YppUh4/foLEQz6mS5Nvlc1uMkk1k6Oj7BFRcmM08o6pDWHqAuCzLgmgQr1lBLxQIrLn8yyNDaxNIpAJ53Z5fWVpuOJHbHoWERV1DWGYfw/SPqjh/fv/89TSWNO53rN9djX1CzP9abuu//Bt0KS/skmYyrRyeiOZ5/Ztj42NR6cjk0wk7d8+TJWLiOfS/+ISWKsJTOTYKbaLIsyLZYqLJlsDvUNDdz0mguM0uBZMZ+BUi6B6kyxaBRt7e1Yurif2XHD4UapWAIVDzibeRBFqQ75ZrovXGauq6nGUHRqfDCXTq/VYbCFxRy6/KMDBw7w1cvO4nFOgkuf/55vPNzhNOQvGpBut0A2MHP40MFDe3bv3qwrZQfN6BTLZpZAn0SVoallJjTQ5si0l+DyFSvR0UErrgKyokNWxQZTBptFGjl+BPX1tF6WiwVT5NMpRcoWFDZlWCgUMDo0AI9LLL/UjPr6Or4GpYvrzA6XRy1kczvi8ahTU5WLYRhPazAeDbgd/3ymacx83APnLLjiw9391Qc7JahfhITbYfBGc03Tju18fkdxYnx8DTGV2JTPpljQ5Xa7LKmRFiCjdSgCwTBoOznKeij4kot5thYVyY0UYY+PjuLa665lfluHg90YZP6ZC5CcrIaay2WwZcu13DI4PRQcUaQ+mZqZPpjP5lbo0COGrv+dbjh+cODFHefEbibnPLgC5M997t4uzSV9CcBHxDRBoVja+cKO5zvSqZmueHScmeBNmy6BomiM0SRiUISsURSt6zh+7DDzz+FQgPlJ+p4YWyjTwmcuZqaPHnwJAb8PTqfE/l5X3wCf14tUNscGvxxON23/tiudTpVVRaZc7KChG48q5dzfHzhwgO8Vd44crxtwxfX6yKfv7pYM7UuAQSBTR6QynZx57sjBgxcqcilEXYSaOX2vKWXoSsmKjqndNJ/NoqOT5MAQFI2tH8Ua1sQefuRzJ8fHmCZNkTFVjCg6NuBKFgq5F0uFQo8OfZFh4Ocw9Ef3UDJ7jh6vO3DFdXz3hz65yOUwiMl/TCAbMKZj41OHJ6YmL6Vx8NjUGFOHSETo6uxka0NSYxvlvNlCmeXEtKsJjWlS4YDSF2Kp3+eFQYqVojPtWdP1veViPqkq6ibD0GPQ8SNddfxk9+7fxc9RTK239boFV3yCW299f4/mct4jAR8ikHXdODo5MV7M5/PraERE18pMSiRQafs5kgz52o8kdnBTTP3ES5csZmVAYq4OR05T5Z2qojRrurHaMIxfGZrx6K7nf/cr2obhXAdVvL/XPbjig9zyjnf0Grr7HgkGgexWVfX5eCLRqataNwVBtLz+8SMHmL67qLsbISrIu2ltZyBfUljkC0hHDF0b03Rtg2EYCnTjr6matX37k0OvF0Dt73PBgCs+1Jab39bnMLR7DQMfpE1TVUXens8XNlDHC4kOtGTwxg0bmM5Ma40aEsoOh+N5AwatgbQBhv6MAenRTKLx5wcO/Py0h6/OpZtgwYErLu6mq2/sd+jGvYZkfJC2U9B17bCu6ZfzxVhpXSrniNvlPCJJ0lrDMII6jL/XNf3R5373m73nEkCv5L0sWHDFRVl78ZWLAf1eCRK13x7zetxjfr8/YACUxhyiNMZQvD/dtu2Xr9raFK8EoFfy3AUPrrg4S9dsXOIwjPuCoWB3JBJKGJr06FOPP/bUK7l45/pzf2/AtYDYssWFJ5+cczLuXAfsdN7f/wfvVE4m+Gp+kAAAAABJRU5ErkJggg=="/><path d="M 845.33 302.4 C 815.12 302.4 794 277.79 794 251.59 C 794 220.27 819.22 200 845.71 200 C 871.22 200 896.4 220.93 896.4 251.18 C 896.4 278.28 874.84 302.4 845.33 302.4 Z" fill="#0d2636" stroke="none" pointer-events="all"/><path d="M 834.25 291.19 C 834.25 293.4 832.57 294.32 830.06 293.46 C 814.91 288.15 800.34 271.75 800.34 251.27 C 800.34 223.57 824.03 206.1 844.57 206.1 C 871.22 206.1 890.18 227.94 890.18 251 C 890.18 270.03 877.94 287.54 859.59 293.69 C 857.52 294.24 856.23 293.13 856.23 291.31 L 856.23 277.98 C 856.23 275.4 855.18 272.65 853.24 270.74 C 860.69 269.89 865.21 268.02 868.67 264.46 C 872.07 261.08 873.6 256.13 873.88 250.01 C 874.07 245.15 872.77 240.41 869.25 236.8 C 870.48 233.82 870.69 229.86 868.83 224.97 C 865.14 224.69 860.94 226.9 856.64 229.56 C 849.08 227.59 841.52 227.33 833.96 229.67 C 830.58 227.47 827.51 225 821.65 224.97 C 820.1 229.29 819.86 233.23 821.19 236.72 C 817 241.37 816.52 245.93 816.6 250.47 C 817.06 259.25 820.27 263.68 823.83 266.33 C 826.79 268.52 830.94 269.9 837.27 270.83 C 835.57 272.51 834.62 274.51 834.46 276.86 C 830.74 278.56 825.42 279.41 821.78 274.25 C 820.15 271.66 817.93 268.73 813.72 268.74 C 813.03 268.72 812.35 268.98 812.25 269.28 C 812.15 269.61 812.54 270.3 813.01 270.57 C 816.7 272.92 817.29 274.23 818.8 277.44 C 820.2 281.19 822.62 282.63 825.24 283.64 C 827.92 284.59 832.25 284.32 834.25 283.64 Z" fill="#ffffff" stroke="none" pointer-events="all"/><path d="M 845.2 193.63 L 845.2 86.37" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 845.2 198.88 L 841.7 191.88 L 845.2 193.63 L 848.7 191.88 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><path d="M 845.2 81.12 L 848.7 88.12 L 845.2 86.37 L 841.7 88.12 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><rect x="1060" y="10" width="200" height="60" fill="#ffffff" stroke="#000000" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 198px; height: 1px; padding-top: 40px; margin-left: 1061px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; background-color: white; white-space: normal; word-wrap: normal; ">Clients Supported:<br />Chrome, Firefox<br />Desktop Only</div></div></div></foreignObject><text x="1160" y="44" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">Clients Supported:...</text></switch></g><rect x="1060" y="206.2" width="200" height="90" fill="#ffffff" stroke="#000000" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 198px; height: 1px; padding-top: 251px; margin-left: 1061px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; "><span>https://config.qmk.fm</span><br /><span>Single Page Site<br /></span>JavaScript/VUE<br />Source: qmk/qmk_configurator<br /><span>Host: Github Pages</span></div></div></div></foreignObject><text x="1160" y="255" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">https://config.qmk.fm...</text></switch></g><path d="M 896.4 251.2 L 1060 251.2" fill="none" stroke="#000000" stroke-miterlimit="10" stroke-dasharray="3 3" pointer-events="stroke"/><path d="M 880 457.9 L 1060 457.9" fill="none" stroke="#000000" stroke-miterlimit="10" stroke-dasharray="3 3" pointer-events="stroke"/><path d="M 833.22 495.8 C 828.16 495.8 821.72 491.64 821.72 483.75 L 821.72 475.34 L 813.15 475.34 C 811.65 475.34 810 474.49 810.03 471.92 L 810.03 455.36 C 810.03 453.81 810.93 452.17 812.91 452.12 L 821.72 452.12 L 821.72 431.37 C 821.72 425.69 826.62 420 833.69 420 L 856.49 420 C 858.53 420 861.18 421.45 863.72 423.93 L 876.39 436.67 C 879.49 440.04 880 441.77 880 443.93 L 880 484.09 C 880 490.1 875.34 495.8 867.72 495.8 Z" fill="#000000" stroke="none" pointer-events="all"/><path d="M 850.47 469.58 L 850.47 457.06 L 854.43 457.06 L 858.82 463.99 L 858.82 457.06 L 861.89 457.06 L 861.89 469.58 L 858.67 469.58 L 853.58 461.29 L 853.58 469.58 Z M 844.7 463.4 C 844.69 461.89 844.28 459.4 841.65 459.33 C 839.7 459.3 838.71 461.33 838.71 463.26 C 838.77 466.2 840.13 467.37 841.74 467.37 C 843.53 467.33 844.68 465.87 844.7 463.4 Z M 835.26 462.55 C 835.34 459.28 837.91 457.1 840.4 456.87 C 843.13 456.63 844.5 457.13 845.74 457.91 C 847.41 459.11 848.53 461.32 848.06 464.79 C 847.61 467.23 846.07 469.6 842.36 469.85 C 841 469.92 838.36 469.99 836.56 467.58 C 835.73 466.38 835.22 465.51 835.26 462.55 Z M 823.19 465.77 L 823.65 465.72 C 825.75 467.29 827.29 467.4 828.78 467.35 C 829.66 467.23 830.41 467.01 830.47 466.24 C 830.51 465.69 829.93 465.31 829.36 465.17 C 827.6 464.71 826.16 464.86 824.34 463.46 C 822.89 462.1 822.96 460.46 823.66 459.16 C 824.9 457.24 827.05 456.94 828.36 456.83 C 830.57 456.81 832.33 457.19 833.44 457.73 L 833.43 460.67 L 832.94 460.71 C 831.93 459.92 830.82 459.41 829.27 459.32 C 828.41 459.31 827.38 459.3 826.76 460 C 826.43 461.17 827.29 461.25 828.04 461.42 C 830.02 461.87 831.13 461.99 832.65 462.95 C 834.58 464.43 833.97 466.96 832.96 468.1 C 831.63 469.39 830.35 469.86 827.92 469.85 C 826.52 469.83 824.81 469.63 823.17 468.83 Z M 813.29 466.83 C 814.07 467.09 814.63 467.45 816.44 467.23 C 817.09 467.05 817.76 466.56 817.76 465.57 L 817.76 459.51 L 814.91 459.51 L 814.91 457.06 L 821.13 457.06 L 821.13 466.31 C 820.87 468.24 819.78 469.26 818.09 469.59 C 816.91 469.84 815.53 469.98 813.29 469.57 Z M 827.52 475.34 L 862.48 475.34 C 864.3 475.34 865.44 473.93 865.44 472.17 L 865.44 455.09 C 865.44 453.39 864.22 452.12 862.32 452.12 L 827.52 452.12 L 827.52 431.76 C 827.52 427.61 830.96 425.79 833.33 425.79 L 854.21 425.79 C 856.33 425.79 856.7 428.23 856.7 429.52 L 856.71 440.31 C 856.71 442.3 858.38 443.31 859.64 443.31 L 870.53 443.31 C 872.02 443.31 874.24 443.77 874.24 446.39 L 874.24 483.83 C 874.24 487.16 872.07 489.95 868.16 489.95 L 833.53 489.95 C 830.7 489.95 827.52 487.95 827.52 483.92 Z" fill="#ffffff" stroke="none" pointer-events="all"/><rect x="1060" y="412.9" width="200" height="90" fill="#ffffff" stroke="#000000" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 198px; height: 1px; padding-top: 458px; margin-left: 1061px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">https://keyboards.qmk.fm<br />Keyboard Metadata<br />Source: qmk/qmk_firmware<br />GH Action: Update API Data<br />Host: DigitalOcean Spaces</div></div></div></foreignObject><text x="1160" y="462" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">https://keyboards.qmk.fm...</text></switch></g><path d="M 845.04 420 L 845.14 308.77" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 845.15 303.52 L 848.64 310.52 L 845.14 308.77 L 841.64 310.51 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><path d="M 905 630 L 1060 630" fill="none" stroke="#000000" stroke-miterlimit="10" stroke-dasharray="3 3" pointer-events="stroke"/><path d="M 815 610 C 791 610 785 630 804.2 634 C 785 642.8 806.6 662 822.2 654 C 833 670 869 670 881 654 C 905 654 905 638 890 630 C 905 614 881 598 860 606 C 845 594 821 594 815 610 Z" fill="#ffffff" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 118px; height: 1px; padding-top: 630px; margin-left: 786px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">QMK API</div></div></div></foreignObject><text x="845" y="634" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">QMK API</text></switch></g><rect x="1060" y="595" width="200" height="70" fill="#ffffff" stroke="#000000" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 198px; height: 1px; padding-top: 630px; margin-left: 1061px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">https://api.qmk.fm<br />RESTful API<br />Source: qmk/qmk_api<br />Host: Rancher on DO VM's</div></div></div></foreignObject><text x="1160" y="634" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">https://api.qmk.fm...</text></switch></g><path d="M 794 275.46 L 709.04 315.72 Q 700 320 700 330 L 700 570 Q 700 580 709.45 583.26 L 785.69 609.55" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 790.65 611.26 L 782.89 612.29 L 785.69 609.55 L 785.17 605.67 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><path d="M 460 251.8 L 290 251.8" fill="none" stroke="#000000" stroke-miterlimit="10" stroke-dasharray="3 3" pointer-events="stroke"/><path d="M 490 229 C 466 229 460 251.8 479.2 256.36 C 460 266.39 481.6 288.28 497.2 279.16 C 508 297.4 544 297.4 556 279.16 C 580 279.16 580 260.92 565 251.8 C 580 233.56 556 215.32 535 224.44 C 520 210.76 496 210.76 490 229 Z" fill="#ffffff" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 118px; height: 1px; padding-top: 252px; margin-left: 461px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">Digital Ocean<br />Spaces<br />(S3)</div></div></div></foreignObject><text x="520" y="255" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">Digital Ocean...</text></switch></g><rect x="0" y="221.8" width="290" height="60" fill="#ffffff" stroke="#000000" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 288px; height: 1px; padding-top: 252px; margin-left: 1px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">https://qmk-api.nyc3.cdn.digitaloceanspaces.com<br />Space: qmk-api<br />Host: Digital Ocean</div></div></div></foreignObject><text x="145" y="255" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">https://qmk-api.nyc3.cdn.digitaloceanspaces.com...</text></switch></g><path d="M 580 251.8 L 787.63 251.31" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 792.88 251.3 L 785.89 254.81 L 787.63 251.31 L 785.87 247.81 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><path d="M 875 790 L 1060 790" fill="none" stroke="#000000" stroke-miterlimit="10" stroke-dasharray="3 3" pointer-events="stroke"/><path d="M 815 768 C 815 757.33 875 757.33 875 768 L 875 812 C 875 822.67 815 822.67 815 812 Z" fill="#ffffff" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><path d="M 815 768 C 815 776 875 776 875 768 M 815 772 C 815 780 875 780 875 772 M 815 776 C 815 784 875 784 875 776" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 58px; height: 1px; padding-top: 800px; margin-left: 816px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">RQ</div></div></div></foreignObject><text x="845" y="804" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">RQ</text></switch></g><rect x="1060" y="755" width="200" height="70" fill="#ffffff" stroke="#000000" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 198px; height: 1px; padding-top: 790px; margin-left: 1061px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">Redis / RQ<br />Job Queue<br />Source: qmk/qmk_redis<br />Host: Rancher on DO VM's</div></div></div></foreignObject><text x="1160" y="794" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">Redis / RQ...</text></switch></g><path d="M 845 670 L 845 753.63" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 845 758.88 L 841.5 751.88 L 845 753.63 L 848.5 751.88 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><rect x="785" y="910" width="120" height="80" rx="12" ry="12" fill="#ffffff" stroke="#000000" pointer-events="all"/><rect x="787" y="912" width="116" height="76" rx="11.4" ry="11.4" fill="#ffffff" stroke="#000000" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 114px; height: 1px; padding-top: 950px; margin-left: 788px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">qmk_complier</div></div></div></foreignObject><text x="845" y="954" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">qmk_complier</text></switch></g><rect x="1060" y="915" width="200" height="70" fill="#ffffff" stroke="#000000" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 198px; height: 1px; padding-top: 950px; margin-left: 1061px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">QMK Compiler<br />Job Runners<br />Source: qmk/qmk_compiler<br />Host: Rancher on DO VM's</div></div></div></foreignObject><text x="1160" y="954" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">QMK Compiler...</text></switch></g><path d="M 845 820 L 845 903.63" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 845 908.88 L 841.5 901.88 L 845 903.63 L 848.5 901.88 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><path d="M 779.03 925.64 L 529.38 833.46 Q 520 830 520 820 L 520 303.77" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 783.95 927.46 L 776.17 928.32 L 779.03 925.64 L 778.6 921.75 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><path d="M 520 298.52 L 523.5 305.52 L 520 303.77 L 516.5 305.52 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><path d="M 905 950 L 1060 950" fill="none" stroke="#000000" stroke-miterlimit="10" stroke-dasharray="3 3" pointer-events="stroke"/></g><switch><g requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"/><a transform="translate(0,-5)" xlink:href="https://www.diagrams.net/doc/faq/svg-export-text-problems" target="_blank"><text text-anchor="middle" font-size="10px" x="50%" y="100%">Viewer does not support full SVG 1.1</text></a></switch></svg>
diff --git a/docs/drivers/battery.md b/docs/drivers/battery.md
new file mode 100644
index 0000000000..b1f75c1156
--- /dev/null
+++ b/docs/drivers/battery.md
@@ -0,0 +1,51 @@
+# Battery Driver
+
+This driver provides support for sampling battery level.
+
+## Usage
+
+To use this driver, add the following to your `rules.mk`:
+
+```make
+BATTERY_DRIVER_REQUIRED = yes
+```
+
+## Basic Configuration {#basic-configuration}
+
+Add the following to your `config.h`:
+
+|Define |Default |Description |
+|--------------------------|--------|--------------------------------------------------|
+|`BATTERY_SAMPLE_INTERVAL` |`30000` |The time between battery samples in milliseconds. |
+
+## Driver Configuration {#driver-configuration}
+
+Driver selection can be configured in `rules.mk` as `BATTERY_DRIVER`. Valid values are `adc` (default), `vendor`, or `custom`. See below for information on individual drivers.
+
+### ADC Driver {#adc-driver}
+
+This is the default battery driver. The default configuration assumes the battery is connected to a ADC capable pin through a voltage divider.
+
+```make
+BATTERY_DRIVER = adc
+```
+
+The following `#define`s apply only to the `adc` driver:
+
+|Define |Default |Description |
+|-----------------------------|--------------|--------------------------------------------------------------|
+|`BATTERY_PIN` |*Not defined* |The GPIO pin connected to the voltage divider. |
+|`BATTERY_REF_VOLTAGE_MV` |`3300` |The ADC reverence voltage, in millivolts. |
+|`BATTERY_VOLTAGE_DIVIDER_R1` |`100000` |The voltage divider resistance, in kOhm. Set to 0 to disable. |
+|`BATTERY_VOLTAGE_DIVIDER_R1` |`100000` |The voltage divider resistance, in kOhm. Set to 0 to disable. |
+|`BATTERY_ADC_RESOLUTION` |`10` |The ADC resolution configured for the ADC Driver. |
+
+## Functions
+
+### `uint8_t battery_get_percent(void)` {#api-battery-get-percent}
+
+Sample battery level.
+
+#### Return Value {#api-battery-get-percent-return}
+
+The battery percentage, in the range 0-100.
diff --git a/docs/faq_debug.md b/docs/faq_debug.md
index 35a4160e27..269049afb8 100644
--- a/docs/faq_debug.md
+++ b/docs/faq_debug.md
@@ -77,6 +77,17 @@ KL: kc: 172, col: 2, row: 0, pressed: 1, time: 16303, int: 0, count: 0
KL: kc: 172, col: 2, row: 0, pressed: 0, time: 16411, int: 0, count: 0
```
+### Which keycode is this keypress?
+
+Keycodes are logged in the example above as numerical codes, which may be difficult to interpret. For more readable logging, add `KEYCODE_STRING_ENABLE = yes` in your `rules.mk` and use `get_keycode_string(kc)`. For example:
+
+```c
+uprintf("kc: %s\n", get_keycode_string(keycode));
+```
+
+This logs the keycode as a human-readable string like "`LT(2,KC_D)`" rather than a numerical code like "`0x4207`." See the [Keycode String](unit_testing#keycode-string) section of the Unit Testing page for more information.
+
+
### How long did it take to scan for a keypress?
When testing performance issues, it can be useful to know the frequency at which the switch matrix is being scanned. To enable logging for this scenario, add the following code to your keymaps `config.h`
diff --git a/docs/features/community_modules.md b/docs/features/community_modules.md
index a28c5afaeb..52526c9fe8 100644
--- a/docs/features/community_modules.md
+++ b/docs/features/community_modules.md
@@ -72,6 +72,7 @@ A Community Module is denoted by a `qmk_module.json` file such as the following:
{
"module_name": "Hello World",
"maintainer": "QMK Maintainers",
+ "license": "GPL-2.0-or-later",
"features": {
"deferred_exec": true
},
@@ -86,6 +87,10 @@ A Community Module is denoted by a `qmk_module.json` file such as the following:
At minimum, the module must provide the `module_name` and `maintainer` fields.
+The `license` field is encouraged to indicate the terms for using and sharing the module. It is recommended to use a [SPDX license identifier](https://spdx.org/licenses/) like "`Apache-2.0`" or "`GPL-2.0-or-later`" if possible.
+
+The `url` field may specify a URL to more information about the module.
+
The use of `features` matches the definition normally provided within `keyboard.json` and `info.json`, allowing a module to signal to the build system that it has its own dependencies. In the example above, it enables the _deferred executor_ feature whenever the above module is used in a build.
The `keycodes` array allows a module to provide new keycodes (as well as corresponding aliases) to a keymap.
diff --git a/docs/features/pointing_device.md b/docs/features/pointing_device.md
index 0ecf82c8df..a139df9dc4 100644
--- a/docs/features/pointing_device.md
+++ b/docs/features/pointing_device.md
@@ -419,6 +419,32 @@ The `POINTING_DEVICE_CS_PIN`, `POINTING_DEVICE_SDIO_PIN`, and `POINTING_DEVICE_S
Any pointing device with a lift/contact status can integrate inertial cursor feature into its driver, controlled by `POINTING_DEVICE_GESTURES_CURSOR_GLIDE_ENABLE`. e.g. PMW3360 can use Lift_Stat from Motion register. Note that `POINTING_DEVICE_MOTION_PIN` cannot be used with this feature; continuous polling of `get_report()` is needed to generate glide reports.
:::
+## High Resolution Scrolling
+
+| Setting | Description | Default |
+| ---------------------------------------- | ------------------------------------------------------------------------------------------------------------------------- | ------------- |
+| `POINTING_DEVICE_HIRES_SCROLL_ENABLE` | (Optional) Enables high resolution scrolling. | _not defined_ |
+| `POINTING_DEVICE_HIRES_SCROLL_MULTIPLIER`| (Optional) Resolution mutiplier value used by high resolution scrolling. Must be between 1 and 127, inclusive. | `120` |
+| `POINTING_DEVICE_HIRES_SCROLL_EXPONENT` | (Optional) Resolution exponent value used by high resolution scrolling. Must be between 0 and 127, inclusive. | `0` |
+
+The `POINTING_DEVICE_HIRES_SCROLL_ENABLE` setting enables smooth and continuous scrolling when using trackballs or high-end encoders as mouse wheels (as opposed to the typical stepped behavior of most mouse wheels).
+This works by adding a resolution multiplier to the HID descriptor for mouse wheel reports, causing the host computer to interpret each wheel tick sent by the keyboard as a fraction of a normal wheel tick.
+The resolution multiplier is set to `1 / (POINTING_DEVICE_HIRES_SCROLL_MULTIPLIER * (10 ^ POINTING_DEVICE_HIRES_SCROLL_EXPONENT))`, which is `1 / 120` by default.
+If even smoother scrolling than provided by this default value is desired, first try using `#define POINTING_DEVICE_HIRES_SCROLL_EXPONENT 1` which will result in a multiplier of `1 / 1200`.
+
+The function `pointing_device_get_hires_scroll_resolution()` can be called to get the pre-computed resolution multiplier value as a `uint16_t`.
+
+::: warning
+High resolution scrolling usually results in larger and/or more frequent mouse reports. This can result in overflow errors and overloading of the host computer's input buffer.
+To deal with these issues, define `WHEEL_EXTENDED_REPORT` and throttle the rate at which mouse reports are sent.
+:::
+
+::: warning
+Many programs, especially those that implement their own smoothing for scrolling, don't work well when they receive simultaneous vertical and horizontal wheel inputs (e.g. from high resolution drag-scroll using a trackball).
+These programs typically implement their smoothing in a way that assumes the user will only scroll in one axis at a time, resulting in slow or jittery motion when trying to scroll at an angle.
+This can be addressed by snapping scrolling to one axis at a time.
+:::
+
## Split Keyboard Configuration
The following configuration options are only available when using `SPLIT_POINTING_ENABLE` see [data sync options](split_keyboard#data-sync-options). The rotation and invert `*_RIGHT` options are only used with `POINTING_DEVICE_COMBINED`. If using `POINTING_DEVICE_LEFT` or `POINTING_DEVICE_RIGHT` use the common configuration above to configure your pointing device.
diff --git a/docs/public/badge-community-dark.svg b/docs/public/badge-community-dark.svg
index dba561dda1..5236cf1696 100644
--- a/docs/public/badge-community-dark.svg
+++ b/docs/public/badge-community-dark.svg
@@ -1 +1 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg width="100%" height="100%" viewBox="0 0 1260 371" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" style="fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:1.41421;"><rect id="badge.-community.-dark" x="0" y="0.321" width="1260" height="370" style="fill:none;"/><clipPath id="_clip1"><rect x="0" y="0.321" width="1260" height="370"/></clipPath><g clip-path="url(#_clip1)"><path d="M1260,33.621c0,-18.379 -14.921,-33.3 -33.3,-33.3l-1193.4,0c-18.379,0 -33.3,14.921 -33.3,33.3l0,303.4c0,18.378 14.921,33.3 33.3,33.3l1193.4,0c18.379,0 33.3,-14.922 33.3,-33.3l0,-303.4Z" style="fill:#333;"/><path d="M118.018,302.021l-6.434,0c-1.775,0 -3.217,-1.441 -3.217,-3.217l0,-20.679l-4.548,0c-15.366,0 -27.841,-12.475 -27.841,-27.841l0,-4.548l-20.679,0c-1.776,0 -3.217,-1.442 -3.217,-3.217l0,-6.434c0,-1.775 1.441,-3.217 3.217,-3.217l20.679,0l0,-14.123l-20.679,0c-1.776,0 -3.217,-1.441 -3.217,-3.217l0,-6.434c0,-1.775 1.441,-3.217 3.217,-3.217l20.679,0l0,-14.123l-20.679,0c-1.776,0 -3.217,-1.441 -3.217,-3.216l0,-6.434c0,-1.776 1.441,-3.217 3.217,-3.217l20.679,0l0,-14.123l-20.679,0c-1.776,0 -3.217,-1.442 -3.217,-3.217l0,-6.434c0,-1.775 1.441,-3.217 3.217,-3.217l20.679,0l0,-14.123l-20.679,0c-1.776,0 -3.217,-1.441 -3.217,-3.217l0,-6.434c0,-1.775 1.441,-3.216 3.217,-3.217l20.679,0l0,-4.548c0,-15.366 12.475,-27.841 27.841,-27.841l4.548,0l0,-20.679c0,-1.776 1.442,-3.217 3.217,-3.217l6.434,0c1.776,0 3.217,1.441 3.217,3.217l0,20.679l14.123,0l0,-20.679c0,-1.776 1.441,-3.217 3.217,-3.217l6.434,0c1.775,0 3.217,1.441 3.217,3.217l0,20.679l14.123,0l0,-20.679c0,-1.776 1.441,-3.217 3.217,-3.217l6.433,0c1.776,0 3.217,1.441 3.217,3.217l0,20.679l14.123,0l0,-20.679c0,-1.776 1.442,-3.217 3.217,-3.217l6.434,0c1.776,0 3.217,1.441 3.217,3.217l0,20.679l14.123,0l0,-20.679c0,-1.776 1.441,-3.217 3.217,-3.217l6.434,0c1.775,0 3.217,1.441 3.217,3.217l0,20.679l4.548,0c15.366,0 27.841,12.475 27.841,27.841l0,4.548l20.679,0c1.776,0.001 3.217,1.442 3.217,3.217l0,6.434c0,1.775 -1.441,3.217 -3.217,3.217l-20.679,0l0,14.123l20.679,0c1.776,0.001 3.217,1.442 3.217,3.217l0,6.434c0,1.775 -1.441,3.216 -3.217,3.217l-20.679,0l0,14.123l20.679,0c1.776,0 3.217,1.442 3.217,3.217l0,6.434c0,1.775 -1.441,3.216 -3.217,3.216l-20.679,0l0,14.123l20.679,0c1.776,0.001 3.217,1.442 3.217,3.217l0,6.434c0,1.775 -1.441,3.217 -3.217,3.217l-20.679,0l0,14.123l20.679,0c1.776,0.001 3.217,1.442 3.217,3.217l0,6.434c0,1.775 -1.441,3.216 -3.217,3.217l-20.679,0l0,4.548c0,15.366 -12.475,27.841 -27.841,27.841l-4.548,0l0,20.679c0,1.776 -1.441,3.217 -3.217,3.217l-6.434,0c-1.776,0 -3.217,-1.441 -3.217,-3.217l0,-20.679l-14.123,0l0,20.679c0,1.776 -1.441,3.217 -3.217,3.217l-6.434,0c-1.775,0 -3.217,-1.441 -3.217,-3.217l0,-20.679l-14.123,0l0,20.679c0,1.776 -1.441,3.217 -3.217,3.217l-6.433,0c-1.776,0 -3.217,-1.441 -3.217,-3.217l0,-20.679l-14.123,0l0,20.679c0,1.776 -1.441,3.217 -3.217,3.217l-6.434,0c-1.775,0 -3.217,-1.441 -3.217,-3.217l0,-20.679l-14.123,0l0,20.679c0,1.776 -1.441,3.217 -3.217,3.217Zm103.74,-127.253c0,6.774 -1.062,12.845 -3.187,18.213c-2.124,5.368 -5.152,9.946 -9.085,13.735c-3.932,3.789 -8.697,6.717 -14.295,8.784c-5.597,2.067 -11.927,3.186 -18.988,3.359l0,20.581c0,0.459 -0.115,0.861 -0.345,1.206c-0.229,0.344 -0.631,0.617 -1.205,0.818c-0.574,0.201 -1.335,0.358 -2.282,0.473c-0.947,0.115 -2.139,0.173 -3.574,0.173c-1.435,0 -2.626,-0.058 -3.574,-0.173c-0.947,-0.115 -1.693,-0.272 -2.239,-0.473c-0.545,-0.201 -0.947,-0.474 -1.205,-0.818c-0.259,-0.345 -0.388,-0.747 -0.388,-1.206l0,-20.581c-7.176,-0.173 -13.577,-1.206 -19.203,-3.101c-5.627,-1.894 -10.392,-4.635 -14.295,-8.224c-3.904,-3.588 -6.89,-7.994 -8.956,-13.218c-2.067,-5.224 -3.101,-11.224 -3.101,-17.998l0,-44.005c0,-0.402 0.13,-0.775 0.388,-1.119c0.258,-0.345 0.66,-0.632 1.206,-0.861c0.545,-0.23 1.291,-0.402 2.239,-0.517c0.947,-0.115 2.138,-0.172 3.573,-0.172c1.436,0 2.627,0.057 3.574,0.172c0.947,0.115 1.708,0.287 2.282,0.517c0.574,0.229 0.976,0.516 1.206,0.861c0.229,0.344 0.344,0.717 0.344,1.119l0,42.713c0,4.765 0.632,9.057 1.895,12.874c1.263,3.818 3.157,7.062 5.683,9.731c2.526,2.67 5.727,4.737 9.602,6.201c3.875,1.463 8.396,2.253 13.563,2.368l0,-73.887c0,-0.402 0.129,-0.775 0.388,-1.119c0.258,-0.345 0.689,-0.632 1.291,-0.861c0.603,-0.23 1.378,-0.402 2.326,-0.517c0.947,-0.115 2.081,-0.172 3.401,-0.172c1.435,0 2.627,0.057 3.574,0.172c0.947,0.115 1.708,0.287 2.282,0.517c0.574,0.229 0.976,0.516 1.205,0.861c0.23,0.344 0.345,0.717 0.345,1.119l0,73.887c5.167,-0.058 9.673,-0.847 13.52,-2.368c3.846,-1.522 7.047,-3.617 9.602,-6.287c2.554,-2.669 4.478,-5.884 5.769,-9.645c1.292,-3.76 1.938,-7.937 1.938,-12.529l0,-43.058c0,-0.402 0.115,-0.775 0.344,-1.119c0.23,-0.345 0.632,-0.632 1.206,-0.861c0.574,-0.23 1.321,-0.402 2.239,-0.517c0.919,-0.115 2.124,-0.172 3.617,-0.172c1.378,0 2.54,0.057 3.488,0.172c0.947,0.115 1.693,0.287 2.239,0.517c0.545,0.229 0.947,0.516 1.205,0.861c0.258,0.344 0.388,0.717 0.388,1.119l0,42.455Z" style="fill:#fff;"/><path d="M426.392,189.328c0,1.077 -0.059,1.978 -0.176,2.704c-0.117,0.726 -0.293,1.288 -0.527,1.686c-0.234,0.398 -0.491,0.668 -0.772,0.808c-0.281,0.141 -0.563,0.211 -0.844,0.211c-0.936,0 -2.447,-0.386 -4.531,-1.159c-2.084,-0.773 -4.484,-1.897 -7.201,-3.372c-2.716,-1.476 -5.62,-3.267 -8.711,-5.375c-3.092,-2.107 -6.089,-4.566 -8.993,-7.376c-2.295,1.405 -5.199,2.622 -8.711,3.653c-3.513,1.03 -7.588,1.545 -12.224,1.545c-6.839,0 -12.752,-1.007 -17.74,-3.021c-4.988,-2.013 -9.109,-4.964 -12.364,-8.851c-3.255,-3.888 -5.679,-8.724 -7.272,-14.508c-1.592,-5.784 -2.388,-12.423 -2.388,-19.917c0,-7.213 0.866,-13.734 2.599,-19.566c1.733,-5.831 4.333,-10.795 7.798,-14.893c3.466,-4.098 7.799,-7.26 12.997,-9.485c5.199,-2.224 11.264,-3.337 18.196,-3.337c6.51,0 12.236,1.007 17.177,3.021c4.941,2.014 9.086,4.953 12.435,8.817c3.349,3.864 5.866,8.63 7.552,14.297c1.686,5.667 2.529,12.177 2.529,19.53c0,3.794 -0.222,7.424 -0.667,10.89c-0.445,3.466 -1.147,6.744 -2.108,9.835c-0.96,3.091 -2.166,5.948 -3.618,8.571c-1.452,2.623 -3.161,4.988 -5.128,7.096c3.419,2.81 6.416,5 8.992,6.569c2.576,1.569 4.707,2.751 6.393,3.547c1.687,0.797 2.998,1.37 3.935,1.722c0.936,0.351 1.639,0.749 2.107,1.194c0.469,0.445 0.796,1.077 0.984,1.897c0.187,0.819 0.281,1.908 0.281,3.267Zm-23.886,-53.745c0,-5.152 -0.457,-9.929 -1.37,-14.331c-0.914,-4.403 -2.436,-8.232 -4.567,-11.487c-2.131,-3.255 -4.976,-5.796 -8.536,-7.622c-3.559,-1.827 -7.962,-2.74 -13.207,-2.74c-5.246,0 -9.649,0.972 -13.208,2.915c-3.56,1.944 -6.452,4.567 -8.676,7.869c-2.225,3.302 -3.818,7.13 -4.778,11.486c-0.96,4.356 -1.44,8.969 -1.44,13.84c0,5.339 0.445,10.245 1.335,14.718c0.89,4.473 2.389,8.349 4.496,11.627c2.108,3.279 4.93,5.82 8.466,7.623c3.536,1.803 7.974,2.705 13.313,2.705c5.292,0 9.742,-0.984 13.348,-2.951c3.606,-1.967 6.51,-4.625 8.711,-7.974c2.202,-3.349 3.771,-7.236 4.707,-11.662c0.937,-4.426 1.406,-9.098 1.406,-14.016Z" style="fill:#fff;fill-rule:nonzero;"/><path d="M534.723,179.492c0,0.375 -0.096,0.703 -0.289,0.984c-0.193,0.281 -0.531,0.503 -1.013,0.667c-0.483,0.164 -1.098,0.304 -1.846,0.421c-0.747,0.118 -1.724,0.176 -2.93,0.176c-1.109,0 -2.062,-0.058 -2.858,-0.176c-0.796,-0.117 -1.423,-0.257 -1.881,-0.421c-0.459,-0.164 -0.784,-0.386 -0.977,-0.667c-0.193,-0.281 -0.289,-0.609 -0.289,-0.984l0,-79.176l-0.141,0l-32.036,79.527c-0.14,0.328 -0.339,0.609 -0.597,0.843c-0.257,0.234 -0.632,0.434 -1.124,0.597c-0.492,0.164 -1.077,0.281 -1.756,0.352c-0.679,0.07 -1.487,0.105 -2.424,0.105c-0.984,0 -1.827,-0.047 -2.529,-0.14c-0.703,-0.094 -1.288,-0.223 -1.756,-0.387c-0.469,-0.164 -0.832,-0.363 -1.089,-0.597c-0.258,-0.234 -0.434,-0.492 -0.527,-0.773l-30.631,-79.527l-0.07,0l0,79.176c0,0.375 -0.097,0.703 -0.289,0.984c-0.193,0.281 -0.531,0.503 -1.014,0.667c-0.482,0.164 -1.109,0.304 -1.881,0.421c-0.772,0.118 -1.761,0.176 -2.967,0.176c-1.157,0 -2.122,-0.058 -2.894,-0.176c-0.772,-0.117 -1.387,-0.257 -1.845,-0.421c-0.459,-0.164 -0.772,-0.386 -0.941,-0.667c-0.169,-0.281 -0.253,-0.609 -0.253,-0.984l0,-83.602c0,-1.967 0.523,-3.372 1.569,-4.215c1.046,-0.843 2.212,-1.265 3.496,-1.265l7.419,0c1.522,0 2.853,0.141 3.995,0.422c1.142,0.281 2.14,0.726 2.996,1.335c0.856,0.608 1.569,1.381 2.14,2.318c0.571,0.937 1.07,2.037 1.499,3.302l25.994,65.828l0.351,0l27.047,-65.617c0.524,-1.405 1.095,-2.6 1.713,-3.583c0.619,-0.984 1.297,-1.768 2.035,-2.354c0.738,-0.585 1.558,-1.007 2.462,-1.264c0.904,-0.258 1.951,-0.387 3.141,-0.387l7.779,0c0.715,0 1.393,0.106 2.035,0.316c0.642,0.211 1.189,0.539 1.642,0.984c0.452,0.445 0.821,1.007 1.106,1.686c0.285,0.679 0.428,1.51 0.428,2.494l0,83.602Z" style="fill:#fff;fill-rule:nonzero;"/><path d="M618.185,179.351c0,0.375 -0.082,0.715 -0.246,1.019c-0.164,0.305 -0.48,0.55 -0.949,0.738c-0.468,0.187 -1.1,0.339 -1.896,0.456c-0.797,0.118 -1.827,0.176 -3.092,0.176c-1.639,0 -2.974,-0.07 -4.004,-0.211c-1.031,-0.14 -1.803,-0.398 -2.318,-0.772c-0.516,-0.375 -0.937,-0.797 -1.265,-1.265l-33.441,-45.454l0,45.454c0,0.328 -0.094,0.644 -0.281,0.948c-0.187,0.305 -0.515,0.539 -0.983,0.703c-0.469,0.164 -1.089,0.304 -1.862,0.421c-0.773,0.118 -1.745,0.176 -2.916,0.176c-1.124,0 -2.084,-0.058 -2.88,-0.176c-0.796,-0.117 -1.429,-0.257 -1.897,-0.421c-0.468,-0.164 -0.796,-0.398 -0.983,-0.703c-0.188,-0.304 -0.282,-0.62 -0.282,-0.948l0,-87.255c0,-0.375 0.094,-0.703 0.282,-0.984c0.187,-0.281 0.515,-0.503 0.983,-0.667c0.468,-0.164 1.101,-0.305 1.897,-0.422c0.796,-0.117 1.756,-0.175 2.88,-0.175c1.171,0 2.143,0.058 2.916,0.175c0.773,0.117 1.393,0.258 1.862,0.422c0.468,0.164 0.796,0.386 0.983,0.667c0.187,0.281 0.281,0.609 0.281,0.984l0,40.396l32.176,-40.396c0.281,-0.422 0.609,-0.773 0.984,-1.054c0.375,-0.281 0.831,-0.504 1.37,-0.667c0.538,-0.164 1.194,-0.293 1.967,-0.387c0.773,-0.094 1.768,-0.14 2.986,-0.14c1.218,0 2.201,0.058 2.95,0.175c0.75,0.117 1.347,0.27 1.792,0.457c0.445,0.187 0.749,0.421 0.913,0.702c0.164,0.282 0.246,0.586 0.246,0.914c0,0.609 -0.152,1.218 -0.457,1.826c-0.304,0.609 -0.878,1.452 -1.721,2.53l-30.139,36.04l32.458,43.136c0.796,1.217 1.276,2.049 1.44,2.494c0.164,0.444 0.246,0.807 0.246,1.088Z" style="fill:#fff;fill-rule:nonzero;"/><path d="M713.941,95.609c0,0.89 -0.047,1.663 -0.141,2.318c-0.094,0.656 -0.258,1.183 -0.492,1.581c-0.234,0.398 -0.503,0.691 -0.808,0.878c-0.304,0.188 -0.62,0.281 -0.948,0.281l-33.3,0l0,30.912l31.473,0c0.328,0 0.644,0.082 0.949,0.246c0.304,0.164 0.574,0.433 0.808,0.808c0.234,0.374 0.398,0.878 0.491,1.51c0.094,0.632 0.141,1.44 0.141,2.424c0,0.89 -0.047,1.651 -0.141,2.283c-0.093,0.632 -0.257,1.148 -0.491,1.546c-0.234,0.398 -0.504,0.702 -0.808,0.913c-0.305,0.211 -0.621,0.316 -0.949,0.316l-31.473,0l0,37.867c0,0.328 -0.094,0.644 -0.281,0.948c-0.188,0.305 -0.516,0.539 -0.984,0.703c-0.468,0.164 -1.077,0.304 -1.826,0.421c-0.75,0.118 -1.733,0.176 -2.951,0.176c-1.124,0 -2.084,-0.058 -2.881,-0.176c-0.796,-0.117 -1.428,-0.257 -1.896,-0.421c-0.469,-0.164 -0.797,-0.398 -0.984,-0.703c-0.187,-0.304 -0.281,-0.62 -0.281,-0.948l0,-84.164c0,-1.827 0.48,-3.103 1.44,-3.829c0.96,-0.726 1.979,-1.089 3.056,-1.089l40.888,0c0.328,0 0.644,0.094 0.948,0.281c0.305,0.188 0.574,0.492 0.808,0.914c0.234,0.421 0.398,0.971 0.492,1.65c0.094,0.68 0.141,1.464 0.141,2.354Z" style="fill:#fff;fill-rule:nonzero;"/><path d="M742.534,179.562c0,0.375 -0.094,0.691 -0.281,0.949c-0.187,0.257 -0.492,0.48 -0.913,0.667c-0.422,0.187 -1.007,0.328 -1.757,0.422c-0.749,0.093 -1.709,0.14 -2.88,0.14c-1.124,0 -2.061,-0.047 -2.81,-0.14c-0.75,-0.094 -1.347,-0.235 -1.792,-0.422c-0.445,-0.187 -0.749,-0.41 -0.913,-0.667c-0.164,-0.258 -0.246,-0.574 -0.246,-0.949l0,-63.228c0,-0.328 0.082,-0.632 0.246,-0.913c0.164,-0.281 0.468,-0.516 0.913,-0.703c0.445,-0.187 1.042,-0.328 1.792,-0.422c0.749,-0.093 1.686,-0.14 2.81,-0.14c1.171,0 2.131,0.047 2.88,0.14c0.75,0.094 1.335,0.235 1.757,0.422c0.421,0.187 0.726,0.422 0.913,0.703c0.187,0.281 0.281,0.585 0.281,0.913l0,63.228Zm1.335,-84.585c0,2.716 -0.515,4.566 -1.546,5.55c-1.03,0.983 -2.927,1.475 -5.69,1.475c-2.717,0 -4.579,-0.48 -5.586,-1.44c-1.007,-0.96 -1.51,-2.775 -1.51,-5.445c0,-2.716 0.515,-4.566 1.546,-5.55c1.03,-0.983 2.927,-1.475 5.69,-1.475c2.717,0 4.578,0.48 5.585,1.44c1.007,0.96 1.511,2.775 1.511,5.445Z" style="fill:#fff;fill-rule:nonzero;"/><path d="M800.915,120.479c0,1.03 -0.024,1.897 -0.07,2.599c-0.047,0.703 -0.141,1.253 -0.281,1.651c-0.141,0.398 -0.317,0.703 -0.527,0.913c-0.211,0.211 -0.504,0.317 -0.879,0.317c-0.374,0 -0.831,-0.106 -1.37,-0.317c-0.538,-0.21 -1.147,-0.421 -1.826,-0.632c-0.679,-0.211 -1.44,-0.41 -2.283,-0.597c-0.843,-0.187 -1.757,-0.281 -2.74,-0.281c-1.171,0 -2.319,0.234 -3.443,0.703c-1.124,0.468 -2.306,1.241 -3.548,2.318c-1.241,1.077 -2.54,2.506 -3.899,4.285c-1.358,1.78 -2.857,3.958 -4.496,6.534l0,41.59c0,0.375 -0.094,0.691 -0.281,0.949c-0.187,0.257 -0.492,0.48 -0.913,0.667c-0.422,0.187 -1.007,0.328 -1.756,0.422c-0.75,0.093 -1.71,0.14 -2.881,0.14c-1.124,0 -2.061,-0.047 -2.81,-0.14c-0.749,-0.094 -1.347,-0.235 -1.792,-0.422c-0.444,-0.187 -0.749,-0.41 -0.913,-0.667c-0.164,-0.258 -0.246,-0.574 -0.246,-0.949l0,-63.228c0,-0.375 0.071,-0.691 0.211,-0.949c0.141,-0.257 0.422,-0.491 0.843,-0.702c0.422,-0.211 0.96,-0.351 1.616,-0.422c0.656,-0.07 1.522,-0.105 2.599,-0.105c1.031,0 1.885,0.035 2.565,0.105c0.679,0.071 1.206,0.211 1.58,0.422c0.375,0.211 0.644,0.445 0.808,0.702c0.164,0.258 0.246,0.574 0.246,0.949l0,9.203c1.733,-2.529 3.361,-4.59 4.883,-6.182c1.522,-1.593 2.962,-2.846 4.32,-3.759c1.359,-0.913 2.705,-1.545 4.04,-1.897c1.335,-0.351 2.681,-0.527 4.04,-0.527c0.608,0 1.299,0.036 2.072,0.106c0.773,0.07 1.581,0.199 2.424,0.386c0.843,0.188 1.604,0.398 2.283,0.632c0.679,0.235 1.159,0.469 1.44,0.703c0.281,0.234 0.469,0.457 0.562,0.667c0.094,0.211 0.176,0.48 0.246,0.808c0.07,0.328 0.117,0.808 0.141,1.441c0.023,0.632 0.035,1.487 0.035,2.564Z" style="fill:#fff;fill-rule:nonzero;"/><path d="M907.911,179.562c0,0.375 -0.093,0.691 -0.281,0.949c-0.187,0.257 -0.491,0.48 -0.913,0.667c-0.422,0.187 -1.007,0.328 -1.756,0.422c-0.75,0.093 -1.686,0.14 -2.811,0.14c-1.17,0 -2.131,-0.047 -2.88,-0.14c-0.749,-0.094 -1.346,-0.235 -1.791,-0.422c-0.445,-0.187 -0.761,-0.41 -0.949,-0.667c-0.187,-0.258 -0.281,-0.574 -0.281,-0.949l0,-38.429c0,-2.669 -0.234,-5.105 -0.702,-7.306c-0.469,-2.201 -1.218,-4.098 -2.248,-5.691c-1.031,-1.592 -2.342,-2.81 -3.935,-3.653c-1.592,-0.843 -3.466,-1.264 -5.62,-1.264c-2.67,0 -5.351,1.03 -8.044,3.091c-2.693,2.061 -5.655,5.082 -8.887,9.063l0,44.189c0,0.375 -0.094,0.691 -0.281,0.949c-0.188,0.257 -0.504,0.48 -0.949,0.667c-0.445,0.187 -1.042,0.328 -1.791,0.422c-0.749,0.093 -1.686,0.14 -2.81,0.14c-1.077,0 -2.002,-0.047 -2.775,-0.14c-0.773,-0.094 -1.382,-0.235 -1.827,-0.422c-0.445,-0.187 -0.749,-0.41 -0.913,-0.667c-0.164,-0.258 -0.246,-0.574 -0.246,-0.949l0,-38.429c0,-2.669 -0.258,-5.105 -0.773,-7.306c-0.515,-2.201 -1.288,-4.098 -2.318,-5.691c-1.031,-1.592 -2.33,-2.81 -3.899,-3.653c-1.569,-0.843 -3.431,-1.264 -5.585,-1.264c-2.67,0 -5.363,1.03 -8.08,3.091c-2.716,2.061 -5.667,5.082 -8.852,9.063l0,44.189c0,0.375 -0.093,0.691 -0.281,0.949c-0.187,0.257 -0.491,0.48 -0.913,0.667c-0.421,0.187 -1.007,0.328 -1.756,0.422c-0.75,0.093 -1.71,0.14 -2.881,0.14c-1.124,0 -2.06,-0.047 -2.81,-0.14c-0.749,-0.094 -1.346,-0.235 -1.791,-0.422c-0.445,-0.187 -0.75,-0.41 -0.914,-0.667c-0.164,-0.258 -0.246,-0.574 -0.246,-0.949l0,-63.228c0,-0.375 0.071,-0.691 0.211,-0.949c0.141,-0.257 0.422,-0.491 0.843,-0.702c0.422,-0.211 0.96,-0.351 1.616,-0.422c0.656,-0.07 1.522,-0.105 2.6,-0.105c1.03,0 1.885,0.035 2.564,0.105c0.679,0.071 1.206,0.211 1.581,0.422c0.374,0.211 0.643,0.445 0.807,0.702c0.164,0.258 0.246,0.574 0.246,0.949l0,8.36c3.56,-3.981 7.014,-6.897 10.363,-8.747c3.349,-1.85 6.732,-2.775 10.151,-2.775c2.623,0 4.977,0.305 7.061,0.914c2.084,0.609 3.922,1.463 5.515,2.564c1.592,1.101 2.951,2.412 4.075,3.934c1.124,1.522 2.06,3.22 2.81,5.094c2.107,-2.295 4.11,-4.239 6.006,-5.831c1.897,-1.593 3.724,-2.881 5.48,-3.864c1.757,-0.984 3.466,-1.698 5.129,-2.143c1.662,-0.445 3.337,-0.668 5.023,-0.668c4.075,0 7.494,0.715 10.257,2.143c2.763,1.429 5,3.337 6.709,5.726c1.71,2.388 2.927,5.187 3.653,8.395c0.726,3.208 1.089,6.592 1.089,10.152l0,39.974Z" style="fill:#fff;fill-rule:nonzero;"/><path d="M1016.52,116.193c0,0.328 -0.047,0.726 -0.141,1.195c-0.094,0.468 -0.257,1.053 -0.492,1.756l-18.617,60.067c-0.14,0.515 -0.363,0.937 -0.667,1.265c-0.305,0.327 -0.726,0.585 -1.265,0.772c-0.538,0.188 -1.276,0.316 -2.213,0.387c-0.937,0.07 -2.107,0.105 -3.513,0.105c-1.451,0 -2.669,-0.047 -3.653,-0.14c-0.983,-0.094 -1.768,-0.235 -2.353,-0.422c-0.586,-0.187 -1.019,-0.445 -1.3,-0.773c-0.281,-0.328 -0.492,-0.726 -0.632,-1.194l-13.278,-45.876l-0.141,-0.632l-0.14,0.632l-12.295,45.876c-0.14,0.515 -0.363,0.937 -0.667,1.265c-0.304,0.327 -0.761,0.585 -1.37,0.772c-0.609,0.188 -1.393,0.316 -2.353,0.387c-0.961,0.07 -2.143,0.105 -3.548,0.105c-1.452,0 -2.635,-0.047 -3.548,-0.14c-0.913,-0.094 -1.663,-0.235 -2.248,-0.422c-0.586,-0.187 -1.019,-0.445 -1.3,-0.773c-0.281,-0.328 -0.492,-0.726 -0.632,-1.194l-18.477,-60.067c-0.234,-0.703 -0.398,-1.288 -0.492,-1.756c-0.093,-0.469 -0.14,-0.867 -0.14,-1.195c0,-0.421 0.093,-0.761 0.281,-1.018c0.187,-0.258 0.503,-0.469 0.948,-0.633c0.445,-0.164 1.042,-0.269 1.792,-0.316c0.749,-0.047 1.662,-0.07 2.74,-0.07c1.311,0 2.365,0.035 3.161,0.105c0.796,0.071 1.405,0.188 1.827,0.352c0.421,0.164 0.726,0.398 0.913,0.702c0.187,0.305 0.351,0.668 0.492,1.089l15.245,52.128l0.14,0.633l0.141,-0.633l13.98,-52.128c0.094,-0.421 0.246,-0.784 0.457,-1.089c0.211,-0.304 0.527,-0.538 0.948,-0.702c0.422,-0.164 0.996,-0.281 1.722,-0.352c0.726,-0.07 1.674,-0.105 2.845,-0.105c1.124,0 2.049,0.035 2.775,0.105c0.726,0.071 1.3,0.188 1.721,0.352c0.422,0.164 0.726,0.386 0.913,0.667c0.188,0.281 0.328,0.609 0.422,0.984l15.104,52.268l0.141,0.633l0.07,-0.633l15.035,-52.128c0.093,-0.421 0.245,-0.784 0.456,-1.089c0.211,-0.304 0.539,-0.538 0.984,-0.702c0.445,-0.164 1.054,-0.281 1.826,-0.352c0.773,-0.07 1.768,-0.105 2.986,-0.105c1.124,0 2.026,0.023 2.705,0.07c0.679,0.047 1.218,0.164 1.616,0.351c0.398,0.188 0.679,0.399 0.843,0.633c0.164,0.234 0.246,0.562 0.246,0.983Z" style="fill:#fff;fill-rule:nonzero;"/><path d="M1076.94,179.632c0,0.563 -0.187,0.984 -0.562,1.265c-0.375,0.281 -0.89,0.492 -1.546,0.632c-0.655,0.141 -1.616,0.211 -2.88,0.211c-1.218,0 -2.19,-0.07 -2.916,-0.211c-0.726,-0.14 -1.252,-0.351 -1.58,-0.632c-0.328,-0.281 -0.492,-0.702 -0.492,-1.265l0,-6.322c-2.763,2.95 -5.843,5.245 -9.238,6.885c-3.396,1.639 -6.991,2.458 -10.784,2.458c-3.326,0 -6.335,-0.433 -9.028,-1.299c-2.693,-0.867 -4.988,-2.12 -6.885,-3.759c-1.897,-1.639 -3.372,-3.653 -4.426,-6.042c-1.054,-2.388 -1.581,-5.105 -1.581,-8.149c0,-3.56 0.726,-6.651 2.178,-9.274c1.452,-2.622 3.536,-4.8 6.253,-6.533c2.716,-1.733 6.042,-3.033 9.976,-3.899c3.934,-0.867 8.36,-1.3 13.278,-1.3l8.711,0l0,-4.918c0,-2.435 -0.257,-4.59 -0.772,-6.463c-0.516,-1.874 -1.347,-3.431 -2.495,-4.672c-1.147,-1.241 -2.634,-2.178 -4.461,-2.81c-1.826,-0.632 -4.074,-0.949 -6.744,-0.949c-2.857,0 -5.421,0.34 -7.693,1.019c-2.271,0.679 -4.262,1.429 -5.971,2.248c-1.71,0.82 -3.138,1.569 -4.286,2.248c-1.147,0.679 -2.002,1.019 -2.564,1.019c-0.375,0 -0.703,-0.094 -0.984,-0.281c-0.281,-0.187 -0.527,-0.468 -0.737,-0.843c-0.211,-0.375 -0.363,-0.855 -0.457,-1.44c-0.094,-0.586 -0.14,-1.23 -0.14,-1.932c0,-1.171 0.081,-2.096 0.245,-2.775c0.164,-0.679 0.562,-1.323 1.195,-1.932c0.632,-0.609 1.721,-1.323 3.267,-2.143c1.545,-0.82 3.325,-1.569 5.339,-2.248c2.014,-0.679 4.215,-1.241 6.604,-1.686c2.388,-0.445 4.8,-0.668 7.236,-0.668c4.543,0 8.407,0.516 11.592,1.546c3.185,1.03 5.761,2.541 7.728,4.531c1.967,1.991 3.395,4.461 4.285,7.412c0.89,2.951 1.335,6.393 1.335,10.327l0,42.644Zm-11.522,-28.874l-9.905,0c-3.185,0 -5.949,0.269 -8.29,0.808c-2.342,0.539 -4.286,1.335 -5.832,2.389c-1.545,1.054 -2.681,2.318 -3.407,3.793c-0.726,1.476 -1.089,3.174 -1.089,5.094c0,3.278 1.042,5.889 3.127,7.833c2.084,1.944 4.999,2.916 8.746,2.916c3.044,0 5.866,-0.773 8.466,-2.319c2.599,-1.545 5.327,-3.91 8.184,-7.095l0,-13.419Z" style="fill:#fff;fill-rule:nonzero;"/><path d="M1135.18,120.479c0,1.03 -0.023,1.897 -0.07,2.599c-0.047,0.703 -0.14,1.253 -0.281,1.651c-0.14,0.398 -0.316,0.703 -0.527,0.913c-0.211,0.211 -0.503,0.317 -0.878,0.317c-0.375,0 -0.831,-0.106 -1.37,-0.317c-0.539,-0.21 -1.147,-0.421 -1.827,-0.632c-0.679,-0.211 -1.44,-0.41 -2.283,-0.597c-0.843,-0.187 -1.756,-0.281 -2.74,-0.281c-1.171,0 -2.318,0.234 -3.442,0.703c-1.124,0.468 -2.307,1.241 -3.548,2.318c-1.241,1.077 -2.541,2.506 -3.899,4.285c-1.358,1.78 -2.857,3.958 -4.496,6.534l0,41.59c0,0.375 -0.094,0.691 -0.281,0.949c-0.188,0.257 -0.492,0.48 -0.914,0.667c-0.421,0.187 -1.007,0.328 -1.756,0.422c-0.749,0.093 -1.709,0.14 -2.88,0.14c-1.124,0 -2.061,-0.047 -2.811,-0.14c-0.749,-0.094 -1.346,-0.235 -1.791,-0.422c-0.445,-0.187 -0.749,-0.41 -0.913,-0.667c-0.164,-0.258 -0.246,-0.574 -0.246,-0.949l0,-63.228c0,-0.375 0.07,-0.691 0.211,-0.949c0.14,-0.257 0.421,-0.491 0.843,-0.702c0.421,-0.211 0.96,-0.351 1.615,-0.422c0.656,-0.07 1.523,-0.105 2.6,-0.105c1.03,0 1.885,0.035 2.564,0.105c0.679,0.071 1.206,0.211 1.581,0.422c0.375,0.211 0.644,0.445 0.808,0.702c0.164,0.258 0.246,0.574 0.246,0.949l0,9.203c1.733,-2.529 3.36,-4.59 4.882,-6.182c1.522,-1.593 2.963,-2.846 4.321,-3.759c1.358,-0.913 2.705,-1.545 4.039,-1.897c1.335,-0.351 2.682,-0.527 4.04,-0.527c0.609,0 1.3,0.036 2.073,0.106c0.772,0.07 1.58,0.199 2.423,0.386c0.843,0.188 1.604,0.398 2.284,0.632c0.679,0.235 1.159,0.469 1.44,0.703c0.281,0.234 0.468,0.457 0.562,0.667c0.093,0.211 0.175,0.48 0.246,0.808c0.07,0.328 0.117,0.808 0.14,1.441c0.024,0.632 0.035,1.487 0.035,2.564Z" style="fill:#fff;fill-rule:nonzero;"/><path d="M1200.45,145.208c0,1.827 -0.459,3.126 -1.376,3.899c-0.917,0.773 -1.964,1.159 -3.141,1.159l-41.64,0c0,3.513 0.353,6.675 1.059,9.485c0.706,2.81 1.882,5.222 3.53,7.236c1.647,2.014 3.789,3.559 6.424,4.637c2.636,1.077 5.86,1.615 9.672,1.615c3.012,0 5.694,-0.245 8.047,-0.737c2.354,-0.492 4.389,-1.042 6.107,-1.651c1.718,-0.609 3.13,-1.159 4.236,-1.651c1.106,-0.492 1.942,-0.738 2.507,-0.738c0.329,0 0.623,0.082 0.882,0.246c0.259,0.164 0.458,0.41 0.6,0.738c0.141,0.328 0.247,0.784 0.317,1.37c0.071,0.585 0.106,1.299 0.106,2.142c0,0.609 -0.023,1.136 -0.07,1.581c-0.047,0.445 -0.105,0.843 -0.175,1.194c-0.071,0.352 -0.188,0.668 -0.352,0.949c-0.164,0.281 -0.374,0.55 -0.632,0.808c-0.258,0.257 -1.019,0.679 -2.283,1.264c-1.265,0.586 -2.904,1.16 -4.918,1.722c-2.014,0.562 -4.344,1.065 -6.99,1.51c-2.647,0.445 -5.468,0.667 -8.466,0.667c-5.199,0 -9.753,-0.726 -13.664,-2.177c-3.911,-1.452 -7.201,-3.607 -9.871,-6.464c-2.67,-2.857 -4.683,-6.44 -6.042,-10.749c-1.358,-4.309 -2.037,-9.32 -2.037,-15.034c0,-5.433 0.702,-10.316 2.108,-14.648c1.405,-4.332 3.43,-8.009 6.077,-11.03c2.646,-3.021 5.842,-5.339 9.589,-6.955c3.747,-1.616 7.939,-2.424 12.576,-2.424c4.964,0 9.191,0.797 12.68,2.389c3.49,1.592 6.358,3.735 8.606,6.428c2.249,2.693 3.9,5.855 4.953,9.485c1.054,3.629 1.581,7.505 1.581,11.627l0,2.107Zm-11.662,-3.442c0.14,-6.089 -1.214,-10.866 -4.065,-14.332c-2.85,-3.466 -7.079,-5.199 -12.687,-5.199c-2.875,0 -5.396,0.539 -7.564,1.616c-2.167,1.077 -3.982,2.506 -5.443,4.285c-1.461,1.78 -2.592,3.853 -3.393,6.218c-0.801,2.365 -1.248,4.836 -1.343,7.412l34.495,0Z" style="fill:#fff;fill-rule:nonzero;"/><path d="M379.752,276.089c0,0.493 -0.016,0.924 -0.047,1.294c-0.03,0.369 -0.084,0.693 -0.161,0.97c-0.077,0.277 -0.177,0.524 -0.301,0.739c-0.123,0.216 -0.338,0.478 -0.646,0.786c-0.308,0.308 -0.955,0.778 -1.941,1.409c-0.986,0.631 -2.21,1.247 -3.673,1.848c-1.463,0.601 -3.142,1.109 -5.036,1.525c-1.894,0.416 -3.966,0.623 -6.214,0.623c-3.881,0 -7.385,-0.646 -10.511,-1.94c-3.127,-1.294 -5.791,-3.203 -7.993,-5.729c-2.203,-2.526 -3.897,-5.645 -5.083,-9.356c-1.185,-3.712 -1.778,-7.985 -1.778,-12.821c0,-4.959 0.639,-9.379 1.917,-13.26c1.278,-3.881 3.072,-7.169 5.383,-9.865c2.31,-2.695 5.074,-4.751 8.293,-6.168c3.219,-1.417 6.784,-2.125 10.696,-2.125c1.725,0 3.403,0.162 5.036,0.485c1.632,0.324 3.142,0.732 4.528,1.225c1.386,0.492 2.618,1.062 3.696,1.709c1.078,0.647 1.825,1.178 2.241,1.594c0.416,0.416 0.685,0.732 0.808,0.947c0.123,0.216 0.224,0.47 0.301,0.763c0.077,0.292 0.138,0.639 0.184,1.039c0.047,0.4 0.07,0.878 0.07,1.432c0,0.616 -0.031,1.14 -0.093,1.571c-0.062,0.431 -0.155,0.793 -0.279,1.086c-0.124,0.293 -0.271,0.508 -0.441,0.647c-0.171,0.138 -0.38,0.208 -0.628,0.208c-0.433,0 -1.036,-0.301 -1.811,-0.901c-0.774,-0.601 -1.773,-1.263 -2.996,-1.987c-1.223,-0.724 -2.71,-1.386 -4.459,-1.987c-1.749,-0.6 -3.847,-0.901 -6.294,-0.901c-2.663,0 -5.086,0.532 -7.269,1.594c-2.183,1.063 -4.049,2.626 -5.597,4.69c-1.549,2.064 -2.748,4.582 -3.6,7.554c-0.852,2.972 -1.278,6.368 -1.278,10.188c0,3.788 0.411,7.138 1.231,10.049c0.821,2.91 1.998,5.344 3.53,7.3c1.533,1.956 3.415,3.434 5.644,4.435c2.23,1.001 4.753,1.502 7.571,1.502c2.384,0 4.467,-0.293 6.247,-0.878c1.781,-0.585 3.298,-1.24 4.552,-1.964c1.254,-0.724 2.283,-1.378 3.089,-1.963c0.805,-0.586 1.44,-0.878 1.904,-0.878c0.217,0 0.403,0.046 0.558,0.138c0.154,0.093 0.278,0.27 0.371,0.532c0.093,0.262 0.163,0.623 0.209,1.085c0.046,0.462 0.07,1.048 0.07,1.756Z" style="fill:#fff;fill-rule:nonzero;"/><path d="M428.079,262.136c0,3.388 -0.446,6.507 -1.339,9.356c-0.894,2.849 -2.226,5.306 -3.997,7.369c-1.771,2.064 -3.989,3.673 -6.653,4.828c-2.664,1.156 -5.752,1.733 -9.264,1.733c-3.419,0 -6.399,-0.508 -8.94,-1.525c-2.541,-1.016 -4.659,-2.495 -6.353,-4.435c-1.694,-1.941 -2.957,-4.297 -3.788,-7.069c-0.832,-2.772 -1.248,-5.914 -1.248,-9.425c0,-3.388 0.439,-6.507 1.317,-9.356c0.878,-2.849 2.202,-5.306 3.973,-7.37c1.772,-2.063 3.982,-3.665 6.63,-4.805c2.649,-1.139 5.745,-1.709 9.287,-1.709c3.419,0 6.399,0.508 8.94,1.525c2.541,1.016 4.659,2.494 6.353,4.435c1.694,1.94 2.965,4.297 3.812,7.069c0.847,2.772 1.27,5.898 1.27,9.379Zm-7.9,0.508c0,-2.248 -0.21,-4.374 -0.63,-6.376c-0.419,-2.002 -1.111,-3.757 -2.074,-5.267c-0.964,-1.509 -2.269,-2.703 -3.917,-3.58c-1.647,-0.878 -3.698,-1.317 -6.153,-1.317c-2.269,0 -4.219,0.4 -5.851,1.201c-1.632,0.801 -2.976,1.933 -4.033,3.396c-1.056,1.463 -1.841,3.196 -2.354,5.198c-0.513,2.002 -0.769,4.189 -0.769,6.56c0,2.28 0.21,4.42 0.629,6.423c0.42,2.002 1.119,3.75 2.098,5.244c0.979,1.493 2.292,2.679 3.939,3.557c1.648,0.878 3.699,1.317 6.154,1.317c2.238,0 4.181,-0.401 5.828,-1.201c1.647,-0.801 2.999,-1.925 4.056,-3.373c1.056,-1.448 1.833,-3.173 2.331,-5.175c0.497,-2.002 0.746,-4.204 0.746,-6.607Z" style="fill:#fff;fill-rule:nonzero;"/><path d="M500.987,283.389c0,0.247 -0.062,0.454 -0.185,0.624c-0.123,0.169 -0.323,0.316 -0.601,0.439c-0.277,0.123 -0.662,0.215 -1.155,0.277c-0.493,0.062 -1.109,0.092 -1.848,0.092c-0.77,0 -1.401,-0.03 -1.894,-0.092c-0.493,-0.062 -0.886,-0.154 -1.178,-0.277c-0.293,-0.123 -0.501,-0.27 -0.624,-0.439c-0.123,-0.17 -0.185,-0.377 -0.185,-0.624l0,-25.273c0,-1.755 -0.154,-3.357 -0.462,-4.805c-0.308,-1.447 -0.801,-2.695 -1.478,-3.742c-0.678,-1.047 -1.54,-1.848 -2.588,-2.403c-1.047,-0.554 -2.279,-0.831 -3.696,-0.831c-1.756,0 -3.519,0.677 -5.29,2.033c-1.771,1.355 -3.719,3.342 -5.845,5.96l0,29.061c0,0.247 -0.061,0.454 -0.184,0.624c-0.124,0.169 -0.332,0.316 -0.624,0.439c-0.293,0.123 -0.685,0.215 -1.178,0.277c-0.493,0.062 -1.109,0.092 -1.848,0.092c-0.709,0 -1.317,-0.03 -1.825,-0.092c-0.509,-0.062 -0.909,-0.154 -1.202,-0.277c-0.292,-0.123 -0.492,-0.27 -0.6,-0.439c-0.108,-0.17 -0.162,-0.377 -0.162,-0.624l0,-25.273c0,-1.755 -0.169,-3.357 -0.508,-4.805c-0.339,-1.447 -0.847,-2.695 -1.525,-3.742c-0.678,-1.047 -1.532,-1.848 -2.564,-2.403c-1.032,-0.554 -2.256,-0.831 -3.673,-0.831c-1.756,0 -3.527,0.677 -5.314,2.033c-1.786,1.355 -3.727,3.342 -5.821,5.96l0,29.061c0,0.247 -0.062,0.454 -0.185,0.624c-0.123,0.169 -0.323,0.316 -0.6,0.439c-0.278,0.123 -0.663,0.215 -1.156,0.277c-0.492,0.062 -1.124,0.092 -1.894,0.092c-0.739,0 -1.355,-0.03 -1.848,-0.092c-0.493,-0.062 -0.885,-0.154 -1.178,-0.277c-0.293,-0.123 -0.493,-0.27 -0.601,-0.439c-0.108,-0.17 -0.161,-0.377 -0.161,-0.624l0,-41.582c0,-0.246 0.046,-0.454 0.138,-0.624c0.093,-0.169 0.277,-0.323 0.555,-0.462c0.277,-0.138 0.631,-0.231 1.062,-0.277c0.432,-0.046 1.001,-0.069 1.71,-0.069c0.677,0 1.24,0.023 1.686,0.069c0.447,0.046 0.793,0.139 1.04,0.277c0.246,0.139 0.423,0.293 0.531,0.462c0.108,0.17 0.162,0.378 0.162,0.624l0,5.498c2.341,-2.618 4.612,-4.535 6.815,-5.752c2.202,-1.217 4.427,-1.825 6.676,-1.825c1.725,0 3.273,0.2 4.643,0.601c1.371,0.4 2.58,0.962 3.627,1.686c1.047,0.724 1.941,1.586 2.68,2.587c0.739,1.001 1.355,2.118 1.848,3.35c1.386,-1.509 2.703,-2.788 3.95,-3.835c1.248,-1.047 2.449,-1.894 3.604,-2.541c1.155,-0.647 2.279,-1.117 3.373,-1.409c1.093,-0.293 2.194,-0.439 3.303,-0.439c2.68,0 4.929,0.47 6.746,1.409c1.817,0.939 3.288,2.195 4.412,3.766c1.124,1.57 1.925,3.411 2.403,5.521c0.477,2.11 0.716,4.335 0.716,6.676l0,26.289Z" style="fill:#fff;fill-rule:nonzero;"/><path d="M576.574,283.389c0,0.247 -0.062,0.454 -0.185,0.624c-0.123,0.169 -0.323,0.316 -0.601,0.439c-0.277,0.123 -0.662,0.215 -1.155,0.277c-0.492,0.062 -1.108,0.092 -1.848,0.092c-0.77,0 -1.401,-0.03 -1.894,-0.092c-0.493,-0.062 -0.886,-0.154 -1.178,-0.277c-0.293,-0.123 -0.501,-0.27 -0.624,-0.439c-0.123,-0.17 -0.185,-0.377 -0.185,-0.624l0,-25.273c0,-1.755 -0.154,-3.357 -0.462,-4.805c-0.308,-1.447 -0.801,-2.695 -1.478,-3.742c-0.678,-1.047 -1.54,-1.848 -2.588,-2.403c-1.047,-0.554 -2.279,-0.831 -3.696,-0.831c-1.755,0 -3.519,0.677 -5.29,2.033c-1.771,1.355 -3.719,3.342 -5.844,5.96l0,29.061c0,0.247 -0.062,0.454 -0.185,0.624c-0.124,0.169 -0.331,0.316 -0.624,0.439c-0.293,0.123 -0.685,0.215 -1.178,0.277c-0.493,0.062 -1.109,0.092 -1.848,0.092c-0.709,0 -1.317,-0.03 -1.825,-0.092c-0.509,-0.062 -0.909,-0.154 -1.202,-0.277c-0.292,-0.123 -0.492,-0.27 -0.6,-0.439c-0.108,-0.17 -0.162,-0.377 -0.162,-0.624l0,-25.273c0,-1.755 -0.169,-3.357 -0.508,-4.805c-0.339,-1.447 -0.847,-2.695 -1.525,-3.742c-0.677,-1.047 -1.532,-1.848 -2.564,-2.403c-1.032,-0.554 -2.256,-0.831 -3.673,-0.831c-1.756,0 -3.527,0.677 -5.313,2.033c-1.787,1.355 -3.727,3.342 -5.822,5.96l0,29.061c0,0.247 -0.061,0.454 -0.185,0.624c-0.123,0.169 -0.323,0.316 -0.6,0.439c-0.278,0.123 -0.663,0.215 -1.155,0.277c-0.493,0.062 -1.125,0.092 -1.895,0.092c-0.739,0 -1.355,-0.03 -1.848,-0.092c-0.493,-0.062 -0.885,-0.154 -1.178,-0.277c-0.293,-0.123 -0.493,-0.27 -0.601,-0.439c-0.107,-0.17 -0.161,-0.377 -0.161,-0.624l0,-41.582c0,-0.246 0.046,-0.454 0.138,-0.624c0.093,-0.169 0.278,-0.323 0.555,-0.462c0.277,-0.138 0.631,-0.231 1.062,-0.277c0.432,-0.046 1.001,-0.069 1.71,-0.069c0.678,0 1.24,0.023 1.686,0.069c0.447,0.046 0.793,0.139 1.04,0.277c0.246,0.139 0.423,0.293 0.531,0.462c0.108,0.17 0.162,0.378 0.162,0.624l0,5.498c2.341,-2.618 4.612,-4.535 6.815,-5.752c2.202,-1.217 4.427,-1.825 6.676,-1.825c1.725,0 3.273,0.2 4.643,0.601c1.371,0.4 2.58,0.962 3.627,1.686c1.047,0.724 1.941,1.586 2.68,2.587c0.739,1.001 1.355,2.118 1.848,3.35c1.386,-1.509 2.703,-2.788 3.95,-3.835c1.248,-1.047 2.449,-1.894 3.604,-2.541c1.155,-0.647 2.279,-1.117 3.373,-1.409c1.093,-0.293 2.195,-0.439 3.303,-0.439c2.68,0 4.929,0.47 6.746,1.409c1.817,0.939 3.288,2.195 4.412,3.766c1.125,1.57 1.925,3.411 2.403,5.521c0.477,2.11 0.716,4.335 0.716,6.676l0,26.289Z" style="fill:#fff;fill-rule:nonzero;"/><path d="M626.103,283.389c0,0.247 -0.054,0.454 -0.162,0.624c-0.108,0.169 -0.3,0.316 -0.577,0.439c-0.278,0.123 -0.639,0.215 -1.086,0.277c-0.447,0.062 -0.993,0.092 -1.64,0.092c-0.709,0 -1.286,-0.03 -1.733,-0.092c-0.447,-0.062 -0.801,-0.154 -1.063,-0.277c-0.261,-0.123 -0.438,-0.27 -0.531,-0.439c-0.092,-0.17 -0.138,-0.377 -0.138,-0.624l0,-5.498c-2.372,2.618 -4.713,4.528 -7.023,5.729c-2.31,1.201 -4.651,1.802 -7.023,1.802c-2.772,0 -5.105,-0.462 -7,-1.386c-1.894,-0.924 -3.426,-2.179 -4.597,-3.766c-1.17,-1.586 -2.01,-3.434 -2.518,-5.544c-0.508,-2.11 -0.762,-4.674 -0.762,-7.693l0,-25.226c0,-0.246 0.054,-0.454 0.162,-0.624c0.107,-0.169 0.315,-0.323 0.623,-0.462c0.308,-0.138 0.709,-0.231 1.202,-0.277c0.492,-0.046 1.108,-0.069 1.848,-0.069c0.739,0 1.355,0.023 1.848,0.069c0.493,0.046 0.885,0.139 1.178,0.277c0.292,0.139 0.5,0.293 0.624,0.462c0.123,0.17 0.184,0.378 0.184,0.624l0,24.21c0,2.433 0.178,4.382 0.532,5.845c0.354,1.463 0.893,2.71 1.617,3.742c0.724,1.032 1.64,1.833 2.749,2.403c1.109,0.569 2.402,0.854 3.881,0.854c1.91,0 3.812,-0.677 5.706,-2.033c1.894,-1.355 3.904,-3.342 6.029,-5.96l0,-29.061c0,-0.246 0.054,-0.454 0.162,-0.624c0.108,-0.169 0.316,-0.323 0.624,-0.462c0.308,-0.138 0.7,-0.231 1.178,-0.277c0.477,-0.046 1.101,-0.069 1.871,-0.069c0.739,0 1.355,0.023 1.848,0.069c0.493,0.046 0.878,0.139 1.155,0.277c0.277,0.139 0.485,0.293 0.624,0.462c0.139,0.17 0.208,0.378 0.208,0.624l0,41.582Z" style="fill:#fff;fill-rule:nonzero;"/><path d="M676.001,283.389c0,0.247 -0.061,0.454 -0.184,0.624c-0.124,0.169 -0.324,0.316 -0.601,0.439c-0.277,0.123 -0.662,0.215 -1.155,0.277c-0.493,0.062 -1.109,0.092 -1.848,0.092c-0.77,0 -1.402,-0.03 -1.894,-0.092c-0.493,-0.062 -0.878,-0.154 -1.155,-0.277c-0.278,-0.123 -0.478,-0.27 -0.601,-0.439c-0.123,-0.17 -0.185,-0.377 -0.185,-0.624l0,-24.349c0,-2.371 -0.185,-4.281 -0.554,-5.729c-0.37,-1.447 -0.909,-2.695 -1.617,-3.742c-0.709,-1.047 -1.625,-1.848 -2.749,-2.403c-1.125,-0.554 -2.426,-0.831 -3.905,-0.831c-1.909,0 -3.819,0.677 -5.729,2.033c-1.909,1.355 -3.911,3.342 -6.006,5.96l0,29.061c0,0.247 -0.062,0.454 -0.185,0.624c-0.123,0.169 -0.323,0.316 -0.6,0.439c-0.278,0.123 -0.663,0.215 -1.155,0.277c-0.493,0.062 -1.125,0.092 -1.895,0.092c-0.739,0 -1.355,-0.03 -1.848,-0.092c-0.493,-0.062 -0.885,-0.154 -1.178,-0.277c-0.293,-0.123 -0.493,-0.27 -0.601,-0.439c-0.107,-0.17 -0.161,-0.377 -0.161,-0.624l0,-41.582c0,-0.246 0.046,-0.454 0.138,-0.624c0.093,-0.169 0.277,-0.323 0.555,-0.462c0.277,-0.138 0.631,-0.231 1.062,-0.277c0.432,-0.046 1.001,-0.069 1.71,-0.069c0.677,0 1.24,0.023 1.686,0.069c0.447,0.046 0.793,0.139 1.04,0.277c0.246,0.139 0.423,0.293 0.531,0.462c0.108,0.17 0.162,0.378 0.162,0.624l0,5.498c2.341,-2.618 4.674,-4.535 6.999,-5.752c2.326,-1.217 4.675,-1.825 7.046,-1.825c2.772,0 5.106,0.47 7,1.409c1.894,0.939 3.427,2.195 4.597,3.766c1.171,1.57 2.01,3.411 2.518,5.521c0.508,2.11 0.762,4.643 0.762,7.6l0,25.365Z" style="fill:#fff;fill-rule:nonzero;"/><path d="M697.532,283.389c0,0.247 -0.062,0.454 -0.185,0.624c-0.123,0.169 -0.323,0.316 -0.601,0.439c-0.277,0.123 -0.662,0.215 -1.155,0.277c-0.493,0.062 -1.124,0.092 -1.894,0.092c-0.739,0 -1.355,-0.03 -1.848,-0.092c-0.493,-0.062 -0.886,-0.154 -1.178,-0.277c-0.293,-0.123 -0.493,-0.27 -0.601,-0.439c-0.108,-0.17 -0.162,-0.377 -0.162,-0.624l0,-41.582c0,-0.216 0.054,-0.416 0.162,-0.601c0.108,-0.184 0.308,-0.338 0.601,-0.462c0.292,-0.123 0.685,-0.215 1.178,-0.277c0.493,-0.061 1.109,-0.092 1.848,-0.092c0.77,0 1.401,0.031 1.894,0.092c0.493,0.062 0.878,0.154 1.155,0.277c0.278,0.124 0.478,0.278 0.601,0.462c0.123,0.185 0.185,0.385 0.185,0.601l0,41.582Zm0.878,-55.628c0,1.787 -0.339,3.004 -1.017,3.65c-0.677,0.647 -1.925,0.971 -3.742,0.971c-1.787,0 -3.011,-0.316 -3.673,-0.947c-0.663,-0.632 -0.994,-1.825 -0.994,-3.581c0,-1.787 0.339,-3.003 1.017,-3.65c0.677,-0.647 1.925,-0.97 3.742,-0.97c1.787,0 3.011,0.315 3.673,0.947c0.663,0.631 0.994,1.825 0.994,3.58Z" style="fill:#fff;fill-rule:nonzero;"/><path d="M733.246,280.34c0,0.893 -0.061,1.601 -0.185,2.125c-0.123,0.524 -0.308,0.909 -0.554,1.155c-0.246,0.247 -0.616,0.478 -1.109,0.693c-0.493,0.216 -1.055,0.393 -1.686,0.532c-0.632,0.138 -1.302,0.254 -2.01,0.346c-0.708,0.092 -1.417,0.139 -2.125,0.139c-2.156,0 -4.005,-0.285 -5.545,-0.855c-1.54,-0.57 -2.803,-1.432 -3.788,-2.587c-0.986,-1.155 -1.702,-2.619 -2.149,-4.39c-0.446,-1.771 -0.67,-3.858 -0.67,-6.26l0,-24.303l-5.821,0c-0.462,0 -0.832,-0.246 -1.109,-0.739c-0.277,-0.493 -0.416,-1.293 -0.416,-2.402c0,-0.586 0.039,-1.078 0.116,-1.479c0.077,-0.4 0.177,-0.731 0.3,-0.993c0.123,-0.262 0.285,-0.447 0.485,-0.555c0.2,-0.107 0.424,-0.161 0.67,-0.161l5.775,0l0,-9.888c0,-0.215 0.054,-0.415 0.162,-0.6c0.108,-0.185 0.308,-0.347 0.601,-0.485c0.292,-0.139 0.685,-0.239 1.178,-0.301c0.493,-0.061 1.109,-0.092 1.848,-0.092c0.77,0 1.401,0.031 1.894,0.092c0.493,0.062 0.878,0.162 1.155,0.301c0.278,0.138 0.478,0.3 0.601,0.485c0.123,0.185 0.185,0.385 0.185,0.6l0,9.888l10.673,0c0.246,0 0.462,0.054 0.646,0.161c0.185,0.108 0.347,0.293 0.486,0.555c0.138,0.262 0.238,0.593 0.3,0.993c0.061,0.401 0.092,0.893 0.092,1.479c0,1.109 -0.138,1.909 -0.416,2.402c-0.277,0.493 -0.646,0.739 -1.108,0.739l-10.673,0l0,23.194c0,2.865 0.423,5.028 1.27,6.491c0.847,1.464 2.364,2.195 4.551,2.195c0.709,0 1.34,-0.069 1.895,-0.208c0.554,-0.138 1.047,-0.285 1.478,-0.439c0.431,-0.154 0.801,-0.3 1.109,-0.439c0.308,-0.138 0.585,-0.208 0.832,-0.208c0.154,0 0.3,0.039 0.439,0.116c0.138,0.077 0.246,0.223 0.323,0.439c0.077,0.215 0.146,0.508 0.208,0.878c0.061,0.369 0.092,0.831 0.092,1.386Z" style="fill:#fff;fill-rule:nonzero;"/><path d="M762.261,284.544l-5.544,15.293c-0.185,0.493 -0.654,0.87 -1.409,1.132c-0.755,0.262 -1.902,0.393 -3.442,0.393c-0.801,0 -1.448,-0.039 -1.941,-0.116c-0.493,-0.077 -0.87,-0.208 -1.132,-0.392c-0.261,-0.185 -0.408,-0.432 -0.439,-0.74c-0.03,-0.308 0.047,-0.677 0.231,-1.108l5.73,-14.462c-0.278,-0.123 -0.539,-0.323 -0.786,-0.6c-0.246,-0.278 -0.416,-0.57 -0.508,-0.878l-14.831,-39.734c-0.247,-0.647 -0.37,-1.155 -0.37,-1.525c0,-0.37 0.123,-0.662 0.37,-0.878c0.246,-0.215 0.647,-0.362 1.201,-0.439c0.555,-0.077 1.294,-0.115 2.218,-0.115c0.924,0 1.648,0.023 2.171,0.069c0.524,0.046 0.94,0.131 1.248,0.254c0.308,0.123 0.531,0.3 0.67,0.531c0.138,0.231 0.285,0.547 0.439,0.948l11.874,33.358l0.138,0l11.459,-33.543c0.184,-0.585 0.408,-0.963 0.669,-1.132c0.262,-0.17 0.655,-0.293 1.179,-0.37c0.523,-0.077 1.278,-0.115 2.264,-0.115c0.862,0 1.57,0.038 2.125,0.115c0.554,0.077 0.962,0.224 1.224,0.439c0.262,0.216 0.393,0.508 0.393,0.878c0,0.37 -0.092,0.832 -0.277,1.386l-14.924,41.351Z" style="fill:#fff;fill-rule:nonzero;"/><path d="M840.528,267.773c0,2.803 -0.516,5.298 -1.548,7.485c-1.031,2.186 -2.464,4.042 -4.296,5.567c-1.833,1.525 -3.989,2.672 -6.469,3.442c-2.479,0.77 -5.151,1.155 -8.016,1.155c-2.002,0 -3.858,-0.169 -5.567,-0.508c-1.71,-0.339 -3.234,-0.755 -4.574,-1.248c-1.34,-0.492 -2.464,-1.001 -3.373,-1.524c-0.909,-0.524 -1.54,-0.971 -1.894,-1.34c-0.355,-0.37 -0.616,-0.84 -0.786,-1.409c-0.169,-0.57 -0.254,-1.333 -0.254,-2.287c0,-0.678 0.031,-1.24 0.093,-1.687c0.061,-0.446 0.154,-0.808 0.277,-1.086c0.123,-0.277 0.277,-0.469 0.462,-0.577c0.185,-0.108 0.4,-0.162 0.647,-0.162c0.431,0 1.039,0.262 1.825,0.786c0.785,0.523 1.794,1.093 3.026,1.709c1.232,0.616 2.718,1.194 4.458,1.733c1.741,0.539 3.75,0.808 6.03,0.808c1.725,0 3.303,-0.231 4.736,-0.693c1.432,-0.462 2.664,-1.116 3.696,-1.963c1.032,-0.847 1.825,-1.887 2.379,-3.119c0.555,-1.232 0.832,-2.634 0.832,-4.204c0,-1.695 -0.385,-3.142 -1.155,-4.343c-0.77,-1.202 -1.787,-2.257 -3.05,-3.165c-1.262,-0.909 -2.702,-1.741 -4.32,-2.495c-1.617,-0.755 -3.272,-1.525 -4.966,-2.31c-1.694,-0.786 -3.342,-1.656 -4.944,-2.611c-1.602,-0.955 -3.034,-2.079 -4.297,-3.373c-1.263,-1.293 -2.287,-2.81 -3.072,-4.551c-0.786,-1.74 -1.178,-3.827 -1.178,-6.26c0,-2.495 0.454,-4.72 1.363,-6.676c0.908,-1.956 2.171,-3.596 3.788,-4.921c1.617,-1.324 3.542,-2.333 5.775,-3.026c2.234,-0.693 4.644,-1.04 7.231,-1.04c1.325,0 2.657,0.116 3.997,0.347c1.34,0.231 2.602,0.539 3.788,0.924c1.186,0.385 2.241,0.816 3.165,1.294c0.924,0.477 1.532,0.862 1.825,1.155c0.293,0.292 0.485,0.523 0.578,0.693c0.092,0.169 0.169,0.385 0.231,0.647c0.061,0.261 0.107,0.577 0.138,0.947c0.031,0.369 0.046,0.847 0.046,1.432c0,0.554 -0.023,1.047 -0.069,1.479c-0.046,0.431 -0.115,0.793 -0.208,1.085c-0.092,0.293 -0.223,0.508 -0.392,0.647c-0.17,0.139 -0.362,0.208 -0.578,0.208c-0.339,0 -0.87,-0.216 -1.594,-0.647c-0.724,-0.431 -1.609,-0.916 -2.657,-1.455c-1.047,-0.539 -2.287,-1.032 -3.719,-1.479c-1.432,-0.446 -3.042,-0.67 -4.828,-0.67c-1.663,0 -3.111,0.224 -4.343,0.67c-1.232,0.447 -2.249,1.04 -3.049,1.779c-0.801,0.739 -1.402,1.617 -1.802,2.634c-0.401,1.016 -0.601,2.094 -0.601,3.234c0,1.663 0.385,3.095 1.155,4.297c0.77,1.201 1.794,2.264 3.073,3.188c1.278,0.924 2.733,1.771 4.366,2.541c1.632,0.77 3.295,1.548 4.99,2.333c1.694,0.785 3.357,1.648 4.989,2.587c1.633,0.94 3.088,2.049 4.367,3.327c1.278,1.278 2.31,2.787 3.095,4.528c0.786,1.74 1.178,3.796 1.178,6.168Z" style="fill:#fff;fill-rule:nonzero;"/><path d="M886.638,283.389c0,0.247 -0.054,0.454 -0.161,0.624c-0.108,0.169 -0.301,0.316 -0.578,0.439c-0.277,0.123 -0.639,0.215 -1.086,0.277c-0.446,0.062 -0.993,0.092 -1.64,0.092c-0.708,0 -1.286,-0.03 -1.733,-0.092c-0.446,-0.062 -0.8,-0.154 -1.062,-0.277c-0.262,-0.123 -0.439,-0.27 -0.532,-0.439c-0.092,-0.17 -0.138,-0.377 -0.138,-0.624l0,-5.498c-2.372,2.618 -4.713,4.528 -7.023,5.729c-2.31,1.201 -4.651,1.802 -7.023,1.802c-2.772,0 -5.105,-0.462 -6.999,-1.386c-1.895,-0.924 -3.427,-2.179 -4.597,-3.766c-1.171,-1.586 -2.01,-3.434 -2.519,-5.544c-0.508,-2.11 -0.762,-4.674 -0.762,-7.693l0,-25.226c0,-0.246 0.054,-0.454 0.162,-0.624c0.108,-0.169 0.316,-0.323 0.624,-0.462c0.308,-0.138 0.708,-0.231 1.201,-0.277c0.493,-0.046 1.109,-0.069 1.848,-0.069c0.739,0 1.355,0.023 1.848,0.069c0.493,0.046 0.886,0.139 1.178,0.277c0.293,0.139 0.501,0.293 0.624,0.462c0.123,0.17 0.185,0.378 0.185,0.624l0,24.21c0,2.433 0.177,4.382 0.531,5.845c0.354,1.463 0.893,2.71 1.617,3.742c0.724,1.032 1.64,1.833 2.749,2.403c1.109,0.569 2.403,0.854 3.881,0.854c1.91,0 3.812,-0.677 5.706,-2.033c1.895,-1.355 3.904,-3.342 6.03,-5.96l0,-29.061c0,-0.246 0.054,-0.454 0.161,-0.624c0.108,-0.169 0.316,-0.323 0.624,-0.462c0.308,-0.138 0.701,-0.231 1.178,-0.277c0.478,-0.046 1.101,-0.069 1.871,-0.069c0.74,0 1.356,0.023 1.849,0.069c0.492,0.046 0.877,0.139 1.155,0.277c0.277,0.139 0.485,0.293 0.623,0.462c0.139,0.17 0.208,0.378 0.208,0.624l0,41.582Z" style="fill:#fff;fill-rule:nonzero;"/><path d="M938.986,261.951c0,3.635 -0.393,6.9 -1.179,9.795c-0.785,2.895 -1.94,5.352 -3.465,7.369c-1.524,2.018 -3.411,3.573 -5.66,4.667c-2.248,1.093 -4.82,1.64 -7.715,1.64c-1.232,0 -2.372,-0.123 -3.419,-0.37c-1.048,-0.246 -2.072,-0.631 -3.073,-1.155c-1.001,-0.523 -1.994,-1.185 -2.98,-1.986c-0.986,-0.801 -2.033,-1.741 -3.142,-2.819l0,20.791c0,0.247 -0.061,0.462 -0.184,0.647c-0.124,0.185 -0.324,0.339 -0.601,0.462c-0.277,0.123 -0.662,0.216 -1.155,0.277c-0.493,0.062 -1.124,0.093 -1.894,0.093c-0.74,0 -1.356,-0.031 -1.849,-0.093c-0.492,-0.061 -0.885,-0.154 -1.178,-0.277c-0.292,-0.123 -0.493,-0.277 -0.6,-0.462c-0.108,-0.185 -0.162,-0.4 -0.162,-0.647l0,-58.076c0,-0.277 0.046,-0.501 0.139,-0.67c0.092,-0.169 0.277,-0.316 0.554,-0.439c0.277,-0.123 0.631,-0.208 1.063,-0.254c0.431,-0.046 0.954,-0.069 1.571,-0.069c0.646,0 1.178,0.023 1.594,0.069c0.415,0.046 0.762,0.131 1.039,0.254c0.277,0.123 0.47,0.27 0.578,0.439c0.107,0.169 0.161,0.393 0.161,0.67l0,5.59c1.263,-1.293 2.48,-2.417 3.65,-3.372c1.171,-0.955 2.349,-1.748 3.535,-2.38c1.186,-0.631 2.402,-1.109 3.65,-1.432c1.247,-0.323 2.564,-0.485 3.95,-0.485c3.019,0 5.591,0.585 7.716,1.756c2.125,1.17 3.858,2.772 5.198,4.805c1.34,2.033 2.317,4.397 2.933,7.092c0.617,2.695 0.925,5.552 0.925,8.57Zm-7.901,0.878c0,-2.125 -0.163,-4.181 -0.488,-6.168c-0.325,-1.987 -0.883,-3.75 -1.673,-5.29c-0.791,-1.54 -1.852,-2.772 -3.185,-3.696c-1.332,-0.924 -2.99,-1.386 -4.974,-1.386c-0.992,0 -1.968,0.146 -2.929,0.439c-0.96,0.292 -1.936,0.754 -2.928,1.386c-0.992,0.631 -2.03,1.463 -3.115,2.495c-1.085,1.031 -2.231,2.302 -3.44,3.811l0,16.541c2.108,2.556 4.107,4.512 5.997,5.867c1.891,1.356 3.874,2.033 5.95,2.033c1.922,0 3.572,-0.462 4.951,-1.386c1.379,-0.924 2.495,-2.156 3.347,-3.696c0.852,-1.54 1.48,-3.265 1.883,-5.175c0.403,-1.909 0.604,-3.834 0.604,-5.775Z" style="fill:#fff;fill-rule:nonzero;"/><path d="M988.699,261.951c0,3.635 -0.392,6.9 -1.178,9.795c-0.785,2.895 -1.94,5.352 -3.465,7.369c-1.525,2.018 -3.411,3.573 -5.66,4.667c-2.248,1.093 -4.82,1.64 -7.716,1.64c-1.232,0 -2.371,-0.123 -3.419,-0.37c-1.047,-0.246 -2.071,-0.631 -3.072,-1.155c-1.001,-0.523 -1.994,-1.185 -2.98,-1.986c-0.986,-0.801 -2.033,-1.741 -3.142,-2.819l0,20.791c0,0.247 -0.061,0.462 -0.185,0.647c-0.123,0.185 -0.323,0.339 -0.6,0.462c-0.278,0.123 -0.663,0.216 -1.155,0.277c-0.493,0.062 -1.125,0.093 -1.895,0.093c-0.739,0 -1.355,-0.031 -1.848,-0.093c-0.493,-0.061 -0.885,-0.154 -1.178,-0.277c-0.293,-0.123 -0.493,-0.277 -0.601,-0.462c-0.107,-0.185 -0.161,-0.4 -0.161,-0.647l0,-58.076c0,-0.277 0.046,-0.501 0.138,-0.67c0.093,-0.169 0.278,-0.316 0.555,-0.439c0.277,-0.123 0.631,-0.208 1.062,-0.254c0.432,-0.046 0.955,-0.069 1.571,-0.069c0.647,0 1.178,0.023 1.594,0.069c0.416,0.046 0.763,0.131 1.04,0.254c0.277,0.123 0.47,0.27 0.577,0.439c0.108,0.169 0.162,0.393 0.162,0.67l0,5.59c1.263,-1.293 2.48,-2.417 3.65,-3.372c1.171,-0.955 2.349,-1.748 3.535,-2.38c1.185,-0.631 2.402,-1.109 3.65,-1.432c1.247,-0.323 2.564,-0.485 3.95,-0.485c3.018,0 5.59,0.585 7.716,1.756c2.125,1.17 3.858,2.772 5.197,4.805c1.34,2.033 2.318,4.397 2.934,7.092c0.616,2.695 0.924,5.552 0.924,8.57Zm-7.9,0.878c0,-2.125 -0.163,-4.181 -0.488,-6.168c-0.326,-1.987 -0.883,-3.75 -1.674,-5.29c-0.79,-1.54 -1.851,-2.772 -3.184,-3.696c-1.333,-0.924 -2.991,-1.386 -4.974,-1.386c-0.992,0 -1.968,0.146 -2.929,0.439c-0.96,0.292 -1.937,0.754 -2.928,1.386c-0.992,0.631 -2.03,1.463 -3.115,2.495c-1.085,1.031 -2.231,2.302 -3.44,3.811l0,16.541c2.108,2.556 4.107,4.512 5.997,5.867c1.891,1.356 3.874,2.033 5.95,2.033c1.921,0 3.571,-0.462 4.951,-1.386c1.379,-0.924 2.494,-2.156 3.347,-3.696c0.852,-1.54 1.48,-3.265 1.882,-5.175c0.403,-1.909 0.605,-3.834 0.605,-5.775Z" style="fill:#fff;fill-rule:nonzero;"/><path d="M1038.83,262.136c0,3.388 -0.447,6.507 -1.34,9.356c-0.893,2.849 -2.225,5.306 -3.996,7.369c-1.772,2.064 -3.989,3.673 -6.654,4.828c-2.664,1.156 -5.752,1.733 -9.263,1.733c-3.419,0 -6.399,-0.508 -8.94,-1.525c-2.541,-1.016 -4.659,-2.495 -6.353,-4.435c-1.694,-1.941 -2.957,-4.297 -3.789,-7.069c-0.831,-2.772 -1.247,-5.914 -1.247,-9.425c0,-3.388 0.439,-6.507 1.317,-9.356c0.877,-2.849 2.202,-5.306 3.973,-7.37c1.771,-2.063 3.981,-3.665 6.63,-4.805c2.649,-1.139 5.744,-1.709 9.287,-1.709c3.419,0 6.399,0.508 8.94,1.525c2.541,1.016 4.659,2.494 6.353,4.435c1.694,1.94 2.964,4.297 3.811,7.069c0.847,2.772 1.271,5.898 1.271,9.379Zm-7.901,0.508c0,-2.248 -0.21,-4.374 -0.629,-6.376c-0.42,-2.002 -1.111,-3.757 -2.075,-5.267c-0.963,-1.509 -2.269,-2.703 -3.916,-3.58c-1.647,-0.878 -3.698,-1.317 -6.154,-1.317c-2.269,0 -4.219,0.4 -5.851,1.201c-1.631,0.801 -2.976,1.933 -4.032,3.396c-1.057,1.463 -1.842,3.196 -2.354,5.198c-0.513,2.002 -0.77,4.189 -0.77,6.56c0,2.28 0.21,4.42 0.63,6.423c0.42,2.002 1.119,3.75 2.098,5.244c0.979,1.493 2.292,2.679 3.939,3.557c1.647,0.878 3.698,1.317 6.154,1.317c2.238,0 4.18,-0.401 5.827,-1.201c1.648,-0.801 3,-1.925 4.056,-3.373c1.057,-1.448 1.834,-3.173 2.331,-5.175c0.498,-2.002 0.746,-4.204 0.746,-6.607Z" style="fill:#fff;fill-rule:nonzero;"/><path d="M1074.36,244.533c0,0.678 -0.016,1.247 -0.047,1.709c-0.03,0.462 -0.092,0.824 -0.184,1.086c-0.093,0.262 -0.208,0.462 -0.347,0.601c-0.139,0.138 -0.331,0.208 -0.577,0.208c-0.247,0 -0.547,-0.07 -0.901,-0.208c-0.355,-0.139 -0.755,-0.277 -1.202,-0.416c-0.446,-0.139 -0.947,-0.27 -1.501,-0.393c-0.555,-0.123 -1.155,-0.185 -1.802,-0.185c-0.77,0 -1.525,0.154 -2.264,0.462c-0.739,0.308 -1.517,0.817 -2.333,1.525c-0.817,0.709 -1.671,1.648 -2.565,2.818c-0.893,1.171 -1.878,2.603 -2.956,4.297l0,27.352c0,0.247 -0.062,0.454 -0.185,0.624c-0.124,0.169 -0.324,0.316 -0.601,0.439c-0.277,0.123 -0.662,0.215 -1.155,0.277c-0.493,0.062 -1.124,0.092 -1.894,0.092c-0.74,0 -1.356,-0.03 -1.848,-0.092c-0.493,-0.062 -0.886,-0.154 -1.179,-0.277c-0.292,-0.123 -0.492,-0.27 -0.6,-0.439c-0.108,-0.17 -0.162,-0.377 -0.162,-0.624l0,-41.582c0,-0.246 0.046,-0.454 0.139,-0.624c0.092,-0.169 0.277,-0.323 0.554,-0.462c0.277,-0.138 0.632,-0.231 1.063,-0.277c0.431,-0.046 1.001,-0.069 1.709,-0.069c0.678,0 1.24,0.023 1.687,0.069c0.446,0.046 0.793,0.139 1.039,0.277c0.247,0.139 0.424,0.293 0.532,0.462c0.107,0.17 0.161,0.378 0.161,0.624l0,6.052c1.14,-1.663 2.21,-3.018 3.211,-4.065c1.001,-1.048 1.949,-1.872 2.842,-2.472c0.893,-0.601 1.779,-1.017 2.656,-1.248c0.878,-0.231 1.764,-0.346 2.657,-0.346c0.4,0 0.855,0.023 1.363,0.069c0.508,0.046 1.04,0.131 1.594,0.254c0.554,0.123 1.055,0.262 1.502,0.416c0.446,0.154 0.762,0.308 0.947,0.462c0.185,0.154 0.308,0.3 0.369,0.439c0.062,0.139 0.116,0.316 0.162,0.531c0.046,0.216 0.077,0.532 0.092,0.948c0.016,0.415 0.024,0.977 0.024,1.686Z" style="fill:#fff;fill-rule:nonzero;"/><path d="M1104.67,280.34c0,0.893 -0.061,1.601 -0.184,2.125c-0.124,0.524 -0.308,0.909 -0.555,1.155c-0.246,0.247 -0.616,0.478 -1.109,0.693c-0.493,0.216 -1.055,0.393 -1.686,0.532c-0.632,0.138 -1.302,0.254 -2.01,0.346c-0.708,0.092 -1.417,0.139 -2.125,0.139c-2.156,0 -4.004,-0.285 -5.545,-0.855c-1.54,-0.57 -2.802,-1.432 -3.788,-2.587c-0.986,-1.155 -1.702,-2.619 -2.149,-4.39c-0.446,-1.771 -0.669,-3.858 -0.669,-6.26l0,-24.303l-5.822,0c-0.462,0 -0.832,-0.246 -1.109,-0.739c-0.277,-0.493 -0.416,-1.293 -0.416,-2.402c0,-0.586 0.039,-1.078 0.116,-1.479c0.077,-0.4 0.177,-0.731 0.3,-0.993c0.123,-0.262 0.285,-0.447 0.485,-0.555c0.2,-0.107 0.424,-0.161 0.67,-0.161l5.776,0l0,-9.888c0,-0.215 0.053,-0.415 0.161,-0.6c0.108,-0.185 0.308,-0.347 0.601,-0.485c0.292,-0.139 0.685,-0.239 1.178,-0.301c0.493,-0.061 1.109,-0.092 1.848,-0.092c0.77,0 1.402,0.031 1.894,0.092c0.493,0.062 0.878,0.162 1.155,0.301c0.278,0.138 0.478,0.3 0.601,0.485c0.123,0.185 0.185,0.385 0.185,0.6l0,9.888l10.673,0c0.246,0 0.462,0.054 0.646,0.161c0.185,0.108 0.347,0.293 0.486,0.555c0.138,0.262 0.238,0.593 0.3,0.993c0.062,0.401 0.092,0.893 0.092,1.479c0,1.109 -0.138,1.909 -0.415,2.402c-0.278,0.493 -0.647,0.739 -1.109,0.739l-10.673,0l0,23.194c0,2.865 0.423,5.028 1.27,6.491c0.848,1.464 2.364,2.195 4.551,2.195c0.709,0 1.34,-0.069 1.895,-0.208c0.554,-0.138 1.047,-0.285 1.478,-0.439c0.431,-0.154 0.801,-0.3 1.109,-0.439c0.308,-0.138 0.585,-0.208 0.832,-0.208c0.154,0 0.3,0.039 0.439,0.116c0.138,0.077 0.246,0.223 0.323,0.439c0.077,0.215 0.146,0.508 0.208,0.878c0.062,0.369 0.092,0.831 0.092,1.386Z" style="fill:#fff;fill-rule:nonzero;"/><path d="M1149.21,260.796c0,1.201 -0.301,2.056 -0.904,2.564c-0.604,0.509 -1.292,0.763 -2.066,0.763l-27.385,0c0,2.31 0.233,4.389 0.697,6.237c0.464,1.848 1.238,3.434 2.321,4.759c1.083,1.324 2.492,2.341 4.225,3.049c1.733,0.709 3.854,1.063 6.36,1.063c1.981,0 3.746,-0.162 5.293,-0.485c1.548,-0.324 2.886,-0.686 4.016,-1.086c1.13,-0.4 2.059,-0.762 2.786,-1.086c0.727,-0.323 1.277,-0.485 1.649,-0.485c0.216,0 0.409,0.054 0.58,0.162c0.17,0.108 0.301,0.269 0.394,0.485c0.093,0.216 0.163,0.516 0.209,0.901c0.047,0.385 0.07,0.855 0.07,1.409c0,0.401 -0.016,0.747 -0.046,1.04c-0.031,0.292 -0.07,0.554 -0.116,0.785c-0.046,0.231 -0.123,0.439 -0.231,0.624c-0.108,0.185 -0.246,0.362 -0.416,0.531c-0.169,0.17 -0.67,0.447 -1.501,0.832c-0.832,0.385 -1.91,0.762 -3.235,1.132c-1.324,0.369 -2.856,0.701 -4.597,0.993c-1.74,0.293 -3.596,0.439 -5.567,0.439c-3.419,0 -6.414,-0.477 -8.986,-1.432c-2.572,-0.955 -4.736,-2.372 -6.492,-4.251c-1.756,-1.879 -3.08,-4.235 -3.973,-7.069c-0.894,-2.834 -1.34,-6.129 -1.34,-9.887c0,-3.573 0.462,-6.784 1.386,-9.633c0.924,-2.849 2.256,-5.267 3.996,-7.254c1.741,-1.987 3.843,-3.511 6.307,-4.574c2.464,-1.063 5.221,-1.594 8.27,-1.594c3.265,0 6.045,0.524 8.34,1.571c2.295,1.047 4.181,2.456 5.66,4.227c1.478,1.771 2.564,3.85 3.257,6.238c0.693,2.387 1.039,4.936 1.039,7.646l0,1.386Zm-7.669,-2.264c0.092,-4.004 -0.799,-7.146 -2.673,-9.425c-1.875,-2.279 -4.656,-3.419 -8.344,-3.419c-1.891,0 -3.549,0.354 -4.974,1.063c-1.426,0.708 -2.619,1.648 -3.58,2.818c-0.961,1.17 -1.705,2.533 -2.231,4.089c-0.527,1.555 -0.821,3.18 -0.884,4.874l22.686,0Z" style="fill:#fff;fill-rule:nonzero;"/><path d="M1196.42,283.389c0,0.247 -0.054,0.462 -0.161,0.647c-0.108,0.185 -0.293,0.331 -0.555,0.439c-0.262,0.108 -0.608,0.192 -1.039,0.254c-0.432,0.062 -0.955,0.092 -1.571,0.092c-0.647,0 -1.186,-0.03 -1.617,-0.092c-0.432,-0.062 -0.786,-0.146 -1.063,-0.254c-0.277,-0.108 -0.477,-0.254 -0.601,-0.439c-0.123,-0.185 -0.184,-0.4 -0.184,-0.647l0,-5.498c-2.187,2.372 -4.459,4.22 -6.815,5.544c-2.357,1.325 -4.936,1.987 -7.739,1.987c-3.05,0 -5.652,-0.593 -7.808,-1.779c-2.157,-1.186 -3.905,-2.787 -5.244,-4.805c-1.34,-2.017 -2.318,-4.389 -2.934,-7.115c-0.616,-2.726 -0.924,-5.598 -0.924,-8.617c0,-3.573 0.385,-6.799 1.155,-9.679c0.77,-2.88 1.909,-5.336 3.419,-7.369c1.509,-2.033 3.38,-3.596 5.613,-4.69c2.233,-1.093 4.813,-1.64 7.739,-1.64c2.434,0 4.659,0.531 6.676,1.594c2.018,1.063 4.012,2.626 5.984,4.689l0,-24.163c0,-0.216 0.054,-0.424 0.161,-0.624c0.108,-0.2 0.316,-0.354 0.624,-0.462c0.308,-0.108 0.701,-0.2 1.178,-0.277c0.478,-0.077 1.086,-0.116 1.825,-0.116c0.77,0 1.402,0.039 1.895,0.116c0.492,0.077 0.877,0.169 1.155,0.277c0.277,0.108 0.485,0.262 0.623,0.462c0.139,0.2 0.208,0.408 0.208,0.624l0,61.541Zm-7.669,-29.246c-2.064,-2.557 -4.058,-4.505 -5.984,-5.845c-1.925,-1.339 -3.934,-2.009 -6.029,-2.009c-1.94,0 -3.588,0.462 -4.944,1.386c-1.355,0.924 -2.456,2.14 -3.303,3.65c-0.847,1.509 -1.463,3.218 -1.848,5.128c-0.385,1.91 -0.578,3.85 -0.578,5.822c0,2.094 0.162,4.142 0.485,6.145c0.324,2.002 0.886,3.78 1.687,5.336c0.801,1.555 1.863,2.803 3.188,3.742c1.324,0.94 2.988,1.41 4.99,1.41c1.016,0 1.994,-0.139 2.934,-0.416c0.939,-0.278 1.902,-0.74 2.887,-1.386c0.986,-0.647 2.018,-1.487 3.096,-2.518c1.078,-1.032 2.217,-2.303 3.419,-3.812l0,-16.633Z" style="fill:#fff;fill-rule:nonzero;"/></g></svg> \ No newline at end of file
+<?xml version="1.0" encoding="UTF-8" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg width="100%" height="100%" viewBox="0 0 1260 371" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" style="fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:1.41421;"><rect id="badge.-community.-dark" x="0" y="0.321" width="1260" height="370" style="fill:none;"/><clipPath id="_clip1"><rect x="0" y="0.321" width="1260" height="370"/></clipPath><g clip-path="url(#_clip1)"><path d="M1260,33.621c0,-18.379 -14.921,-33.3 -33.3,-33.3l-1193.4,0c-18.379,0 -33.3,14.921 -33.3,33.3l0,303.4c0,18.378 14.921,33.3 33.3,33.3l1193.4,0c18.379,0 33.3,-14.922 33.3,-33.3l0,-303.4Z" style="fill:#333;"/><path d="M118.018,302.021l-6.434,0c-1.775,0 -3.217,-1.441 -3.217,-3.217l0,-20.679l-4.548,0c-15.366,0 -27.841,-12.475 -27.841,-27.841l0,-4.548l-20.679,0c-1.776,0 -3.217,-1.442 -3.217,-3.217l0,-6.434c0,-1.775 1.441,-3.217 3.217,-3.217l20.679,0l0,-14.123l-20.679,0c-1.776,0 -3.217,-1.441 -3.217,-3.217l0,-6.434c0,-1.775 1.441,-3.217 3.217,-3.217l20.679,0l0,-14.123l-20.679,0c-1.776,0 -3.217,-1.441 -3.217,-3.216l0,-6.434c0,-1.776 1.441,-3.217 3.217,-3.217l20.679,0l0,-14.123l-20.679,0c-1.776,0 -3.217,-1.442 -3.217,-3.217l0,-6.434c0,-1.775 1.441,-3.217 3.217,-3.217l20.679,0l0,-14.123l-20.679,0c-1.776,0 -3.217,-1.441 -3.217,-3.217l0,-6.434c0,-1.775 1.441,-3.216 3.217,-3.217l20.679,0l0,-4.548c0,-15.366 12.475,-27.841 27.841,-27.841l4.548,0l0,-20.679c0,-1.776 1.442,-3.217 3.217,-3.217l6.434,0c1.776,0 3.217,1.441 3.217,3.217l0,20.679l14.123,0l0,-20.679c0,-1.776 1.441,-3.217 3.217,-3.217l6.434,0c1.775,0 3.217,1.441 3.217,3.217l0,20.679l14.123,0l0,-20.679c0,-1.776 1.441,-3.217 3.217,-3.217l6.433,0c1.776,0 3.217,1.441 3.217,3.217l0,20.679l14.123,0l0,-20.679c0,-1.776 1.442,-3.217 3.217,-3.217l6.434,0c1.776,0 3.217,1.441 3.217,3.217l0,20.679l14.123,0l0,-20.679c0,-1.776 1.441,-3.217 3.217,-3.217l6.434,0c1.775,0 3.217,1.441 3.217,3.217l0,20.679l4.548,0c15.366,0 27.841,12.475 27.841,27.841l0,4.548l20.679,0c1.776,0.001 3.217,1.442 3.217,3.217l0,6.434c0,1.775 -1.441,3.217 -3.217,3.217l-20.679,0l0,14.123l20.679,0c1.776,0.001 3.217,1.442 3.217,3.217l0,6.434c0,1.775 -1.441,3.216 -3.217,3.217l-20.679,0l0,14.123l20.679,0c1.776,0 3.217,1.442 3.217,3.217l0,6.434c0,1.775 -1.441,3.216 -3.217,3.216l-20.679,0l0,14.123l20.679,0c1.776,0.001 3.217,1.442 3.217,3.217l0,6.434c0,1.775 -1.441,3.217 -3.217,3.217l-20.679,0l0,14.123l20.679,0c1.776,0.001 3.217,1.442 3.217,3.217l0,6.434c0,1.775 -1.441,3.216 -3.217,3.217l-20.679,0l0,4.548c0,15.366 -12.475,27.841 -27.841,27.841l-4.548,0l0,20.679c0,1.776 -1.441,3.217 -3.217,3.217l-6.434,0c-1.776,0 -3.217,-1.441 -3.217,-3.217l0,-20.679l-14.123,0l0,20.679c0,1.776 -1.441,3.217 -3.217,3.217l-6.434,0c-1.775,0 -3.217,-1.441 -3.217,-3.217l0,-20.679l-14.123,0l0,20.679c0,1.776 -1.441,3.217 -3.217,3.217l-6.433,0c-1.776,0 -3.217,-1.441 -3.217,-3.217l0,-20.679l-14.123,0l0,20.679c0,1.776 -1.441,3.217 -3.217,3.217l-6.434,0c-1.775,0 -3.217,-1.441 -3.217,-3.217l0,-20.679l-14.123,0l0,20.679c0,1.776 -1.441,3.217 -3.217,3.217Zm103.74,-127.253c0,6.774 -1.062,12.845 -3.187,18.213c-2.124,5.368 -5.152,9.946 -9.085,13.735c-3.932,3.789 -8.697,6.717 -14.295,8.784c-5.597,2.067 -11.927,3.186 -18.988,3.359l0,20.581c0,0.459 -0.115,0.861 -0.345,1.206c-0.229,0.344 -0.631,0.617 -1.205,0.818c-0.574,0.201 -1.335,0.358 -2.282,0.473c-0.947,0.115 -2.139,0.173 -3.574,0.173c-1.435,0 -2.626,-0.058 -3.574,-0.173c-0.947,-0.115 -1.693,-0.272 -2.239,-0.473c-0.545,-0.201 -0.947,-0.474 -1.205,-0.818c-0.259,-0.345 -0.388,-0.747 -0.388,-1.206l0,-20.581c-7.176,-0.173 -13.577,-1.206 -19.203,-3.101c-5.627,-1.894 -10.392,-4.635 -14.295,-8.224c-3.904,-3.588 -6.89,-7.994 -8.956,-13.218c-2.067,-5.224 -3.101,-11.224 -3.101,-17.998l0,-44.005c0,-0.402 0.13,-0.775 0.388,-1.119c0.258,-0.345 0.66,-0.632 1.206,-0.861c0.545,-0.23 1.291,-0.402 2.239,-0.517c0.947,-0.115 2.138,-0.172 3.573,-0.172c1.436,0 2.627,0.057 3.574,0.172c0.947,0.115 1.708,0.287 2.282,0.517c0.574,0.229 0.976,0.516 1.206,0.861c0.229,0.344 0.344,0.717 0.344,1.119l0,42.713c0,4.765 0.632,9.057 1.895,12.874c1.263,3.818 3.157,7.062 5.683,9.731c2.526,2.67 5.727,4.737 9.602,6.201c3.875,1.463 8.396,2.253 13.563,2.368l0,-73.887c0,-0.402 0.129,-0.775 0.388,-1.119c0.258,-0.345 0.689,-0.632 1.291,-0.861c0.603,-0.23 1.378,-0.402 2.326,-0.517c0.947,-0.115 2.081,-0.172 3.401,-0.172c1.435,0 2.627,0.057 3.574,0.172c0.947,0.115 1.708,0.287 2.282,0.517c0.574,0.229 0.976,0.516 1.205,0.861c0.23,0.344 0.345,0.717 0.345,1.119l0,73.887c5.167,-0.058 9.673,-0.847 13.52,-2.368c3.846,-1.522 7.047,-3.617 9.602,-6.287c2.554,-2.669 4.478,-5.884 5.769,-9.645c1.292,-3.76 1.938,-7.937 1.938,-12.529l0,-43.058c0,-0.402 0.115,-0.775 0.344,-1.119c0.23,-0.345 0.632,-0.632 1.206,-0.861c0.574,-0.23 1.321,-0.402 2.239,-0.517c0.919,-0.115 2.124,-0.172 3.617,-0.172c1.378,0 2.54,0.057 3.488,0.172c0.947,0.115 1.693,0.287 2.239,0.517c0.545,0.229 0.947,0.516 1.205,0.861c0.258,0.344 0.388,0.717 0.388,1.119l0,42.455Z" style="fill:#fff;"/><path d="M426.392,189.328c0,1.077 -0.059,1.978 -0.176,2.704c-0.117,0.726 -0.293,1.288 -0.527,1.686c-0.234,0.398 -0.491,0.668 -0.772,0.808c-0.281,0.141 -0.563,0.211 -0.844,0.211c-0.936,0 -2.447,-0.386 -4.531,-1.159c-2.084,-0.773 -4.484,-1.897 -7.201,-3.372c-2.716,-1.476 -5.62,-3.267 -8.711,-5.375c-3.092,-2.107 -6.089,-4.566 -8.993,-7.376c-2.295,1.405 -5.199,2.622 -8.711,3.653c-3.513,1.03 -7.588,1.545 -12.224,1.545c-6.839,0 -12.752,-1.007 -17.74,-3.021c-4.988,-2.013 -9.109,-4.964 -12.364,-8.851c-3.255,-3.888 -5.679,-8.724 -7.272,-14.508c-1.592,-5.784 -2.388,-12.423 -2.388,-19.917c0,-7.213 0.866,-13.734 2.599,-19.566c1.733,-5.831 4.333,-10.795 7.798,-14.893c3.466,-4.098 7.799,-7.26 12.997,-9.485c5.199,-2.224 11.264,-3.337 18.196,-3.337c6.51,0 12.236,1.007 17.177,3.021c4.941,2.014 9.086,4.953 12.435,8.817c3.349,3.864 5.866,8.63 7.552,14.297c1.686,5.667 2.529,12.177 2.529,19.53c0,3.794 -0.222,7.424 -0.667,10.89c-0.445,3.466 -1.147,6.744 -2.108,9.835c-0.96,3.091 -2.166,5.948 -3.618,8.571c-1.452,2.623 -3.161,4.988 -5.128,7.096c3.419,2.81 6.416,5 8.992,6.569c2.576,1.569 4.707,2.751 6.393,3.547c1.687,0.797 2.998,1.37 3.935,1.722c0.936,0.351 1.639,0.749 2.107,1.194c0.469,0.445 0.796,1.077 0.984,1.897c0.187,0.819 0.281,1.908 0.281,3.267Zm-23.886,-53.745c0,-5.152 -0.457,-9.929 -1.37,-14.331c-0.914,-4.403 -2.436,-8.232 -4.567,-11.487c-2.131,-3.255 -4.976,-5.796 -8.536,-7.622c-3.559,-1.827 -7.962,-2.74 -13.207,-2.74c-5.246,0 -9.649,0.972 -13.208,2.915c-3.56,1.944 -6.452,4.567 -8.676,7.869c-2.225,3.302 -3.818,7.13 -4.778,11.486c-0.96,4.356 -1.44,8.969 -1.44,13.84c0,5.339 0.445,10.245 1.335,14.718c0.89,4.473 2.389,8.349 4.496,11.627c2.108,3.279 4.93,5.82 8.466,7.623c3.536,1.803 7.974,2.705 13.313,2.705c5.292,0 9.742,-0.984 13.348,-2.951c3.606,-1.967 6.51,-4.625 8.711,-7.974c2.202,-3.349 3.771,-7.236 4.707,-11.662c0.937,-4.426 1.406,-9.098 1.406,-14.016Z" style="fill:#fff;fill-rule:nonzero;"/><path d="M534.723,179.492c0,0.375 -0.096,0.703 -0.289,0.984c-0.193,0.281 -0.531,0.503 -1.013,0.667c-0.483,0.164 -1.098,0.304 -1.846,0.421c-0.747,0.118 -1.724,0.176 -2.93,0.176c-1.109,0 -2.062,-0.058 -2.858,-0.176c-0.796,-0.117 -1.423,-0.257 -1.881,-0.421c-0.459,-0.164 -0.784,-0.386 -0.977,-0.667c-0.193,-0.281 -0.289,-0.609 -0.289,-0.984l0,-79.176l-0.141,0l-32.036,79.527c-0.14,0.328 -0.339,0.609 -0.597,0.843c-0.257,0.234 -0.632,0.434 -1.124,0.597c-0.492,0.164 -1.077,0.281 -1.756,0.352c-0.679,0.07 -1.487,0.105 -2.424,0.105c-0.984,0 -1.827,-0.047 -2.529,-0.14c-0.703,-0.094 -1.288,-0.223 -1.756,-0.387c-0.469,-0.164 -0.832,-0.363 -1.089,-0.597c-0.258,-0.234 -0.434,-0.492 -0.527,-0.773l-30.631,-79.527l-0.07,0l0,79.176c0,0.375 -0.097,0.703 -0.289,0.984c-0.193,0.281 -0.531,0.503 -1.014,0.667c-0.482,0.164 -1.109,0.304 -1.881,0.421c-0.772,0.118 -1.761,0.176 -2.967,0.176c-1.157,0 -2.122,-0.058 -2.894,-0.176c-0.772,-0.117 -1.387,-0.257 -1.845,-0.421c-0.459,-0.164 -0.772,-0.386 -0.941,-0.667c-0.169,-0.281 -0.253,-0.609 -0.253,-0.984l0,-83.602c0,-1.967 0.523,-3.372 1.569,-4.215c1.046,-0.843 2.212,-1.265 3.496,-1.265l7.419,0c1.522,0 2.853,0.141 3.995,0.422c1.142,0.281 2.14,0.726 2.996,1.335c0.856,0.608 1.569,1.381 2.14,2.318c0.571,0.937 1.07,2.037 1.499,3.302l25.994,65.828l0.351,0l27.047,-65.617c0.524,-1.405 1.095,-2.6 1.713,-3.583c0.619,-0.984 1.297,-1.768 2.035,-2.354c0.738,-0.585 1.558,-1.007 2.462,-1.264c0.904,-0.258 1.951,-0.387 3.141,-0.387l7.779,0c0.715,0 1.393,0.106 2.035,0.316c0.642,0.211 1.189,0.539 1.642,0.984c0.452,0.445 0.821,1.007 1.106,1.686c0.285,0.679 0.428,1.51 0.428,2.494l0,83.602Z" style="fill:#fff;fill-rule:nonzero;"/><path d="M618.185,179.351c0,0.375 -0.082,0.715 -0.246,1.019c-0.164,0.305 -0.48,0.55 -0.949,0.738c-0.468,0.187 -1.1,0.339 -1.896,0.456c-0.797,0.118 -1.827,0.176 -3.092,0.176c-1.639,0 -2.974,-0.07 -4.004,-0.211c-1.031,-0.14 -1.803,-0.398 -2.318,-0.772c-0.516,-0.375 -0.937,-0.797 -1.265,-1.265l-33.441,-45.454l0,45.454c0,0.328 -0.094,0.644 -0.281,0.948c-0.187,0.305 -0.515,0.539 -0.983,0.703c-0.469,0.164 -1.089,0.304 -1.862,0.421c-0.773,0.118 -1.745,0.176 -2.916,0.176c-1.124,0 -2.084,-0.058 -2.88,-0.176c-0.796,-0.117 -1.429,-0.257 -1.897,-0.421c-0.468,-0.164 -0.796,-0.398 -0.983,-0.703c-0.188,-0.304 -0.282,-0.62 -0.282,-0.948l0,-87.255c0,-0.375 0.094,-0.703 0.282,-0.984c0.187,-0.281 0.515,-0.503 0.983,-0.667c0.468,-0.164 1.101,-0.305 1.897,-0.422c0.796,-0.117 1.756,-0.175 2.88,-0.175c1.171,0 2.143,0.058 2.916,0.175c0.773,0.117 1.393,0.258 1.862,0.422c0.468,0.164 0.796,0.386 0.983,0.667c0.187,0.281 0.281,0.609 0.281,0.984l0,40.396l32.176,-40.396c0.281,-0.422 0.609,-0.773 0.984,-1.054c0.375,-0.281 0.831,-0.504 1.37,-0.667c0.538,-0.164 1.194,-0.293 1.967,-0.387c0.773,-0.094 1.768,-0.14 2.986,-0.14c1.218,0 2.201,0.058 2.95,0.175c0.75,0.117 1.347,0.27 1.792,0.457c0.445,0.187 0.749,0.421 0.913,0.702c0.164,0.282 0.246,0.586 0.246,0.914c0,0.609 -0.152,1.218 -0.457,1.826c-0.304,0.609 -0.878,1.452 -1.721,2.53l-30.139,36.04l32.458,43.136c0.796,1.217 1.276,2.049 1.44,2.494c0.164,0.444 0.246,0.807 0.246,1.088Z" style="fill:#fff;fill-rule:nonzero;"/><path d="M713.941,95.609c0,0.89 -0.047,1.663 -0.141,2.318c-0.094,0.656 -0.258,1.183 -0.492,1.581c-0.234,0.398 -0.503,0.691 -0.808,0.878c-0.304,0.188 -0.62,0.281 -0.948,0.281l-33.3,0l0,30.912l31.473,0c0.328,0 0.644,0.082 0.949,0.246c0.304,0.164 0.574,0.433 0.808,0.808c0.234,0.374 0.398,0.878 0.491,1.51c0.094,0.632 0.141,1.44 0.141,2.424c0,0.89 -0.047,1.651 -0.141,2.283c-0.093,0.632 -0.257,1.148 -0.491,1.546c-0.234,0.398 -0.504,0.702 -0.808,0.913c-0.305,0.211 -0.621,0.316 -0.949,0.316l-31.473,0l0,37.867c0,0.328 -0.094,0.644 -0.281,0.948c-0.188,0.305 -0.516,0.539 -0.984,0.703c-0.468,0.164 -1.077,0.304 -1.826,0.421c-0.75,0.118 -1.733,0.176 -2.951,0.176c-1.124,0 -2.084,-0.058 -2.881,-0.176c-0.796,-0.117 -1.428,-0.257 -1.896,-0.421c-0.469,-0.164 -0.797,-0.398 -0.984,-0.703c-0.187,-0.304 -0.281,-0.62 -0.281,-0.948l0,-84.164c0,-1.827 0.48,-3.103 1.44,-3.829c0.96,-0.726 1.979,-1.089 3.056,-1.089l40.888,0c0.328,0 0.644,0.094 0.948,0.281c0.305,0.188 0.574,0.492 0.808,0.914c0.234,0.421 0.398,0.971 0.492,1.65c0.094,0.68 0.141,1.464 0.141,2.354Z" style="fill:#fff;fill-rule:nonzero;"/><path d="M742.534,179.562c0,0.375 -0.094,0.691 -0.281,0.949c-0.187,0.257 -0.492,0.48 -0.913,0.667c-0.422,0.187 -1.007,0.328 -1.757,0.422c-0.749,0.093 -1.709,0.14 -2.88,0.14c-1.124,0 -2.061,-0.047 -2.81,-0.14c-0.75,-0.094 -1.347,-0.235 -1.792,-0.422c-0.445,-0.187 -0.749,-0.41 -0.913,-0.667c-0.164,-0.258 -0.246,-0.574 -0.246,-0.949l0,-63.228c0,-0.328 0.082,-0.632 0.246,-0.913c0.164,-0.281 0.468,-0.516 0.913,-0.703c0.445,-0.187 1.042,-0.328 1.792,-0.422c0.749,-0.093 1.686,-0.14 2.81,-0.14c1.171,0 2.131,0.047 2.88,0.14c0.75,0.094 1.335,0.235 1.757,0.422c0.421,0.187 0.726,0.422 0.913,0.703c0.187,0.281 0.281,0.585 0.281,0.913l0,63.228Zm1.335,-84.585c0,2.716 -0.515,4.566 -1.546,5.55c-1.03,0.983 -2.927,1.475 -5.69,1.475c-2.717,0 -4.579,-0.48 -5.586,-1.44c-1.007,-0.96 -1.51,-2.775 -1.51,-5.445c0,-2.716 0.515,-4.566 1.546,-5.55c1.03,-0.983 2.927,-1.475 5.69,-1.475c2.717,0 4.578,0.48 5.585,1.44c1.007,0.96 1.511,2.775 1.511,5.445Z" style="fill:#fff;fill-rule:nonzero;"/><path d="M800.915,120.479c0,1.03 -0.024,1.897 -0.07,2.599c-0.047,0.703 -0.141,1.253 -0.281,1.651c-0.141,0.398 -0.317,0.703 -0.527,0.913c-0.211,0.211 -0.504,0.317 -0.879,0.317c-0.374,0 -0.831,-0.106 -1.37,-0.317c-0.538,-0.21 -1.147,-0.421 -1.826,-0.632c-0.679,-0.211 -1.44,-0.41 -2.283,-0.597c-0.843,-0.187 -1.757,-0.281 -2.74,-0.281c-1.171,0 -2.319,0.234 -3.443,0.703c-1.124,0.468 -2.306,1.241 -3.548,2.318c-1.241,1.077 -2.54,2.506 -3.899,4.285c-1.358,1.78 -2.857,3.958 -4.496,6.534l0,41.59c0,0.375 -0.094,0.691 -0.281,0.949c-0.187,0.257 -0.492,0.48 -0.913,0.667c-0.422,0.187 -1.007,0.328 -1.756,0.422c-0.75,0.093 -1.71,0.14 -2.881,0.14c-1.124,0 -2.061,-0.047 -2.81,-0.14c-0.749,-0.094 -1.347,-0.235 -1.792,-0.422c-0.444,-0.187 -0.749,-0.41 -0.913,-0.667c-0.164,-0.258 -0.246,-0.574 -0.246,-0.949l0,-63.228c0,-0.375 0.071,-0.691 0.211,-0.949c0.141,-0.257 0.422,-0.491 0.843,-0.702c0.422,-0.211 0.96,-0.351 1.616,-0.422c0.656,-0.07 1.522,-0.105 2.599,-0.105c1.031,0 1.885,0.035 2.565,0.105c0.679,0.071 1.206,0.211 1.58,0.422c0.375,0.211 0.644,0.445 0.808,0.702c0.164,0.258 0.246,0.574 0.246,0.949l0,9.203c1.733,-2.529 3.361,-4.59 4.883,-6.182c1.522,-1.593 2.962,-2.846 4.32,-3.759c1.359,-0.913 2.705,-1.545 4.04,-1.897c1.335,-0.351 2.681,-0.527 4.04,-0.527c0.608,0 1.299,0.036 2.072,0.106c0.773,0.07 1.581,0.199 2.424,0.386c0.843,0.188 1.604,0.398 2.283,0.632c0.679,0.235 1.159,0.469 1.44,0.703c0.281,0.234 0.469,0.457 0.562,0.667c0.094,0.211 0.176,0.48 0.246,0.808c0.07,0.328 0.117,0.808 0.141,1.441c0.023,0.632 0.035,1.487 0.035,2.564Z" style="fill:#fff;fill-rule:nonzero;"/><path d="M907.911,179.562c0,0.375 -0.093,0.691 -0.281,0.949c-0.187,0.257 -0.491,0.48 -0.913,0.667c-0.422,0.187 -1.007,0.328 -1.756,0.422c-0.75,0.093 -1.686,0.14 -2.811,0.14c-1.17,0 -2.131,-0.047 -2.88,-0.14c-0.749,-0.094 -1.346,-0.235 -1.791,-0.422c-0.445,-0.187 -0.761,-0.41 -0.949,-0.667c-0.187,-0.258 -0.281,-0.574 -0.281,-0.949l0,-38.429c0,-2.669 -0.234,-5.105 -0.702,-7.306c-0.469,-2.201 -1.218,-4.098 -2.248,-5.691c-1.031,-1.592 -2.342,-2.81 -3.935,-3.653c-1.592,-0.843 -3.466,-1.264 -5.62,-1.264c-2.67,0 -5.351,1.03 -8.044,3.091c-2.693,2.061 -5.655,5.082 -8.887,9.063l0,44.189c0,0.375 -0.094,0.691 -0.281,0.949c-0.188,0.257 -0.504,0.48 -0.949,0.667c-0.445,0.187 -1.042,0.328 -1.791,0.422c-0.749,0.093 -1.686,0.14 -2.81,0.14c-1.077,0 -2.002,-0.047 -2.775,-0.14c-0.773,-0.094 -1.382,-0.235 -1.827,-0.422c-0.445,-0.187 -0.749,-0.41 -0.913,-0.667c-0.164,-0.258 -0.246,-0.574 -0.246,-0.949l0,-38.429c0,-2.669 -0.258,-5.105 -0.773,-7.306c-0.515,-2.201 -1.288,-4.098 -2.318,-5.691c-1.031,-1.592 -2.33,-2.81 -3.899,-3.653c-1.569,-0.843 -3.431,-1.264 -5.585,-1.264c-2.67,0 -5.363,1.03 -8.08,3.091c-2.716,2.061 -5.667,5.082 -8.852,9.063l0,44.189c0,0.375 -0.093,0.691 -0.281,0.949c-0.187,0.257 -0.491,0.48 -0.913,0.667c-0.421,0.187 -1.007,0.328 -1.756,0.422c-0.75,0.093 -1.71,0.14 -2.881,0.14c-1.124,0 -2.06,-0.047 -2.81,-0.14c-0.749,-0.094 -1.346,-0.235 -1.791,-0.422c-0.445,-0.187 -0.75,-0.41 -0.914,-0.667c-0.164,-0.258 -0.246,-0.574 -0.246,-0.949l0,-63.228c0,-0.375 0.071,-0.691 0.211,-0.949c0.141,-0.257 0.422,-0.491 0.843,-0.702c0.422,-0.211 0.96,-0.351 1.616,-0.422c0.656,-0.07 1.522,-0.105 2.6,-0.105c1.03,0 1.885,0.035 2.564,0.105c0.679,0.071 1.206,0.211 1.581,0.422c0.374,0.211 0.643,0.445 0.807,0.702c0.164,0.258 0.246,0.574 0.246,0.949l0,8.36c3.56,-3.981 7.014,-6.897 10.363,-8.747c3.349,-1.85 6.732,-2.775 10.151,-2.775c2.623,0 4.977,0.305 7.061,0.914c2.084,0.609 3.922,1.463 5.515,2.564c1.592,1.101 2.951,2.412 4.075,3.934c1.124,1.522 2.06,3.22 2.81,5.094c2.107,-2.295 4.11,-4.239 6.006,-5.831c1.897,-1.593 3.724,-2.881 5.48,-3.864c1.757,-0.984 3.466,-1.698 5.129,-2.143c1.662,-0.445 3.337,-0.668 5.023,-0.668c4.075,0 7.494,0.715 10.257,2.143c2.763,1.429 5,3.337 6.709,5.726c1.71,2.388 2.927,5.187 3.653,8.395c0.726,3.208 1.089,6.592 1.089,10.152l0,39.974Z" style="fill:#fff;fill-rule:nonzero;"/><path d="M1016.52,116.193c0,0.328 -0.047,0.726 -0.141,1.195c-0.094,0.468 -0.257,1.053 -0.492,1.756l-18.617,60.067c-0.14,0.515 -0.363,0.937 -0.667,1.265c-0.305,0.327 -0.726,0.585 -1.265,0.772c-0.538,0.188 -1.276,0.316 -2.213,0.387c-0.937,0.07 -2.107,0.105 -3.513,0.105c-1.451,0 -2.669,-0.047 -3.653,-0.14c-0.983,-0.094 -1.768,-0.235 -2.353,-0.422c-0.586,-0.187 -1.019,-0.445 -1.3,-0.773c-0.281,-0.328 -0.492,-0.726 -0.632,-1.194l-13.278,-45.876l-0.141,-0.632l-0.14,0.632l-12.295,45.876c-0.14,0.515 -0.363,0.937 -0.667,1.265c-0.304,0.327 -0.761,0.585 -1.37,0.772c-0.609,0.188 -1.393,0.316 -2.353,0.387c-0.961,0.07 -2.143,0.105 -3.548,0.105c-1.452,0 -2.635,-0.047 -3.548,-0.14c-0.913,-0.094 -1.663,-0.235 -2.248,-0.422c-0.586,-0.187 -1.019,-0.445 -1.3,-0.773c-0.281,-0.328 -0.492,-0.726 -0.632,-1.194l-18.477,-60.067c-0.234,-0.703 -0.398,-1.288 -0.492,-1.756c-0.093,-0.469 -0.14,-0.867 -0.14,-1.195c0,-0.421 0.093,-0.761 0.281,-1.018c0.187,-0.258 0.503,-0.469 0.948,-0.633c0.445,-0.164 1.042,-0.269 1.792,-0.316c0.749,-0.047 1.662,-0.07 2.74,-0.07c1.311,0 2.365,0.035 3.161,0.105c0.796,0.071 1.405,0.188 1.827,0.352c0.421,0.164 0.726,0.398 0.913,0.702c0.187,0.305 0.351,0.668 0.492,1.089l15.245,52.128l0.14,0.633l0.141,-0.633l13.98,-52.128c0.094,-0.421 0.246,-0.784 0.457,-1.089c0.211,-0.304 0.527,-0.538 0.948,-0.702c0.422,-0.164 0.996,-0.281 1.722,-0.352c0.726,-0.07 1.674,-0.105 2.845,-0.105c1.124,0 2.049,0.035 2.775,0.105c0.726,0.071 1.3,0.188 1.721,0.352c0.422,0.164 0.726,0.386 0.913,0.667c0.188,0.281 0.328,0.609 0.422,0.984l15.104,52.268l0.141,0.633l0.07,-0.633l15.035,-52.128c0.093,-0.421 0.245,-0.784 0.456,-1.089c0.211,-0.304 0.539,-0.538 0.984,-0.702c0.445,-0.164 1.054,-0.281 1.826,-0.352c0.773,-0.07 1.768,-0.105 2.986,-0.105c1.124,0 2.026,0.023 2.705,0.07c0.679,0.047 1.218,0.164 1.616,0.351c0.398,0.188 0.679,0.399 0.843,0.633c0.164,0.234 0.246,0.562 0.246,0.983Z" style="fill:#fff;fill-rule:nonzero;"/><path d="M1076.94,179.632c0,0.563 -0.187,0.984 -0.562,1.265c-0.375,0.281 -0.89,0.492 -1.546,0.632c-0.655,0.141 -1.616,0.211 -2.88,0.211c-1.218,0 -2.19,-0.07 -2.916,-0.211c-0.726,-0.14 -1.252,-0.351 -1.58,-0.632c-0.328,-0.281 -0.492,-0.702 -0.492,-1.265l0,-6.322c-2.763,2.95 -5.843,5.245 -9.238,6.885c-3.396,1.639 -6.991,2.458 -10.784,2.458c-3.326,0 -6.335,-0.433 -9.028,-1.299c-2.693,-0.867 -4.988,-2.12 -6.885,-3.759c-1.897,-1.639 -3.372,-3.653 -4.426,-6.042c-1.054,-2.388 -1.581,-5.105 -1.581,-8.149c0,-3.56 0.726,-6.651 2.178,-9.274c1.452,-2.622 3.536,-4.8 6.253,-6.533c2.716,-1.733 6.042,-3.033 9.976,-3.899c3.934,-0.867 8.36,-1.3 13.278,-1.3l8.711,0l0,-4.918c0,-2.435 -0.257,-4.59 -0.772,-6.463c-0.516,-1.874 -1.347,-3.431 -2.495,-4.672c-1.147,-1.241 -2.634,-2.178 -4.461,-2.81c-1.826,-0.632 -4.074,-0.949 -6.744,-0.949c-2.857,0 -5.421,0.34 -7.693,1.019c-2.271,0.679 -4.262,1.429 -5.971,2.248c-1.71,0.82 -3.138,1.569 -4.286,2.248c-1.147,0.679 -2.002,1.019 -2.564,1.019c-0.375,0 -0.703,-0.094 -0.984,-0.281c-0.281,-0.187 -0.527,-0.468 -0.737,-0.843c-0.211,-0.375 -0.363,-0.855 -0.457,-1.44c-0.094,-0.586 -0.14,-1.23 -0.14,-1.932c0,-1.171 0.081,-2.096 0.245,-2.775c0.164,-0.679 0.562,-1.323 1.195,-1.932c0.632,-0.609 1.721,-1.323 3.267,-2.143c1.545,-0.82 3.325,-1.569 5.339,-2.248c2.014,-0.679 4.215,-1.241 6.604,-1.686c2.388,-0.445 4.8,-0.668 7.236,-0.668c4.543,0 8.407,0.516 11.592,1.546c3.185,1.03 5.761,2.541 7.728,4.531c1.967,1.991 3.395,4.461 4.285,7.412c0.89,2.951 1.335,6.393 1.335,10.327l0,42.644Zm-11.522,-28.874l-9.905,0c-3.185,0 -5.949,0.269 -8.29,0.808c-2.342,0.539 -4.286,1.335 -5.832,2.389c-1.545,1.054 -2.681,2.318 -3.407,3.793c-0.726,1.476 -1.089,3.174 -1.089,5.094c0,3.278 1.042,5.889 3.127,7.833c2.084,1.944 4.999,2.916 8.746,2.916c3.044,0 5.866,-0.773 8.466,-2.319c2.599,-1.545 5.327,-3.91 8.184,-7.095l0,-13.419Z" style="fill:#fff;fill-rule:nonzero;"/><path d="M1135.18,120.479c0,1.03 -0.023,1.897 -0.07,2.599c-0.047,0.703 -0.14,1.253 -0.281,1.651c-0.14,0.398 -0.316,0.703 -0.527,0.913c-0.211,0.211 -0.503,0.317 -0.878,0.317c-0.375,0 -0.831,-0.106 -1.37,-0.317c-0.539,-0.21 -1.147,-0.421 -1.827,-0.632c-0.679,-0.211 -1.44,-0.41 -2.283,-0.597c-0.843,-0.187 -1.756,-0.281 -2.74,-0.281c-1.171,0 -2.318,0.234 -3.442,0.703c-1.124,0.468 -2.307,1.241 -3.548,2.318c-1.241,1.077 -2.541,2.506 -3.899,4.285c-1.358,1.78 -2.857,3.958 -4.496,6.534l0,41.59c0,0.375 -0.094,0.691 -0.281,0.949c-0.188,0.257 -0.492,0.48 -0.914,0.667c-0.421,0.187 -1.007,0.328 -1.756,0.422c-0.749,0.093 -1.709,0.14 -2.88,0.14c-1.124,0 -2.061,-0.047 -2.811,-0.14c-0.749,-0.094 -1.346,-0.235 -1.791,-0.422c-0.445,-0.187 -0.749,-0.41 -0.913,-0.667c-0.164,-0.258 -0.246,-0.574 -0.246,-0.949l0,-63.228c0,-0.375 0.07,-0.691 0.211,-0.949c0.14,-0.257 0.421,-0.491 0.843,-0.702c0.421,-0.211 0.96,-0.351 1.615,-0.422c0.656,-0.07 1.523,-0.105 2.6,-0.105c1.03,0 1.885,0.035 2.564,0.105c0.679,0.071 1.206,0.211 1.581,0.422c0.375,0.211 0.644,0.445 0.808,0.702c0.164,0.258 0.246,0.574 0.246,0.949l0,9.203c1.733,-2.529 3.36,-4.59 4.882,-6.182c1.522,-1.593 2.963,-2.846 4.321,-3.759c1.358,-0.913 2.705,-1.545 4.039,-1.897c1.335,-0.351 2.682,-0.527 4.04,-0.527c0.609,0 1.3,0.036 2.073,0.106c0.772,0.07 1.58,0.199 2.423,0.386c0.843,0.188 1.604,0.398 2.284,0.632c0.679,0.235 1.159,0.469 1.44,0.703c0.281,0.234 0.468,0.457 0.562,0.667c0.093,0.211 0.175,0.48 0.246,0.808c0.07,0.328 0.117,0.808 0.14,1.441c0.024,0.632 0.035,1.487 0.035,2.564Z" style="fill:#fff;fill-rule:nonzero;"/><path d="M1200.45,145.208c0,1.827 -0.459,3.126 -1.376,3.899c-0.917,0.773 -1.964,1.159 -3.141,1.159l-41.64,0c0,3.513 0.353,6.675 1.059,9.485c0.706,2.81 1.882,5.222 3.53,7.236c1.647,2.014 3.789,3.559 6.424,4.637c2.636,1.077 5.86,1.615 9.672,1.615c3.012,0 5.694,-0.245 8.047,-0.737c2.354,-0.492 4.389,-1.042 6.107,-1.651c1.718,-0.609 3.13,-1.159 4.236,-1.651c1.106,-0.492 1.942,-0.738 2.507,-0.738c0.329,0 0.623,0.082 0.882,0.246c0.259,0.164 0.458,0.41 0.6,0.738c0.141,0.328 0.247,0.784 0.317,1.37c0.071,0.585 0.106,1.299 0.106,2.142c0,0.609 -0.023,1.136 -0.07,1.581c-0.047,0.445 -0.105,0.843 -0.175,1.194c-0.071,0.352 -0.188,0.668 -0.352,0.949c-0.164,0.281 -0.374,0.55 -0.632,0.808c-0.258,0.257 -1.019,0.679 -2.283,1.264c-1.265,0.586 -2.904,1.16 -4.918,1.722c-2.014,0.562 -4.344,1.065 -6.99,1.51c-2.647,0.445 -5.468,0.667 -8.466,0.667c-5.199,0 -9.753,-0.726 -13.664,-2.177c-3.911,-1.452 -7.201,-3.607 -9.871,-6.464c-2.67,-2.857 -4.683,-6.44 -6.042,-10.749c-1.358,-4.309 -2.037,-9.32 -2.037,-15.034c0,-5.433 0.702,-10.316 2.108,-14.648c1.405,-4.332 3.43,-8.009 6.077,-11.03c2.646,-3.021 5.842,-5.339 9.589,-6.955c3.747,-1.616 7.939,-2.424 12.576,-2.424c4.964,0 9.191,0.797 12.68,2.389c3.49,1.592 6.358,3.735 8.606,6.428c2.249,2.693 3.9,5.855 4.953,9.485c1.054,3.629 1.581,7.505 1.581,11.627l0,2.107Zm-11.662,-3.442c0.14,-6.089 -1.214,-10.866 -4.065,-14.332c-2.85,-3.466 -7.079,-5.199 -12.687,-5.199c-2.875,0 -5.396,0.539 -7.564,1.616c-2.167,1.077 -3.982,2.506 -5.443,4.285c-1.461,1.78 -2.592,3.853 -3.393,6.218c-0.801,2.365 -1.248,4.836 -1.343,7.412l34.495,0Z" style="fill:#fff;fill-rule:nonzero;"/><path d="M379.752,276.089c0,0.493 -0.016,0.924 -0.047,1.294c-0.03,0.369 -0.084,0.693 -0.161,0.97c-0.077,0.277 -0.177,0.524 -0.301,0.739c-0.123,0.216 -0.338,0.478 -0.646,0.786c-0.308,0.308 -0.955,0.778 -1.941,1.409c-0.986,0.631 -2.21,1.247 -3.673,1.848c-1.463,0.601 -3.142,1.109 -5.036,1.525c-1.894,0.416 -3.966,0.623 -6.214,0.623c-3.881,0 -7.385,-0.646 -10.511,-1.94c-3.127,-1.294 -5.791,-3.203 -7.993,-5.729c-2.203,-2.526 -3.897,-5.645 -5.083,-9.356c-1.185,-3.712 -1.778,-7.985 -1.778,-12.821c0,-4.959 0.639,-9.379 1.917,-13.26c1.278,-3.881 3.072,-7.169 5.383,-9.865c2.31,-2.695 5.074,-4.751 8.293,-6.168c3.219,-1.417 6.784,-2.125 10.696,-2.125c1.725,0 3.403,0.162 5.036,0.485c1.632,0.324 3.142,0.732 4.528,1.225c1.386,0.492 2.618,1.062 3.696,1.709c1.078,0.647 1.825,1.178 2.241,1.594c0.416,0.416 0.685,0.732 0.808,0.947c0.123,0.216 0.224,0.47 0.301,0.763c0.077,0.292 0.138,0.639 0.184,1.039c0.047,0.4 0.07,0.878 0.07,1.432c0,0.616 -0.031,1.14 -0.093,1.571c-0.062,0.431 -0.155,0.793 -0.279,1.086c-0.124,0.293 -0.271,0.508 -0.441,0.647c-0.171,0.138 -0.38,0.208 -0.628,0.208c-0.433,0 -1.036,-0.301 -1.811,-0.901c-0.774,-0.601 -1.773,-1.263 -2.996,-1.987c-1.223,-0.724 -2.71,-1.386 -4.459,-1.987c-1.749,-0.6 -3.847,-0.901 -6.294,-0.901c-2.663,0 -5.086,0.532 -7.269,1.594c-2.183,1.063 -4.049,2.626 -5.597,4.69c-1.549,2.064 -2.748,4.582 -3.6,7.554c-0.852,2.972 -1.278,6.368 -1.278,10.188c0,3.788 0.411,7.138 1.231,10.049c0.821,2.91 1.998,5.344 3.53,7.3c1.533,1.956 3.415,3.434 5.644,4.435c2.23,1.001 4.753,1.502 7.571,1.502c2.384,0 4.467,-0.293 6.247,-0.878c1.781,-0.585 3.298,-1.24 4.552,-1.964c1.254,-0.724 2.283,-1.378 3.089,-1.963c0.805,-0.586 1.44,-0.878 1.904,-0.878c0.217,0 0.403,0.046 0.558,0.138c0.154,0.093 0.278,0.27 0.371,0.532c0.093,0.262 0.163,0.623 0.209,1.085c0.046,0.462 0.07,1.048 0.07,1.756Z" style="fill:#fff;fill-rule:nonzero;"/><path d="M428.079,262.136c0,3.388 -0.446,6.507 -1.339,9.356c-0.894,2.849 -2.226,5.306 -3.997,7.369c-1.771,2.064 -3.989,3.673 -6.653,4.828c-2.664,1.156 -5.752,1.733 -9.264,1.733c-3.419,0 -6.399,-0.508 -8.94,-1.525c-2.541,-1.016 -4.659,-2.495 -6.353,-4.435c-1.694,-1.941 -2.957,-4.297 -3.788,-7.069c-0.832,-2.772 -1.248,-5.914 -1.248,-9.425c0,-3.388 0.439,-6.507 1.317,-9.356c0.878,-2.849 2.202,-5.306 3.973,-7.37c1.772,-2.063 3.982,-3.665 6.63,-4.805c2.649,-1.139 5.745,-1.709 9.287,-1.709c3.419,0 6.399,0.508 8.94,1.525c2.541,1.016 4.659,2.494 6.353,4.435c1.694,1.94 2.965,4.297 3.812,7.069c0.847,2.772 1.27,5.898 1.27,9.379Zm-7.9,0.508c0,-2.248 -0.21,-4.374 -0.63,-6.376c-0.419,-2.002 -1.111,-3.757 -2.074,-5.267c-0.964,-1.509 -2.269,-2.703 -3.917,-3.58c-1.647,-0.878 -3.698,-1.317 -6.153,-1.317c-2.269,0 -4.219,0.4 -5.851,1.201c-1.632,0.801 -2.976,1.933 -4.033,3.396c-1.056,1.463 -1.841,3.196 -2.354,5.198c-0.513,2.002 -0.769,4.189 -0.769,6.56c0,2.28 0.21,4.42 0.629,6.423c0.42,2.002 1.119,3.75 2.098,5.244c0.979,1.493 2.292,2.679 3.939,3.557c1.648,0.878 3.699,1.317 6.154,1.317c2.238,0 4.181,-0.401 5.828,-1.201c1.647,-0.801 2.999,-1.925 4.056,-3.373c1.056,-1.448 1.833,-3.173 2.331,-5.175c0.497,-2.002 0.746,-4.204 0.746,-6.607Z" style="fill:#fff;fill-rule:nonzero;"/><path d="M500.987,283.389c0,0.247 -0.062,0.454 -0.185,0.624c-0.123,0.169 -0.323,0.316 -0.601,0.439c-0.277,0.123 -0.662,0.215 -1.155,0.277c-0.493,0.062 -1.109,0.092 -1.848,0.092c-0.77,0 -1.401,-0.03 -1.894,-0.092c-0.493,-0.062 -0.886,-0.154 -1.178,-0.277c-0.293,-0.123 -0.501,-0.27 -0.624,-0.439c-0.123,-0.17 -0.185,-0.377 -0.185,-0.624l0,-25.273c0,-1.755 -0.154,-3.357 -0.462,-4.805c-0.308,-1.447 -0.801,-2.695 -1.478,-3.742c-0.678,-1.047 -1.54,-1.848 -2.588,-2.403c-1.047,-0.554 -2.279,-0.831 -3.696,-0.831c-1.756,0 -3.519,0.677 -5.29,2.033c-1.771,1.355 -3.719,3.342 -5.845,5.96l0,29.061c0,0.247 -0.061,0.454 -0.184,0.624c-0.124,0.169 -0.332,0.316 -0.624,0.439c-0.293,0.123 -0.685,0.215 -1.178,0.277c-0.493,0.062 -1.109,0.092 -1.848,0.092c-0.709,0 -1.317,-0.03 -1.825,-0.092c-0.509,-0.062 -0.909,-0.154 -1.202,-0.277c-0.292,-0.123 -0.492,-0.27 -0.6,-0.439c-0.108,-0.17 -0.162,-0.377 -0.162,-0.624l0,-25.273c0,-1.755 -0.169,-3.357 -0.508,-4.805c-0.339,-1.447 -0.847,-2.695 -1.525,-3.742c-0.678,-1.047 -1.532,-1.848 -2.564,-2.403c-1.032,-0.554 -2.256,-0.831 -3.673,-0.831c-1.756,0 -3.527,0.677 -5.314,2.033c-1.786,1.355 -3.727,3.342 -5.821,5.96l0,29.061c0,0.247 -0.062,0.454 -0.185,0.624c-0.123,0.169 -0.323,0.316 -0.6,0.439c-0.278,0.123 -0.663,0.215 -1.156,0.277c-0.492,0.062 -1.124,0.092 -1.894,0.092c-0.739,0 -1.355,-0.03 -1.848,-0.092c-0.493,-0.062 -0.885,-0.154 -1.178,-0.277c-0.293,-0.123 -0.493,-0.27 -0.601,-0.439c-0.108,-0.17 -0.161,-0.377 -0.161,-0.624l0,-41.582c0,-0.246 0.046,-0.454 0.138,-0.624c0.093,-0.169 0.277,-0.323 0.555,-0.462c0.277,-0.138 0.631,-0.231 1.062,-0.277c0.432,-0.046 1.001,-0.069 1.71,-0.069c0.677,0 1.24,0.023 1.686,0.069c0.447,0.046 0.793,0.139 1.04,0.277c0.246,0.139 0.423,0.293 0.531,0.462c0.108,0.17 0.162,0.378 0.162,0.624l0,5.498c2.341,-2.618 4.612,-4.535 6.815,-5.752c2.202,-1.217 4.427,-1.825 6.676,-1.825c1.725,0 3.273,0.2 4.643,0.601c1.371,0.4 2.58,0.962 3.627,1.686c1.047,0.724 1.941,1.586 2.68,2.587c0.739,1.001 1.355,2.118 1.848,3.35c1.386,-1.509 2.703,-2.788 3.95,-3.835c1.248,-1.047 2.449,-1.894 3.604,-2.541c1.155,-0.647 2.279,-1.117 3.373,-1.409c1.093,-0.293 2.194,-0.439 3.303,-0.439c2.68,0 4.929,0.47 6.746,1.409c1.817,0.939 3.288,2.195 4.412,3.766c1.124,1.57 1.925,3.411 2.403,5.521c0.477,2.11 0.716,4.335 0.716,6.676l0,26.289Z" style="fill:#fff;fill-rule:nonzero;"/><path d="M576.574,283.389c0,0.247 -0.062,0.454 -0.185,0.624c-0.123,0.169 -0.323,0.316 -0.601,0.439c-0.277,0.123 -0.662,0.215 -1.155,0.277c-0.492,0.062 -1.108,0.092 -1.848,0.092c-0.77,0 -1.401,-0.03 -1.894,-0.092c-0.493,-0.062 -0.886,-0.154 -1.178,-0.277c-0.293,-0.123 -0.501,-0.27 -0.624,-0.439c-0.123,-0.17 -0.185,-0.377 -0.185,-0.624l0,-25.273c0,-1.755 -0.154,-3.357 -0.462,-4.805c-0.308,-1.447 -0.801,-2.695 -1.478,-3.742c-0.678,-1.047 -1.54,-1.848 -2.588,-2.403c-1.047,-0.554 -2.279,-0.831 -3.696,-0.831c-1.755,0 -3.519,0.677 -5.29,2.033c-1.771,1.355 -3.719,3.342 -5.844,5.96l0,29.061c0,0.247 -0.062,0.454 -0.185,0.624c-0.124,0.169 -0.331,0.316 -0.624,0.439c-0.293,0.123 -0.685,0.215 -1.178,0.277c-0.493,0.062 -1.109,0.092 -1.848,0.092c-0.709,0 -1.317,-0.03 -1.825,-0.092c-0.509,-0.062 -0.909,-0.154 -1.202,-0.277c-0.292,-0.123 -0.492,-0.27 -0.6,-0.439c-0.108,-0.17 -0.162,-0.377 -0.162,-0.624l0,-25.273c0,-1.755 -0.169,-3.357 -0.508,-4.805c-0.339,-1.447 -0.847,-2.695 -1.525,-3.742c-0.677,-1.047 -1.532,-1.848 -2.564,-2.403c-1.032,-0.554 -2.256,-0.831 -3.673,-0.831c-1.756,0 -3.527,0.677 -5.313,2.033c-1.787,1.355 -3.727,3.342 -5.822,5.96l0,29.061c0,0.247 -0.061,0.454 -0.185,0.624c-0.123,0.169 -0.323,0.316 -0.6,0.439c-0.278,0.123 -0.663,0.215 -1.155,0.277c-0.493,0.062 -1.125,0.092 -1.895,0.092c-0.739,0 -1.355,-0.03 -1.848,-0.092c-0.493,-0.062 -0.885,-0.154 -1.178,-0.277c-0.293,-0.123 -0.493,-0.27 -0.601,-0.439c-0.107,-0.17 -0.161,-0.377 -0.161,-0.624l0,-41.582c0,-0.246 0.046,-0.454 0.138,-0.624c0.093,-0.169 0.278,-0.323 0.555,-0.462c0.277,-0.138 0.631,-0.231 1.062,-0.277c0.432,-0.046 1.001,-0.069 1.71,-0.069c0.678,0 1.24,0.023 1.686,0.069c0.447,0.046 0.793,0.139 1.04,0.277c0.246,0.139 0.423,0.293 0.531,0.462c0.108,0.17 0.162,0.378 0.162,0.624l0,5.498c2.341,-2.618 4.612,-4.535 6.815,-5.752c2.202,-1.217 4.427,-1.825 6.676,-1.825c1.725,0 3.273,0.2 4.643,0.601c1.371,0.4 2.58,0.962 3.627,1.686c1.047,0.724 1.941,1.586 2.68,2.587c0.739,1.001 1.355,2.118 1.848,3.35c1.386,-1.509 2.703,-2.788 3.95,-3.835c1.248,-1.047 2.449,-1.894 3.604,-2.541c1.155,-0.647 2.279,-1.117 3.373,-1.409c1.093,-0.293 2.195,-0.439 3.303,-0.439c2.68,0 4.929,0.47 6.746,1.409c1.817,0.939 3.288,2.195 4.412,3.766c1.125,1.57 1.925,3.411 2.403,5.521c0.477,2.11 0.716,4.335 0.716,6.676l0,26.289Z" style="fill:#fff;fill-rule:nonzero;"/><path d="M626.103,283.389c0,0.247 -0.054,0.454 -0.162,0.624c-0.108,0.169 -0.3,0.316 -0.577,0.439c-0.278,0.123 -0.639,0.215 -1.086,0.277c-0.447,0.062 -0.993,0.092 -1.64,0.092c-0.709,0 -1.286,-0.03 -1.733,-0.092c-0.447,-0.062 -0.801,-0.154 -1.063,-0.277c-0.261,-0.123 -0.438,-0.27 -0.531,-0.439c-0.092,-0.17 -0.138,-0.377 -0.138,-0.624l0,-5.498c-2.372,2.618 -4.713,4.528 -7.023,5.729c-2.31,1.201 -4.651,1.802 -7.023,1.802c-2.772,0 -5.105,-0.462 -7,-1.386c-1.894,-0.924 -3.426,-2.179 -4.597,-3.766c-1.17,-1.586 -2.01,-3.434 -2.518,-5.544c-0.508,-2.11 -0.762,-4.674 -0.762,-7.693l0,-25.226c0,-0.246 0.054,-0.454 0.162,-0.624c0.107,-0.169 0.315,-0.323 0.623,-0.462c0.308,-0.138 0.709,-0.231 1.202,-0.277c0.492,-0.046 1.108,-0.069 1.848,-0.069c0.739,0 1.355,0.023 1.848,0.069c0.493,0.046 0.885,0.139 1.178,0.277c0.292,0.139 0.5,0.293 0.624,0.462c0.123,0.17 0.184,0.378 0.184,0.624l0,24.21c0,2.433 0.178,4.382 0.532,5.845c0.354,1.463 0.893,2.71 1.617,3.742c0.724,1.032 1.64,1.833 2.749,2.403c1.109,0.569 2.402,0.854 3.881,0.854c1.91,0 3.812,-0.677 5.706,-2.033c1.894,-1.355 3.904,-3.342 6.029,-5.96l0,-29.061c0,-0.246 0.054,-0.454 0.162,-0.624c0.108,-0.169 0.316,-0.323 0.624,-0.462c0.308,-0.138 0.7,-0.231 1.178,-0.277c0.477,-0.046 1.101,-0.069 1.871,-0.069c0.739,0 1.355,0.023 1.848,0.069c0.493,0.046 0.878,0.139 1.155,0.277c0.277,0.139 0.485,0.293 0.624,0.462c0.139,0.17 0.208,0.378 0.208,0.624l0,41.582Z" style="fill:#fff;fill-rule:nonzero;"/><path d="M676.001,283.389c0,0.247 -0.061,0.454 -0.184,0.624c-0.124,0.169 -0.324,0.316 -0.601,0.439c-0.277,0.123 -0.662,0.215 -1.155,0.277c-0.493,0.062 -1.109,0.092 -1.848,0.092c-0.77,0 -1.402,-0.03 -1.894,-0.092c-0.493,-0.062 -0.878,-0.154 -1.155,-0.277c-0.278,-0.123 -0.478,-0.27 -0.601,-0.439c-0.123,-0.17 -0.185,-0.377 -0.185,-0.624l0,-24.349c0,-2.371 -0.185,-4.281 -0.554,-5.729c-0.37,-1.447 -0.909,-2.695 -1.617,-3.742c-0.709,-1.047 -1.625,-1.848 -2.749,-2.403c-1.125,-0.554 -2.426,-0.831 -3.905,-0.831c-1.909,0 -3.819,0.677 -5.729,2.033c-1.909,1.355 -3.911,3.342 -6.006,5.96l0,29.061c0,0.247 -0.062,0.454 -0.185,0.624c-0.123,0.169 -0.323,0.316 -0.6,0.439c-0.278,0.123 -0.663,0.215 -1.155,0.277c-0.493,0.062 -1.125,0.092 -1.895,0.092c-0.739,0 -1.355,-0.03 -1.848,-0.092c-0.493,-0.062 -0.885,-0.154 -1.178,-0.277c-0.293,-0.123 -0.493,-0.27 -0.601,-0.439c-0.107,-0.17 -0.161,-0.377 -0.161,-0.624l0,-41.582c0,-0.246 0.046,-0.454 0.138,-0.624c0.093,-0.169 0.277,-0.323 0.555,-0.462c0.277,-0.138 0.631,-0.231 1.062,-0.277c0.432,-0.046 1.001,-0.069 1.71,-0.069c0.677,0 1.24,0.023 1.686,0.069c0.447,0.046 0.793,0.139 1.04,0.277c0.246,0.139 0.423,0.293 0.531,0.462c0.108,0.17 0.162,0.378 0.162,0.624l0,5.498c2.341,-2.618 4.674,-4.535 6.999,-5.752c2.326,-1.217 4.675,-1.825 7.046,-1.825c2.772,0 5.106,0.47 7,1.409c1.894,0.939 3.427,2.195 4.597,3.766c1.171,1.57 2.01,3.411 2.518,5.521c0.508,2.11 0.762,4.643 0.762,7.6l0,25.365Z" style="fill:#fff;fill-rule:nonzero;"/><path d="M697.532,283.389c0,0.247 -0.062,0.454 -0.185,0.624c-0.123,0.169 -0.323,0.316 -0.601,0.439c-0.277,0.123 -0.662,0.215 -1.155,0.277c-0.493,0.062 -1.124,0.092 -1.894,0.092c-0.739,0 -1.355,-0.03 -1.848,-0.092c-0.493,-0.062 -0.886,-0.154 -1.178,-0.277c-0.293,-0.123 -0.493,-0.27 -0.601,-0.439c-0.108,-0.17 -0.162,-0.377 -0.162,-0.624l0,-41.582c0,-0.216 0.054,-0.416 0.162,-0.601c0.108,-0.184 0.308,-0.338 0.601,-0.462c0.292,-0.123 0.685,-0.215 1.178,-0.277c0.493,-0.061 1.109,-0.092 1.848,-0.092c0.77,0 1.401,0.031 1.894,0.092c0.493,0.062 0.878,0.154 1.155,0.277c0.278,0.124 0.478,0.278 0.601,0.462c0.123,0.185 0.185,0.385 0.185,0.601l0,41.582Zm0.878,-55.628c0,1.787 -0.339,3.004 -1.017,3.65c-0.677,0.647 -1.925,0.971 -3.742,0.971c-1.787,0 -3.011,-0.316 -3.673,-0.947c-0.663,-0.632 -0.994,-1.825 -0.994,-3.581c0,-1.787 0.339,-3.003 1.017,-3.65c0.677,-0.647 1.925,-0.97 3.742,-0.97c1.787,0 3.011,0.315 3.673,0.947c0.663,0.631 0.994,1.825 0.994,3.58Z" style="fill:#fff;fill-rule:nonzero;"/><path d="M733.246,280.34c0,0.893 -0.061,1.601 -0.185,2.125c-0.123,0.524 -0.308,0.909 -0.554,1.155c-0.246,0.247 -0.616,0.478 -1.109,0.693c-0.493,0.216 -1.055,0.393 -1.686,0.532c-0.632,0.138 -1.302,0.254 -2.01,0.346c-0.708,0.092 -1.417,0.139 -2.125,0.139c-2.156,0 -4.005,-0.285 -5.545,-0.855c-1.54,-0.57 -2.803,-1.432 -3.788,-2.587c-0.986,-1.155 -1.702,-2.619 -2.149,-4.39c-0.446,-1.771 -0.67,-3.858 -0.67,-6.26l0,-24.303l-5.821,0c-0.462,0 -0.832,-0.246 -1.109,-0.739c-0.277,-0.493 -0.416,-1.293 -0.416,-2.402c0,-0.586 0.039,-1.078 0.116,-1.479c0.077,-0.4 0.177,-0.731 0.3,-0.993c0.123,-0.262 0.285,-0.447 0.485,-0.555c0.2,-0.107 0.424,-0.161 0.67,-0.161l5.775,0l0,-9.888c0,-0.215 0.054,-0.415 0.162,-0.6c0.108,-0.185 0.308,-0.347 0.601,-0.485c0.292,-0.139 0.685,-0.239 1.178,-0.301c0.493,-0.061 1.109,-0.092 1.848,-0.092c0.77,0 1.401,0.031 1.894,0.092c0.493,0.062 0.878,0.162 1.155,0.301c0.278,0.138 0.478,0.3 0.601,0.485c0.123,0.185 0.185,0.385 0.185,0.6l0,9.888l10.673,0c0.246,0 0.462,0.054 0.646,0.161c0.185,0.108 0.347,0.293 0.486,0.555c0.138,0.262 0.238,0.593 0.3,0.993c0.061,0.401 0.092,0.893 0.092,1.479c0,1.109 -0.138,1.909 -0.416,2.402c-0.277,0.493 -0.646,0.739 -1.108,0.739l-10.673,0l0,23.194c0,2.865 0.423,5.028 1.27,6.491c0.847,1.464 2.364,2.195 4.551,2.195c0.709,0 1.34,-0.069 1.895,-0.208c0.554,-0.138 1.047,-0.285 1.478,-0.439c0.431,-0.154 0.801,-0.3 1.109,-0.439c0.308,-0.138 0.585,-0.208 0.832,-0.208c0.154,0 0.3,0.039 0.439,0.116c0.138,0.077 0.246,0.223 0.323,0.439c0.077,0.215 0.146,0.508 0.208,0.878c0.061,0.369 0.092,0.831 0.092,1.386Z" style="fill:#fff;fill-rule:nonzero;"/><path d="M762.261,284.544l-5.544,15.293c-0.185,0.493 -0.654,0.87 -1.409,1.132c-0.755,0.262 -1.902,0.393 -3.442,0.393c-0.801,0 -1.448,-0.039 -1.941,-0.116c-0.493,-0.077 -0.87,-0.208 -1.132,-0.392c-0.261,-0.185 -0.408,-0.432 -0.439,-0.74c-0.03,-0.308 0.047,-0.677 0.231,-1.108l5.73,-14.462c-0.278,-0.123 -0.539,-0.323 -0.786,-0.6c-0.246,-0.278 -0.416,-0.57 -0.508,-0.878l-14.831,-39.734c-0.247,-0.647 -0.37,-1.155 -0.37,-1.525c0,-0.37 0.123,-0.662 0.37,-0.878c0.246,-0.215 0.647,-0.362 1.201,-0.439c0.555,-0.077 1.294,-0.115 2.218,-0.115c0.924,0 1.648,0.023 2.171,0.069c0.524,0.046 0.94,0.131 1.248,0.254c0.308,0.123 0.531,0.3 0.67,0.531c0.138,0.231 0.285,0.547 0.439,0.948l11.874,33.358l0.138,0l11.459,-33.543c0.184,-0.585 0.408,-0.963 0.669,-1.132c0.262,-0.17 0.655,-0.293 1.179,-0.37c0.523,-0.077 1.278,-0.115 2.264,-0.115c0.862,0 1.57,0.038 2.125,0.115c0.554,0.077 0.962,0.224 1.224,0.439c0.262,0.216 0.393,0.508 0.393,0.878c0,0.37 -0.092,0.832 -0.277,1.386l-14.924,41.351Z" style="fill:#fff;fill-rule:nonzero;"/><path d="M840.528,267.773c0,2.803 -0.516,5.298 -1.548,7.485c-1.031,2.186 -2.464,4.042 -4.296,5.567c-1.833,1.525 -3.989,2.672 -6.469,3.442c-2.479,0.77 -5.151,1.155 -8.016,1.155c-2.002,0 -3.858,-0.169 -5.567,-0.508c-1.71,-0.339 -3.234,-0.755 -4.574,-1.248c-1.34,-0.492 -2.464,-1.001 -3.373,-1.524c-0.909,-0.524 -1.54,-0.971 -1.894,-1.34c-0.355,-0.37 -0.616,-0.84 -0.786,-1.409c-0.169,-0.57 -0.254,-1.333 -0.254,-2.287c0,-0.678 0.031,-1.24 0.093,-1.687c0.061,-0.446 0.154,-0.808 0.277,-1.086c0.123,-0.277 0.277,-0.469 0.462,-0.577c0.185,-0.108 0.4,-0.162 0.647,-0.162c0.431,0 1.039,0.262 1.825,0.786c0.785,0.523 1.794,1.093 3.026,1.709c1.232,0.616 2.718,1.194 4.458,1.733c1.741,0.539 3.75,0.808 6.03,0.808c1.725,0 3.303,-0.231 4.736,-0.693c1.432,-0.462 2.664,-1.116 3.696,-1.963c1.032,-0.847 1.825,-1.887 2.379,-3.119c0.555,-1.232 0.832,-2.634 0.832,-4.204c0,-1.695 -0.385,-3.142 -1.155,-4.343c-0.77,-1.202 -1.787,-2.257 -3.05,-3.165c-1.262,-0.909 -2.702,-1.741 -4.32,-2.495c-1.617,-0.755 -3.272,-1.525 -4.966,-2.31c-1.694,-0.786 -3.342,-1.656 -4.944,-2.611c-1.602,-0.955 -3.034,-2.079 -4.297,-3.373c-1.263,-1.293 -2.287,-2.81 -3.072,-4.551c-0.786,-1.74 -1.178,-3.827 -1.178,-6.26c0,-2.495 0.454,-4.72 1.363,-6.676c0.908,-1.956 2.171,-3.596 3.788,-4.921c1.617,-1.324 3.542,-2.333 5.775,-3.026c2.234,-0.693 4.644,-1.04 7.231,-1.04c1.325,0 2.657,0.116 3.997,0.347c1.34,0.231 2.602,0.539 3.788,0.924c1.186,0.385 2.241,0.816 3.165,1.294c0.924,0.477 1.532,0.862 1.825,1.155c0.293,0.292 0.485,0.523 0.578,0.693c0.092,0.169 0.169,0.385 0.231,0.647c0.061,0.261 0.107,0.577 0.138,0.947c0.031,0.369 0.046,0.847 0.046,1.432c0,0.554 -0.023,1.047 -0.069,1.479c-0.046,0.431 -0.115,0.793 -0.208,1.085c-0.092,0.293 -0.223,0.508 -0.392,0.647c-0.17,0.139 -0.362,0.208 -0.578,0.208c-0.339,0 -0.87,-0.216 -1.594,-0.647c-0.724,-0.431 -1.609,-0.916 -2.657,-1.455c-1.047,-0.539 -2.287,-1.032 -3.719,-1.479c-1.432,-0.446 -3.042,-0.67 -4.828,-0.67c-1.663,0 -3.111,0.224 -4.343,0.67c-1.232,0.447 -2.249,1.04 -3.049,1.779c-0.801,0.739 -1.402,1.617 -1.802,2.634c-0.401,1.016 -0.601,2.094 -0.601,3.234c0,1.663 0.385,3.095 1.155,4.297c0.77,1.201 1.794,2.264 3.073,3.188c1.278,0.924 2.733,1.771 4.366,2.541c1.632,0.77 3.295,1.548 4.99,2.333c1.694,0.785 3.357,1.648 4.989,2.587c1.633,0.94 3.088,2.049 4.367,3.327c1.278,1.278 2.31,2.787 3.095,4.528c0.786,1.74 1.178,3.796 1.178,6.168Z" style="fill:#fff;fill-rule:nonzero;"/><path d="M886.638,283.389c0,0.247 -0.054,0.454 -0.161,0.624c-0.108,0.169 -0.301,0.316 -0.578,0.439c-0.277,0.123 -0.639,0.215 -1.086,0.277c-0.446,0.062 -0.993,0.092 -1.64,0.092c-0.708,0 -1.286,-0.03 -1.733,-0.092c-0.446,-0.062 -0.8,-0.154 -1.062,-0.277c-0.262,-0.123 -0.439,-0.27 -0.532,-0.439c-0.092,-0.17 -0.138,-0.377 -0.138,-0.624l0,-5.498c-2.372,2.618 -4.713,4.528 -7.023,5.729c-2.31,1.201 -4.651,1.802 -7.023,1.802c-2.772,0 -5.105,-0.462 -6.999,-1.386c-1.895,-0.924 -3.427,-2.179 -4.597,-3.766c-1.171,-1.586 -2.01,-3.434 -2.519,-5.544c-0.508,-2.11 -0.762,-4.674 -0.762,-7.693l0,-25.226c0,-0.246 0.054,-0.454 0.162,-0.624c0.108,-0.169 0.316,-0.323 0.624,-0.462c0.308,-0.138 0.708,-0.231 1.201,-0.277c0.493,-0.046 1.109,-0.069 1.848,-0.069c0.739,0 1.355,0.023 1.848,0.069c0.493,0.046 0.886,0.139 1.178,0.277c0.293,0.139 0.501,0.293 0.624,0.462c0.123,0.17 0.185,0.378 0.185,0.624l0,24.21c0,2.433 0.177,4.382 0.531,5.845c0.354,1.463 0.893,2.71 1.617,3.742c0.724,1.032 1.64,1.833 2.749,2.403c1.109,0.569 2.403,0.854 3.881,0.854c1.91,0 3.812,-0.677 5.706,-2.033c1.895,-1.355 3.904,-3.342 6.03,-5.96l0,-29.061c0,-0.246 0.054,-0.454 0.161,-0.624c0.108,-0.169 0.316,-0.323 0.624,-0.462c0.308,-0.138 0.701,-0.231 1.178,-0.277c0.478,-0.046 1.101,-0.069 1.871,-0.069c0.74,0 1.356,0.023 1.849,0.069c0.492,0.046 0.877,0.139 1.155,0.277c0.277,0.139 0.485,0.293 0.623,0.462c0.139,0.17 0.208,0.378 0.208,0.624l0,41.582Z" style="fill:#fff;fill-rule:nonzero;"/><path d="M938.986,261.951c0,3.635 -0.393,6.9 -1.179,9.795c-0.785,2.895 -1.94,5.352 -3.465,7.369c-1.524,2.018 -3.411,3.573 -5.66,4.667c-2.248,1.093 -4.82,1.64 -7.715,1.64c-1.232,0 -2.372,-0.123 -3.419,-0.37c-1.048,-0.246 -2.072,-0.631 -3.073,-1.155c-1.001,-0.523 -1.994,-1.185 -2.98,-1.986c-0.986,-0.801 -2.033,-1.741 -3.142,-2.819l0,20.791c0,0.247 -0.061,0.462 -0.184,0.647c-0.124,0.185 -0.324,0.339 -0.601,0.462c-0.277,0.123 -0.662,0.216 -1.155,0.277c-0.493,0.062 -1.124,0.093 -1.894,0.093c-0.74,0 -1.356,-0.031 -1.849,-0.093c-0.492,-0.061 -0.885,-0.154 -1.178,-0.277c-0.292,-0.123 -0.493,-0.277 -0.6,-0.462c-0.108,-0.185 -0.162,-0.4 -0.162,-0.647l0,-58.076c0,-0.277 0.046,-0.501 0.139,-0.67c0.092,-0.169 0.277,-0.316 0.554,-0.439c0.277,-0.123 0.631,-0.208 1.063,-0.254c0.431,-0.046 0.954,-0.069 1.571,-0.069c0.646,0 1.178,0.023 1.594,0.069c0.415,0.046 0.762,0.131 1.039,0.254c0.277,0.123 0.47,0.27 0.578,0.439c0.107,0.169 0.161,0.393 0.161,0.67l0,5.59c1.263,-1.293 2.48,-2.417 3.65,-3.372c1.171,-0.955 2.349,-1.748 3.535,-2.38c1.186,-0.631 2.402,-1.109 3.65,-1.432c1.247,-0.323 2.564,-0.485 3.95,-0.485c3.019,0 5.591,0.585 7.716,1.756c2.125,1.17 3.858,2.772 5.198,4.805c1.34,2.033 2.317,4.397 2.933,7.092c0.617,2.695 0.925,5.552 0.925,8.57Zm-7.901,0.878c0,-2.125 -0.163,-4.181 -0.488,-6.168c-0.325,-1.987 -0.883,-3.75 -1.673,-5.29c-0.791,-1.54 -1.852,-2.772 -3.185,-3.696c-1.332,-0.924 -2.99,-1.386 -4.974,-1.386c-0.992,0 -1.968,0.146 -2.929,0.439c-0.96,0.292 -1.936,0.754 -2.928,1.386c-0.992,0.631 -2.03,1.463 -3.115,2.495c-1.085,1.031 -2.231,2.302 -3.44,3.811l0,16.541c2.108,2.556 4.107,4.512 5.997,5.867c1.891,1.356 3.874,2.033 5.95,2.033c1.922,0 3.572,-0.462 4.951,-1.386c1.379,-0.924 2.495,-2.156 3.347,-3.696c0.852,-1.54 1.48,-3.265 1.883,-5.175c0.403,-1.909 0.604,-3.834 0.604,-5.775Z" style="fill:#fff;fill-rule:nonzero;"/><path d="M988.699,261.951c0,3.635 -0.392,6.9 -1.178,9.795c-0.785,2.895 -1.94,5.352 -3.465,7.369c-1.525,2.018 -3.411,3.573 -5.66,4.667c-2.248,1.093 -4.82,1.64 -7.716,1.64c-1.232,0 -2.371,-0.123 -3.419,-0.37c-1.047,-0.246 -2.071,-0.631 -3.072,-1.155c-1.001,-0.523 -1.994,-1.185 -2.98,-1.986c-0.986,-0.801 -2.033,-1.741 -3.142,-2.819l0,20.791c0,0.247 -0.061,0.462 -0.185,0.647c-0.123,0.185 -0.323,0.339 -0.6,0.462c-0.278,0.123 -0.663,0.216 -1.155,0.277c-0.493,0.062 -1.125,0.093 -1.895,0.093c-0.739,0 -1.355,-0.031 -1.848,-0.093c-0.493,-0.061 -0.885,-0.154 -1.178,-0.277c-0.293,-0.123 -0.493,-0.277 -0.601,-0.462c-0.107,-0.185 -0.161,-0.4 -0.161,-0.647l0,-58.076c0,-0.277 0.046,-0.501 0.138,-0.67c0.093,-0.169 0.278,-0.316 0.555,-0.439c0.277,-0.123 0.631,-0.208 1.062,-0.254c0.432,-0.046 0.955,-0.069 1.571,-0.069c0.647,0 1.178,0.023 1.594,0.069c0.416,0.046 0.763,0.131 1.04,0.254c0.277,0.123 0.47,0.27 0.577,0.439c0.108,0.169 0.162,0.393 0.162,0.67l0,5.59c1.263,-1.293 2.48,-2.417 3.65,-3.372c1.171,-0.955 2.349,-1.748 3.535,-2.38c1.185,-0.631 2.402,-1.109 3.65,-1.432c1.247,-0.323 2.564,-0.485 3.95,-0.485c3.018,0 5.59,0.585 7.716,1.756c2.125,1.17 3.858,2.772 5.197,4.805c1.34,2.033 2.318,4.397 2.934,7.092c0.616,2.695 0.924,5.552 0.924,8.57Zm-7.9,0.878c0,-2.125 -0.163,-4.181 -0.488,-6.168c-0.326,-1.987 -0.883,-3.75 -1.674,-5.29c-0.79,-1.54 -1.851,-2.772 -3.184,-3.696c-1.333,-0.924 -2.991,-1.386 -4.974,-1.386c-0.992,0 -1.968,0.146 -2.929,0.439c-0.96,0.292 -1.937,0.754 -2.928,1.386c-0.992,0.631 -2.03,1.463 -3.115,2.495c-1.085,1.031 -2.231,2.302 -3.44,3.811l0,16.541c2.108,2.556 4.107,4.512 5.997,5.867c1.891,1.356 3.874,2.033 5.95,2.033c1.921,0 3.571,-0.462 4.951,-1.386c1.379,-0.924 2.494,-2.156 3.347,-3.696c0.852,-1.54 1.48,-3.265 1.882,-5.175c0.403,-1.909 0.605,-3.834 0.605,-5.775Z" style="fill:#fff;fill-rule:nonzero;"/><path d="M1038.83,262.136c0,3.388 -0.447,6.507 -1.34,9.356c-0.893,2.849 -2.225,5.306 -3.996,7.369c-1.772,2.064 -3.989,3.673 -6.654,4.828c-2.664,1.156 -5.752,1.733 -9.263,1.733c-3.419,0 -6.399,-0.508 -8.94,-1.525c-2.541,-1.016 -4.659,-2.495 -6.353,-4.435c-1.694,-1.941 -2.957,-4.297 -3.789,-7.069c-0.831,-2.772 -1.247,-5.914 -1.247,-9.425c0,-3.388 0.439,-6.507 1.317,-9.356c0.877,-2.849 2.202,-5.306 3.973,-7.37c1.771,-2.063 3.981,-3.665 6.63,-4.805c2.649,-1.139 5.744,-1.709 9.287,-1.709c3.419,0 6.399,0.508 8.94,1.525c2.541,1.016 4.659,2.494 6.353,4.435c1.694,1.94 2.964,4.297 3.811,7.069c0.847,2.772 1.271,5.898 1.271,9.379Zm-7.901,0.508c0,-2.248 -0.21,-4.374 -0.629,-6.376c-0.42,-2.002 -1.111,-3.757 -2.075,-5.267c-0.963,-1.509 -2.269,-2.703 -3.916,-3.58c-1.647,-0.878 -3.698,-1.317 -6.154,-1.317c-2.269,0 -4.219,0.4 -5.851,1.201c-1.631,0.801 -2.976,1.933 -4.032,3.396c-1.057,1.463 -1.842,3.196 -2.354,5.198c-0.513,2.002 -0.77,4.189 -0.77,6.56c0,2.28 0.21,4.42 0.63,6.423c0.42,2.002 1.119,3.75 2.098,5.244c0.979,1.493 2.292,2.679 3.939,3.557c1.647,0.878 3.698,1.317 6.154,1.317c2.238,0 4.18,-0.401 5.827,-1.201c1.648,-0.801 3,-1.925 4.056,-3.373c1.057,-1.448 1.834,-3.173 2.331,-5.175c0.498,-2.002 0.746,-4.204 0.746,-6.607Z" style="fill:#fff;fill-rule:nonzero;"/><path d="M1074.36,244.533c0,0.678 -0.016,1.247 -0.047,1.709c-0.03,0.462 -0.092,0.824 -0.184,1.086c-0.093,0.262 -0.208,0.462 -0.347,0.601c-0.139,0.138 -0.331,0.208 -0.577,0.208c-0.247,0 -0.547,-0.07 -0.901,-0.208c-0.355,-0.139 -0.755,-0.277 -1.202,-0.416c-0.446,-0.139 -0.947,-0.27 -1.501,-0.393c-0.555,-0.123 -1.155,-0.185 -1.802,-0.185c-0.77,0 -1.525,0.154 -2.264,0.462c-0.739,0.308 -1.517,0.817 -2.333,1.525c-0.817,0.709 -1.671,1.648 -2.565,2.818c-0.893,1.171 -1.878,2.603 -2.956,4.297l0,27.352c0,0.247 -0.062,0.454 -0.185,0.624c-0.124,0.169 -0.324,0.316 -0.601,0.439c-0.277,0.123 -0.662,0.215 -1.155,0.277c-0.493,0.062 -1.124,0.092 -1.894,0.092c-0.74,0 -1.356,-0.03 -1.848,-0.092c-0.493,-0.062 -0.886,-0.154 -1.179,-0.277c-0.292,-0.123 -0.492,-0.27 -0.6,-0.439c-0.108,-0.17 -0.162,-0.377 -0.162,-0.624l0,-41.582c0,-0.246 0.046,-0.454 0.139,-0.624c0.092,-0.169 0.277,-0.323 0.554,-0.462c0.277,-0.138 0.632,-0.231 1.063,-0.277c0.431,-0.046 1.001,-0.069 1.709,-0.069c0.678,0 1.24,0.023 1.687,0.069c0.446,0.046 0.793,0.139 1.039,0.277c0.247,0.139 0.424,0.293 0.532,0.462c0.107,0.17 0.161,0.378 0.161,0.624l0,6.052c1.14,-1.663 2.21,-3.018 3.211,-4.065c1.001,-1.048 1.949,-1.872 2.842,-2.472c0.893,-0.601 1.779,-1.017 2.656,-1.248c0.878,-0.231 1.764,-0.346 2.657,-0.346c0.4,0 0.855,0.023 1.363,0.069c0.508,0.046 1.04,0.131 1.594,0.254c0.554,0.123 1.055,0.262 1.502,0.416c0.446,0.154 0.762,0.308 0.947,0.462c0.185,0.154 0.308,0.3 0.369,0.439c0.062,0.139 0.116,0.316 0.162,0.531c0.046,0.216 0.077,0.532 0.092,0.948c0.016,0.415 0.024,0.977 0.024,1.686Z" style="fill:#fff;fill-rule:nonzero;"/><path d="M1104.67,280.34c0,0.893 -0.061,1.601 -0.184,2.125c-0.124,0.524 -0.308,0.909 -0.555,1.155c-0.246,0.247 -0.616,0.478 -1.109,0.693c-0.493,0.216 -1.055,0.393 -1.686,0.532c-0.632,0.138 -1.302,0.254 -2.01,0.346c-0.708,0.092 -1.417,0.139 -2.125,0.139c-2.156,0 -4.004,-0.285 -5.545,-0.855c-1.54,-0.57 -2.802,-1.432 -3.788,-2.587c-0.986,-1.155 -1.702,-2.619 -2.149,-4.39c-0.446,-1.771 -0.669,-3.858 -0.669,-6.26l0,-24.303l-5.822,0c-0.462,0 -0.832,-0.246 -1.109,-0.739c-0.277,-0.493 -0.416,-1.293 -0.416,-2.402c0,-0.586 0.039,-1.078 0.116,-1.479c0.077,-0.4 0.177,-0.731 0.3,-0.993c0.123,-0.262 0.285,-0.447 0.485,-0.555c0.2,-0.107 0.424,-0.161 0.67,-0.161l5.776,0l0,-9.888c0,-0.215 0.053,-0.415 0.161,-0.6c0.108,-0.185 0.308,-0.347 0.601,-0.485c0.292,-0.139 0.685,-0.239 1.178,-0.301c0.493,-0.061 1.109,-0.092 1.848,-0.092c0.77,0 1.402,0.031 1.894,0.092c0.493,0.062 0.878,0.162 1.155,0.301c0.278,0.138 0.478,0.3 0.601,0.485c0.123,0.185 0.185,0.385 0.185,0.6l0,9.888l10.673,0c0.246,0 0.462,0.054 0.646,0.161c0.185,0.108 0.347,0.293 0.486,0.555c0.138,0.262 0.238,0.593 0.3,0.993c0.062,0.401 0.092,0.893 0.092,1.479c0,1.109 -0.138,1.909 -0.415,2.402c-0.278,0.493 -0.647,0.739 -1.109,0.739l-10.673,0l0,23.194c0,2.865 0.423,5.028 1.27,6.491c0.848,1.464 2.364,2.195 4.551,2.195c0.709,0 1.34,-0.069 1.895,-0.208c0.554,-0.138 1.047,-0.285 1.478,-0.439c0.431,-0.154 0.801,-0.3 1.109,-0.439c0.308,-0.138 0.585,-0.208 0.832,-0.208c0.154,0 0.3,0.039 0.439,0.116c0.138,0.077 0.246,0.223 0.323,0.439c0.077,0.215 0.146,0.508 0.208,0.878c0.062,0.369 0.092,0.831 0.092,1.386Z" style="fill:#fff;fill-rule:nonzero;"/><path d="M1149.21,260.796c0,1.201 -0.301,2.056 -0.904,2.564c-0.604,0.509 -1.292,0.763 -2.066,0.763l-27.385,0c0,2.31 0.233,4.389 0.697,6.237c0.464,1.848 1.238,3.434 2.321,4.759c1.083,1.324 2.492,2.341 4.225,3.049c1.733,0.709 3.854,1.063 6.36,1.063c1.981,0 3.746,-0.162 5.293,-0.485c1.548,-0.324 2.886,-0.686 4.016,-1.086c1.13,-0.4 2.059,-0.762 2.786,-1.086c0.727,-0.323 1.277,-0.485 1.649,-0.485c0.216,0 0.409,0.054 0.58,0.162c0.17,0.108 0.301,0.269 0.394,0.485c0.093,0.216 0.163,0.516 0.209,0.901c0.047,0.385 0.07,0.855 0.07,1.409c0,0.401 -0.016,0.747 -0.046,1.04c-0.031,0.292 -0.07,0.554 -0.116,0.785c-0.046,0.231 -0.123,0.439 -0.231,0.624c-0.108,0.185 -0.246,0.362 -0.416,0.531c-0.169,0.17 -0.67,0.447 -1.501,0.832c-0.832,0.385 -1.91,0.762 -3.235,1.132c-1.324,0.369 -2.856,0.701 -4.597,0.993c-1.74,0.293 -3.596,0.439 -5.567,0.439c-3.419,0 -6.414,-0.477 -8.986,-1.432c-2.572,-0.955 -4.736,-2.372 -6.492,-4.251c-1.756,-1.879 -3.08,-4.235 -3.973,-7.069c-0.894,-2.834 -1.34,-6.129 -1.34,-9.887c0,-3.573 0.462,-6.784 1.386,-9.633c0.924,-2.849 2.256,-5.267 3.996,-7.254c1.741,-1.987 3.843,-3.511 6.307,-4.574c2.464,-1.063 5.221,-1.594 8.27,-1.594c3.265,0 6.045,0.524 8.34,1.571c2.295,1.047 4.181,2.456 5.66,4.227c1.478,1.771 2.564,3.85 3.257,6.238c0.693,2.387 1.039,4.936 1.039,7.646l0,1.386Zm-7.669,-2.264c0.092,-4.004 -0.799,-7.146 -2.673,-9.425c-1.875,-2.279 -4.656,-3.419 -8.344,-3.419c-1.891,0 -3.549,0.354 -4.974,1.063c-1.426,0.708 -2.619,1.648 -3.58,2.818c-0.961,1.17 -1.705,2.533 -2.231,4.089c-0.527,1.555 -0.821,3.18 -0.884,4.874l22.686,0Z" style="fill:#fff;fill-rule:nonzero;"/><path d="M1196.42,283.389c0,0.247 -0.054,0.462 -0.161,0.647c-0.108,0.185 -0.293,0.331 -0.555,0.439c-0.262,0.108 -0.608,0.192 -1.039,0.254c-0.432,0.062 -0.955,0.092 -1.571,0.092c-0.647,0 -1.186,-0.03 -1.617,-0.092c-0.432,-0.062 -0.786,-0.146 -1.063,-0.254c-0.277,-0.108 -0.477,-0.254 -0.601,-0.439c-0.123,-0.185 -0.184,-0.4 -0.184,-0.647l0,-5.498c-2.187,2.372 -4.459,4.22 -6.815,5.544c-2.357,1.325 -4.936,1.987 -7.739,1.987c-3.05,0 -5.652,-0.593 -7.808,-1.779c-2.157,-1.186 -3.905,-2.787 -5.244,-4.805c-1.34,-2.017 -2.318,-4.389 -2.934,-7.115c-0.616,-2.726 -0.924,-5.598 -0.924,-8.617c0,-3.573 0.385,-6.799 1.155,-9.679c0.77,-2.88 1.909,-5.336 3.419,-7.369c1.509,-2.033 3.38,-3.596 5.613,-4.69c2.233,-1.093 4.813,-1.64 7.739,-1.64c2.434,0 4.659,0.531 6.676,1.594c2.018,1.063 4.012,2.626 5.984,4.689l0,-24.163c0,-0.216 0.054,-0.424 0.161,-0.624c0.108,-0.2 0.316,-0.354 0.624,-0.462c0.308,-0.108 0.701,-0.2 1.178,-0.277c0.478,-0.077 1.086,-0.116 1.825,-0.116c0.77,0 1.402,0.039 1.895,0.116c0.492,0.077 0.877,0.169 1.155,0.277c0.277,0.108 0.485,0.262 0.623,0.462c0.139,0.2 0.208,0.408 0.208,0.624l0,61.541Zm-7.669,-29.246c-2.064,-2.557 -4.058,-4.505 -5.984,-5.845c-1.925,-1.339 -3.934,-2.009 -6.029,-2.009c-1.94,0 -3.588,0.462 -4.944,1.386c-1.355,0.924 -2.456,2.14 -3.303,3.65c-0.847,1.509 -1.463,3.218 -1.848,5.128c-0.385,1.91 -0.578,3.85 -0.578,5.822c0,2.094 0.162,4.142 0.485,6.145c0.324,2.002 0.886,3.78 1.687,5.336c0.801,1.555 1.863,2.803 3.188,3.742c1.324,0.94 2.988,1.41 4.99,1.41c1.016,0 1.994,-0.139 2.934,-0.416c0.939,-0.278 1.902,-0.74 2.887,-1.386c0.986,-0.647 2.018,-1.487 3.096,-2.518c1.078,-1.032 2.217,-2.303 3.419,-3.812l0,-16.633Z" style="fill:#fff;fill-rule:nonzero;"/></g></svg>
diff --git a/docs/public/badge-community-light.svg b/docs/public/badge-community-light.svg
index de4e0cf149..08c49f05b5 100644
--- a/docs/public/badge-community-light.svg
+++ b/docs/public/badge-community-light.svg
@@ -1 +1 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg width="100%" height="100%" viewBox="0 0 1260 371" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" style="fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:1.41421;"><rect id="badge.-community.-light" x="0" y="0.321" width="1260" height="370" style="fill:none;"/><clipPath id="_clip1"><rect x="0" y="0.321" width="1260" height="370"/></clipPath><g clip-path="url(#_clip1)"><path d="M1260,33.621c0,-18.379 -14.921,-33.3 -33.3,-33.3l-1193.4,0c-18.379,0 -33.3,14.921 -33.3,33.3l0,303.4c0,18.378 14.921,33.3 33.3,33.3l1193.4,0c18.379,0 33.3,-14.922 33.3,-33.3l0,-303.4Z" style="fill:#fff;"/><path d="M426.392,189.328c0,1.077 -0.059,1.978 -0.176,2.704c-0.117,0.726 -0.293,1.288 -0.527,1.686c-0.234,0.398 -0.491,0.668 -0.772,0.808c-0.281,0.141 -0.563,0.211 -0.844,0.211c-0.936,0 -2.447,-0.386 -4.531,-1.159c-2.084,-0.773 -4.484,-1.897 -7.201,-3.372c-2.716,-1.476 -5.62,-3.267 -8.711,-5.375c-3.092,-2.107 -6.089,-4.566 -8.993,-7.376c-2.295,1.405 -5.199,2.622 -8.711,3.653c-3.513,1.03 -7.588,1.545 -12.224,1.545c-6.839,0 -12.752,-1.007 -17.74,-3.021c-4.988,-2.013 -9.109,-4.964 -12.364,-8.851c-3.255,-3.888 -5.679,-8.724 -7.272,-14.508c-1.592,-5.784 -2.388,-12.423 -2.388,-19.917c0,-7.213 0.866,-13.734 2.599,-19.566c1.733,-5.831 4.333,-10.795 7.798,-14.893c3.466,-4.098 7.799,-7.26 12.997,-9.485c5.199,-2.224 11.264,-3.337 18.196,-3.337c6.51,0 12.236,1.007 17.177,3.021c4.941,2.014 9.086,4.953 12.435,8.817c3.349,3.864 5.866,8.63 7.552,14.297c1.686,5.667 2.529,12.177 2.529,19.53c0,3.794 -0.222,7.424 -0.667,10.89c-0.445,3.466 -1.147,6.744 -2.108,9.835c-0.96,3.091 -2.166,5.948 -3.618,8.571c-1.452,2.623 -3.161,4.988 -5.128,7.096c3.419,2.81 6.416,5 8.992,6.569c2.576,1.569 4.707,2.751 6.393,3.547c1.687,0.797 2.998,1.37 3.935,1.722c0.936,0.351 1.639,0.749 2.107,1.194c0.469,0.445 0.796,1.077 0.984,1.897c0.187,0.819 0.281,1.908 0.281,3.267Zm-23.886,-53.745c0,-5.152 -0.457,-9.929 -1.37,-14.331c-0.914,-4.403 -2.436,-8.232 -4.567,-11.487c-2.131,-3.255 -4.976,-5.796 -8.536,-7.622c-3.559,-1.827 -7.962,-2.74 -13.207,-2.74c-5.246,0 -9.649,0.972 -13.208,2.915c-3.56,1.944 -6.452,4.567 -8.676,7.869c-2.225,3.302 -3.818,7.13 -4.778,11.486c-0.96,4.356 -1.44,8.969 -1.44,13.84c0,5.339 0.445,10.245 1.335,14.718c0.89,4.473 2.389,8.349 4.496,11.627c2.108,3.279 4.93,5.82 8.466,7.623c3.536,1.803 7.974,2.705 13.313,2.705c5.292,0 9.742,-0.984 13.348,-2.951c3.606,-1.967 6.51,-4.625 8.711,-7.974c2.202,-3.349 3.771,-7.236 4.707,-11.662c0.937,-4.426 1.406,-9.098 1.406,-14.016Z" style="fill:#333;fill-rule:nonzero;"/><path d="M534.723,179.492c0,0.375 -0.096,0.703 -0.289,0.984c-0.193,0.281 -0.531,0.503 -1.013,0.667c-0.483,0.164 -1.098,0.304 -1.846,0.421c-0.747,0.118 -1.724,0.176 -2.93,0.176c-1.109,0 -2.062,-0.058 -2.858,-0.176c-0.796,-0.117 -1.423,-0.257 -1.881,-0.421c-0.459,-0.164 -0.784,-0.386 -0.977,-0.667c-0.193,-0.281 -0.289,-0.609 -0.289,-0.984l0,-79.176l-0.141,0l-32.036,79.527c-0.14,0.328 -0.339,0.609 -0.597,0.843c-0.257,0.234 -0.632,0.434 -1.124,0.597c-0.492,0.164 -1.077,0.281 -1.756,0.352c-0.679,0.07 -1.487,0.105 -2.424,0.105c-0.984,0 -1.827,-0.047 -2.529,-0.14c-0.703,-0.094 -1.288,-0.223 -1.756,-0.387c-0.469,-0.164 -0.832,-0.363 -1.089,-0.597c-0.258,-0.234 -0.434,-0.492 -0.527,-0.773l-30.631,-79.527l-0.07,0l0,79.176c0,0.375 -0.097,0.703 -0.289,0.984c-0.193,0.281 -0.531,0.503 -1.014,0.667c-0.482,0.164 -1.109,0.304 -1.881,0.421c-0.772,0.118 -1.761,0.176 -2.967,0.176c-1.157,0 -2.122,-0.058 -2.894,-0.176c-0.772,-0.117 -1.387,-0.257 -1.845,-0.421c-0.459,-0.164 -0.772,-0.386 -0.941,-0.667c-0.169,-0.281 -0.253,-0.609 -0.253,-0.984l0,-83.602c0,-1.967 0.523,-3.372 1.569,-4.215c1.046,-0.843 2.212,-1.265 3.496,-1.265l7.419,0c1.522,0 2.853,0.141 3.995,0.422c1.142,0.281 2.14,0.726 2.996,1.335c0.856,0.608 1.569,1.381 2.14,2.318c0.571,0.937 1.07,2.037 1.499,3.302l25.994,65.828l0.351,0l27.047,-65.617c0.524,-1.405 1.095,-2.6 1.713,-3.583c0.619,-0.984 1.297,-1.768 2.035,-2.354c0.738,-0.585 1.558,-1.007 2.462,-1.264c0.904,-0.258 1.951,-0.387 3.141,-0.387l7.779,0c0.715,0 1.393,0.106 2.035,0.316c0.642,0.211 1.189,0.539 1.642,0.984c0.452,0.445 0.821,1.007 1.106,1.686c0.285,0.679 0.428,1.51 0.428,2.494l0,83.602Z" style="fill:#333;fill-rule:nonzero;"/><path d="M618.185,179.351c0,0.375 -0.082,0.715 -0.246,1.019c-0.164,0.305 -0.48,0.55 -0.949,0.738c-0.468,0.187 -1.1,0.339 -1.896,0.456c-0.797,0.118 -1.827,0.176 -3.092,0.176c-1.639,0 -2.974,-0.07 -4.004,-0.211c-1.031,-0.14 -1.803,-0.398 -2.318,-0.772c-0.516,-0.375 -0.937,-0.797 -1.265,-1.265l-33.441,-45.454l0,45.454c0,0.328 -0.094,0.644 -0.281,0.948c-0.187,0.305 -0.515,0.539 -0.983,0.703c-0.469,0.164 -1.089,0.304 -1.862,0.421c-0.773,0.118 -1.745,0.176 -2.916,0.176c-1.124,0 -2.084,-0.058 -2.88,-0.176c-0.796,-0.117 -1.429,-0.257 -1.897,-0.421c-0.468,-0.164 -0.796,-0.398 -0.983,-0.703c-0.188,-0.304 -0.282,-0.62 -0.282,-0.948l0,-87.255c0,-0.375 0.094,-0.703 0.282,-0.984c0.187,-0.281 0.515,-0.503 0.983,-0.667c0.468,-0.164 1.101,-0.305 1.897,-0.422c0.796,-0.117 1.756,-0.175 2.88,-0.175c1.171,0 2.143,0.058 2.916,0.175c0.773,0.117 1.393,0.258 1.862,0.422c0.468,0.164 0.796,0.386 0.983,0.667c0.187,0.281 0.281,0.609 0.281,0.984l0,40.396l32.176,-40.396c0.281,-0.422 0.609,-0.773 0.984,-1.054c0.375,-0.281 0.831,-0.504 1.37,-0.667c0.538,-0.164 1.194,-0.293 1.967,-0.387c0.773,-0.094 1.768,-0.14 2.986,-0.14c1.218,0 2.201,0.058 2.95,0.175c0.75,0.117 1.347,0.27 1.792,0.457c0.445,0.187 0.749,0.421 0.913,0.702c0.164,0.282 0.246,0.586 0.246,0.914c0,0.609 -0.152,1.218 -0.457,1.826c-0.304,0.609 -0.878,1.452 -1.721,2.53l-30.139,36.04l32.458,43.136c0.796,1.217 1.276,2.049 1.44,2.494c0.164,0.444 0.246,0.807 0.246,1.088Z" style="fill:#333;fill-rule:nonzero;"/><path d="M713.941,95.609c0,0.89 -0.047,1.663 -0.141,2.318c-0.094,0.656 -0.258,1.183 -0.492,1.581c-0.234,0.398 -0.503,0.691 -0.808,0.878c-0.304,0.188 -0.62,0.281 -0.948,0.281l-33.3,0l0,30.912l31.473,0c0.328,0 0.644,0.082 0.949,0.246c0.304,0.164 0.574,0.433 0.808,0.808c0.234,0.374 0.398,0.878 0.491,1.51c0.094,0.632 0.141,1.44 0.141,2.424c0,0.89 -0.047,1.651 -0.141,2.283c-0.093,0.632 -0.257,1.148 -0.491,1.546c-0.234,0.398 -0.504,0.702 -0.808,0.913c-0.305,0.211 -0.621,0.316 -0.949,0.316l-31.473,0l0,37.867c0,0.328 -0.094,0.644 -0.281,0.948c-0.188,0.305 -0.516,0.539 -0.984,0.703c-0.468,0.164 -1.077,0.304 -1.826,0.421c-0.75,0.118 -1.733,0.176 -2.951,0.176c-1.124,0 -2.084,-0.058 -2.881,-0.176c-0.796,-0.117 -1.428,-0.257 -1.896,-0.421c-0.469,-0.164 -0.797,-0.398 -0.984,-0.703c-0.187,-0.304 -0.281,-0.62 -0.281,-0.948l0,-84.164c0,-1.827 0.48,-3.103 1.44,-3.829c0.96,-0.726 1.979,-1.089 3.056,-1.089l40.888,0c0.328,0 0.644,0.094 0.948,0.281c0.305,0.188 0.574,0.492 0.808,0.914c0.234,0.421 0.398,0.971 0.492,1.65c0.094,0.68 0.141,1.464 0.141,2.354Z" style="fill:#333;fill-rule:nonzero;"/><path d="M742.534,179.562c0,0.375 -0.094,0.691 -0.281,0.949c-0.187,0.257 -0.492,0.48 -0.913,0.667c-0.422,0.187 -1.007,0.328 -1.757,0.422c-0.749,0.093 -1.709,0.14 -2.88,0.14c-1.124,0 -2.061,-0.047 -2.81,-0.14c-0.75,-0.094 -1.347,-0.235 -1.792,-0.422c-0.445,-0.187 -0.749,-0.41 -0.913,-0.667c-0.164,-0.258 -0.246,-0.574 -0.246,-0.949l0,-63.228c0,-0.328 0.082,-0.632 0.246,-0.913c0.164,-0.281 0.468,-0.516 0.913,-0.703c0.445,-0.187 1.042,-0.328 1.792,-0.422c0.749,-0.093 1.686,-0.14 2.81,-0.14c1.171,0 2.131,0.047 2.88,0.14c0.75,0.094 1.335,0.235 1.757,0.422c0.421,0.187 0.726,0.422 0.913,0.703c0.187,0.281 0.281,0.585 0.281,0.913l0,63.228Zm1.335,-84.585c0,2.716 -0.515,4.566 -1.546,5.55c-1.03,0.983 -2.927,1.475 -5.69,1.475c-2.717,0 -4.579,-0.48 -5.586,-1.44c-1.007,-0.96 -1.51,-2.775 -1.51,-5.445c0,-2.716 0.515,-4.566 1.546,-5.55c1.03,-0.983 2.927,-1.475 5.69,-1.475c2.717,0 4.578,0.48 5.585,1.44c1.007,0.96 1.511,2.775 1.511,5.445Z" style="fill:#333;fill-rule:nonzero;"/><path d="M800.915,120.479c0,1.03 -0.024,1.897 -0.07,2.599c-0.047,0.703 -0.141,1.253 -0.281,1.651c-0.141,0.398 -0.317,0.703 -0.527,0.913c-0.211,0.211 -0.504,0.317 -0.879,0.317c-0.374,0 -0.831,-0.106 -1.37,-0.317c-0.538,-0.21 -1.147,-0.421 -1.826,-0.632c-0.679,-0.211 -1.44,-0.41 -2.283,-0.597c-0.843,-0.187 -1.757,-0.281 -2.74,-0.281c-1.171,0 -2.319,0.234 -3.443,0.703c-1.124,0.468 -2.306,1.241 -3.548,2.318c-1.241,1.077 -2.54,2.506 -3.899,4.285c-1.358,1.78 -2.857,3.958 -4.496,6.534l0,41.59c0,0.375 -0.094,0.691 -0.281,0.949c-0.187,0.257 -0.492,0.48 -0.913,0.667c-0.422,0.187 -1.007,0.328 -1.756,0.422c-0.75,0.093 -1.71,0.14 -2.881,0.14c-1.124,0 -2.061,-0.047 -2.81,-0.14c-0.749,-0.094 -1.347,-0.235 -1.792,-0.422c-0.444,-0.187 -0.749,-0.41 -0.913,-0.667c-0.164,-0.258 -0.246,-0.574 -0.246,-0.949l0,-63.228c0,-0.375 0.071,-0.691 0.211,-0.949c0.141,-0.257 0.422,-0.491 0.843,-0.702c0.422,-0.211 0.96,-0.351 1.616,-0.422c0.656,-0.07 1.522,-0.105 2.599,-0.105c1.031,0 1.885,0.035 2.565,0.105c0.679,0.071 1.206,0.211 1.58,0.422c0.375,0.211 0.644,0.445 0.808,0.702c0.164,0.258 0.246,0.574 0.246,0.949l0,9.203c1.733,-2.529 3.361,-4.59 4.883,-6.182c1.522,-1.593 2.962,-2.846 4.32,-3.759c1.359,-0.913 2.705,-1.545 4.04,-1.897c1.335,-0.351 2.681,-0.527 4.04,-0.527c0.608,0 1.299,0.036 2.072,0.106c0.773,0.07 1.581,0.199 2.424,0.386c0.843,0.188 1.604,0.398 2.283,0.632c0.679,0.235 1.159,0.469 1.44,0.703c0.281,0.234 0.469,0.457 0.562,0.667c0.094,0.211 0.176,0.48 0.246,0.808c0.07,0.328 0.117,0.808 0.141,1.441c0.023,0.632 0.035,1.487 0.035,2.564Z" style="fill:#333;fill-rule:nonzero;"/><path d="M907.911,179.562c0,0.375 -0.093,0.691 -0.281,0.949c-0.187,0.257 -0.491,0.48 -0.913,0.667c-0.422,0.187 -1.007,0.328 -1.756,0.422c-0.75,0.093 -1.686,0.14 -2.811,0.14c-1.17,0 -2.131,-0.047 -2.88,-0.14c-0.749,-0.094 -1.346,-0.235 -1.791,-0.422c-0.445,-0.187 -0.761,-0.41 -0.949,-0.667c-0.187,-0.258 -0.281,-0.574 -0.281,-0.949l0,-38.429c0,-2.669 -0.234,-5.105 -0.702,-7.306c-0.469,-2.201 -1.218,-4.098 -2.248,-5.691c-1.031,-1.592 -2.342,-2.81 -3.935,-3.653c-1.592,-0.843 -3.466,-1.264 -5.62,-1.264c-2.67,0 -5.351,1.03 -8.044,3.091c-2.693,2.061 -5.655,5.082 -8.887,9.063l0,44.189c0,0.375 -0.094,0.691 -0.281,0.949c-0.188,0.257 -0.504,0.48 -0.949,0.667c-0.445,0.187 -1.042,0.328 -1.791,0.422c-0.749,0.093 -1.686,0.14 -2.81,0.14c-1.077,0 -2.002,-0.047 -2.775,-0.14c-0.773,-0.094 -1.382,-0.235 -1.827,-0.422c-0.445,-0.187 -0.749,-0.41 -0.913,-0.667c-0.164,-0.258 -0.246,-0.574 -0.246,-0.949l0,-38.429c0,-2.669 -0.258,-5.105 -0.773,-7.306c-0.515,-2.201 -1.288,-4.098 -2.318,-5.691c-1.031,-1.592 -2.33,-2.81 -3.899,-3.653c-1.569,-0.843 -3.431,-1.264 -5.585,-1.264c-2.67,0 -5.363,1.03 -8.08,3.091c-2.716,2.061 -5.667,5.082 -8.852,9.063l0,44.189c0,0.375 -0.093,0.691 -0.281,0.949c-0.187,0.257 -0.491,0.48 -0.913,0.667c-0.421,0.187 -1.007,0.328 -1.756,0.422c-0.75,0.093 -1.71,0.14 -2.881,0.14c-1.124,0 -2.06,-0.047 -2.81,-0.14c-0.749,-0.094 -1.346,-0.235 -1.791,-0.422c-0.445,-0.187 -0.75,-0.41 -0.914,-0.667c-0.164,-0.258 -0.246,-0.574 -0.246,-0.949l0,-63.228c0,-0.375 0.071,-0.691 0.211,-0.949c0.141,-0.257 0.422,-0.491 0.843,-0.702c0.422,-0.211 0.96,-0.351 1.616,-0.422c0.656,-0.07 1.522,-0.105 2.6,-0.105c1.03,0 1.885,0.035 2.564,0.105c0.679,0.071 1.206,0.211 1.581,0.422c0.374,0.211 0.643,0.445 0.807,0.702c0.164,0.258 0.246,0.574 0.246,0.949l0,8.36c3.56,-3.981 7.014,-6.897 10.363,-8.747c3.349,-1.85 6.732,-2.775 10.151,-2.775c2.623,0 4.977,0.305 7.061,0.914c2.084,0.609 3.922,1.463 5.515,2.564c1.592,1.101 2.951,2.412 4.075,3.934c1.124,1.522 2.06,3.22 2.81,5.094c2.107,-2.295 4.11,-4.239 6.006,-5.831c1.897,-1.593 3.724,-2.881 5.48,-3.864c1.757,-0.984 3.466,-1.698 5.129,-2.143c1.662,-0.445 3.337,-0.668 5.023,-0.668c4.075,0 7.494,0.715 10.257,2.143c2.763,1.429 5,3.337 6.709,5.726c1.71,2.388 2.927,5.187 3.653,8.395c0.726,3.208 1.089,6.592 1.089,10.152l0,39.974Z" style="fill:#333;fill-rule:nonzero;"/><path d="M1016.52,116.193c0,0.328 -0.047,0.726 -0.141,1.195c-0.094,0.468 -0.257,1.053 -0.492,1.756l-18.617,60.067c-0.14,0.515 -0.363,0.937 -0.667,1.265c-0.305,0.327 -0.726,0.585 -1.265,0.772c-0.538,0.188 -1.276,0.316 -2.213,0.387c-0.937,0.07 -2.107,0.105 -3.513,0.105c-1.451,0 -2.669,-0.047 -3.653,-0.14c-0.983,-0.094 -1.768,-0.235 -2.353,-0.422c-0.586,-0.187 -1.019,-0.445 -1.3,-0.773c-0.281,-0.328 -0.492,-0.726 -0.632,-1.194l-13.278,-45.876l-0.141,-0.632l-0.14,0.632l-12.295,45.876c-0.14,0.515 -0.363,0.937 -0.667,1.265c-0.304,0.327 -0.761,0.585 -1.37,0.772c-0.609,0.188 -1.393,0.316 -2.353,0.387c-0.961,0.07 -2.143,0.105 -3.548,0.105c-1.452,0 -2.635,-0.047 -3.548,-0.14c-0.913,-0.094 -1.663,-0.235 -2.248,-0.422c-0.586,-0.187 -1.019,-0.445 -1.3,-0.773c-0.281,-0.328 -0.492,-0.726 -0.632,-1.194l-18.477,-60.067c-0.234,-0.703 -0.398,-1.288 -0.492,-1.756c-0.093,-0.469 -0.14,-0.867 -0.14,-1.195c0,-0.421 0.093,-0.761 0.281,-1.018c0.187,-0.258 0.503,-0.469 0.948,-0.633c0.445,-0.164 1.042,-0.269 1.792,-0.316c0.749,-0.047 1.662,-0.07 2.74,-0.07c1.311,0 2.365,0.035 3.161,0.105c0.796,0.071 1.405,0.188 1.827,0.352c0.421,0.164 0.726,0.398 0.913,0.702c0.187,0.305 0.351,0.668 0.492,1.089l15.245,52.128l0.14,0.633l0.141,-0.633l13.98,-52.128c0.094,-0.421 0.246,-0.784 0.457,-1.089c0.211,-0.304 0.527,-0.538 0.948,-0.702c0.422,-0.164 0.996,-0.281 1.722,-0.352c0.726,-0.07 1.674,-0.105 2.845,-0.105c1.124,0 2.049,0.035 2.775,0.105c0.726,0.071 1.3,0.188 1.721,0.352c0.422,0.164 0.726,0.386 0.913,0.667c0.188,0.281 0.328,0.609 0.422,0.984l15.104,52.268l0.141,0.633l0.07,-0.633l15.035,-52.128c0.093,-0.421 0.245,-0.784 0.456,-1.089c0.211,-0.304 0.539,-0.538 0.984,-0.702c0.445,-0.164 1.054,-0.281 1.826,-0.352c0.773,-0.07 1.768,-0.105 2.986,-0.105c1.124,0 2.026,0.023 2.705,0.07c0.679,0.047 1.218,0.164 1.616,0.351c0.398,0.188 0.679,0.399 0.843,0.633c0.164,0.234 0.246,0.562 0.246,0.983Z" style="fill:#333;fill-rule:nonzero;"/><path d="M1076.94,179.632c0,0.563 -0.187,0.984 -0.562,1.265c-0.375,0.281 -0.89,0.492 -1.546,0.632c-0.655,0.141 -1.616,0.211 -2.88,0.211c-1.218,0 -2.19,-0.07 -2.916,-0.211c-0.726,-0.14 -1.252,-0.351 -1.58,-0.632c-0.328,-0.281 -0.492,-0.702 -0.492,-1.265l0,-6.322c-2.763,2.95 -5.843,5.245 -9.238,6.885c-3.396,1.639 -6.991,2.458 -10.784,2.458c-3.326,0 -6.335,-0.433 -9.028,-1.299c-2.693,-0.867 -4.988,-2.12 -6.885,-3.759c-1.897,-1.639 -3.372,-3.653 -4.426,-6.042c-1.054,-2.388 -1.581,-5.105 -1.581,-8.149c0,-3.56 0.726,-6.651 2.178,-9.274c1.452,-2.622 3.536,-4.8 6.253,-6.533c2.716,-1.733 6.042,-3.033 9.976,-3.899c3.934,-0.867 8.36,-1.3 13.278,-1.3l8.711,0l0,-4.918c0,-2.435 -0.257,-4.59 -0.772,-6.463c-0.516,-1.874 -1.347,-3.431 -2.495,-4.672c-1.147,-1.241 -2.634,-2.178 -4.461,-2.81c-1.826,-0.632 -4.074,-0.949 -6.744,-0.949c-2.857,0 -5.421,0.34 -7.693,1.019c-2.271,0.679 -4.262,1.429 -5.971,2.248c-1.71,0.82 -3.138,1.569 -4.286,2.248c-1.147,0.679 -2.002,1.019 -2.564,1.019c-0.375,0 -0.703,-0.094 -0.984,-0.281c-0.281,-0.187 -0.527,-0.468 -0.737,-0.843c-0.211,-0.375 -0.363,-0.855 -0.457,-1.44c-0.094,-0.586 -0.14,-1.23 -0.14,-1.932c0,-1.171 0.081,-2.096 0.245,-2.775c0.164,-0.679 0.562,-1.323 1.195,-1.932c0.632,-0.609 1.721,-1.323 3.267,-2.143c1.545,-0.82 3.325,-1.569 5.339,-2.248c2.014,-0.679 4.215,-1.241 6.604,-1.686c2.388,-0.445 4.8,-0.668 7.236,-0.668c4.543,0 8.407,0.516 11.592,1.546c3.185,1.03 5.761,2.541 7.728,4.531c1.967,1.991 3.395,4.461 4.285,7.412c0.89,2.951 1.335,6.393 1.335,10.327l0,42.644Zm-11.522,-28.874l-9.905,0c-3.185,0 -5.949,0.269 -8.29,0.808c-2.342,0.539 -4.286,1.335 -5.832,2.389c-1.545,1.054 -2.681,2.318 -3.407,3.793c-0.726,1.476 -1.089,3.174 -1.089,5.094c0,3.278 1.042,5.889 3.127,7.833c2.084,1.944 4.999,2.916 8.746,2.916c3.044,0 5.866,-0.773 8.466,-2.319c2.599,-1.545 5.327,-3.91 8.184,-7.095l0,-13.419Z" style="fill:#333;fill-rule:nonzero;"/><path d="M1135.18,120.479c0,1.03 -0.023,1.897 -0.07,2.599c-0.047,0.703 -0.14,1.253 -0.281,1.651c-0.14,0.398 -0.316,0.703 -0.527,0.913c-0.211,0.211 -0.503,0.317 -0.878,0.317c-0.375,0 -0.831,-0.106 -1.37,-0.317c-0.539,-0.21 -1.147,-0.421 -1.827,-0.632c-0.679,-0.211 -1.44,-0.41 -2.283,-0.597c-0.843,-0.187 -1.756,-0.281 -2.74,-0.281c-1.171,0 -2.318,0.234 -3.442,0.703c-1.124,0.468 -2.307,1.241 -3.548,2.318c-1.241,1.077 -2.541,2.506 -3.899,4.285c-1.358,1.78 -2.857,3.958 -4.496,6.534l0,41.59c0,0.375 -0.094,0.691 -0.281,0.949c-0.188,0.257 -0.492,0.48 -0.914,0.667c-0.421,0.187 -1.007,0.328 -1.756,0.422c-0.749,0.093 -1.709,0.14 -2.88,0.14c-1.124,0 -2.061,-0.047 -2.811,-0.14c-0.749,-0.094 -1.346,-0.235 -1.791,-0.422c-0.445,-0.187 -0.749,-0.41 -0.913,-0.667c-0.164,-0.258 -0.246,-0.574 -0.246,-0.949l0,-63.228c0,-0.375 0.07,-0.691 0.211,-0.949c0.14,-0.257 0.421,-0.491 0.843,-0.702c0.421,-0.211 0.96,-0.351 1.615,-0.422c0.656,-0.07 1.523,-0.105 2.6,-0.105c1.03,0 1.885,0.035 2.564,0.105c0.679,0.071 1.206,0.211 1.581,0.422c0.375,0.211 0.644,0.445 0.808,0.702c0.164,0.258 0.246,0.574 0.246,0.949l0,9.203c1.733,-2.529 3.36,-4.59 4.882,-6.182c1.522,-1.593 2.963,-2.846 4.321,-3.759c1.358,-0.913 2.705,-1.545 4.039,-1.897c1.335,-0.351 2.682,-0.527 4.04,-0.527c0.609,0 1.3,0.036 2.073,0.106c0.772,0.07 1.58,0.199 2.423,0.386c0.843,0.188 1.604,0.398 2.284,0.632c0.679,0.235 1.159,0.469 1.44,0.703c0.281,0.234 0.468,0.457 0.562,0.667c0.093,0.211 0.175,0.48 0.246,0.808c0.07,0.328 0.117,0.808 0.14,1.441c0.024,0.632 0.035,1.487 0.035,2.564Z" style="fill:#333;fill-rule:nonzero;"/><path d="M1200.45,145.208c0,1.827 -0.459,3.126 -1.376,3.899c-0.917,0.773 -1.964,1.159 -3.141,1.159l-41.64,0c0,3.513 0.353,6.675 1.059,9.485c0.706,2.81 1.882,5.222 3.53,7.236c1.647,2.014 3.789,3.559 6.424,4.637c2.636,1.077 5.86,1.615 9.672,1.615c3.012,0 5.694,-0.245 8.047,-0.737c2.354,-0.492 4.389,-1.042 6.107,-1.651c1.718,-0.609 3.13,-1.159 4.236,-1.651c1.106,-0.492 1.942,-0.738 2.507,-0.738c0.329,0 0.623,0.082 0.882,0.246c0.259,0.164 0.458,0.41 0.6,0.738c0.141,0.328 0.247,0.784 0.317,1.37c0.071,0.585 0.106,1.299 0.106,2.142c0,0.609 -0.023,1.136 -0.07,1.581c-0.047,0.445 -0.105,0.843 -0.175,1.194c-0.071,0.352 -0.188,0.668 -0.352,0.949c-0.164,0.281 -0.374,0.55 -0.632,0.808c-0.258,0.257 -1.019,0.679 -2.283,1.264c-1.265,0.586 -2.904,1.16 -4.918,1.722c-2.014,0.562 -4.344,1.065 -6.99,1.51c-2.647,0.445 -5.468,0.667 -8.466,0.667c-5.199,0 -9.753,-0.726 -13.664,-2.177c-3.911,-1.452 -7.201,-3.607 -9.871,-6.464c-2.67,-2.857 -4.683,-6.44 -6.042,-10.749c-1.358,-4.309 -2.037,-9.32 -2.037,-15.034c0,-5.433 0.702,-10.316 2.108,-14.648c1.405,-4.332 3.43,-8.009 6.077,-11.03c2.646,-3.021 5.842,-5.339 9.589,-6.955c3.747,-1.616 7.939,-2.424 12.576,-2.424c4.964,0 9.191,0.797 12.68,2.389c3.49,1.592 6.358,3.735 8.606,6.428c2.249,2.693 3.9,5.855 4.953,9.485c1.054,3.629 1.581,7.505 1.581,11.627l0,2.107Zm-11.662,-3.442c0.14,-6.089 -1.214,-10.866 -4.065,-14.332c-2.85,-3.466 -7.079,-5.199 -12.687,-5.199c-2.875,0 -5.396,0.539 -7.564,1.616c-2.167,1.077 -3.982,2.506 -5.443,4.285c-1.461,1.78 -2.592,3.853 -3.393,6.218c-0.801,2.365 -1.248,4.836 -1.343,7.412l34.495,0Z" style="fill:#333;fill-rule:nonzero;"/><path d="M379.752,276.089c0,0.493 -0.016,0.924 -0.047,1.294c-0.03,0.369 -0.084,0.693 -0.161,0.97c-0.077,0.277 -0.177,0.524 -0.301,0.739c-0.123,0.216 -0.338,0.478 -0.646,0.786c-0.308,0.308 -0.955,0.778 -1.941,1.409c-0.986,0.631 -2.21,1.247 -3.673,1.848c-1.463,0.601 -3.142,1.109 -5.036,1.525c-1.894,0.416 -3.966,0.623 -6.214,0.623c-3.881,0 -7.385,-0.646 -10.511,-1.94c-3.127,-1.294 -5.791,-3.203 -7.993,-5.729c-2.203,-2.526 -3.897,-5.645 -5.083,-9.356c-1.185,-3.712 -1.778,-7.985 -1.778,-12.821c0,-4.959 0.639,-9.379 1.917,-13.26c1.278,-3.881 3.072,-7.169 5.383,-9.865c2.31,-2.695 5.074,-4.751 8.293,-6.168c3.219,-1.417 6.784,-2.125 10.696,-2.125c1.725,0 3.403,0.162 5.036,0.485c1.632,0.324 3.142,0.732 4.528,1.225c1.386,0.492 2.618,1.062 3.696,1.709c1.078,0.647 1.825,1.178 2.241,1.594c0.416,0.416 0.685,0.732 0.808,0.947c0.123,0.216 0.224,0.47 0.301,0.763c0.077,0.292 0.138,0.639 0.184,1.039c0.047,0.4 0.07,0.878 0.07,1.432c0,0.616 -0.031,1.14 -0.093,1.571c-0.062,0.431 -0.155,0.793 -0.279,1.086c-0.124,0.293 -0.271,0.508 -0.441,0.647c-0.171,0.138 -0.38,0.208 -0.628,0.208c-0.433,0 -1.036,-0.301 -1.811,-0.901c-0.774,-0.601 -1.773,-1.263 -2.996,-1.987c-1.223,-0.724 -2.71,-1.386 -4.459,-1.987c-1.749,-0.6 -3.847,-0.901 -6.294,-0.901c-2.663,0 -5.086,0.532 -7.269,1.594c-2.183,1.063 -4.049,2.626 -5.597,4.69c-1.549,2.064 -2.748,4.582 -3.6,7.554c-0.852,2.972 -1.278,6.368 -1.278,10.188c0,3.788 0.411,7.138 1.231,10.049c0.821,2.91 1.998,5.344 3.53,7.3c1.533,1.956 3.415,3.434 5.644,4.435c2.23,1.001 4.753,1.502 7.571,1.502c2.384,0 4.467,-0.293 6.247,-0.878c1.781,-0.585 3.298,-1.24 4.552,-1.964c1.254,-0.724 2.283,-1.378 3.089,-1.963c0.805,-0.586 1.44,-0.878 1.904,-0.878c0.217,0 0.403,0.046 0.558,0.138c0.154,0.093 0.278,0.27 0.371,0.532c0.093,0.262 0.163,0.623 0.209,1.085c0.046,0.462 0.07,1.048 0.07,1.756Z" style="fill:#333;fill-rule:nonzero;"/><path d="M428.079,262.136c0,3.388 -0.446,6.507 -1.339,9.356c-0.894,2.849 -2.226,5.306 -3.997,7.369c-1.771,2.064 -3.989,3.673 -6.653,4.828c-2.664,1.156 -5.752,1.733 -9.264,1.733c-3.419,0 -6.399,-0.508 -8.94,-1.525c-2.541,-1.016 -4.659,-2.495 -6.353,-4.435c-1.694,-1.941 -2.957,-4.297 -3.788,-7.069c-0.832,-2.772 -1.248,-5.914 -1.248,-9.425c0,-3.388 0.439,-6.507 1.317,-9.356c0.878,-2.849 2.202,-5.306 3.973,-7.37c1.772,-2.063 3.982,-3.665 6.63,-4.805c2.649,-1.139 5.745,-1.709 9.287,-1.709c3.419,0 6.399,0.508 8.94,1.525c2.541,1.016 4.659,2.494 6.353,4.435c1.694,1.94 2.965,4.297 3.812,7.069c0.847,2.772 1.27,5.898 1.27,9.379Zm-7.9,0.508c0,-2.248 -0.21,-4.374 -0.63,-6.376c-0.419,-2.002 -1.111,-3.757 -2.074,-5.267c-0.964,-1.509 -2.269,-2.703 -3.917,-3.58c-1.647,-0.878 -3.698,-1.317 -6.153,-1.317c-2.269,0 -4.219,0.4 -5.851,1.201c-1.632,0.801 -2.976,1.933 -4.033,3.396c-1.056,1.463 -1.841,3.196 -2.354,5.198c-0.513,2.002 -0.769,4.189 -0.769,6.56c0,2.28 0.21,4.42 0.629,6.423c0.42,2.002 1.119,3.75 2.098,5.244c0.979,1.493 2.292,2.679 3.939,3.557c1.648,0.878 3.699,1.317 6.154,1.317c2.238,0 4.181,-0.401 5.828,-1.201c1.647,-0.801 2.999,-1.925 4.056,-3.373c1.056,-1.448 1.833,-3.173 2.331,-5.175c0.497,-2.002 0.746,-4.204 0.746,-6.607Z" style="fill:#333;fill-rule:nonzero;"/><path d="M500.987,283.389c0,0.247 -0.062,0.454 -0.185,0.624c-0.123,0.169 -0.323,0.316 -0.601,0.439c-0.277,0.123 -0.662,0.215 -1.155,0.277c-0.493,0.062 -1.109,0.092 -1.848,0.092c-0.77,0 -1.401,-0.03 -1.894,-0.092c-0.493,-0.062 -0.886,-0.154 -1.178,-0.277c-0.293,-0.123 -0.501,-0.27 -0.624,-0.439c-0.123,-0.17 -0.185,-0.377 -0.185,-0.624l0,-25.273c0,-1.755 -0.154,-3.357 -0.462,-4.805c-0.308,-1.447 -0.801,-2.695 -1.478,-3.742c-0.678,-1.047 -1.54,-1.848 -2.588,-2.403c-1.047,-0.554 -2.279,-0.831 -3.696,-0.831c-1.756,0 -3.519,0.677 -5.29,2.033c-1.771,1.355 -3.719,3.342 -5.845,5.96l0,29.061c0,0.247 -0.061,0.454 -0.184,0.624c-0.124,0.169 -0.332,0.316 -0.624,0.439c-0.293,0.123 -0.685,0.215 -1.178,0.277c-0.493,0.062 -1.109,0.092 -1.848,0.092c-0.709,0 -1.317,-0.03 -1.825,-0.092c-0.509,-0.062 -0.909,-0.154 -1.202,-0.277c-0.292,-0.123 -0.492,-0.27 -0.6,-0.439c-0.108,-0.17 -0.162,-0.377 -0.162,-0.624l0,-25.273c0,-1.755 -0.169,-3.357 -0.508,-4.805c-0.339,-1.447 -0.847,-2.695 -1.525,-3.742c-0.678,-1.047 -1.532,-1.848 -2.564,-2.403c-1.032,-0.554 -2.256,-0.831 -3.673,-0.831c-1.756,0 -3.527,0.677 -5.314,2.033c-1.786,1.355 -3.727,3.342 -5.821,5.96l0,29.061c0,0.247 -0.062,0.454 -0.185,0.624c-0.123,0.169 -0.323,0.316 -0.6,0.439c-0.278,0.123 -0.663,0.215 -1.156,0.277c-0.492,0.062 -1.124,0.092 -1.894,0.092c-0.739,0 -1.355,-0.03 -1.848,-0.092c-0.493,-0.062 -0.885,-0.154 -1.178,-0.277c-0.293,-0.123 -0.493,-0.27 -0.601,-0.439c-0.108,-0.17 -0.161,-0.377 -0.161,-0.624l0,-41.582c0,-0.246 0.046,-0.454 0.138,-0.624c0.093,-0.169 0.277,-0.323 0.555,-0.462c0.277,-0.138 0.631,-0.231 1.062,-0.277c0.432,-0.046 1.001,-0.069 1.71,-0.069c0.677,0 1.24,0.023 1.686,0.069c0.447,0.046 0.793,0.139 1.04,0.277c0.246,0.139 0.423,0.293 0.531,0.462c0.108,0.17 0.162,0.378 0.162,0.624l0,5.498c2.341,-2.618 4.612,-4.535 6.815,-5.752c2.202,-1.217 4.427,-1.825 6.676,-1.825c1.725,0 3.273,0.2 4.643,0.601c1.371,0.4 2.58,0.962 3.627,1.686c1.047,0.724 1.941,1.586 2.68,2.587c0.739,1.001 1.355,2.118 1.848,3.35c1.386,-1.509 2.703,-2.788 3.95,-3.835c1.248,-1.047 2.449,-1.894 3.604,-2.541c1.155,-0.647 2.279,-1.117 3.373,-1.409c1.093,-0.293 2.194,-0.439 3.303,-0.439c2.68,0 4.929,0.47 6.746,1.409c1.817,0.939 3.288,2.195 4.412,3.766c1.124,1.57 1.925,3.411 2.403,5.521c0.477,2.11 0.716,4.335 0.716,6.676l0,26.289Z" style="fill:#333;fill-rule:nonzero;"/><path d="M576.574,283.389c0,0.247 -0.062,0.454 -0.185,0.624c-0.123,0.169 -0.323,0.316 -0.601,0.439c-0.277,0.123 -0.662,0.215 -1.155,0.277c-0.492,0.062 -1.108,0.092 -1.848,0.092c-0.77,0 -1.401,-0.03 -1.894,-0.092c-0.493,-0.062 -0.886,-0.154 -1.178,-0.277c-0.293,-0.123 -0.501,-0.27 -0.624,-0.439c-0.123,-0.17 -0.185,-0.377 -0.185,-0.624l0,-25.273c0,-1.755 -0.154,-3.357 -0.462,-4.805c-0.308,-1.447 -0.801,-2.695 -1.478,-3.742c-0.678,-1.047 -1.54,-1.848 -2.588,-2.403c-1.047,-0.554 -2.279,-0.831 -3.696,-0.831c-1.755,0 -3.519,0.677 -5.29,2.033c-1.771,1.355 -3.719,3.342 -5.844,5.96l0,29.061c0,0.247 -0.062,0.454 -0.185,0.624c-0.124,0.169 -0.331,0.316 -0.624,0.439c-0.293,0.123 -0.685,0.215 -1.178,0.277c-0.493,0.062 -1.109,0.092 -1.848,0.092c-0.709,0 -1.317,-0.03 -1.825,-0.092c-0.509,-0.062 -0.909,-0.154 -1.202,-0.277c-0.292,-0.123 -0.492,-0.27 -0.6,-0.439c-0.108,-0.17 -0.162,-0.377 -0.162,-0.624l0,-25.273c0,-1.755 -0.169,-3.357 -0.508,-4.805c-0.339,-1.447 -0.847,-2.695 -1.525,-3.742c-0.677,-1.047 -1.532,-1.848 -2.564,-2.403c-1.032,-0.554 -2.256,-0.831 -3.673,-0.831c-1.756,0 -3.527,0.677 -5.313,2.033c-1.787,1.355 -3.727,3.342 -5.822,5.96l0,29.061c0,0.247 -0.061,0.454 -0.185,0.624c-0.123,0.169 -0.323,0.316 -0.6,0.439c-0.278,0.123 -0.663,0.215 -1.155,0.277c-0.493,0.062 -1.125,0.092 -1.895,0.092c-0.739,0 -1.355,-0.03 -1.848,-0.092c-0.493,-0.062 -0.885,-0.154 -1.178,-0.277c-0.293,-0.123 -0.493,-0.27 -0.601,-0.439c-0.107,-0.17 -0.161,-0.377 -0.161,-0.624l0,-41.582c0,-0.246 0.046,-0.454 0.138,-0.624c0.093,-0.169 0.278,-0.323 0.555,-0.462c0.277,-0.138 0.631,-0.231 1.062,-0.277c0.432,-0.046 1.001,-0.069 1.71,-0.069c0.678,0 1.24,0.023 1.686,0.069c0.447,0.046 0.793,0.139 1.04,0.277c0.246,0.139 0.423,0.293 0.531,0.462c0.108,0.17 0.162,0.378 0.162,0.624l0,5.498c2.341,-2.618 4.612,-4.535 6.815,-5.752c2.202,-1.217 4.427,-1.825 6.676,-1.825c1.725,0 3.273,0.2 4.643,0.601c1.371,0.4 2.58,0.962 3.627,1.686c1.047,0.724 1.941,1.586 2.68,2.587c0.739,1.001 1.355,2.118 1.848,3.35c1.386,-1.509 2.703,-2.788 3.95,-3.835c1.248,-1.047 2.449,-1.894 3.604,-2.541c1.155,-0.647 2.279,-1.117 3.373,-1.409c1.093,-0.293 2.195,-0.439 3.303,-0.439c2.68,0 4.929,0.47 6.746,1.409c1.817,0.939 3.288,2.195 4.412,3.766c1.125,1.57 1.925,3.411 2.403,5.521c0.477,2.11 0.716,4.335 0.716,6.676l0,26.289Z" style="fill:#333;fill-rule:nonzero;"/><path d="M626.103,283.389c0,0.247 -0.054,0.454 -0.162,0.624c-0.108,0.169 -0.3,0.316 -0.577,0.439c-0.278,0.123 -0.639,0.215 -1.086,0.277c-0.447,0.062 -0.993,0.092 -1.64,0.092c-0.709,0 -1.286,-0.03 -1.733,-0.092c-0.447,-0.062 -0.801,-0.154 -1.063,-0.277c-0.261,-0.123 -0.438,-0.27 -0.531,-0.439c-0.092,-0.17 -0.138,-0.377 -0.138,-0.624l0,-5.498c-2.372,2.618 -4.713,4.528 -7.023,5.729c-2.31,1.201 -4.651,1.802 -7.023,1.802c-2.772,0 -5.105,-0.462 -7,-1.386c-1.894,-0.924 -3.426,-2.179 -4.597,-3.766c-1.17,-1.586 -2.01,-3.434 -2.518,-5.544c-0.508,-2.11 -0.762,-4.674 -0.762,-7.693l0,-25.226c0,-0.246 0.054,-0.454 0.162,-0.624c0.107,-0.169 0.315,-0.323 0.623,-0.462c0.308,-0.138 0.709,-0.231 1.202,-0.277c0.492,-0.046 1.108,-0.069 1.848,-0.069c0.739,0 1.355,0.023 1.848,0.069c0.493,0.046 0.885,0.139 1.178,0.277c0.292,0.139 0.5,0.293 0.624,0.462c0.123,0.17 0.184,0.378 0.184,0.624l0,24.21c0,2.433 0.178,4.382 0.532,5.845c0.354,1.463 0.893,2.71 1.617,3.742c0.724,1.032 1.64,1.833 2.749,2.403c1.109,0.569 2.402,0.854 3.881,0.854c1.91,0 3.812,-0.677 5.706,-2.033c1.894,-1.355 3.904,-3.342 6.029,-5.96l0,-29.061c0,-0.246 0.054,-0.454 0.162,-0.624c0.108,-0.169 0.316,-0.323 0.624,-0.462c0.308,-0.138 0.7,-0.231 1.178,-0.277c0.477,-0.046 1.101,-0.069 1.871,-0.069c0.739,0 1.355,0.023 1.848,0.069c0.493,0.046 0.878,0.139 1.155,0.277c0.277,0.139 0.485,0.293 0.624,0.462c0.139,0.17 0.208,0.378 0.208,0.624l0,41.582Z" style="fill:#333;fill-rule:nonzero;"/><path d="M676.001,283.389c0,0.247 -0.061,0.454 -0.184,0.624c-0.124,0.169 -0.324,0.316 -0.601,0.439c-0.277,0.123 -0.662,0.215 -1.155,0.277c-0.493,0.062 -1.109,0.092 -1.848,0.092c-0.77,0 -1.402,-0.03 -1.894,-0.092c-0.493,-0.062 -0.878,-0.154 -1.155,-0.277c-0.278,-0.123 -0.478,-0.27 -0.601,-0.439c-0.123,-0.17 -0.185,-0.377 -0.185,-0.624l0,-24.349c0,-2.371 -0.185,-4.281 -0.554,-5.729c-0.37,-1.447 -0.909,-2.695 -1.617,-3.742c-0.709,-1.047 -1.625,-1.848 -2.749,-2.403c-1.125,-0.554 -2.426,-0.831 -3.905,-0.831c-1.909,0 -3.819,0.677 -5.729,2.033c-1.909,1.355 -3.911,3.342 -6.006,5.96l0,29.061c0,0.247 -0.062,0.454 -0.185,0.624c-0.123,0.169 -0.323,0.316 -0.6,0.439c-0.278,0.123 -0.663,0.215 -1.155,0.277c-0.493,0.062 -1.125,0.092 -1.895,0.092c-0.739,0 -1.355,-0.03 -1.848,-0.092c-0.493,-0.062 -0.885,-0.154 -1.178,-0.277c-0.293,-0.123 -0.493,-0.27 -0.601,-0.439c-0.107,-0.17 -0.161,-0.377 -0.161,-0.624l0,-41.582c0,-0.246 0.046,-0.454 0.138,-0.624c0.093,-0.169 0.277,-0.323 0.555,-0.462c0.277,-0.138 0.631,-0.231 1.062,-0.277c0.432,-0.046 1.001,-0.069 1.71,-0.069c0.677,0 1.24,0.023 1.686,0.069c0.447,0.046 0.793,0.139 1.04,0.277c0.246,0.139 0.423,0.293 0.531,0.462c0.108,0.17 0.162,0.378 0.162,0.624l0,5.498c2.341,-2.618 4.674,-4.535 6.999,-5.752c2.326,-1.217 4.675,-1.825 7.046,-1.825c2.772,0 5.106,0.47 7,1.409c1.894,0.939 3.427,2.195 4.597,3.766c1.171,1.57 2.01,3.411 2.518,5.521c0.508,2.11 0.762,4.643 0.762,7.6l0,25.365Z" style="fill:#333;fill-rule:nonzero;"/><path d="M697.532,283.389c0,0.247 -0.062,0.454 -0.185,0.624c-0.123,0.169 -0.323,0.316 -0.601,0.439c-0.277,0.123 -0.662,0.215 -1.155,0.277c-0.493,0.062 -1.124,0.092 -1.894,0.092c-0.739,0 -1.355,-0.03 -1.848,-0.092c-0.493,-0.062 -0.886,-0.154 -1.178,-0.277c-0.293,-0.123 -0.493,-0.27 -0.601,-0.439c-0.108,-0.17 -0.162,-0.377 -0.162,-0.624l0,-41.582c0,-0.216 0.054,-0.416 0.162,-0.601c0.108,-0.184 0.308,-0.338 0.601,-0.462c0.292,-0.123 0.685,-0.215 1.178,-0.277c0.493,-0.061 1.109,-0.092 1.848,-0.092c0.77,0 1.401,0.031 1.894,0.092c0.493,0.062 0.878,0.154 1.155,0.277c0.278,0.124 0.478,0.278 0.601,0.462c0.123,0.185 0.185,0.385 0.185,0.601l0,41.582Zm0.878,-55.628c0,1.787 -0.339,3.004 -1.017,3.65c-0.677,0.647 -1.925,0.971 -3.742,0.971c-1.787,0 -3.011,-0.316 -3.673,-0.947c-0.663,-0.632 -0.994,-1.825 -0.994,-3.581c0,-1.787 0.339,-3.003 1.017,-3.65c0.677,-0.647 1.925,-0.97 3.742,-0.97c1.787,0 3.011,0.315 3.673,0.947c0.663,0.631 0.994,1.825 0.994,3.58Z" style="fill:#333;fill-rule:nonzero;"/><path d="M733.246,280.34c0,0.893 -0.061,1.601 -0.185,2.125c-0.123,0.524 -0.308,0.909 -0.554,1.155c-0.246,0.247 -0.616,0.478 -1.109,0.693c-0.493,0.216 -1.055,0.393 -1.686,0.532c-0.632,0.138 -1.302,0.254 -2.01,0.346c-0.708,0.092 -1.417,0.139 -2.125,0.139c-2.156,0 -4.005,-0.285 -5.545,-0.855c-1.54,-0.57 -2.803,-1.432 -3.788,-2.587c-0.986,-1.155 -1.702,-2.619 -2.149,-4.39c-0.446,-1.771 -0.67,-3.858 -0.67,-6.26l0,-24.303l-5.821,0c-0.462,0 -0.832,-0.246 -1.109,-0.739c-0.277,-0.493 -0.416,-1.293 -0.416,-2.402c0,-0.586 0.039,-1.078 0.116,-1.479c0.077,-0.4 0.177,-0.731 0.3,-0.993c0.123,-0.262 0.285,-0.447 0.485,-0.555c0.2,-0.107 0.424,-0.161 0.67,-0.161l5.775,0l0,-9.888c0,-0.215 0.054,-0.415 0.162,-0.6c0.108,-0.185 0.308,-0.347 0.601,-0.485c0.292,-0.139 0.685,-0.239 1.178,-0.301c0.493,-0.061 1.109,-0.092 1.848,-0.092c0.77,0 1.401,0.031 1.894,0.092c0.493,0.062 0.878,0.162 1.155,0.301c0.278,0.138 0.478,0.3 0.601,0.485c0.123,0.185 0.185,0.385 0.185,0.6l0,9.888l10.673,0c0.246,0 0.462,0.054 0.646,0.161c0.185,0.108 0.347,0.293 0.486,0.555c0.138,0.262 0.238,0.593 0.3,0.993c0.061,0.401 0.092,0.893 0.092,1.479c0,1.109 -0.138,1.909 -0.416,2.402c-0.277,0.493 -0.646,0.739 -1.108,0.739l-10.673,0l0,23.194c0,2.865 0.423,5.028 1.27,6.491c0.847,1.464 2.364,2.195 4.551,2.195c0.709,0 1.34,-0.069 1.895,-0.208c0.554,-0.138 1.047,-0.285 1.478,-0.439c0.431,-0.154 0.801,-0.3 1.109,-0.439c0.308,-0.138 0.585,-0.208 0.832,-0.208c0.154,0 0.3,0.039 0.439,0.116c0.138,0.077 0.246,0.223 0.323,0.439c0.077,0.215 0.146,0.508 0.208,0.878c0.061,0.369 0.092,0.831 0.092,1.386Z" style="fill:#333;fill-rule:nonzero;"/><path d="M762.261,284.544l-5.544,15.293c-0.185,0.493 -0.654,0.87 -1.409,1.132c-0.755,0.262 -1.902,0.393 -3.442,0.393c-0.801,0 -1.448,-0.039 -1.941,-0.116c-0.493,-0.077 -0.87,-0.208 -1.132,-0.392c-0.261,-0.185 -0.408,-0.432 -0.439,-0.74c-0.03,-0.308 0.047,-0.677 0.231,-1.108l5.73,-14.462c-0.278,-0.123 -0.539,-0.323 -0.786,-0.6c-0.246,-0.278 -0.416,-0.57 -0.508,-0.878l-14.831,-39.734c-0.247,-0.647 -0.37,-1.155 -0.37,-1.525c0,-0.37 0.123,-0.662 0.37,-0.878c0.246,-0.215 0.647,-0.362 1.201,-0.439c0.555,-0.077 1.294,-0.115 2.218,-0.115c0.924,0 1.648,0.023 2.171,0.069c0.524,0.046 0.94,0.131 1.248,0.254c0.308,0.123 0.531,0.3 0.67,0.531c0.138,0.231 0.285,0.547 0.439,0.948l11.874,33.358l0.138,0l11.459,-33.543c0.184,-0.585 0.408,-0.963 0.669,-1.132c0.262,-0.17 0.655,-0.293 1.179,-0.37c0.523,-0.077 1.278,-0.115 2.264,-0.115c0.862,0 1.57,0.038 2.125,0.115c0.554,0.077 0.962,0.224 1.224,0.439c0.262,0.216 0.393,0.508 0.393,0.878c0,0.37 -0.092,0.832 -0.277,1.386l-14.924,41.351Z" style="fill:#333;fill-rule:nonzero;"/><path d="M840.528,267.773c0,2.803 -0.516,5.298 -1.548,7.485c-1.031,2.186 -2.464,4.042 -4.296,5.567c-1.833,1.525 -3.989,2.672 -6.469,3.442c-2.479,0.77 -5.151,1.155 -8.016,1.155c-2.002,0 -3.858,-0.169 -5.567,-0.508c-1.71,-0.339 -3.234,-0.755 -4.574,-1.248c-1.34,-0.492 -2.464,-1.001 -3.373,-1.524c-0.909,-0.524 -1.54,-0.971 -1.894,-1.34c-0.355,-0.37 -0.616,-0.84 -0.786,-1.409c-0.169,-0.57 -0.254,-1.333 -0.254,-2.287c0,-0.678 0.031,-1.24 0.093,-1.687c0.061,-0.446 0.154,-0.808 0.277,-1.086c0.123,-0.277 0.277,-0.469 0.462,-0.577c0.185,-0.108 0.4,-0.162 0.647,-0.162c0.431,0 1.039,0.262 1.825,0.786c0.785,0.523 1.794,1.093 3.026,1.709c1.232,0.616 2.718,1.194 4.458,1.733c1.741,0.539 3.75,0.808 6.03,0.808c1.725,0 3.303,-0.231 4.736,-0.693c1.432,-0.462 2.664,-1.116 3.696,-1.963c1.032,-0.847 1.825,-1.887 2.379,-3.119c0.555,-1.232 0.832,-2.634 0.832,-4.204c0,-1.695 -0.385,-3.142 -1.155,-4.343c-0.77,-1.202 -1.787,-2.257 -3.05,-3.165c-1.262,-0.909 -2.702,-1.741 -4.32,-2.495c-1.617,-0.755 -3.272,-1.525 -4.966,-2.31c-1.694,-0.786 -3.342,-1.656 -4.944,-2.611c-1.602,-0.955 -3.034,-2.079 -4.297,-3.373c-1.263,-1.293 -2.287,-2.81 -3.072,-4.551c-0.786,-1.74 -1.178,-3.827 -1.178,-6.26c0,-2.495 0.454,-4.72 1.363,-6.676c0.908,-1.956 2.171,-3.596 3.788,-4.921c1.617,-1.324 3.542,-2.333 5.775,-3.026c2.234,-0.693 4.644,-1.04 7.231,-1.04c1.325,0 2.657,0.116 3.997,0.347c1.34,0.231 2.602,0.539 3.788,0.924c1.186,0.385 2.241,0.816 3.165,1.294c0.924,0.477 1.532,0.862 1.825,1.155c0.293,0.292 0.485,0.523 0.578,0.693c0.092,0.169 0.169,0.385 0.231,0.647c0.061,0.261 0.107,0.577 0.138,0.947c0.031,0.369 0.046,0.847 0.046,1.432c0,0.554 -0.023,1.047 -0.069,1.479c-0.046,0.431 -0.115,0.793 -0.208,1.085c-0.092,0.293 -0.223,0.508 -0.392,0.647c-0.17,0.139 -0.362,0.208 -0.578,0.208c-0.339,0 -0.87,-0.216 -1.594,-0.647c-0.724,-0.431 -1.609,-0.916 -2.657,-1.455c-1.047,-0.539 -2.287,-1.032 -3.719,-1.479c-1.432,-0.446 -3.042,-0.67 -4.828,-0.67c-1.663,0 -3.111,0.224 -4.343,0.67c-1.232,0.447 -2.249,1.04 -3.049,1.779c-0.801,0.739 -1.402,1.617 -1.802,2.634c-0.401,1.016 -0.601,2.094 -0.601,3.234c0,1.663 0.385,3.095 1.155,4.297c0.77,1.201 1.794,2.264 3.073,3.188c1.278,0.924 2.733,1.771 4.366,2.541c1.632,0.77 3.295,1.548 4.99,2.333c1.694,0.785 3.357,1.648 4.989,2.587c1.633,0.94 3.088,2.049 4.367,3.327c1.278,1.278 2.31,2.787 3.095,4.528c0.786,1.74 1.178,3.796 1.178,6.168Z" style="fill:#333;fill-rule:nonzero;"/><path d="M886.638,283.389c0,0.247 -0.054,0.454 -0.161,0.624c-0.108,0.169 -0.301,0.316 -0.578,0.439c-0.277,0.123 -0.639,0.215 -1.086,0.277c-0.446,0.062 -0.993,0.092 -1.64,0.092c-0.708,0 -1.286,-0.03 -1.733,-0.092c-0.446,-0.062 -0.8,-0.154 -1.062,-0.277c-0.262,-0.123 -0.439,-0.27 -0.532,-0.439c-0.092,-0.17 -0.138,-0.377 -0.138,-0.624l0,-5.498c-2.372,2.618 -4.713,4.528 -7.023,5.729c-2.31,1.201 -4.651,1.802 -7.023,1.802c-2.772,0 -5.105,-0.462 -6.999,-1.386c-1.895,-0.924 -3.427,-2.179 -4.597,-3.766c-1.171,-1.586 -2.01,-3.434 -2.519,-5.544c-0.508,-2.11 -0.762,-4.674 -0.762,-7.693l0,-25.226c0,-0.246 0.054,-0.454 0.162,-0.624c0.108,-0.169 0.316,-0.323 0.624,-0.462c0.308,-0.138 0.708,-0.231 1.201,-0.277c0.493,-0.046 1.109,-0.069 1.848,-0.069c0.739,0 1.355,0.023 1.848,0.069c0.493,0.046 0.886,0.139 1.178,0.277c0.293,0.139 0.501,0.293 0.624,0.462c0.123,0.17 0.185,0.378 0.185,0.624l0,24.21c0,2.433 0.177,4.382 0.531,5.845c0.354,1.463 0.893,2.71 1.617,3.742c0.724,1.032 1.64,1.833 2.749,2.403c1.109,0.569 2.403,0.854 3.881,0.854c1.91,0 3.812,-0.677 5.706,-2.033c1.895,-1.355 3.904,-3.342 6.03,-5.96l0,-29.061c0,-0.246 0.054,-0.454 0.161,-0.624c0.108,-0.169 0.316,-0.323 0.624,-0.462c0.308,-0.138 0.701,-0.231 1.178,-0.277c0.478,-0.046 1.101,-0.069 1.871,-0.069c0.74,0 1.356,0.023 1.849,0.069c0.492,0.046 0.877,0.139 1.155,0.277c0.277,0.139 0.485,0.293 0.623,0.462c0.139,0.17 0.208,0.378 0.208,0.624l0,41.582Z" style="fill:#333;fill-rule:nonzero;"/><path d="M938.986,261.951c0,3.635 -0.393,6.9 -1.179,9.795c-0.785,2.895 -1.94,5.352 -3.465,7.369c-1.524,2.018 -3.411,3.573 -5.66,4.667c-2.248,1.093 -4.82,1.64 -7.715,1.64c-1.232,0 -2.372,-0.123 -3.419,-0.37c-1.048,-0.246 -2.072,-0.631 -3.073,-1.155c-1.001,-0.523 -1.994,-1.185 -2.98,-1.986c-0.986,-0.801 -2.033,-1.741 -3.142,-2.819l0,20.791c0,0.247 -0.061,0.462 -0.184,0.647c-0.124,0.185 -0.324,0.339 -0.601,0.462c-0.277,0.123 -0.662,0.216 -1.155,0.277c-0.493,0.062 -1.124,0.093 -1.894,0.093c-0.74,0 -1.356,-0.031 -1.849,-0.093c-0.492,-0.061 -0.885,-0.154 -1.178,-0.277c-0.292,-0.123 -0.493,-0.277 -0.6,-0.462c-0.108,-0.185 -0.162,-0.4 -0.162,-0.647l0,-58.076c0,-0.277 0.046,-0.501 0.139,-0.67c0.092,-0.169 0.277,-0.316 0.554,-0.439c0.277,-0.123 0.631,-0.208 1.063,-0.254c0.431,-0.046 0.954,-0.069 1.571,-0.069c0.646,0 1.178,0.023 1.594,0.069c0.415,0.046 0.762,0.131 1.039,0.254c0.277,0.123 0.47,0.27 0.578,0.439c0.107,0.169 0.161,0.393 0.161,0.67l0,5.59c1.263,-1.293 2.48,-2.417 3.65,-3.372c1.171,-0.955 2.349,-1.748 3.535,-2.38c1.186,-0.631 2.402,-1.109 3.65,-1.432c1.247,-0.323 2.564,-0.485 3.95,-0.485c3.019,0 5.591,0.585 7.716,1.756c2.125,1.17 3.858,2.772 5.198,4.805c1.34,2.033 2.317,4.397 2.933,7.092c0.617,2.695 0.925,5.552 0.925,8.57Zm-7.901,0.878c0,-2.125 -0.163,-4.181 -0.488,-6.168c-0.325,-1.987 -0.883,-3.75 -1.673,-5.29c-0.791,-1.54 -1.852,-2.772 -3.185,-3.696c-1.332,-0.924 -2.99,-1.386 -4.974,-1.386c-0.992,0 -1.968,0.146 -2.929,0.439c-0.96,0.292 -1.936,0.754 -2.928,1.386c-0.992,0.631 -2.03,1.463 -3.115,2.495c-1.085,1.031 -2.231,2.302 -3.44,3.811l0,16.541c2.108,2.556 4.107,4.512 5.997,5.867c1.891,1.356 3.874,2.033 5.95,2.033c1.922,0 3.572,-0.462 4.951,-1.386c1.379,-0.924 2.495,-2.156 3.347,-3.696c0.852,-1.54 1.48,-3.265 1.883,-5.175c0.403,-1.909 0.604,-3.834 0.604,-5.775Z" style="fill:#333;fill-rule:nonzero;"/><path d="M988.699,261.951c0,3.635 -0.392,6.9 -1.178,9.795c-0.785,2.895 -1.94,5.352 -3.465,7.369c-1.525,2.018 -3.411,3.573 -5.66,4.667c-2.248,1.093 -4.82,1.64 -7.716,1.64c-1.232,0 -2.371,-0.123 -3.419,-0.37c-1.047,-0.246 -2.071,-0.631 -3.072,-1.155c-1.001,-0.523 -1.994,-1.185 -2.98,-1.986c-0.986,-0.801 -2.033,-1.741 -3.142,-2.819l0,20.791c0,0.247 -0.061,0.462 -0.185,0.647c-0.123,0.185 -0.323,0.339 -0.6,0.462c-0.278,0.123 -0.663,0.216 -1.155,0.277c-0.493,0.062 -1.125,0.093 -1.895,0.093c-0.739,0 -1.355,-0.031 -1.848,-0.093c-0.493,-0.061 -0.885,-0.154 -1.178,-0.277c-0.293,-0.123 -0.493,-0.277 -0.601,-0.462c-0.107,-0.185 -0.161,-0.4 -0.161,-0.647l0,-58.076c0,-0.277 0.046,-0.501 0.138,-0.67c0.093,-0.169 0.278,-0.316 0.555,-0.439c0.277,-0.123 0.631,-0.208 1.062,-0.254c0.432,-0.046 0.955,-0.069 1.571,-0.069c0.647,0 1.178,0.023 1.594,0.069c0.416,0.046 0.763,0.131 1.04,0.254c0.277,0.123 0.47,0.27 0.577,0.439c0.108,0.169 0.162,0.393 0.162,0.67l0,5.59c1.263,-1.293 2.48,-2.417 3.65,-3.372c1.171,-0.955 2.349,-1.748 3.535,-2.38c1.185,-0.631 2.402,-1.109 3.65,-1.432c1.247,-0.323 2.564,-0.485 3.95,-0.485c3.018,0 5.59,0.585 7.716,1.756c2.125,1.17 3.858,2.772 5.197,4.805c1.34,2.033 2.318,4.397 2.934,7.092c0.616,2.695 0.924,5.552 0.924,8.57Zm-7.9,0.878c0,-2.125 -0.163,-4.181 -0.488,-6.168c-0.326,-1.987 -0.883,-3.75 -1.674,-5.29c-0.79,-1.54 -1.851,-2.772 -3.184,-3.696c-1.333,-0.924 -2.991,-1.386 -4.974,-1.386c-0.992,0 -1.968,0.146 -2.929,0.439c-0.96,0.292 -1.937,0.754 -2.928,1.386c-0.992,0.631 -2.03,1.463 -3.115,2.495c-1.085,1.031 -2.231,2.302 -3.44,3.811l0,16.541c2.108,2.556 4.107,4.512 5.997,5.867c1.891,1.356 3.874,2.033 5.95,2.033c1.921,0 3.571,-0.462 4.951,-1.386c1.379,-0.924 2.494,-2.156 3.347,-3.696c0.852,-1.54 1.48,-3.265 1.882,-5.175c0.403,-1.909 0.605,-3.834 0.605,-5.775Z" style="fill:#333;fill-rule:nonzero;"/><path d="M1038.83,262.136c0,3.388 -0.447,6.507 -1.34,9.356c-0.893,2.849 -2.225,5.306 -3.996,7.369c-1.772,2.064 -3.989,3.673 -6.654,4.828c-2.664,1.156 -5.752,1.733 -9.263,1.733c-3.419,0 -6.399,-0.508 -8.94,-1.525c-2.541,-1.016 -4.659,-2.495 -6.353,-4.435c-1.694,-1.941 -2.957,-4.297 -3.789,-7.069c-0.831,-2.772 -1.247,-5.914 -1.247,-9.425c0,-3.388 0.439,-6.507 1.317,-9.356c0.877,-2.849 2.202,-5.306 3.973,-7.37c1.771,-2.063 3.981,-3.665 6.63,-4.805c2.649,-1.139 5.744,-1.709 9.287,-1.709c3.419,0 6.399,0.508 8.94,1.525c2.541,1.016 4.659,2.494 6.353,4.435c1.694,1.94 2.964,4.297 3.811,7.069c0.847,2.772 1.271,5.898 1.271,9.379Zm-7.901,0.508c0,-2.248 -0.21,-4.374 -0.629,-6.376c-0.42,-2.002 -1.111,-3.757 -2.075,-5.267c-0.963,-1.509 -2.269,-2.703 -3.916,-3.58c-1.647,-0.878 -3.698,-1.317 -6.154,-1.317c-2.269,0 -4.219,0.4 -5.851,1.201c-1.631,0.801 -2.976,1.933 -4.032,3.396c-1.057,1.463 -1.842,3.196 -2.354,5.198c-0.513,2.002 -0.77,4.189 -0.77,6.56c0,2.28 0.21,4.42 0.63,6.423c0.42,2.002 1.119,3.75 2.098,5.244c0.979,1.493 2.292,2.679 3.939,3.557c1.647,0.878 3.698,1.317 6.154,1.317c2.238,0 4.18,-0.401 5.827,-1.201c1.648,-0.801 3,-1.925 4.056,-3.373c1.057,-1.448 1.834,-3.173 2.331,-5.175c0.498,-2.002 0.746,-4.204 0.746,-6.607Z" style="fill:#333;fill-rule:nonzero;"/><path d="M1074.36,244.533c0,0.678 -0.016,1.247 -0.047,1.709c-0.03,0.462 -0.092,0.824 -0.184,1.086c-0.093,0.262 -0.208,0.462 -0.347,0.601c-0.139,0.138 -0.331,0.208 -0.577,0.208c-0.247,0 -0.547,-0.07 -0.901,-0.208c-0.355,-0.139 -0.755,-0.277 -1.202,-0.416c-0.446,-0.139 -0.947,-0.27 -1.501,-0.393c-0.555,-0.123 -1.155,-0.185 -1.802,-0.185c-0.77,0 -1.525,0.154 -2.264,0.462c-0.739,0.308 -1.517,0.817 -2.333,1.525c-0.817,0.709 -1.671,1.648 -2.565,2.818c-0.893,1.171 -1.878,2.603 -2.956,4.297l0,27.352c0,0.247 -0.062,0.454 -0.185,0.624c-0.124,0.169 -0.324,0.316 -0.601,0.439c-0.277,0.123 -0.662,0.215 -1.155,0.277c-0.493,0.062 -1.124,0.092 -1.894,0.092c-0.74,0 -1.356,-0.03 -1.848,-0.092c-0.493,-0.062 -0.886,-0.154 -1.179,-0.277c-0.292,-0.123 -0.492,-0.27 -0.6,-0.439c-0.108,-0.17 -0.162,-0.377 -0.162,-0.624l0,-41.582c0,-0.246 0.046,-0.454 0.139,-0.624c0.092,-0.169 0.277,-0.323 0.554,-0.462c0.277,-0.138 0.632,-0.231 1.063,-0.277c0.431,-0.046 1.001,-0.069 1.709,-0.069c0.678,0 1.24,0.023 1.687,0.069c0.446,0.046 0.793,0.139 1.039,0.277c0.247,0.139 0.424,0.293 0.532,0.462c0.107,0.17 0.161,0.378 0.161,0.624l0,6.052c1.14,-1.663 2.21,-3.018 3.211,-4.065c1.001,-1.048 1.949,-1.872 2.842,-2.472c0.893,-0.601 1.779,-1.017 2.656,-1.248c0.878,-0.231 1.764,-0.346 2.657,-0.346c0.4,0 0.855,0.023 1.363,0.069c0.508,0.046 1.04,0.131 1.594,0.254c0.554,0.123 1.055,0.262 1.502,0.416c0.446,0.154 0.762,0.308 0.947,0.462c0.185,0.154 0.308,0.3 0.369,0.439c0.062,0.139 0.116,0.316 0.162,0.531c0.046,0.216 0.077,0.532 0.092,0.948c0.016,0.415 0.024,0.977 0.024,1.686Z" style="fill:#333;fill-rule:nonzero;"/><path d="M1104.67,280.34c0,0.893 -0.061,1.601 -0.184,2.125c-0.124,0.524 -0.308,0.909 -0.555,1.155c-0.246,0.247 -0.616,0.478 -1.109,0.693c-0.493,0.216 -1.055,0.393 -1.686,0.532c-0.632,0.138 -1.302,0.254 -2.01,0.346c-0.708,0.092 -1.417,0.139 -2.125,0.139c-2.156,0 -4.004,-0.285 -5.545,-0.855c-1.54,-0.57 -2.802,-1.432 -3.788,-2.587c-0.986,-1.155 -1.702,-2.619 -2.149,-4.39c-0.446,-1.771 -0.669,-3.858 -0.669,-6.26l0,-24.303l-5.822,0c-0.462,0 -0.832,-0.246 -1.109,-0.739c-0.277,-0.493 -0.416,-1.293 -0.416,-2.402c0,-0.586 0.039,-1.078 0.116,-1.479c0.077,-0.4 0.177,-0.731 0.3,-0.993c0.123,-0.262 0.285,-0.447 0.485,-0.555c0.2,-0.107 0.424,-0.161 0.67,-0.161l5.776,0l0,-9.888c0,-0.215 0.053,-0.415 0.161,-0.6c0.108,-0.185 0.308,-0.347 0.601,-0.485c0.292,-0.139 0.685,-0.239 1.178,-0.301c0.493,-0.061 1.109,-0.092 1.848,-0.092c0.77,0 1.402,0.031 1.894,0.092c0.493,0.062 0.878,0.162 1.155,0.301c0.278,0.138 0.478,0.3 0.601,0.485c0.123,0.185 0.185,0.385 0.185,0.6l0,9.888l10.673,0c0.246,0 0.462,0.054 0.646,0.161c0.185,0.108 0.347,0.293 0.486,0.555c0.138,0.262 0.238,0.593 0.3,0.993c0.062,0.401 0.092,0.893 0.092,1.479c0,1.109 -0.138,1.909 -0.415,2.402c-0.278,0.493 -0.647,0.739 -1.109,0.739l-10.673,0l0,23.194c0,2.865 0.423,5.028 1.27,6.491c0.848,1.464 2.364,2.195 4.551,2.195c0.709,0 1.34,-0.069 1.895,-0.208c0.554,-0.138 1.047,-0.285 1.478,-0.439c0.431,-0.154 0.801,-0.3 1.109,-0.439c0.308,-0.138 0.585,-0.208 0.832,-0.208c0.154,0 0.3,0.039 0.439,0.116c0.138,0.077 0.246,0.223 0.323,0.439c0.077,0.215 0.146,0.508 0.208,0.878c0.062,0.369 0.092,0.831 0.092,1.386Z" style="fill:#333;fill-rule:nonzero;"/><path d="M1149.21,260.796c0,1.201 -0.301,2.056 -0.904,2.564c-0.604,0.509 -1.292,0.763 -2.066,0.763l-27.385,0c0,2.31 0.233,4.389 0.697,6.237c0.464,1.848 1.238,3.434 2.321,4.759c1.083,1.324 2.492,2.341 4.225,3.049c1.733,0.709 3.854,1.063 6.36,1.063c1.981,0 3.746,-0.162 5.293,-0.485c1.548,-0.324 2.886,-0.686 4.016,-1.086c1.13,-0.4 2.059,-0.762 2.786,-1.086c0.727,-0.323 1.277,-0.485 1.649,-0.485c0.216,0 0.409,0.054 0.58,0.162c0.17,0.108 0.301,0.269 0.394,0.485c0.093,0.216 0.163,0.516 0.209,0.901c0.047,0.385 0.07,0.855 0.07,1.409c0,0.401 -0.016,0.747 -0.046,1.04c-0.031,0.292 -0.07,0.554 -0.116,0.785c-0.046,0.231 -0.123,0.439 -0.231,0.624c-0.108,0.185 -0.246,0.362 -0.416,0.531c-0.169,0.17 -0.67,0.447 -1.501,0.832c-0.832,0.385 -1.91,0.762 -3.235,1.132c-1.324,0.369 -2.856,0.701 -4.597,0.993c-1.74,0.293 -3.596,0.439 -5.567,0.439c-3.419,0 -6.414,-0.477 -8.986,-1.432c-2.572,-0.955 -4.736,-2.372 -6.492,-4.251c-1.756,-1.879 -3.08,-4.235 -3.973,-7.069c-0.894,-2.834 -1.34,-6.129 -1.34,-9.887c0,-3.573 0.462,-6.784 1.386,-9.633c0.924,-2.849 2.256,-5.267 3.996,-7.254c1.741,-1.987 3.843,-3.511 6.307,-4.574c2.464,-1.063 5.221,-1.594 8.27,-1.594c3.265,0 6.045,0.524 8.34,1.571c2.295,1.047 4.181,2.456 5.66,4.227c1.478,1.771 2.564,3.85 3.257,6.238c0.693,2.387 1.039,4.936 1.039,7.646l0,1.386Zm-7.669,-2.264c0.092,-4.004 -0.799,-7.146 -2.673,-9.425c-1.875,-2.279 -4.656,-3.419 -8.344,-3.419c-1.891,0 -3.549,0.354 -4.974,1.063c-1.426,0.708 -2.619,1.648 -3.58,2.818c-0.961,1.17 -1.705,2.533 -2.231,4.089c-0.527,1.555 -0.821,3.18 -0.884,4.874l22.686,0Z" style="fill:#333;fill-rule:nonzero;"/><path d="M1196.42,283.389c0,0.247 -0.054,0.462 -0.161,0.647c-0.108,0.185 -0.293,0.331 -0.555,0.439c-0.262,0.108 -0.608,0.192 -1.039,0.254c-0.432,0.062 -0.955,0.092 -1.571,0.092c-0.647,0 -1.186,-0.03 -1.617,-0.092c-0.432,-0.062 -0.786,-0.146 -1.063,-0.254c-0.277,-0.108 -0.477,-0.254 -0.601,-0.439c-0.123,-0.185 -0.184,-0.4 -0.184,-0.647l0,-5.498c-2.187,2.372 -4.459,4.22 -6.815,5.544c-2.357,1.325 -4.936,1.987 -7.739,1.987c-3.05,0 -5.652,-0.593 -7.808,-1.779c-2.157,-1.186 -3.905,-2.787 -5.244,-4.805c-1.34,-2.017 -2.318,-4.389 -2.934,-7.115c-0.616,-2.726 -0.924,-5.598 -0.924,-8.617c0,-3.573 0.385,-6.799 1.155,-9.679c0.77,-2.88 1.909,-5.336 3.419,-7.369c1.509,-2.033 3.38,-3.596 5.613,-4.69c2.233,-1.093 4.813,-1.64 7.739,-1.64c2.434,0 4.659,0.531 6.676,1.594c2.018,1.063 4.012,2.626 5.984,4.689l0,-24.163c0,-0.216 0.054,-0.424 0.161,-0.624c0.108,-0.2 0.316,-0.354 0.624,-0.462c0.308,-0.108 0.701,-0.2 1.178,-0.277c0.478,-0.077 1.086,-0.116 1.825,-0.116c0.77,0 1.402,0.039 1.895,0.116c0.492,0.077 0.877,0.169 1.155,0.277c0.277,0.108 0.485,0.262 0.623,0.462c0.139,0.2 0.208,0.408 0.208,0.624l0,61.541Zm-7.669,-29.246c-2.064,-2.557 -4.058,-4.505 -5.984,-5.845c-1.925,-1.339 -3.934,-2.009 -6.029,-2.009c-1.94,0 -3.588,0.462 -4.944,1.386c-1.355,0.924 -2.456,2.14 -3.303,3.65c-0.847,1.509 -1.463,3.218 -1.848,5.128c-0.385,1.91 -0.578,3.85 -0.578,5.822c0,2.094 0.162,4.142 0.485,6.145c0.324,2.002 0.886,3.78 1.687,5.336c0.801,1.555 1.863,2.803 3.188,3.742c1.324,0.94 2.988,1.41 4.99,1.41c1.016,0 1.994,-0.139 2.934,-0.416c0.939,-0.278 1.902,-0.74 2.887,-1.386c0.986,-0.647 2.018,-1.487 3.096,-2.518c1.078,-1.032 2.217,-2.303 3.419,-3.812l0,-16.633Z" style="fill:#333;fill-rule:nonzero;"/><g><g><path d="M280.884,219.245c1.765,0 3.198,-1.433 3.198,-3.198l0,-6.395c0,-1.765 -1.433,-3.197 -3.198,-3.197l-225.605,0c-1.764,0 -3.197,1.432 -3.197,3.197l0,6.395c0,1.765 1.433,3.198 3.197,3.198l225.605,0Z" style="fill:#8c8c8c;"/><path d="M280.884,165.588c1.765,0 3.198,-1.433 3.198,-3.198l0,-6.395c0,-1.765 -1.433,-3.197 -3.198,-3.197l-225.605,0c-1.764,0 -3.197,1.432 -3.197,3.197l0,6.395c0,1.765 1.433,3.198 3.197,3.198l225.605,0Z" style="fill:#8c8c8c;"/><path d="M280.884,192.416c1.765,0 3.198,-1.432 3.198,-3.197l0,-6.395c0,-1.765 -1.433,-3.198 -3.198,-3.198l-225.605,0c-1.764,0 -3.197,1.433 -3.197,3.198l0,6.395c0,1.765 1.433,3.197 3.197,3.197l225.605,0Z" style="fill:#8c8c8c;"/><path d="M280.884,138.759c1.765,0 3.198,-1.432 3.198,-3.197l0,-6.395c0,-1.765 -1.433,-3.198 -3.198,-3.198l-225.605,0c-1.764,0 -3.197,1.433 -3.197,3.198l0,6.395c0,1.765 1.433,3.197 3.197,3.197l225.605,0Z" style="fill:#8c8c8c;"/><path d="M280.884,246.074c1.765,0 3.198,-1.433 3.198,-3.198l0,-6.395c0,-1.765 -1.433,-3.198 -3.198,-3.198l-225.605,0c-1.764,0 -3.197,1.433 -3.197,3.198l0,6.395c0,1.765 1.433,3.198 3.197,3.198l225.605,0Z" style="fill:#8c8c8c;"/><path d="M134.858,298.824c0,1.764 1.433,3.197 3.198,3.197l6.395,0c1.765,0 3.197,-1.433 3.197,-3.197l0,-225.605c0,-1.765 -1.432,-3.198 -3.197,-3.198l-6.395,0c-1.765,0 -3.198,1.433 -3.198,3.198l0,225.605Z" style="fill:#8c8c8c;"/><path d="M188.515,298.824c0,1.764 1.433,3.197 3.198,3.197l6.395,0c1.765,0 3.198,-1.433 3.198,-3.197l0,-225.605c0,-1.765 -1.433,-3.198 -3.198,-3.198l-6.395,0c-1.765,0 -3.198,1.433 -3.198,3.198l0,225.605Z" style="fill:#8c8c8c;"/><path d="M161.687,298.824c0,1.764 1.432,3.197 3.197,3.197l6.395,0c1.765,0 3.198,-1.433 3.198,-3.197l0,-225.605c0,-1.765 -1.433,-3.198 -3.198,-3.198l-6.395,0c-1.765,0 -3.197,1.433 -3.197,3.198l0,225.605Z" style="fill:#8c8c8c;"/><path d="M215.344,298.824c0,1.764 1.433,3.197 3.197,3.197l6.396,0c1.764,0 3.197,-1.433 3.197,-3.197l0,-225.605c0,-1.765 -1.433,-3.198 -3.197,-3.198l-6.396,0c-1.764,0 -3.197,1.433 -3.197,3.198l0,225.605Z" style="fill:#8c8c8c;"/><path d="M108.029,298.824c0,1.764 1.433,3.197 3.198,3.197l6.395,0c1.765,0 3.198,-1.433 3.198,-3.197l0,-225.605c0,-1.765 -1.433,-3.198 -3.198,-3.198l-6.395,0c-1.765,0 -3.198,1.433 -3.198,3.198l0,225.605Z" style="fill:#8c8c8c;"/></g><path d="M232.655,278.269c15.274,0 27.674,-12.401 27.674,-27.674l0,-129.147c0,-15.274 -12.4,-27.674 -27.674,-27.674l-129.146,0c-15.274,0 -27.675,12.4 -27.675,27.674l0,129.147c0,15.273 12.401,27.674 27.675,27.674l129.146,0Z" style="fill:#333;"/><path d="M220.739,175.532c0,6.734 -1.056,12.768 -3.167,18.104c-2.112,5.335 -5.122,9.886 -9.031,13.653c-3.909,3.766 -8.645,6.676 -14.209,8.731c-5.564,2.054 -11.855,3.167 -18.874,3.338l0,20.458c0,0.456 -0.114,0.856 -0.343,1.198c-0.228,0.342 -0.627,0.614 -1.198,0.813c-0.571,0.2 -1.327,0.357 -2.268,0.471c-0.942,0.114 -2.126,0.171 -3.553,0.171c-1.426,0 -2.61,-0.057 -3.552,-0.171c-0.942,-0.114 -1.683,-0.271 -2.226,-0.471c-0.542,-0.199 -0.941,-0.471 -1.198,-0.813c-0.257,-0.342 -0.385,-0.742 -0.385,-1.198l0,-20.458c-7.133,-0.171 -13.496,-1.199 -19.088,-3.082c-5.593,-1.883 -10.329,-4.608 -14.21,-8.174c-3.88,-3.567 -6.847,-7.947 -8.902,-13.139c-2.054,-5.193 -3.081,-11.157 -3.081,-17.89l0,-43.741c0,-0.399 0.128,-0.77 0.385,-1.113c0.257,-0.342 0.656,-0.627 1.198,-0.856c0.542,-0.228 1.284,-0.399 2.226,-0.513c0.941,-0.114 2.125,-0.171 3.552,-0.171c1.427,0 2.611,0.057 3.552,0.171c0.942,0.114 1.698,0.285 2.269,0.513c0.57,0.229 0.97,0.514 1.198,0.856c0.228,0.343 0.343,0.714 0.343,1.113l0,42.457c0,4.736 0.627,9.002 1.883,12.796c1.255,3.795 3.138,7.019 5.649,9.673c2.511,2.654 5.692,4.708 9.544,6.163c3.852,1.455 8.346,2.24 13.482,2.354l0,-73.443c0,-0.399 0.128,-0.77 0.385,-1.113c0.257,-0.342 0.685,-0.627 1.284,-0.856c0.599,-0.228 1.37,-0.399 2.311,-0.513c0.942,-0.114 2.069,-0.171 3.381,-0.171c1.427,0 2.611,0.057 3.553,0.171c0.941,0.114 1.697,0.285 2.268,0.513c0.571,0.229 0.97,0.514 1.198,0.856c0.229,0.343 0.343,0.714 0.343,1.113l0,73.443c5.136,-0.057 9.615,-0.842 13.439,-2.354c3.823,-1.512 7.004,-3.595 9.544,-6.249c2.539,-2.653 4.451,-5.849 5.735,-9.587c1.284,-3.737 1.926,-7.889 1.926,-12.454l0,-42.799c0,-0.399 0.114,-0.77 0.342,-1.113c0.228,-0.342 0.628,-0.627 1.198,-0.856c0.571,-0.228 1.313,-0.399 2.226,-0.513c0.913,-0.114 2.111,-0.171 3.595,-0.171c1.37,0 2.525,0.057 3.467,0.171c0.941,0.114 1.683,0.285 2.225,0.513c0.542,0.229 0.942,0.514 1.199,0.856c0.256,0.343 0.385,0.714 0.385,1.113l0,42.2Z" style="fill:#fff;fill-rule:nonzero;"/><path d="M220.739,175.532c0,6.734 -1.056,12.768 -3.167,18.104c-2.112,5.335 -5.122,9.886 -9.031,13.653c-3.909,3.766 -8.645,6.676 -14.209,8.731c-5.564,2.054 -11.855,3.167 -18.874,3.338l0,20.458c0,0.456 -0.114,0.856 -0.343,1.198c-0.228,0.342 -0.627,0.614 -1.198,0.813c-0.571,0.2 -1.327,0.357 -2.268,0.471c-0.942,0.114 -2.126,0.171 -3.553,0.171c-1.426,0 -2.61,-0.057 -3.552,-0.171c-0.942,-0.114 -1.683,-0.271 -2.226,-0.471c-0.542,-0.199 -0.941,-0.471 -1.198,-0.813c-0.257,-0.342 -0.385,-0.742 -0.385,-1.198l0,-20.458c-7.133,-0.171 -13.496,-1.199 -19.088,-3.082c-5.593,-1.883 -10.329,-4.608 -14.21,-8.174c-3.88,-3.567 -6.847,-7.947 -8.902,-13.139c-2.054,-5.193 -3.081,-11.157 -3.081,-17.89l0,-43.741c0,-0.399 0.128,-0.77 0.385,-1.113c0.257,-0.342 0.656,-0.627 1.198,-0.856c0.542,-0.228 1.284,-0.399 2.226,-0.513c0.941,-0.114 2.125,-0.171 3.552,-0.171c1.427,0 2.611,0.057 3.552,0.171c0.942,0.114 1.698,0.285 2.269,0.513c0.57,0.229 0.97,0.514 1.198,0.856c0.228,0.343 0.343,0.714 0.343,1.113l0,42.457c0,4.736 0.627,9.002 1.883,12.796c1.255,3.795 3.138,7.019 5.649,9.673c2.511,2.654 5.692,4.708 9.544,6.163c3.852,1.455 8.346,2.24 13.482,2.354l0,-73.443c0,-0.399 0.128,-0.77 0.385,-1.113c0.257,-0.342 0.685,-0.627 1.284,-0.856c0.599,-0.228 1.37,-0.399 2.311,-0.513c0.942,-0.114 2.069,-0.171 3.381,-0.171c1.427,0 2.611,0.057 3.553,0.171c0.941,0.114 1.697,0.285 2.268,0.513c0.571,0.229 0.97,0.514 1.198,0.856c0.229,0.343 0.343,0.714 0.343,1.113l0,73.443c5.136,-0.057 9.615,-0.842 13.439,-2.354c3.823,-1.512 7.004,-3.595 9.544,-6.249c2.539,-2.653 4.451,-5.849 5.735,-9.587c1.284,-3.737 1.926,-7.889 1.926,-12.454l0,-42.799c0,-0.399 0.114,-0.77 0.342,-1.113c0.228,-0.342 0.628,-0.627 1.198,-0.856c0.571,-0.228 1.313,-0.399 2.226,-0.513c0.913,-0.114 2.111,-0.171 3.595,-0.171c1.37,0 2.525,0.057 3.467,0.171c0.941,0.114 1.683,0.285 2.225,0.513c0.542,0.229 0.942,0.514 1.199,0.856c0.256,0.343 0.385,0.714 0.385,1.113l0,42.2Z" style="fill:#fff;fill-rule:nonzero;"/></g></g></svg> \ No newline at end of file
+<?xml version="1.0" encoding="UTF-8" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg width="100%" height="100%" viewBox="0 0 1260 371" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" style="fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:1.41421;"><rect id="badge.-community.-light" x="0" y="0.321" width="1260" height="370" style="fill:none;"/><clipPath id="_clip1"><rect x="0" y="0.321" width="1260" height="370"/></clipPath><g clip-path="url(#_clip1)"><path d="M1260,33.621c0,-18.379 -14.921,-33.3 -33.3,-33.3l-1193.4,0c-18.379,0 -33.3,14.921 -33.3,33.3l0,303.4c0,18.378 14.921,33.3 33.3,33.3l1193.4,0c18.379,0 33.3,-14.922 33.3,-33.3l0,-303.4Z" style="fill:#fff;"/><path d="M426.392,189.328c0,1.077 -0.059,1.978 -0.176,2.704c-0.117,0.726 -0.293,1.288 -0.527,1.686c-0.234,0.398 -0.491,0.668 -0.772,0.808c-0.281,0.141 -0.563,0.211 -0.844,0.211c-0.936,0 -2.447,-0.386 -4.531,-1.159c-2.084,-0.773 -4.484,-1.897 -7.201,-3.372c-2.716,-1.476 -5.62,-3.267 -8.711,-5.375c-3.092,-2.107 -6.089,-4.566 -8.993,-7.376c-2.295,1.405 -5.199,2.622 -8.711,3.653c-3.513,1.03 -7.588,1.545 -12.224,1.545c-6.839,0 -12.752,-1.007 -17.74,-3.021c-4.988,-2.013 -9.109,-4.964 -12.364,-8.851c-3.255,-3.888 -5.679,-8.724 -7.272,-14.508c-1.592,-5.784 -2.388,-12.423 -2.388,-19.917c0,-7.213 0.866,-13.734 2.599,-19.566c1.733,-5.831 4.333,-10.795 7.798,-14.893c3.466,-4.098 7.799,-7.26 12.997,-9.485c5.199,-2.224 11.264,-3.337 18.196,-3.337c6.51,0 12.236,1.007 17.177,3.021c4.941,2.014 9.086,4.953 12.435,8.817c3.349,3.864 5.866,8.63 7.552,14.297c1.686,5.667 2.529,12.177 2.529,19.53c0,3.794 -0.222,7.424 -0.667,10.89c-0.445,3.466 -1.147,6.744 -2.108,9.835c-0.96,3.091 -2.166,5.948 -3.618,8.571c-1.452,2.623 -3.161,4.988 -5.128,7.096c3.419,2.81 6.416,5 8.992,6.569c2.576,1.569 4.707,2.751 6.393,3.547c1.687,0.797 2.998,1.37 3.935,1.722c0.936,0.351 1.639,0.749 2.107,1.194c0.469,0.445 0.796,1.077 0.984,1.897c0.187,0.819 0.281,1.908 0.281,3.267Zm-23.886,-53.745c0,-5.152 -0.457,-9.929 -1.37,-14.331c-0.914,-4.403 -2.436,-8.232 -4.567,-11.487c-2.131,-3.255 -4.976,-5.796 -8.536,-7.622c-3.559,-1.827 -7.962,-2.74 -13.207,-2.74c-5.246,0 -9.649,0.972 -13.208,2.915c-3.56,1.944 -6.452,4.567 -8.676,7.869c-2.225,3.302 -3.818,7.13 -4.778,11.486c-0.96,4.356 -1.44,8.969 -1.44,13.84c0,5.339 0.445,10.245 1.335,14.718c0.89,4.473 2.389,8.349 4.496,11.627c2.108,3.279 4.93,5.82 8.466,7.623c3.536,1.803 7.974,2.705 13.313,2.705c5.292,0 9.742,-0.984 13.348,-2.951c3.606,-1.967 6.51,-4.625 8.711,-7.974c2.202,-3.349 3.771,-7.236 4.707,-11.662c0.937,-4.426 1.406,-9.098 1.406,-14.016Z" style="fill:#333;fill-rule:nonzero;"/><path d="M534.723,179.492c0,0.375 -0.096,0.703 -0.289,0.984c-0.193,0.281 -0.531,0.503 -1.013,0.667c-0.483,0.164 -1.098,0.304 -1.846,0.421c-0.747,0.118 -1.724,0.176 -2.93,0.176c-1.109,0 -2.062,-0.058 -2.858,-0.176c-0.796,-0.117 -1.423,-0.257 -1.881,-0.421c-0.459,-0.164 -0.784,-0.386 -0.977,-0.667c-0.193,-0.281 -0.289,-0.609 -0.289,-0.984l0,-79.176l-0.141,0l-32.036,79.527c-0.14,0.328 -0.339,0.609 -0.597,0.843c-0.257,0.234 -0.632,0.434 -1.124,0.597c-0.492,0.164 -1.077,0.281 -1.756,0.352c-0.679,0.07 -1.487,0.105 -2.424,0.105c-0.984,0 -1.827,-0.047 -2.529,-0.14c-0.703,-0.094 -1.288,-0.223 -1.756,-0.387c-0.469,-0.164 -0.832,-0.363 -1.089,-0.597c-0.258,-0.234 -0.434,-0.492 -0.527,-0.773l-30.631,-79.527l-0.07,0l0,79.176c0,0.375 -0.097,0.703 -0.289,0.984c-0.193,0.281 -0.531,0.503 -1.014,0.667c-0.482,0.164 -1.109,0.304 -1.881,0.421c-0.772,0.118 -1.761,0.176 -2.967,0.176c-1.157,0 -2.122,-0.058 -2.894,-0.176c-0.772,-0.117 -1.387,-0.257 -1.845,-0.421c-0.459,-0.164 -0.772,-0.386 -0.941,-0.667c-0.169,-0.281 -0.253,-0.609 -0.253,-0.984l0,-83.602c0,-1.967 0.523,-3.372 1.569,-4.215c1.046,-0.843 2.212,-1.265 3.496,-1.265l7.419,0c1.522,0 2.853,0.141 3.995,0.422c1.142,0.281 2.14,0.726 2.996,1.335c0.856,0.608 1.569,1.381 2.14,2.318c0.571,0.937 1.07,2.037 1.499,3.302l25.994,65.828l0.351,0l27.047,-65.617c0.524,-1.405 1.095,-2.6 1.713,-3.583c0.619,-0.984 1.297,-1.768 2.035,-2.354c0.738,-0.585 1.558,-1.007 2.462,-1.264c0.904,-0.258 1.951,-0.387 3.141,-0.387l7.779,0c0.715,0 1.393,0.106 2.035,0.316c0.642,0.211 1.189,0.539 1.642,0.984c0.452,0.445 0.821,1.007 1.106,1.686c0.285,0.679 0.428,1.51 0.428,2.494l0,83.602Z" style="fill:#333;fill-rule:nonzero;"/><path d="M618.185,179.351c0,0.375 -0.082,0.715 -0.246,1.019c-0.164,0.305 -0.48,0.55 -0.949,0.738c-0.468,0.187 -1.1,0.339 -1.896,0.456c-0.797,0.118 -1.827,0.176 -3.092,0.176c-1.639,0 -2.974,-0.07 -4.004,-0.211c-1.031,-0.14 -1.803,-0.398 -2.318,-0.772c-0.516,-0.375 -0.937,-0.797 -1.265,-1.265l-33.441,-45.454l0,45.454c0,0.328 -0.094,0.644 -0.281,0.948c-0.187,0.305 -0.515,0.539 -0.983,0.703c-0.469,0.164 -1.089,0.304 -1.862,0.421c-0.773,0.118 -1.745,0.176 -2.916,0.176c-1.124,0 -2.084,-0.058 -2.88,-0.176c-0.796,-0.117 -1.429,-0.257 -1.897,-0.421c-0.468,-0.164 -0.796,-0.398 -0.983,-0.703c-0.188,-0.304 -0.282,-0.62 -0.282,-0.948l0,-87.255c0,-0.375 0.094,-0.703 0.282,-0.984c0.187,-0.281 0.515,-0.503 0.983,-0.667c0.468,-0.164 1.101,-0.305 1.897,-0.422c0.796,-0.117 1.756,-0.175 2.88,-0.175c1.171,0 2.143,0.058 2.916,0.175c0.773,0.117 1.393,0.258 1.862,0.422c0.468,0.164 0.796,0.386 0.983,0.667c0.187,0.281 0.281,0.609 0.281,0.984l0,40.396l32.176,-40.396c0.281,-0.422 0.609,-0.773 0.984,-1.054c0.375,-0.281 0.831,-0.504 1.37,-0.667c0.538,-0.164 1.194,-0.293 1.967,-0.387c0.773,-0.094 1.768,-0.14 2.986,-0.14c1.218,0 2.201,0.058 2.95,0.175c0.75,0.117 1.347,0.27 1.792,0.457c0.445,0.187 0.749,0.421 0.913,0.702c0.164,0.282 0.246,0.586 0.246,0.914c0,0.609 -0.152,1.218 -0.457,1.826c-0.304,0.609 -0.878,1.452 -1.721,2.53l-30.139,36.04l32.458,43.136c0.796,1.217 1.276,2.049 1.44,2.494c0.164,0.444 0.246,0.807 0.246,1.088Z" style="fill:#333;fill-rule:nonzero;"/><path d="M713.941,95.609c0,0.89 -0.047,1.663 -0.141,2.318c-0.094,0.656 -0.258,1.183 -0.492,1.581c-0.234,0.398 -0.503,0.691 -0.808,0.878c-0.304,0.188 -0.62,0.281 -0.948,0.281l-33.3,0l0,30.912l31.473,0c0.328,0 0.644,0.082 0.949,0.246c0.304,0.164 0.574,0.433 0.808,0.808c0.234,0.374 0.398,0.878 0.491,1.51c0.094,0.632 0.141,1.44 0.141,2.424c0,0.89 -0.047,1.651 -0.141,2.283c-0.093,0.632 -0.257,1.148 -0.491,1.546c-0.234,0.398 -0.504,0.702 -0.808,0.913c-0.305,0.211 -0.621,0.316 -0.949,0.316l-31.473,0l0,37.867c0,0.328 -0.094,0.644 -0.281,0.948c-0.188,0.305 -0.516,0.539 -0.984,0.703c-0.468,0.164 -1.077,0.304 -1.826,0.421c-0.75,0.118 -1.733,0.176 -2.951,0.176c-1.124,0 -2.084,-0.058 -2.881,-0.176c-0.796,-0.117 -1.428,-0.257 -1.896,-0.421c-0.469,-0.164 -0.797,-0.398 -0.984,-0.703c-0.187,-0.304 -0.281,-0.62 -0.281,-0.948l0,-84.164c0,-1.827 0.48,-3.103 1.44,-3.829c0.96,-0.726 1.979,-1.089 3.056,-1.089l40.888,0c0.328,0 0.644,0.094 0.948,0.281c0.305,0.188 0.574,0.492 0.808,0.914c0.234,0.421 0.398,0.971 0.492,1.65c0.094,0.68 0.141,1.464 0.141,2.354Z" style="fill:#333;fill-rule:nonzero;"/><path d="M742.534,179.562c0,0.375 -0.094,0.691 -0.281,0.949c-0.187,0.257 -0.492,0.48 -0.913,0.667c-0.422,0.187 -1.007,0.328 -1.757,0.422c-0.749,0.093 -1.709,0.14 -2.88,0.14c-1.124,0 -2.061,-0.047 -2.81,-0.14c-0.75,-0.094 -1.347,-0.235 -1.792,-0.422c-0.445,-0.187 -0.749,-0.41 -0.913,-0.667c-0.164,-0.258 -0.246,-0.574 -0.246,-0.949l0,-63.228c0,-0.328 0.082,-0.632 0.246,-0.913c0.164,-0.281 0.468,-0.516 0.913,-0.703c0.445,-0.187 1.042,-0.328 1.792,-0.422c0.749,-0.093 1.686,-0.14 2.81,-0.14c1.171,0 2.131,0.047 2.88,0.14c0.75,0.094 1.335,0.235 1.757,0.422c0.421,0.187 0.726,0.422 0.913,0.703c0.187,0.281 0.281,0.585 0.281,0.913l0,63.228Zm1.335,-84.585c0,2.716 -0.515,4.566 -1.546,5.55c-1.03,0.983 -2.927,1.475 -5.69,1.475c-2.717,0 -4.579,-0.48 -5.586,-1.44c-1.007,-0.96 -1.51,-2.775 -1.51,-5.445c0,-2.716 0.515,-4.566 1.546,-5.55c1.03,-0.983 2.927,-1.475 5.69,-1.475c2.717,0 4.578,0.48 5.585,1.44c1.007,0.96 1.511,2.775 1.511,5.445Z" style="fill:#333;fill-rule:nonzero;"/><path d="M800.915,120.479c0,1.03 -0.024,1.897 -0.07,2.599c-0.047,0.703 -0.141,1.253 -0.281,1.651c-0.141,0.398 -0.317,0.703 -0.527,0.913c-0.211,0.211 -0.504,0.317 -0.879,0.317c-0.374,0 -0.831,-0.106 -1.37,-0.317c-0.538,-0.21 -1.147,-0.421 -1.826,-0.632c-0.679,-0.211 -1.44,-0.41 -2.283,-0.597c-0.843,-0.187 -1.757,-0.281 -2.74,-0.281c-1.171,0 -2.319,0.234 -3.443,0.703c-1.124,0.468 -2.306,1.241 -3.548,2.318c-1.241,1.077 -2.54,2.506 -3.899,4.285c-1.358,1.78 -2.857,3.958 -4.496,6.534l0,41.59c0,0.375 -0.094,0.691 -0.281,0.949c-0.187,0.257 -0.492,0.48 -0.913,0.667c-0.422,0.187 -1.007,0.328 -1.756,0.422c-0.75,0.093 -1.71,0.14 -2.881,0.14c-1.124,0 -2.061,-0.047 -2.81,-0.14c-0.749,-0.094 -1.347,-0.235 -1.792,-0.422c-0.444,-0.187 -0.749,-0.41 -0.913,-0.667c-0.164,-0.258 -0.246,-0.574 -0.246,-0.949l0,-63.228c0,-0.375 0.071,-0.691 0.211,-0.949c0.141,-0.257 0.422,-0.491 0.843,-0.702c0.422,-0.211 0.96,-0.351 1.616,-0.422c0.656,-0.07 1.522,-0.105 2.599,-0.105c1.031,0 1.885,0.035 2.565,0.105c0.679,0.071 1.206,0.211 1.58,0.422c0.375,0.211 0.644,0.445 0.808,0.702c0.164,0.258 0.246,0.574 0.246,0.949l0,9.203c1.733,-2.529 3.361,-4.59 4.883,-6.182c1.522,-1.593 2.962,-2.846 4.32,-3.759c1.359,-0.913 2.705,-1.545 4.04,-1.897c1.335,-0.351 2.681,-0.527 4.04,-0.527c0.608,0 1.299,0.036 2.072,0.106c0.773,0.07 1.581,0.199 2.424,0.386c0.843,0.188 1.604,0.398 2.283,0.632c0.679,0.235 1.159,0.469 1.44,0.703c0.281,0.234 0.469,0.457 0.562,0.667c0.094,0.211 0.176,0.48 0.246,0.808c0.07,0.328 0.117,0.808 0.141,1.441c0.023,0.632 0.035,1.487 0.035,2.564Z" style="fill:#333;fill-rule:nonzero;"/><path d="M907.911,179.562c0,0.375 -0.093,0.691 -0.281,0.949c-0.187,0.257 -0.491,0.48 -0.913,0.667c-0.422,0.187 -1.007,0.328 -1.756,0.422c-0.75,0.093 -1.686,0.14 -2.811,0.14c-1.17,0 -2.131,-0.047 -2.88,-0.14c-0.749,-0.094 -1.346,-0.235 -1.791,-0.422c-0.445,-0.187 -0.761,-0.41 -0.949,-0.667c-0.187,-0.258 -0.281,-0.574 -0.281,-0.949l0,-38.429c0,-2.669 -0.234,-5.105 -0.702,-7.306c-0.469,-2.201 -1.218,-4.098 -2.248,-5.691c-1.031,-1.592 -2.342,-2.81 -3.935,-3.653c-1.592,-0.843 -3.466,-1.264 -5.62,-1.264c-2.67,0 -5.351,1.03 -8.044,3.091c-2.693,2.061 -5.655,5.082 -8.887,9.063l0,44.189c0,0.375 -0.094,0.691 -0.281,0.949c-0.188,0.257 -0.504,0.48 -0.949,0.667c-0.445,0.187 -1.042,0.328 -1.791,0.422c-0.749,0.093 -1.686,0.14 -2.81,0.14c-1.077,0 -2.002,-0.047 -2.775,-0.14c-0.773,-0.094 -1.382,-0.235 -1.827,-0.422c-0.445,-0.187 -0.749,-0.41 -0.913,-0.667c-0.164,-0.258 -0.246,-0.574 -0.246,-0.949l0,-38.429c0,-2.669 -0.258,-5.105 -0.773,-7.306c-0.515,-2.201 -1.288,-4.098 -2.318,-5.691c-1.031,-1.592 -2.33,-2.81 -3.899,-3.653c-1.569,-0.843 -3.431,-1.264 -5.585,-1.264c-2.67,0 -5.363,1.03 -8.08,3.091c-2.716,2.061 -5.667,5.082 -8.852,9.063l0,44.189c0,0.375 -0.093,0.691 -0.281,0.949c-0.187,0.257 -0.491,0.48 -0.913,0.667c-0.421,0.187 -1.007,0.328 -1.756,0.422c-0.75,0.093 -1.71,0.14 -2.881,0.14c-1.124,0 -2.06,-0.047 -2.81,-0.14c-0.749,-0.094 -1.346,-0.235 -1.791,-0.422c-0.445,-0.187 -0.75,-0.41 -0.914,-0.667c-0.164,-0.258 -0.246,-0.574 -0.246,-0.949l0,-63.228c0,-0.375 0.071,-0.691 0.211,-0.949c0.141,-0.257 0.422,-0.491 0.843,-0.702c0.422,-0.211 0.96,-0.351 1.616,-0.422c0.656,-0.07 1.522,-0.105 2.6,-0.105c1.03,0 1.885,0.035 2.564,0.105c0.679,0.071 1.206,0.211 1.581,0.422c0.374,0.211 0.643,0.445 0.807,0.702c0.164,0.258 0.246,0.574 0.246,0.949l0,8.36c3.56,-3.981 7.014,-6.897 10.363,-8.747c3.349,-1.85 6.732,-2.775 10.151,-2.775c2.623,0 4.977,0.305 7.061,0.914c2.084,0.609 3.922,1.463 5.515,2.564c1.592,1.101 2.951,2.412 4.075,3.934c1.124,1.522 2.06,3.22 2.81,5.094c2.107,-2.295 4.11,-4.239 6.006,-5.831c1.897,-1.593 3.724,-2.881 5.48,-3.864c1.757,-0.984 3.466,-1.698 5.129,-2.143c1.662,-0.445 3.337,-0.668 5.023,-0.668c4.075,0 7.494,0.715 10.257,2.143c2.763,1.429 5,3.337 6.709,5.726c1.71,2.388 2.927,5.187 3.653,8.395c0.726,3.208 1.089,6.592 1.089,10.152l0,39.974Z" style="fill:#333;fill-rule:nonzero;"/><path d="M1016.52,116.193c0,0.328 -0.047,0.726 -0.141,1.195c-0.094,0.468 -0.257,1.053 -0.492,1.756l-18.617,60.067c-0.14,0.515 -0.363,0.937 -0.667,1.265c-0.305,0.327 -0.726,0.585 -1.265,0.772c-0.538,0.188 -1.276,0.316 -2.213,0.387c-0.937,0.07 -2.107,0.105 -3.513,0.105c-1.451,0 -2.669,-0.047 -3.653,-0.14c-0.983,-0.094 -1.768,-0.235 -2.353,-0.422c-0.586,-0.187 -1.019,-0.445 -1.3,-0.773c-0.281,-0.328 -0.492,-0.726 -0.632,-1.194l-13.278,-45.876l-0.141,-0.632l-0.14,0.632l-12.295,45.876c-0.14,0.515 -0.363,0.937 -0.667,1.265c-0.304,0.327 -0.761,0.585 -1.37,0.772c-0.609,0.188 -1.393,0.316 -2.353,0.387c-0.961,0.07 -2.143,0.105 -3.548,0.105c-1.452,0 -2.635,-0.047 -3.548,-0.14c-0.913,-0.094 -1.663,-0.235 -2.248,-0.422c-0.586,-0.187 -1.019,-0.445 -1.3,-0.773c-0.281,-0.328 -0.492,-0.726 -0.632,-1.194l-18.477,-60.067c-0.234,-0.703 -0.398,-1.288 -0.492,-1.756c-0.093,-0.469 -0.14,-0.867 -0.14,-1.195c0,-0.421 0.093,-0.761 0.281,-1.018c0.187,-0.258 0.503,-0.469 0.948,-0.633c0.445,-0.164 1.042,-0.269 1.792,-0.316c0.749,-0.047 1.662,-0.07 2.74,-0.07c1.311,0 2.365,0.035 3.161,0.105c0.796,0.071 1.405,0.188 1.827,0.352c0.421,0.164 0.726,0.398 0.913,0.702c0.187,0.305 0.351,0.668 0.492,1.089l15.245,52.128l0.14,0.633l0.141,-0.633l13.98,-52.128c0.094,-0.421 0.246,-0.784 0.457,-1.089c0.211,-0.304 0.527,-0.538 0.948,-0.702c0.422,-0.164 0.996,-0.281 1.722,-0.352c0.726,-0.07 1.674,-0.105 2.845,-0.105c1.124,0 2.049,0.035 2.775,0.105c0.726,0.071 1.3,0.188 1.721,0.352c0.422,0.164 0.726,0.386 0.913,0.667c0.188,0.281 0.328,0.609 0.422,0.984l15.104,52.268l0.141,0.633l0.07,-0.633l15.035,-52.128c0.093,-0.421 0.245,-0.784 0.456,-1.089c0.211,-0.304 0.539,-0.538 0.984,-0.702c0.445,-0.164 1.054,-0.281 1.826,-0.352c0.773,-0.07 1.768,-0.105 2.986,-0.105c1.124,0 2.026,0.023 2.705,0.07c0.679,0.047 1.218,0.164 1.616,0.351c0.398,0.188 0.679,0.399 0.843,0.633c0.164,0.234 0.246,0.562 0.246,0.983Z" style="fill:#333;fill-rule:nonzero;"/><path d="M1076.94,179.632c0,0.563 -0.187,0.984 -0.562,1.265c-0.375,0.281 -0.89,0.492 -1.546,0.632c-0.655,0.141 -1.616,0.211 -2.88,0.211c-1.218,0 -2.19,-0.07 -2.916,-0.211c-0.726,-0.14 -1.252,-0.351 -1.58,-0.632c-0.328,-0.281 -0.492,-0.702 -0.492,-1.265l0,-6.322c-2.763,2.95 -5.843,5.245 -9.238,6.885c-3.396,1.639 -6.991,2.458 -10.784,2.458c-3.326,0 -6.335,-0.433 -9.028,-1.299c-2.693,-0.867 -4.988,-2.12 -6.885,-3.759c-1.897,-1.639 -3.372,-3.653 -4.426,-6.042c-1.054,-2.388 -1.581,-5.105 -1.581,-8.149c0,-3.56 0.726,-6.651 2.178,-9.274c1.452,-2.622 3.536,-4.8 6.253,-6.533c2.716,-1.733 6.042,-3.033 9.976,-3.899c3.934,-0.867 8.36,-1.3 13.278,-1.3l8.711,0l0,-4.918c0,-2.435 -0.257,-4.59 -0.772,-6.463c-0.516,-1.874 -1.347,-3.431 -2.495,-4.672c-1.147,-1.241 -2.634,-2.178 -4.461,-2.81c-1.826,-0.632 -4.074,-0.949 -6.744,-0.949c-2.857,0 -5.421,0.34 -7.693,1.019c-2.271,0.679 -4.262,1.429 -5.971,2.248c-1.71,0.82 -3.138,1.569 -4.286,2.248c-1.147,0.679 -2.002,1.019 -2.564,1.019c-0.375,0 -0.703,-0.094 -0.984,-0.281c-0.281,-0.187 -0.527,-0.468 -0.737,-0.843c-0.211,-0.375 -0.363,-0.855 -0.457,-1.44c-0.094,-0.586 -0.14,-1.23 -0.14,-1.932c0,-1.171 0.081,-2.096 0.245,-2.775c0.164,-0.679 0.562,-1.323 1.195,-1.932c0.632,-0.609 1.721,-1.323 3.267,-2.143c1.545,-0.82 3.325,-1.569 5.339,-2.248c2.014,-0.679 4.215,-1.241 6.604,-1.686c2.388,-0.445 4.8,-0.668 7.236,-0.668c4.543,0 8.407,0.516 11.592,1.546c3.185,1.03 5.761,2.541 7.728,4.531c1.967,1.991 3.395,4.461 4.285,7.412c0.89,2.951 1.335,6.393 1.335,10.327l0,42.644Zm-11.522,-28.874l-9.905,0c-3.185,0 -5.949,0.269 -8.29,0.808c-2.342,0.539 -4.286,1.335 -5.832,2.389c-1.545,1.054 -2.681,2.318 -3.407,3.793c-0.726,1.476 -1.089,3.174 -1.089,5.094c0,3.278 1.042,5.889 3.127,7.833c2.084,1.944 4.999,2.916 8.746,2.916c3.044,0 5.866,-0.773 8.466,-2.319c2.599,-1.545 5.327,-3.91 8.184,-7.095l0,-13.419Z" style="fill:#333;fill-rule:nonzero;"/><path d="M1135.18,120.479c0,1.03 -0.023,1.897 -0.07,2.599c-0.047,0.703 -0.14,1.253 -0.281,1.651c-0.14,0.398 -0.316,0.703 -0.527,0.913c-0.211,0.211 -0.503,0.317 -0.878,0.317c-0.375,0 -0.831,-0.106 -1.37,-0.317c-0.539,-0.21 -1.147,-0.421 -1.827,-0.632c-0.679,-0.211 -1.44,-0.41 -2.283,-0.597c-0.843,-0.187 -1.756,-0.281 -2.74,-0.281c-1.171,0 -2.318,0.234 -3.442,0.703c-1.124,0.468 -2.307,1.241 -3.548,2.318c-1.241,1.077 -2.541,2.506 -3.899,4.285c-1.358,1.78 -2.857,3.958 -4.496,6.534l0,41.59c0,0.375 -0.094,0.691 -0.281,0.949c-0.188,0.257 -0.492,0.48 -0.914,0.667c-0.421,0.187 -1.007,0.328 -1.756,0.422c-0.749,0.093 -1.709,0.14 -2.88,0.14c-1.124,0 -2.061,-0.047 -2.811,-0.14c-0.749,-0.094 -1.346,-0.235 -1.791,-0.422c-0.445,-0.187 -0.749,-0.41 -0.913,-0.667c-0.164,-0.258 -0.246,-0.574 -0.246,-0.949l0,-63.228c0,-0.375 0.07,-0.691 0.211,-0.949c0.14,-0.257 0.421,-0.491 0.843,-0.702c0.421,-0.211 0.96,-0.351 1.615,-0.422c0.656,-0.07 1.523,-0.105 2.6,-0.105c1.03,0 1.885,0.035 2.564,0.105c0.679,0.071 1.206,0.211 1.581,0.422c0.375,0.211 0.644,0.445 0.808,0.702c0.164,0.258 0.246,0.574 0.246,0.949l0,9.203c1.733,-2.529 3.36,-4.59 4.882,-6.182c1.522,-1.593 2.963,-2.846 4.321,-3.759c1.358,-0.913 2.705,-1.545 4.039,-1.897c1.335,-0.351 2.682,-0.527 4.04,-0.527c0.609,0 1.3,0.036 2.073,0.106c0.772,0.07 1.58,0.199 2.423,0.386c0.843,0.188 1.604,0.398 2.284,0.632c0.679,0.235 1.159,0.469 1.44,0.703c0.281,0.234 0.468,0.457 0.562,0.667c0.093,0.211 0.175,0.48 0.246,0.808c0.07,0.328 0.117,0.808 0.14,1.441c0.024,0.632 0.035,1.487 0.035,2.564Z" style="fill:#333;fill-rule:nonzero;"/><path d="M1200.45,145.208c0,1.827 -0.459,3.126 -1.376,3.899c-0.917,0.773 -1.964,1.159 -3.141,1.159l-41.64,0c0,3.513 0.353,6.675 1.059,9.485c0.706,2.81 1.882,5.222 3.53,7.236c1.647,2.014 3.789,3.559 6.424,4.637c2.636,1.077 5.86,1.615 9.672,1.615c3.012,0 5.694,-0.245 8.047,-0.737c2.354,-0.492 4.389,-1.042 6.107,-1.651c1.718,-0.609 3.13,-1.159 4.236,-1.651c1.106,-0.492 1.942,-0.738 2.507,-0.738c0.329,0 0.623,0.082 0.882,0.246c0.259,0.164 0.458,0.41 0.6,0.738c0.141,0.328 0.247,0.784 0.317,1.37c0.071,0.585 0.106,1.299 0.106,2.142c0,0.609 -0.023,1.136 -0.07,1.581c-0.047,0.445 -0.105,0.843 -0.175,1.194c-0.071,0.352 -0.188,0.668 -0.352,0.949c-0.164,0.281 -0.374,0.55 -0.632,0.808c-0.258,0.257 -1.019,0.679 -2.283,1.264c-1.265,0.586 -2.904,1.16 -4.918,1.722c-2.014,0.562 -4.344,1.065 -6.99,1.51c-2.647,0.445 -5.468,0.667 -8.466,0.667c-5.199,0 -9.753,-0.726 -13.664,-2.177c-3.911,-1.452 -7.201,-3.607 -9.871,-6.464c-2.67,-2.857 -4.683,-6.44 -6.042,-10.749c-1.358,-4.309 -2.037,-9.32 -2.037,-15.034c0,-5.433 0.702,-10.316 2.108,-14.648c1.405,-4.332 3.43,-8.009 6.077,-11.03c2.646,-3.021 5.842,-5.339 9.589,-6.955c3.747,-1.616 7.939,-2.424 12.576,-2.424c4.964,0 9.191,0.797 12.68,2.389c3.49,1.592 6.358,3.735 8.606,6.428c2.249,2.693 3.9,5.855 4.953,9.485c1.054,3.629 1.581,7.505 1.581,11.627l0,2.107Zm-11.662,-3.442c0.14,-6.089 -1.214,-10.866 -4.065,-14.332c-2.85,-3.466 -7.079,-5.199 -12.687,-5.199c-2.875,0 -5.396,0.539 -7.564,1.616c-2.167,1.077 -3.982,2.506 -5.443,4.285c-1.461,1.78 -2.592,3.853 -3.393,6.218c-0.801,2.365 -1.248,4.836 -1.343,7.412l34.495,0Z" style="fill:#333;fill-rule:nonzero;"/><path d="M379.752,276.089c0,0.493 -0.016,0.924 -0.047,1.294c-0.03,0.369 -0.084,0.693 -0.161,0.97c-0.077,0.277 -0.177,0.524 -0.301,0.739c-0.123,0.216 -0.338,0.478 -0.646,0.786c-0.308,0.308 -0.955,0.778 -1.941,1.409c-0.986,0.631 -2.21,1.247 -3.673,1.848c-1.463,0.601 -3.142,1.109 -5.036,1.525c-1.894,0.416 -3.966,0.623 -6.214,0.623c-3.881,0 -7.385,-0.646 -10.511,-1.94c-3.127,-1.294 -5.791,-3.203 -7.993,-5.729c-2.203,-2.526 -3.897,-5.645 -5.083,-9.356c-1.185,-3.712 -1.778,-7.985 -1.778,-12.821c0,-4.959 0.639,-9.379 1.917,-13.26c1.278,-3.881 3.072,-7.169 5.383,-9.865c2.31,-2.695 5.074,-4.751 8.293,-6.168c3.219,-1.417 6.784,-2.125 10.696,-2.125c1.725,0 3.403,0.162 5.036,0.485c1.632,0.324 3.142,0.732 4.528,1.225c1.386,0.492 2.618,1.062 3.696,1.709c1.078,0.647 1.825,1.178 2.241,1.594c0.416,0.416 0.685,0.732 0.808,0.947c0.123,0.216 0.224,0.47 0.301,0.763c0.077,0.292 0.138,0.639 0.184,1.039c0.047,0.4 0.07,0.878 0.07,1.432c0,0.616 -0.031,1.14 -0.093,1.571c-0.062,0.431 -0.155,0.793 -0.279,1.086c-0.124,0.293 -0.271,0.508 -0.441,0.647c-0.171,0.138 -0.38,0.208 -0.628,0.208c-0.433,0 -1.036,-0.301 -1.811,-0.901c-0.774,-0.601 -1.773,-1.263 -2.996,-1.987c-1.223,-0.724 -2.71,-1.386 -4.459,-1.987c-1.749,-0.6 -3.847,-0.901 -6.294,-0.901c-2.663,0 -5.086,0.532 -7.269,1.594c-2.183,1.063 -4.049,2.626 -5.597,4.69c-1.549,2.064 -2.748,4.582 -3.6,7.554c-0.852,2.972 -1.278,6.368 -1.278,10.188c0,3.788 0.411,7.138 1.231,10.049c0.821,2.91 1.998,5.344 3.53,7.3c1.533,1.956 3.415,3.434 5.644,4.435c2.23,1.001 4.753,1.502 7.571,1.502c2.384,0 4.467,-0.293 6.247,-0.878c1.781,-0.585 3.298,-1.24 4.552,-1.964c1.254,-0.724 2.283,-1.378 3.089,-1.963c0.805,-0.586 1.44,-0.878 1.904,-0.878c0.217,0 0.403,0.046 0.558,0.138c0.154,0.093 0.278,0.27 0.371,0.532c0.093,0.262 0.163,0.623 0.209,1.085c0.046,0.462 0.07,1.048 0.07,1.756Z" style="fill:#333;fill-rule:nonzero;"/><path d="M428.079,262.136c0,3.388 -0.446,6.507 -1.339,9.356c-0.894,2.849 -2.226,5.306 -3.997,7.369c-1.771,2.064 -3.989,3.673 -6.653,4.828c-2.664,1.156 -5.752,1.733 -9.264,1.733c-3.419,0 -6.399,-0.508 -8.94,-1.525c-2.541,-1.016 -4.659,-2.495 -6.353,-4.435c-1.694,-1.941 -2.957,-4.297 -3.788,-7.069c-0.832,-2.772 -1.248,-5.914 -1.248,-9.425c0,-3.388 0.439,-6.507 1.317,-9.356c0.878,-2.849 2.202,-5.306 3.973,-7.37c1.772,-2.063 3.982,-3.665 6.63,-4.805c2.649,-1.139 5.745,-1.709 9.287,-1.709c3.419,0 6.399,0.508 8.94,1.525c2.541,1.016 4.659,2.494 6.353,4.435c1.694,1.94 2.965,4.297 3.812,7.069c0.847,2.772 1.27,5.898 1.27,9.379Zm-7.9,0.508c0,-2.248 -0.21,-4.374 -0.63,-6.376c-0.419,-2.002 -1.111,-3.757 -2.074,-5.267c-0.964,-1.509 -2.269,-2.703 -3.917,-3.58c-1.647,-0.878 -3.698,-1.317 -6.153,-1.317c-2.269,0 -4.219,0.4 -5.851,1.201c-1.632,0.801 -2.976,1.933 -4.033,3.396c-1.056,1.463 -1.841,3.196 -2.354,5.198c-0.513,2.002 -0.769,4.189 -0.769,6.56c0,2.28 0.21,4.42 0.629,6.423c0.42,2.002 1.119,3.75 2.098,5.244c0.979,1.493 2.292,2.679 3.939,3.557c1.648,0.878 3.699,1.317 6.154,1.317c2.238,0 4.181,-0.401 5.828,-1.201c1.647,-0.801 2.999,-1.925 4.056,-3.373c1.056,-1.448 1.833,-3.173 2.331,-5.175c0.497,-2.002 0.746,-4.204 0.746,-6.607Z" style="fill:#333;fill-rule:nonzero;"/><path d="M500.987,283.389c0,0.247 -0.062,0.454 -0.185,0.624c-0.123,0.169 -0.323,0.316 -0.601,0.439c-0.277,0.123 -0.662,0.215 -1.155,0.277c-0.493,0.062 -1.109,0.092 -1.848,0.092c-0.77,0 -1.401,-0.03 -1.894,-0.092c-0.493,-0.062 -0.886,-0.154 -1.178,-0.277c-0.293,-0.123 -0.501,-0.27 -0.624,-0.439c-0.123,-0.17 -0.185,-0.377 -0.185,-0.624l0,-25.273c0,-1.755 -0.154,-3.357 -0.462,-4.805c-0.308,-1.447 -0.801,-2.695 -1.478,-3.742c-0.678,-1.047 -1.54,-1.848 -2.588,-2.403c-1.047,-0.554 -2.279,-0.831 -3.696,-0.831c-1.756,0 -3.519,0.677 -5.29,2.033c-1.771,1.355 -3.719,3.342 -5.845,5.96l0,29.061c0,0.247 -0.061,0.454 -0.184,0.624c-0.124,0.169 -0.332,0.316 -0.624,0.439c-0.293,0.123 -0.685,0.215 -1.178,0.277c-0.493,0.062 -1.109,0.092 -1.848,0.092c-0.709,0 -1.317,-0.03 -1.825,-0.092c-0.509,-0.062 -0.909,-0.154 -1.202,-0.277c-0.292,-0.123 -0.492,-0.27 -0.6,-0.439c-0.108,-0.17 -0.162,-0.377 -0.162,-0.624l0,-25.273c0,-1.755 -0.169,-3.357 -0.508,-4.805c-0.339,-1.447 -0.847,-2.695 -1.525,-3.742c-0.678,-1.047 -1.532,-1.848 -2.564,-2.403c-1.032,-0.554 -2.256,-0.831 -3.673,-0.831c-1.756,0 -3.527,0.677 -5.314,2.033c-1.786,1.355 -3.727,3.342 -5.821,5.96l0,29.061c0,0.247 -0.062,0.454 -0.185,0.624c-0.123,0.169 -0.323,0.316 -0.6,0.439c-0.278,0.123 -0.663,0.215 -1.156,0.277c-0.492,0.062 -1.124,0.092 -1.894,0.092c-0.739,0 -1.355,-0.03 -1.848,-0.092c-0.493,-0.062 -0.885,-0.154 -1.178,-0.277c-0.293,-0.123 -0.493,-0.27 -0.601,-0.439c-0.108,-0.17 -0.161,-0.377 -0.161,-0.624l0,-41.582c0,-0.246 0.046,-0.454 0.138,-0.624c0.093,-0.169 0.277,-0.323 0.555,-0.462c0.277,-0.138 0.631,-0.231 1.062,-0.277c0.432,-0.046 1.001,-0.069 1.71,-0.069c0.677,0 1.24,0.023 1.686,0.069c0.447,0.046 0.793,0.139 1.04,0.277c0.246,0.139 0.423,0.293 0.531,0.462c0.108,0.17 0.162,0.378 0.162,0.624l0,5.498c2.341,-2.618 4.612,-4.535 6.815,-5.752c2.202,-1.217 4.427,-1.825 6.676,-1.825c1.725,0 3.273,0.2 4.643,0.601c1.371,0.4 2.58,0.962 3.627,1.686c1.047,0.724 1.941,1.586 2.68,2.587c0.739,1.001 1.355,2.118 1.848,3.35c1.386,-1.509 2.703,-2.788 3.95,-3.835c1.248,-1.047 2.449,-1.894 3.604,-2.541c1.155,-0.647 2.279,-1.117 3.373,-1.409c1.093,-0.293 2.194,-0.439 3.303,-0.439c2.68,0 4.929,0.47 6.746,1.409c1.817,0.939 3.288,2.195 4.412,3.766c1.124,1.57 1.925,3.411 2.403,5.521c0.477,2.11 0.716,4.335 0.716,6.676l0,26.289Z" style="fill:#333;fill-rule:nonzero;"/><path d="M576.574,283.389c0,0.247 -0.062,0.454 -0.185,0.624c-0.123,0.169 -0.323,0.316 -0.601,0.439c-0.277,0.123 -0.662,0.215 -1.155,0.277c-0.492,0.062 -1.108,0.092 -1.848,0.092c-0.77,0 -1.401,-0.03 -1.894,-0.092c-0.493,-0.062 -0.886,-0.154 -1.178,-0.277c-0.293,-0.123 -0.501,-0.27 -0.624,-0.439c-0.123,-0.17 -0.185,-0.377 -0.185,-0.624l0,-25.273c0,-1.755 -0.154,-3.357 -0.462,-4.805c-0.308,-1.447 -0.801,-2.695 -1.478,-3.742c-0.678,-1.047 -1.54,-1.848 -2.588,-2.403c-1.047,-0.554 -2.279,-0.831 -3.696,-0.831c-1.755,0 -3.519,0.677 -5.29,2.033c-1.771,1.355 -3.719,3.342 -5.844,5.96l0,29.061c0,0.247 -0.062,0.454 -0.185,0.624c-0.124,0.169 -0.331,0.316 -0.624,0.439c-0.293,0.123 -0.685,0.215 -1.178,0.277c-0.493,0.062 -1.109,0.092 -1.848,0.092c-0.709,0 -1.317,-0.03 -1.825,-0.092c-0.509,-0.062 -0.909,-0.154 -1.202,-0.277c-0.292,-0.123 -0.492,-0.27 -0.6,-0.439c-0.108,-0.17 -0.162,-0.377 -0.162,-0.624l0,-25.273c0,-1.755 -0.169,-3.357 -0.508,-4.805c-0.339,-1.447 -0.847,-2.695 -1.525,-3.742c-0.677,-1.047 -1.532,-1.848 -2.564,-2.403c-1.032,-0.554 -2.256,-0.831 -3.673,-0.831c-1.756,0 -3.527,0.677 -5.313,2.033c-1.787,1.355 -3.727,3.342 -5.822,5.96l0,29.061c0,0.247 -0.061,0.454 -0.185,0.624c-0.123,0.169 -0.323,0.316 -0.6,0.439c-0.278,0.123 -0.663,0.215 -1.155,0.277c-0.493,0.062 -1.125,0.092 -1.895,0.092c-0.739,0 -1.355,-0.03 -1.848,-0.092c-0.493,-0.062 -0.885,-0.154 -1.178,-0.277c-0.293,-0.123 -0.493,-0.27 -0.601,-0.439c-0.107,-0.17 -0.161,-0.377 -0.161,-0.624l0,-41.582c0,-0.246 0.046,-0.454 0.138,-0.624c0.093,-0.169 0.278,-0.323 0.555,-0.462c0.277,-0.138 0.631,-0.231 1.062,-0.277c0.432,-0.046 1.001,-0.069 1.71,-0.069c0.678,0 1.24,0.023 1.686,0.069c0.447,0.046 0.793,0.139 1.04,0.277c0.246,0.139 0.423,0.293 0.531,0.462c0.108,0.17 0.162,0.378 0.162,0.624l0,5.498c2.341,-2.618 4.612,-4.535 6.815,-5.752c2.202,-1.217 4.427,-1.825 6.676,-1.825c1.725,0 3.273,0.2 4.643,0.601c1.371,0.4 2.58,0.962 3.627,1.686c1.047,0.724 1.941,1.586 2.68,2.587c0.739,1.001 1.355,2.118 1.848,3.35c1.386,-1.509 2.703,-2.788 3.95,-3.835c1.248,-1.047 2.449,-1.894 3.604,-2.541c1.155,-0.647 2.279,-1.117 3.373,-1.409c1.093,-0.293 2.195,-0.439 3.303,-0.439c2.68,0 4.929,0.47 6.746,1.409c1.817,0.939 3.288,2.195 4.412,3.766c1.125,1.57 1.925,3.411 2.403,5.521c0.477,2.11 0.716,4.335 0.716,6.676l0,26.289Z" style="fill:#333;fill-rule:nonzero;"/><path d="M626.103,283.389c0,0.247 -0.054,0.454 -0.162,0.624c-0.108,0.169 -0.3,0.316 -0.577,0.439c-0.278,0.123 -0.639,0.215 -1.086,0.277c-0.447,0.062 -0.993,0.092 -1.64,0.092c-0.709,0 -1.286,-0.03 -1.733,-0.092c-0.447,-0.062 -0.801,-0.154 -1.063,-0.277c-0.261,-0.123 -0.438,-0.27 -0.531,-0.439c-0.092,-0.17 -0.138,-0.377 -0.138,-0.624l0,-5.498c-2.372,2.618 -4.713,4.528 -7.023,5.729c-2.31,1.201 -4.651,1.802 -7.023,1.802c-2.772,0 -5.105,-0.462 -7,-1.386c-1.894,-0.924 -3.426,-2.179 -4.597,-3.766c-1.17,-1.586 -2.01,-3.434 -2.518,-5.544c-0.508,-2.11 -0.762,-4.674 -0.762,-7.693l0,-25.226c0,-0.246 0.054,-0.454 0.162,-0.624c0.107,-0.169 0.315,-0.323 0.623,-0.462c0.308,-0.138 0.709,-0.231 1.202,-0.277c0.492,-0.046 1.108,-0.069 1.848,-0.069c0.739,0 1.355,0.023 1.848,0.069c0.493,0.046 0.885,0.139 1.178,0.277c0.292,0.139 0.5,0.293 0.624,0.462c0.123,0.17 0.184,0.378 0.184,0.624l0,24.21c0,2.433 0.178,4.382 0.532,5.845c0.354,1.463 0.893,2.71 1.617,3.742c0.724,1.032 1.64,1.833 2.749,2.403c1.109,0.569 2.402,0.854 3.881,0.854c1.91,0 3.812,-0.677 5.706,-2.033c1.894,-1.355 3.904,-3.342 6.029,-5.96l0,-29.061c0,-0.246 0.054,-0.454 0.162,-0.624c0.108,-0.169 0.316,-0.323 0.624,-0.462c0.308,-0.138 0.7,-0.231 1.178,-0.277c0.477,-0.046 1.101,-0.069 1.871,-0.069c0.739,0 1.355,0.023 1.848,0.069c0.493,0.046 0.878,0.139 1.155,0.277c0.277,0.139 0.485,0.293 0.624,0.462c0.139,0.17 0.208,0.378 0.208,0.624l0,41.582Z" style="fill:#333;fill-rule:nonzero;"/><path d="M676.001,283.389c0,0.247 -0.061,0.454 -0.184,0.624c-0.124,0.169 -0.324,0.316 -0.601,0.439c-0.277,0.123 -0.662,0.215 -1.155,0.277c-0.493,0.062 -1.109,0.092 -1.848,0.092c-0.77,0 -1.402,-0.03 -1.894,-0.092c-0.493,-0.062 -0.878,-0.154 -1.155,-0.277c-0.278,-0.123 -0.478,-0.27 -0.601,-0.439c-0.123,-0.17 -0.185,-0.377 -0.185,-0.624l0,-24.349c0,-2.371 -0.185,-4.281 -0.554,-5.729c-0.37,-1.447 -0.909,-2.695 -1.617,-3.742c-0.709,-1.047 -1.625,-1.848 -2.749,-2.403c-1.125,-0.554 -2.426,-0.831 -3.905,-0.831c-1.909,0 -3.819,0.677 -5.729,2.033c-1.909,1.355 -3.911,3.342 -6.006,5.96l0,29.061c0,0.247 -0.062,0.454 -0.185,0.624c-0.123,0.169 -0.323,0.316 -0.6,0.439c-0.278,0.123 -0.663,0.215 -1.155,0.277c-0.493,0.062 -1.125,0.092 -1.895,0.092c-0.739,0 -1.355,-0.03 -1.848,-0.092c-0.493,-0.062 -0.885,-0.154 -1.178,-0.277c-0.293,-0.123 -0.493,-0.27 -0.601,-0.439c-0.107,-0.17 -0.161,-0.377 -0.161,-0.624l0,-41.582c0,-0.246 0.046,-0.454 0.138,-0.624c0.093,-0.169 0.277,-0.323 0.555,-0.462c0.277,-0.138 0.631,-0.231 1.062,-0.277c0.432,-0.046 1.001,-0.069 1.71,-0.069c0.677,0 1.24,0.023 1.686,0.069c0.447,0.046 0.793,0.139 1.04,0.277c0.246,0.139 0.423,0.293 0.531,0.462c0.108,0.17 0.162,0.378 0.162,0.624l0,5.498c2.341,-2.618 4.674,-4.535 6.999,-5.752c2.326,-1.217 4.675,-1.825 7.046,-1.825c2.772,0 5.106,0.47 7,1.409c1.894,0.939 3.427,2.195 4.597,3.766c1.171,1.57 2.01,3.411 2.518,5.521c0.508,2.11 0.762,4.643 0.762,7.6l0,25.365Z" style="fill:#333;fill-rule:nonzero;"/><path d="M697.532,283.389c0,0.247 -0.062,0.454 -0.185,0.624c-0.123,0.169 -0.323,0.316 -0.601,0.439c-0.277,0.123 -0.662,0.215 -1.155,0.277c-0.493,0.062 -1.124,0.092 -1.894,0.092c-0.739,0 -1.355,-0.03 -1.848,-0.092c-0.493,-0.062 -0.886,-0.154 -1.178,-0.277c-0.293,-0.123 -0.493,-0.27 -0.601,-0.439c-0.108,-0.17 -0.162,-0.377 -0.162,-0.624l0,-41.582c0,-0.216 0.054,-0.416 0.162,-0.601c0.108,-0.184 0.308,-0.338 0.601,-0.462c0.292,-0.123 0.685,-0.215 1.178,-0.277c0.493,-0.061 1.109,-0.092 1.848,-0.092c0.77,0 1.401,0.031 1.894,0.092c0.493,0.062 0.878,0.154 1.155,0.277c0.278,0.124 0.478,0.278 0.601,0.462c0.123,0.185 0.185,0.385 0.185,0.601l0,41.582Zm0.878,-55.628c0,1.787 -0.339,3.004 -1.017,3.65c-0.677,0.647 -1.925,0.971 -3.742,0.971c-1.787,0 -3.011,-0.316 -3.673,-0.947c-0.663,-0.632 -0.994,-1.825 -0.994,-3.581c0,-1.787 0.339,-3.003 1.017,-3.65c0.677,-0.647 1.925,-0.97 3.742,-0.97c1.787,0 3.011,0.315 3.673,0.947c0.663,0.631 0.994,1.825 0.994,3.58Z" style="fill:#333;fill-rule:nonzero;"/><path d="M733.246,280.34c0,0.893 -0.061,1.601 -0.185,2.125c-0.123,0.524 -0.308,0.909 -0.554,1.155c-0.246,0.247 -0.616,0.478 -1.109,0.693c-0.493,0.216 -1.055,0.393 -1.686,0.532c-0.632,0.138 -1.302,0.254 -2.01,0.346c-0.708,0.092 -1.417,0.139 -2.125,0.139c-2.156,0 -4.005,-0.285 -5.545,-0.855c-1.54,-0.57 -2.803,-1.432 -3.788,-2.587c-0.986,-1.155 -1.702,-2.619 -2.149,-4.39c-0.446,-1.771 -0.67,-3.858 -0.67,-6.26l0,-24.303l-5.821,0c-0.462,0 -0.832,-0.246 -1.109,-0.739c-0.277,-0.493 -0.416,-1.293 -0.416,-2.402c0,-0.586 0.039,-1.078 0.116,-1.479c0.077,-0.4 0.177,-0.731 0.3,-0.993c0.123,-0.262 0.285,-0.447 0.485,-0.555c0.2,-0.107 0.424,-0.161 0.67,-0.161l5.775,0l0,-9.888c0,-0.215 0.054,-0.415 0.162,-0.6c0.108,-0.185 0.308,-0.347 0.601,-0.485c0.292,-0.139 0.685,-0.239 1.178,-0.301c0.493,-0.061 1.109,-0.092 1.848,-0.092c0.77,0 1.401,0.031 1.894,0.092c0.493,0.062 0.878,0.162 1.155,0.301c0.278,0.138 0.478,0.3 0.601,0.485c0.123,0.185 0.185,0.385 0.185,0.6l0,9.888l10.673,0c0.246,0 0.462,0.054 0.646,0.161c0.185,0.108 0.347,0.293 0.486,0.555c0.138,0.262 0.238,0.593 0.3,0.993c0.061,0.401 0.092,0.893 0.092,1.479c0,1.109 -0.138,1.909 -0.416,2.402c-0.277,0.493 -0.646,0.739 -1.108,0.739l-10.673,0l0,23.194c0,2.865 0.423,5.028 1.27,6.491c0.847,1.464 2.364,2.195 4.551,2.195c0.709,0 1.34,-0.069 1.895,-0.208c0.554,-0.138 1.047,-0.285 1.478,-0.439c0.431,-0.154 0.801,-0.3 1.109,-0.439c0.308,-0.138 0.585,-0.208 0.832,-0.208c0.154,0 0.3,0.039 0.439,0.116c0.138,0.077 0.246,0.223 0.323,0.439c0.077,0.215 0.146,0.508 0.208,0.878c0.061,0.369 0.092,0.831 0.092,1.386Z" style="fill:#333;fill-rule:nonzero;"/><path d="M762.261,284.544l-5.544,15.293c-0.185,0.493 -0.654,0.87 -1.409,1.132c-0.755,0.262 -1.902,0.393 -3.442,0.393c-0.801,0 -1.448,-0.039 -1.941,-0.116c-0.493,-0.077 -0.87,-0.208 -1.132,-0.392c-0.261,-0.185 -0.408,-0.432 -0.439,-0.74c-0.03,-0.308 0.047,-0.677 0.231,-1.108l5.73,-14.462c-0.278,-0.123 -0.539,-0.323 -0.786,-0.6c-0.246,-0.278 -0.416,-0.57 -0.508,-0.878l-14.831,-39.734c-0.247,-0.647 -0.37,-1.155 -0.37,-1.525c0,-0.37 0.123,-0.662 0.37,-0.878c0.246,-0.215 0.647,-0.362 1.201,-0.439c0.555,-0.077 1.294,-0.115 2.218,-0.115c0.924,0 1.648,0.023 2.171,0.069c0.524,0.046 0.94,0.131 1.248,0.254c0.308,0.123 0.531,0.3 0.67,0.531c0.138,0.231 0.285,0.547 0.439,0.948l11.874,33.358l0.138,0l11.459,-33.543c0.184,-0.585 0.408,-0.963 0.669,-1.132c0.262,-0.17 0.655,-0.293 1.179,-0.37c0.523,-0.077 1.278,-0.115 2.264,-0.115c0.862,0 1.57,0.038 2.125,0.115c0.554,0.077 0.962,0.224 1.224,0.439c0.262,0.216 0.393,0.508 0.393,0.878c0,0.37 -0.092,0.832 -0.277,1.386l-14.924,41.351Z" style="fill:#333;fill-rule:nonzero;"/><path d="M840.528,267.773c0,2.803 -0.516,5.298 -1.548,7.485c-1.031,2.186 -2.464,4.042 -4.296,5.567c-1.833,1.525 -3.989,2.672 -6.469,3.442c-2.479,0.77 -5.151,1.155 -8.016,1.155c-2.002,0 -3.858,-0.169 -5.567,-0.508c-1.71,-0.339 -3.234,-0.755 -4.574,-1.248c-1.34,-0.492 -2.464,-1.001 -3.373,-1.524c-0.909,-0.524 -1.54,-0.971 -1.894,-1.34c-0.355,-0.37 -0.616,-0.84 -0.786,-1.409c-0.169,-0.57 -0.254,-1.333 -0.254,-2.287c0,-0.678 0.031,-1.24 0.093,-1.687c0.061,-0.446 0.154,-0.808 0.277,-1.086c0.123,-0.277 0.277,-0.469 0.462,-0.577c0.185,-0.108 0.4,-0.162 0.647,-0.162c0.431,0 1.039,0.262 1.825,0.786c0.785,0.523 1.794,1.093 3.026,1.709c1.232,0.616 2.718,1.194 4.458,1.733c1.741,0.539 3.75,0.808 6.03,0.808c1.725,0 3.303,-0.231 4.736,-0.693c1.432,-0.462 2.664,-1.116 3.696,-1.963c1.032,-0.847 1.825,-1.887 2.379,-3.119c0.555,-1.232 0.832,-2.634 0.832,-4.204c0,-1.695 -0.385,-3.142 -1.155,-4.343c-0.77,-1.202 -1.787,-2.257 -3.05,-3.165c-1.262,-0.909 -2.702,-1.741 -4.32,-2.495c-1.617,-0.755 -3.272,-1.525 -4.966,-2.31c-1.694,-0.786 -3.342,-1.656 -4.944,-2.611c-1.602,-0.955 -3.034,-2.079 -4.297,-3.373c-1.263,-1.293 -2.287,-2.81 -3.072,-4.551c-0.786,-1.74 -1.178,-3.827 -1.178,-6.26c0,-2.495 0.454,-4.72 1.363,-6.676c0.908,-1.956 2.171,-3.596 3.788,-4.921c1.617,-1.324 3.542,-2.333 5.775,-3.026c2.234,-0.693 4.644,-1.04 7.231,-1.04c1.325,0 2.657,0.116 3.997,0.347c1.34,0.231 2.602,0.539 3.788,0.924c1.186,0.385 2.241,0.816 3.165,1.294c0.924,0.477 1.532,0.862 1.825,1.155c0.293,0.292 0.485,0.523 0.578,0.693c0.092,0.169 0.169,0.385 0.231,0.647c0.061,0.261 0.107,0.577 0.138,0.947c0.031,0.369 0.046,0.847 0.046,1.432c0,0.554 -0.023,1.047 -0.069,1.479c-0.046,0.431 -0.115,0.793 -0.208,1.085c-0.092,0.293 -0.223,0.508 -0.392,0.647c-0.17,0.139 -0.362,0.208 -0.578,0.208c-0.339,0 -0.87,-0.216 -1.594,-0.647c-0.724,-0.431 -1.609,-0.916 -2.657,-1.455c-1.047,-0.539 -2.287,-1.032 -3.719,-1.479c-1.432,-0.446 -3.042,-0.67 -4.828,-0.67c-1.663,0 -3.111,0.224 -4.343,0.67c-1.232,0.447 -2.249,1.04 -3.049,1.779c-0.801,0.739 -1.402,1.617 -1.802,2.634c-0.401,1.016 -0.601,2.094 -0.601,3.234c0,1.663 0.385,3.095 1.155,4.297c0.77,1.201 1.794,2.264 3.073,3.188c1.278,0.924 2.733,1.771 4.366,2.541c1.632,0.77 3.295,1.548 4.99,2.333c1.694,0.785 3.357,1.648 4.989,2.587c1.633,0.94 3.088,2.049 4.367,3.327c1.278,1.278 2.31,2.787 3.095,4.528c0.786,1.74 1.178,3.796 1.178,6.168Z" style="fill:#333;fill-rule:nonzero;"/><path d="M886.638,283.389c0,0.247 -0.054,0.454 -0.161,0.624c-0.108,0.169 -0.301,0.316 -0.578,0.439c-0.277,0.123 -0.639,0.215 -1.086,0.277c-0.446,0.062 -0.993,0.092 -1.64,0.092c-0.708,0 -1.286,-0.03 -1.733,-0.092c-0.446,-0.062 -0.8,-0.154 -1.062,-0.277c-0.262,-0.123 -0.439,-0.27 -0.532,-0.439c-0.092,-0.17 -0.138,-0.377 -0.138,-0.624l0,-5.498c-2.372,2.618 -4.713,4.528 -7.023,5.729c-2.31,1.201 -4.651,1.802 -7.023,1.802c-2.772,0 -5.105,-0.462 -6.999,-1.386c-1.895,-0.924 -3.427,-2.179 -4.597,-3.766c-1.171,-1.586 -2.01,-3.434 -2.519,-5.544c-0.508,-2.11 -0.762,-4.674 -0.762,-7.693l0,-25.226c0,-0.246 0.054,-0.454 0.162,-0.624c0.108,-0.169 0.316,-0.323 0.624,-0.462c0.308,-0.138 0.708,-0.231 1.201,-0.277c0.493,-0.046 1.109,-0.069 1.848,-0.069c0.739,0 1.355,0.023 1.848,0.069c0.493,0.046 0.886,0.139 1.178,0.277c0.293,0.139 0.501,0.293 0.624,0.462c0.123,0.17 0.185,0.378 0.185,0.624l0,24.21c0,2.433 0.177,4.382 0.531,5.845c0.354,1.463 0.893,2.71 1.617,3.742c0.724,1.032 1.64,1.833 2.749,2.403c1.109,0.569 2.403,0.854 3.881,0.854c1.91,0 3.812,-0.677 5.706,-2.033c1.895,-1.355 3.904,-3.342 6.03,-5.96l0,-29.061c0,-0.246 0.054,-0.454 0.161,-0.624c0.108,-0.169 0.316,-0.323 0.624,-0.462c0.308,-0.138 0.701,-0.231 1.178,-0.277c0.478,-0.046 1.101,-0.069 1.871,-0.069c0.74,0 1.356,0.023 1.849,0.069c0.492,0.046 0.877,0.139 1.155,0.277c0.277,0.139 0.485,0.293 0.623,0.462c0.139,0.17 0.208,0.378 0.208,0.624l0,41.582Z" style="fill:#333;fill-rule:nonzero;"/><path d="M938.986,261.951c0,3.635 -0.393,6.9 -1.179,9.795c-0.785,2.895 -1.94,5.352 -3.465,7.369c-1.524,2.018 -3.411,3.573 -5.66,4.667c-2.248,1.093 -4.82,1.64 -7.715,1.64c-1.232,0 -2.372,-0.123 -3.419,-0.37c-1.048,-0.246 -2.072,-0.631 -3.073,-1.155c-1.001,-0.523 -1.994,-1.185 -2.98,-1.986c-0.986,-0.801 -2.033,-1.741 -3.142,-2.819l0,20.791c0,0.247 -0.061,0.462 -0.184,0.647c-0.124,0.185 -0.324,0.339 -0.601,0.462c-0.277,0.123 -0.662,0.216 -1.155,0.277c-0.493,0.062 -1.124,0.093 -1.894,0.093c-0.74,0 -1.356,-0.031 -1.849,-0.093c-0.492,-0.061 -0.885,-0.154 -1.178,-0.277c-0.292,-0.123 -0.493,-0.277 -0.6,-0.462c-0.108,-0.185 -0.162,-0.4 -0.162,-0.647l0,-58.076c0,-0.277 0.046,-0.501 0.139,-0.67c0.092,-0.169 0.277,-0.316 0.554,-0.439c0.277,-0.123 0.631,-0.208 1.063,-0.254c0.431,-0.046 0.954,-0.069 1.571,-0.069c0.646,0 1.178,0.023 1.594,0.069c0.415,0.046 0.762,0.131 1.039,0.254c0.277,0.123 0.47,0.27 0.578,0.439c0.107,0.169 0.161,0.393 0.161,0.67l0,5.59c1.263,-1.293 2.48,-2.417 3.65,-3.372c1.171,-0.955 2.349,-1.748 3.535,-2.38c1.186,-0.631 2.402,-1.109 3.65,-1.432c1.247,-0.323 2.564,-0.485 3.95,-0.485c3.019,0 5.591,0.585 7.716,1.756c2.125,1.17 3.858,2.772 5.198,4.805c1.34,2.033 2.317,4.397 2.933,7.092c0.617,2.695 0.925,5.552 0.925,8.57Zm-7.901,0.878c0,-2.125 -0.163,-4.181 -0.488,-6.168c-0.325,-1.987 -0.883,-3.75 -1.673,-5.29c-0.791,-1.54 -1.852,-2.772 -3.185,-3.696c-1.332,-0.924 -2.99,-1.386 -4.974,-1.386c-0.992,0 -1.968,0.146 -2.929,0.439c-0.96,0.292 -1.936,0.754 -2.928,1.386c-0.992,0.631 -2.03,1.463 -3.115,2.495c-1.085,1.031 -2.231,2.302 -3.44,3.811l0,16.541c2.108,2.556 4.107,4.512 5.997,5.867c1.891,1.356 3.874,2.033 5.95,2.033c1.922,0 3.572,-0.462 4.951,-1.386c1.379,-0.924 2.495,-2.156 3.347,-3.696c0.852,-1.54 1.48,-3.265 1.883,-5.175c0.403,-1.909 0.604,-3.834 0.604,-5.775Z" style="fill:#333;fill-rule:nonzero;"/><path d="M988.699,261.951c0,3.635 -0.392,6.9 -1.178,9.795c-0.785,2.895 -1.94,5.352 -3.465,7.369c-1.525,2.018 -3.411,3.573 -5.66,4.667c-2.248,1.093 -4.82,1.64 -7.716,1.64c-1.232,0 -2.371,-0.123 -3.419,-0.37c-1.047,-0.246 -2.071,-0.631 -3.072,-1.155c-1.001,-0.523 -1.994,-1.185 -2.98,-1.986c-0.986,-0.801 -2.033,-1.741 -3.142,-2.819l0,20.791c0,0.247 -0.061,0.462 -0.185,0.647c-0.123,0.185 -0.323,0.339 -0.6,0.462c-0.278,0.123 -0.663,0.216 -1.155,0.277c-0.493,0.062 -1.125,0.093 -1.895,0.093c-0.739,0 -1.355,-0.031 -1.848,-0.093c-0.493,-0.061 -0.885,-0.154 -1.178,-0.277c-0.293,-0.123 -0.493,-0.277 -0.601,-0.462c-0.107,-0.185 -0.161,-0.4 -0.161,-0.647l0,-58.076c0,-0.277 0.046,-0.501 0.138,-0.67c0.093,-0.169 0.278,-0.316 0.555,-0.439c0.277,-0.123 0.631,-0.208 1.062,-0.254c0.432,-0.046 0.955,-0.069 1.571,-0.069c0.647,0 1.178,0.023 1.594,0.069c0.416,0.046 0.763,0.131 1.04,0.254c0.277,0.123 0.47,0.27 0.577,0.439c0.108,0.169 0.162,0.393 0.162,0.67l0,5.59c1.263,-1.293 2.48,-2.417 3.65,-3.372c1.171,-0.955 2.349,-1.748 3.535,-2.38c1.185,-0.631 2.402,-1.109 3.65,-1.432c1.247,-0.323 2.564,-0.485 3.95,-0.485c3.018,0 5.59,0.585 7.716,1.756c2.125,1.17 3.858,2.772 5.197,4.805c1.34,2.033 2.318,4.397 2.934,7.092c0.616,2.695 0.924,5.552 0.924,8.57Zm-7.9,0.878c0,-2.125 -0.163,-4.181 -0.488,-6.168c-0.326,-1.987 -0.883,-3.75 -1.674,-5.29c-0.79,-1.54 -1.851,-2.772 -3.184,-3.696c-1.333,-0.924 -2.991,-1.386 -4.974,-1.386c-0.992,0 -1.968,0.146 -2.929,0.439c-0.96,0.292 -1.937,0.754 -2.928,1.386c-0.992,0.631 -2.03,1.463 -3.115,2.495c-1.085,1.031 -2.231,2.302 -3.44,3.811l0,16.541c2.108,2.556 4.107,4.512 5.997,5.867c1.891,1.356 3.874,2.033 5.95,2.033c1.921,0 3.571,-0.462 4.951,-1.386c1.379,-0.924 2.494,-2.156 3.347,-3.696c0.852,-1.54 1.48,-3.265 1.882,-5.175c0.403,-1.909 0.605,-3.834 0.605,-5.775Z" style="fill:#333;fill-rule:nonzero;"/><path d="M1038.83,262.136c0,3.388 -0.447,6.507 -1.34,9.356c-0.893,2.849 -2.225,5.306 -3.996,7.369c-1.772,2.064 -3.989,3.673 -6.654,4.828c-2.664,1.156 -5.752,1.733 -9.263,1.733c-3.419,0 -6.399,-0.508 -8.94,-1.525c-2.541,-1.016 -4.659,-2.495 -6.353,-4.435c-1.694,-1.941 -2.957,-4.297 -3.789,-7.069c-0.831,-2.772 -1.247,-5.914 -1.247,-9.425c0,-3.388 0.439,-6.507 1.317,-9.356c0.877,-2.849 2.202,-5.306 3.973,-7.37c1.771,-2.063 3.981,-3.665 6.63,-4.805c2.649,-1.139 5.744,-1.709 9.287,-1.709c3.419,0 6.399,0.508 8.94,1.525c2.541,1.016 4.659,2.494 6.353,4.435c1.694,1.94 2.964,4.297 3.811,7.069c0.847,2.772 1.271,5.898 1.271,9.379Zm-7.901,0.508c0,-2.248 -0.21,-4.374 -0.629,-6.376c-0.42,-2.002 -1.111,-3.757 -2.075,-5.267c-0.963,-1.509 -2.269,-2.703 -3.916,-3.58c-1.647,-0.878 -3.698,-1.317 -6.154,-1.317c-2.269,0 -4.219,0.4 -5.851,1.201c-1.631,0.801 -2.976,1.933 -4.032,3.396c-1.057,1.463 -1.842,3.196 -2.354,5.198c-0.513,2.002 -0.77,4.189 -0.77,6.56c0,2.28 0.21,4.42 0.63,6.423c0.42,2.002 1.119,3.75 2.098,5.244c0.979,1.493 2.292,2.679 3.939,3.557c1.647,0.878 3.698,1.317 6.154,1.317c2.238,0 4.18,-0.401 5.827,-1.201c1.648,-0.801 3,-1.925 4.056,-3.373c1.057,-1.448 1.834,-3.173 2.331,-5.175c0.498,-2.002 0.746,-4.204 0.746,-6.607Z" style="fill:#333;fill-rule:nonzero;"/><path d="M1074.36,244.533c0,0.678 -0.016,1.247 -0.047,1.709c-0.03,0.462 -0.092,0.824 -0.184,1.086c-0.093,0.262 -0.208,0.462 -0.347,0.601c-0.139,0.138 -0.331,0.208 -0.577,0.208c-0.247,0 -0.547,-0.07 -0.901,-0.208c-0.355,-0.139 -0.755,-0.277 -1.202,-0.416c-0.446,-0.139 -0.947,-0.27 -1.501,-0.393c-0.555,-0.123 -1.155,-0.185 -1.802,-0.185c-0.77,0 -1.525,0.154 -2.264,0.462c-0.739,0.308 -1.517,0.817 -2.333,1.525c-0.817,0.709 -1.671,1.648 -2.565,2.818c-0.893,1.171 -1.878,2.603 -2.956,4.297l0,27.352c0,0.247 -0.062,0.454 -0.185,0.624c-0.124,0.169 -0.324,0.316 -0.601,0.439c-0.277,0.123 -0.662,0.215 -1.155,0.277c-0.493,0.062 -1.124,0.092 -1.894,0.092c-0.74,0 -1.356,-0.03 -1.848,-0.092c-0.493,-0.062 -0.886,-0.154 -1.179,-0.277c-0.292,-0.123 -0.492,-0.27 -0.6,-0.439c-0.108,-0.17 -0.162,-0.377 -0.162,-0.624l0,-41.582c0,-0.246 0.046,-0.454 0.139,-0.624c0.092,-0.169 0.277,-0.323 0.554,-0.462c0.277,-0.138 0.632,-0.231 1.063,-0.277c0.431,-0.046 1.001,-0.069 1.709,-0.069c0.678,0 1.24,0.023 1.687,0.069c0.446,0.046 0.793,0.139 1.039,0.277c0.247,0.139 0.424,0.293 0.532,0.462c0.107,0.17 0.161,0.378 0.161,0.624l0,6.052c1.14,-1.663 2.21,-3.018 3.211,-4.065c1.001,-1.048 1.949,-1.872 2.842,-2.472c0.893,-0.601 1.779,-1.017 2.656,-1.248c0.878,-0.231 1.764,-0.346 2.657,-0.346c0.4,0 0.855,0.023 1.363,0.069c0.508,0.046 1.04,0.131 1.594,0.254c0.554,0.123 1.055,0.262 1.502,0.416c0.446,0.154 0.762,0.308 0.947,0.462c0.185,0.154 0.308,0.3 0.369,0.439c0.062,0.139 0.116,0.316 0.162,0.531c0.046,0.216 0.077,0.532 0.092,0.948c0.016,0.415 0.024,0.977 0.024,1.686Z" style="fill:#333;fill-rule:nonzero;"/><path d="M1104.67,280.34c0,0.893 -0.061,1.601 -0.184,2.125c-0.124,0.524 -0.308,0.909 -0.555,1.155c-0.246,0.247 -0.616,0.478 -1.109,0.693c-0.493,0.216 -1.055,0.393 -1.686,0.532c-0.632,0.138 -1.302,0.254 -2.01,0.346c-0.708,0.092 -1.417,0.139 -2.125,0.139c-2.156,0 -4.004,-0.285 -5.545,-0.855c-1.54,-0.57 -2.802,-1.432 -3.788,-2.587c-0.986,-1.155 -1.702,-2.619 -2.149,-4.39c-0.446,-1.771 -0.669,-3.858 -0.669,-6.26l0,-24.303l-5.822,0c-0.462,0 -0.832,-0.246 -1.109,-0.739c-0.277,-0.493 -0.416,-1.293 -0.416,-2.402c0,-0.586 0.039,-1.078 0.116,-1.479c0.077,-0.4 0.177,-0.731 0.3,-0.993c0.123,-0.262 0.285,-0.447 0.485,-0.555c0.2,-0.107 0.424,-0.161 0.67,-0.161l5.776,0l0,-9.888c0,-0.215 0.053,-0.415 0.161,-0.6c0.108,-0.185 0.308,-0.347 0.601,-0.485c0.292,-0.139 0.685,-0.239 1.178,-0.301c0.493,-0.061 1.109,-0.092 1.848,-0.092c0.77,0 1.402,0.031 1.894,0.092c0.493,0.062 0.878,0.162 1.155,0.301c0.278,0.138 0.478,0.3 0.601,0.485c0.123,0.185 0.185,0.385 0.185,0.6l0,9.888l10.673,0c0.246,0 0.462,0.054 0.646,0.161c0.185,0.108 0.347,0.293 0.486,0.555c0.138,0.262 0.238,0.593 0.3,0.993c0.062,0.401 0.092,0.893 0.092,1.479c0,1.109 -0.138,1.909 -0.415,2.402c-0.278,0.493 -0.647,0.739 -1.109,0.739l-10.673,0l0,23.194c0,2.865 0.423,5.028 1.27,6.491c0.848,1.464 2.364,2.195 4.551,2.195c0.709,0 1.34,-0.069 1.895,-0.208c0.554,-0.138 1.047,-0.285 1.478,-0.439c0.431,-0.154 0.801,-0.3 1.109,-0.439c0.308,-0.138 0.585,-0.208 0.832,-0.208c0.154,0 0.3,0.039 0.439,0.116c0.138,0.077 0.246,0.223 0.323,0.439c0.077,0.215 0.146,0.508 0.208,0.878c0.062,0.369 0.092,0.831 0.092,1.386Z" style="fill:#333;fill-rule:nonzero;"/><path d="M1149.21,260.796c0,1.201 -0.301,2.056 -0.904,2.564c-0.604,0.509 -1.292,0.763 -2.066,0.763l-27.385,0c0,2.31 0.233,4.389 0.697,6.237c0.464,1.848 1.238,3.434 2.321,4.759c1.083,1.324 2.492,2.341 4.225,3.049c1.733,0.709 3.854,1.063 6.36,1.063c1.981,0 3.746,-0.162 5.293,-0.485c1.548,-0.324 2.886,-0.686 4.016,-1.086c1.13,-0.4 2.059,-0.762 2.786,-1.086c0.727,-0.323 1.277,-0.485 1.649,-0.485c0.216,0 0.409,0.054 0.58,0.162c0.17,0.108 0.301,0.269 0.394,0.485c0.093,0.216 0.163,0.516 0.209,0.901c0.047,0.385 0.07,0.855 0.07,1.409c0,0.401 -0.016,0.747 -0.046,1.04c-0.031,0.292 -0.07,0.554 -0.116,0.785c-0.046,0.231 -0.123,0.439 -0.231,0.624c-0.108,0.185 -0.246,0.362 -0.416,0.531c-0.169,0.17 -0.67,0.447 -1.501,0.832c-0.832,0.385 -1.91,0.762 -3.235,1.132c-1.324,0.369 -2.856,0.701 -4.597,0.993c-1.74,0.293 -3.596,0.439 -5.567,0.439c-3.419,0 -6.414,-0.477 -8.986,-1.432c-2.572,-0.955 -4.736,-2.372 -6.492,-4.251c-1.756,-1.879 -3.08,-4.235 -3.973,-7.069c-0.894,-2.834 -1.34,-6.129 -1.34,-9.887c0,-3.573 0.462,-6.784 1.386,-9.633c0.924,-2.849 2.256,-5.267 3.996,-7.254c1.741,-1.987 3.843,-3.511 6.307,-4.574c2.464,-1.063 5.221,-1.594 8.27,-1.594c3.265,0 6.045,0.524 8.34,1.571c2.295,1.047 4.181,2.456 5.66,4.227c1.478,1.771 2.564,3.85 3.257,6.238c0.693,2.387 1.039,4.936 1.039,7.646l0,1.386Zm-7.669,-2.264c0.092,-4.004 -0.799,-7.146 -2.673,-9.425c-1.875,-2.279 -4.656,-3.419 -8.344,-3.419c-1.891,0 -3.549,0.354 -4.974,1.063c-1.426,0.708 -2.619,1.648 -3.58,2.818c-0.961,1.17 -1.705,2.533 -2.231,4.089c-0.527,1.555 -0.821,3.18 -0.884,4.874l22.686,0Z" style="fill:#333;fill-rule:nonzero;"/><path d="M1196.42,283.389c0,0.247 -0.054,0.462 -0.161,0.647c-0.108,0.185 -0.293,0.331 -0.555,0.439c-0.262,0.108 -0.608,0.192 -1.039,0.254c-0.432,0.062 -0.955,0.092 -1.571,0.092c-0.647,0 -1.186,-0.03 -1.617,-0.092c-0.432,-0.062 -0.786,-0.146 -1.063,-0.254c-0.277,-0.108 -0.477,-0.254 -0.601,-0.439c-0.123,-0.185 -0.184,-0.4 -0.184,-0.647l0,-5.498c-2.187,2.372 -4.459,4.22 -6.815,5.544c-2.357,1.325 -4.936,1.987 -7.739,1.987c-3.05,0 -5.652,-0.593 -7.808,-1.779c-2.157,-1.186 -3.905,-2.787 -5.244,-4.805c-1.34,-2.017 -2.318,-4.389 -2.934,-7.115c-0.616,-2.726 -0.924,-5.598 -0.924,-8.617c0,-3.573 0.385,-6.799 1.155,-9.679c0.77,-2.88 1.909,-5.336 3.419,-7.369c1.509,-2.033 3.38,-3.596 5.613,-4.69c2.233,-1.093 4.813,-1.64 7.739,-1.64c2.434,0 4.659,0.531 6.676,1.594c2.018,1.063 4.012,2.626 5.984,4.689l0,-24.163c0,-0.216 0.054,-0.424 0.161,-0.624c0.108,-0.2 0.316,-0.354 0.624,-0.462c0.308,-0.108 0.701,-0.2 1.178,-0.277c0.478,-0.077 1.086,-0.116 1.825,-0.116c0.77,0 1.402,0.039 1.895,0.116c0.492,0.077 0.877,0.169 1.155,0.277c0.277,0.108 0.485,0.262 0.623,0.462c0.139,0.2 0.208,0.408 0.208,0.624l0,61.541Zm-7.669,-29.246c-2.064,-2.557 -4.058,-4.505 -5.984,-5.845c-1.925,-1.339 -3.934,-2.009 -6.029,-2.009c-1.94,0 -3.588,0.462 -4.944,1.386c-1.355,0.924 -2.456,2.14 -3.303,3.65c-0.847,1.509 -1.463,3.218 -1.848,5.128c-0.385,1.91 -0.578,3.85 -0.578,5.822c0,2.094 0.162,4.142 0.485,6.145c0.324,2.002 0.886,3.78 1.687,5.336c0.801,1.555 1.863,2.803 3.188,3.742c1.324,0.94 2.988,1.41 4.99,1.41c1.016,0 1.994,-0.139 2.934,-0.416c0.939,-0.278 1.902,-0.74 2.887,-1.386c0.986,-0.647 2.018,-1.487 3.096,-2.518c1.078,-1.032 2.217,-2.303 3.419,-3.812l0,-16.633Z" style="fill:#333;fill-rule:nonzero;"/><g><g><path d="M280.884,219.245c1.765,0 3.198,-1.433 3.198,-3.198l0,-6.395c0,-1.765 -1.433,-3.197 -3.198,-3.197l-225.605,0c-1.764,0 -3.197,1.432 -3.197,3.197l0,6.395c0,1.765 1.433,3.198 3.197,3.198l225.605,0Z" style="fill:#8c8c8c;"/><path d="M280.884,165.588c1.765,0 3.198,-1.433 3.198,-3.198l0,-6.395c0,-1.765 -1.433,-3.197 -3.198,-3.197l-225.605,0c-1.764,0 -3.197,1.432 -3.197,3.197l0,6.395c0,1.765 1.433,3.198 3.197,3.198l225.605,0Z" style="fill:#8c8c8c;"/><path d="M280.884,192.416c1.765,0 3.198,-1.432 3.198,-3.197l0,-6.395c0,-1.765 -1.433,-3.198 -3.198,-3.198l-225.605,0c-1.764,0 -3.197,1.433 -3.197,3.198l0,6.395c0,1.765 1.433,3.197 3.197,3.197l225.605,0Z" style="fill:#8c8c8c;"/><path d="M280.884,138.759c1.765,0 3.198,-1.432 3.198,-3.197l0,-6.395c0,-1.765 -1.433,-3.198 -3.198,-3.198l-225.605,0c-1.764,0 -3.197,1.433 -3.197,3.198l0,6.395c0,1.765 1.433,3.197 3.197,3.197l225.605,0Z" style="fill:#8c8c8c;"/><path d="M280.884,246.074c1.765,0 3.198,-1.433 3.198,-3.198l0,-6.395c0,-1.765 -1.433,-3.198 -3.198,-3.198l-225.605,0c-1.764,0 -3.197,1.433 -3.197,3.198l0,6.395c0,1.765 1.433,3.198 3.197,3.198l225.605,0Z" style="fill:#8c8c8c;"/><path d="M134.858,298.824c0,1.764 1.433,3.197 3.198,3.197l6.395,0c1.765,0 3.197,-1.433 3.197,-3.197l0,-225.605c0,-1.765 -1.432,-3.198 -3.197,-3.198l-6.395,0c-1.765,0 -3.198,1.433 -3.198,3.198l0,225.605Z" style="fill:#8c8c8c;"/><path d="M188.515,298.824c0,1.764 1.433,3.197 3.198,3.197l6.395,0c1.765,0 3.198,-1.433 3.198,-3.197l0,-225.605c0,-1.765 -1.433,-3.198 -3.198,-3.198l-6.395,0c-1.765,0 -3.198,1.433 -3.198,3.198l0,225.605Z" style="fill:#8c8c8c;"/><path d="M161.687,298.824c0,1.764 1.432,3.197 3.197,3.197l6.395,0c1.765,0 3.198,-1.433 3.198,-3.197l0,-225.605c0,-1.765 -1.433,-3.198 -3.198,-3.198l-6.395,0c-1.765,0 -3.197,1.433 -3.197,3.198l0,225.605Z" style="fill:#8c8c8c;"/><path d="M215.344,298.824c0,1.764 1.433,3.197 3.197,3.197l6.396,0c1.764,0 3.197,-1.433 3.197,-3.197l0,-225.605c0,-1.765 -1.433,-3.198 -3.197,-3.198l-6.396,0c-1.764,0 -3.197,1.433 -3.197,3.198l0,225.605Z" style="fill:#8c8c8c;"/><path d="M108.029,298.824c0,1.764 1.433,3.197 3.198,3.197l6.395,0c1.765,0 3.198,-1.433 3.198,-3.197l0,-225.605c0,-1.765 -1.433,-3.198 -3.198,-3.198l-6.395,0c-1.765,0 -3.198,1.433 -3.198,3.198l0,225.605Z" style="fill:#8c8c8c;"/></g><path d="M232.655,278.269c15.274,0 27.674,-12.401 27.674,-27.674l0,-129.147c0,-15.274 -12.4,-27.674 -27.674,-27.674l-129.146,0c-15.274,0 -27.675,12.4 -27.675,27.674l0,129.147c0,15.273 12.401,27.674 27.675,27.674l129.146,0Z" style="fill:#333;"/><path d="M220.739,175.532c0,6.734 -1.056,12.768 -3.167,18.104c-2.112,5.335 -5.122,9.886 -9.031,13.653c-3.909,3.766 -8.645,6.676 -14.209,8.731c-5.564,2.054 -11.855,3.167 -18.874,3.338l0,20.458c0,0.456 -0.114,0.856 -0.343,1.198c-0.228,0.342 -0.627,0.614 -1.198,0.813c-0.571,0.2 -1.327,0.357 -2.268,0.471c-0.942,0.114 -2.126,0.171 -3.553,0.171c-1.426,0 -2.61,-0.057 -3.552,-0.171c-0.942,-0.114 -1.683,-0.271 -2.226,-0.471c-0.542,-0.199 -0.941,-0.471 -1.198,-0.813c-0.257,-0.342 -0.385,-0.742 -0.385,-1.198l0,-20.458c-7.133,-0.171 -13.496,-1.199 -19.088,-3.082c-5.593,-1.883 -10.329,-4.608 -14.21,-8.174c-3.88,-3.567 -6.847,-7.947 -8.902,-13.139c-2.054,-5.193 -3.081,-11.157 -3.081,-17.89l0,-43.741c0,-0.399 0.128,-0.77 0.385,-1.113c0.257,-0.342 0.656,-0.627 1.198,-0.856c0.542,-0.228 1.284,-0.399 2.226,-0.513c0.941,-0.114 2.125,-0.171 3.552,-0.171c1.427,0 2.611,0.057 3.552,0.171c0.942,0.114 1.698,0.285 2.269,0.513c0.57,0.229 0.97,0.514 1.198,0.856c0.228,0.343 0.343,0.714 0.343,1.113l0,42.457c0,4.736 0.627,9.002 1.883,12.796c1.255,3.795 3.138,7.019 5.649,9.673c2.511,2.654 5.692,4.708 9.544,6.163c3.852,1.455 8.346,2.24 13.482,2.354l0,-73.443c0,-0.399 0.128,-0.77 0.385,-1.113c0.257,-0.342 0.685,-0.627 1.284,-0.856c0.599,-0.228 1.37,-0.399 2.311,-0.513c0.942,-0.114 2.069,-0.171 3.381,-0.171c1.427,0 2.611,0.057 3.553,0.171c0.941,0.114 1.697,0.285 2.268,0.513c0.571,0.229 0.97,0.514 1.198,0.856c0.229,0.343 0.343,0.714 0.343,1.113l0,73.443c5.136,-0.057 9.615,-0.842 13.439,-2.354c3.823,-1.512 7.004,-3.595 9.544,-6.249c2.539,-2.653 4.451,-5.849 5.735,-9.587c1.284,-3.737 1.926,-7.889 1.926,-12.454l0,-42.799c0,-0.399 0.114,-0.77 0.342,-1.113c0.228,-0.342 0.628,-0.627 1.198,-0.856c0.571,-0.228 1.313,-0.399 2.226,-0.513c0.913,-0.114 2.111,-0.171 3.595,-0.171c1.37,0 2.525,0.057 3.467,0.171c0.941,0.114 1.683,0.285 2.225,0.513c0.542,0.229 0.942,0.514 1.199,0.856c0.256,0.343 0.385,0.714 0.385,1.113l0,42.2Z" style="fill:#fff;fill-rule:nonzero;"/><path d="M220.739,175.532c0,6.734 -1.056,12.768 -3.167,18.104c-2.112,5.335 -5.122,9.886 -9.031,13.653c-3.909,3.766 -8.645,6.676 -14.209,8.731c-5.564,2.054 -11.855,3.167 -18.874,3.338l0,20.458c0,0.456 -0.114,0.856 -0.343,1.198c-0.228,0.342 -0.627,0.614 -1.198,0.813c-0.571,0.2 -1.327,0.357 -2.268,0.471c-0.942,0.114 -2.126,0.171 -3.553,0.171c-1.426,0 -2.61,-0.057 -3.552,-0.171c-0.942,-0.114 -1.683,-0.271 -2.226,-0.471c-0.542,-0.199 -0.941,-0.471 -1.198,-0.813c-0.257,-0.342 -0.385,-0.742 -0.385,-1.198l0,-20.458c-7.133,-0.171 -13.496,-1.199 -19.088,-3.082c-5.593,-1.883 -10.329,-4.608 -14.21,-8.174c-3.88,-3.567 -6.847,-7.947 -8.902,-13.139c-2.054,-5.193 -3.081,-11.157 -3.081,-17.89l0,-43.741c0,-0.399 0.128,-0.77 0.385,-1.113c0.257,-0.342 0.656,-0.627 1.198,-0.856c0.542,-0.228 1.284,-0.399 2.226,-0.513c0.941,-0.114 2.125,-0.171 3.552,-0.171c1.427,0 2.611,0.057 3.552,0.171c0.942,0.114 1.698,0.285 2.269,0.513c0.57,0.229 0.97,0.514 1.198,0.856c0.228,0.343 0.343,0.714 0.343,1.113l0,42.457c0,4.736 0.627,9.002 1.883,12.796c1.255,3.795 3.138,7.019 5.649,9.673c2.511,2.654 5.692,4.708 9.544,6.163c3.852,1.455 8.346,2.24 13.482,2.354l0,-73.443c0,-0.399 0.128,-0.77 0.385,-1.113c0.257,-0.342 0.685,-0.627 1.284,-0.856c0.599,-0.228 1.37,-0.399 2.311,-0.513c0.942,-0.114 2.069,-0.171 3.381,-0.171c1.427,0 2.611,0.057 3.553,0.171c0.941,0.114 1.697,0.285 2.268,0.513c0.571,0.229 0.97,0.514 1.198,0.856c0.229,0.343 0.343,0.714 0.343,1.113l0,73.443c5.136,-0.057 9.615,-0.842 13.439,-2.354c3.823,-1.512 7.004,-3.595 9.544,-6.249c2.539,-2.653 4.451,-5.849 5.735,-9.587c1.284,-3.737 1.926,-7.889 1.926,-12.454l0,-42.799c0,-0.399 0.114,-0.77 0.342,-1.113c0.228,-0.342 0.628,-0.627 1.198,-0.856c0.571,-0.228 1.313,-0.399 2.226,-0.513c0.913,-0.114 2.111,-0.171 3.595,-0.171c1.37,0 2.525,0.057 3.467,0.171c0.941,0.114 1.683,0.285 2.225,0.513c0.542,0.229 0.942,0.514 1.199,0.856c0.256,0.343 0.385,0.714 0.385,1.113l0,42.2Z" style="fill:#fff;fill-rule:nonzero;"/></g></g></svg>
diff --git a/docs/tap_hold.md b/docs/tap_hold.md
index 254d5de5ec..f1af753eba 100644
--- a/docs/tap_hold.md
+++ b/docs/tap_hold.md
@@ -425,6 +425,89 @@ uint16_t get_quick_tap_term(uint16_t keycode, keyrecord_t *record) {
If `QUICK_TAP_TERM` is set higher than `TAPPING_TERM`, it will default to `TAPPING_TERM`.
:::
+## Flow Tap
+
+Flow Tap modifies mod-tap `MT` and layer-tap `LT` keys such that when pressed within a short timeout of the preceding key, the tapping behavior is triggered. This is particularly useful for home row mods to avoid accidental mod triggers. It basically disables the hold behavior during fast typing, creating a "flow of taps." This also helps to reduce the input lag of tap-hold keys during fast typing, since the tapped behavior is sent immediately.
+
+Flow Tap is enabled by defining `FLOW_TAP_TERM` in your `config.h` with the desired timeout in milliseconds. A timeout of 150&nbsp;ms is recommended as a starting point:
+
+```c
+#define FLOW_TAP_TERM 150
+```
+
+By default, Flow Tap is enabled when:
+
+* The tap-hold key is pressed within `FLOW_TAP_TERM` milliseconds of the previous key press.
+
+* The tapping keycodes of the previous key and tap-hold key are *both* among `KC_A`&ndash;`KC_Z`, `KC_COMM`, `KC_DOT`, `KC_SCLN`, `KC_SLSH` (the main alphas area of a conventional QWERTY layout) or `KC_SPC`.
+
+As an exception to the above, Flow Tap is temporarily disabled while a tap-hold key is undecided. This is to allow chording multiple mod-tap keys without having to wait out the Flow Tap term.
+
+
+### is_flow_tap_key()
+
+Optionally, define the `is_flow_tap_key()` callback to specify where Flow Tap is enabled. The callback is called for both the tap-hold key *and* the key press immediately preceding it, and if the callback returns true for both keycodes, Flow Tap is enabled.
+
+The default implementation of this callback is:
+
+```.c
+bool is_flow_tap_key(uint16_t keycode) {
+ if ((get_mods() & (MOD_MASK_CG | MOD_BIT_LALT)) != 0) {
+ return false; // Disable Flow Tap on hotkeys.
+ }
+ switch (get_tap_keycode(keycode)) {
+ case KC_SPC:
+ case KC_A ... KC_Z:
+ case KC_DOT:
+ case KC_COMM:
+ case KC_SCLN:
+ case KC_SLSH:
+ return true;
+ }
+ return false;
+}
+```
+
+Copy the above to your `keymap.c` and edit to customize. For instance, remove the `case KC_SPC` line to disable Flow Tap for the Space key.
+
+### get_flow_tap_term()
+
+Optionally, for further flexibility, define the `get_flow_tap_term()` callback. Flow Tap acts only when key events are closer together than the time returned by the callback. Return a time of 0 to disable filtering. In this way, Flow Tap may be disabled for certain tap-hold keys, or when following certain previous keys.
+
+The default implementation of this callback is
+
+```.c
+uint16_t get_flow_tap_term(uint16_t keycode, keyrecord_t* record,
+ uint16_t prev_keycode) {
+ if (is_flow_tap_key(keycode) && is_flow_tap_key(prev_keycode)) {
+ return FLOW_TAP_TERM;
+ }
+ return 0;
+}
+```
+
+In this callback, `keycode` and `record` correspond to the current tap-hold key, and `prev_keycode` is the keycode of the previous key. Return the timeout to use. Returning `0` disables Flow Tap. This callback enables setting per-key timeouts. It is also possible to enable or disable Flow Tap for certain tap-hold keys or when following certain previous keys. Example:
+
+```c
+uint16_t get_flow_tap_term(uint16_t keycode, keyrecord_t* record,
+ uint16_t prev_keycode) {
+ if (is_flow_tap_key(keycode) && is_flow_tap_key(prev_keycode)) {
+ switch (keycode) {
+ case LCTL_T(KC_F):
+ case RCTL_T(KC_H):
+ return FLOW_TAP_TERM - 25; // Short timeout on these keys.
+
+ default:
+ return FLOW_TAP_TERM; // Longer timeout otherwise.
+ }
+ }
+ return 0; // Disable Flow Tap.
+}
+```
+
+::: tip If you define both `is_flow_tap_key()` and `get_flow_tap_term()`, then the latter takes precedence.
+:::
+
## Chordal Hold
Chordal Hold is intended to be used together with either Permissive Hold or Hold
diff --git a/docs/unit_testing.md b/docs/unit_testing.md
index 3e4c914bf1..aec4ec8334 100644
--- a/docs/unit_testing.md
+++ b/docs/unit_testing.md
@@ -58,6 +58,34 @@ It's not yet possible to do a full integration test, where you would compile the
In that model you would emulate the input, and expect a certain output from the emulated keyboard.
+# Keycode String {#keycode-string}
+
+It's much nicer to read keycodes as names like "`LT(2,KC_D)`" than numerical codes like "`0x4207`." To convert keycodes to human-readable strings, add `KEYCODE_STRING_ENABLE = yes` to the `rules.mk` file, then use the `get_keycode_string(kc)` function to convert a given 16-bit keycode to a string.
+
+```c
+const char *key_name = get_keycode_string(keycode);
+dprintf("kc: %s\n", key_name);
+```
+
+The stringified keycode may then be logged to console output with `dprintf()` or elsewhere.
+
+::: warning
+Use the result of `get_keycode_string()` immediately. Subsequent invocations reuse the same static buffer and overwrite the previous contents.
+:::
+
+Many common QMK keycodes are recognized by `get_keycode_string()`, but not all. These include some common basic keycodes, layer switch keycodes, mod-taps, one-shot keycodes, tap dance keycodes, and Unicode keycodes. As a fallback, an unrecognized keycode is written as a hex number.
+
+Optionally, `KEYCODE_STRING_NAMES_USER` may be defined to add names for additional keycodes. For example, supposing keymap.c defines `MYMACRO1` and `MYMACRO2` as custom keycodes, the following adds their names:
+
+```c
+KEYCODE_STRING_NAMES_USER(
+ KEYCODE_STRING_NAME(MYMACRO1),
+ KEYCODE_STRING_NAME(MYMACRO2),
+);
+```
+
+Similarly, `KEYCODE_STRING_NAMES_KB` may be defined to add names at the keyboard level.
+
# Tracing Variables {#tracing-variables}
Sometimes you might wonder why a variable gets changed and where, and this can be quite tricky to track down without having a debugger. It's of course possible to manually add print statements to track it, but you can also enable the variable trace feature. This works for both variables that are changed by the code, and when the variable is changed by some memory corruption.
diff --git a/drivers/battery/battery.c b/drivers/battery/battery.c
new file mode 100644
index 0000000000..65497399e8
--- /dev/null
+++ b/drivers/battery/battery.c
@@ -0,0 +1,31 @@
+// Copyright 2025 QMK
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#include "battery_driver.h"
+#include "battery.h"
+#include "timer.h"
+
+#ifndef BATTERY_SAMPLE_INTERVAL
+# define BATTERY_SAMPLE_INTERVAL 30000
+#endif
+
+static uint8_t last_bat_level = 100;
+
+void battery_init(void) {
+ battery_driver_init();
+
+ last_bat_level = battery_driver_sample_percent();
+}
+
+void battery_task(void) {
+ static uint32_t bat_timer = 0;
+ if (timer_elapsed32(bat_timer) > BATTERY_SAMPLE_INTERVAL) {
+ last_bat_level = battery_driver_sample_percent();
+
+ bat_timer = timer_read32();
+ }
+}
+
+uint8_t battery_get_percent(void) {
+ return last_bat_level;
+}
diff --git a/drivers/battery/battery.h b/drivers/battery/battery.h
new file mode 100644
index 0000000000..831b1f07e5
--- /dev/null
+++ b/drivers/battery/battery.h
@@ -0,0 +1,34 @@
+// Copyright 2025 QMK
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#pragma once
+
+#include <stdint.h>
+
+/**
+ * \file
+ *
+ * \defgroup battery Battery API
+ *
+ * \brief API to query battery status.
+ * \{
+ */
+
+/**
+ * \brief Initialize the battery driver.
+ */
+void battery_init(void);
+
+/**
+ * \brief Perform housekeeping tasks.
+ */
+void battery_task(void);
+
+/**
+ * \brief Sample battery level.
+ *
+ * \return The battery percentage, in the range 0-100.
+ */
+uint8_t battery_get_percent(void);
+
+/** \} */
diff --git a/drivers/battery/battery_adc.c b/drivers/battery/battery_adc.c
new file mode 100644
index 0000000000..cf0e69cb48
--- /dev/null
+++ b/drivers/battery/battery_adc.c
@@ -0,0 +1,55 @@
+// Copyright 2025 QMK
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#include "analog.h"
+#include "gpio.h"
+
+#ifndef BATTERY_PIN
+# error("BATTERY_PIN not configured!")
+#endif
+
+#ifndef BATTERY_REF_VOLTAGE_MV
+# define BATTERY_REF_VOLTAGE_MV 3300
+#endif
+
+#ifndef BATTERY_VOLTAGE_DIVIDER_R1
+# define BATTERY_VOLTAGE_DIVIDER_R1 100
+#endif
+
+#ifndef BATTERY_VOLTAGE_DIVIDER_R2
+# define BATTERY_VOLTAGE_DIVIDER_R2 100
+#endif
+
+// TODO: infer from adc config?
+#ifndef BATTERY_ADC_RESOLUTION
+# define BATTERY_ADC_RESOLUTION 10
+#endif
+
+void battery_driver_init(void) {
+ gpio_set_pin_input(BATTERY_PIN);
+}
+
+uint16_t battery_driver_get_mv(void) {
+ uint32_t raw = analogReadPin(BATTERY_PIN);
+
+ uint32_t bat_mv = raw * BATTERY_REF_VOLTAGE_MV / (1 << BATTERY_ADC_RESOLUTION);
+
+#if BATTERY_VOLTAGE_DIVIDER_R1 > 0 && BATTERY_VOLTAGE_DIVIDER_R2 > 0
+ bat_mv = bat_mv * (BATTERY_VOLTAGE_DIVIDER_R1 + BATTERY_VOLTAGE_DIVIDER_R2) / BATTERY_VOLTAGE_DIVIDER_R2;
+#endif
+
+ return bat_mv;
+}
+
+uint8_t battery_driver_sample_percent(void) {
+ uint16_t bat_mv = battery_driver_get_mv();
+
+ // https://github.com/zmkfirmware/zmk/blob/3f7c9d7cc4f46617faad288421025ea2a6b0bd28/app/module/drivers/sensor/battery/battery_common.c#L33
+ if (bat_mv >= 4200) {
+ return 100;
+ } else if (bat_mv <= 3450) {
+ return 0;
+ }
+
+ return bat_mv * 2 / 15 - 459;
+}
diff --git a/drivers/battery/battery_driver.h b/drivers/battery/battery_driver.h
new file mode 100644
index 0000000000..c2ee75e966
--- /dev/null
+++ b/drivers/battery/battery_driver.h
@@ -0,0 +1,29 @@
+// Copyright 2025 QMK
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#pragma once
+
+#include <stdint.h>
+
+/**
+ * \file
+ *
+ * \defgroup battery Battery Driver API
+ *
+ * \brief API to query battery status.
+ * \{
+ */
+
+/**
+ * \brief Initialize the battery driver. This function must be called only once, before any of the below functions can be called.
+ */
+void battery_driver_init(void);
+
+/**
+ * \brief Sample battery level.
+ *
+ * \return The battery percentage, in the range 0-100.
+ */
+uint8_t battery_driver_sample_percent(void);
+
+/** \} */
diff --git a/drivers/bluetooth/bluefruit_le.cpp b/drivers/bluetooth/bluefruit_le.cpp
index 218eca2195..5fdd104dcf 100644
--- a/drivers/bluetooth/bluefruit_le.cpp
+++ b/drivers/bluetooth/bluefruit_le.cpp
@@ -32,13 +32,8 @@
# define BLUEFRUIT_LE_SCK_DIVISOR 2 // 4MHz SCK/8MHz CPU, calculated for Feather 32U4 BLE
#endif
-#define SAMPLE_BATTERY
#define ConnectionUpdateInterval 1000 /* milliseconds */
-#ifndef BATTERY_LEVEL_PIN
-# define BATTERY_LEVEL_PIN B5
-#endif
-
static struct {
bool is_connected;
bool initialized;
@@ -48,10 +43,6 @@ static struct {
#define UsingEvents 2
bool event_flags;
-#ifdef SAMPLE_BATTERY
- uint16_t last_battery_update;
- uint32_t vbat;
-#endif
uint16_t last_connection_update;
} state;
@@ -549,14 +540,6 @@ void bluefruit_le_task(void) {
set_connected(atoi(resbuf));
}
}
-
-#ifdef SAMPLE_BATTERY
- if (timer_elapsed(state.last_battery_update) > BatteryUpdateInterval && resp_buf.empty()) {
- state.last_battery_update = timer_read();
-
- state.vbat = analogReadPin(BATTERY_LEVEL_PIN);
- }
-#endif
}
static bool process_queue_item(struct queue_item *item, uint16_t timeout) {
@@ -655,10 +638,6 @@ void bluefruit_le_send_mouse(report_mouse_t *report) {
}
}
-uint32_t bluefruit_le_read_battery_voltage(void) {
- return state.vbat;
-}
-
bool bluefruit_le_set_mode_leds(bool on) {
if (!state.configured) {
return false;
diff --git a/drivers/bluetooth/bluefruit_le.h b/drivers/bluetooth/bluefruit_le.h
index a3de03c35c..5efe92b6e0 100644
--- a/drivers/bluetooth/bluefruit_le.h
+++ b/drivers/bluetooth/bluefruit_le.h
@@ -45,10 +45,6 @@ extern void bluefruit_le_send_consumer(uint16_t usage);
* change. */
extern void bluefruit_le_send_mouse(report_mouse_t *report);
-/* Compute battery voltage by reading an analog pin.
- * Returns the integer number of millivolts */
-extern uint32_t bluefruit_le_read_battery_voltage(void);
-
extern bool bluefruit_le_set_mode_leds(bool on);
extern bool bluefruit_le_set_power_level(int8_t level);
diff --git a/drivers/bluetooth/outputselect.c b/drivers/bluetooth/outputselect.c
deleted file mode 100644
index b986ba274e..0000000000
--- a/drivers/bluetooth/outputselect.c
+++ /dev/null
@@ -1,70 +0,0 @@
-/*
-Copyright 2017 Priyadi Iman Nurcahyo
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#include "outputselect.h"
-#include "usb_util.h"
-
-#ifdef BLUETOOTH_BLUEFRUIT_LE
-# include "bluefruit_le.h"
-#endif
-
-uint8_t desired_output = OUTPUT_DEFAULT;
-
-/** \brief Set Output
- *
- * FIXME: Needs doc
- */
-void set_output(uint8_t output) {
- set_output_user(output);
- desired_output = output;
-}
-
-/** \brief Set Output User
- *
- * FIXME: Needs doc
- */
-__attribute__((weak)) void set_output_user(uint8_t output) {}
-
-/** \brief Auto Detect Output
- *
- * FIXME: Needs doc
- */
-uint8_t auto_detect_output(void) {
- if (usb_connected_state()) {
- return OUTPUT_USB;
- }
-
-#ifdef BLUETOOTH_BLUEFRUIT_LE
- if (bluefruit_le_is_connected()) {
- return OUTPUT_BLUETOOTH;
- }
-#endif
-
-#ifdef BLUETOOTH_ENABLE
- return OUTPUT_BLUETOOTH; // should check if BT is connected here
-#endif
-
- return OUTPUT_NONE;
-}
-
-/** \brief Where To Send
- *
- * FIXME: Needs doc
- */
-uint8_t where_to_send(void) {
- if (desired_output == OUTPUT_AUTO) {
- return auto_detect_output();
- }
- return desired_output;
-}
diff --git a/drivers/bluetooth/outputselect.h b/drivers/bluetooth/outputselect.h
index c4548e1122..25f063bbff 100644
--- a/drivers/bluetooth/outputselect.h
+++ b/drivers/bluetooth/outputselect.h
@@ -14,21 +14,17 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
-#include <stdint.h>
+#include "connection.h"
-enum outputs {
- OUTPUT_AUTO,
+// DEPRECATED - DO NOT USE
- OUTPUT_NONE,
- OUTPUT_USB,
- OUTPUT_BLUETOOTH
-};
+#define OUTPUT_AUTO CONNECTION_HOST_AUTO
+#define OUTPUT_NONE CONNECTION_HOST_NONE
+#define OUTPUT_USB CONNECTION_HOST_USB
+#define OUTPUT_BLUETOOTH CONNECTION_HOST_BLUETOOTH
-#ifndef OUTPUT_DEFAULT
-# define OUTPUT_DEFAULT OUTPUT_AUTO
-#endif
+#define set_output connection_set_host_noeeprom
+#define where_to_send connection_get_host
+#define auto_detect_output connection_auto_detect_host
-void set_output(uint8_t output);
-void set_output_user(uint8_t output);
-uint8_t auto_detect_output(void);
-uint8_t where_to_send(void);
+void set_output_user(uint8_t output);
diff --git a/drivers/eeprom/eeprom_transient.h b/drivers/eeprom/eeprom_transient.h
index 687b8619fe..0483fd58b9 100644
--- a/drivers/eeprom/eeprom_transient.h
+++ b/drivers/eeprom/eeprom_transient.h
@@ -20,6 +20,6 @@
The size of the transient EEPROM buffer size.
*/
#ifndef TRANSIENT_EEPROM_SIZE
-# include "eeconfig.h"
+# include "nvm_eeprom_eeconfig_internal.h"
# define TRANSIENT_EEPROM_SIZE (((EECONFIG_SIZE + 3) / 4) * 4) // based off eeconfig's current usage, aligned to 4-byte sizes, to deal with LTO
#endif
diff --git a/drivers/painter/gc9xxx/qp_gc9a01_opcodes.h b/drivers/painter/gc9xxx/qp_gc9a01_opcodes.h
index 5853902e68..31de5ee9e3 100644
--- a/drivers/painter/gc9xxx/qp_gc9a01_opcodes.h
+++ b/drivers/painter/gc9xxx/qp_gc9a01_opcodes.h
@@ -101,4 +101,4 @@
#define GC9A01_GRAM_INTERFACE_RGB 0b00000010
#define GC9A01_RGB_INTERFACE_MODE_1_TRANSFER 0b00000000
-#define GC9A01_RGB_INTERFACE_MODE_3_TRANSFER 0b00000001 \ No newline at end of file
+#define GC9A01_RGB_INTERFACE_MODE_3_TRANSFER 0b00000001
diff --git a/drivers/painter/ili9xxx/qp_ili9486.c b/drivers/painter/ili9xxx/qp_ili9486.c
index c4f3c15cec..48db779c04 100644
--- a/drivers/painter/ili9xxx/qp_ili9486.c
+++ b/drivers/painter/ili9xxx/qp_ili9486.c
@@ -75,9 +75,9 @@ static void qp_comms_spi_dc_reset_send_command_odd_cs_pulse(painter_device_t dev
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);
+ gpio_write_pin_low(comms_config->spi_config.chip_select_pin);
qp_comms_spi_dc_reset_send_command(device, cmd);
- writePinHigh(comms_config->spi_config.chip_select_pin);
+ gpio_write_pin_high(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) {
@@ -88,20 +88,20 @@ static uint32_t qp_comms_spi_send_data_odd_cs_pulse(painter_device_t device, con
const uint8_t *p = (const uint8_t *)data;
uint32_t max_msg_length = 1024;
- writePinHigh(comms_config->dc_pin);
+ gpio_write_pin_high(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);
+ gpio_write_pin_low(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);
+ gpio_write_pin_high(comms_config->spi_config.chip_select_pin);
+ gpio_write_pin_low(comms_config->spi_config.chip_select_pin);
}
bytes_remaining -= bytes_this_loop;
@@ -116,9 +116,9 @@ static uint32_t qp_ili9486_send_data_toggling(painter_device_t device, const uin
uint32_t ret;
for (uint8_t j = 0; j < byte_count; ++j) {
- writePinLow(comms_config->spi_config.chip_select_pin);
+ gpio_write_pin_low(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);
+ gpio_write_pin_high(comms_config->spi_config.chip_select_pin);
}
return ret;
diff --git a/drivers/painter/ld7032/qp_ld7032.h b/drivers/painter/ld7032/qp_ld7032.h
index 967eb7999c..9af80dd468 100644
--- a/drivers/painter/ld7032/qp_ld7032.h
+++ b/drivers/painter/ld7032/qp_ld7032.h
@@ -63,4 +63,4 @@ painter_device_t qp_ld7032_make_spi_device(uint16_t panel_width, uint16_t panel_
*/
painter_device_t qp_ld7032_make_i2c_device(uint16_t panel_width, uint16_t panel_height, uint8_t i2c_address);
-#endif // QUANTUM_PAINTER_LD7032_I2C_ENABLE \ No newline at end of file
+#endif // QUANTUM_PAINTER_LD7032_I2C_ENABLE
diff --git a/drivers/painter/ld7032/qp_ld7032_opcodes.h b/drivers/painter/ld7032/qp_ld7032_opcodes.h
index 08ab77d6f8..ed8b397c67 100644
--- a/drivers/painter/ld7032/qp_ld7032_opcodes.h
+++ b/drivers/painter/ld7032/qp_ld7032_opcodes.h
@@ -42,4 +42,4 @@ typedef enum {
LD7032_S_START_STOP = 0xCD,
LD7032_S_SELECT = 0xCE,
LD7032_TESTCNT1 = 0xF0, //-0xFF
-} ld7032_opcodes; \ No newline at end of file
+} ld7032_opcodes;
diff --git a/drivers/sensors/pimoroni_trackball.c b/drivers/sensors/pimoroni_trackball.c
index afbe3d5b77..06e5042953 100644
--- a/drivers/sensors/pimoroni_trackball.c
+++ b/drivers/sensors/pimoroni_trackball.c
@@ -101,12 +101,12 @@ int16_t pimoroni_trackball_get_offsets(uint8_t negative_dir, uint8_t positive_di
}
mouse_xy_report_t pimoroni_trackball_adapt_values(xy_clamp_range_t *offset) {
- if (*offset > XY_REPORT_MAX) {
- *offset -= XY_REPORT_MAX;
- return (mouse_xy_report_t)XY_REPORT_MAX;
- } else if (*offset < XY_REPORT_MIN) {
- *offset += XY_REPORT_MAX;
- return (mouse_xy_report_t)XY_REPORT_MIN;
+ if (*offset > MOUSE_REPORT_XY_MAX) {
+ *offset -= MOUSE_REPORT_XY_MAX;
+ return (mouse_xy_report_t)MOUSE_REPORT_XY_MAX;
+ } else if (*offset < MOUSE_REPORT_XY_MIN) {
+ *offset += MOUSE_REPORT_XY_MAX;
+ return (mouse_xy_report_t)MOUSE_REPORT_XY_MIN;
} else {
mouse_xy_report_t temp_return = *offset;
*offset = 0;
diff --git a/drivers/usbpd.h b/drivers/usbpd.h
index df4f29bb9d..e9dca67f66 100644
--- a/drivers/usbpd.h
+++ b/drivers/usbpd.h
@@ -26,4 +26,4 @@ typedef enum {
void usbpd_init(void);
// Gets the current state of the USBPD allowance
-usbpd_allowance_t usbpd_get_allowance(void); \ No newline at end of file
+usbpd_allowance_t usbpd_get_allowance(void);
diff --git a/keyboards/0_sixty/info.json b/keyboards/0_sixty/info.json
index ce76f808b2..ebe4d39625 100644
--- a/keyboards/0_sixty/info.json
+++ b/keyboards/0_sixty/info.json
@@ -1,6 +1,5 @@
{
"manufacturer": "ven0mtr0n",
- "url": "",
"maintainer": "vinamarora8",
"usb": {
"vid": "0x7654",
diff --git a/keyboards/0xc7/61key/keyboard.json b/keyboards/0xc7/61key/keyboard.json
index ab5127db38..969d0ce7f9 100644
--- a/keyboards/0xc7/61key/keyboard.json
+++ b/keyboards/0xc7/61key/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "61Key",
"manufacturer": "0xC7",
- "url": "",
"maintainer": "RealEmanGaming",
"usb": {
"vid": "0xE117",
@@ -14,7 +13,6 @@
"features": {
"bootmagic": true,
"command": true,
- "console": false,
"extrakey": false,
"key_lock": true,
"mousekey": false,
diff --git a/keyboards/0xcb/1337/keyboard.json b/keyboards/0xcb/1337/keyboard.json
index b2ef00906b..f4c45adc2f 100644
--- a/keyboards/0xcb/1337/keyboard.json
+++ b/keyboards/0xcb/1337/keyboard.json
@@ -66,7 +66,6 @@
"backlight": true,
"bootmagic": true,
"command": false,
- "console": false,
"encoder": true,
"extrakey": true,
"mousekey": true,
diff --git a/keyboards/0xcb/static/keyboard.json b/keyboards/0xcb/static/keyboard.json
index 73a6a802cc..064d437731 100644
--- a/keyboards/0xcb/static/keyboard.json
+++ b/keyboards/0xcb/static/keyboard.json
@@ -14,7 +14,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"encoder": true,
"extrakey": true,
"mousekey": true,
diff --git a/keyboards/0xcb/tutelpad/keyboard.json b/keyboards/0xcb/tutelpad/keyboard.json
index 2885377262..15a09b0f00 100644
--- a/keyboards/0xcb/tutelpad/keyboard.json
+++ b/keyboards/0xcb/tutelpad/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "TutelPad",
"manufacturer": "ItsFiremanSam",
- "url": "",
"maintainer": "ItsFiremanSam",
"usb": {
"vid": "0xCB00",
@@ -36,7 +35,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": false,
diff --git a/keyboards/1k/keyboard.json b/keyboards/1k/keyboard.json
index 440856d0bd..269f11782a 100644
--- a/keyboards/1k/keyboard.json
+++ b/keyboards/1k/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "1K",
"manufacturer": "MakotoKurauchi",
- "url": "",
"maintainer": "MakotoKurauchi",
"usb": {
"vid": "0x0009",
diff --git a/keyboards/1upkeyboards/1up60hse/keyboard.json b/keyboards/1upkeyboards/1up60hse/keyboard.json
index 990b51c1f8..9f1d0c0ff4 100644
--- a/keyboards/1upkeyboards/1up60hse/keyboard.json
+++ b/keyboards/1upkeyboards/1up60hse/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "1up60hse",
"manufacturer": "1upkeyboards",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0x6F75",
diff --git a/keyboards/1upkeyboards/1up60hte/keyboard.json b/keyboards/1upkeyboards/1up60hte/keyboard.json
index 7f8a660d80..c080b04cb8 100644
--- a/keyboards/1upkeyboards/1up60hte/keyboard.json
+++ b/keyboards/1upkeyboards/1up60hte/keyboard.json
@@ -15,7 +15,6 @@
"backlight": true,
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/1upkeyboards/1up60rgb/keyboard.json b/keyboards/1upkeyboards/1up60rgb/keyboard.json
index f4ba111251..914bbcb7c7 100644
--- a/keyboards/1upkeyboards/1up60rgb/keyboard.json
+++ b/keyboards/1upkeyboards/1up60rgb/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "1UP RGB Underglow PCB",
"manufacturer": "1upkeyboards",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0x6F75",
@@ -12,7 +11,6 @@
"backlight": true,
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/1upkeyboards/1upocarina/keyboard.json b/keyboards/1upkeyboards/1upocarina/keyboard.json
index 1f33c048c1..c3bee81eb8 100644
--- a/keyboards/1upkeyboards/1upocarina/keyboard.json
+++ b/keyboards/1upkeyboards/1upocarina/keyboard.json
@@ -16,7 +16,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"encoder": true,
"extrakey": true,
"mousekey": true,
diff --git a/keyboards/1upkeyboards/1upslider8/keyboard.json b/keyboards/1upkeyboards/1upslider8/keyboard.json
index 6b65361f67..1f80ef23b8 100644
--- a/keyboards/1upkeyboards/1upslider8/keyboard.json
+++ b/keyboards/1upkeyboards/1upslider8/keyboard.json
@@ -15,7 +15,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false,
diff --git a/keyboards/1upkeyboards/1upsuper16v3/keyboard.json b/keyboards/1upkeyboards/1upsuper16v3/keyboard.json
index 7ef33a0342..0d7e9eb27c 100644
--- a/keyboards/1upkeyboards/1upsuper16v3/keyboard.json
+++ b/keyboards/1upkeyboards/1upsuper16v3/keyboard.json
@@ -17,7 +17,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"encoder": true,
"extrakey": true,
"mousekey": true,
diff --git a/keyboards/1upkeyboards/pi40/grid_v1_1/keyboard.json b/keyboards/1upkeyboards/pi40/grid_v1_1/keyboard.json
index 63f76eb1a6..022ed75338 100644
--- a/keyboards/1upkeyboards/pi40/grid_v1_1/keyboard.json
+++ b/keyboards/1upkeyboards/pi40/grid_v1_1/keyboard.json
@@ -20,7 +20,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false,
diff --git a/keyboards/1upkeyboards/pi40/mit_v1_0/keyboard.json b/keyboards/1upkeyboards/pi40/mit_v1_0/keyboard.json
index ed1f139126..d038a973bf 100644
--- a/keyboards/1upkeyboards/pi40/mit_v1_0/keyboard.json
+++ b/keyboards/1upkeyboards/pi40/mit_v1_0/keyboard.json
@@ -20,7 +20,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false,
diff --git a/keyboards/1upkeyboards/pi40/mit_v1_1/keyboard.json b/keyboards/1upkeyboards/pi40/mit_v1_1/keyboard.json
index aa19a502b9..d133078564 100644
--- a/keyboards/1upkeyboards/pi40/mit_v1_1/keyboard.json
+++ b/keyboards/1upkeyboards/pi40/mit_v1_1/keyboard.json
@@ -20,7 +20,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false,
diff --git a/keyboards/1upkeyboards/pi50/info.json b/keyboards/1upkeyboards/pi50/info.json
index 409fbecbc8..83add323b0 100644
--- a/keyboards/1upkeyboards/pi50/info.json
+++ b/keyboards/1upkeyboards/pi50/info.json
@@ -17,7 +17,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false,
diff --git a/keyboards/1upkeyboards/pi60/keyboard.json b/keyboards/1upkeyboards/pi60/keyboard.json
index ca3007ee76..1074313c2e 100644
--- a/keyboards/1upkeyboards/pi60/keyboard.json
+++ b/keyboards/1upkeyboards/pi60/keyboard.json
@@ -17,7 +17,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"encoder": true,
"extrakey": true,
"mousekey": true,
diff --git a/keyboards/1upkeyboards/pi60_hse/keyboard.json b/keyboards/1upkeyboards/pi60_hse/keyboard.json
index d5a5f86187..3b99d43a0a 100644
--- a/keyboards/1upkeyboards/pi60_hse/keyboard.json
+++ b/keyboards/1upkeyboards/pi60_hse/keyboard.json
@@ -17,7 +17,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false,
diff --git a/keyboards/1upkeyboards/pi60_rgb/keyboard.json b/keyboards/1upkeyboards/pi60_rgb/keyboard.json
index 21dab3f71a..bd590dc049 100644
--- a/keyboards/1upkeyboards/pi60_rgb/keyboard.json
+++ b/keyboards/1upkeyboards/pi60_rgb/keyboard.json
@@ -17,7 +17,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false,
diff --git a/keyboards/1upkeyboards/super16/keyboard.json b/keyboards/1upkeyboards/super16/keyboard.json
index 9da4168d47..fcc1ec1620 100644
--- a/keyboards/1upkeyboards/super16/keyboard.json
+++ b/keyboards/1upkeyboards/super16/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "super16",
"manufacturer": "1upkeyboards",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0x6F75",
@@ -80,7 +79,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false,
diff --git a/keyboards/1upkeyboards/super16v2/keyboard.json b/keyboards/1upkeyboards/super16v2/keyboard.json
index 652b03006e..888bdcc20d 100644
--- a/keyboards/1upkeyboards/super16v2/keyboard.json
+++ b/keyboards/1upkeyboards/super16v2/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "super16v2",
"manufacturer": "1upkeyboards",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0x6F75",
@@ -52,7 +51,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"encoder": true,
"extrakey": true,
"mousekey": true,
diff --git a/keyboards/1upkeyboards/sweet16/info.json b/keyboards/1upkeyboards/sweet16/info.json
index 5fb70bb8e9..a1f9de54ba 100644
--- a/keyboards/1upkeyboards/sweet16/info.json
+++ b/keyboards/1upkeyboards/sweet16/info.json
@@ -1,12 +1,10 @@
{
"keyboard_name": "Sweet16",
"manufacturer": "1up Keyboards",
- "url": "",
"maintainer": "skullydazed",
"features": {
"bootmagic": false,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/1upkeyboards/sweet16/v1/keyboard.json b/keyboards/1upkeyboards/sweet16/v1/keyboard.json
index 3ac73ce8eb..161ca65950 100644
--- a/keyboards/1upkeyboards/sweet16/v1/keyboard.json
+++ b/keyboards/1upkeyboards/sweet16/v1/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Sweet16",
"manufacturer": "1up Keyboards",
- "url": "",
"maintainer": "skullydazed",
"usb": {
"vid": "0x6F75",
diff --git a/keyboards/1upkeyboards/sweet16v2/kb2040/keyboard.json b/keyboards/1upkeyboards/sweet16v2/kb2040/keyboard.json
index d8d6c5e3ea..f5225fce85 100644
--- a/keyboards/1upkeyboards/sweet16v2/kb2040/keyboard.json
+++ b/keyboards/1upkeyboards/sweet16v2/kb2040/keyboard.json
@@ -14,7 +14,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"encoder": true,
"extrakey": true,
"mousekey": true,
diff --git a/keyboards/1upkeyboards/sweet16v2/pro_micro/keyboard.json b/keyboards/1upkeyboards/sweet16v2/pro_micro/keyboard.json
index d46f723a17..ba22994765 100644
--- a/keyboards/1upkeyboards/sweet16v2/pro_micro/keyboard.json
+++ b/keyboards/1upkeyboards/sweet16v2/pro_micro/keyboard.json
@@ -13,7 +13,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"encoder": true,
"extrakey": true,
"mousekey": true,
diff --git a/keyboards/2key2crawl/keyboard.json b/keyboards/2key2crawl/keyboard.json
index fec55c811a..252f619e34 100644
--- a/keyboards/2key2crawl/keyboard.json
+++ b/keyboards/2key2crawl/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "2Key2Crawl",
"manufacturer": "WoodKeys.click",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0xFEED",
diff --git a/keyboards/30wer/keyboard.json b/keyboards/30wer/keyboard.json
index 606c13f7aa..7c0326125c 100644
--- a/keyboards/30wer/keyboard.json
+++ b/keyboards/30wer/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "30wer",
"manufacturer": "8o7wer",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0x1234",
diff --git a/keyboards/3keyecosystem/2key2/keyboard.json b/keyboards/3keyecosystem/2key2/keyboard.json
index 5c77fdf6ae..de34f387c1 100644
--- a/keyboards/3keyecosystem/2key2/keyboard.json
+++ b/keyboards/3keyecosystem/2key2/keyboard.json
@@ -70,7 +70,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": false,
diff --git a/keyboards/40percentclub/25/keyboard.json b/keyboards/40percentclub/25/keyboard.json
index e23d0578c3..ceaff11454 100644
--- a/keyboards/40percentclub/25/keyboard.json
+++ b/keyboards/40percentclub/25/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "The 5x5 Keyboard",
"manufacturer": "di0ib",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0x4025",
diff --git a/keyboards/40percentclub/4pack/keyboard.json b/keyboards/40percentclub/4pack/keyboard.json
index a114e97dbb..79aedd88c3 100644
--- a/keyboards/40percentclub/4pack/keyboard.json
+++ b/keyboards/40percentclub/4pack/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "4pack",
"manufacturer": "40percentclub",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0x4025",
@@ -18,7 +17,6 @@
"backlight": true,
"bootmagic": false,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": false
diff --git a/keyboards/40percentclub/4x4/keyboard.json b/keyboards/40percentclub/4x4/keyboard.json
index 735a3865da..cd5e0f4c0c 100644
--- a/keyboards/40percentclub/4x4/keyboard.json
+++ b/keyboards/40percentclub/4x4/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "The 4x4 Keyboard",
"manufacturer": "di0ib",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0x4025",
diff --git a/keyboards/40percentclub/5x5/keyboard.json b/keyboards/40percentclub/5x5/keyboard.json
index 039d9fe47b..1a76644489 100644
--- a/keyboards/40percentclub/5x5/keyboard.json
+++ b/keyboards/40percentclub/5x5/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "The 5x5 Keyboard",
"manufacturer": "di0ib",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0x4025",
diff --git a/keyboards/40percentclub/6lit/keyboard.json b/keyboards/40percentclub/6lit/keyboard.json
index 52a8914d7d..96644a7a44 100644
--- a/keyboards/40percentclub/6lit/keyboard.json
+++ b/keyboards/40percentclub/6lit/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "The 6lit Macropad",
"manufacturer": "di0ib",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0x4025",
diff --git a/keyboards/40percentclub/foobar/keyboard.json b/keyboards/40percentclub/foobar/keyboard.json
index ec568b2382..c0a77c4e9a 100644
--- a/keyboards/40percentclub/foobar/keyboard.json
+++ b/keyboards/40percentclub/foobar/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "The foobar Keyboard",
"manufacturer": "di0ib",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0x4025",
diff --git a/keyboards/40percentclub/gherkin/info.json b/keyboards/40percentclub/gherkin/info.json
index 0c9f609cdc..644001bc05 100644
--- a/keyboards/40percentclub/gherkin/info.json
+++ b/keyboards/40percentclub/gherkin/info.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Gherkin",
"manufacturer": "40 Percent Club",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0x4025",
diff --git a/keyboards/40percentclub/half_n_half/keyboard.json b/keyboards/40percentclub/half_n_half/keyboard.json
index 4f18d235b2..21ca55f162 100644
--- a/keyboards/40percentclub/half_n_half/keyboard.json
+++ b/keyboards/40percentclub/half_n_half/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "half_n_half",
"manufacturer": "di0ib",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0x4025",
diff --git a/keyboards/40percentclub/i75/info.json b/keyboards/40percentclub/i75/info.json
index a7124adec2..197667cba5 100644
--- a/keyboards/40percentclub/i75/info.json
+++ b/keyboards/40percentclub/i75/info.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "i75",
"manufacturer": "di0ib",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0x4025",
diff --git a/keyboards/40percentclub/luddite/keyboard.json b/keyboards/40percentclub/luddite/keyboard.json
index a9f79d7369..a892f041cb 100644
--- a/keyboards/40percentclub/luddite/keyboard.json
+++ b/keyboards/40percentclub/luddite/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Luddite",
"manufacturer": "di0ib",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0x4025",
@@ -12,7 +11,6 @@
"backlight": true,
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/40percentclub/mf68/keyboard.json b/keyboards/40percentclub/mf68/keyboard.json
index 45585d5e47..55e0bc4a07 100644
--- a/keyboards/40percentclub/mf68/keyboard.json
+++ b/keyboards/40percentclub/mf68/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "MF68",
"manufacturer": "di0ib",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0x4025",
@@ -12,7 +11,6 @@
"backlight": true,
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/40percentclub/nano/keyboard.json b/keyboards/40percentclub/nano/keyboard.json
index 547aed16f9..b72c6c8d73 100644
--- a/keyboards/40percentclub/nano/keyboard.json
+++ b/keyboards/40percentclub/nano/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Nano",
"manufacturer": "di0ib",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0x4025",
@@ -31,7 +30,6 @@
"features": {
"bootmagic": false,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/40percentclub/nein/keyboard.json b/keyboards/40percentclub/nein/keyboard.json
index 9e1711f71e..1f35c04e81 100644
--- a/keyboards/40percentclub/nein/keyboard.json
+++ b/keyboards/40percentclub/nein/keyboard.json
@@ -13,7 +13,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/40percentclub/nori/keyboard.json b/keyboards/40percentclub/nori/keyboard.json
index 968e74e19e..feb66f9501 100644
--- a/keyboards/40percentclub/nori/keyboard.json
+++ b/keyboards/40percentclub/nori/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "The nori Keyboard",
"manufacturer": "di0ib",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0x4025",
diff --git a/keyboards/40percentclub/polyandry/info.json b/keyboards/40percentclub/polyandry/info.json
index 49b8bedbe3..0413fbfb87 100644
--- a/keyboards/40percentclub/polyandry/info.json
+++ b/keyboards/40percentclub/polyandry/info.json
@@ -1,12 +1,10 @@
{
"keyboard_name": "Polypad",
"manufacturer": "di0ib",
- "url": "",
"maintainer": "QMK",
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false
diff --git a/keyboards/40percentclub/sixpack/keyboard.json b/keyboards/40percentclub/sixpack/keyboard.json
index 059c9de091..69daf6b79c 100644
--- a/keyboards/40percentclub/sixpack/keyboard.json
+++ b/keyboards/40percentclub/sixpack/keyboard.json
@@ -25,7 +25,6 @@
"backlight": true,
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false
diff --git a/keyboards/40percentclub/tomato/keyboard.json b/keyboards/40percentclub/tomato/keyboard.json
index c0b526cbc6..79e1e657f0 100644
--- a/keyboards/40percentclub/tomato/keyboard.json
+++ b/keyboards/40percentclub/tomato/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Tomato",
"manufacturer": "40 Percent Club",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0x4025",
@@ -31,7 +30,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/40percentclub/ut47/keyboard.json b/keyboards/40percentclub/ut47/keyboard.json
index 62e4a940a1..00c8edef69 100644
--- a/keyboards/40percentclub/ut47/keyboard.json
+++ b/keyboards/40percentclub/ut47/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "ut47",
"manufacturer": "40percent.club",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0x4025",
diff --git a/keyboards/45_ats/keyboard.json b/keyboards/45_ats/keyboard.json
index 5e5465f264..17ef036999 100644
--- a/keyboards/45_ats/keyboard.json
+++ b/keyboards/45_ats/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "45ATS",
"manufacturer": "Abec13",
- "url": "",
"maintainer": "The-Royal",
"usb": {
"vid": "0xAB13",
diff --git a/keyboards/4pplet/aekiso60/info.json b/keyboards/4pplet/aekiso60/info.json
index 80d5ab233d..50dd5e55df 100644
--- a/keyboards/4pplet/aekiso60/info.json
+++ b/keyboards/4pplet/aekiso60/info.json
@@ -1,6 +1,5 @@
{
"manufacturer": "4pplet",
- "url": "",
"maintainer": "4pplet",
"usb": {
"vid": "0x4444"
diff --git a/keyboards/4pplet/aekiso60/rev_a/keyboard.json b/keyboards/4pplet/aekiso60/rev_a/keyboard.json
index 5e236adc9a..1461015ca8 100644
--- a/keyboards/4pplet/aekiso60/rev_a/keyboard.json
+++ b/keyboards/4pplet/aekiso60/rev_a/keyboard.json
@@ -27,7 +27,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": false
diff --git a/keyboards/4pplet/bootleg/rev_a/keyboard.json b/keyboards/4pplet/bootleg/rev_a/keyboard.json
index 10aa3de678..59ec6979be 100644
--- a/keyboards/4pplet/bootleg/rev_a/keyboard.json
+++ b/keyboards/4pplet/bootleg/rev_a/keyboard.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": false
diff --git a/keyboards/4pplet/perk60_iso/rev_a/keyboard.json b/keyboards/4pplet/perk60_iso/rev_a/keyboard.json
index 56e7a25de4..de73016d57 100644
--- a/keyboards/4pplet/perk60_iso/rev_a/keyboard.json
+++ b/keyboards/4pplet/perk60_iso/rev_a/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Perk60 ISO Rev A",
"manufacturer": "4pplet",
- "url": "",
"maintainer": "4pplet",
"usb": {
"vid": "0x4444",
@@ -43,7 +42,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": true,
diff --git a/keyboards/4pplet/steezy60/rev_a/keyboard.json b/keyboards/4pplet/steezy60/rev_a/keyboard.json
index bbc3d1601b..1ac0eaaff6 100644
--- a/keyboards/4pplet/steezy60/rev_a/keyboard.json
+++ b/keyboards/4pplet/steezy60/rev_a/keyboard.json
@@ -32,7 +32,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": true,
diff --git a/keyboards/4pplet/steezy60/rev_b/keyboard.json b/keyboards/4pplet/steezy60/rev_b/keyboard.json
index 810f7f8cb9..b429cfd70b 100644
--- a/keyboards/4pplet/steezy60/rev_b/keyboard.json
+++ b/keyboards/4pplet/steezy60/rev_b/keyboard.json
@@ -28,7 +28,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": true,
diff --git a/keyboards/4pplet/unextended_std/rev_a/keyboard.json b/keyboards/4pplet/unextended_std/rev_a/keyboard.json
index 1b1909854a..a34560f91b 100644
--- a/keyboards/4pplet/unextended_std/rev_a/keyboard.json
+++ b/keyboards/4pplet/unextended_std/rev_a/keyboard.json
@@ -19,7 +19,6 @@
"bootmagic": true,
"mousekey": true,
"extrakey": true,
- "console": false,
"command": false,
"nkro": true,
"rgblight": true,
diff --git a/keyboards/4pplet/waffling60/rev_a/keyboard.json b/keyboards/4pplet/waffling60/rev_a/keyboard.json
index cbb24bd56a..2df4067ecf 100644
--- a/keyboards/4pplet/waffling60/rev_a/keyboard.json
+++ b/keyboards/4pplet/waffling60/rev_a/keyboard.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": false
diff --git a/keyboards/4pplet/waffling60/rev_b/keyboard.json b/keyboards/4pplet/waffling60/rev_b/keyboard.json
index 54e51b388b..51d21d5b5e 100644
--- a/keyboards/4pplet/waffling60/rev_b/keyboard.json
+++ b/keyboards/4pplet/waffling60/rev_b/keyboard.json
@@ -31,7 +31,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": false,
diff --git a/keyboards/4pplet/waffling60/rev_c/keyboard.json b/keyboards/4pplet/waffling60/rev_c/keyboard.json
index a7c23cc349..2995f98646 100644
--- a/keyboards/4pplet/waffling60/rev_c/keyboard.json
+++ b/keyboards/4pplet/waffling60/rev_c/keyboard.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": false,
diff --git a/keyboards/4pplet/waffling60/rev_e/keyboard.json b/keyboards/4pplet/waffling60/rev_e/keyboard.json
index 9adf6dada3..13d03d15c3 100644
--- a/keyboards/4pplet/waffling60/rev_e/keyboard.json
+++ b/keyboards/4pplet/waffling60/rev_e/keyboard.json
@@ -12,7 +12,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"key_lock": true,
"mousekey": true,
diff --git a/keyboards/4pplet/waffling60/rev_e_ansi/keyboard.json b/keyboards/4pplet/waffling60/rev_e_ansi/keyboard.json
index 15d3c7cfe9..e32e9b17b8 100644
--- a/keyboards/4pplet/waffling60/rev_e_ansi/keyboard.json
+++ b/keyboards/4pplet/waffling60/rev_e_ansi/keyboard.json
@@ -12,7 +12,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"key_lock": true,
"mousekey": true,
diff --git a/keyboards/4pplet/waffling60/rev_e_iso/keyboard.json b/keyboards/4pplet/waffling60/rev_e_iso/keyboard.json
index a9bfad4d62..5b026334f6 100644
--- a/keyboards/4pplet/waffling60/rev_e_iso/keyboard.json
+++ b/keyboards/4pplet/waffling60/rev_e_iso/keyboard.json
@@ -12,7 +12,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"key_lock": true,
"mousekey": true,
diff --git a/keyboards/4pplet/waffling80/info.json b/keyboards/4pplet/waffling80/info.json
index 72fcd4615b..c003b16fed 100644
--- a/keyboards/4pplet/waffling80/info.json
+++ b/keyboards/4pplet/waffling80/info.json
@@ -1,6 +1,5 @@
{
"manufacturer": "4pplet",
- "url": "",
"maintainer": "4pplet",
"usb": {
"vid": "0x4444"
diff --git a/keyboards/4pplet/waffling80/rev_a/keyboard.json b/keyboards/4pplet/waffling80/rev_a/keyboard.json
index 157cefa536..4dff811194 100644
--- a/keyboards/4pplet/waffling80/rev_a/keyboard.json
+++ b/keyboards/4pplet/waffling80/rev_a/keyboard.json
@@ -15,7 +15,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/4pplet/yakiimo/rev_a/keyboard.json b/keyboards/4pplet/yakiimo/rev_a/keyboard.json
index f22f67ac6a..f4c016afc1 100644
--- a/keyboards/4pplet/yakiimo/rev_a/keyboard.json
+++ b/keyboards/4pplet/yakiimo/rev_a/keyboard.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/5keys/keyboard.json b/keyboards/5keys/keyboard.json
index 7a40d1014d..7282db2922 100644
--- a/keyboards/5keys/keyboard.json
+++ b/keyboards/5keys/keyboard.json
@@ -14,7 +14,6 @@
["F4","F5","F6","F7","B1"]
]
},
- "url": "",
"usb": {
"device_version": "1.0.0",
"pid": "0x0001",
diff --git a/keyboards/7c8/framework/keyboard.json b/keyboards/7c8/framework/keyboard.json
index 33f9cfc591..72302b3e4a 100644
--- a/keyboards/7c8/framework/keyboard.json
+++ b/keyboards/7c8/framework/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Framework",
"manufacturer": "7c8",
- "url": "",
"maintainer": "stevennguyen",
"usb": {
"vid": "0x77C8",
@@ -11,7 +10,6 @@
"features": {
"bootmagic": false,
"command": false,
- "console": false,
"encoder": true,
"extrakey": true,
"leader": true,
diff --git a/keyboards/9key/keyboard.json b/keyboards/9key/keyboard.json
index c1e95e3f08..baa8bb4c18 100644
--- a/keyboards/9key/keyboard.json
+++ b/keyboards/9key/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "9Key",
"manufacturer": "Bishop Keyboards",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0xFEED",
@@ -17,7 +16,6 @@
"features": {
"bootmagic": false,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/abatskeyboardclub/nayeon/keyboard.json b/keyboards/abatskeyboardclub/nayeon/keyboard.json
index a3fac207f4..6b1a748617 100644
--- a/keyboards/abatskeyboardclub/nayeon/keyboard.json
+++ b/keyboards/abatskeyboardclub/nayeon/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Nayeon",
"manufacturer": "Abats Keyboard Club",
- "url": "",
"maintainer": "ramonimbao",
"layout_aliases": {
"LAYOUT_ansi": "LAYOUT_tkl_f13_ansi_tsangan",
@@ -11,7 +10,6 @@
"bootmagic": true,
"mousekey": true,
"extrakey": true,
- "console": false,
"command": false,
"nkro": false,
"rgb_matrix": true
diff --git a/keyboards/abstract/ellipse/rev1/keyboard.json b/keyboards/abstract/ellipse/rev1/keyboard.json
index 8e38f29d56..95ea435ae8 100644
--- a/keyboards/abstract/ellipse/rev1/keyboard.json
+++ b/keyboards/abstract/ellipse/rev1/keyboard.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": false,
"command": false,
- "console": false,
"encoder": true,
"extrakey": true,
"mousekey": false,
diff --git a/keyboards/acekeyboard/titan60/keyboard.json b/keyboards/acekeyboard/titan60/keyboard.json
index 4446927ab8..1718b6fa22 100644
--- a/keyboards/acekeyboard/titan60/keyboard.json
+++ b/keyboards/acekeyboard/titan60/keyboard.json
@@ -12,7 +12,6 @@
"backlight": true,
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false,
diff --git a/keyboards/acheron/apollo/87h/delta/keyboard.json b/keyboards/acheron/apollo/87h/delta/keyboard.json
index 5d01c1b8f7..1676297ab7 100644
--- a/keyboards/acheron/apollo/87h/delta/keyboard.json
+++ b/keyboards/acheron/apollo/87h/delta/keyboard.json
@@ -62,7 +62,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": false,
diff --git a/keyboards/acheron/apollo/87h/info.json b/keyboards/acheron/apollo/87h/info.json
index ac47f594b5..41606da15f 100644
--- a/keyboards/acheron/apollo/87h/info.json
+++ b/keyboards/acheron/apollo/87h/info.json
@@ -1,6 +1,5 @@
{
"manufacturer": "AcheronProject",
- "url": "",
"maintainer": "Gondolindrim",
"usb": {
"vid": "0x4150"
diff --git a/keyboards/acheron/apollo/87htsc/keyboard.json b/keyboards/acheron/apollo/87htsc/keyboard.json
index 55229706b1..654a99c404 100644
--- a/keyboards/acheron/apollo/87htsc/keyboard.json
+++ b/keyboards/acheron/apollo/87htsc/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Apollo87H-T-SC",
"manufacturer": "AcheronProject",
- "url": "",
"maintainer": "Gondolindrim",
"usb": {
"vid": "0x4150",
@@ -66,7 +65,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": false,
diff --git a/keyboards/acheron/apollo/88htsc/keyboard.json b/keyboards/acheron/apollo/88htsc/keyboard.json
index 9b9482874f..539fc5bcdd 100644
--- a/keyboards/acheron/apollo/88htsc/keyboard.json
+++ b/keyboards/acheron/apollo/88htsc/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Apollo88H-T-SC",
"manufacturer": "AcheronProject",
- "url": "",
"maintainer": "Gondolindrim",
"usb": {
"vid": "0x4150",
@@ -66,7 +65,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": false,
diff --git a/keyboards/acheron/athena/alpha/keyboard.json b/keyboards/acheron/athena/alpha/keyboard.json
index 7e29cdc037..47f626f1cc 100644
--- a/keyboards/acheron/athena/alpha/keyboard.json
+++ b/keyboards/acheron/athena/alpha/keyboard.json
@@ -11,7 +11,6 @@
"backlight": true,
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": true,
diff --git a/keyboards/acheron/athena/beta/keyboard.json b/keyboards/acheron/athena/beta/keyboard.json
index ba96b20151..bded4b8805 100644
--- a/keyboards/acheron/athena/beta/keyboard.json
+++ b/keyboards/acheron/athena/beta/keyboard.json
@@ -11,7 +11,6 @@
"backlight": true,
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": true,
diff --git a/keyboards/acheron/athena/info.json b/keyboards/acheron/athena/info.json
index 4f9d3b61e6..e10cb288f0 100644
--- a/keyboards/acheron/athena/info.json
+++ b/keyboards/acheron/athena/info.json
@@ -1,6 +1,5 @@
{
"manufacturer": "AcheronProject",
- "url": "",
"maintainer": "Gondolindrim",
"usb": {
"vid": "0xAC11"
diff --git a/keyboards/acheron/austin/keyboard.json b/keyboards/acheron/austin/keyboard.json
index a3df5dd75d..140e398cce 100755
--- a/keyboards/acheron/austin/keyboard.json
+++ b/keyboards/acheron/austin/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Austin",
"manufacturer": "DriftMechanics",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0xAC11",
diff --git a/keyboards/acheron/elongate/beta/keyboard.json b/keyboards/acheron/elongate/beta/keyboard.json
index d15f178991..d998d80506 100644
--- a/keyboards/acheron/elongate/beta/keyboard.json
+++ b/keyboards/acheron/elongate/beta/keyboard.json
@@ -35,7 +35,6 @@
"features": {
"bootmagic": true,
"command": true,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": false,
diff --git a/keyboards/acheron/elongate/delta/keyboard.json b/keyboards/acheron/elongate/delta/keyboard.json
index 1c6d0927d6..18d5b539b3 100644
--- a/keyboards/acheron/elongate/delta/keyboard.json
+++ b/keyboards/acheron/elongate/delta/keyboard.json
@@ -12,7 +12,6 @@
"backlight": true,
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/acheron/lasgweloth/keyboard.json b/keyboards/acheron/lasgweloth/keyboard.json
index 35d30e89b2..85769d0732 100644
--- a/keyboards/acheron/lasgweloth/keyboard.json
+++ b/keyboards/acheron/lasgweloth/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Lasgweloth",
"manufacturer": "AcheronProject",
- "url": "",
"maintainer": "Gondolindrim",
"usb": {
"vid": "0x4150",
diff --git a/keyboards/acheron/shark/beta/keyboard.json b/keyboards/acheron/shark/beta/keyboard.json
index 2433f61fec..2281c24b30 100644
--- a/keyboards/acheron/shark/beta/keyboard.json
+++ b/keyboards/acheron/shark/beta/keyboard.json
@@ -8,7 +8,6 @@
"backlight": true,
"bootmagic": true,
"command": true,
- "console": false,
"encoder": true,
"extrakey": true,
"mousekey": true,
diff --git a/keyboards/acheron/themis/87h/keyboard.json b/keyboards/acheron/themis/87h/keyboard.json
index 488cb324c1..d94f7b0ff3 100644
--- a/keyboards/acheron/themis/87h/keyboard.json
+++ b/keyboards/acheron/themis/87h/keyboard.json
@@ -15,7 +15,6 @@
"bootmagic": true,
"mousekey": true,
"extrakey": true,
- "console": false,
"rgblight": true,
"nkro": true
},
diff --git a/keyboards/acheron/themis/87htsc/keyboard.json b/keyboards/acheron/themis/87htsc/keyboard.json
index 46cdb09247..460c1f8f8e 100644
--- a/keyboards/acheron/themis/87htsc/keyboard.json
+++ b/keyboards/acheron/themis/87htsc/keyboard.json
@@ -15,7 +15,6 @@
"bootmagic": true,
"mousekey": true,
"extrakey": true,
- "console": false,
"rgblight": true,
"nkro": true
},
diff --git a/keyboards/acheron/themis/88htsc/keyboard.json b/keyboards/acheron/themis/88htsc/keyboard.json
index 1e193d2661..5449461e15 100644
--- a/keyboards/acheron/themis/88htsc/keyboard.json
+++ b/keyboards/acheron/themis/88htsc/keyboard.json
@@ -15,7 +15,6 @@
"bootmagic": true,
"mousekey": true,
"extrakey": true,
- "console": false,
"rgblight": true,
"nkro": true
},
diff --git a/keyboards/acheron/themis/info.json b/keyboards/acheron/themis/info.json
index 4f9d3b61e6..e10cb288f0 100644
--- a/keyboards/acheron/themis/info.json
+++ b/keyboards/acheron/themis/info.json
@@ -1,6 +1,5 @@
{
"manufacturer": "AcheronProject",
- "url": "",
"maintainer": "Gondolindrim",
"usb": {
"vid": "0xAC11"
diff --git a/keyboards/ada/ada1800mini/keyboard.json b/keyboards/ada/ada1800mini/keyboard.json
index 80e8ee64aa..37c0be1582 100644
--- a/keyboards/ada/ada1800mini/keyboard.json
+++ b/keyboards/ada/ada1800mini/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "ada1800mini",
"manufacturer": "Ada",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0xADA0",
diff --git a/keyboards/ada/infinity81/keyboard.json b/keyboards/ada/infinity81/keyboard.json
index 40c5bd2f18..df5b0fd975 100644
--- a/keyboards/ada/infinity81/keyboard.json
+++ b/keyboards/ada/infinity81/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "infinity81",
"manufacturer": "Ada",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0xADA0",
@@ -32,7 +31,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false,
diff --git a/keyboards/adelheid/keyboard.json b/keyboards/adelheid/keyboard.json
index 7766a44a8d..4247a06b21 100644
--- a/keyboards/adelheid/keyboard.json
+++ b/keyboards/adelheid/keyboard.json
@@ -12,7 +12,6 @@
"backlight": true,
"bootmagic": false,
"command": true,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": true
diff --git a/keyboards/adkb96/rev1/keyboard.json b/keyboards/adkb96/rev1/keyboard.json
index 7cf92f1516..5def3c9da3 100644
--- a/keyboards/adkb96/rev1/keyboard.json
+++ b/keyboards/adkb96/rev1/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "ADKB96",
"manufacturer": "Bit Trade One",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0x00A5",
diff --git a/keyboards/adm42/rev4/keyboard.json b/keyboards/adm42/rev4/keyboard.json
index efb0eea029..b22273e3d3 100644
--- a/keyboards/adm42/rev4/keyboard.json
+++ b/keyboards/adm42/rev4/keyboard.json
@@ -12,7 +12,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
@@ -82,7 +81,6 @@
{"matrix": [0, 10], "x": 194, "y": 13, "flags": 4},
{"matrix": [0, 11], "x": 210, "y": 11, "flags": 4}
],
- "led_flush_limit": 16,
"led_process_limit": 21,
"max_brightness": 170,
"sat_steps": 24,
diff --git a/keyboards/adpenrose/akemipad/keyboard.json b/keyboards/adpenrose/akemipad/keyboard.json
index 50003fbb5f..f372b7bd04 100644
--- a/keyboards/adpenrose/akemipad/keyboard.json
+++ b/keyboards/adpenrose/akemipad/keyboard.json
@@ -24,7 +24,6 @@
"audio": true,
"bootmagic": true,
"command": false,
- "console": false,
"encoder": true,
"extrakey": true,
"mousekey": false,
diff --git a/keyboards/adpenrose/kintsugi/keyboard.json b/keyboards/adpenrose/kintsugi/keyboard.json
index 46504298f8..f86d344cdb 100644
--- a/keyboards/adpenrose/kintsugi/keyboard.json
+++ b/keyboards/adpenrose/kintsugi/keyboard.json
@@ -31,7 +31,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"encoder": true,
"extrakey": true,
"mousekey": false,
diff --git a/keyboards/adpenrose/obi/keyboard.json b/keyboards/adpenrose/obi/keyboard.json
index 8c1428ca81..1102878dc7 100644
--- a/keyboards/adpenrose/obi/keyboard.json
+++ b/keyboards/adpenrose/obi/keyboard.json
@@ -30,7 +30,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"encoder": true,
"extrakey": true,
"mousekey": false,
diff --git a/keyboards/adpenrose/shisaku/keyboard.json b/keyboards/adpenrose/shisaku/keyboard.json
index 1382ee3b62..d3d6b4607e 100644
--- a/keyboards/adpenrose/shisaku/keyboard.json
+++ b/keyboards/adpenrose/shisaku/keyboard.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false
diff --git a/keyboards/aeboards/aegis/keyboard.json b/keyboards/aeboards/aegis/keyboard.json
index 26f5f2a0c1..4f70eaf131 100644
--- a/keyboards/aeboards/aegis/keyboard.json
+++ b/keyboards/aeboards/aegis/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Aegis",
"manufacturer": "AEboards",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0x4145",
@@ -11,7 +10,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": true
diff --git a/keyboards/aeboards/constellation/rev1/keyboard.json b/keyboards/aeboards/constellation/rev1/keyboard.json
index 5a43568d57..4c21a8f3b9 100644
--- a/keyboards/aeboards/constellation/rev1/keyboard.json
+++ b/keyboards/aeboards/constellation/rev1/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Constellation Rev1",
"manufacturer": "AEBoards",
- "url": "",
"maintainer": "Xelus22",
"usb": {
"vid": "0x4145",
diff --git a/keyboards/aeboards/constellation/rev2/keyboard.json b/keyboards/aeboards/constellation/rev2/keyboard.json
index f296b523e0..e4add7a63a 100644
--- a/keyboards/aeboards/constellation/rev2/keyboard.json
+++ b/keyboards/aeboards/constellation/rev2/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Constellation Rev2",
"manufacturer": "AEBoards",
- "url": "",
"maintainer": "Xelus22",
"usb": {
"vid": "0x4145",
diff --git a/keyboards/aeboards/constellation/rev3/keyboard.json b/keyboards/aeboards/constellation/rev3/keyboard.json
index ab39641b74..306561409c 100644
--- a/keyboards/aeboards/constellation/rev3/keyboard.json
+++ b/keyboards/aeboards/constellation/rev3/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Constellation Rev3",
"manufacturer": "AEBoards",
- "url": "",
"maintainer": "Xelus22",
"usb": {
"vid": "0x4145",
diff --git a/keyboards/aeboards/ext65/info.json b/keyboards/aeboards/ext65/info.json
index 3f4b0bbc00..e4c57bd144 100644
--- a/keyboards/aeboards/ext65/info.json
+++ b/keyboards/aeboards/ext65/info.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Ext65",
"manufacturer": "AEBoards",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0x4145"
diff --git a/keyboards/aeboards/ext65/rev1/keyboard.json b/keyboards/aeboards/ext65/rev1/keyboard.json
index 1d105505e5..80370f6045 100644
--- a/keyboards/aeboards/ext65/rev1/keyboard.json
+++ b/keyboards/aeboards/ext65/rev1/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Ext65 Rev1",
"manufacturer": "AEBoards",
- "url": "",
"maintainer": "qmk",
"usb": {
"pid": "0xAE65",
diff --git a/keyboards/aeboards/ext65/rev2/keyboard.json b/keyboards/aeboards/ext65/rev2/keyboard.json
index ab7cceeefb..ca2777d36c 100644
--- a/keyboards/aeboards/ext65/rev2/keyboard.json
+++ b/keyboards/aeboards/ext65/rev2/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Ext65 Rev2",
"manufacturer": "AEBoards",
- "url": "",
"maintainer": "qmk",
"usb": {
"pid": "0xA652",
diff --git a/keyboards/aeboards/ext65/rev3/keyboard.json b/keyboards/aeboards/ext65/rev3/keyboard.json
index 8c8051fc44..867e46e519 100644
--- a/keyboards/aeboards/ext65/rev3/keyboard.json
+++ b/keyboards/aeboards/ext65/rev3/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Ext65 Rev3",
"manufacturer": "AEBoards",
- "url": "",
"maintainer": "qmk",
"usb": {
"pid": "0xA653",
diff --git a/keyboards/aeboards/satellite/rev1/keyboard.json b/keyboards/aeboards/satellite/rev1/keyboard.json
index 8b90704efa..f9355171fb 100644
--- a/keyboards/aeboards/satellite/rev1/keyboard.json
+++ b/keyboards/aeboards/satellite/rev1/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Satellite Rev1",
"manufacturer": "AEBoards",
- "url": "",
"maintainer": "Xelus22",
"usb": {
"vid": "0x4145",
diff --git a/keyboards/afternoonlabs/gust/rev1/keyboard.json b/keyboards/afternoonlabs/gust/rev1/keyboard.json
index 93ad60ad7d..9ba40a6426 100644
--- a/keyboards/afternoonlabs/gust/rev1/keyboard.json
+++ b/keyboards/afternoonlabs/gust/rev1/keyboard.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": false,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false
diff --git a/keyboards/ah/haven80/info.json b/keyboards/ah/haven80/info.json
index bd87815154..1a8c33890a 100644
--- a/keyboards/ah/haven80/info.json
+++ b/keyboards/ah/haven80/info.json
@@ -1,6 +1,5 @@
{
"manufacturer": "Atelier_Haven",
- "url": "",
"maintainer": "Freather",
"processor": "atmega32u4",
"bootloader": "atmel-dfu",
diff --git a/keyboards/ai/keyboard.json b/keyboards/ai/keyboard.json
index 8f4039b4d2..5a41e18a53 100644
--- a/keyboards/ai/keyboard.json
+++ b/keyboards/ai/keyboard.json
@@ -7,7 +7,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
@@ -17,7 +16,6 @@
"rows": ["D0", "D4", "C6", "D7", "D1"]
},
"processor": "atmega32u4",
- "url": "",
"usb": {
"device_version": "1.0.0",
"pid": "0x0000",
diff --git a/keyboards/ai03/altair/keyboard.json b/keyboards/ai03/altair/keyboard.json
index a8cd8b02a7..f4c17ce425 100644
--- a/keyboards/ai03/altair/keyboard.json
+++ b/keyboards/ai03/altair/keyboard.json
@@ -13,7 +13,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/ai03/altair_x/keyboard.json b/keyboards/ai03/altair_x/keyboard.json
index 27f36af97b..7277184e9a 100644
--- a/keyboards/ai03/altair_x/keyboard.json
+++ b/keyboards/ai03/altair_x/keyboard.json
@@ -13,7 +13,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/ai03/andromeda/keyboard.json b/keyboards/ai03/andromeda/keyboard.json
index d085b91ad1..0ad082436a 100644
--- a/keyboards/ai03/andromeda/keyboard.json
+++ b/keyboards/ai03/andromeda/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Andromeda",
"manufacturer": "ai03 Design Studio",
- "url": "",
"maintainer": "ai03",
"usb": {
"vid": "0xA103",
diff --git a/keyboards/ai03/duet/keyboard.json b/keyboards/ai03/duet/keyboard.json
index 1d11c868a3..055e23e4d7 100644
--- a/keyboards/ai03/duet/keyboard.json
+++ b/keyboards/ai03/duet/keyboard.json
@@ -7,7 +7,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": true
diff --git a/keyboards/ai03/equinox/info.json b/keyboards/ai03/equinox/info.json
index 7c2cc46500..a6c424e187 100644
--- a/keyboards/ai03/equinox/info.json
+++ b/keyboards/ai03/equinox/info.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Equinox",
"manufacturer": "ai03 Design Studio",
- "url": "",
"maintainer": "ai03",
"usb": {
"vid": "0xA103",
diff --git a/keyboards/ai03/equinox/rev0/keyboard.json b/keyboards/ai03/equinox/rev0/keyboard.json
index e38fada333..5006c88239 100644
--- a/keyboards/ai03/equinox/rev0/keyboard.json
+++ b/keyboards/ai03/equinox/rev0/keyboard.json
@@ -3,7 +3,6 @@
"backlight": true,
"bootmagic": true,
"command": true,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/ai03/equinox/rev1/keyboard.json b/keyboards/ai03/equinox/rev1/keyboard.json
index 590a84b31c..59a311e577 100644
--- a/keyboards/ai03/equinox/rev1/keyboard.json
+++ b/keyboards/ai03/equinox/rev1/keyboard.json
@@ -3,7 +3,6 @@
"backlight": true,
"bootmagic": true,
"command": true,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/ai03/equinox_xl/keyboard.json b/keyboards/ai03/equinox_xl/keyboard.json
index e6abf4a0c2..051f4452c0 100644
--- a/keyboards/ai03/equinox_xl/keyboard.json
+++ b/keyboards/ai03/equinox_xl/keyboard.json
@@ -10,7 +10,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/ai03/jp60/keyboard.json b/keyboards/ai03/jp60/keyboard.json
index 389993626d..c54062977a 100644
--- a/keyboards/ai03/jp60/keyboard.json
+++ b/keyboards/ai03/jp60/keyboard.json
@@ -14,7 +14,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/ai03/orbit_x/keyboard.json b/keyboards/ai03/orbit_x/keyboard.json
index d039969b37..859ff47085 100644
--- a/keyboards/ai03/orbit_x/keyboard.json
+++ b/keyboards/ai03/orbit_x/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "OrbitX",
"manufacturer": "ai03 Design Studio",
- "url": "",
"maintainer": "ai03",
"usb": {
"vid": "0xA103",
diff --git a/keyboards/ai03/polaris/keyboard.json b/keyboards/ai03/polaris/keyboard.json
index 7e6ab9aec7..72fe915cb2 100644
--- a/keyboards/ai03/polaris/keyboard.json
+++ b/keyboards/ai03/polaris/keyboard.json
@@ -12,7 +12,6 @@
"backlight": true,
"bootmagic": true,
"command": true,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/ai03/quasar/keyboard.json b/keyboards/ai03/quasar/keyboard.json
index 52902e3067..bd4b1b51d9 100644
--- a/keyboards/ai03/quasar/keyboard.json
+++ b/keyboards/ai03/quasar/keyboard.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": false,
"command": true,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false
diff --git a/keyboards/ai03/soyuz/keyboard.json b/keyboards/ai03/soyuz/keyboard.json
index 2abfbd5ead..be41a01798 100644
--- a/keyboards/ai03/soyuz/keyboard.json
+++ b/keyboards/ai03/soyuz/keyboard.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": false,
"command": true,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/ai03/voyager60_alps/keyboard.json b/keyboards/ai03/voyager60_alps/keyboard.json
index 9b8fa051b5..25546cfb74 100644
--- a/keyboards/ai03/voyager60_alps/keyboard.json
+++ b/keyboards/ai03/voyager60_alps/keyboard.json
@@ -20,7 +20,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/aidansmithdotdev/fine40/keyboard.json b/keyboards/aidansmithdotdev/fine40/keyboard.json
index 9663106607..a7b4d54e92 100644
--- a/keyboards/aidansmithdotdev/fine40/keyboard.json
+++ b/keyboards/aidansmithdotdev/fine40/keyboard.json
@@ -7,7 +7,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"encoder": true,
diff --git a/keyboards/akb/ogr/keyboard.json b/keyboards/akb/ogr/keyboard.json
index d1b062820a..57dbfbdd3f 100644
--- a/keyboards/akb/ogr/keyboard.json
+++ b/keyboards/akb/ogr/keyboard.json
@@ -7,7 +7,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/akb/ogrn/keyboard.json b/keyboards/akb/ogrn/keyboard.json
index 780c353747..66b682af23 100644
--- a/keyboards/akb/ogrn/keyboard.json
+++ b/keyboards/akb/ogrn/keyboard.json
@@ -6,7 +6,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/nix_studio/lilith/config.h b/keyboards/akb/vero/board.h
index 225e6ac51b..2a370fe2e0 100644
--- a/keyboards/nix_studio/lilith/config.h
+++ b/keyboards/akb/vero/board.h
@@ -1,7 +1,8 @@
// Copyright 2022 Martin Arnstad (@arnstadm)
// SPDX-License-Identifier: GPL-2.0-or-later
-
#pragma once
-/* Set HSE clock since it differs from F411 default */
-#define STM32_HSECLK 16000000
+#include_next <board.h>
+
+#undef STM32_HSECLK
+#define STM32_HSECLK 16000000U
diff --git a/keyboards/akb/vero/config.h b/keyboards/akb/vero/config.h
deleted file mode 100644
index bb6d15d92c..0000000000
--- a/keyboards/akb/vero/config.h
+++ /dev/null
@@ -1,23 +0,0 @@
-// Copyright 2022 Martin Arnstad (@arnstadm)
-// SPDX-License-Identifier: GPL-2.0-or-later
-
-#pragma once
-
-/*
- * Feature disable options
- * These options are also useful to firmware size reduction.
- */
-
-/* disable debug print */
-//#define NO_DEBUG
-
-/* disable print */
-//#define NO_PRINT
-
-/* disable action features */
-//#define NO_ACTION_LAYER
-//#define NO_ACTION_TAPPING
-//#define NO_ACTION_ONESHOT
-
-/* Set HSE clock since it differs from F411 default */
-#define STM32_HSECLK 16000000
diff --git a/keyboards/akb/vero/keyboard.json b/keyboards/akb/vero/keyboard.json
index a598578c0c..f443c1afad 100644
--- a/keyboards/akb/vero/keyboard.json
+++ b/keyboards/akb/vero/keyboard.json
@@ -7,7 +7,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/akko/5087/5087.c b/keyboards/akko/5087/5087.c
index 996f8c2585..27439c20ef 100644
--- a/keyboards/akko/5087/5087.c
+++ b/keyboards/akko/5087/5087.c
@@ -164,7 +164,7 @@ bool process_record_kb(uint16_t keycode, keyrecord_t* record) {
if (record->event.pressed) {
set_single_persistent_default_layer(MAC_B);
keymap_config.no_gui = 0;
- eeconfig_update_keymap(keymap_config.raw);
+ eeconfig_update_keymap(&keymap_config);
}
return false;
case QK_RGB_MATRIX_TOGGLE:
diff --git a/keyboards/akko/5087/keyboard.json b/keyboards/akko/5087/keyboard.json
index a2f72351ed..3a309711e3 100644
--- a/keyboards/akko/5087/keyboard.json
+++ b/keyboards/akko/5087/keyboard.json
@@ -16,7 +16,6 @@
"bootmagic": true,
"mousekey": false,
"extrakey": true,
- "console": false,
"command": false,
"nkro": true,
"rgb_matrix": true
diff --git a/keyboards/akko/5108/keyboard.json b/keyboards/akko/5108/keyboard.json
index e98e421089..6429885b82 100644
--- a/keyboards/akko/5108/keyboard.json
+++ b/keyboards/akko/5108/keyboard.json
@@ -16,7 +16,6 @@
"bootmagic": true,
"mousekey": true,
"extrakey": true,
- "console": false,
"command": false,
"nkro": true,
"rgb_matrix": true
diff --git a/keyboards/akko/acr87/keyboard.json b/keyboards/akko/acr87/keyboard.json
index 9f37a91b9a..df51b0b4b9 100644
--- a/keyboards/akko/acr87/keyboard.json
+++ b/keyboards/akko/acr87/keyboard.json
@@ -16,7 +16,6 @@
"bootmagic": true,
"mousekey": true,
"extrakey": true,
- "console": false,
"command": false,
"nkro": true,
"rgb_matrix": true
diff --git a/keyboards/akko/top40/keyboard.json b/keyboards/akko/top40/keyboard.json
index fd7cf497e7..f206a2a70b 100644
--- a/keyboards/akko/top40/keyboard.json
+++ b/keyboards/akko/top40/keyboard.json
@@ -16,7 +16,6 @@
"bootmagic": true,
"mousekey": true,
"extrakey": true,
- "console": false,
"command": false,
"nkro": true,
"rgb_matrix": true
diff --git a/keyboards/al1/keyboard.json b/keyboards/al1/keyboard.json
index 7e6440560f..aed02e8ade 100644
--- a/keyboards/al1/keyboard.json
+++ b/keyboards/al1/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "AL1",
"manufacturer": "Alsoran",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0x544C",
diff --git a/keyboards/alf/x11/keyboard.json b/keyboards/alf/x11/keyboard.json
index c571705dc1..a368123e84 100644
--- a/keyboards/alf/x11/keyboard.json
+++ b/keyboards/alf/x11/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "X1.1",
"manufacturer": "ALF",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0x4146",
@@ -15,7 +14,6 @@
"backlight": true,
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false,
diff --git a/keyboards/alf/x2/keyboard.json b/keyboards/alf/x2/keyboard.json
index 9dd011c7f1..2135a46683 100644
--- a/keyboards/alf/x2/keyboard.json
+++ b/keyboards/alf/x2/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "X2",
"manufacturer": "ALF",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0xFEED",
@@ -12,7 +11,6 @@
"backlight": true,
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/alfredslab/swift65/hotswap/keyboard.json b/keyboards/alfredslab/swift65/hotswap/keyboard.json
index d2a6e6da03..8100b7bcbd 100644
--- a/keyboards/alfredslab/swift65/hotswap/keyboard.json
+++ b/keyboards/alfredslab/swift65/hotswap/keyboard.json
@@ -32,7 +32,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/alfredslab/swift65/solder/keyboard.json b/keyboards/alfredslab/swift65/solder/keyboard.json
index cb419d4cc1..9fecc6a5f6 100644
--- a/keyboards/alfredslab/swift65/solder/keyboard.json
+++ b/keyboards/alfredslab/swift65/solder/keyboard.json
@@ -33,7 +33,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": true,
diff --git a/keyboards/alhenkb/macropad5x4/keyboard.json b/keyboards/alhenkb/macropad5x4/keyboard.json
index 1fb472255d..fd2645619e 100644
--- a/keyboards/alhenkb/macropad5x4/keyboard.json
+++ b/keyboards/alhenkb/macropad5x4/keyboard.json
@@ -7,7 +7,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
@@ -16,7 +15,6 @@
"rows": ["F5", "F7", "B3", "B6", "B5"],
"cols": ["F4", "F6", "B1", "B2"]
},
- "url": "",
"usb": {
"device_version": "1.0.0",
"pid": "0x0001",
diff --git a/keyboards/alpha/keyboard.json b/keyboards/alpha/keyboard.json
index 1cb2fe71cd..4412177fbb 100644
--- a/keyboards/alpha/keyboard.json
+++ b/keyboards/alpha/keyboard.json
@@ -30,7 +30,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/alpine65/keyboard.json b/keyboards/alpine65/keyboard.json
index 36bba880a8..ae372d2a08 100644
--- a/keyboards/alpine65/keyboard.json
+++ b/keyboards/alpine65/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Alpine65",
"manufacturer": "Bitmap Designs",
- "url": "",
"maintainer": "Gondolindrim",
"usb": {
"vid": "0x6680",
diff --git a/keyboards/alps64/keyboard.json b/keyboards/alps64/keyboard.json
index a6a60478f8..d8f5fb22b5 100644
--- a/keyboards/alps64/keyboard.json
+++ b/keyboards/alps64/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Alps64",
"manufacturer": "Hasu",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0x6873",
diff --git a/keyboards/amag23/keyboard.json b/keyboards/amag23/keyboard.json
index e3eb16cdad..8b144cdef1 100644
--- a/keyboards/amag23/keyboard.json
+++ b/keyboards/amag23/keyboard.json
@@ -31,7 +31,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false,
diff --git a/keyboards/amjkeyboard/amj40/keyboard.json b/keyboards/amjkeyboard/amj40/keyboard.json
index de536cb55e..dd27bd46ae 100644
--- a/keyboards/amjkeyboard/amj40/keyboard.json
+++ b/keyboards/amjkeyboard/amj40/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "AMJ40",
"manufacturer": "Han Chen",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0x00D8",
@@ -12,7 +11,6 @@
"backlight": true,
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/amjkeyboard/amj60/keyboard.json b/keyboards/amjkeyboard/amj60/keyboard.json
index a2cfd1b6e1..d5d7bc1804 100644
--- a/keyboards/amjkeyboard/amj60/keyboard.json
+++ b/keyboards/amjkeyboard/amj60/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "AMJ60",
"manufacturer": "Han Chen",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0x00D8",
@@ -12,7 +11,6 @@
"backlight": true,
"bootmagic": false,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": true,
diff --git a/keyboards/amjkeyboard/amj66/keyboard.json b/keyboards/amjkeyboard/amj66/keyboard.json
index 72646e4fc7..f674452f32 100644
--- a/keyboards/amjkeyboard/amj66/keyboard.json
+++ b/keyboards/amjkeyboard/amj66/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "AMJ66",
"manufacturer": "AMJKeyboard",
- "url": "",
"maintainer": "FSund, qmk",
"usb": {
"vid": "0x00D8",
diff --git a/keyboards/amjkeyboard/amj84/keyboard.json b/keyboards/amjkeyboard/amj84/keyboard.json
index b544ffc8b3..9293bf1581 100644
--- a/keyboards/amjkeyboard/amj84/keyboard.json
+++ b/keyboards/amjkeyboard/amj84/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "AMJ84",
"manufacturer": "Han Chen",
- "url": "",
"maintainer": "peepeetee",
"usb": {
"vid": "0x00D8",
@@ -13,7 +12,6 @@
"backlight": true,
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false
diff --git a/keyboards/amjkeyboard/amj96/keyboard.json b/keyboards/amjkeyboard/amj96/keyboard.json
index 23a131c615..ea02e6170c 100644
--- a/keyboards/amjkeyboard/amj96/keyboard.json
+++ b/keyboards/amjkeyboard/amj96/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "AMJ96",
"manufacturer": "Han Chen",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0x00D8",
diff --git a/keyboards/amjkeyboard/amjpad/keyboard.json b/keyboards/amjkeyboard/amjpad/keyboard.json
index e331f3af19..3fa60ed3d7 100644
--- a/keyboards/amjkeyboard/amjpad/keyboard.json
+++ b/keyboards/amjkeyboard/amjpad/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "PAD",
"manufacturer": "AMJ",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0x00D8",
diff --git a/keyboards/an_achronism/tetromino/keyboard.json b/keyboards/an_achronism/tetromino/keyboard.json
index 98cb9faf3e..b9a0e2005d 100644
--- a/keyboards/an_achronism/tetromino/keyboard.json
+++ b/keyboards/an_achronism/tetromino/keyboard.json
@@ -13,7 +13,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/anavi/arrows/keyboard.json b/keyboards/anavi/arrows/keyboard.json
index 48dae7b2ea..7b9aa2985c 100644
--- a/keyboards/anavi/arrows/keyboard.json
+++ b/keyboards/anavi/arrows/keyboard.json
@@ -13,7 +13,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/anavi/knob1/keyboard.json b/keyboards/anavi/knob1/keyboard.json
index 9c4c60640e..176ee6472d 100644
--- a/keyboards/anavi/knob1/keyboard.json
+++ b/keyboards/anavi/knob1/keyboard.json
@@ -8,7 +8,6 @@
"features": {
"bootmagic": false,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": true,
diff --git a/keyboards/anavi/knobs3/keyboard.json b/keyboards/anavi/knobs3/keyboard.json
index 11081ee086..5e6cca99dc 100644
--- a/keyboards/anavi/knobs3/keyboard.json
+++ b/keyboards/anavi/knobs3/keyboard.json
@@ -13,7 +13,6 @@
"features": {
"bootmagic": false,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": true,
@@ -23,9 +22,6 @@
"rgblight": {
"led_count": 1,
"hue_steps": 10,
- "saturation_steps": 17,
- "brightness_steps": 17,
- "max_brightness": 255,
"animations": {
"alternating": true,
"breathing": true,
diff --git a/keyboards/anavi/macropad10/keyboard.json b/keyboards/anavi/macropad10/keyboard.json
index a355fdd549..36f4e0cde8 100644
--- a/keyboards/anavi/macropad10/keyboard.json
+++ b/keyboards/anavi/macropad10/keyboard.json
@@ -13,7 +13,6 @@
"features": {
"bootmagic": false,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": true,
@@ -22,9 +21,6 @@
"rgblight": {
"led_count": 4,
"hue_steps": 10,
- "saturation_steps": 17,
- "brightness_steps": 17,
- "max_brightness": 255,
"animations": {
"alternating": true,
"breathing": true,
diff --git a/keyboards/anavi/macropad12/keyboard.json b/keyboards/anavi/macropad12/keyboard.json
index 3a1a07a0a1..be7c7cc963 100644
--- a/keyboards/anavi/macropad12/keyboard.json
+++ b/keyboards/anavi/macropad12/keyboard.json
@@ -13,7 +13,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/anavi/macropad8/keyboard.json b/keyboards/anavi/macropad8/keyboard.json
index 50381ce8a8..9ed6601cff 100644
--- a/keyboards/anavi/macropad8/keyboard.json
+++ b/keyboards/anavi/macropad8/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Macro Pad 8",
"manufacturer": "ANAVI",
- "url": "",
"maintainer": "leon-anavi",
"usb": {
"vid": "0xCEEB",
@@ -38,7 +37,6 @@
"backlight": true,
"bootmagic": false,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/andean_condor/keyboard.json b/keyboards/andean_condor/keyboard.json
index cfc3eefa87..67502ed56a 100644
--- a/keyboards/andean_condor/keyboard.json
+++ b/keyboards/andean_condor/keyboard.json
@@ -7,7 +7,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/ano/keyboard.json b/keyboards/ano/keyboard.json
index 9c46895f1a..c0522ab1cc 100644
--- a/keyboards/ano/keyboard.json
+++ b/keyboards/ano/keyboard.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"encoder": true,
"extrakey": true,
"mousekey": true,
diff --git a/keyboards/aos/tkl/keyboard.json b/keyboards/aos/tkl/keyboard.json
index 8cd47a44a5..4d2476a518 100644
--- a/keyboards/aos/tkl/keyboard.json
+++ b/keyboards/aos/tkl/keyboard.json
@@ -31,7 +31,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": false,
diff --git a/keyboards/aplyard/aplx6/info.json b/keyboards/aplyard/aplx6/info.json
index 9f86182a33..a0624a7d49 100644
--- a/keyboards/aplyard/aplx6/info.json
+++ b/keyboards/aplyard/aplx6/info.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Aplx6",
"manufacturer": "Aplyard",
- "url": "",
"maintainer": "Aplyard",
"usb": {
"vid": "0xE0E0"
diff --git a/keyboards/aplyard/aplx6/rev1/keyboard.json b/keyboards/aplyard/aplx6/rev1/keyboard.json
index e7f59d12c6..288093b240 100644
--- a/keyboards/aplyard/aplx6/rev1/keyboard.json
+++ b/keyboards/aplyard/aplx6/rev1/keyboard.json
@@ -6,7 +6,6 @@
"features": {
"bootmagic": false,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/aplyard/aplx6/rev2/keyboard.json b/keyboards/aplyard/aplx6/rev2/keyboard.json
index 7cd8d00544..597076ef55 100644
--- a/keyboards/aplyard/aplx6/rev2/keyboard.json
+++ b/keyboards/aplyard/aplx6/rev2/keyboard.json
@@ -6,7 +6,6 @@
"features": {
"bootmagic": false,
"command": false,
- "console": false,
"encoder": true,
"extrakey": true,
"mousekey": true,
diff --git a/keyboards/arabica37/rev1/keyboard.json b/keyboards/arabica37/rev1/keyboard.json
index 63c4fe2940..d1db9a276c 100644
--- a/keyboards/arabica37/rev1/keyboard.json
+++ b/keyboards/arabica37/rev1/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Arabica3/7",
"manufacturer": "CalciumNitride",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0xFEED",
diff --git a/keyboards/archetype/minervalx/keyboard.json b/keyboards/archetype/minervalx/keyboard.json
index 0d01ccf485..3523e95afb 100644
--- a/keyboards/archetype/minervalx/keyboard.json
+++ b/keyboards/archetype/minervalx/keyboard.json
@@ -18,7 +18,6 @@
"rows": ["GP11", "GP12", "GP13", "GP14", "GP15"]
},
"processor": "RP2040",
- "url": "",
"usb": {
"device_version": "1.0.0",
"pid": "0x0100",
diff --git a/keyboards/ares/keyboard.json b/keyboards/ares/keyboard.json
index f1e650397e..21bf1a55f2 100644
--- a/keyboards/ares/keyboard.json
+++ b/keyboards/ares/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Ares",
"manufacturer": "LSJ",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0x20A0",
@@ -12,7 +11,6 @@
"backlight": true,
"bootmagic": true,
"command": true,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": false
diff --git a/keyboards/argo_works/ishi/80/mk0_avr/keyboard.json b/keyboards/argo_works/ishi/80/mk0_avr/keyboard.json
index 47414ee0c4..5c8978f08a 100644
--- a/keyboards/argo_works/ishi/80/mk0_avr/keyboard.json
+++ b/keyboards/argo_works/ishi/80/mk0_avr/keyboard.json
@@ -16,7 +16,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/argo_works/ishi/80/mk0_avr_extra/keyboard.json b/keyboards/argo_works/ishi/80/mk0_avr_extra/keyboard.json
index 89b9b1994f..c18440971f 100644
--- a/keyboards/argo_works/ishi/80/mk0_avr_extra/keyboard.json
+++ b/keyboards/argo_works/ishi/80/mk0_avr_extra/keyboard.json
@@ -17,7 +17,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/arisu/keyboard.json b/keyboards/arisu/keyboard.json
index 43bb668b99..27bec90b09 100644
--- a/keyboards/arisu/keyboard.json
+++ b/keyboards/arisu/keyboard.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/arrayperipherals/1x4p1/keyboard.json b/keyboards/arrayperipherals/1x4p1/keyboard.json
index f9344e3538..fff3b1af04 100644
--- a/keyboards/arrayperipherals/1x4p1/keyboard.json
+++ b/keyboards/arrayperipherals/1x4p1/keyboard.json
@@ -18,7 +18,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"encoder": true,
"extrakey": true,
"mousekey": true,
diff --git a/keyboards/artemis/paragon/info.json b/keyboards/artemis/paragon/info.json
index 63fefe8c55..fe0983e194 100644
--- a/keyboards/artemis/paragon/info.json
+++ b/keyboards/artemis/paragon/info.json
@@ -7,7 +7,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
@@ -17,7 +16,6 @@
"lto": true
},
"processor": "atmega32u4",
- "url": "",
"usb": {
"device_version": "1.0.0",
"pid": "0x3449",
diff --git a/keyboards/ash_xiix/keyboard.json b/keyboards/ash_xiix/keyboard.json
index e743b80a8f..ce8579af04 100644
--- a/keyboards/ash_xiix/keyboard.json
+++ b/keyboards/ash_xiix/keyboard.json
@@ -17,7 +17,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/ashwing66/keyboard.json b/keyboards/ashwing66/keyboard.json
index 27a5799964..427eebcd96 100644
--- a/keyboards/ashwing66/keyboard.json
+++ b/keyboards/ashwing66/keyboard.json
@@ -75,7 +75,6 @@
{"matrix": [0, 14], "x": 206, "y": 1, "flags": 4},
{"matrix": [0, 15], "x": 223, "y": 0, "flags": 4}
],
- "led_flush_limit": 16,
"led_process_limit": 5,
"max_brightness": 125,
"sleep": true
diff --git a/keyboards/ask55/keyboard.json b/keyboards/ask55/keyboard.json
index 66efb1749a..1916cace64 100644
--- a/keyboards/ask55/keyboard.json
+++ b/keyboards/ask55/keyboard.json
@@ -7,7 +7,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
@@ -36,9 +35,7 @@
"static_gradient": true
},
"brightness_steps": 8,
- "hue_steps": 8,
"led_count": 8,
- "max_brightness": 255,
"saturation_steps": 8,
"sleep": true
},
diff --git a/keyboards/at_at/660m/keyboard.json b/keyboards/at_at/660m/keyboard.json
index a9c5af73f8..f42c0b7cbb 100644
--- a/keyboards/at_at/660m/keyboard.json
+++ b/keyboards/at_at/660m/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "660M",
"manufacturer": "AT-AT",
- "url": "",
"maintainer": "adrientetar",
"usb": {
"vid": "0xA22A",
diff --git a/keyboards/atlantis/ak81_ve/keyboard.json b/keyboards/atlantis/ak81_ve/keyboard.json
index aa85a55e0a..fd6123b02b 100644
--- a/keyboards/atlantis/ak81_ve/keyboard.json
+++ b/keyboards/atlantis/ak81_ve/keyboard.json
@@ -182,7 +182,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"dynamic_macro": true,
"encoder": true,
"extrakey": true,
diff --git a/keyboards/atlantis/ps17/keyboard.json b/keyboards/atlantis/ps17/keyboard.json
index ee7255c8fa..2231ae1ceb 100644
--- a/keyboards/atlantis/ps17/keyboard.json
+++ b/keyboards/atlantis/ps17/keyboard.json
@@ -17,7 +17,6 @@
"features": {
"bootmagic": false,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/atlas_65/keyboard.json b/keyboards/atlas_65/keyboard.json
index 4e8db96d3a..354ff6f4e8 100644
--- a/keyboards/atlas_65/keyboard.json
+++ b/keyboards/atlas_65/keyboard.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/atomic/keyboard.json b/keyboards/atomic/keyboard.json
index 5a269316cf..3e0ac225c9 100644
--- a/keyboards/atomic/keyboard.json
+++ b/keyboards/atomic/keyboard.json
@@ -11,7 +11,6 @@
"backlight": true,
"bootmagic": false,
"command": true,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false
diff --git a/keyboards/atreus/feather/keyboard.json b/keyboards/atreus/feather/keyboard.json
index 7f5866e502..1392849fd4 100644
--- a/keyboards/atreus/feather/keyboard.json
+++ b/keyboards/atreus/feather/keyboard.json
@@ -7,8 +7,7 @@
"processor": "atmega32u4",
"bootloader": "caterina",
"features": {
- "bluetooth": true,
- "console": false
+ "bluetooth": true
},
"build": {
"lto": true
diff --git a/keyboards/atreus/info.json b/keyboards/atreus/info.json
index 1a33591ab5..cf53b506a0 100644
--- a/keyboards/atreus/info.json
+++ b/keyboards/atreus/info.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Atreus",
"manufacturer": "Technomancy",
- "url": "",
"maintainer": "qmk",
"features": {
"bootmagic": false,
diff --git a/keyboards/atreus62/keyboard.json b/keyboards/atreus62/keyboard.json
index c24c02e71e..5fb786fa98 100644
--- a/keyboards/atreus62/keyboard.json
+++ b/keyboards/atreus62/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Atreus62",
"manufacturer": "Profet",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0x5072",
diff --git a/keyboards/atxkb/1894/keyboard.json b/keyboards/atxkb/1894/keyboard.json
index 878c3d998c..3fdd217171 100644
--- a/keyboards/atxkb/1894/keyboard.json
+++ b/keyboards/atxkb/1894/keyboard.json
@@ -15,7 +15,6 @@
"backlight": true,
"bootmagic": true,
"command": true,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/aves60/keyboard.json b/keyboards/aves60/keyboard.json
index 6d58d43b6a..e26bc47fae 100644
--- a/keyboards/aves60/keyboard.json
+++ b/keyboards/aves60/keyboard.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false
diff --git a/keyboards/aves65/keyboard.json b/keyboards/aves65/keyboard.json
index 3ad686f83a..9a0895efaf 100644
--- a/keyboards/aves65/keyboard.json
+++ b/keyboards/aves65/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Aves65",
"manufacturer": "I/O Keyboards",
- "url": "",
"maintainer": "Hund",
"usb": {
"vid": "0x9991",
@@ -11,7 +10,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false,
diff --git a/keyboards/axolstudio/foundation_gamma/keyboard.json b/keyboards/axolstudio/foundation_gamma/keyboard.json
index 86ba316268..62db475c2f 100644
--- a/keyboards/axolstudio/foundation_gamma/keyboard.json
+++ b/keyboards/axolstudio/foundation_gamma/keyboard.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": false
diff --git a/keyboards/axolstudio/helpo/keyboard.json b/keyboards/axolstudio/helpo/keyboard.json
index c90c967788..4af362c596 100644
--- a/keyboards/axolstudio/helpo/keyboard.json
+++ b/keyboards/axolstudio/helpo/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Helpo",
"manufacturer": "Axolstudio",
- "url": "",
"maintainer": "kb-elmo",
"usb": {
"vid": "0x525C",
diff --git a/keyboards/axolstudio/yeti/hotswap/keyboard.json b/keyboards/axolstudio/yeti/hotswap/keyboard.json
index 728c359880..0bba4d9d81 100644
--- a/keyboards/axolstudio/yeti/hotswap/keyboard.json
+++ b/keyboards/axolstudio/yeti/hotswap/keyboard.json
@@ -52,7 +52,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/axolstudio/yeti/soldered/keyboard.json b/keyboards/axolstudio/yeti/soldered/keyboard.json
index 9edb808330..9e017af945 100644
--- a/keyboards/axolstudio/yeti/soldered/keyboard.json
+++ b/keyboards/axolstudio/yeti/soldered/keyboard.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": false
diff --git a/keyboards/bacca70/keyboard.json b/keyboards/bacca70/keyboard.json
index 8d4483bc6f..8f3b2d840d 100644
--- a/keyboards/bacca70/keyboard.json
+++ b/keyboards/bacca70/keyboard.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": true
diff --git a/keyboards/baguette/keyboard.json b/keyboards/baguette/keyboard.json
index 001757f861..37b0be164a 100644
--- a/keyboards/baguette/keyboard.json
+++ b/keyboards/baguette/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Baguette",
"manufacturer": "Yiancar",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0xFEED",
@@ -12,7 +11,6 @@
"backlight": true,
"bootmagic": false,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false
diff --git a/keyboards/bahm/aster_ergo/keyboard.json b/keyboards/bahm/aster_ergo/keyboard.json
index 5545e02409..963764d497 100644
--- a/keyboards/bahm/aster_ergo/keyboard.json
+++ b/keyboards/bahm/aster_ergo/keyboard.json
@@ -17,7 +17,6 @@
"cols": ["A10", "A9", "A8", "B15", "B14", "B13", "B12", "B1", "B0", "A7", "A6", "B4", "B3", "A15", "A5", "A2", "A1"],
"rows": ["B7", "B6", "B5", "B11", "B10", "A4"]
},
- "url": "",
"usb": {
"device_version": "1.0.0",
"pid": "0x8701",
diff --git a/keyboards/balloondogcaps/tr90/keyboard.json b/keyboards/balloondogcaps/tr90/keyboard.json
index 42071ba3f0..c4176f4ff3 100644
--- a/keyboards/balloondogcaps/tr90/keyboard.json
+++ b/keyboards/balloondogcaps/tr90/keyboard.json
@@ -7,7 +7,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
@@ -17,7 +16,6 @@
"rows": ["F0", "F1", "F4"]
},
"processor": "atmega32u4",
- "url": "",
"usb": {
"device_version": "1.0.0",
"pid": "0x0001",
diff --git a/keyboards/balloondogcaps/tr90pm/keyboard.json b/keyboards/balloondogcaps/tr90pm/keyboard.json
index c5badb7836..66ef389a7f 100644
--- a/keyboards/balloondogcaps/tr90pm/keyboard.json
+++ b/keyboards/balloondogcaps/tr90pm/keyboard.json
@@ -7,7 +7,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
@@ -17,7 +16,6 @@
"rows": ["C6", "D7", "E6"]
},
"processor": "atmega32u4",
- "url": "",
"usb": {
"device_version": "1.0.0",
"pid": "0x0002",
diff --git a/keyboards/bantam44/keyboard.json b/keyboards/bantam44/keyboard.json
index ac534af6a9..d5deffa01b 100644
--- a/keyboards/bantam44/keyboard.json
+++ b/keyboards/bantam44/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Bantam44",
"manufacturer": "Bantam Keyboards",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0xFEED",
diff --git a/keyboards/barracuda/keyboard.json b/keyboards/barracuda/keyboard.json
index 6e606e11ea..be92c5c6de 100644
--- a/keyboards/barracuda/keyboard.json
+++ b/keyboards/barracuda/keyboard.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/bastardkb/charybdis/3x5/v1/elitec/keyboard.json b/keyboards/bastardkb/charybdis/3x5/v1/elitec/keyboard.json
index 4a94d023d4..2fd99fb5ab 100644
--- a/keyboards/bastardkb/charybdis/3x5/v1/elitec/keyboard.json
+++ b/keyboards/bastardkb/charybdis/3x5/v1/elitec/keyboard.json
@@ -26,7 +26,9 @@
"diode_direction": "ROW2COL",
"split": {
"enabled": true,
- "soft_serial_pin": "D2",
+ "serial": {
+ "pin": "D2"
+ },
"matrix_pins": {
"right": {
"cols": ["C7", "B7", "D7", "E6", "B4"],
diff --git a/keyboards/bastardkb/charybdis/3x5/v2/elitec/keyboard.json b/keyboards/bastardkb/charybdis/3x5/v2/elitec/keyboard.json
index bc95061ced..51f6cedf51 100644
--- a/keyboards/bastardkb/charybdis/3x5/v2/elitec/keyboard.json
+++ b/keyboards/bastardkb/charybdis/3x5/v2/elitec/keyboard.json
@@ -26,7 +26,9 @@
"diode_direction": "ROW2COL",
"split": {
"enabled": true,
- "soft_serial_pin": "D2"
+ "serial": {
+ "pin": "D2"
+ }
},
"processor": "atmega32u4",
"bootloader": "atmel-dfu"
diff --git a/keyboards/bastardkb/charybdis/3x5/v2/splinky_2/keyboard.json b/keyboards/bastardkb/charybdis/3x5/v2/splinky_2/keyboard.json
index cc990d3f21..cf800062b3 100644
--- a/keyboards/bastardkb/charybdis/3x5/v2/splinky_2/keyboard.json
+++ b/keyboards/bastardkb/charybdis/3x5/v2/splinky_2/keyboard.json
@@ -20,7 +20,9 @@
"diode_direction": "ROW2COL",
"split": {
"enabled": true,
- "soft_serial_pin": "GP1"
+ "serial": {
+ "pin": "GP1"
+ }
},
"ws2812": {
"pin": "GP0",
diff --git a/keyboards/bastardkb/charybdis/3x5/v2/splinky_3/keyboard.json b/keyboards/bastardkb/charybdis/3x5/v2/splinky_3/keyboard.json
index 6719b21196..d9039f7591 100644
--- a/keyboards/bastardkb/charybdis/3x5/v2/splinky_3/keyboard.json
+++ b/keyboards/bastardkb/charybdis/3x5/v2/splinky_3/keyboard.json
@@ -20,7 +20,9 @@
"diode_direction": "ROW2COL",
"split": {
"enabled": true,
- "soft_serial_pin": "GP1"
+ "serial": {
+ "pin": "GP1"
+ }
},
"ws2812": {
"pin": "GP0",
diff --git a/keyboards/bastardkb/charybdis/3x5/v2/stemcell/keyboard.json b/keyboards/bastardkb/charybdis/3x5/v2/stemcell/keyboard.json
index 2de77b07f0..ca48cc0f3c 100644
--- a/keyboards/bastardkb/charybdis/3x5/v2/stemcell/keyboard.json
+++ b/keyboards/bastardkb/charybdis/3x5/v2/stemcell/keyboard.json
@@ -30,7 +30,9 @@
"diode_direction": "ROW2COL",
"split": {
"enabled": true,
- "soft_serial_pin": "A3"
+ "serial": {
+ "pin": "A3"
+ }
},
"development_board": "stemcell"
}
diff --git a/keyboards/bastardkb/charybdis/3x6/v1/elitec/keyboard.json b/keyboards/bastardkb/charybdis/3x6/v1/elitec/keyboard.json
index dcc454366c..cef4eab72f 100644
--- a/keyboards/bastardkb/charybdis/3x6/v1/elitec/keyboard.json
+++ b/keyboards/bastardkb/charybdis/3x6/v1/elitec/keyboard.json
@@ -26,7 +26,9 @@
"diode_direction": "ROW2COL",
"split": {
"enabled": true,
- "soft_serial_pin": "D2",
+ "serial": {
+ "pin": "D2"
+ },
"matrix_pins": {
"right": {
"cols": ["F1", "C7", "B7", "D7", "E6", "B4"],
diff --git a/keyboards/bastardkb/charybdis/3x6/v2/elitec/keyboard.json b/keyboards/bastardkb/charybdis/3x6/v2/elitec/keyboard.json
index ce74b2dc6d..fdfd2c38f9 100644
--- a/keyboards/bastardkb/charybdis/3x6/v2/elitec/keyboard.json
+++ b/keyboards/bastardkb/charybdis/3x6/v2/elitec/keyboard.json
@@ -26,7 +26,9 @@
"diode_direction": "ROW2COL",
"split": {
"enabled": true,
- "soft_serial_pin": "D2"
+ "serial": {
+ "pin": "D2"
+ }
},
"processor": "atmega32u4",
"bootloader": "atmel-dfu"
diff --git a/keyboards/bastardkb/charybdis/3x6/v2/splinky_2/keyboard.json b/keyboards/bastardkb/charybdis/3x6/v2/splinky_2/keyboard.json
index 825508475c..650bf46481 100644
--- a/keyboards/bastardkb/charybdis/3x6/v2/splinky_2/keyboard.json
+++ b/keyboards/bastardkb/charybdis/3x6/v2/splinky_2/keyboard.json
@@ -20,7 +20,9 @@
"diode_direction": "ROW2COL",
"split": {
"enabled": true,
- "soft_serial_pin": "GP1"
+ "serial": {
+ "pin": "GP1"
+ }
},
"ws2812": {
"pin": "GP0",
diff --git a/keyboards/bastardkb/charybdis/3x6/v2/splinky_3/keyboard.json b/keyboards/bastardkb/charybdis/3x6/v2/splinky_3/keyboard.json
index 4d9cfb616d..b2a4890f56 100644
--- a/keyboards/bastardkb/charybdis/3x6/v2/splinky_3/keyboard.json
+++ b/keyboards/bastardkb/charybdis/3x6/v2/splinky_3/keyboard.json
@@ -20,7 +20,9 @@
"diode_direction": "ROW2COL",
"split": {
"enabled": true,
- "soft_serial_pin": "GP1"
+ "serial": {
+ "pin": "GP1"
+ }
},
"ws2812": {
"pin": "GP0",
diff --git a/keyboards/bastardkb/charybdis/3x6/v2/stemcell/keyboard.json b/keyboards/bastardkb/charybdis/3x6/v2/stemcell/keyboard.json
index 05d82b2445..a405395438 100644
--- a/keyboards/bastardkb/charybdis/3x6/v2/stemcell/keyboard.json
+++ b/keyboards/bastardkb/charybdis/3x6/v2/stemcell/keyboard.json
@@ -30,7 +30,9 @@
"diode_direction": "ROW2COL",
"split": {
"enabled": true,
- "soft_serial_pin": "A3"
+ "serial": {
+ "pin": "A3"
+ }
},
"development_board": "stemcell"
}
diff --git a/keyboards/bastardkb/charybdis/4x6/v1/elitec/keyboard.json b/keyboards/bastardkb/charybdis/4x6/v1/elitec/keyboard.json
index b90b144c8b..6b0caff82e 100644
--- a/keyboards/bastardkb/charybdis/4x6/v1/elitec/keyboard.json
+++ b/keyboards/bastardkb/charybdis/4x6/v1/elitec/keyboard.json
@@ -26,7 +26,9 @@
"diode_direction": "ROW2COL",
"split": {
"enabled": true,
- "soft_serial_pin": "D2",
+ "serial": {
+ "pin": "D2"
+ },
"matrix_pins": {
"right": {
"cols": ["F1", "C7", "B7", "D7", "E6", "B4"],
diff --git a/keyboards/bastardkb/charybdis/4x6/v2/elitec/keyboard.json b/keyboards/bastardkb/charybdis/4x6/v2/elitec/keyboard.json
index 8ae66d083b..4163f9d476 100644
--- a/keyboards/bastardkb/charybdis/4x6/v2/elitec/keyboard.json
+++ b/keyboards/bastardkb/charybdis/4x6/v2/elitec/keyboard.json
@@ -26,7 +26,9 @@
"diode_direction": "ROW2COL",
"split": {
"enabled": true,
- "soft_serial_pin": "D2"
+ "serial": {
+ "pin": "D2"
+ }
},
"processor": "atmega32u4",
"bootloader": "atmel-dfu"
diff --git a/keyboards/bastardkb/charybdis/4x6/v2/splinky_2/keyboard.json b/keyboards/bastardkb/charybdis/4x6/v2/splinky_2/keyboard.json
index b0c98389f7..0da7d0b442 100644
--- a/keyboards/bastardkb/charybdis/4x6/v2/splinky_2/keyboard.json
+++ b/keyboards/bastardkb/charybdis/4x6/v2/splinky_2/keyboard.json
@@ -20,7 +20,9 @@
"diode_direction": "ROW2COL",
"split": {
"enabled": true,
- "soft_serial_pin": "GP1"
+ "serial": {
+ "pin": "GP1"
+ }
},
"ws2812": {
"pin": "GP0",
diff --git a/keyboards/bastardkb/charybdis/4x6/v2/splinky_3/keyboard.json b/keyboards/bastardkb/charybdis/4x6/v2/splinky_3/keyboard.json
index 1e072db85b..026684eb92 100644
--- a/keyboards/bastardkb/charybdis/4x6/v2/splinky_3/keyboard.json
+++ b/keyboards/bastardkb/charybdis/4x6/v2/splinky_3/keyboard.json
@@ -20,7 +20,9 @@
"diode_direction": "ROW2COL",
"split": {
"enabled": true,
- "soft_serial_pin": "GP1"
+ "serial": {
+ "pin": "GP1"
+ }
},
"ws2812": {
"pin": "GP0",
diff --git a/keyboards/bastardkb/charybdis/4x6/v2/stemcell/keyboard.json b/keyboards/bastardkb/charybdis/4x6/v2/stemcell/keyboard.json
index ab145e0f95..ed929f7fb7 100644
--- a/keyboards/bastardkb/charybdis/4x6/v2/stemcell/keyboard.json
+++ b/keyboards/bastardkb/charybdis/4x6/v2/stemcell/keyboard.json
@@ -30,7 +30,9 @@
"diode_direction": "ROW2COL",
"split": {
"enabled": true,
- "soft_serial_pin": "A3"
+ "serial": {
+ "pin": "A3"
+ }
},
"development_board": "stemcell"
}
diff --git a/keyboards/bastardkb/dilemma/3x5_2/assembled/keyboard.json b/keyboards/bastardkb/dilemma/3x5_2/assembled/keyboard.json
index ac52a86eb5..366deac293 100644
--- a/keyboards/bastardkb/dilemma/3x5_2/assembled/keyboard.json
+++ b/keyboards/bastardkb/dilemma/3x5_2/assembled/keyboard.json
@@ -13,7 +13,9 @@
"diode_direction": "ROW2COL",
"split": {
"enabled": true,
- "soft_serial_pin": "GP1"
+ "serial": {
+ "pin": "GP1"
+ }
},
"processor": "RP2040",
"bootloader": "rp2040"
diff --git a/keyboards/bastardkb/dilemma/3x5_2/splinky/keyboard.json b/keyboards/bastardkb/dilemma/3x5_2/splinky/keyboard.json
index 3c4c559cb6..e954f4f657 100644
--- a/keyboards/bastardkb/dilemma/3x5_2/splinky/keyboard.json
+++ b/keyboards/bastardkb/dilemma/3x5_2/splinky/keyboard.json
@@ -13,7 +13,9 @@
"diode_direction": "ROW2COL",
"split": {
"enabled": true,
- "soft_serial_pin": "GP1"
+ "serial": {
+ "pin": "GP1"
+ }
},
"processor": "RP2040",
"bootloader": "rp2040"
diff --git a/keyboards/bastardkb/dilemma/3x5_3/keyboard.json b/keyboards/bastardkb/dilemma/3x5_3/keyboard.json
index 12e336f023..e283b2409b 100644
--- a/keyboards/bastardkb/dilemma/3x5_3/keyboard.json
+++ b/keyboards/bastardkb/dilemma/3x5_3/keyboard.json
@@ -14,7 +14,9 @@
"diode_direction": "ROW2COL",
"split": {
"enabled": true,
- "soft_serial_pin": "GP1",
+ "serial": {
+ "pin": "GP1"
+ },
"bootmagic": {
"matrix": [4, 0]
},
@@ -33,7 +35,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/bastardkb/dilemma/4x6_4/keyboard.json b/keyboards/bastardkb/dilemma/4x6_4/keyboard.json
index 7e40208a5d..9e85e7af1e 100644
--- a/keyboards/bastardkb/dilemma/4x6_4/keyboard.json
+++ b/keyboards/bastardkb/dilemma/4x6_4/keyboard.json
@@ -14,7 +14,9 @@
"diode_direction": "ROW2COL",
"split": {
"enabled": true,
- "soft_serial_pin": "GP1",
+ "serial": {
+ "pin": "GP1"
+ },
"bootmagic": {
"matrix": [5, 0]
},
@@ -33,7 +35,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/bastardkb/scylla/v1/elitec/keyboard.json b/keyboards/bastardkb/scylla/v1/elitec/keyboard.json
index 17b6b7fc36..25963f006c 100644
--- a/keyboards/bastardkb/scylla/v1/elitec/keyboard.json
+++ b/keyboards/bastardkb/scylla/v1/elitec/keyboard.json
@@ -22,7 +22,9 @@
"diode_direction": "ROW2COL",
"split": {
"enabled": true,
- "soft_serial_pin": "D0"
+ "serial": {
+ "pin": "D0"
+ }
},
"processor": "atmega32u4",
"bootloader": "atmel-dfu"
diff --git a/keyboards/bastardkb/scylla/v2/elitec/keyboard.json b/keyboards/bastardkb/scylla/v2/elitec/keyboard.json
index 7bfb7ff5a4..316606b17b 100644
--- a/keyboards/bastardkb/scylla/v2/elitec/keyboard.json
+++ b/keyboards/bastardkb/scylla/v2/elitec/keyboard.json
@@ -22,7 +22,9 @@
"diode_direction": "ROW2COL",
"split": {
"enabled": true,
- "soft_serial_pin": "D2"
+ "serial": {
+ "pin": "D2"
+ }
},
"processor": "atmega32u4",
"bootloader": "atmel-dfu"
diff --git a/keyboards/bastardkb/scylla/v2/splinky_2/keyboard.json b/keyboards/bastardkb/scylla/v2/splinky_2/keyboard.json
index 2b9022d24e..2c0beb5c1d 100644
--- a/keyboards/bastardkb/scylla/v2/splinky_2/keyboard.json
+++ b/keyboards/bastardkb/scylla/v2/splinky_2/keyboard.json
@@ -19,7 +19,9 @@
"diode_direction": "ROW2COL",
"split": {
"enabled": true,
- "soft_serial_pin": "GP1"
+ "serial": {
+ "pin": "GP1"
+ }
},
"ws2812": {
"pin": "GP0",
diff --git a/keyboards/bastardkb/scylla/v2/splinky_3/keyboard.json b/keyboards/bastardkb/scylla/v2/splinky_3/keyboard.json
index cd4da3ac41..ed92be5a45 100644
--- a/keyboards/bastardkb/scylla/v2/splinky_3/keyboard.json
+++ b/keyboards/bastardkb/scylla/v2/splinky_3/keyboard.json
@@ -19,7 +19,9 @@
"diode_direction": "ROW2COL",
"split": {
"enabled": true,
- "soft_serial_pin": "GP1"
+ "serial": {
+ "pin": "GP1"
+ }
},
"ws2812": {
"pin": "GP0",
diff --git a/keyboards/bastardkb/scylla/v2/stemcell/keyboard.json b/keyboards/bastardkb/scylla/v2/stemcell/keyboard.json
index 06bfeda7d2..80325bfea3 100644
--- a/keyboards/bastardkb/scylla/v2/stemcell/keyboard.json
+++ b/keyboards/bastardkb/scylla/v2/stemcell/keyboard.json
@@ -26,7 +26,9 @@
"diode_direction": "ROW2COL",
"split": {
"enabled": true,
- "soft_serial_pin": "A3"
+ "serial": {
+ "pin": "A3"
+ }
},
"development_board": "stemcell"
}
diff --git a/keyboards/bastardkb/skeletyl/v1/elitec/keyboard.json b/keyboards/bastardkb/skeletyl/v1/elitec/keyboard.json
index 2910d80b2f..3bbba6d310 100644
--- a/keyboards/bastardkb/skeletyl/v1/elitec/keyboard.json
+++ b/keyboards/bastardkb/skeletyl/v1/elitec/keyboard.json
@@ -22,7 +22,9 @@
"diode_direction": "ROW2COL",
"split": {
"enabled": true,
- "soft_serial_pin": "D0"
+ "serial": {
+ "pin": "D0"
+ }
},
"processor": "atmega32u4",
"bootloader": "atmel-dfu"
diff --git a/keyboards/bastardkb/skeletyl/v2/elitec/keyboard.json b/keyboards/bastardkb/skeletyl/v2/elitec/keyboard.json
index dec2537b65..43675db36d 100644
--- a/keyboards/bastardkb/skeletyl/v2/elitec/keyboard.json
+++ b/keyboards/bastardkb/skeletyl/v2/elitec/keyboard.json
@@ -22,7 +22,9 @@
"diode_direction": "ROW2COL",
"split": {
"enabled": true,
- "soft_serial_pin": "D2"
+ "serial": {
+ "pin": "D2"
+ }
},
"processor": "atmega32u4",
"bootloader": "atmel-dfu"
diff --git a/keyboards/bastardkb/skeletyl/v2/splinky_2/keyboard.json b/keyboards/bastardkb/skeletyl/v2/splinky_2/keyboard.json
index 897f195a31..32030dbd00 100644
--- a/keyboards/bastardkb/skeletyl/v2/splinky_2/keyboard.json
+++ b/keyboards/bastardkb/skeletyl/v2/splinky_2/keyboard.json
@@ -19,7 +19,9 @@
"diode_direction": "ROW2COL",
"split": {
"enabled": true,
- "soft_serial_pin": "GP1"
+ "serial": {
+ "pin": "GP1"
+ }
},
"ws2812": {
"pin": "GP0",
diff --git a/keyboards/bastardkb/skeletyl/v2/splinky_3/keyboard.json b/keyboards/bastardkb/skeletyl/v2/splinky_3/keyboard.json
index 06a93dfbeb..51227f5065 100644
--- a/keyboards/bastardkb/skeletyl/v2/splinky_3/keyboard.json
+++ b/keyboards/bastardkb/skeletyl/v2/splinky_3/keyboard.json
@@ -19,7 +19,9 @@
"diode_direction": "ROW2COL",
"split": {
"enabled": true,
- "soft_serial_pin": "GP1"
+ "serial": {
+ "pin": "GP1"
+ }
},
"ws2812": {
"pin": "GP0",
diff --git a/keyboards/bastardkb/skeletyl/v2/stemcell/keyboard.json b/keyboards/bastardkb/skeletyl/v2/stemcell/keyboard.json
index 6dd86bcc12..2e9745b7f2 100644
--- a/keyboards/bastardkb/skeletyl/v2/stemcell/keyboard.json
+++ b/keyboards/bastardkb/skeletyl/v2/stemcell/keyboard.json
@@ -26,7 +26,9 @@
"diode_direction": "ROW2COL",
"split": {
"enabled": true,
- "soft_serial_pin": "A3"
+ "serial": {
+ "pin": "A3"
+ }
},
"development_board": "stemcell"
}
diff --git a/keyboards/bastardkb/tbkmini/v1/elitec/keyboard.json b/keyboards/bastardkb/tbkmini/v1/elitec/keyboard.json
index 59988074ba..5110ea0d74 100644
--- a/keyboards/bastardkb/tbkmini/v1/elitec/keyboard.json
+++ b/keyboards/bastardkb/tbkmini/v1/elitec/keyboard.json
@@ -22,7 +22,9 @@
"diode_direction": "ROW2COL",
"split": {
"enabled": true,
- "soft_serial_pin": "D0"
+ "serial": {
+ "pin": "D0"
+ }
},
"processor": "atmega32u4",
"bootloader": "atmel-dfu"
diff --git a/keyboards/bastardkb/tbkmini/v2/elitec/keyboard.json b/keyboards/bastardkb/tbkmini/v2/elitec/keyboard.json
index 01679bcff9..701ec6af28 100644
--- a/keyboards/bastardkb/tbkmini/v2/elitec/keyboard.json
+++ b/keyboards/bastardkb/tbkmini/v2/elitec/keyboard.json
@@ -22,7 +22,9 @@
"diode_direction": "ROW2COL",
"split": {
"enabled": true,
- "soft_serial_pin": "D2"
+ "serial": {
+ "pin": "D2"
+ }
},
"processor": "atmega32u4",
"bootloader": "atmel-dfu"
diff --git a/keyboards/bastardkb/tbkmini/v2/splinky_2/keyboard.json b/keyboards/bastardkb/tbkmini/v2/splinky_2/keyboard.json
index 2048db6251..15db3db6e8 100644
--- a/keyboards/bastardkb/tbkmini/v2/splinky_2/keyboard.json
+++ b/keyboards/bastardkb/tbkmini/v2/splinky_2/keyboard.json
@@ -19,7 +19,9 @@
"diode_direction": "ROW2COL",
"split": {
"enabled": true,
- "soft_serial_pin": "GP1"
+ "serial": {
+ "pin": "GP1"
+ }
},
"ws2812": {
"pin": "GP0",
diff --git a/keyboards/bastardkb/tbkmini/v2/splinky_3/keyboard.json b/keyboards/bastardkb/tbkmini/v2/splinky_3/keyboard.json
index 8dd21b7591..3936b9368a 100644
--- a/keyboards/bastardkb/tbkmini/v2/splinky_3/keyboard.json
+++ b/keyboards/bastardkb/tbkmini/v2/splinky_3/keyboard.json
@@ -19,7 +19,9 @@
"diode_direction": "ROW2COL",
"split": {
"enabled": true,
- "soft_serial_pin": "GP1"
+ "serial": {
+ "pin": "GP1"
+ }
},
"ws2812": {
"pin": "GP0",
diff --git a/keyboards/bastardkb/tbkmini/v2/stemcell/keyboard.json b/keyboards/bastardkb/tbkmini/v2/stemcell/keyboard.json
index 41abba96cb..2cbee7fe17 100644
--- a/keyboards/bastardkb/tbkmini/v2/stemcell/keyboard.json
+++ b/keyboards/bastardkb/tbkmini/v2/stemcell/keyboard.json
@@ -26,7 +26,9 @@
"diode_direction": "ROW2COL",
"split": {
"enabled": true,
- "soft_serial_pin": "A3"
+ "serial": {
+ "pin": "A3"
+ }
},
"development_board": "stemcell"
}
diff --git a/keyboards/bear_face/info.json b/keyboards/bear_face/info.json
index 90191299d8..f81f4c4536 100644
--- a/keyboards/bear_face/info.json
+++ b/keyboards/bear_face/info.json
@@ -10,7 +10,6 @@
"backlight": true,
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": false
},
diff --git a/keyboards/beatervan/keyboard.json b/keyboards/beatervan/keyboard.json
index 27d0f3e535..f1a6380727 100644
--- a/keyboards/beatervan/keyboard.json
+++ b/keyboards/beatervan/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "beatervan",
"manufacturer": "OJ",
- "url": "",
"maintainer": "OJ",
"usb": {
"vid": "0x6F7A",
@@ -11,7 +10,6 @@
"features": {
"bootmagic": true,
"command": true,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/beekeeb/piantor/keyboard.json b/keyboards/beekeeb/piantor/keyboard.json
index 77bfc3678c..8d58efb90e 100644
--- a/keyboards/beekeeb/piantor/keyboard.json
+++ b/keyboards/beekeeb/piantor/keyboard.json
@@ -6,7 +6,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/beekeeb/piantor_pro/keyboard.json b/keyboards/beekeeb/piantor_pro/keyboard.json
index ad4890ae68..558114b67e 100644
--- a/keyboards/beekeeb/piantor_pro/keyboard.json
+++ b/keyboards/beekeeb/piantor_pro/keyboard.json
@@ -7,7 +7,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
@@ -17,7 +16,6 @@
"rows": ["GP7", "GP8", "GP9", "GP10"]
},
"processor": "RP2040",
- "url": "",
"usb": {
"device_version": "1.0.0",
"pid": "0x0002",
diff --git a/keyboards/bestway/keyboard.json b/keyboards/bestway/keyboard.json
index 66856115f8..2f4541b268 100644
--- a/keyboards/bestway/keyboard.json
+++ b/keyboards/bestway/keyboard.json
@@ -35,7 +35,6 @@
"led_count": 3,
"saturation_steps": 8
},
- "url": "",
"usb": {
"device_version": "1.0.0",
"pid": "0xBB05",
diff --git a/keyboards/bfake/keyboard.json b/keyboards/bfake/keyboard.json
index 4774e282d7..febcc29f91 100644
--- a/keyboards/bfake/keyboard.json
+++ b/keyboards/bfake/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "B.fake",
"manufacturer": "NotWinkeyless",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0x20A0",
@@ -12,7 +11,6 @@
"backlight": true,
"bootmagic": true,
"command": true,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false
diff --git a/keyboards/biacco42/ergo42/rev1/keyboard.json b/keyboards/biacco42/ergo42/rev1/keyboard.json
index c75e9d1c51..4639bf9639 100644
--- a/keyboards/biacco42/ergo42/rev1/keyboard.json
+++ b/keyboards/biacco42/ergo42/rev1/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Ergo42",
"manufacturer": "Biacco42",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0xBC42",
diff --git a/keyboards/biacco42/meishi/keyboard.json b/keyboards/biacco42/meishi/keyboard.json
index b7d751d83e..99f7c5debb 100644
--- a/keyboards/biacco42/meishi/keyboard.json
+++ b/keyboards/biacco42/meishi/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Meishi",
"manufacturer": "Biacco42",
- "url": "",
"maintainer": "Biacco42",
"usb": {
"vid": "0xBC42",
diff --git a/keyboards/biacco42/meishi2/keyboard.json b/keyboards/biacco42/meishi2/keyboard.json
index 2f553681bc..137c429ff1 100644
--- a/keyboards/biacco42/meishi2/keyboard.json
+++ b/keyboards/biacco42/meishi2/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "meishi2",
"manufacturer": "Biacco42",
- "url": "",
"maintainer": "biacco42",
"usb": {
"vid": "0xBC42",
diff --git a/keyboards/binepad/bn006/keyboard.json b/keyboards/binepad/bn006/keyboard.json
index e5e25b4b90..b535aabfcc 100755
--- a/keyboards/binepad/bn006/keyboard.json
+++ b/keyboards/binepad/bn006/keyboard.json
@@ -7,7 +7,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false,
diff --git a/keyboards/binepad/bn009/info.json b/keyboards/binepad/bn009/info.json
index 5e06ee9ef6..d5ad51eb8c 100644
--- a/keyboards/binepad/bn009/info.json
+++ b/keyboards/binepad/bn009/info.json
@@ -5,7 +5,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false
diff --git a/keyboards/binepad/bnr1/info.json b/keyboards/binepad/bnr1/info.json
index 42067200cd..3c844d8512 100755
--- a/keyboards/binepad/bnr1/info.json
+++ b/keyboards/binepad/bnr1/info.json
@@ -5,7 +5,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false,
diff --git a/keyboards/binepad/pixie/keyboard.json b/keyboards/binepad/pixie/keyboard.json
index 7d9d2ceb9a..0c906aef03 100644
--- a/keyboards/binepad/pixie/keyboard.json
+++ b/keyboards/binepad/pixie/keyboard.json
@@ -14,7 +14,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false,
diff --git a/keyboards/bioi/f60/keyboard.json b/keyboards/bioi/f60/keyboard.json
index 8974a68e02..a27533713b 100644
--- a/keyboards/bioi/f60/keyboard.json
+++ b/keyboards/bioi/f60/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "BIOI F60",
"manufacturer": "Basic IO Instruments",
- "url": "",
"maintainer": "kb-elmo",
"usb": {
"vid": "0x8101",
@@ -12,7 +11,6 @@
"backlight": true,
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false,
diff --git a/keyboards/bioi/g60ble/keyboard.json b/keyboards/bioi/g60ble/keyboard.json
index 8b24556b37..ad1aed6048 100644
--- a/keyboards/bioi/g60ble/keyboard.json
+++ b/keyboards/bioi/g60ble/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "BIOI G60 BLE",
"manufacturer": "Basic IO Instruments",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0x6583",
diff --git a/keyboards/bioi/morgan65/keyboard.json b/keyboards/bioi/morgan65/keyboard.json
index 5606233f2a..0182392706 100644
--- a/keyboards/bioi/morgan65/keyboard.json
+++ b/keyboards/bioi/morgan65/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Morgan65",
"manufacturer": "Basic IO Instruments",
- "url": "",
"maintainer": "scottywei",
"usb": {
"vid": "0x8101",
diff --git a/keyboards/bioi/s65/keyboard.json b/keyboards/bioi/s65/keyboard.json
index 56d53b54cf..c07fd9158d 100644
--- a/keyboards/bioi/s65/keyboard.json
+++ b/keyboards/bioi/s65/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "BIOI S65",
"manufacturer": "Basic IO Instruments",
- "url": "",
"maintainer": "scottywei",
"usb": {
"vid": "0x8101",
@@ -14,7 +13,6 @@
"features": {
"bootmagic": true,
"command": true,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": true,
diff --git a/keyboards/black_hellebore/keyboard.json b/keyboards/black_hellebore/keyboard.json
index b59cb8f7b9..7d7d6ea52f 100644
--- a/keyboards/black_hellebore/keyboard.json
+++ b/keyboards/black_hellebore/keyboard.json
@@ -7,7 +7,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/blackplum/keyboard.json b/keyboards/blackplum/keyboard.json
index 277e0eae62..cf6ed8fd3e 100644
--- a/keyboards/blackplum/keyboard.json
+++ b/keyboards/blackplum/keyboard.json
@@ -33,7 +33,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/blank/blank01/keyboard.json b/keyboards/blank/blank01/keyboard.json
index 672a292def..bc55401c4f 100644
--- a/keyboards/blank/blank01/keyboard.json
+++ b/keyboards/blank/blank01/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "BLANK.01",
"manufacturer": "BLANK",
- "url": "",
"maintainer": "gkeyboard",
"usb": {
"vid": "0x424C",
@@ -11,7 +10,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/blaster75/keyboard.json b/keyboards/blaster75/keyboard.json
index 81cc789da6..93288150ba 100644
--- a/keyboards/blaster75/keyboard.json
+++ b/keyboards/blaster75/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Blaster 75",
"manufacturer": "Altain",
- "url": "",
"maintainer": "Altain",
"usb": {
"vid": "0xA122",
diff --git a/keyboards/blockboy/ac980mini/keyboard.json b/keyboards/blockboy/ac980mini/keyboard.json
index ad844102dc..568cfa17b5 100644
--- a/keyboards/blockboy/ac980mini/keyboard.json
+++ b/keyboards/blockboy/ac980mini/keyboard.json
@@ -10,7 +10,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false,
@@ -21,7 +20,6 @@
"rows": ["D0", "D1", "D2", "D3", "D5"]
},
"processor": "atmega32u4",
- "url": "",
"usb": {
"device_version": "1.0.0",
"pid": "0x6060",
diff --git a/keyboards/blockey/keyboard.json b/keyboards/blockey/keyboard.json
index 9710606a52..e9c5ceafa1 100644
--- a/keyboards/blockey/keyboard.json
+++ b/keyboards/blockey/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "BlocKey",
"manufacturer": "Eucalyn",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0xFEED",
diff --git a/keyboards/boardrun/bizarre/keyboard.json b/keyboards/boardrun/bizarre/keyboard.json
index f61f3b053f..22ddfb005d 100644
--- a/keyboards/boardrun/bizarre/keyboard.json
+++ b/keyboards/boardrun/bizarre/keyboard.json
@@ -33,7 +33,6 @@
"features": {
"bootmagic": true,
"command": true,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": true,
diff --git a/keyboards/boardrun/classic/keyboard.json b/keyboards/boardrun/classic/keyboard.json
index be21483c8e..320eaa4103 100644
--- a/keyboards/boardrun/classic/keyboard.json
+++ b/keyboards/boardrun/classic/keyboard.json
@@ -33,7 +33,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": true,
diff --git a/keyboards/boardwalk/keyboard.json b/keyboards/boardwalk/keyboard.json
index 6fb7673ec8..50a00b0f65 100644
--- a/keyboards/boardwalk/keyboard.json
+++ b/keyboards/boardwalk/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Boardwalk",
"manufacturer": "shensmobile",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0xCDCD",
@@ -32,7 +31,6 @@
"features": {
"bootmagic": true,
"command": true,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": true,
diff --git a/keyboards/bobpad/keyboard.json b/keyboards/bobpad/keyboard.json
index feddbbf222..cc14263d0d 100644
--- a/keyboards/bobpad/keyboard.json
+++ b/keyboards/bobpad/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "bobPad",
"manufacturer": "Desiboards",
- "url": "",
"maintainer": "Ananya Kirti",
"usb": {
"vid": "0x416B",
@@ -11,7 +10,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"encoder": true,
"extrakey": true,
"mousekey": true,
diff --git a/keyboards/bolsa/bolsalice/keyboard.json b/keyboards/bolsa/bolsalice/keyboard.json
index 8ada9b5546..a6a37514f9 100644
--- a/keyboards/bolsa/bolsalice/keyboard.json
+++ b/keyboards/bolsa/bolsalice/keyboard.json
@@ -29,7 +29,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
@@ -42,7 +41,6 @@
"diode_direction": "COL2ROW",
"processor": "atmega32u4",
"bootloader": "atmel-dfu",
- "url": "",
"maintainer": "qmk",
"community_layouts": ["alice", "alice_split_bs"],
"layouts": {
diff --git a/keyboards/bolsa/damapad/keyboard.json b/keyboards/bolsa/damapad/keyboard.json
index 5a47d12322..7417f4f7d7 100644
--- a/keyboards/bolsa/damapad/keyboard.json
+++ b/keyboards/bolsa/damapad/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Damapad",
"manufacturer": "Bolsa Keyboard Supply",
- "url": "",
"maintainer": "matthewdias",
"usb": {
"vid": "0x6D64",
@@ -11,7 +10,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"encoder": true,
"extrakey": true,
"mousekey": true,
diff --git a/keyboards/bop/keyboard.json b/keyboards/bop/keyboard.json
index 6a88bb4617..dbd97ad2ff 100644
--- a/keyboards/bop/keyboard.json
+++ b/keyboards/bop/keyboard.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/boston/keyboard.json b/keyboards/boston/keyboard.json
index 050076c7a6..fc91b72873 100644
--- a/keyboards/boston/keyboard.json
+++ b/keyboards/boston/keyboard.json
@@ -12,7 +12,6 @@
"backlight": true,
"bootmagic": true,
"command": false,
- "console": false,
"encoder": true,
"extrakey": true,
"mousekey": true,
diff --git a/keyboards/boston_meetup/2019/keyboard.json b/keyboards/boston_meetup/2019/keyboard.json
index 40a390b0a8..4f07e0c631 100644
--- a/keyboards/boston_meetup/2019/keyboard.json
+++ b/keyboards/boston_meetup/2019/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Boston Meetup Board",
"manufacturer": "ishtob",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0xFB30",
diff --git a/keyboards/botanicalkeyboards/fm2u/keyboard.json b/keyboards/botanicalkeyboards/fm2u/keyboard.json
index 907d5d46b8..8c2714ade3 100644
--- a/keyboards/botanicalkeyboards/fm2u/keyboard.json
+++ b/keyboards/botanicalkeyboards/fm2u/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "FM2U",
"manufacturer": "Botanical Keyboards",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0x6969",
diff --git a/keyboards/box75/keyboard.json b/keyboards/box75/keyboard.json
index 89afff1716..9c5c245f20 100644
--- a/keyboards/box75/keyboard.json
+++ b/keyboards/box75/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "BOX75",
"manufacturer": "Lin Design",
- "url": "",
"maintainer": "Gondolindrim",
"usb": {
"vid": "0x7668",
diff --git a/keyboards/bpiphany/four_banger/keyboard.json b/keyboards/bpiphany/four_banger/keyboard.json
index a368fbfe61..fe7cd2f32a 100644
--- a/keyboards/bpiphany/four_banger/keyboard.json
+++ b/keyboards/bpiphany/four_banger/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Four Banger",
"manufacturer": "1up Keyboards",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0xFEED",
@@ -31,7 +30,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/bpiphany/frosty_flake/20130602/keyboard.json b/keyboards/bpiphany/frosty_flake/20130602/keyboard.json
index 142010c9c4..4aba74d038 100644
--- a/keyboards/bpiphany/frosty_flake/20130602/keyboard.json
+++ b/keyboards/bpiphany/frosty_flake/20130602/keyboard.json
@@ -2,7 +2,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false
diff --git a/keyboards/bpiphany/frosty_flake/20140521/keyboard.json b/keyboards/bpiphany/frosty_flake/20140521/keyboard.json
index 2ca004c24d..e1aae95566 100644
--- a/keyboards/bpiphany/frosty_flake/20140521/keyboard.json
+++ b/keyboards/bpiphany/frosty_flake/20140521/keyboard.json
@@ -2,7 +2,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false
diff --git a/keyboards/bpiphany/frosty_flake/info.json b/keyboards/bpiphany/frosty_flake/info.json
index 33a2f792d9..bfec449931 100644
--- a/keyboards/bpiphany/frosty_flake/info.json
+++ b/keyboards/bpiphany/frosty_flake/info.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Frosty Flake",
"manufacturer": "Bathroom Epiphanies",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0xFEED",
diff --git a/keyboards/bpiphany/ghost_squid/keyboard.json b/keyboards/bpiphany/ghost_squid/keyboard.json
index 85f6f0fa8e..68901ba316 100644
--- a/keyboards/bpiphany/ghost_squid/keyboard.json
+++ b/keyboards/bpiphany/ghost_squid/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Ghost Squid",
"manufacturer": "Bathroom Epiphanies",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0xFEED",
diff --git a/keyboards/bpiphany/hid_liber/keyboard.json b/keyboards/bpiphany/hid_liber/keyboard.json
index 67c8416849..2f8f3ea4ce 100644
--- a/keyboards/bpiphany/hid_liber/keyboard.json
+++ b/keyboards/bpiphany/hid_liber/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "HIDLiberation",
"manufacturer": "bpiphany",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0xFEED",
diff --git a/keyboards/bpiphany/kitten_paw/keyboard.json b/keyboards/bpiphany/kitten_paw/keyboard.json
index 829129d406..42c6cb8732 100644
--- a/keyboards/bpiphany/kitten_paw/keyboard.json
+++ b/keyboards/bpiphany/kitten_paw/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Kitten Paw",
"manufacturer": "bpiphany",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0xFEED",
diff --git a/keyboards/bpiphany/pegasushoof/info.json b/keyboards/bpiphany/pegasushoof/info.json
index 1e9e9db306..a28f68e63e 100644
--- a/keyboards/bpiphany/pegasushoof/info.json
+++ b/keyboards/bpiphany/pegasushoof/info.json
@@ -1,6 +1,5 @@
{
"manufacturer": "Filco",
- "url": "",
"maintainer": "qmk",
"features": {
"bootmagic": true,
diff --git a/keyboards/bpiphany/sixshooter/keyboard.json b/keyboards/bpiphany/sixshooter/keyboard.json
index 21e52f3629..f3d0aeeca6 100644
--- a/keyboards/bpiphany/sixshooter/keyboard.json
+++ b/keyboards/bpiphany/sixshooter/keyboard.json
@@ -13,7 +13,6 @@
"features": {
"bootmagic": false,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false
diff --git a/keyboards/bpiphany/tiger_lily/keyboard.json b/keyboards/bpiphany/tiger_lily/keyboard.json
index 118f89f39d..f260f84c71 100644
--- a/keyboards/bpiphany/tiger_lily/keyboard.json
+++ b/keyboards/bpiphany/tiger_lily/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "tiger_lily",
"manufacturer": "Bathroom Epiphanies",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0x4245",
diff --git a/keyboards/bredworks/wyvern_hs/keyboard.json b/keyboards/bredworks/wyvern_hs/keyboard.json
index 63e85496ae..87f2ef02c0 100644
--- a/keyboards/bredworks/wyvern_hs/keyboard.json
+++ b/keyboards/bredworks/wyvern_hs/keyboard.json
@@ -7,7 +7,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/bschwind/key_ripper/keyboard.json b/keyboards/bschwind/key_ripper/keyboard.json
index ee30687d4f..b4b01b30ec 100644
--- a/keyboards/bschwind/key_ripper/keyboard.json
+++ b/keyboards/bschwind/key_ripper/keyboard.json
@@ -7,7 +7,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/bt66tech/bt66tech60/keyboard.json b/keyboards/bt66tech/bt66tech60/keyboard.json
index 778e27fe67..9f747397c3 100644
--- a/keyboards/bt66tech/bt66tech60/keyboard.json
+++ b/keyboards/bt66tech/bt66tech60/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "bt66tech 60%",
"manufacturer": "bt66tech",
- "url": "",
"maintainer": "bt66tech",
"usb": {
"vid": "0x4254",
diff --git a/keyboards/bthlabs/geekpad/keyboard.json b/keyboards/bthlabs/geekpad/keyboard.json
index 43ce11edf5..9bd1a92c5b 100644
--- a/keyboards/bthlabs/geekpad/keyboard.json
+++ b/keyboards/bthlabs/geekpad/keyboard.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": false,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": false
diff --git a/keyboards/bubble75/hotswap/keyboard.json b/keyboards/bubble75/hotswap/keyboard.json
index 011ce33ec4..92f57144ce 100644
--- a/keyboards/bubble75/hotswap/keyboard.json
+++ b/keyboards/bubble75/hotswap/keyboard.json
@@ -1,6 +1,5 @@
{
"keyboard_name": "bubble75",
- "url": "",
"manufacturer": "phl",
"maintainer": "velocifire",
"usb": {
diff --git a/keyboards/budgy/keyboard.json b/keyboards/budgy/keyboard.json
index 0dc45c9da0..5397def52c 100644
--- a/keyboards/budgy/keyboard.json
+++ b/keyboards/budgy/keyboard.json
@@ -6,13 +6,11 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
},
"processor": "RP2040",
- "url": "",
"usb": {
"device_version": "1.0.0",
"pid": "0x0117",
diff --git a/keyboards/buildakb/mw60/keyboard.json b/keyboards/buildakb/mw60/keyboard.json
index 9969768345..08b917c77a 100644
--- a/keyboards/buildakb/mw60/keyboard.json
+++ b/keyboards/buildakb/mw60/keyboard.json
@@ -7,7 +7,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
@@ -17,7 +16,6 @@
"rows": ["E6", "D1", "F7", "F4", "F1"]
},
"processor": "atmega32u4",
- "url": "",
"usb": {
"device_version": "1.0.0",
"pid": "0x0004",
diff --git a/keyboards/buildakb/potato65/keyboard.json b/keyboards/buildakb/potato65/keyboard.json
index db20353142..12b175600d 100644
--- a/keyboards/buildakb/potato65/keyboard.json
+++ b/keyboards/buildakb/potato65/keyboard.json
@@ -33,7 +33,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false,
diff --git a/keyboards/buildakb/potato65hs/keyboard.json b/keyboards/buildakb/potato65hs/keyboard.json
index 9e5edd6adb..c6daaf7b6b 100644
--- a/keyboards/buildakb/potato65hs/keyboard.json
+++ b/keyboards/buildakb/potato65hs/keyboard.json
@@ -33,7 +33,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/buildakb/potato65s/keyboard.json b/keyboards/buildakb/potato65s/keyboard.json
index 8dd9b6cc53..a85bbd1000 100644
--- a/keyboards/buildakb/potato65s/keyboard.json
+++ b/keyboards/buildakb/potato65s/keyboard.json
@@ -33,7 +33,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/butterkeebs/pocketpad/keyboard.json b/keyboards/butterkeebs/pocketpad/keyboard.json
index 0b42d5fb17..a36cab3cbe 100644
--- a/keyboards/butterkeebs/pocketpad/keyboard.json
+++ b/keyboards/butterkeebs/pocketpad/keyboard.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/cablecardesigns/cypher/rev6/keyboard.json b/keyboards/cablecardesigns/cypher/rev6/keyboard.json
index 644f2f1aa6..71891cdb53 100644
--- a/keyboards/cablecardesigns/cypher/rev6/keyboard.json
+++ b/keyboards/cablecardesigns/cypher/rev6/keyboard.json
@@ -12,7 +12,6 @@
"backlight": true,
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/cablecardesigns/phoenix/keyboard.json b/keyboards/cablecardesigns/phoenix/keyboard.json
index 0d2ea10ad6..753b706746 100755
--- a/keyboards/cablecardesigns/phoenix/keyboard.json
+++ b/keyboards/cablecardesigns/phoenix/keyboard.json
@@ -7,7 +7,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/caffeinated/serpent65/keyboard.json b/keyboards/caffeinated/serpent65/keyboard.json
index add4854720..55a9f27dcc 100644
--- a/keyboards/caffeinated/serpent65/keyboard.json
+++ b/keyboards/caffeinated/serpent65/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Serpent65",
"manufacturer": "Caffeinated Studios",
- "url": "",
"maintainer": "jrfhoutx",
"usb": {
"vid": "0x4353",
@@ -11,7 +10,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": true
diff --git a/keyboards/canary/canary60rgb/v1/keyboard.json b/keyboards/canary/canary60rgb/v1/keyboard.json
index ac1ba67de0..474460d5b5 100644
--- a/keyboards/canary/canary60rgb/v1/keyboard.json
+++ b/keyboards/canary/canary60rgb/v1/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "CANARY60RGB",
"manufacturer": "CANARY",
- "url": "",
"maintainer": "tuananhnguyen204",
"usb": {
"vid": "0x4341",
@@ -14,7 +13,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": true,
diff --git a/keyboards/cannonkeys/adelie/keyboard.json b/keyboards/cannonkeys/adelie/keyboard.json
index 6b36af3082..1f30a3c41c 100644
--- a/keyboards/cannonkeys/adelie/keyboard.json
+++ b/keyboards/cannonkeys/adelie/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Adelie",
"manufacturer": "Abec13",
- "url": "",
"maintainer": "Abec13",
"usb": {
"vid": "0xCA04",
@@ -32,7 +31,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": false,
diff --git a/keyboards/cannonkeys/atlas_alps/keyboard.json b/keyboards/cannonkeys/atlas_alps/keyboard.json
index 39bfa968b9..7179ea2fcc 100644
--- a/keyboards/cannonkeys/atlas_alps/keyboard.json
+++ b/keyboards/cannonkeys/atlas_alps/keyboard.json
@@ -33,7 +33,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/cannonkeys/bakeneko60_iso_hs/keyboard.json b/keyboards/cannonkeys/bakeneko60_iso_hs/keyboard.json
index cba8980b9d..858db3c20f 100644
--- a/keyboards/cannonkeys/bakeneko60_iso_hs/keyboard.json
+++ b/keyboards/cannonkeys/bakeneko60_iso_hs/keyboard.json
@@ -17,7 +17,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/cannonkeys/bakeneko65_iso_hs/keyboard.json b/keyboards/cannonkeys/bakeneko65_iso_hs/keyboard.json
index c8ef323906..f0ab41a0b9 100644
--- a/keyboards/cannonkeys/bakeneko65_iso_hs/keyboard.json
+++ b/keyboards/cannonkeys/bakeneko65_iso_hs/keyboard.json
@@ -16,7 +16,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/cannonkeys/bastion60/keyboard.json b/keyboards/cannonkeys/bastion60/keyboard.json
index 26cf507984..ddc3513434 100644
--- a/keyboards/cannonkeys/bastion60/keyboard.json
+++ b/keyboards/cannonkeys/bastion60/keyboard.json
@@ -14,7 +14,6 @@
"backlight": true,
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/cannonkeys/bastion65/keyboard.json b/keyboards/cannonkeys/bastion65/keyboard.json
index dd7dd4516e..936b23c396 100644
--- a/keyboards/cannonkeys/bastion65/keyboard.json
+++ b/keyboards/cannonkeys/bastion65/keyboard.json
@@ -14,7 +14,6 @@
"backlight": true,
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/cannonkeys/bastion75/keyboard.json b/keyboards/cannonkeys/bastion75/keyboard.json
index 276cc03c51..fcaecbdb60 100644
--- a/keyboards/cannonkeys/bastion75/keyboard.json
+++ b/keyboards/cannonkeys/bastion75/keyboard.json
@@ -18,7 +18,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/cannonkeys/bastiontkl/keyboard.json b/keyboards/cannonkeys/bastiontkl/keyboard.json
index 72733b3d8f..71c12d4e88 100644
--- a/keyboards/cannonkeys/bastiontkl/keyboard.json
+++ b/keyboards/cannonkeys/bastiontkl/keyboard.json
@@ -7,7 +7,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/cannonkeys/brutalv2_1800/keyboard.json b/keyboards/cannonkeys/brutalv2_1800/keyboard.json
index 13f1b12733..2a0c5deb52 100644
--- a/keyboards/cannonkeys/brutalv2_1800/keyboard.json
+++ b/keyboards/cannonkeys/brutalv2_1800/keyboard.json
@@ -18,7 +18,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/cannonkeys/caerdroia/keyboard.json b/keyboards/cannonkeys/caerdroia/keyboard.json
index 4b5baf21dd..dcea5e06be 100644
--- a/keyboards/cannonkeys/caerdroia/keyboard.json
+++ b/keyboards/cannonkeys/caerdroia/keyboard.json
@@ -18,7 +18,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/cannonkeys/chimera65_hs/keyboard.json b/keyboards/cannonkeys/chimera65_hs/keyboard.json
index a126a007b5..5792251916 100644
--- a/keyboards/cannonkeys/chimera65_hs/keyboard.json
+++ b/keyboards/cannonkeys/chimera65_hs/keyboard.json
@@ -20,7 +20,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/cannonkeys/ellipse/keyboard.json b/keyboards/cannonkeys/ellipse/keyboard.json
index c7e37befbd..4bc159617e 100644
--- a/keyboards/cannonkeys/ellipse/keyboard.json
+++ b/keyboards/cannonkeys/ellipse/keyboard.json
@@ -7,7 +7,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/cannonkeys/ellipse_hs/keyboard.json b/keyboards/cannonkeys/ellipse_hs/keyboard.json
index da79dea27a..52b7a4a918 100644
--- a/keyboards/cannonkeys/ellipse_hs/keyboard.json
+++ b/keyboards/cannonkeys/ellipse_hs/keyboard.json
@@ -7,7 +7,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/cannonkeys/leviatan/keyboard.json b/keyboards/cannonkeys/leviatan/keyboard.json
index c929447e89..880d30c1e3 100644
--- a/keyboards/cannonkeys/leviatan/keyboard.json
+++ b/keyboards/cannonkeys/leviatan/keyboard.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/cannonkeys/lib/satisfaction75/satisfaction_core.c b/keyboards/cannonkeys/lib/satisfaction75/satisfaction_core.c
index 6f76582e4b..a410480d7d 100644
--- a/keyboards/cannonkeys/lib/satisfaction75/satisfaction_core.c
+++ b/keyboards/cannonkeys/lib/satisfaction75/satisfaction_core.c
@@ -53,10 +53,26 @@ void board_init(void) {
SYSCFG->CFGR1 &= ~(SYSCFG_CFGR1_SPI2_DMA_RMP);
}
+uint32_t read_custom_config(void *data, uint32_t offset, uint32_t length) {
+#ifdef VIA_ENABLE
+ return via_read_custom_config(data, offset, length);
+#else
+ return eeconfig_read_kb_datablock(data, offset, length);
+#endif
+}
+
+uint32_t write_custom_config(const void *data, uint32_t offset, uint32_t length) {
+#ifdef VIA_ENABLE
+ return via_update_custom_config(data, offset, length);
+#else
+ return eeconfig_update_kb_datablock(data, offset, length);
+#endif
+}
+
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.
+ 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.
*/
@@ -74,11 +90,11 @@ void keyboard_post_init_kb(void) {
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]);
+ write_custom_config(&value_data[0], EEPROM_DEFAULT_OLED_OFFSET, 1);
break;
}
case id_oled_mode:
@@ -92,7 +108,7 @@ void custom_set_value(uint8_t *data) {
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);
+ write_custom_config(&enabled_encoder_modes, EEPROM_ENABLED_ENCODER_MODES_OFFSET, 1);
break;
}
case id_encoder_custom:
@@ -109,11 +125,12 @@ void custom_set_value(uint8_t *data) {
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);
+ uint8_t default_oled;
+ read_custom_config(&default_oled, EEPROM_DEFAULT_OLED_OFFSET, 1);
value_data[0] = default_oled;
break;
}
@@ -179,7 +196,6 @@ void via_custom_value_command_kb(uint8_t *data, uint8_t length) {
}
#endif
-
void read_host_led_state(void) {
led_t led_state = host_keyboard_led_state();
if (led_state.num_lock) {
@@ -290,25 +306,25 @@ bool encoder_update_kb(uint8_t index, bool clockwise) {
}
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;
+ for(int i = 0; i < VIA_EEPROM_CUSTOM_CONFIG_SIZE; ++i) {
+ uint8_t dummy = 0;
+ write_custom_config(&dummy, i, 1);
}
- eeprom_update_byte((uint8_t*)EEPROM_ENABLED_ENCODER_MODES, 0x1F);
+
+ uint8_t encoder_modes = 0x1F;
+ write_custom_config(&encoder_modes, EEPROM_ENABLED_ENCODER_MODES_OFFSET, 1);
}
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);
+ read_custom_config(&oled_mode, EEPROM_DEFAULT_OLED_OFFSET, 1);
+ read_custom_config(&enabled_encoder_modes, EEPROM_ENABLED_ENCODER_MODES_OFFSET, 1);
#endif
}
// Called from via_init() if VIA_ENABLE
// Called from matrix_init_kb() if not VIA_ENABLE
-void via_init_kb(void)
+void satisfaction_core_init(void)
{
// This checks both an EEPROM reset (from bootmagic lite, keycodes)
// and also firmware build date (from via_eeprom_is_valid())
@@ -326,8 +342,7 @@ void via_init_kb(void)
void matrix_init_kb(void)
{
#ifndef VIA_ENABLE
- via_init_kb();
- via_eeprom_set_valid(true);
+ satisfaction_core_init();
#endif // VIA_ENABLE
rtcGetTime(&RTCD1, &last_timespec);
@@ -335,6 +350,11 @@ void matrix_init_kb(void)
oled_request_wakeup();
}
+#ifdef VIA_ENABLE
+void via_init_kb(void) {
+ satisfaction_core_init();
+}
+#endif // VIA_ENABLE
void housekeeping_task_kb(void) {
rtcGetTime(&RTCD1, &last_timespec);
@@ -345,52 +365,3 @@ void housekeeping_task_kb(void) {
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
index 70ee2a3fda..163aa27fad 100644
--- a/keyboards/cannonkeys/lib/satisfaction75/satisfaction_core.h
+++ b/keyboards/cannonkeys/lib/satisfaction75/satisfaction_core.h
@@ -6,12 +6,14 @@
#include <stdint.h>
#include <stdbool.h>
+#include <hal.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)
+#define EEPROM_ENABLED_ENCODER_MODES_OFFSET 0
+#define EEPROM_DEFAULT_OLED_OFFSET 1
+#define EEPROM_CUSTOM_ENCODER_OFFSET 2
enum s75_keyboard_value_id {
id_encoder_modes = 1,
@@ -94,3 +96,6 @@ void oled_request_repaint(void);
bool oled_task_needs_to_repaint(void);
void custom_config_load(void);
+
+uint32_t read_custom_config(void *data, uint32_t offset, uint32_t length);
+uint32_t write_custom_config(const void *data, uint32_t offset, uint32_t length);
diff --git a/keyboards/cannonkeys/lib/satisfaction75/satisfaction_encoder.c b/keyboards/cannonkeys/lib/satisfaction75/satisfaction_encoder.c
index 7e0b82e9e7..87ff87ea66 100644
--- a/keyboards/cannonkeys/lib/satisfaction75/satisfaction_encoder.c
+++ b/keyboards/cannonkeys/lib/satisfaction75/satisfaction_encoder.c
@@ -215,10 +215,13 @@ uint16_t handle_encoder_press(void){
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));
+ uint32_t offset = EEPROM_CUSTOM_ENCODER_OFFSET + (encoder_idx * 6) + (behavior * 2);
//big endian
- uint16_t keycode = eeprom_read_byte(addr) << 8;
- keycode |= eeprom_read_byte(addr + 1);
+ uint8_t hi, lo;
+ read_custom_config(&hi, offset+0, 1);
+ read_custom_config(&lo, offset+1, 1);
+ uint16_t keycode = hi << 8;
+ keycode |= lo;
return keycode;
#else
return 0;
@@ -227,8 +230,10 @@ 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){
#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));
+ uint32_t offset = EEPROM_CUSTOM_ENCODER_OFFSET + (encoder_idx * 6) + (behavior * 2);
+ uint8_t hi = new_code >> 8;
+ uint8_t lo = new_code & 0xFF;
+ write_custom_config(&hi, offset+0, 1);
+ write_custom_config(&lo, offset+1, 1);
#endif
}
diff --git a/keyboards/cannonkeys/lib/satisfaction75/satisfaction_oled.c b/keyboards/cannonkeys/lib/satisfaction75/satisfaction_oled.c
index 0361453c52..815e84901d 100644
--- a/keyboards/cannonkeys/lib/satisfaction75/satisfaction_oled.c
+++ b/keyboards/cannonkeys/lib/satisfaction75/satisfaction_oled.c
@@ -8,7 +8,6 @@
#include "matrix.h"
#include "led.h"
#include "host.h"
-#include "oled_driver.h"
#include "progmem.h"
#include <stdio.h>
@@ -16,6 +15,7 @@ void draw_default(void);
void draw_clock(void);
#ifdef OLED_ENABLE
+#include "oled_driver.h"
oled_rotation_t oled_init_kb(oled_rotation_t rotation) { return OLED_ROTATION_0; }
diff --git a/keyboards/cannonkeys/meetuppad2023/keyboard.json b/keyboards/cannonkeys/meetuppad2023/keyboard.json
index e55d4361d8..f43892a949 100644
--- a/keyboards/cannonkeys/meetuppad2023/keyboard.json
+++ b/keyboards/cannonkeys/meetuppad2023/keyboard.json
@@ -7,7 +7,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/cannonkeys/moment/keyboard.json b/keyboards/cannonkeys/moment/keyboard.json
index 4aec3c9c06..aa718a6c72 100644
--- a/keyboards/cannonkeys/moment/keyboard.json
+++ b/keyboards/cannonkeys/moment/keyboard.json
@@ -7,7 +7,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/cannonkeys/moment_hs/keyboard.json b/keyboards/cannonkeys/moment_hs/keyboard.json
index dc1f650322..4729376080 100644
--- a/keyboards/cannonkeys/moment_hs/keyboard.json
+++ b/keyboards/cannonkeys/moment_hs/keyboard.json
@@ -7,7 +7,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/cannonkeys/nearfield/keyboard.json b/keyboards/cannonkeys/nearfield/keyboard.json
index e516198f09..0afc36ced0 100644
--- a/keyboards/cannonkeys/nearfield/keyboard.json
+++ b/keyboards/cannonkeys/nearfield/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Nearfield",
"manufacturer": "JLC",
- "url": "",
"maintainer": "tominabox1",
"usb": {
"vid": "0x0004",
@@ -11,7 +10,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/cannonkeys/ortho48/keyboard.json b/keyboards/cannonkeys/ortho48/keyboard.json
index 2e045c183e..34f295fcd3 100644
--- a/keyboards/cannonkeys/ortho48/keyboard.json
+++ b/keyboards/cannonkeys/ortho48/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Ortho48",
"manufacturer": "CannonKeys",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0xCA04",
diff --git a/keyboards/cannonkeys/ortho48v2/keyboard.json b/keyboards/cannonkeys/ortho48v2/keyboard.json
index 4ead7db042..607b687e05 100644
--- a/keyboards/cannonkeys/ortho48v2/keyboard.json
+++ b/keyboards/cannonkeys/ortho48v2/keyboard.json
@@ -18,7 +18,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/cannonkeys/ortho60/keyboard.json b/keyboards/cannonkeys/ortho60/keyboard.json
index 2e8ad77297..874dc9efae 100644
--- a/keyboards/cannonkeys/ortho60/keyboard.json
+++ b/keyboards/cannonkeys/ortho60/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Ortho60",
"manufacturer": "CannonKeys",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0xCA04",
diff --git a/keyboards/cannonkeys/ortho60v2/keyboard.json b/keyboards/cannonkeys/ortho60v2/keyboard.json
index 360c98bff9..be60c49d37 100644
--- a/keyboards/cannonkeys/ortho60v2/keyboard.json
+++ b/keyboards/cannonkeys/ortho60v2/keyboard.json
@@ -18,7 +18,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/cannonkeys/ortho75/keyboard.json b/keyboards/cannonkeys/ortho75/keyboard.json
index af09fd47a7..e46b255b79 100644
--- a/keyboards/cannonkeys/ortho75/keyboard.json
+++ b/keyboards/cannonkeys/ortho75/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Ortho75",
"manufacturer": "CannonKeys",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0xFEED",
diff --git a/keyboards/cannonkeys/petrichor/keyboard.json b/keyboards/cannonkeys/petrichor/keyboard.json
index ecec61e7cf..16e03eacb6 100644
--- a/keyboards/cannonkeys/petrichor/keyboard.json
+++ b/keyboards/cannonkeys/petrichor/keyboard.json
@@ -7,7 +7,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/cannonkeys/practice60/keyboard.json b/keyboards/cannonkeys/practice60/keyboard.json
index ad8cde6d6b..9cd29cb2c5 100644
--- a/keyboards/cannonkeys/practice60/keyboard.json
+++ b/keyboards/cannonkeys/practice60/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Practice 60",
"manufacturer": "CannonKeys",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0xCA04",
diff --git a/keyboards/cannonkeys/reverie/info.json b/keyboards/cannonkeys/reverie/info.json
index 1e2a885781..793365bb60 100644
--- a/keyboards/cannonkeys/reverie/info.json
+++ b/keyboards/cannonkeys/reverie/info.json
@@ -6,7 +6,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/cannonkeys/ripple/keyboard.json b/keyboards/cannonkeys/ripple/keyboard.json
index 3dc11719a1..605b180847 100644
--- a/keyboards/cannonkeys/ripple/keyboard.json
+++ b/keyboards/cannonkeys/ripple/keyboard.json
@@ -16,7 +16,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
@@ -36,8 +35,6 @@
"rgblight": {
"led_count": 20,
"hue_steps": 17,
- "saturation_steps": 17,
- "brightness_steps": 17,
"animations": {
"static_gradient": true,
"twinkle": true,
diff --git a/keyboards/cannonkeys/ripple_hs/keyboard.json b/keyboards/cannonkeys/ripple_hs/keyboard.json
index 7892acc6c6..55a47524a3 100644
--- a/keyboards/cannonkeys/ripple_hs/keyboard.json
+++ b/keyboards/cannonkeys/ripple_hs/keyboard.json
@@ -16,7 +16,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/cannonkeys/satisfaction75/config.h b/keyboards/cannonkeys/satisfaction75/config.h
index 969206b19a..28bc6b286a 100644
--- a/keyboards/cannonkeys/satisfaction75/config.h
+++ b/keyboards/cannonkeys/satisfaction75/config.h
@@ -42,4 +42,7 @@
// 6 for 3x custom encoder settings, left, right, and press (18 bytes)
#define VIA_EEPROM_CUSTOM_CONFIG_SIZE 20
-
+// And if VIA isn't enabled, fall back to using standard QMK for configuration
+#ifndef VIA_ENABLE
+#define EECONFIG_KB_DATA_SIZE VIA_EEPROM_CUSTOM_CONFIG_SIZE
+#endif
diff --git a/keyboards/cannonkeys/satisfaction75/info.json b/keyboards/cannonkeys/satisfaction75/info.json
index 96aeca80ee..a5d21c9384 100644
--- a/keyboards/cannonkeys/satisfaction75/info.json
+++ b/keyboards/cannonkeys/satisfaction75/info.json
@@ -12,7 +12,6 @@
"backlight": true,
"bootmagic": true,
"command": false,
- "console": false,
"encoder": true,
"extrakey": true,
"mousekey": true,
diff --git a/keyboards/cannonkeys/satisfaction75_hs/config.h b/keyboards/cannonkeys/satisfaction75_hs/config.h
index 658babd3c0..26c3e4080c 100644
--- a/keyboards/cannonkeys/satisfaction75_hs/config.h
+++ b/keyboards/cannonkeys/satisfaction75_hs/config.h
@@ -40,5 +40,10 @@
// 6 for 3x custom encoder settings, left, right, and press (18 bytes)
#define VIA_EEPROM_CUSTOM_CONFIG_SIZE 20
+// And if VIA isn't enabled, fall back to using standard QMK for configuration
+#ifndef VIA_ENABLE
+#define EECONFIG_KB_DATA_SIZE VIA_EEPROM_CUSTOM_CONFIG_SIZE
+#endif
+
// VIA lighting is handled by the keyboard-level code
#define VIA_CUSTOM_LIGHTING_ENABLE
diff --git a/keyboards/cannonkeys/savage65/keyboard.json b/keyboards/cannonkeys/savage65/keyboard.json
index bc9c1d77e5..471b785633 100644
--- a/keyboards/cannonkeys/savage65/keyboard.json
+++ b/keyboards/cannonkeys/savage65/keyboard.json
@@ -1,63 +1,63 @@
{
- "keyboard_name": "Savage65",
"manufacturer": "CannonKeys",
- "url": "https://cannonkeys.com",
+ "keyboard_name": "Savage65",
"maintainer": "awkannan",
- "usb": {
- "vid": "0xCA04",
- "pid": "0x5A65",
- "device_version": "0.0.1"
+ "backlight": {
+ "breathing": true,
+ "levels": 6,
+ "pin": "A6"
+ },
+ "bootloader": "stm32-dfu",
+ "diode_direction": "COL2ROW",
+ "features": {
+ "backlight": true,
+ "bootmagic": true,
+ "command": true,
+ "console": true,
+ "extrakey": true,
+ "mousekey": true,
+ "nkro": true,
+ "rgblight": true
},
"matrix_pins": {
"cols": ["A5", "B10", "A3", "A2", "B0", "A9", "C13", "B9", "B8", "B7", "B6", "B5", "B4", "B3", "A15", "A14"],
"rows": ["B12", "B11", "B14", "A8", "A1"]
},
- "diode_direction": "COL2ROW",
- "backlight": {
- "pin": "A6",
- "levels": 6,
- "breathing": true
+ "processor": "STM32F072",
+ "qmk": {
+ "locking": {
+ "enabled": true,
+ "resync": true
+ }
},
"rgblight": {
- "led_count": 20,
"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": "B15",
- "driver": "spi"
+ },
+ "led_count": 20
},
- "processor": "STM32F072",
- "bootloader": "stm32-dfu",
- "features": {
- "bootmagic": true,
- "mousekey": true,
- "extrakey": true,
- "console": true,
- "command": true,
- "nkro": true,
- "backlight": true,
- "rgblight": true
+ "url": "https://cannonkeys.com",
+ "usb": {
+ "device_version": "0.0.1",
+ "pid": "0x5A65",
+ "vid": "0xCA04"
},
- "qmk": {
- "locking": {
- "enabled": true,
- "resync": true
- }
+ "ws2812": {
+ "driver": "spi",
+ "pin": "B15"
},
- "community_layouts": ["65_ansi_blocker", "65_ansi_blocker_split_bs", "65_ansi_blocker_tsangan", "65_iso_blocker"],
+ "community_layouts": ["65_ansi_blocker", "65_ansi_blocker_split_bs", "65_ansi_blocker_tsangan", "65_ansi_blocker_tsangan_split_bs", "65_iso_blocker"],
"layouts": {
- "LAYOUT_default": {
+ "LAYOUT_65_ansi_blocker": {
"layout": [
{"matrix": [0, 0], "x": 0, "y": 0},
{"matrix": [0, 1], "x": 1, "y": 0},
@@ -72,10 +72,8 @@
{"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": [0, 14], "x": 14, "y": 0},
+ {"matrix": [0, 13], "x": 13, "y": 0, "w": 2},
{"matrix": [0, 15], "x": 15, "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},
@@ -91,7 +89,6 @@
{"matrix": [1, 12], "x": 12.5, "y": 1},
{"matrix": [1, 13], "x": 13.5, "y": 1, "w": 1.5},
{"matrix": [1, 15], "x": 15, "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},
@@ -104,12 +101,9 @@
{"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": 2, "w": 1.25},
+ {"matrix": [2, 13], "x": 12.75, "y": 2, "w": 2.25},
{"matrix": [2, 15], "x": 15, "y": 2},
-
- {"matrix": [3, 0], "x": 0, "y": 3, "w": 1.25},
- {"matrix": [3, 1], "x": 1.25, "y": 3},
+ {"matrix": [3, 0], "x": 0, "y": 3, "w": 2.25},
{"matrix": [3, 2], "x": 2.25, "y": 3},
{"matrix": [3, 3], "x": 3.25, "y": 3},
{"matrix": [3, 4], "x": 4.25, "y": 3},
@@ -123,7 +117,6 @@
{"matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75},
{"matrix": [3, 13], "x": 14, "y": 3},
{"matrix": [3, 15], "x": 15, "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},
@@ -135,7 +128,7 @@
{"matrix": [4, 15], "x": 15, "y": 4}
]
},
- "LAYOUT_65_ansi_blocker": {
+ "LAYOUT_65_ansi_blocker_split_bs": {
"layout": [
{"matrix": [0, 0], "x": 0, "y": 0},
{"matrix": [0, 1], "x": 1, "y": 0},
@@ -150,9 +143,9 @@
{"matrix": [0, 10], "x": 10, "y": 0},
{"matrix": [0, 11], "x": 11, "y": 0},
{"matrix": [0, 12], "x": 12, "y": 0},
- {"matrix": [0, 13], "x": 13, "y": 0, "w": 2},
+ {"matrix": [0, 13], "x": 13, "y": 0},
+ {"matrix": [0, 14], "x": 14, "y": 0},
{"matrix": [0, 15], "x": 15, "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},
@@ -168,7 +161,6 @@
{"matrix": [1, 12], "x": 12.5, "y": 1},
{"matrix": [1, 13], "x": 13.5, "y": 1, "w": 1.5},
{"matrix": [1, 15], "x": 15, "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},
@@ -183,7 +175,6 @@
{"matrix": [2, 11], "x": 11.75, "y": 2},
{"matrix": [2, 13], "x": 12.75, "y": 2, "w": 2.25},
{"matrix": [2, 15], "x": 15, "y": 2},
-
{"matrix": [3, 0], "x": 0, "y": 3, "w": 2.25},
{"matrix": [3, 2], "x": 2.25, "y": 3},
{"matrix": [3, 3], "x": 3.25, "y": 3},
@@ -198,7 +189,6 @@
{"matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75},
{"matrix": [3, 13], "x": 14, "y": 3},
{"matrix": [3, 15], "x": 15, "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},
@@ -210,7 +200,7 @@
{"matrix": [4, 15], "x": 15, "y": 4}
]
},
- "LAYOUT_65_ansi_blocker_split_bs": {
+ "LAYOUT_65_ansi_blocker_tsangan": {
"layout": [
{"matrix": [0, 0], "x": 0, "y": 0},
{"matrix": [0, 1], "x": 1, "y": 0},
@@ -225,10 +215,8 @@
{"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": [0, 14], "x": 14, "y": 0},
+ {"matrix": [0, 13], "x": 13, "y": 0, "w": 2},
{"matrix": [0, 15], "x": 15, "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},
@@ -244,7 +232,6 @@
{"matrix": [1, 12], "x": 12.5, "y": 1},
{"matrix": [1, 13], "x": 13.5, "y": 1, "w": 1.5},
{"matrix": [1, 15], "x": 15, "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},
@@ -259,7 +246,6 @@
{"matrix": [2, 11], "x": 11.75, "y": 2},
{"matrix": [2, 13], "x": 12.75, "y": 2, "w": 2.25},
{"matrix": [2, 15], "x": 15, "y": 2},
-
{"matrix": [3, 0], "x": 0, "y": 3, "w": 2.25},
{"matrix": [3, 2], "x": 2.25, "y": 3},
{"matrix": [3, 3], "x": 3.25, "y": 3},
@@ -274,19 +260,17 @@
{"matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75},
{"matrix": [3, 13], "x": 14, "y": 3},
{"matrix": [3, 15], "x": 15, "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},
- {"matrix": [4, 6], "x": 3.75, "y": 4, "w": 6.25},
- {"matrix": [4, 10], "x": 10, "y": 4, "w": 1.25},
- {"matrix": [4, 11], "x": 11.25, "y": 4, "w": 1.25},
+ {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.5},
+ {"matrix": [4, 1], "x": 1.5, "y": 4},
+ {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.5},
+ {"matrix": [4, 6], "x": 4, "y": 4, "w": 7},
+ {"matrix": [4, 11], "x": 11, "y": 4, "w": 1.5},
{"matrix": [4, 12], "x": 13, "y": 4},
{"matrix": [4, 13], "x": 14, "y": 4},
{"matrix": [4, 15], "x": 15, "y": 4}
]
},
- "LAYOUT_65_ansi_blocker_tsangan": {
+ "LAYOUT_65_ansi_blocker_tsangan_split_bs": {
"layout": [
{"matrix": [0, 0], "x": 0, "y": 0},
{"matrix": [0, 1], "x": 1, "y": 0},
@@ -301,9 +285,9 @@
{"matrix": [0, 10], "x": 10, "y": 0},
{"matrix": [0, 11], "x": 11, "y": 0},
{"matrix": [0, 12], "x": 12, "y": 0},
- {"matrix": [0, 13], "x": 13, "y": 0, "w": 2},
+ {"matrix": [0, 13], "x": 13, "y": 0},
+ {"matrix": [0, 14], "x": 14, "y": 0},
{"matrix": [0, 15], "x": 15, "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},
@@ -319,7 +303,6 @@
{"matrix": [1, 12], "x": 12.5, "y": 1},
{"matrix": [1, 13], "x": 13.5, "y": 1, "w": 1.5},
{"matrix": [1, 15], "x": 15, "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},
@@ -334,7 +317,6 @@
{"matrix": [2, 11], "x": 11.75, "y": 2},
{"matrix": [2, 13], "x": 12.75, "y": 2, "w": 2.25},
{"matrix": [2, 15], "x": 15, "y": 2},
-
{"matrix": [3, 0], "x": 0, "y": 3, "w": 2.25},
{"matrix": [3, 2], "x": 2.25, "y": 3},
{"matrix": [3, 3], "x": 3.25, "y": 3},
@@ -349,7 +331,6 @@
{"matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75},
{"matrix": [3, 13], "x": 14, "y": 3},
{"matrix": [3, 15], "x": 15, "y": 3},
-
{"matrix": [4, 0], "x": 0, "y": 4, "w": 1.5},
{"matrix": [4, 1], "x": 1.5, "y": 4},
{"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.5},
@@ -377,7 +358,6 @@
{"matrix": [0, 12], "x": 12, "y": 0},
{"matrix": [0, 13], "x": 13, "y": 0, "w": 2},
{"matrix": [0, 15], "x": 15, "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},
@@ -392,7 +372,6 @@
{"matrix": [1, 11], "x": 11.5, "y": 1},
{"matrix": [1, 12], "x": 12.5, "y": 1},
{"matrix": [1, 15], "x": 15, "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},
@@ -408,7 +387,6 @@
{"matrix": [2, 12], "x": 12.75, "y": 2},
{"matrix": [2, 13], "x": 13.75, "y": 1, "w": 1.25, "h": 2},
{"matrix": [2, 15], "x": 15, "y": 2},
-
{"matrix": [3, 0], "x": 0, "y": 3, "w": 1.25},
{"matrix": [3, 1], "x": 1.25, "y": 3},
{"matrix": [3, 2], "x": 2.25, "y": 3},
@@ -424,7 +402,80 @@
{"matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75},
{"matrix": [3, 13], "x": 14, "y": 3},
{"matrix": [3, 15], "x": 15, "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},
+ {"matrix": [4, 6], "x": 3.75, "y": 4, "w": 6.25},
+ {"matrix": [4, 10], "x": 10, "y": 4, "w": 1.25},
+ {"matrix": [4, 11], "x": 11.25, "y": 4, "w": 1.25},
+ {"matrix": [4, 12], "x": 13, "y": 4},
+ {"matrix": [4, 13], "x": 14, "y": 4},
+ {"matrix": [4, 15], "x": 15, "y": 4}
+ ]
+ },
+ "LAYOUT_default": {
+ "layout": [
+ {"matrix": [0, 0], "x": 0, "y": 0},
+ {"matrix": [0, 1], "x": 1, "y": 0},
+ {"matrix": [0, 2], "x": 2, "y": 0},
+ {"matrix": [0, 3], "x": 3, "y": 0},
+ {"matrix": [0, 4], "x": 4, "y": 0},
+ {"matrix": [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": [0, 14], "x": 14, "y": 0},
+ {"matrix": [0, 15], "x": 15, "y": 0},
+ {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5},
+ {"matrix": [1, 1], "x": 1.5, "y": 1},
+ {"matrix": [1, 2], "x": 2.5, "y": 1},
+ {"matrix": [1, 3], "x": 3.5, "y": 1},
+ {"matrix": [1, 4], "x": 4.5, "y": 1},
+ {"matrix": [1, 5], "x": 5.5, "y": 1},
+ {"matrix": [1, 6], "x": 6.5, "y": 1},
+ {"matrix": [1, 7], "x": 7.5, "y": 1},
+ {"matrix": [1, 8], "x": 8.5, "y": 1},
+ {"matrix": [1, 9], "x": 9.5, "y": 1},
+ {"matrix": [1, 10], "x": 10.5, "y": 1},
+ {"matrix": [1, 11], "x": 11.5, "y": 1},
+ {"matrix": [1, 12], "x": 12.5, "y": 1},
+ {"matrix": [1, 13], "x": 13.5, "y": 1, "w": 1.5},
+ {"matrix": [1, 15], "x": 15, "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": 2, "w": 1.25},
+ {"matrix": [2, 15], "x": 15, "y": 2},
+ {"matrix": [3, 0], "x": 0, "y": 3, "w": 1.25},
+ {"matrix": [3, 1], "x": 1.25, "y": 3},
+ {"matrix": [3, 2], "x": 2.25, "y": 3},
+ {"matrix": [3, 3], "x": 3.25, "y": 3},
+ {"matrix": [3, 4], "x": 4.25, "y": 3},
+ {"matrix": [3, 5], "x": 5.25, "y": 3},
+ {"matrix": [3, 6], "x": 6.25, "y": 3},
+ {"matrix": [3, 7], "x": 7.25, "y": 3},
+ {"matrix": [3, 8], "x": 8.25, "y": 3},
+ {"matrix": [3, 9], "x": 9.25, "y": 3},
+ {"matrix": [3, 10], "x": 10.25, "y": 3},
+ {"matrix": [3, 11], "x": 11.25, "y": 3},
+ {"matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75},
+ {"matrix": [3, 13], "x": 14, "y": 3},
+ {"matrix": [3, 15], "x": 15, "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},
diff --git a/keyboards/cannonkeys/serenity/keyboard.json b/keyboards/cannonkeys/serenity/keyboard.json
index 3259baaca9..ad972da149 100644
--- a/keyboards/cannonkeys/serenity/keyboard.json
+++ b/keyboards/cannonkeys/serenity/keyboard.json
@@ -14,7 +14,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/cannonkeys/typeb/keyboard.json b/keyboards/cannonkeys/typeb/keyboard.json
index 1f16991205..ef89d38caf 100644
--- a/keyboards/cannonkeys/typeb/keyboard.json
+++ b/keyboards/cannonkeys/typeb/keyboard.json
@@ -18,7 +18,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/cannonkeys/vector/keyboard.json b/keyboards/cannonkeys/vector/keyboard.json
index 46fc0b4578..b0481ea474 100644
--- a/keyboards/cannonkeys/vector/keyboard.json
+++ b/keyboards/cannonkeys/vector/keyboard.json
@@ -7,7 +7,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
@@ -21,7 +20,6 @@
"on_state": 0
},
"processor": "STM32F072",
- "url": "",
"usb": {
"device_version": "1.0.0",
"vid": "0xCA04",
diff --git a/keyboards/cannonkeys/vida/info.json b/keyboards/cannonkeys/vida/info.json
index 8a5ddfe8bd..d3a4f01aa4 100644
--- a/keyboards/cannonkeys/vida/info.json
+++ b/keyboards/cannonkeys/vida/info.json
@@ -6,7 +6,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/cantor/keyboard.json b/keyboards/cantor/keyboard.json
index 26b79c0280..5df6f972ee 100644
--- a/keyboards/cantor/keyboard.json
+++ b/keyboards/cantor/keyboard.json
@@ -5,7 +5,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/capsunlocked/cu24/keyboard.json b/keyboards/capsunlocked/cu24/keyboard.json
index ceec64611c..0d393d1d8d 100644
--- a/keyboards/capsunlocked/cu24/keyboard.json
+++ b/keyboards/capsunlocked/cu24/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "CU24",
"manufacturer": "Yiancar/CapsUnlocked",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0xFEED",
@@ -12,7 +11,6 @@
"backlight": true,
"bootmagic": false,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/capsunlocked/cu65/keyboard.json b/keyboards/capsunlocked/cu65/keyboard.json
index 80f1149661..dbb4f35fb2 100644
--- a/keyboards/capsunlocked/cu65/keyboard.json
+++ b/keyboards/capsunlocked/cu65/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "CU65",
"manufacturer": "CapsUnlocked",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0x4355",
@@ -11,7 +10,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false
diff --git a/keyboards/capsunlocked/cu7/keyboard.json b/keyboards/capsunlocked/cu7/keyboard.json
index 46f8b34213..1eb8a56944 100644
--- a/keyboards/capsunlocked/cu7/keyboard.json
+++ b/keyboards/capsunlocked/cu7/keyboard.json
@@ -31,7 +31,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"encoder": true,
"extrakey": true,
"mousekey": true,
diff --git a/keyboards/capsunlocked/cu75/keyboard.json b/keyboards/capsunlocked/cu75/keyboard.json
index f7a8356bcc..b226f74bf9 100644
--- a/keyboards/capsunlocked/cu75/keyboard.json
+++ b/keyboards/capsunlocked/cu75/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "CU75",
"manufacturer": "LFKeyboards/CapsUnlocked",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0xFEED",
diff --git a/keyboards/capsunlocked/cu80/v1/keyboard.json b/keyboards/capsunlocked/cu80/v1/keyboard.json
index e3283d99cb..0cc05a554b 100644
--- a/keyboards/capsunlocked/cu80/v1/keyboard.json
+++ b/keyboards/capsunlocked/cu80/v1/keyboard.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": false
diff --git a/keyboards/carbo65/keyboard.json b/keyboards/carbo65/keyboard.json
index f2a4ce0dac..61a11d3c49 100644
--- a/keyboards/carbo65/keyboard.json
+++ b/keyboards/carbo65/keyboard.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/centromere/keyboard.json b/keyboards/centromere/keyboard.json
index c190bd84d7..01dd6c9875 100644
--- a/keyboards/centromere/keyboard.json
+++ b/keyboards/centromere/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Centromere",
"manufacturer": "Southpaw Design",
- "url": "",
"maintainer": "spe2",
"usb": {
"vid": "0xFEED",
diff --git a/keyboards/cest73/tkm/keyboard.json b/keyboards/cest73/tkm/keyboard.json
index e9aad4461b..05d857c329 100644
--- a/keyboards/cest73/tkm/keyboard.json
+++ b/keyboards/cest73/tkm/keyboard.json
@@ -13,7 +13,6 @@
"backlight": true,
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": true
diff --git a/keyboards/chalice/keyboard.json b/keyboards/chalice/keyboard.json
index b8b4436966..455ee6ba43 100644
--- a/keyboards/chalice/keyboard.json
+++ b/keyboards/chalice/keyboard.json
@@ -30,7 +30,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/chaos65/keyboard.json b/keyboards/chaos65/keyboard.json
index ed3f33e0c3..5cd34b1bb0 100644
--- a/keyboards/chaos65/keyboard.json
+++ b/keyboards/chaos65/keyboard.json
@@ -12,7 +12,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/charue/sunsetter_r2/keyboard.json b/keyboards/charue/sunsetter_r2/keyboard.json
index b7b7cc8d92..6763a55865 100644
--- a/keyboards/charue/sunsetter_r2/keyboard.json
+++ b/keyboards/charue/sunsetter_r2/keyboard.json
@@ -29,7 +29,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false,
diff --git a/keyboards/chavdai40/rev1/keyboard.json b/keyboards/chavdai40/rev1/keyboard.json
index 22c4ccfb7b..1e4590b648 100644
--- a/keyboards/chavdai40/rev1/keyboard.json
+++ b/keyboards/chavdai40/rev1/keyboard.json
@@ -7,7 +7,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false
diff --git a/keyboards/chavdai40/rev2/keyboard.json b/keyboards/chavdai40/rev2/keyboard.json
index b43c68604f..2930c599a2 100644
--- a/keyboards/chavdai40/rev2/keyboard.json
+++ b/keyboards/chavdai40/rev2/keyboard.json
@@ -7,7 +7,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false
diff --git a/keyboards/checkerboards/axon40/keyboard.json b/keyboards/checkerboards/axon40/keyboard.json
index c0b67b611d..b83093709c 100644
--- a/keyboards/checkerboards/axon40/keyboard.json
+++ b/keyboards/checkerboards/axon40/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Axon40",
"manufacturer": "Nasp",
- "url": "",
"maintainer": "nasp",
"usb": {
"vid": "0x7070",
@@ -31,7 +30,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/checkerboards/candybar_ortho/keyboard.json b/keyboards/checkerboards/candybar_ortho/keyboard.json
index d7908a04f4..e9735a0bca 100644
--- a/keyboards/checkerboards/candybar_ortho/keyboard.json
+++ b/keyboards/checkerboards/candybar_ortho/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "CandyBar Ortho",
"manufacturer": "Nasp",
- "url": "",
"maintainer": "nasp",
"usb": {
"vid": "0x7070",
@@ -31,7 +30,6 @@
"features": {
"bootmagic": true,
"command": true,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/checkerboards/g_idb60/keyboard.json b/keyboards/checkerboards/g_idb60/keyboard.json
index 16f70dc868..8d61bfc691 100644
--- a/keyboards/checkerboards/g_idb60/keyboard.json
+++ b/keyboards/checkerboards/g_idb60/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "G_IDB60",
"manufacturer": "Nasp",
- "url": "",
"maintainer": "npspears",
"usb": {
"vid": "0x7070",
@@ -11,7 +10,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false
diff --git a/keyboards/checkerboards/nop60/keyboard.json b/keyboards/checkerboards/nop60/keyboard.json
index 9b86a3936a..d4648387f5 100644
--- a/keyboards/checkerboards/nop60/keyboard.json
+++ b/keyboards/checkerboards/nop60/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "NOP60",
"manufacturer": "Nasp",
- "url": "",
"maintainer": "nasp",
"usb": {
"vid": "0x7070",
@@ -12,7 +11,6 @@
"backlight": true,
"bootmagic": true,
"command": true,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": false,
diff --git a/keyboards/checkerboards/plexus75/keyboard.json b/keyboards/checkerboards/plexus75/keyboard.json
index 14bd4deb75..4bab1ce986 100644
--- a/keyboards/checkerboards/plexus75/keyboard.json
+++ b/keyboards/checkerboards/plexus75/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Plexus75",
"manufacturer": "Nasp",
- "url": "",
"maintainer": "npspears",
"usb": {
"vid": "0x7070",
@@ -32,7 +31,6 @@
"features": {
"bootmagic": true,
"command": true,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": true,
diff --git a/keyboards/checkerboards/plexus75_he/keyboard.json b/keyboards/checkerboards/plexus75_he/keyboard.json
index 2da1bf34f3..aa9a62c85b 100644
--- a/keyboards/checkerboards/plexus75_he/keyboard.json
+++ b/keyboards/checkerboards/plexus75_he/keyboard.json
@@ -32,7 +32,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false,
diff --git a/keyboards/checkerboards/pursuit40/keyboard.json b/keyboards/checkerboards/pursuit40/keyboard.json
index 996a55850d..61fabc55fe 100644
--- a/keyboards/checkerboards/pursuit40/keyboard.json
+++ b/keyboards/checkerboards/pursuit40/keyboard.json
@@ -32,7 +32,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/checkerboards/quark/keyboard.json b/keyboards/checkerboards/quark/keyboard.json
index 4bb7c7fef7..90d378b528 100644
--- a/keyboards/checkerboards/quark/keyboard.json
+++ b/keyboards/checkerboards/quark/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "QUARK",
"manufacturer": "Nasp",
- "url": "",
"maintainer": "nasp",
"usb": {
"vid": "0x7070",
diff --git a/keyboards/checkerboards/quark_lp/keyboard.json b/keyboards/checkerboards/quark_lp/keyboard.json
index 59fda2efc8..8e53b1e846 100644
--- a/keyboards/checkerboards/quark_lp/keyboard.json
+++ b/keyboards/checkerboards/quark_lp/keyboard.json
@@ -41,7 +41,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false,
diff --git a/keyboards/checkerboards/quark_plus/keyboard.json b/keyboards/checkerboards/quark_plus/keyboard.json
index 311d21c219..12b92e2518 100644
--- a/keyboards/checkerboards/quark_plus/keyboard.json
+++ b/keyboards/checkerboards/quark_plus/keyboard.json
@@ -33,7 +33,6 @@
"backlight": true,
"bootmagic": true,
"command": false,
- "console": false,
"encoder": true,
"extrakey": true,
"mousekey": true,
diff --git a/keyboards/checkerboards/ud40_ortho_alt/keyboard.json b/keyboards/checkerboards/ud40_ortho_alt/keyboard.json
index 2aae3d1cc8..acd55fe0f7 100644
--- a/keyboards/checkerboards/ud40_ortho_alt/keyboard.json
+++ b/keyboards/checkerboards/ud40_ortho_alt/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "UD40_Ortho_Alt",
"manufacturer": "Nasp",
- "url": "",
"maintainer": "nasp",
"usb": {
"vid": "0x7070",
@@ -32,7 +31,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/cherrybstudio/cb1800/keyboard.json b/keyboards/cherrybstudio/cb1800/keyboard.json
index fedcc1c75e..e083ebb447 100644
--- a/keyboards/cherrybstudio/cb1800/keyboard.json
+++ b/keyboards/cherrybstudio/cb1800/keyboard.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/cherrybstudio/cb65/keyboard.json b/keyboards/cherrybstudio/cb65/keyboard.json
index 8f14ec0941..18d550debf 100644
--- a/keyboards/cherrybstudio/cb65/keyboard.json
+++ b/keyboards/cherrybstudio/cb65/keyboard.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/cherrybstudio/cb87/keyboard.json b/keyboards/cherrybstudio/cb87/keyboard.json
index 417c40e53d..ecac5771c0 100644
--- a/keyboards/cherrybstudio/cb87/keyboard.json
+++ b/keyboards/cherrybstudio/cb87/keyboard.json
@@ -12,7 +12,6 @@
"backlight": true,
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/cherrybstudio/cb87rgb/keyboard.json b/keyboards/cherrybstudio/cb87rgb/keyboard.json
index d2cc0c72de..9388e8e4da 100644
--- a/keyboards/cherrybstudio/cb87rgb/keyboard.json
+++ b/keyboards/cherrybstudio/cb87rgb/keyboard.json
@@ -59,7 +59,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/cherrybstudio/cb87v2/keyboard.json b/keyboards/cherrybstudio/cb87v2/keyboard.json
index c40bb1778f..0de77d8f76 100644
--- a/keyboards/cherrybstudio/cb87v2/keyboard.json
+++ b/keyboards/cherrybstudio/cb87v2/keyboard.json
@@ -12,7 +12,6 @@
"backlight": true,
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/cheshire/curiosity/keyboard.json b/keyboards/cheshire/curiosity/keyboard.json
index b408a5b6e9..33daaa5781 100644
--- a/keyboards/cheshire/curiosity/keyboard.json
+++ b/keyboards/cheshire/curiosity/keyboard.json
@@ -34,7 +34,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false,
diff --git a/keyboards/chew/keyboard.json b/keyboards/chew/keyboard.json
index 01175e6341..767ffb7d84 100644
--- a/keyboards/chew/keyboard.json
+++ b/keyboards/chew/keyboard.json
@@ -6,7 +6,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/chickenman/ciel/keyboard.json b/keyboards/chickenman/ciel/keyboard.json
index f28995794c..239acefe2a 100644
--- a/keyboards/chickenman/ciel/keyboard.json
+++ b/keyboards/chickenman/ciel/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Ciel",
"manufacturer": "ChickenMan",
- "url": "",
"maintainer": "ramonimbao",
"usb": {
"vid": "0xC41C",
@@ -11,7 +10,6 @@
"features": {
"bootmagic": false,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false
diff --git a/keyboards/chickenman/ciel65/keyboard.json b/keyboards/chickenman/ciel65/keyboard.json
index 8c316759a8..db147c8e00 100644
--- a/keyboards/chickenman/ciel65/keyboard.json
+++ b/keyboards/chickenman/ciel65/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Ciel65",
"manufacturer": "ChickenMan",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0xC41C",
@@ -19,17 +18,14 @@
"bootmagic": true,
"mousekey": true,
"extrakey": true,
- "console": false,
"command": false,
"nkro": true,
"rgblight": true
},
"rgblight": {
"led_count": 14,
- "hue_steps": 8,
"saturation_steps": 8,
"brightness_steps": 8,
- "max_brightness": 255,
"sleep": true,
"animations": {
"alternating": true,
diff --git a/keyboards/chill/ghoul/keyboard.json b/keyboards/chill/ghoul/keyboard.json
index ff7435959c..c32380715f 100644
--- a/keyboards/chill/ghoul/keyboard.json
+++ b/keyboards/chill/ghoul/keyboard.json
@@ -13,7 +13,6 @@
"backlight": true,
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/chlx/lfn_merro60/keyboard.json b/keyboards/chlx/lfn_merro60/keyboard.json
index 54a235c7f8..f4cbc35fb4 100644
--- a/keyboards/chlx/lfn_merro60/keyboard.json
+++ b/keyboards/chlx/lfn_merro60/keyboard.json
@@ -7,7 +7,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/chlx/merro60/keyboard.json b/keyboards/chlx/merro60/keyboard.json
index 31f83f80a5..671197041f 100644
--- a/keyboards/chlx/merro60/keyboard.json
+++ b/keyboards/chlx/merro60/keyboard.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/chlx/piche60/keyboard.json b/keyboards/chlx/piche60/keyboard.json
index 7eafe4f84f..194e8c0353 100644
--- a/keyboards/chlx/piche60/keyboard.json
+++ b/keyboards/chlx/piche60/keyboard.json
@@ -10,7 +10,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/chlx/ppr_merro60/keyboard.json b/keyboards/chlx/ppr_merro60/keyboard.json
index 9f056fef52..ea819dcc93 100644
--- a/keyboards/chlx/ppr_merro60/keyboard.json
+++ b/keyboards/chlx/ppr_merro60/keyboard.json
@@ -7,7 +7,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/chocofly/v1/keyboard.json b/keyboards/chocofly/v1/keyboard.json
index 195d1e9a9f..1670cc1475 100644
--- a/keyboards/chocofly/v1/keyboard.json
+++ b/keyboards/chocofly/v1/keyboard.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": false,
"command": false,
- "console": false,
"encoder": true,
"extrakey": false,
"mousekey": false,
diff --git a/keyboards/chocv/keyboard.json b/keyboards/chocv/keyboard.json
index 670e46f817..fe828da592 100644
--- a/keyboards/chocv/keyboard.json
+++ b/keyboards/chocv/keyboard.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/chord/zero/keyboard.json b/keyboards/chord/zero/keyboard.json
index 63e74546d5..20db51cf8c 100644
--- a/keyboards/chord/zero/keyboard.json
+++ b/keyboards/chord/zero/keyboard.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/chosfox/cf81/keyboard.json b/keyboards/chosfox/cf81/keyboard.json
index aae2421a03..4776d1f0a4 100644
--- a/keyboards/chosfox/cf81/keyboard.json
+++ b/keyboards/chosfox/cf81/keyboard.json
@@ -22,7 +22,6 @@
"bootmagic": true,
"mousekey": false,
"extrakey": true,
- "console": false,
"command": false,
"nkro": true,
"encoder": true,
diff --git a/keyboards/chouchou/keyboard.json b/keyboards/chouchou/keyboard.json
index 726f190aab..3494f2e3b0 100644
--- a/keyboards/chouchou/keyboard.json
+++ b/keyboards/chouchou/keyboard.json
@@ -6,7 +6,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": true
diff --git a/keyboards/chromatonemini/keyboard.json b/keyboards/chromatonemini/keyboard.json
index 963496a0c0..454938ca0c 100644
--- a/keyboards/chromatonemini/keyboard.json
+++ b/keyboards/chromatonemini/keyboard.json
@@ -12,7 +12,6 @@
"extrakey": true,
"encoder": true,
"bootmagic": false,
- "console": false,
"mousekey": false,
"nkro": false
},
diff --git a/keyboards/churrosoft/deck8/info.json b/keyboards/churrosoft/deck8/info.json
index 00fc2d1bad..d656997b78 100644
--- a/keyboards/churrosoft/deck8/info.json
+++ b/keyboards/churrosoft/deck8/info.json
@@ -12,7 +12,6 @@
},
"features": {
"bootmagic": true,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/cipulot/common/ec_board.c b/keyboards/cipulot/common/ec_board.c
index 0ccb9f6d3c..b15543e49e 100644
--- a/keyboards/cipulot/common/ec_board.c
+++ b/keyboards/cipulot/common/ec_board.c
@@ -36,7 +36,7 @@ void eeconfig_init_kb(void) {
}
}
// Write default value to EEPROM now
- eeconfig_update_kb_datablock(&eeprom_ec_config);
+ eeconfig_update_kb_datablock(&eeprom_ec_config, 0, EECONFIG_KB_DATA_SIZE);
eeconfig_init_user();
}
@@ -44,7 +44,7 @@ void eeconfig_init_kb(void) {
// On Keyboard startup
void keyboard_post_init_kb(void) {
// Read custom menu variables from memory
- eeconfig_read_kb_datablock(&eeprom_ec_config);
+ eeconfig_read_kb_datablock(&eeprom_ec_config, 0, EECONFIG_KB_DATA_SIZE);
// Set runtime values to EEPROM values
ec_config.actuation_mode = eeprom_ec_config.actuation_mode;
diff --git a/keyboards/cipulot/common/eeprom_tools.h b/keyboards/cipulot/common/eeprom_tools.h
deleted file mode 100644
index b3c90d8759..0000000000
--- a/keyboards/cipulot/common/eeprom_tools.h
+++ /dev/null
@@ -1,26 +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 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/via_ec.c b/keyboards/cipulot/common/via_ec.c
index ed34a579b2..7be6edd026 100644
--- a/keyboards/cipulot/common/via_ec.c
+++ b/keyboards/cipulot/common/via_ec.c
@@ -13,7 +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/>.
*/
-#include "eeprom_tools.h"
#include "ec_switch_matrix.h"
#include "action.h"
#include "print.h"
@@ -73,7 +72,7 @@ void via_config_set_value(uint8_t *data) {
uprintf("# Actuation Mode: Rapid Trigger #\n");
uprintf("#################################\n");
}
- EEPROM_KB_PARTIAL_UPDATE(eeprom_ec_config, actuation_mode);
+ eeconfig_update_kb_datablock_field(eeprom_ec_config, actuation_mode);
break;
}
case id_mode_0_actuation_threshold: {
@@ -293,7 +292,7 @@ void ec_save_threshold_data(uint8_t option) {
ec_rescale_values(3);
ec_rescale_values(4);
}
- eeconfig_update_kb_datablock(&eeprom_ec_config);
+ eeconfig_update_kb_datablock(&eeprom_ec_config, 0, EECONFIG_KB_DATA_SIZE);
uprintf("####################################\n");
uprintf("# New thresholds applied and saved #\n");
uprintf("####################################\n");
@@ -321,7 +320,7 @@ void ec_save_bottoming_reading(void) {
ec_rescale_values(2);
ec_rescale_values(3);
ec_rescale_values(4);
- eeconfig_update_kb_datablock(&eeprom_ec_config);
+ eeconfig_update_kb_datablock(&eeprom_ec_config, 0, EECONFIG_KB_DATA_SIZE);
}
// Show the calibration data
diff --git a/keyboards/cipulot/ec_980c/ec_980c.c b/keyboards/cipulot/ec_980c/ec_980c.c
index eaa636ede6..7a2062a4e4 100644
--- a/keyboards/cipulot/ec_980c/ec_980c.c
+++ b/keyboards/cipulot/ec_980c/ec_980c.c
@@ -44,7 +44,7 @@ void eeconfig_init_kb(void) {
}
}
// Write default value to EEPROM now
- eeconfig_update_kb_datablock(&eeprom_ec_config);
+ eeconfig_update_kb_datablock(&eeprom_ec_config, 0, EECONFIG_KB_DATA_SIZE);
eeconfig_init_user();
}
@@ -52,7 +52,7 @@ void eeconfig_init_kb(void) {
// On Keyboard startup
void keyboard_post_init_kb(void) {
// Read custom menu variables from memory
- eeconfig_read_kb_datablock(&eeprom_ec_config);
+ eeconfig_read_kb_datablock(&eeprom_ec_config, 0, EECONFIG_KB_DATA_SIZE);
// Set runtime values to EEPROM values
ec_config.actuation_mode = eeprom_ec_config.actuation_mode;
diff --git a/keyboards/cipulot/ec_typek/ec_typek.c b/keyboards/cipulot/ec_typek/ec_typek.c
index d4241f66f1..31616afc02 100644
--- a/keyboards/cipulot/ec_typek/ec_typek.c
+++ b/keyboards/cipulot/ec_typek/ec_typek.c
@@ -44,7 +44,7 @@ void eeconfig_init_kb(void) {
}
}
// Write default value to EEPROM now
- eeconfig_update_kb_datablock(&eeprom_ec_config);
+ eeconfig_update_kb_datablock(&eeprom_ec_config, 0, EECONFIG_KB_DATA_SIZE);
eeconfig_init_user();
}
@@ -52,7 +52,7 @@ void eeconfig_init_kb(void) {
// On Keyboard startup
void keyboard_post_init_kb(void) {
// Read custom menu variables from memory
- eeconfig_read_kb_datablock(&eeprom_ec_config);
+ eeconfig_read_kb_datablock(&eeprom_ec_config, 0, EECONFIG_KB_DATA_SIZE);
// Set runtime values to EEPROM values
ec_config.actuation_mode = eeprom_ec_config.actuation_mode;
diff --git a/keyboards/cipulot/kallos/keyboard.json b/keyboards/cipulot/kallos/keyboard.json
index 731b37fda9..beb9849f83 100644
--- a/keyboards/cipulot/kallos/keyboard.json
+++ b/keyboards/cipulot/kallos/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Kallos",
"manufacturer": "Cipulot",
- "url": "",
"maintainer": "Cipulot",
"usb": {
"vid": "0x6369",
@@ -32,7 +31,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": true,
diff --git a/keyboards/ck60i/keyboard.json b/keyboards/ck60i/keyboard.json
index 72b57598a4..d628275c48 100644
--- a/keyboards/ck60i/keyboard.json
+++ b/keyboards/ck60i/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "CK60i",
"manufacturer": "CandyKeys",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0x434B",
@@ -11,7 +10,6 @@
"features": {
"bootmagic": true,
"command": true,
- "console": false,
"encoder": true,
"extrakey": true,
"mousekey": true,
diff --git a/keyboards/ckeys/handwire_101/keyboard.json b/keyboards/ckeys/handwire_101/keyboard.json
index 642d0d8a25..42391dc48d 100644
--- a/keyboards/ckeys/handwire_101/keyboard.json
+++ b/keyboards/ckeys/handwire_101/keyboard.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": false,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/ckeys/nakey/keyboard.json b/keyboards/ckeys/nakey/keyboard.json
index 85f744217f..e9cbced1f1 100644
--- a/keyboards/ckeys/nakey/keyboard.json
+++ b/keyboards/ckeys/nakey/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "naKey",
"manufacturer": "cKeys",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0xFEED",
diff --git a/keyboards/ckeys/obelus/keyboard.json b/keyboards/ckeys/obelus/keyboard.json
index 797bb870b9..da2af2d7f2 100644
--- a/keyboards/ckeys/obelus/keyboard.json
+++ b/keyboards/ckeys/obelus/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Obelus",
"manufacturer": "cKeys",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0xFEED",
@@ -12,7 +11,6 @@
"audio": true,
"bootmagic": false,
"command": false,
- "console": false,
"extrakey": true,
"midi": true,
"mousekey": false,
diff --git a/keyboards/ckeys/thedora/keyboard.json b/keyboards/ckeys/thedora/keyboard.json
index d287e81a0b..c3b44a37c3 100644
--- a/keyboards/ckeys/thedora/keyboard.json
+++ b/keyboards/ckeys/thedora/keyboard.json
@@ -12,7 +12,6 @@
"audio": true,
"bootmagic": true,
"command": false,
- "console": false,
"encoder": true,
"extrakey": true,
"midi": true,
diff --git a/keyboards/ckeys/washington/keyboard.json b/keyboards/ckeys/washington/keyboard.json
index b410e16f93..e0dda049b8 100644
--- a/keyboards/ckeys/washington/keyboard.json
+++ b/keyboards/ckeys/washington/keyboard.json
@@ -12,7 +12,6 @@
"backlight": true,
"bootmagic": false,
"command": false,
- "console": false,
"encoder": true,
"extrakey": true,
"mousekey": true,
diff --git a/keyboards/clap_studio/flame60/keyboard.json b/keyboards/clap_studio/flame60/keyboard.json
index 7f6b9014ae..0f768d4fae 100644
--- a/keyboards/clap_studio/flame60/keyboard.json
+++ b/keyboards/clap_studio/flame60/keyboard.json
@@ -7,7 +7,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/clawsome/bookerboard/keyboard.json b/keyboards/clawsome/bookerboard/keyboard.json
index a72260eb60..7e3065863a 100644
--- a/keyboards/clawsome/bookerboard/keyboard.json
+++ b/keyboards/clawsome/bookerboard/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Bookerboard",
"manufacturer": "AlisGraveNil",
- "url": "",
"maintainer": "AlisGraveNil",
"usb": {
"vid": "0xFEED",
diff --git a/keyboards/clawsome/fightpad/keyboard.json b/keyboards/clawsome/fightpad/keyboard.json
index 7333349028..fa3ac4a655 100644
--- a/keyboards/clawsome/fightpad/keyboard.json
+++ b/keyboards/clawsome/fightpad/keyboard.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false
diff --git a/keyboards/clawsome/sidekick/keyboard.json b/keyboards/clawsome/sidekick/keyboard.json
index 4f535d09aa..f2712a367d 100644
--- a/keyboards/clawsome/sidekick/keyboard.json
+++ b/keyboards/clawsome/sidekick/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Sidekick",
"manufacturer": "AlisGraveNil",
- "url": "",
"maintainer": "AlisGraveNil",
"usb": {
"vid": "0xFEED",
diff --git a/keyboards/clueboard/17/keyboard.json b/keyboards/clueboard/17/keyboard.json
index d6aec9cfcc..0da234142d 100644
--- a/keyboards/clueboard/17/keyboard.json
+++ b/keyboards/clueboard/17/keyboard.json
@@ -32,15 +32,12 @@
"static_gradient": true,
"twinkle": true
},
- "brightness_steps": 17,
"hue_steps": 10,
- "led_count": 4,
- "saturation_steps": 17
+ "led_count": 4
},
"ws2812": {
"pin": "F6"
},
- "url": "",
"usb": {
"device_version": "0.0.1",
"pid": "0x2312",
diff --git a/keyboards/clueboard/2x1800/2018/keyboard.json b/keyboards/clueboard/2x1800/2018/keyboard.json
index 1a926c62b9..e7b4c95ce3 100644
--- a/keyboards/clueboard/2x1800/2018/keyboard.json
+++ b/keyboards/clueboard/2x1800/2018/keyboard.json
@@ -44,7 +44,6 @@
"twinkle": true
},
"brightness_steps": 8,
- "hue_steps": 8,
"led_count": 16,
"saturation_steps": 8
},
diff --git a/keyboards/clueboard/66/rev1/keyboard.json b/keyboards/clueboard/66/rev1/keyboard.json
index ca1e3a6553..4743a125b9 100644
--- a/keyboards/clueboard/66/rev1/keyboard.json
+++ b/keyboards/clueboard/66/rev1/keyboard.json
@@ -33,10 +33,8 @@
"static_gradient": true,
"twinkle": true
},
- "brightness_steps": 17,
"hue_steps": 10,
- "led_count": 14,
- "saturation_steps": 17
+ "led_count": 14
},
"ws2812": {
"pin": "B2"
diff --git a/keyboards/clueboard/66/rev2/keyboard.json b/keyboards/clueboard/66/rev2/keyboard.json
index fea4f8d39b..39ca7c4841 100644
--- a/keyboards/clueboard/66/rev2/keyboard.json
+++ b/keyboards/clueboard/66/rev2/keyboard.json
@@ -34,10 +34,8 @@
"static_gradient": true,
"twinkle": true
},
- "brightness_steps": 17,
"hue_steps": 32,
- "led_count": 14,
- "saturation_steps": 17
+ "led_count": 14
},
"ws2812": {
"pin": "D7"
diff --git a/keyboards/clueboard/66/rev3/keyboard.json b/keyboards/clueboard/66/rev3/keyboard.json
index 4553979d8a..dac09573f2 100644
--- a/keyboards/clueboard/66/rev3/keyboard.json
+++ b/keyboards/clueboard/66/rev3/keyboard.json
@@ -9,7 +9,6 @@
"backlight": true,
"bootmagic": false,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
@@ -34,10 +33,8 @@
"static_gradient": true,
"twinkle": true
},
- "brightness_steps": 17,
"hue_steps": 32,
- "led_count": 18,
- "saturation_steps": 17
+ "led_count": 18
},
"ws2812": {
"pin": "D7"
diff --git a/keyboards/clueboard/66/rev4/keyboard.json b/keyboards/clueboard/66/rev4/keyboard.json
index dbc1b94915..d834b688f9 100644
--- a/keyboards/clueboard/66/rev4/keyboard.json
+++ b/keyboards/clueboard/66/rev4/keyboard.json
@@ -32,10 +32,8 @@
"static_gradient": true,
"twinkle": true
},
- "brightness_steps": 17,
"hue_steps": 32,
- "led_count": 18,
- "saturation_steps": 17
+ "led_count": 18
},
"ws2812": {
"pin": "D7"
diff --git a/keyboards/clueboard/66_hotswap/prototype/keyboard.json b/keyboards/clueboard/66_hotswap/prototype/keyboard.json
index 9d0b0dd27c..1325612ed3 100644
--- a/keyboards/clueboard/66_hotswap/prototype/keyboard.json
+++ b/keyboards/clueboard/66_hotswap/prototype/keyboard.json
@@ -39,10 +39,8 @@
"static_gradient": true,
"twinkle": true
},
- "brightness_steps": 17,
"hue_steps": 32,
- "led_count": 26,
- "saturation_steps": 17
+ "led_count": 26
},
"ws2812": {
"pin": "D7"
diff --git a/keyboards/clueboard/california/keyboard.json b/keyboards/clueboard/california/keyboard.json
index 66b4b484e2..15467d4deb 100644
--- a/keyboards/clueboard/california/keyboard.json
+++ b/keyboards/clueboard/california/keyboard.json
@@ -1,6 +1,5 @@
{
"keyboard_name": "Clueboard California",
- "url": "",
"maintainer": "skullydazed",
"processor": "STM32F303",
"board": "QMK_PROTON_C",
diff --git a/keyboards/clueboard/card/keyboard.json b/keyboards/clueboard/card/keyboard.json
index 0425819ed7..3929c073d7 100644
--- a/keyboards/clueboard/card/keyboard.json
+++ b/keyboards/clueboard/card/keyboard.json
@@ -25,10 +25,8 @@
"rows": ["F0", "F5", "F4", "B4"]
},
"rgblight": {
- "brightness_steps": 17,
"hue_steps": 10,
- "led_count": 4,
- "saturation_steps": 17
+ "led_count": 4
},
"ws2812": {
"pin": "E6"
diff --git a/keyboards/cmm_studio/fuji65/keyboard.json b/keyboards/cmm_studio/fuji65/keyboard.json
index c4f1e5156e..84e539a636 100644
--- a/keyboards/cmm_studio/fuji65/keyboard.json
+++ b/keyboards/cmm_studio/fuji65/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Fuji65",
"manufacturer": "CMM.Studio",
- "url": "",
"maintainer": "CMMS-Freather",
"usb": {
"vid": "0x434D",
diff --git a/keyboards/cmm_studio/saka68/hotswap/keyboard.json b/keyboards/cmm_studio/saka68/hotswap/keyboard.json
index 6dc3ec639a..8ea3185bf7 100644
--- a/keyboards/cmm_studio/saka68/hotswap/keyboard.json
+++ b/keyboards/cmm_studio/saka68/hotswap/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Saka68 Hotswap",
"manufacturer": "CMM.Studio",
- "url": "",
"maintainer": "CMMS-Freather",
"usb": {
"vid": "0x434D",
diff --git a/keyboards/cmm_studio/saka68/solder/keyboard.json b/keyboards/cmm_studio/saka68/solder/keyboard.json
index d5aea40763..c5b2e0b677 100644
--- a/keyboards/cmm_studio/saka68/solder/keyboard.json
+++ b/keyboards/cmm_studio/saka68/solder/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Saka68 Solder",
"manufacturer": "CMM.Studio",
- "url": "",
"maintainer": "CMMS-Freather",
"usb": {
"vid": "0x434D",
@@ -11,7 +10,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": false
diff --git a/keyboards/coarse/ixora/keyboard.json b/keyboards/coarse/ixora/keyboard.json
index 33ba2270ac..ebcc345d52 100644
--- a/keyboards/coarse/ixora/keyboard.json
+++ b/keyboards/coarse/ixora/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Ixora Rev1",
"manufacturer": "PeiorisBoards",
- "url": "",
"maintainer": "Peioris",
"usb": {
"vid": "0xFEED",
diff --git a/keyboards/coarse/vinta/keyboard.json b/keyboards/coarse/vinta/keyboard.json
index df9aa7e5a1..07d5edb29b 100644
--- a/keyboards/coarse/vinta/keyboard.json
+++ b/keyboards/coarse/vinta/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Vinta R1",
"manufacturer": "PeiorisBoards",
- "url": "",
"maintainer": "Peioris",
"usb": {
"vid": "0xFEED",
diff --git a/keyboards/coban/pad3a/keyboard.json b/keyboards/coban/pad3a/keyboard.json
index a9a78b8220..fe8bd12571 100644
--- a/keyboards/coban/pad3a/keyboard.json
+++ b/keyboards/coban/pad3a/keyboard.json
@@ -17,7 +17,6 @@
"features": {
"bootmagic": false,
"command": false,
- "console": false,
"encoder": true,
"extrakey": true,
"mousekey": true,
diff --git a/keyboards/compound/keyboard.json b/keyboards/compound/keyboard.json
index a0a1e1e949..cbb5eb711f 100644
--- a/keyboards/compound/keyboard.json
+++ b/keyboards/compound/keyboard.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": false
diff --git a/keyboards/concreteflowers/cor/keyboard.json b/keyboards/concreteflowers/cor/keyboard.json
index c2fa4379df..c105338b5e 100644
--- a/keyboards/concreteflowers/cor/keyboard.json
+++ b/keyboards/concreteflowers/cor/keyboard.json
@@ -7,7 +7,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false
@@ -17,7 +16,6 @@
"cols": ["F5", "F6", "F7", "C6", "C7", "B1", "B7", "B5", "B4", "D7", "D6", "D4", "D5", "D3", "D2", "D1", "D0"]
},
"processor": "atmega32u4",
- "url": "",
"usb": {
"device_version": "1.0.0",
"vid": "0x5001",
diff --git a/keyboards/concreteflowers/cor_tkl/keyboard.json b/keyboards/concreteflowers/cor_tkl/keyboard.json
index 6a797d644c..d162bb386c 100644
--- a/keyboards/concreteflowers/cor_tkl/keyboard.json
+++ b/keyboards/concreteflowers/cor_tkl/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Cor TKL",
"manufacturer": "concreteflowers",
- "url": "",
"maintainer": "ramonimbao",
"community_layouts": [
"tkl_f13_ansi",
@@ -17,7 +16,6 @@
"bootmagic": true,
"mousekey": true,
"extrakey": true,
- "console": false,
"command": false,
"nkro": false,
"rgb_matrix": true
diff --git a/keyboards/contender/keyboard.json b/keyboards/contender/keyboard.json
index 2e5ef84412..cc4139d167 100644
--- a/keyboards/contender/keyboard.json
+++ b/keyboards/contender/keyboard.json
@@ -32,7 +32,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false,
diff --git a/keyboards/contra/keyboard.json b/keyboards/contra/keyboard.json
index ffa32d6555..b3179564fe 100644
--- a/keyboards/contra/keyboard.json
+++ b/keyboards/contra/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Contra",
"manufacturer": "Cartel",
- "url": "",
"maintainer": "qmk",
"features": {
"bootmagic": true,
diff --git a/keyboards/contra/keymaps/default/keymap.c b/keyboards/contra/keymaps/default/keymap.c
index 415e22e81a..645005769a 100644
--- a/keyboards/contra/keymaps/default/keymap.c
+++ b/keyboards/contra/keymaps/default/keymap.c
@@ -222,9 +222,9 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
if (!eeconfig_is_enabled()) {
eeconfig_init();
}
- keymap_config.raw = eeconfig_read_keymap();
+ eeconfig_read_keymap(&keymap_config);
keymap_config.nkro = 1;
- eeconfig_update_keymap(keymap_config.raw);
+ eeconfig_update_keymap(&keymap_config);
}
return false;
break;
diff --git a/keyboards/controllerworks/city42/keyboard.json b/keyboards/controllerworks/city42/keyboard.json
index 6657a7485b..bb3b060c42 100644
--- a/keyboards/controllerworks/city42/keyboard.json
+++ b/keyboards/controllerworks/city42/keyboard.json
@@ -10,7 +10,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/controllerworks/mini36/keyboard.json b/keyboards/controllerworks/mini36/keyboard.json
index 8039025a28..ad880660c0 100644
--- a/keyboards/controllerworks/mini36/keyboard.json
+++ b/keyboards/controllerworks/mini36/keyboard.json
@@ -55,7 +55,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/controllerworks/mini42/keyboard.json b/keyboards/controllerworks/mini42/keyboard.json
index ceb7f8ce1f..cbd90c890f 100644
--- a/keyboards/controllerworks/mini42/keyboard.json
+++ b/keyboards/controllerworks/mini42/keyboard.json
@@ -55,7 +55,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/converter/a1200/miss1200/keyboard.json b/keyboards/converter/a1200/miss1200/keyboard.json
index 1f7bfcda3f..1ce08f9b3e 100644
--- a/keyboards/converter/a1200/miss1200/keyboard.json
+++ b/keyboards/converter/a1200/miss1200/keyboard.json
@@ -9,7 +9,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": true
diff --git a/keyboards/converter/a1200/mistress1200/keyboard.json b/keyboards/converter/a1200/mistress1200/keyboard.json
index c2cf110b2a..15cc0e24f3 100644
--- a/keyboards/converter/a1200/mistress1200/keyboard.json
+++ b/keyboards/converter/a1200/mistress1200/keyboard.json
@@ -12,7 +12,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": false,
"grave_esc": false,
"magic": false,
diff --git a/keyboards/converter/a1200/teensy2pp/keyboard.json b/keyboards/converter/a1200/teensy2pp/keyboard.json
index 0766123913..6c04e55d77 100644
--- a/keyboards/converter/a1200/teensy2pp/keyboard.json
+++ b/keyboards/converter/a1200/teensy2pp/keyboard.json
@@ -9,7 +9,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": false
diff --git a/keyboards/converter/adb_usb/info.json b/keyboards/converter/adb_usb/info.json
index 3fbe2c0c74..3452efd709 100644
--- a/keyboards/converter/adb_usb/info.json
+++ b/keyboards/converter/adb_usb/info.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "ADB to USB Keyboard Converter",
"manufacturer": "QMK",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0xFEED",
diff --git a/keyboards/converter/ibm_terminal/keyboard.json b/keyboards/converter/ibm_terminal/keyboard.json
index b95ea58d20..d37bb2b147 100644
--- a/keyboards/converter/ibm_terminal/keyboard.json
+++ b/keyboards/converter/ibm_terminal/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "IBM Terminal to USB Keyboard Converter",
"manufacturer": "QMK",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0xFEED",
diff --git a/keyboards/converter/m0110_usb/keyboard.json b/keyboards/converter/m0110_usb/keyboard.json
index 11b83bbb18..c4803b6e88 100644
--- a/keyboards/converter/m0110_usb/keyboard.json
+++ b/keyboards/converter/m0110_usb/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Apple M0110(A) to USB Keyboard Converter",
"manufacturer": "QMK",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0xFEED",
diff --git a/keyboards/converter/numeric_keypad_iie/keyboard.json b/keyboards/converter/numeric_keypad_iie/keyboard.json
index 6dcffe7e21..6d64654846 100644
--- a/keyboards/converter/numeric_keypad_iie/keyboard.json
+++ b/keyboards/converter/numeric_keypad_iie/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Numeric Keypad IIe",
"manufacturer": "Apple Inc.",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0xFEED",
diff --git a/keyboards/converter/palm_usb/stowaway/keyboard.json b/keyboards/converter/palm_usb/stowaway/keyboard.json
index c93957b7d8..6488b5c23c 100644
--- a/keyboards/converter/palm_usb/stowaway/keyboard.json
+++ b/keyboards/converter/palm_usb/stowaway/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Stowaway Converter",
"manufacturer": "QMK",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0xFEED",
diff --git a/keyboards/converter/siemens_tastatur/keyboard.json b/keyboards/converter/siemens_tastatur/keyboard.json
index 710a2902cb..8f9f31bef1 100644
--- a/keyboards/converter/siemens_tastatur/keyboard.json
+++ b/keyboards/converter/siemens_tastatur/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Siemens Tastatur",
"manufacturer": "Yiancar-Designs",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0x8968",
diff --git a/keyboards/converter/sun_usb/info.json b/keyboards/converter/sun_usb/info.json
index e4031595ad..57c38520ff 100644
--- a/keyboards/converter/sun_usb/info.json
+++ b/keyboards/converter/sun_usb/info.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Sun Keyboard Converter",
"manufacturer": "QMK",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0xFEED",
diff --git a/keyboards/converter/usb_usb/info.json b/keyboards/converter/usb_usb/info.json
index 747fd49782..97d048160f 100644
--- a/keyboards/converter/usb_usb/info.json
+++ b/keyboards/converter/usb_usb/info.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "USB to USB Converter",
"manufacturer": "QMK",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0xFEED",
diff --git a/keyboards/converter/xt_usb/keyboard.json b/keyboards/converter/xt_usb/keyboard.json
index 649b283329..08e697b8e9 100644
--- a/keyboards/converter/xt_usb/keyboard.json
+++ b/keyboards/converter/xt_usb/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "IBM PC XT Keyboard Converter",
"manufacturer": "QMK",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0xFEED",
diff --git a/keyboards/cool836a/keyboard.json b/keyboards/cool836a/keyboard.json
index 3d32f45c9d..660ab72612 100644
--- a/keyboards/cool836a/keyboard.json
+++ b/keyboards/cool836a/keyboard.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false
diff --git a/keyboards/copenhagen_click/click_pad_v1/keyboard.json b/keyboards/copenhagen_click/click_pad_v1/keyboard.json
index d84630cfbc..0b133d8963 100755
--- a/keyboards/copenhagen_click/click_pad_v1/keyboard.json
+++ b/keyboards/copenhagen_click/click_pad_v1/keyboard.json
@@ -12,7 +12,6 @@
"backlight": true,
"bootmagic": false,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false
diff --git a/keyboards/coseyfannitutti/discipad/keyboard.json b/keyboards/coseyfannitutti/discipad/keyboard.json
index 5c491876e4..177129b6f9 100644
--- a/keyboards/coseyfannitutti/discipad/keyboard.json
+++ b/keyboards/coseyfannitutti/discipad/keyboard.json
@@ -12,7 +12,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false
diff --git a/keyboards/coseyfannitutti/romeo/keyboard.json b/keyboards/coseyfannitutti/romeo/keyboard.json
index 260589889a..d4edb56150 100644
--- a/keyboards/coseyfannitutti/romeo/keyboard.json
+++ b/keyboards/coseyfannitutti/romeo/keyboard.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false
diff --git a/keyboards/cosmo65/keyboard.json b/keyboards/cosmo65/keyboard.json
index 1814b3f0d0..690170b1d1 100644
--- a/keyboards/cosmo65/keyboard.json
+++ b/keyboards/cosmo65/keyboard.json
@@ -28,7 +28,6 @@
"features": {
"bootmagic": true,
"command": true,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/cozykeys/bloomer/v2/keyboard.json b/keyboards/cozykeys/bloomer/v2/keyboard.json
index 9f09db86fa..e6611921e7 100644
--- a/keyboards/cozykeys/bloomer/v2/keyboard.json
+++ b/keyboards/cozykeys/bloomer/v2/keyboard.json
@@ -5,7 +5,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false,
diff --git a/keyboards/cozykeys/bloomer/v3/keyboard.json b/keyboards/cozykeys/bloomer/v3/keyboard.json
index a0f04956af..1b58004d2e 100644
--- a/keyboards/cozykeys/bloomer/v3/keyboard.json
+++ b/keyboards/cozykeys/bloomer/v3/keyboard.json
@@ -5,7 +5,6 @@
"features": {
"bootmagic": false,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false,
diff --git a/keyboards/cozykeys/speedo/v2/keyboard.json b/keyboards/cozykeys/speedo/v2/keyboard.json
index 69dd33d6b6..de5215bcce 100644
--- a/keyboards/cozykeys/speedo/v2/keyboard.json
+++ b/keyboards/cozykeys/speedo/v2/keyboard.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": false,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false
diff --git a/keyboards/cradio/keyboard.json b/keyboards/cradio/keyboard.json
index 433c6e96e9..1600a1fd24 100644
--- a/keyboards/cradio/keyboard.json
+++ b/keyboards/cradio/keyboard.json
@@ -14,7 +14,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false,
diff --git a/keyboards/crawlpad/keyboard.json b/keyboards/crawlpad/keyboard.json
index d4f1c43971..0fbda2e6e7 100644
--- a/keyboards/crawlpad/keyboard.json
+++ b/keyboards/crawlpad/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Crawlpad",
"manufacturer": "WoodKeys.Click",
- "url": "",
"maintainer": "colemarkham",
"usb": {
"vid": "0xFEED",
@@ -29,7 +28,6 @@
"features": {
"bootmagic": false,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/crazy_keyboard_68/keyboard.json b/keyboards/crazy_keyboard_68/keyboard.json
index a53013bfb9..62d08a4849 100644
--- a/keyboards/crazy_keyboard_68/keyboard.json
+++ b/keyboards/crazy_keyboard_68/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Crazy_Keyboard 68",
"manufacturer": "chent7",
- "url": "",
"maintainer": "chent7",
"usb": {
"vid": "0xFEED",
@@ -11,7 +10,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/crbn/keyboard.json b/keyboards/crbn/keyboard.json
index 9febd33ed6..8ea9c9de2f 100644
--- a/keyboards/crbn/keyboard.json
+++ b/keyboards/crbn/keyboard.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"encoder": true,
"extrakey": true,
"mousekey": true,
diff --git a/keyboards/creatkeebs/glacier/keyboard.json b/keyboards/creatkeebs/glacier/keyboard.json
index 61e6bd9136..ccda609975 100644
--- a/keyboards/creatkeebs/glacier/keyboard.json
+++ b/keyboards/creatkeebs/glacier/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "glacier",
"manufacturer": "creatkeebs",
- "url": "",
"maintainer": "Timliuzhaolu",
"usb": {
"vid": "0x0410",
@@ -11,7 +10,6 @@
"features": {
"bootmagic": true,
"command": true,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false
diff --git a/keyboards/creatkeebs/thera/keyboard.json b/keyboards/creatkeebs/thera/keyboard.json
index ab10fda324..956987da87 100644
--- a/keyboards/creatkeebs/thera/keyboard.json
+++ b/keyboards/creatkeebs/thera/keyboard.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false
diff --git a/keyboards/crimsonkeyboards/resume1800/keyboard.json b/keyboards/crimsonkeyboards/resume1800/keyboard.json
index aa54b04801..9b68049c6d 100644
--- a/keyboards/crimsonkeyboards/resume1800/keyboard.json
+++ b/keyboards/crimsonkeyboards/resume1800/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Resume1800",
"manufacturer": "CrimsonKeyboards",
- "url": "",
"maintainer": "CrimsonKeyboards",
"usb": {
"vid": "0xFEED",
diff --git a/keyboards/crowboard/keyboard.json b/keyboards/crowboard/keyboard.json
index 1a9502cbd1..2686a3d99c 100644
--- a/keyboards/crowboard/keyboard.json
+++ b/keyboards/crowboard/keyboard.json
@@ -15,7 +15,6 @@
"rows": ["GP14", "GP15", "GP16", "GP17"]
},
"processor": "RP2040",
- "url": "",
"usb": {
"device_version": "1.0.0",
"pid": "0x0000",
diff --git a/keyboards/custommk/ergostrafer/keyboard.json b/keyboards/custommk/ergostrafer/keyboard.json
index 4f23417415..7c4f90d00a 100644
--- a/keyboards/custommk/ergostrafer/keyboard.json
+++ b/keyboards/custommk/ergostrafer/keyboard.json
@@ -10,7 +10,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/custommk/evo70/keyboard.json b/keyboards/custommk/evo70/keyboard.json
index 95464e691a..4dd8f8c01b 100644
--- a/keyboards/custommk/evo70/keyboard.json
+++ b/keyboards/custommk/evo70/keyboard.json
@@ -8,7 +8,6 @@
"bootmagic": true,
"mousekey": false,
"extrakey": true,
- "console": false,
"command": false,
"nkro": true,
"backlight": true,
diff --git a/keyboards/custommk/evo70_r2/keyboard.json b/keyboards/custommk/evo70_r2/keyboard.json
index 5f10d6705d..7fb79f3a7e 100644
--- a/keyboards/custommk/evo70_r2/keyboard.json
+++ b/keyboards/custommk/evo70_r2/keyboard.json
@@ -7,7 +7,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/cutie_club/borsdorf/keyboard.json b/keyboards/cutie_club/borsdorf/keyboard.json
index 30b5a74d64..b428915801 100644
--- a/keyboards/cutie_club/borsdorf/keyboard.json
+++ b/keyboards/cutie_club/borsdorf/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Borsdorf",
"manufacturer": "Cutie Club",
- "url": "",
"maintainer": "Cutie Club",
"usb": {
"vid": "0xFB9C",
@@ -11,7 +10,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false
diff --git a/keyboards/cutie_club/fidelity/keyboard.json b/keyboards/cutie_club/fidelity/keyboard.json
index 905460d64e..565cf90729 100644
--- a/keyboards/cutie_club/fidelity/keyboard.json
+++ b/keyboards/cutie_club/fidelity/keyboard.json
@@ -7,7 +7,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true
},
@@ -25,7 +24,6 @@
"resync": true
}
},
- "url": "",
"usb": {
"device_version": "0.0.1",
"pid": "0x4D1B",
diff --git a/keyboards/cutie_club/giant_macro_pad/keyboard.json b/keyboards/cutie_club/giant_macro_pad/keyboard.json
index f5cde334c0..ab447987ec 100644
--- a/keyboards/cutie_club/giant_macro_pad/keyboard.json
+++ b/keyboards/cutie_club/giant_macro_pad/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Cupar19 Giant Macro Pad",
"manufacturer": "Cutie Club",
- "url": "",
"maintainer": "cutie-club",
"usb": {
"vid": "0xFB9C",
@@ -11,7 +10,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false
diff --git a/keyboards/cutie_club/keebcats/denis/keyboard.json b/keyboards/cutie_club/keebcats/denis/keyboard.json
index 098ae39cd2..9744aefb3e 100644
--- a/keyboards/cutie_club/keebcats/denis/keyboard.json
+++ b/keyboards/cutie_club/keebcats/denis/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Keebcats Denis 80",
"manufacturer": "Cutie Club",
- "url": "",
"maintainer": "Cutie Club",
"usb": {
"vid": "0xFB9C",
@@ -11,7 +10,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false
diff --git a/keyboards/cutie_club/keebcats/dougal/keyboard.json b/keyboards/cutie_club/keebcats/dougal/keyboard.json
index 915e3ad15c..a357f4a8ac 100644
--- a/keyboards/cutie_club/keebcats/dougal/keyboard.json
+++ b/keyboards/cutie_club/keebcats/dougal/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Keebcats Dougal 65",
"manufacturer": "Cutie Club",
- "url": "",
"maintainer": "Cutie Club",
"usb": {
"vid": "0xFB9C",
@@ -11,7 +10,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false
diff --git a/keyboards/cutie_club/novus/keyboard.json b/keyboards/cutie_club/novus/keyboard.json
index 97bb81a71f..b1de3503a6 100644
--- a/keyboards/cutie_club/novus/keyboard.json
+++ b/keyboards/cutie_club/novus/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Novus",
"manufacturer": "Cutie Club",
- "url": "",
"maintainer": "Cutie Club",
"usb": {
"vid": "0xFB9C",
@@ -11,7 +10,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false
diff --git a/keyboards/cutie_club/wraith/keyboard.json b/keyboards/cutie_club/wraith/keyboard.json
index 7cc29caf25..b163eb76a9 100644
--- a/keyboards/cutie_club/wraith/keyboard.json
+++ b/keyboards/cutie_club/wraith/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Wraith",
"manufacturer": "Amber",
- "url": "",
"maintainer": "amberstarlight",
"usb": {
"vid": "0xFEED",
@@ -11,7 +10,6 @@
"features": {
"bootmagic": true,
"command": true,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/cx60/keyboard.json b/keyboards/cx60/keyboard.json
index 9748d934a6..c988151e04 100644
--- a/keyboards/cx60/keyboard.json
+++ b/keyboards/cx60/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "CX60",
"manufacturer": "CX60",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0x4358",
@@ -12,7 +11,6 @@
"backlight": true,
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/cxt_studio/12e3/keyboard.json b/keyboards/cxt_studio/12e3/keyboard.json
index 763f6bd5b9..0b8949cda7 100644
--- a/keyboards/cxt_studio/12e3/keyboard.json
+++ b/keyboards/cxt_studio/12e3/keyboard.json
@@ -64,7 +64,6 @@
{"flags": 4, "matrix": [2, 0], "x": 0, "y": 2}
]
},
- "url": "",
"usb": {
"device_version": "1.0.0",
"pid": "0x12E3",
diff --git a/keyboards/cxt_studio/12e4/keyboard.json b/keyboards/cxt_studio/12e4/keyboard.json
index b48e75f4ca..45d2835af4 100644
--- a/keyboards/cxt_studio/12e4/keyboard.json
+++ b/keyboards/cxt_studio/12e4/keyboard.json
@@ -66,7 +66,6 @@
{"flags": 4, "matrix": [2, 0], "x": 0, "y": 2}
]
},
- "url": "",
"usb": {
"device_version": "1.0.0",
"pid": "0xC401",
diff --git a/keyboards/cybergear/macro25/keyboard.json b/keyboards/cybergear/macro25/keyboard.json
index a1fca49406..0f5971fc08 100644
--- a/keyboards/cybergear/macro25/keyboard.json
+++ b/keyboards/cybergear/macro25/keyboard.json
@@ -31,7 +31,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/dailycraft/bat43/info.json b/keyboards/dailycraft/bat43/info.json
index 19aaa540dd..a84438d6f2 100644
--- a/keyboards/dailycraft/bat43/info.json
+++ b/keyboards/dailycraft/bat43/info.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "bat43",
"manufacturer": "yfuku",
- "url": "",
"maintainer": "yfuku",
"usb": {
"vid": "0x5946",
@@ -11,7 +10,6 @@
"features": {
"bootmagic": false,
"command": false,
- "console": false,
"extrakey": false,
"mousekey": true,
"nkro": false
diff --git a/keyboards/dailycraft/claw44/rev1/keyboard.json b/keyboards/dailycraft/claw44/rev1/keyboard.json
index 62b069a490..2391bc262f 100644
--- a/keyboards/dailycraft/claw44/rev1/keyboard.json
+++ b/keyboards/dailycraft/claw44/rev1/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "claw44",
"manufacturer": "yfuku",
- "url": "",
"maintainer": "yfuku",
"usb": {
"vid": "0x5946",
diff --git a/keyboards/dailycraft/owl8/keyboard.json b/keyboards/dailycraft/owl8/keyboard.json
index a4a1a70e3e..bc4e19edf5 100644
--- a/keyboards/dailycraft/owl8/keyboard.json
+++ b/keyboards/dailycraft/owl8/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "owl8",
"manufacturer": "yfuku",
- "url": "",
"maintainer": "yfuku",
"usb": {
"vid": "0x5946",
@@ -19,7 +18,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"encoder": true,
"extrakey": true,
"mousekey": true,
diff --git a/keyboards/dailycraft/sandbox/rev1/keyboard.json b/keyboards/dailycraft/sandbox/rev1/keyboard.json
index 8658de96df..50a114457d 100644
--- a/keyboards/dailycraft/sandbox/rev1/keyboard.json
+++ b/keyboards/dailycraft/sandbox/rev1/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "sandbox rev1",
"manufacturer": "yfuku",
- "url": "",
"maintainer": "yfuku",
"usb": {
"vid": "0x5946",
diff --git a/keyboards/dailycraft/sandbox/rev2/keyboard.json b/keyboards/dailycraft/sandbox/rev2/keyboard.json
index 1eb61ee12c..b1991cf56c 100644
--- a/keyboards/dailycraft/sandbox/rev2/keyboard.json
+++ b/keyboards/dailycraft/sandbox/rev2/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "sandbox rev2",
"manufacturer": "yfuku",
- "url": "",
"maintainer": "yfuku",
"usb": {
"vid": "0x5946",
diff --git a/keyboards/dailycraft/stickey4/keyboard.json b/keyboards/dailycraft/stickey4/keyboard.json
index d0e2a491d3..0075f53aa6 100644
--- a/keyboards/dailycraft/stickey4/keyboard.json
+++ b/keyboards/dailycraft/stickey4/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "stickey4",
"manufacturer": "yfuku",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0x5946",
@@ -19,7 +18,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"encoder": true,
"extrakey": true,
"mousekey": true,
diff --git a/keyboards/dailycraft/wings42/rev1/keyboard.json b/keyboards/dailycraft/wings42/rev1/keyboard.json
index f4a3949c61..307b675d06 100644
--- a/keyboards/dailycraft/wings42/rev1/keyboard.json
+++ b/keyboards/dailycraft/wings42/rev1/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "wings42 rev1",
"manufacturer": "yfuku",
- "url": "",
"maintainer": "yfuku",
"usb": {
"vid": "0x5946",
diff --git a/keyboards/dailycraft/wings42/rev1_extkeys/keyboard.json b/keyboards/dailycraft/wings42/rev1_extkeys/keyboard.json
index bebe264cc0..ef5b4331b1 100644
--- a/keyboards/dailycraft/wings42/rev1_extkeys/keyboard.json
+++ b/keyboards/dailycraft/wings42/rev1_extkeys/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "wings42 rev1_extkeys",
"manufacturer": "yfuku",
- "url": "",
"maintainer": "yfuku",
"usb": {
"vid": "0x5946",
diff --git a/keyboards/dailycraft/wings42/rev2/keyboard.json b/keyboards/dailycraft/wings42/rev2/keyboard.json
index 3f2cb1b766..4d41f54f3b 100644
--- a/keyboards/dailycraft/wings42/rev2/keyboard.json
+++ b/keyboards/dailycraft/wings42/rev2/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "wings42 rev2",
"manufacturer": "yfuku",
- "url": "",
"maintainer": "yfuku",
"usb": {
"vid": "0x5946",
diff --git a/keyboards/daji/seis_cinco/keyboard.json b/keyboards/daji/seis_cinco/keyboard.json
index 358dfc17ce..fd95b96224 100644
--- a/keyboards/daji/seis_cinco/keyboard.json
+++ b/keyboards/daji/seis_cinco/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Seis Cinco",
"manufacturer": "Daji",
- "url": "",
"maintainer": "toraifu",
"usb": {
"vid": "0xBF00",
@@ -11,7 +10,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/dark/magnum_ergo_1/keyboard.json b/keyboards/dark/magnum_ergo_1/keyboard.json
index a52de6decc..4e0548f061 100644
--- a/keyboards/dark/magnum_ergo_1/keyboard.json
+++ b/keyboards/dark/magnum_ergo_1/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Magnum Ergo 1",
"manufacturer": "Gondolindrim X Dark",
- "url": "",
"maintainer": "Gondolindrim",
"usb": {
"vid": "0x4744",
@@ -20,7 +19,6 @@
"backlight": true,
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": true
diff --git a/keyboards/darkproject/kd83a_bfg_edition/keyboard.json b/keyboards/darkproject/kd83a_bfg_edition/keyboard.json
index 23bd2b6981..270a5c57e5 100644
--- a/keyboards/darkproject/kd83a_bfg_edition/keyboard.json
+++ b/keyboards/darkproject/kd83a_bfg_edition/keyboard.json
@@ -15,7 +15,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"encoder": true,
"extrakey": true,
"mousekey": true,
@@ -174,7 +173,6 @@
],
"sleep": true
},
- "url": "",
"usb": {
"device_version": "0.0.3",
"pid": "0xE392",
diff --git a/keyboards/darkproject/kd87a_bfg_edition/keyboard.json b/keyboards/darkproject/kd87a_bfg_edition/keyboard.json
index 1e0d7f5e8b..cd6ae14108 100644
--- a/keyboards/darkproject/kd87a_bfg_edition/keyboard.json
+++ b/keyboards/darkproject/kd87a_bfg_edition/keyboard.json
@@ -180,7 +180,6 @@
],
"sleep": true
},
- "url": "",
"usb": {
"device_version": "0.0.3",
"pid": "0xE393",
diff --git a/keyboards/darmoshark/k3/keyboard.json b/keyboards/darmoshark/k3/keyboard.json
index ff5047b93a..d3fb379427 100644
--- a/keyboards/darmoshark/k3/keyboard.json
+++ b/keyboards/darmoshark/k3/keyboard.json
@@ -2,7 +2,6 @@
"manufacturer": "Darmoshark",
"keyboard_name": "K3 QMK",
"maintainer": "Proceee",
- "url": "",
"processor": "WB32FQ95",
"bootloader": "wb32-dfu",
"usb": {
@@ -15,7 +14,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/dasky/reverb/keyboard.json b/keyboards/dasky/reverb/keyboard.json
index e7e203ebf6..bfeb9ef675 100644
--- a/keyboards/dasky/reverb/keyboard.json
+++ b/keyboards/dasky/reverb/keyboard.json
@@ -124,7 +124,6 @@
{"matrix": [3, 0], "x": 129, "y": 13, "flags": 4}
]
},
- "url": "",
"usb": {
"device_version": "1.0.0",
"pid": "0x0001",
diff --git a/keyboards/db/db63/keyboard.json b/keyboards/db/db63/keyboard.json
index ec41b8c313..b3db08c01c 100644
--- a/keyboards/db/db63/keyboard.json
+++ b/keyboards/db/db63/keyboard.json
@@ -12,7 +12,6 @@
"backlight": true,
"bootmagic": false,
"command": true,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false,
diff --git a/keyboards/dc01/arrow/keyboard.json b/keyboards/dc01/arrow/keyboard.json
index f56646367f..c8a2b229ea 100644
--- a/keyboards/dc01/arrow/keyboard.json
+++ b/keyboards/dc01/arrow/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "DC01 Arrow",
"manufacturer": "Mechboards",
- "url": "",
"maintainer": "Yiancar-Designs",
"usb": {
"vid": "0x8968",
diff --git a/keyboards/dc01/left/keyboard.json b/keyboards/dc01/left/keyboard.json
index 2238f67564..01942c099c 100644
--- a/keyboards/dc01/left/keyboard.json
+++ b/keyboards/dc01/left/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "DC01 Left",
"manufacturer": "Mechboards",
- "url": "",
"maintainer": "Yiancar-Designs",
"usb": {
"vid": "0x8968",
diff --git a/keyboards/dc01/numpad/keyboard.json b/keyboards/dc01/numpad/keyboard.json
index 900af6e542..b78d8b9ee5 100644
--- a/keyboards/dc01/numpad/keyboard.json
+++ b/keyboards/dc01/numpad/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "DC01 Numpad",
"manufacturer": "Mechboards",
- "url": "",
"maintainer": "Yiancar-Designs",
"usb": {
"vid": "0x8968",
diff --git a/keyboards/dc01/right/keyboard.json b/keyboards/dc01/right/keyboard.json
index 36dc7a7056..3811ec3331 100644
--- a/keyboards/dc01/right/keyboard.json
+++ b/keyboards/dc01/right/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "DC01 Right",
"manufacturer": "Mechboards",
- "url": "",
"maintainer": "Yiancar-Designs",
"usb": {
"vid": "0x8968",
diff --git a/keyboards/decent/tkl/keyboard.json b/keyboards/decent/tkl/keyboard.json
index 96b472c6fc..ff51650197 100644
--- a/keyboards/decent/tkl/keyboard.json
+++ b/keyboards/decent/tkl/keyboard.json
@@ -12,7 +12,6 @@
"rgb_matrix": true,
"oled": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": true
diff --git a/keyboards/deemen17/de60fs/config.h b/keyboards/deemen17/de60/r1/config.h
index e21d4ae373..e21d4ae373 100644
--- a/keyboards/deemen17/de60fs/config.h
+++ b/keyboards/deemen17/de60/r1/config.h
diff --git a/keyboards/deemen17/de60fs/keyboard.json b/keyboards/deemen17/de60/r1/keyboard.json
index 573c012baa..62de2691ce 100644
--- a/keyboards/deemen17/de60fs/keyboard.json
+++ b/keyboards/deemen17/de60/r1/keyboard.json
@@ -1,6 +1,6 @@
{
- "manufacturer": "Deemen17",
- "keyboard_name": "De60fs",
+ "manufacturer": "Deemen17 Works",
+ "keyboard_name": "DE60 R1",
"maintainer": "Deemen17",
"bootloader": "rp2040",
"build": {
diff --git a/keyboards/deemen17/de60fs/keymaps/default/keymap.c b/keyboards/deemen17/de60/r1/keymaps/default/keymap.c
index f93f61d768..f93f61d768 100644
--- a/keyboards/deemen17/de60fs/keymaps/default/keymap.c
+++ b/keyboards/deemen17/de60/r1/keymaps/default/keymap.c
diff --git a/keyboards/deemen17/de60fs/readme.md b/keyboards/deemen17/de60/r1/readme.md
index e5135691a8..e71a2fc412 100644
--- a/keyboards/deemen17/de60fs/readme.md
+++ b/keyboards/deemen17/de60/r1/readme.md
@@ -1,6 +1,6 @@
-# De60fs
+# DE60 Round 1
-![De60fs](https://i.imgur.com/7hpYaoXh.jpg)
+![DE60 R1](https://i.imgur.com/7hpYaoXh.jpg)
A GH60 form factor PCB for 60% keyboards. Uses a Left USB Type C connector or 5 JST SH positions for daughter board.
@@ -10,11 +10,11 @@ A GH60 form factor PCB for 60% keyboards. Uses a Left USB Type C connector or 5
Make example for this keyboard (after setting up your build environment):
- make deemen17/de60fs:default
+ make deemen17/de60/r1:default
Flashing example for this keyboard:
- make deemen17/de60fs:default:flash
+ make deemen17/de60/r1: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/deemen17/de60/readme.md b/keyboards/deemen17/de60/readme.md
new file mode 100644
index 0000000000..c5ea64a6a6
--- /dev/null
+++ b/keyboards/deemen17/de60/readme.md
@@ -0,0 +1,17 @@
+# DE60
+
+Deemen17 Works's 60% PCB Platform, which works as the base for our 60%-layout PCB designs.
+
+* Keyboard Maintainer: [Deemen17](https://github.com/Deemen17)
+* Hardware Supported: DE60 PCBs
+* Hardware Availability: [Deemen17 Facebook Page](https://www.facebook.com/deemen17/), [Deemen17 Works Instagram](https://www.instagram.com/deemen17.works)
+
+See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
+
+## Bootloader
+
+Enter the bootloader in 3 ways:
+
+* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (ESC/Escape) and plug in the keyboard
+* **Physical reset button**: Double tap the button RESET 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/delikeeb/flatbread60/keyboard.json b/keyboards/delikeeb/flatbread60/keyboard.json
index b0cf794dfb..2e55e673a4 100644
--- a/keyboards/delikeeb/flatbread60/keyboard.json
+++ b/keyboards/delikeeb/flatbread60/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Flatbread60",
"manufacturer": "delikeeb",
- "url": "",
"maintainer": "noclew",
"usb": {
"vid": "0x9906",
@@ -32,7 +31,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false,
diff --git a/keyboards/delikeeb/vaguettelite/keyboard.json b/keyboards/delikeeb/vaguettelite/keyboard.json
index 56919958f2..e78cc9592f 100644
--- a/keyboards/delikeeb/vaguettelite/keyboard.json
+++ b/keyboards/delikeeb/vaguettelite/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Vaguette Lite",
"manufacturer": "dELIKEEb",
- "url": "",
"maintainer": "noclew",
"usb": {
"vid": "0x9906",
@@ -11,7 +10,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"encoder": true,
"extrakey": true,
"mousekey": true,
diff --git a/keyboards/delikeeb/vanana/info.json b/keyboards/delikeeb/vanana/info.json
index 520cd92b09..0ba67d4af5 100644
--- a/keyboards/delikeeb/vanana/info.json
+++ b/keyboards/delikeeb/vanana/info.json
@@ -1,6 +1,5 @@
{
"manufacturer": "dELIKEEb",
- "url": "",
"maintainer": "noclew",
"usb": {
"vid": "0x9906",
diff --git a/keyboards/delikeeb/vanana/rev1/keyboard.json b/keyboards/delikeeb/vanana/rev1/keyboard.json
index d8d5d2e4c9..d2e2573193 100644
--- a/keyboards/delikeeb/vanana/rev1/keyboard.json
+++ b/keyboards/delikeeb/vanana/rev1/keyboard.json
@@ -31,7 +31,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"encoder": true,
"extrakey": true,
"mousekey": true,
diff --git a/keyboards/delikeeb/vanana/rev2/keyboard.json b/keyboards/delikeeb/vanana/rev2/keyboard.json
index 9da7a9dd88..bffa44ab8e 100644
--- a/keyboards/delikeeb/vanana/rev2/keyboard.json
+++ b/keyboards/delikeeb/vanana/rev2/keyboard.json
@@ -31,7 +31,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"encoder": true,
"extrakey": true,
"mousekey": true,
diff --git a/keyboards/delikeeb/vaneela/keyboard.json b/keyboards/delikeeb/vaneela/keyboard.json
index 5f76c8b7ab..be59169e3c 100644
--- a/keyboards/delikeeb/vaneela/keyboard.json
+++ b/keyboards/delikeeb/vaneela/keyboard.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false
diff --git a/keyboards/delikeeb/vaneelaex/keyboard.json b/keyboards/delikeeb/vaneelaex/keyboard.json
index 9810d341ab..716ec96b73 100644
--- a/keyboards/delikeeb/vaneelaex/keyboard.json
+++ b/keyboards/delikeeb/vaneelaex/keyboard.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false
diff --git a/keyboards/delikeeb/waaffle/rev3/elite_c/keyboard.json b/keyboards/delikeeb/waaffle/rev3/elite_c/keyboard.json
index 22fb33aade..fc723363e8 100644
--- a/keyboards/delikeeb/waaffle/rev3/elite_c/keyboard.json
+++ b/keyboards/delikeeb/waaffle/rev3/elite_c/keyboard.json
@@ -4,7 +4,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false,
diff --git a/keyboards/delikeeb/waaffle/rev3/info.json b/keyboards/delikeeb/waaffle/rev3/info.json
index 1201411d46..761c2dc3c7 100644
--- a/keyboards/delikeeb/waaffle/rev3/info.json
+++ b/keyboards/delikeeb/waaffle/rev3/info.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Waaffle rev3",
"manufacturer": "dELIKEEb",
- "url": "",
"maintainer": "noclew",
"usb": {
"vid": "0x9906",
diff --git a/keyboards/delikeeb/waaffle/rev3/pro_micro/keyboard.json b/keyboards/delikeeb/waaffle/rev3/pro_micro/keyboard.json
index 55e68c4393..d92c0fd0ec 100644
--- a/keyboards/delikeeb/waaffle/rev3/pro_micro/keyboard.json
+++ b/keyboards/delikeeb/waaffle/rev3/pro_micro/keyboard.json
@@ -4,7 +4,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false
diff --git a/keyboards/deltapad/keyboard.json b/keyboards/deltapad/keyboard.json
index 23683bbd1e..64c17bf562 100644
--- a/keyboards/deltapad/keyboard.json
+++ b/keyboards/deltapad/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "deltapad",
"manufacturer": "Richard Snijder",
- "url": "",
"maintainer": "Richard Snijder",
"usb": {
"vid": "0xFEED",
@@ -11,7 +10,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false
diff --git a/keyboards/demiurge/keyboard.json b/keyboards/demiurge/keyboard.json
index ad5264323b..bf42c58cb6 100644
--- a/keyboards/demiurge/keyboard.json
+++ b/keyboards/demiurge/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Demiurge",
"manufacturer": "ojthetiny",
- "url": "",
"maintainer": "ojthetiny",
"usb": {
"vid": "0x6F6A",
@@ -11,7 +10,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": true,
diff --git a/keyboards/deng/djam/keyboard.json b/keyboards/deng/djam/keyboard.json
index 94e2aca2ec..6e40eef155 100644
--- a/keyboards/deng/djam/keyboard.json
+++ b/keyboards/deng/djam/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "DJam",
"manufacturer": "Leo Deng",
- "url": "",
"maintainer": "myst729",
"usb": {
"vid": "0xDE29",
@@ -22,7 +21,6 @@
"backlight": true,
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": true,
diff --git a/keyboards/deng/thirty/keyboard.json b/keyboards/deng/thirty/keyboard.json
index a26d727f12..da36ae19f5 100644
--- a/keyboards/deng/thirty/keyboard.json
+++ b/keyboards/deng/thirty/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Thirty",
"manufacturer": "Leo Deng",
- "url": "",
"maintainer": "myst729",
"usb": {
"vid": "0xDE29",
diff --git a/keyboards/densus/alveus/mx/keyboard.json b/keyboards/densus/alveus/mx/keyboard.json
index 839c84fb45..dd3f1bde05 100644
--- a/keyboards/densus/alveus/mx/keyboard.json
+++ b/keyboards/densus/alveus/mx/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Alveus",
"manufacturer": "Mechlovin Studio",
- "url": "",
"usb": {
"vid": "0xDE00",
"pid": "0x0F70",
diff --git a/keyboards/dichotomy/keyboard.json b/keyboards/dichotomy/keyboard.json
index bc3546a082..33a799b0e3 100644
--- a/keyboards/dichotomy/keyboard.json
+++ b/keyboards/dichotomy/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Dichotomy",
"manufacturer": "Broekhuijsen",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0xFEED",
diff --git a/keyboards/dinofizz/fnrow/v1/keyboard.json b/keyboards/dinofizz/fnrow/v1/keyboard.json
index 16f80b780d..be4284e4b5 100644
--- a/keyboards/dinofizz/fnrow/v1/keyboard.json
+++ b/keyboards/dinofizz/fnrow/v1/keyboard.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": false,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": false
diff --git a/keyboards/dk60/keyboard.json b/keyboards/dk60/keyboard.json
index a88920814d..63b81384f7 100644
--- a/keyboards/dk60/keyboard.json
+++ b/keyboards/dk60/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "DK60",
"manufacturer": "DARKOU",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0xFEED",
@@ -11,7 +10,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": true,
diff --git a/keyboards/dm9records/ergoinu/keyboard.json b/keyboards/dm9records/ergoinu/keyboard.json
index 1f91a06600..0e124d1a21 100644
--- a/keyboards/dm9records/ergoinu/keyboard.json
+++ b/keyboards/dm9records/ergoinu/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Ergoinu",
"manufacturer": "Dm9Records",
- "url": "",
"maintainer": "hsgw(Takuya Urakawa)",
"usb": {
"vid": "0x04D8",
diff --git a/keyboards/dm9records/lain/keyboard.json b/keyboards/dm9records/lain/keyboard.json
index 32cece9f15..79a4bbfb4b 100644
--- a/keyboards/dm9records/lain/keyboard.json
+++ b/keyboards/dm9records/lain/keyboard.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/dm9records/plaid/keymaps/default/keymap.c b/keyboards/dm9records/plaid/keymaps/default/keymap.c
index 0d8d24c575..3ee327f65e 100644
--- a/keyboards/dm9records/plaid/keymaps/default/keymap.c
+++ b/keyboards/dm9records/plaid/keymaps/default/keymap.c
@@ -311,9 +311,9 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
if (!eeconfig_is_enabled()) {
eeconfig_init();
}
- keymap_config.raw = eeconfig_read_keymap();
+ eeconfig_read_keymap(&keymap_config);
keymap_config.nkro = 1;
- eeconfig_update_keymap(keymap_config.raw);
+ eeconfig_update_keymap(&keymap_config);
}
return false;
break;
diff --git a/keyboards/dmqdesign/spin/keyboard.json b/keyboards/dmqdesign/spin/keyboard.json
index b271f1ebd5..1e3c51f395 100644
--- a/keyboards/dmqdesign/spin/keyboard.json
+++ b/keyboards/dmqdesign/spin/keyboard.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": false,
"command": false,
- "console": false,
"encoder": true,
"extrakey": true,
"midi": true,
diff --git a/keyboards/dnworks/frltkl/keyboard.json b/keyboards/dnworks/frltkl/keyboard.json
index 86796a6084..88a9db338b 100644
--- a/keyboards/dnworks/frltkl/keyboard.json
+++ b/keyboards/dnworks/frltkl/keyboard.json
@@ -13,7 +13,6 @@
"bootmagic": true,
"mousekey": true,
"extrakey": true,
- "console": false,
"command": false,
"nkro": true
},
diff --git a/keyboards/dnworks/sbl/keyboard.json b/keyboards/dnworks/sbl/keyboard.json
index 2086fc5aa1..44cb250533 100644
--- a/keyboards/dnworks/sbl/keyboard.json
+++ b/keyboards/dnworks/sbl/keyboard.json
@@ -13,7 +13,6 @@
"bootmagic": true,
"mousekey": true,
"extrakey": true,
- "console": false,
"command": false,
"nkro": true
},
diff --git a/keyboards/do60/keyboard.json b/keyboards/do60/keyboard.json
index 2a7d585f65..2a16cf0adf 100644
--- a/keyboards/do60/keyboard.json
+++ b/keyboards/do60/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Do60",
"manufacturer": "Doyu Studio",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0x4453",
@@ -12,7 +11,6 @@
"backlight": true,
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/doio/kb04/keyboard.json b/keyboards/doio/kb04/keyboard.json
index 2455f82e03..8936c7ff36 100644
--- a/keyboards/doio/kb04/keyboard.json
+++ b/keyboards/doio/kb04/keyboard.json
@@ -15,7 +15,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"encoder": true,
"extrakey": true,
"mousekey": true,
diff --git a/keyboards/doio/kb09/keyboard.json b/keyboards/doio/kb09/keyboard.json
index e3012f510c..9cf880f39d 100644
--- a/keyboards/doio/kb09/keyboard.json
+++ b/keyboards/doio/kb09/keyboard.json
@@ -13,7 +13,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"encoder": true,
"extrakey": true,
"mousekey": true,
@@ -88,7 +87,6 @@
"max_brightness": 200,
"sleep": true
},
- "url": "",
"usb": {
"device_version": "0.0.1",
"pid": "0x0901",
diff --git a/keyboards/doio/kb12/keyboard.json b/keyboards/doio/kb12/keyboard.json
index c87d5f9544..708e4a97d7 100644
--- a/keyboards/doio/kb12/keyboard.json
+++ b/keyboards/doio/kb12/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "KB12-01",
"manufacturer": "DOIO",
- "url": "",
"maintainer": "DOIO2022",
"usb": {
"vid": "0xD010",
@@ -95,7 +94,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/doio/kb19/keyboard.json b/keyboards/doio/kb19/keyboard.json
index faaaedd36f..4fe6758a62 100644
--- a/keyboards/doio/kb19/keyboard.json
+++ b/keyboards/doio/kb19/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "KB19-01",
"manufacturer": "DOIO",
- "url": "",
"maintainer": "DOIO2022",
"usb": {
"vid": "0xD010",
@@ -13,7 +12,6 @@
"bootmagic": true,
"mousekey": true,
"extrakey": true,
- "console": false,
"command": false,
"encoder": true,
"nkro": false,
diff --git a/keyboards/doio/kb30/keyboard.json b/keyboards/doio/kb30/keyboard.json
index 388df2d9e3..6b815eb929 100644
--- a/keyboards/doio/kb30/keyboard.json
+++ b/keyboards/doio/kb30/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "KB30-01",
"manufacturer": "DOIO",
- "url": "",
"maintainer": "DOIO2022",
"usb": {
"vid": "0xD010",
@@ -94,7 +93,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"encoder": true,
"extrakey": true,
"mousekey": true,
diff --git a/keyboards/doio/kb38/keyboard.json b/keyboards/doio/kb38/keyboard.json
index a46f1a6a45..55c5b7df89 100644
--- a/keyboards/doio/kb38/keyboard.json
+++ b/keyboards/doio/kb38/keyboard.json
@@ -8,7 +8,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/doio/kb3x/keyboard.json b/keyboards/doio/kb3x/keyboard.json
index be0d138439..eb9e843745 100644
--- a/keyboards/doio/kb3x/keyboard.json
+++ b/keyboards/doio/kb3x/keyboard.json
@@ -86,7 +86,6 @@
"max_brightness": 200,
"sleep": true
},
- "url": "",
"usb": {
"device_version": "0.0.1",
"pid": "0x3F01",
diff --git a/keyboards/donutcables/budget96/keyboard.json b/keyboards/donutcables/budget96/keyboard.json
index eaba1b7c46..6b9b99abd9 100644
--- a/keyboards/donutcables/budget96/keyboard.json
+++ b/keyboards/donutcables/budget96/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Budget96",
"manufacturer": "DonutCables",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0x4443",
@@ -12,7 +11,6 @@
"backlight": true,
"bootmagic": false,
"command": true,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false,
diff --git a/keyboards/donutcables/scrabblepad/keyboard.json b/keyboards/donutcables/scrabblepad/keyboard.json
index aa03523ed8..a6d668c2ad 100644
--- a/keyboards/donutcables/scrabblepad/keyboard.json
+++ b/keyboards/donutcables/scrabblepad/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "ScrabblePad",
"manufacturer": "DonutCables",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0x4443",
@@ -11,7 +10,6 @@
"features": {
"bootmagic": false,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": true
diff --git a/keyboards/doppelganger/keyboard.json b/keyboards/doppelganger/keyboard.json
index 8856927012..72b3604596 100644
--- a/keyboards/doppelganger/keyboard.json
+++ b/keyboards/doppelganger/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Doppelganger",
"manufacturer": "Yiancar-Designs",
- "url": "",
"maintainer": "yiancar",
"usb": {
"vid": "0x8968",
diff --git a/keyboards/doro67/multi/keyboard.json b/keyboards/doro67/multi/keyboard.json
index a3a652e40b..6749a234cf 100644
--- a/keyboards/doro67/multi/keyboard.json
+++ b/keyboards/doro67/multi/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Doro67 Multi",
"manufacturer": "Backprop Studio",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0x4250",
diff --git a/keyboards/doro67/rgb/keyboard.json b/keyboards/doro67/rgb/keyboard.json
index 8f372dc9c7..d0fb842bf5 100644
--- a/keyboards/doro67/rgb/keyboard.json
+++ b/keyboards/doro67/rgb/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Doro67 RGB",
"manufacturer": "Backprop Studio",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0x4250",
@@ -57,7 +56,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false,
diff --git a/keyboards/dotmod/dymium65/keyboard.json b/keyboards/dotmod/dymium65/keyboard.json
index c5cd1b2cb7..d4406f979a 100644
--- a/keyboards/dotmod/dymium65/keyboard.json
+++ b/keyboards/dotmod/dymium65/keyboard.json
@@ -19,7 +19,6 @@
"features": {
"bootmagic": true,
"extrakey": true,
- "console": false,
"command": false,
"nkro": true,
"mousekey": true,
diff --git a/keyboards/dp3000/rev1/keyboard.json b/keyboards/dp3000/rev1/keyboard.json
index aa7ff8bc0a..2723edb778 100644
--- a/keyboards/dp3000/rev1/keyboard.json
+++ b/keyboards/dp3000/rev1/keyboard.json
@@ -3,7 +3,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"encoder": true,
"oled": true,
diff --git a/keyboards/dp3000/rev2/keyboard.json b/keyboards/dp3000/rev2/keyboard.json
index 7d82c38460..241915a66f 100644
--- a/keyboards/dp3000/rev2/keyboard.json
+++ b/keyboards/dp3000/rev2/keyboard.json
@@ -3,7 +3,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"encoder": true,
"oled": true,
diff --git a/keyboards/dp60/keyboard.json b/keyboards/dp60/keyboard.json
index 51a2c08d47..2c42747bb4 100644
--- a/keyboards/dp60/keyboard.json
+++ b/keyboards/dp60/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "DP60",
"manufacturer": "astro",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0x60BE",
diff --git a/keyboards/draculad/keyboard.json b/keyboards/draculad/keyboard.json
index 3ba2f0efae..c72bda7c38 100644
--- a/keyboards/draculad/keyboard.json
+++ b/keyboards/draculad/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "DracuLad",
"manufacturer": "MangoIV",
- "url": "",
"maintainer": "MangoIV",
"usb": {
"vid": "0xFEED",
diff --git a/keyboards/draytronics/daisy/keyboard.json b/keyboards/draytronics/daisy/keyboard.json
index 92b0b54f43..069570c930 100644
--- a/keyboards/draytronics/daisy/keyboard.json
+++ b/keyboards/draytronics/daisy/keyboard.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"encoder": true,
"extrakey": true,
"mousekey": true,
diff --git a/keyboards/draytronics/elise/keyboard.json b/keyboards/draytronics/elise/keyboard.json
index 782c61d764..6a273d0d1d 100644
--- a/keyboards/draytronics/elise/keyboard.json
+++ b/keyboards/draytronics/elise/keyboard.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": true,
"command": true,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/draytronics/elise_v2/keyboard.json b/keyboards/draytronics/elise_v2/keyboard.json
index 217f837e19..1feabdbb7c 100644
--- a/keyboards/draytronics/elise_v2/keyboard.json
+++ b/keyboards/draytronics/elise_v2/keyboard.json
@@ -32,7 +32,6 @@
"features": {
"bootmagic": true,
"command": true,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/drewkeys/iskar/keyboard.json b/keyboards/drewkeys/iskar/keyboard.json
index 66d4ebd74d..8a3b081b6a 100644
--- a/keyboards/drewkeys/iskar/keyboard.json
+++ b/keyboards/drewkeys/iskar/keyboard.json
@@ -14,7 +14,6 @@
"features": {
"bootmagic": false,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/drhigsby/bkf/keyboard.json b/keyboards/drhigsby/bkf/keyboard.json
index a3933c8228..c087c29389 100644
--- a/keyboards/drhigsby/bkf/keyboard.json
+++ b/keyboards/drhigsby/bkf/keyboard.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": false,
"command": false,
- "console": false,
"encoder": true,
"extrakey": true,
"mousekey": false,
diff --git a/keyboards/drhigsby/dubba175/keyboard.json b/keyboards/drhigsby/dubba175/keyboard.json
index 69570a1c2f..3d11c2772c 100644
--- a/keyboards/drhigsby/dubba175/keyboard.json
+++ b/keyboards/drhigsby/dubba175/keyboard.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": false,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/drhigsby/ogurec/info.json b/keyboards/drhigsby/ogurec/info.json
index f3c753f2c0..08158faeb3 100644
--- a/keyboards/drhigsby/ogurec/info.json
+++ b/keyboards/drhigsby/ogurec/info.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": false,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": true
diff --git a/keyboards/drhigsby/packrat/keyboard.json b/keyboards/drhigsby/packrat/keyboard.json
index a836b0bf96..feda74b7a9 100644
--- a/keyboards/drhigsby/packrat/keyboard.json
+++ b/keyboards/drhigsby/packrat/keyboard.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": false,
"command": false,
- "console": false,
"encoder": true,
"extrakey": true,
"mousekey": true,
diff --git a/keyboards/drop/alt/v2/keyboard.json b/keyboards/drop/alt/v2/keyboard.json
index 8363aca5cf..9ef109bb8a 100644
--- a/keyboards/drop/alt/v2/keyboard.json
+++ b/keyboards/drop/alt/v2/keyboard.json
@@ -21,7 +21,6 @@
"rgb_matrix": true,
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/drop/cstm65/keyboard.json b/keyboards/drop/cstm65/keyboard.json
index 708649966e..736f57399e 100644
--- a/keyboards/drop/cstm65/keyboard.json
+++ b/keyboards/drop/cstm65/keyboard.json
@@ -21,7 +21,6 @@
"rgb_matrix": true,
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/drop/cstm80/keyboard.json b/keyboards/drop/cstm80/keyboard.json
index 5ce4e666b1..c599815bc0 100644
--- a/keyboards/drop/cstm80/keyboard.json
+++ b/keyboards/drop/cstm80/keyboard.json
@@ -21,7 +21,6 @@
"rgb_matrix": true,
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/drop/ctrl/v2/keyboard.json b/keyboards/drop/ctrl/v2/keyboard.json
index f461800dde..917ed3556f 100644
--- a/keyboards/drop/ctrl/v2/keyboard.json
+++ b/keyboards/drop/ctrl/v2/keyboard.json
@@ -21,7 +21,6 @@
"rgb_matrix": true,
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/drop/sense75/keyboard.json b/keyboards/drop/sense75/keyboard.json
index 052b494375..4e28b647ab 100644
--- a/keyboards/drop/sense75/keyboard.json
+++ b/keyboards/drop/sense75/keyboard.json
@@ -22,7 +22,6 @@
"encoder": true,
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/drop/shift/v2/keyboard.json b/keyboards/drop/shift/v2/keyboard.json
index 212263d71c..8c3f97970f 100644
--- a/keyboards/drop/shift/v2/keyboard.json
+++ b/keyboards/drop/shift/v2/keyboard.json
@@ -21,7 +21,6 @@
"rgb_matrix": true,
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/drop/thekey/v1/keyboard.json b/keyboards/drop/thekey/v1/keyboard.json
index f1f204e3a0..b975610372 100644
--- a/keyboards/drop/thekey/v1/keyboard.json
+++ b/keyboards/drop/thekey/v1/keyboard.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"backlight": true,
diff --git a/keyboards/drop/thekey/v2/keyboard.json b/keyboards/drop/thekey/v2/keyboard.json
index ced9901bea..8a29df34bb 100644
--- a/keyboards/drop/thekey/v2/keyboard.json
+++ b/keyboards/drop/thekey/v2/keyboard.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"rgblight": true
diff --git a/keyboards/druah/dk_saver_redux/keyboard.json b/keyboards/druah/dk_saver_redux/keyboard.json
index 6c76e10756..8f2b8023e2 100644
--- a/keyboards/druah/dk_saver_redux/keyboard.json
+++ b/keyboards/druah/dk_saver_redux/keyboard.json
@@ -16,7 +16,6 @@
"backlight": true,
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/dtisaac/cg108/keyboard.json b/keyboards/dtisaac/cg108/keyboard.json
index 28e5563111..9d8df8dad2 100644
--- a/keyboards/dtisaac/cg108/keyboard.json
+++ b/keyboards/dtisaac/cg108/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "CG108",
"manufacturer": "DTIsaac",
- "url": "",
"maintainer": "daotakisaac",
"usb": {
"vid": "0x4454",
@@ -11,7 +10,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": true
diff --git a/keyboards/dtisaac/dosa40rgb/keyboard.json b/keyboards/dtisaac/dosa40rgb/keyboard.json
index 5f3654d2c5..09db50aee1 100644
--- a/keyboards/dtisaac/dosa40rgb/keyboard.json
+++ b/keyboards/dtisaac/dosa40rgb/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": ">_Dosa40",
"manufacturer": "DTIsaac",
- "url": "",
"maintainer": "DTIsaac",
"usb": {
"vid": "0x4454",
@@ -73,7 +72,6 @@
"bluetooth": true,
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": false,
"mousekey": false,
"nkro": false,
diff --git a/keyboards/dtisaac/dtisaac01/keyboard.json b/keyboards/dtisaac/dtisaac01/keyboard.json
index 0b4b1b3057..0d72c3f9e1 100644
--- a/keyboards/dtisaac/dtisaac01/keyboard.json
+++ b/keyboards/dtisaac/dtisaac01/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "dtisaac01",
"manufacturer": "DTIsaac",
- "url": "",
"maintainer": "DTIsaac",
"usb": {
"vid": "0x4454",
@@ -12,7 +11,6 @@
"backlight": true,
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false
diff --git a/keyboards/duck/jetfire/keyboard.json b/keyboards/duck/jetfire/keyboard.json
index a97ff193a8..d9adf05ca4 100644
--- a/keyboards/duck/jetfire/keyboard.json
+++ b/keyboards/duck/jetfire/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Jetfire",
"manufacturer": "Duck",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0x444B",
diff --git a/keyboards/duck/lightsaver/keyboard.json b/keyboards/duck/lightsaver/keyboard.json
index d4e1cd1e35..978e0c6e23 100644
--- a/keyboards/duck/lightsaver/keyboard.json
+++ b/keyboards/duck/lightsaver/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Lightsaver V3",
"manufacturer": "Duck",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0x444B",
diff --git a/keyboards/duck/octagon/v1/keyboard.json b/keyboards/duck/octagon/v1/keyboard.json
index 47f3acdc4d..7dfd9ec3ea 100644
--- a/keyboards/duck/octagon/v1/keyboard.json
+++ b/keyboards/duck/octagon/v1/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Octagon V1",
"manufacturer": "Duck",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0x444B",
diff --git a/keyboards/duck/octagon/v2/keyboard.json b/keyboards/duck/octagon/v2/keyboard.json
index 4afbc42d47..b3a1eb784d 100644
--- a/keyboards/duck/octagon/v2/keyboard.json
+++ b/keyboards/duck/octagon/v2/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Octagon V2",
"manufacturer": "Duck",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0x444B",
diff --git a/keyboards/duck/orion/v3/keyboard.json b/keyboards/duck/orion/v3/keyboard.json
index ba479aa0a2..9a7251c650 100644
--- a/keyboards/duck/orion/v3/keyboard.json
+++ b/keyboards/duck/orion/v3/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Orion V3",
"manufacturer": "Duck",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0x444B",
diff --git a/keyboards/duck/tcv3/keyboard.json b/keyboards/duck/tcv3/keyboard.json
index c03142b4db..699a44e69b 100644
--- a/keyboards/duck/tcv3/keyboard.json
+++ b/keyboards/duck/tcv3/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "TC-V3",
"manufacturer": "Duck",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0x444B",
diff --git a/keyboards/dumbo/keyboard.json b/keyboards/dumbo/keyboard.json
index b833915d80..8026f22790 100644
--- a/keyboards/dumbo/keyboard.json
+++ b/keyboards/dumbo/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Dumbo",
"manufacturer": "trip_trap",
- "url": "",
"maintainer": "adamnaldal",
"usb": {
"vid": "0xFEED",
diff --git a/keyboards/durgod/k320/base/keyboard.json b/keyboards/durgod/k320/base/keyboard.json
index 89ea273baf..7c794cf8ec 100644
--- a/keyboards/durgod/k320/base/keyboard.json
+++ b/keyboards/durgod/k320/base/keyboard.json
@@ -5,7 +5,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": true
diff --git a/keyboards/dyz/dyz40/keyboard.json b/keyboards/dyz/dyz40/keyboard.json
index 4916ec7ecd..e5618468a0 100644
--- a/keyboards/dyz/dyz40/keyboard.json
+++ b/keyboards/dyz/dyz40/keyboard.json
@@ -7,7 +7,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"encoder": true,
"extrakey": true,
"mousekey": false,
diff --git a/keyboards/dyz/dyz60/keyboard.json b/keyboards/dyz/dyz60/keyboard.json
index 824e23d709..af5c50184e 100644
--- a/keyboards/dyz/dyz60/keyboard.json
+++ b/keyboards/dyz/dyz60/keyboard.json
@@ -7,7 +7,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"encoder": true,
"extrakey": true,
"mousekey": false,
diff --git a/keyboards/dyz/dyz60_hs/keyboard.json b/keyboards/dyz/dyz60_hs/keyboard.json
index 112b128577..94d60f3b6c 100644
--- a/keyboards/dyz/dyz60_hs/keyboard.json
+++ b/keyboards/dyz/dyz60_hs/keyboard.json
@@ -7,7 +7,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": true,
diff --git a/keyboards/dyz/dyz_tkl/keyboard.json b/keyboards/dyz/dyz_tkl/keyboard.json
index 4d8bba1710..62e0073bd4 100644
--- a/keyboards/dyz/dyz_tkl/keyboard.json
+++ b/keyboards/dyz/dyz_tkl/keyboard.json
@@ -7,7 +7,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": true,
diff --git a/keyboards/dyz/selka40/keyboard.json b/keyboards/dyz/selka40/keyboard.json
index 4a8df19633..abf627584a 100644
--- a/keyboards/dyz/selka40/keyboard.json
+++ b/keyboards/dyz/selka40/keyboard.json
@@ -7,7 +7,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"encoder": true,
"extrakey": true,
"mousekey": false,
diff --git a/keyboards/dyz/synthesis60/keyboard.json b/keyboards/dyz/synthesis60/keyboard.json
index cdb4760381..1ec2c9d1cd 100644
--- a/keyboards/dyz/synthesis60/keyboard.json
+++ b/keyboards/dyz/synthesis60/keyboard.json
@@ -7,7 +7,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": true,
diff --git a/keyboards/dz60/keyboard.json b/keyboards/dz60/keyboard.json
index 8a8e631f1b..c28508105f 100644
--- a/keyboards/dz60/keyboard.json
+++ b/keyboards/dz60/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "DZ60",
"manufacturer": "KBDFans",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0x445A",
@@ -12,7 +11,6 @@
"backlight": true,
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/dztech/bocc/keyboard.json b/keyboards/dztech/bocc/keyboard.json
index a6208b2bf7..2f133433b8 100644
--- a/keyboards/dztech/bocc/keyboard.json
+++ b/keyboards/dztech/bocc/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "BOCC",
"manufacturer": "DZTECH",
- "url": "",
"maintainer": "DZTECH",
"usb": {
"vid": "0x445A",
@@ -12,7 +11,6 @@
"backlight": true,
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/dztech/duo_s/keyboard.json b/keyboards/dztech/duo_s/keyboard.json
index 7bf8b0bfdd..f05f4d41c5 100644
--- a/keyboards/dztech/duo_s/keyboard.json
+++ b/keyboards/dztech/duo_s/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "DUO-S",
"manufacturer": "DZTECH",
- "url": "",
"maintainer": "moyi4681",
"usb": {
"vid": "0x445A",
@@ -36,7 +35,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/dztech/dz60rgb/info.json b/keyboards/dztech/dz60rgb/info.json
index 17439e3443..1bcc77c605 100644
--- a/keyboards/dztech/dz60rgb/info.json
+++ b/keyboards/dztech/dz60rgb/info.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "DZ60RGB",
"manufacturer": "DZTECH",
- "url": "",
"maintainer": "dztech",
"usb": {
"vid": "0x445A"
diff --git a/keyboards/dztech/dz60rgb_ansi/info.json b/keyboards/dztech/dz60rgb_ansi/info.json
index 12fefa5d87..dddbd47315 100644
--- a/keyboards/dztech/dz60rgb_ansi/info.json
+++ b/keyboards/dztech/dz60rgb_ansi/info.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "DZ60RGB_ANSI",
"manufacturer": "DZTECH",
- "url": "",
"maintainer": "dztech",
"usb": {
"vid": "0x445A"
diff --git a/keyboards/dztech/dz60rgb_wkl/info.json b/keyboards/dztech/dz60rgb_wkl/info.json
index ca43c1cbd7..a4dfb63c7a 100644
--- a/keyboards/dztech/dz60rgb_wkl/info.json
+++ b/keyboards/dztech/dz60rgb_wkl/info.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "DZ60RGB_WKL",
"manufacturer": "DZTECH",
- "url": "",
"maintainer": "dztech",
"usb": {
"vid": "0x445A"
diff --git a/keyboards/dztech/dz60v2/keyboard.json b/keyboards/dztech/dz60v2/keyboard.json
index 7714e4b7d2..292bbcfcea 100644
--- a/keyboards/dztech/dz60v2/keyboard.json
+++ b/keyboards/dztech/dz60v2/keyboard.json
@@ -7,7 +7,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/dztech/dz64rgb/keyboard.json b/keyboards/dztech/dz64rgb/keyboard.json
index ea22af59db..ef95b52400 100644
--- a/keyboards/dztech/dz64rgb/keyboard.json
+++ b/keyboards/dztech/dz64rgb/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "DZ64RGB",
"manufacturer": "DZTECH",
- "url": "",
"maintainer": "moyi4681",
"usb": {
"vid": "0x445A",
diff --git a/keyboards/dztech/dz65rgb/info.json b/keyboards/dztech/dz65rgb/info.json
index d3a127251b..39e1242af4 100644
--- a/keyboards/dztech/dz65rgb/info.json
+++ b/keyboards/dztech/dz65rgb/info.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "DZ65RGB",
"manufacturer": "DZTECH",
- "url": "",
"maintainer": "dztech",
"usb": {
"vid": "0x445A"
diff --git a/keyboards/dztech/dz65rgb/v1/keyboard.json b/keyboards/dztech/dz65rgb/v1/keyboard.json
index 6dcc88b59e..3066105727 100644
--- a/keyboards/dztech/dz65rgb/v1/keyboard.json
+++ b/keyboards/dztech/dz65rgb/v1/keyboard.json
@@ -47,7 +47,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/dztech/dz65rgb/v2/keyboard.json b/keyboards/dztech/dz65rgb/v2/keyboard.json
index 16d38a3af5..523fdfb23e 100644
--- a/keyboards/dztech/dz65rgb/v2/keyboard.json
+++ b/keyboards/dztech/dz65rgb/v2/keyboard.json
@@ -47,7 +47,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/dztech/dz96/keyboard.json b/keyboards/dztech/dz96/keyboard.json
index ef2de26a70..95c78b80f5 100644
--- a/keyboards/dztech/dz96/keyboard.json
+++ b/keyboards/dztech/dz96/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "DZ96",
"manufacturer": "DZTECH",
- "url": "",
"maintainer": "kb-elmo",
"usb": {
"vid": "0x445A",
@@ -12,7 +11,6 @@
"backlight": true,
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": false
diff --git a/keyboards/dztech/endless80/keyboard.json b/keyboards/dztech/endless80/keyboard.json
index 9387b67ead..cf12595046 100644
--- a/keyboards/dztech/endless80/keyboard.json
+++ b/keyboards/dztech/endless80/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "endless80",
"manufacturer": "dztech",
- "url": "",
"maintainer": "moyi4681",
"usb": {
"vid": "0x445A",
@@ -11,7 +10,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/dztech/mellow/keyboard.json b/keyboards/dztech/mellow/keyboard.json
index 24cd11028c..cb08e086d5 100644
--- a/keyboards/dztech/mellow/keyboard.json
+++ b/keyboards/dztech/mellow/keyboard.json
@@ -7,7 +7,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/dztech/pluto/keyboard.json b/keyboards/dztech/pluto/keyboard.json
index d64e941346..790282d254 100644
--- a/keyboards/dztech/pluto/keyboard.json
+++ b/keyboards/dztech/pluto/keyboard.json
@@ -7,7 +7,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/dztech/tofu/ii/v1/keyboard.json b/keyboards/dztech/tofu/ii/v1/keyboard.json
index 60ccc5ec9b..8cab6f2f1b 100644
--- a/keyboards/dztech/tofu/ii/v1/keyboard.json
+++ b/keyboards/dztech/tofu/ii/v1/keyboard.json
@@ -4,7 +4,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/dztech/tofu/jr/v1/keyboard.json b/keyboards/dztech/tofu/jr/v1/keyboard.json
index 12930f65d0..ede74c7368 100644
--- a/keyboards/dztech/tofu/jr/v1/keyboard.json
+++ b/keyboards/dztech/tofu/jr/v1/keyboard.json
@@ -5,7 +5,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/dztech/tofu/jr/v2/keyboard.json b/keyboards/dztech/tofu/jr/v2/keyboard.json
index 6a60565b22..9a027e6ca8 100644
--- a/keyboards/dztech/tofu/jr/v2/keyboard.json
+++ b/keyboards/dztech/tofu/jr/v2/keyboard.json
@@ -5,7 +5,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/dztech/tofu60/keyboard.json b/keyboards/dztech/tofu60/keyboard.json
index 149f04d46a..bc9f0f9bba 100644
--- a/keyboards/dztech/tofu60/keyboard.json
+++ b/keyboards/dztech/tofu60/keyboard.json
@@ -7,7 +7,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/e88/keyboard.json b/keyboards/e88/keyboard.json
index 32ee42aefd..941eb42729 100644
--- a/keyboards/e88/keyboard.json
+++ b/keyboards/e88/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "e88",
"manufacturer": "Pink Labs",
- "url": "",
"maintainer": "2-n",
"usb": {
"vid": "0x4705",
diff --git a/keyboards/earth_rover/keyboard.json b/keyboards/earth_rover/keyboard.json
index 0c760f612c..e236043b84 100644
--- a/keyboards/earth_rover/keyboard.json
+++ b/keyboards/earth_rover/keyboard.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false
diff --git a/keyboards/eason/aeroboard/keyboard.json b/keyboards/eason/aeroboard/keyboard.json
index 3d8c2a6db6..918f447dff 100644
--- a/keyboards/eason/aeroboard/keyboard.json
+++ b/keyboards/eason/aeroboard/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "AeroBoard",
"manufacturer": "Eason",
- "url": "",
"maintainer": "EasonQian1",
"usb": {
"vid": "0x8954",
@@ -31,7 +30,6 @@
"features": {
"bootmagic": false,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/eason/capsule65/keyboard.json b/keyboards/eason/capsule65/keyboard.json
index 87b7b94568..4e04e45831 100644
--- a/keyboards/eason/capsule65/keyboard.json
+++ b/keyboards/eason/capsule65/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "capsule65",
"manufacturer": "eason",
- "url": "",
"maintainer": "EasonQian1",
"usb": {
"vid": "0xF21E",
@@ -11,7 +10,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false,
diff --git a/keyboards/eason/greatsword80/keyboard.json b/keyboards/eason/greatsword80/keyboard.json
index 6500fac978..88102d569b 100644
--- a/keyboards/eason/greatsword80/keyboard.json
+++ b/keyboards/eason/greatsword80/keyboard.json
@@ -15,7 +15,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/eason/meow65/keyboard.json b/keyboards/eason/meow65/keyboard.json
index 340a741040..c001dde318 100644
--- a/keyboards/eason/meow65/keyboard.json
+++ b/keyboards/eason/meow65/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Meow65",
"manufacturer": "Eason",
- "url": "",
"maintainer": "Eason",
"usb": {
"vid": "0x68F4",
@@ -12,7 +11,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/eason/void65h/keyboard.json b/keyboards/eason/void65h/keyboard.json
index 7b6a7fe2fb..8387993a75 100644
--- a/keyboards/eason/void65h/keyboard.json
+++ b/keyboards/eason/void65h/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Void65h",
"manufacturer": "Eason",
- "url": "",
"maintainer": "Eason",
"usb": {
"vid": "0x51D7",
@@ -12,7 +11,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/ebastler/e80_1800/keyboard.json b/keyboards/ebastler/e80_1800/keyboard.json
index dfb669e72e..1e10fd45c4 100644
--- a/keyboards/ebastler/e80_1800/keyboard.json
+++ b/keyboards/ebastler/e80_1800/keyboard.json
@@ -17,7 +17,6 @@
"backlight": true,
"nkro": true,
"command": false,
- "console": false,
"mousekey": false
},
"matrix_pins": {
diff --git a/keyboards/ebastler/isometria_75/rev1/keyboard.json b/keyboards/ebastler/isometria_75/rev1/keyboard.json
index cf36d60df1..148f8b6b3f 100644
--- a/keyboards/ebastler/isometria_75/rev1/keyboard.json
+++ b/keyboards/ebastler/isometria_75/rev1/keyboard.json
@@ -25,7 +25,6 @@
"backlight": true,
"bootmagic": true,
"command": false,
- "console": false,
"encoder": true,
"extrakey": true,
"mousekey": false,
diff --git a/keyboards/eco/info.json b/keyboards/eco/info.json
index 1bb5c79eb2..f62d91a01f 100644
--- a/keyboards/eco/info.json
+++ b/keyboards/eco/info.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "The ECO Keyboard",
"manufacturer": "Bishop Keyboards",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0x1337",
diff --git a/keyboards/eco/rev1/keyboard.json b/keyboards/eco/rev1/keyboard.json
index 1b3cb5f8df..e241774e81 100644
--- a/keyboards/eco/rev1/keyboard.json
+++ b/keyboards/eco/rev1/keyboard.json
@@ -11,7 +11,6 @@
"backlight": false,
"bootmagic": false,
"command": true,
- "console": false,
"extrakey": true,
"midi": true,
"mousekey": false,
diff --git a/keyboards/eco/rev2/keyboard.json b/keyboards/eco/rev2/keyboard.json
index 8effdd85e5..ca8709a266 100644
--- a/keyboards/eco/rev2/keyboard.json
+++ b/keyboards/eco/rev2/keyboard.json
@@ -11,7 +11,6 @@
"backlight": false,
"bootmagic": false,
"command": true,
- "console": false,
"extrakey": true,
"midi": true,
"mousekey": false,
diff --git a/keyboards/edc40/keyboard.json b/keyboards/edc40/keyboard.json
index 7ad2fdd3b8..33998f4747 100644
--- a/keyboards/edc40/keyboard.json
+++ b/keyboards/edc40/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "edc40",
"manufacturer": "OJ",
- "url": "",
"maintainer": "ojthetiny",
"usb": {
"vid": "0x4F4A",
@@ -11,7 +10,6 @@
"features": {
"bootmagic": true,
"command": true,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/edda/keyboard.json b/keyboards/edda/keyboard.json
index 4a997abeac..4482b6f70d 100644
--- a/keyboards/edda/keyboard.json
+++ b/keyboards/edda/keyboard.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false
diff --git a/keyboards/edi/standaside/keyboard.json b/keyboards/edi/standaside/keyboard.json
index 410f8f693a..744f5fbe1e 100644
--- a/keyboards/edi/standaside/keyboard.json
+++ b/keyboards/edi/standaside/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Stand Aside",
"manufacturer": "Fate Everywhere",
- "url": "",
"maintainer": "fateeverywhere",
"usb": {
"vid": "0xF7E0",
diff --git a/keyboards/eek/info.json b/keyboards/eek/info.json
index 86ff284347..0e510e282a 100644
--- a/keyboards/eek/info.json
+++ b/keyboards/eek/info.json
@@ -13,7 +13,6 @@
"val": 150
},
"driver": "ws2812",
- "led_flush_limit": 16,
"max_brightness": 200
},
"features": {
diff --git a/keyboards/efreet/keyboard.json b/keyboards/efreet/keyboard.json
index 7dac78cc39..0e42253c47 100644
--- a/keyboards/efreet/keyboard.json
+++ b/keyboards/efreet/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Efreet",
"manufacturer": "Soran",
- "url": "",
"maintainer": "amberstarlight",
"usb": {
"vid": "0x534F",
diff --git a/keyboards/ein_60/keyboard.json b/keyboards/ein_60/keyboard.json
index a7902af490..b1e48f1747 100644
--- a/keyboards/ein_60/keyboard.json
+++ b/keyboards/ein_60/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Ein_60",
"manufacturer": "klackygears",
- "url": "",
"maintainer": "klackygears",
"usb": {
"vid": "0x4A53",
@@ -13,7 +12,6 @@
"val": 150
},
"driver": "ws2812",
- "led_flush_limit": 16,
"max_brightness": 200
},
"rgblight": {
diff --git a/keyboards/emajesty/eiri/keyboard.json b/keyboards/emajesty/eiri/keyboard.json
index 6941bb921d..94bcb60f6c 100644
--- a/keyboards/emajesty/eiri/keyboard.json
+++ b/keyboards/emajesty/eiri/keyboard.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false
diff --git a/keyboards/emi20/keyboard.json b/keyboards/emi20/keyboard.json
index 56f13af875..ce623505b3 100644
--- a/keyboards/emi20/keyboard.json
+++ b/keyboards/emi20/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Emi20",
"manufacturer": "Aquacylinder",
- "url": "",
"maintainer": "Aquacylinder",
"usb": {
"vid": "0xFEED",
@@ -11,7 +10,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": true
diff --git a/keyboards/emptystring/nqg/keyboard.json b/keyboards/emptystring/nqg/keyboard.json
index 96f9391dcc..a425812c4f 100644
--- a/keyboards/emptystring/nqg/keyboard.json
+++ b/keyboards/emptystring/nqg/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "NQG",
"manufacturer": "emptystring",
- "url": "",
"maintainer": "culturalsnow",
"usb": {
"vid": "0x0076",
@@ -11,7 +10,6 @@
"features": {
"bootmagic": false,
"command": false,
- "console": false,
"extrakey": false,
"mousekey": false,
"nkro": true
diff --git a/keyboards/eniigmakeyboards/ek60/keyboard.json b/keyboards/eniigmakeyboards/ek60/keyboard.json
index 6446dbce34..203a1f11b0 100644
--- a/keyboards/eniigmakeyboards/ek60/keyboard.json
+++ b/keyboards/eniigmakeyboards/ek60/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "EK60",
"manufacturer": "Eniigma Keyboards",
- "url": "",
"maintainer": "adamws",
"usb": {
"vid": "0x454B",
@@ -11,7 +10,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false
diff --git a/keyboards/eniigmakeyboards/ek65/keyboard.json b/keyboards/eniigmakeyboards/ek65/keyboard.json
index fa6ad3566a..ad64fcca0e 100644
--- a/keyboards/eniigmakeyboards/ek65/keyboard.json
+++ b/keyboards/eniigmakeyboards/ek65/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "EK65",
"manufacturer": "Eniigma Keyboards",
- "url": "",
"maintainer": "adamws",
"usb": {
"vid": "0x454B",
@@ -11,7 +10,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false
diff --git a/keyboards/eniigmakeyboards/ek87/keyboard.json b/keyboards/eniigmakeyboards/ek87/keyboard.json
index 900a74a4b6..27bcc9a844 100644
--- a/keyboards/eniigmakeyboards/ek87/keyboard.json
+++ b/keyboards/eniigmakeyboards/ek87/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "EK87",
"manufacturer": "Eniigma Keyboards",
- "url": "",
"maintainer": "adamws",
"usb": {
"vid": "0x454B",
@@ -11,7 +10,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": false
diff --git a/keyboards/enviousdesign/60f/keyboard.json b/keyboards/enviousdesign/60f/keyboard.json
index c163ca5d6d..84047b8d41 100644
--- a/keyboards/enviousdesign/60f/keyboard.json
+++ b/keyboards/enviousdesign/60f/keyboard.json
@@ -7,7 +7,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/enviousdesign/65m/keyboard.json b/keyboards/enviousdesign/65m/keyboard.json
index 2328932462..d5196872f5 100644
--- a/keyboards/enviousdesign/65m/keyboard.json
+++ b/keyboards/enviousdesign/65m/keyboard.json
@@ -7,7 +7,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/enviousdesign/commissions/mini1800/keyboard.json b/keyboards/enviousdesign/commissions/mini1800/keyboard.json
index 9303e7af23..5f3b1ee8f5 100644
--- a/keyboards/enviousdesign/commissions/mini1800/keyboard.json
+++ b/keyboards/enviousdesign/commissions/mini1800/keyboard.json
@@ -12,7 +12,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/enviousdesign/delirium/rev0/keyboard.json b/keyboards/enviousdesign/delirium/rev0/keyboard.json
index f1eb3dc59b..2895a0f2c8 100644
--- a/keyboards/enviousdesign/delirium/rev0/keyboard.json
+++ b/keyboards/enviousdesign/delirium/rev0/keyboard.json
@@ -7,7 +7,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/enviousdesign/delirium/rev1/keyboard.json b/keyboards/enviousdesign/delirium/rev1/keyboard.json
index e548d02814..bb4cb70ba5 100644
--- a/keyboards/enviousdesign/delirium/rev1/keyboard.json
+++ b/keyboards/enviousdesign/delirium/rev1/keyboard.json
@@ -7,7 +7,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/enviousdesign/delirium/rgb/keyboard.json b/keyboards/enviousdesign/delirium/rgb/keyboard.json
index b6e0bb0e0c..7e77be2a35 100644
--- a/keyboards/enviousdesign/delirium/rgb/keyboard.json
+++ b/keyboards/enviousdesign/delirium/rgb/keyboard.json
@@ -7,7 +7,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/enviousdesign/mcro/rev1/keyboard.json b/keyboards/enviousdesign/mcro/rev1/keyboard.json
index c7e4c38765..1428c87abe 100644
--- a/keyboards/enviousdesign/mcro/rev1/keyboard.json
+++ b/keyboards/enviousdesign/mcro/rev1/keyboard.json
@@ -7,7 +7,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/epomaker/tide65/keyboard.json b/keyboards/epomaker/tide65/keyboard.json
index 60f1b46f70..7a384f180f 100644
--- a/keyboards/epomaker/tide65/keyboard.json
+++ b/keyboards/epomaker/tide65/keyboard.json
@@ -141,7 +141,6 @@
{"matrix": [4, 14], "x": 224, "y": 64, "flags": 4}
]
},
- "url": "",
"usb": {
"device_version": "0.0.1",
"force_nkro": true,
diff --git a/keyboards/era/divine/keyboard.json b/keyboards/era/divine/keyboard.json
index d02241da78..cc8670de12 100644
--- a/keyboards/era/divine/keyboard.json
+++ b/keyboards/era/divine/keyboard.json
@@ -15,7 +15,6 @@
"backlight": true,
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
@@ -31,7 +30,6 @@
"rows": ["GP11", "GP10", "GP9", "GP8", "GP4"]
},
"processor": "RP2040",
- "url": "",
"usb": {
"device_version": "1.0.0",
"pid": "0x0002",
diff --git a/keyboards/era/era65/keyboard.json b/keyboards/era/era65/keyboard.json
index d5fd612767..47f0046fe8 100644
--- a/keyboards/era/era65/keyboard.json
+++ b/keyboards/era/era65/keyboard.json
@@ -19,7 +19,6 @@
"backlight": true,
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
@@ -32,7 +31,6 @@
"rows": ["GP1", "GP2", "GP4", "GP10", "GP11"]
},
"processor": "RP2040",
- "url": "",
"usb": {
"device_version": "1.0.4",
"pid": "0x0001",
diff --git a/keyboards/era/linx3/fave65s/keyboard.json b/keyboards/era/linx3/fave65s/keyboard.json
index 87f4fdf513..af44df9850 100644
--- a/keyboards/era/linx3/fave65s/keyboard.json
+++ b/keyboards/era/linx3/fave65s/keyboard.json
@@ -109,7 +109,6 @@
],
"sleep": true
},
- "url": "",
"usb": {
"device_version": "1.0.0",
"pid": "0x0011",
diff --git a/keyboards/era/linx3/n86/keyboard.json b/keyboards/era/linx3/n86/keyboard.json
index c0b8b5525a..354a358470 100644
--- a/keyboards/era/linx3/n86/keyboard.json
+++ b/keyboards/era/linx3/n86/keyboard.json
@@ -161,7 +161,6 @@
],
"sleep": true
},
- "url": "",
"usb": {
"device_version": "1.0.0",
"pid": "0x0008",
diff --git a/keyboards/era/linx3/n87/keyboard.json b/keyboards/era/linx3/n87/keyboard.json
index 548a37fadd..5a03a5cbc5 100644
--- a/keyboards/era/linx3/n87/keyboard.json
+++ b/keyboards/era/linx3/n87/keyboard.json
@@ -162,7 +162,6 @@
],
"sleep": true
},
- "url": "",
"usb": {
"device_version": "1.0.0",
"pid": "0x0009",
diff --git a/keyboards/era/linx3/n8x/keyboard.json b/keyboards/era/linx3/n8x/keyboard.json
index ae0d608ffa..c018874bd1 100644
--- a/keyboards/era/linx3/n8x/keyboard.json
+++ b/keyboards/era/linx3/n8x/keyboard.json
@@ -29,7 +29,6 @@
"rows": ["GP4", "GP5", "GP6", "GP7", "GP10", "GP9"]
},
"processor": "RP2040",
- "url": "",
"usb": {
"device_version": "1.0.0",
"pid": "0x0007",
diff --git a/keyboards/era/sirind/brick65s/keyboard.json b/keyboards/era/sirind/brick65s/keyboard.json
index 5d6768a93c..489b0da323 100644
--- a/keyboards/era/sirind/brick65s/keyboard.json
+++ b/keyboards/era/sirind/brick65s/keyboard.json
@@ -27,7 +27,6 @@
],
"sleep": true
},
- "url": "",
"usb": {
"device_version": "1.0.0",
"pid": "0x0012",
diff --git a/keyboards/era/sirind/chickpad/keyboard.json b/keyboards/era/sirind/chickpad/keyboard.json
index fe76df006d..c662d8241a 100644
--- a/keyboards/era/sirind/chickpad/keyboard.json
+++ b/keyboards/era/sirind/chickpad/keyboard.json
@@ -88,7 +88,6 @@
],
"sleep": true
},
- "url": "",
"usb": {
"device_version": "1.0.0",
"pid": "0x0015",
diff --git a/keyboards/era/sirind/klein_hs/keyboard.json b/keyboards/era/sirind/klein_hs/keyboard.json
index 6d677f6748..01395c3af1 100644
--- a/keyboards/era/sirind/klein_hs/keyboard.json
+++ b/keyboards/era/sirind/klein_hs/keyboard.json
@@ -28,7 +28,6 @@
"rows": ["GP18", "GP19", "GP20", "GP21", "GP14", "GP5", "GP6", "GP4", "GP13", "GP12"]
},
"processor": "RP2040",
- "url": "",
"usb": {
"device_version": "1.0.0",
"pid": "0x0004",
diff --git a/keyboards/era/sirind/klein_sd/keyboard.json b/keyboards/era/sirind/klein_sd/keyboard.json
index 62b8f78865..b2fbe33290 100644
--- a/keyboards/era/sirind/klein_sd/keyboard.json
+++ b/keyboards/era/sirind/klein_sd/keyboard.json
@@ -149,7 +149,6 @@
],
"sleep": true
},
- "url": "",
"usb": {
"device_version": "1.0.0",
"pid": "0x0005",
diff --git a/keyboards/era/sirind/tomak/keyboard.json b/keyboards/era/sirind/tomak/keyboard.json
index cfd933bfe6..9f4993614b 100644
--- a/keyboards/era/sirind/tomak/keyboard.json
+++ b/keyboards/era/sirind/tomak/keyboard.json
@@ -196,7 +196,6 @@
}
}
},
- "url": "",
"usb": {
"device_version": "1.0.2",
"pid": "0x0006",
diff --git a/keyboards/era/sirind/tomak79h/keyboard.json b/keyboards/era/sirind/tomak79h/keyboard.json
index 216250f850..d1764bb668 100644
--- a/keyboards/era/sirind/tomak79h/keyboard.json
+++ b/keyboards/era/sirind/tomak79h/keyboard.json
@@ -197,7 +197,6 @@
}
}
},
- "url": "",
"usb": {
"device_version": "1.0.0",
"pid": "0x0014",
diff --git a/keyboards/era/sirind/tomak79s/keyboard.json b/keyboards/era/sirind/tomak79s/keyboard.json
index 9011a359ad..2e68ad788d 100644
--- a/keyboards/era/sirind/tomak79s/keyboard.json
+++ b/keyboards/era/sirind/tomak79s/keyboard.json
@@ -203,7 +203,6 @@
}
}
},
- "url": "",
"usb": {
"device_version": "1.0.0",
"pid": "0x0013",
diff --git a/keyboards/esca/getawayvan/keyboard.json b/keyboards/esca/getawayvan/keyboard.json
index 6105e5850d..8f9bc53776 100644
--- a/keyboards/esca/getawayvan/keyboard.json
+++ b/keyboards/esca/getawayvan/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "GetawayVan",
"manufacturer": "esca",
- "url": "",
"maintainer": "esca",
"usb": {
"vid": "0xE5CA",
@@ -14,7 +13,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": true,
diff --git a/keyboards/esca/getawayvan_f042/keyboard.json b/keyboards/esca/getawayvan_f042/keyboard.json
index 6b934e16c7..c3bce35121 100644
--- a/keyboards/esca/getawayvan_f042/keyboard.json
+++ b/keyboards/esca/getawayvan_f042/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "GetawayVan",
"manufacturer": "esca",
- "url": "",
"maintainer": "esca",
"usb": {
"vid": "0xE5CA",
@@ -14,7 +13,6 @@
"features": {
"bootmagic": false,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": true,
diff --git a/keyboards/eternal_keypad/keyboard.json b/keyboards/eternal_keypad/keyboard.json
index f50f235c98..607c738cb1 100644
--- a/keyboards/eternal_keypad/keyboard.json
+++ b/keyboards/eternal_keypad/keyboard.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": true,
diff --git a/keyboards/etiennecollin/wave/keyboard.json b/keyboards/etiennecollin/wave/keyboard.json
index 272cbdd002..70c9cb8519 100644
--- a/keyboards/etiennecollin/wave/keyboard.json
+++ b/keyboards/etiennecollin/wave/keyboard.json
@@ -20,7 +20,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/eve/meteor/keyboard.json b/keyboards/eve/meteor/keyboard.json
index a8136496f0..f012bb6520 100644
--- a/keyboards/eve/meteor/keyboard.json
+++ b/keyboards/eve/meteor/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Meteor",
"manufacturer": "EVE",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0x4556",
@@ -12,7 +11,6 @@
"backlight": true,
"bootmagic": false,
"command": true,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false
diff --git a/keyboards/evil80/keyboard.json b/keyboards/evil80/keyboard.json
index 9610718b34..629065db23 100644
--- a/keyboards/evil80/keyboard.json
+++ b/keyboards/evil80/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Evil80",
"manufacturer": "Evil",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0xFEED",
@@ -12,7 +11,6 @@
"backlight": true,
"bootmagic": false,
"command": false,
- "console": false,
"extrakey": false,
"mousekey": false,
"nkro": true
diff --git a/keyboards/evolv/keyboard.json b/keyboards/evolv/keyboard.json
index 8373bbb536..2f27fe2c10 100644
--- a/keyboards/evolv/keyboard.json
+++ b/keyboards/evolv/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Evolv75",
"manufacturer": "NathanAlpha",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0x7865",
@@ -11,7 +10,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"encoder": true,
"extrakey": true,
"mousekey": true,
diff --git a/keyboards/evyd13/atom47/rev2/keyboard.json b/keyboards/evyd13/atom47/rev2/keyboard.json
index 6466c1b7b8..8b1af5ede6 100644
--- a/keyboards/evyd13/atom47/rev2/keyboard.json
+++ b/keyboards/evyd13/atom47/rev2/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Atom47 rev2",
"manufacturer": "Evyd13",
- "url": "",
"maintainer": "evyd13",
"usb": {
"vid": "0x4705",
diff --git a/keyboards/evyd13/atom47/rev3/keyboard.json b/keyboards/evyd13/atom47/rev3/keyboard.json
index 009c3ef534..e2c6a1e1ba 100644
--- a/keyboards/evyd13/atom47/rev3/keyboard.json
+++ b/keyboards/evyd13/atom47/rev3/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Atom47 rev3",
"manufacturer": "Evyd13",
- "url": "",
"maintainer": "evyd13",
"usb": {
"vid": "0x4705",
diff --git a/keyboards/evyd13/atom47/rev4/keyboard.json b/keyboards/evyd13/atom47/rev4/keyboard.json
index cea416e1a6..9a5d7b1ce4 100644
--- a/keyboards/evyd13/atom47/rev4/keyboard.json
+++ b/keyboards/evyd13/atom47/rev4/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Atom47 rev4",
"manufacturer": "Evyd13",
- "url": "",
"maintainer": "evyd13",
"usb": {
"vid": "0x4705",
diff --git a/keyboards/evyd13/atom47/rev5/keyboard.json b/keyboards/evyd13/atom47/rev5/keyboard.json
index 074d34ab43..86ff90c19c 100644
--- a/keyboards/evyd13/atom47/rev5/keyboard.json
+++ b/keyboards/evyd13/atom47/rev5/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Atom47 rev5",
"manufacturer": "Evyd13",
- "url": "",
"maintainer": "evyd13",
"usb": {
"vid": "0x4705",
diff --git a/keyboards/evyd13/eon65/keyboard.json b/keyboards/evyd13/eon65/keyboard.json
index 05506e0ea8..328e0e4885 100644
--- a/keyboards/evyd13/eon65/keyboard.json
+++ b/keyboards/evyd13/eon65/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Eon65",
"manufacturer": "Evyd13",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0x4705",
diff --git a/keyboards/evyd13/eon75/keyboard.json b/keyboards/evyd13/eon75/keyboard.json
index fe6ee01832..d91e1267fb 100644
--- a/keyboards/evyd13/eon75/keyboard.json
+++ b/keyboards/evyd13/eon75/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Eon75",
"manufacturer": "Evyd13",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0x4705",
diff --git a/keyboards/evyd13/eon87/keyboard.json b/keyboards/evyd13/eon87/keyboard.json
index a0d73d442e..a53c2c130e 100644
--- a/keyboards/evyd13/eon87/keyboard.json
+++ b/keyboards/evyd13/eon87/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Eon87",
"manufacturer": "Evyd13",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0x4705",
diff --git a/keyboards/evyd13/eon95/keyboard.json b/keyboards/evyd13/eon95/keyboard.json
index 20be437ea1..4da4cad0d1 100644
--- a/keyboards/evyd13/eon95/keyboard.json
+++ b/keyboards/evyd13/eon95/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Eon95",
"manufacturer": "Evyd13",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0x4705",
diff --git a/keyboards/evyd13/fin_pad/keyboard.json b/keyboards/evyd13/fin_pad/keyboard.json
index 01b24ccfd0..32afce7fb1 100644
--- a/keyboards/evyd13/fin_pad/keyboard.json
+++ b/keyboards/evyd13/fin_pad/keyboard.json
@@ -7,7 +7,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
@@ -21,7 +20,6 @@
"ortho_6x4"
],
"processor": "atmega32u2",
- "url": "",
"usb": {
"device_version": "1.0.0",
"pid": "0xA6E2",
diff --git a/keyboards/evyd13/gh80_3700/keyboard.json b/keyboards/evyd13/gh80_3700/keyboard.json
index a647f46118..8bc1a40222 100644
--- a/keyboards/evyd13/gh80_3700/keyboard.json
+++ b/keyboards/evyd13/gh80_3700/keyboard.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"encoder": true,
"extrakey": true,
"mousekey": false,
diff --git a/keyboards/evyd13/gud70/keyboard.json b/keyboards/evyd13/gud70/keyboard.json
index 00211d6167..df0b1c4e5d 100644
--- a/keyboards/evyd13/gud70/keyboard.json
+++ b/keyboards/evyd13/gud70/keyboard.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": false
diff --git a/keyboards/evyd13/minitomic/keyboard.json b/keyboards/evyd13/minitomic/keyboard.json
index 7a8d6d8c23..97bc0dd050 100644
--- a/keyboards/evyd13/minitomic/keyboard.json
+++ b/keyboards/evyd13/minitomic/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Minitomic",
"manufacturer": "Evyd13",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0x4705",
diff --git a/keyboards/evyd13/mx5160/keyboard.json b/keyboards/evyd13/mx5160/keyboard.json
index b50f6130ce..3d077ef4ba 100644
--- a/keyboards/evyd13/mx5160/keyboard.json
+++ b/keyboards/evyd13/mx5160/keyboard.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": false,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": false
diff --git a/keyboards/evyd13/nt210/keyboard.json b/keyboards/evyd13/nt210/keyboard.json
index 1c9fab2fcc..c6c54ccf56 100644
--- a/keyboards/evyd13/nt210/keyboard.json
+++ b/keyboards/evyd13/nt210/keyboard.json
@@ -7,7 +7,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": true
diff --git a/keyboards/evyd13/nt650/keyboard.json b/keyboards/evyd13/nt650/keyboard.json
index 6f2910b630..dc6fc74aca 100644
--- a/keyboards/evyd13/nt650/keyboard.json
+++ b/keyboards/evyd13/nt650/keyboard.json
@@ -7,7 +7,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
@@ -22,7 +21,6 @@
"rows": ["F7", "D6", "D4", "F1", "D5", "F0", "D3", "D2"]
},
"processor": "atmega32u4",
- "url": "",
"usb": {
"device_version": "1.0.0",
"pid": "0xD5DF",
diff --git a/keyboards/evyd13/nt660/keyboard.json b/keyboards/evyd13/nt660/keyboard.json
index 142e9f2920..a0a330ae40 100644
--- a/keyboards/evyd13/nt660/keyboard.json
+++ b/keyboards/evyd13/nt660/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "nt660",
"manufacturer": "Evyd13",
- "url": "",
"maintainer": "evyd13",
"usb": {
"vid": "0x4705",
diff --git a/keyboards/evyd13/nt750/keyboard.json b/keyboards/evyd13/nt750/keyboard.json
index 03c76f1040..ad6a540179 100644
--- a/keyboards/evyd13/nt750/keyboard.json
+++ b/keyboards/evyd13/nt750/keyboard.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": false
diff --git a/keyboards/evyd13/nt980/keyboard.json b/keyboards/evyd13/nt980/keyboard.json
index 65ba93d73d..44395ae6e6 100644
--- a/keyboards/evyd13/nt980/keyboard.json
+++ b/keyboards/evyd13/nt980/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "nt980",
"manufacturer": "Evyd13",
- "url": "",
"maintainer": "evyd13",
"usb": {
"vid": "0x4705",
@@ -11,7 +10,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false
diff --git a/keyboards/evyd13/omrontkl/keyboard.json b/keyboards/evyd13/omrontkl/keyboard.json
index 1ea340acaa..2f41f3f14c 100644
--- a/keyboards/evyd13/omrontkl/keyboard.json
+++ b/keyboards/evyd13/omrontkl/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "OmronTKL",
"manufacturer": "Evyd13",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0x4705",
diff --git a/keyboards/evyd13/plain60/keyboard.json b/keyboards/evyd13/plain60/keyboard.json
index ce08a523ed..1fbcfd9beb 100644
--- a/keyboards/evyd13/plain60/keyboard.json
+++ b/keyboards/evyd13/plain60/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Plain60",
"manufacturer": "Evyd13",
- "url": "",
"maintainer": "evyd13",
"usb": {
"vid": "0x4705",
@@ -11,7 +10,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": false
diff --git a/keyboards/evyd13/quackfire/keyboard.json b/keyboards/evyd13/quackfire/keyboard.json
index 85c2ae81fb..154f9cfd0e 100644
--- a/keyboards/evyd13/quackfire/keyboard.json
+++ b/keyboards/evyd13/quackfire/keyboard.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": true
diff --git a/keyboards/evyd13/solheim68/keyboard.json b/keyboards/evyd13/solheim68/keyboard.json
index 9e04b9caab..de150e3984 100644
--- a/keyboards/evyd13/solheim68/keyboard.json
+++ b/keyboards/evyd13/solheim68/keyboard.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": false
diff --git a/keyboards/evyd13/ta65/keyboard.json b/keyboards/evyd13/ta65/keyboard.json
index 1f58de0200..87f7bbfbc8 100644
--- a/keyboards/evyd13/ta65/keyboard.json
+++ b/keyboards/evyd13/ta65/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "ta-65",
"manufacturer": "Evyd13",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0x4705",
diff --git a/keyboards/evyd13/wonderland/keyboard.json b/keyboards/evyd13/wonderland/keyboard.json
index 526416fd71..b15ad66f41 100644
--- a/keyboards/evyd13/wonderland/keyboard.json
+++ b/keyboards/evyd13/wonderland/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Wonderland",
"manufacturer": "Evyd13",
- "url": "",
"maintainer": "evyd13",
"usb": {
"vid": "0x4705",
diff --git a/keyboards/exclusive/e65/keyboard.json b/keyboards/exclusive/e65/keyboard.json
index 9735155abe..d235ad028f 100644
--- a/keyboards/exclusive/e65/keyboard.json
+++ b/keyboards/exclusive/e65/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "E6.5",
"manufacturer": "Exclusive / E-Team",
- "url": "",
"maintainer": "masterzen",
"usb": {
"vid": "0x4558",
@@ -12,7 +11,6 @@
"backlight": true,
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/exclusive/e6_rgb/keyboard.json b/keyboards/exclusive/e6_rgb/keyboard.json
index 401bee9aba..780fd1c1ab 100644
--- a/keyboards/exclusive/e6_rgb/keyboard.json
+++ b/keyboards/exclusive/e6_rgb/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "E6 RGB",
"manufacturer": "astro",
- "url": "",
"maintainer": "yulei",
"usb": {
"vid": "0x4154",
@@ -14,7 +13,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": true,
diff --git a/keyboards/exclusive/e6v2/le/keyboard.json b/keyboards/exclusive/e6v2/le/keyboard.json
index e6d551126e..25ca2ca4f8 100644
--- a/keyboards/exclusive/e6v2/le/keyboard.json
+++ b/keyboards/exclusive/e6v2/le/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "E6-V2 LE",
"manufacturer": "Exclusive / E-Team",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0xFEED",
@@ -12,7 +11,6 @@
"backlight": true,
"bootmagic": false,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/exclusive/e6v2/le_bmc/keyboard.json b/keyboards/exclusive/e6v2/le_bmc/keyboard.json
index 09d99d670f..1e36043e5a 100644
--- a/keyboards/exclusive/e6v2/le_bmc/keyboard.json
+++ b/keyboards/exclusive/e6v2/le_bmc/keyboard.json
@@ -11,7 +11,6 @@
"backlight": true,
"bootmagic": false,
"command": true,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false,
diff --git a/keyboards/exclusive/e6v2/oe/keyboard.json b/keyboards/exclusive/e6v2/oe/keyboard.json
index 587205d2df..120fb76635 100644
--- a/keyboards/exclusive/e6v2/oe/keyboard.json
+++ b/keyboards/exclusive/e6v2/oe/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "E6-V2 OE",
"manufacturer": "Exclusive / E-Team",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0xFEED",
@@ -12,7 +11,6 @@
"backlight": true,
"bootmagic": false,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/exclusive/e6v2/oe_bmc/keyboard.json b/keyboards/exclusive/e6v2/oe_bmc/keyboard.json
index 7ff3099249..f287417943 100644
--- a/keyboards/exclusive/e6v2/oe_bmc/keyboard.json
+++ b/keyboards/exclusive/e6v2/oe_bmc/keyboard.json
@@ -11,7 +11,6 @@
"backlight": true,
"bootmagic": false,
"command": true,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false,
diff --git a/keyboards/exclusive/e7v1/keyboard.json b/keyboards/exclusive/e7v1/keyboard.json
index ac0eb5549a..0cafc27d2d 100644
--- a/keyboards/exclusive/e7v1/keyboard.json
+++ b/keyboards/exclusive/e7v1/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "E7-V1",
"manufacturer": "Exclusive / E-Team",
- "url": "",
"maintainer": "masterzen",
"usb": {
"vid": "0x4558",
@@ -12,7 +11,6 @@
"backlight": true,
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/exclusive/e7v1se/keyboard.json b/keyboards/exclusive/e7v1se/keyboard.json
index 4cd9484ae4..7f24f0102b 100644
--- a/keyboards/exclusive/e7v1se/keyboard.json
+++ b/keyboards/exclusive/e7v1se/keyboard.json
@@ -12,7 +12,6 @@
"backlight": true,
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": true,
diff --git a/keyboards/exclusive/e85/hotswap/keyboard.json b/keyboards/exclusive/e85/hotswap/keyboard.json
index 7fcd61c843..72e578c04e 100644
--- a/keyboards/exclusive/e85/hotswap/keyboard.json
+++ b/keyboards/exclusive/e85/hotswap/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "E8.5 Hotswap",
"manufacturer": "Exclusive",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0x4558",
diff --git a/keyboards/exclusive/e85/soldered/keyboard.json b/keyboards/exclusive/e85/soldered/keyboard.json
index dfd6d18826..eaffa08933 100644
--- a/keyboards/exclusive/e85/soldered/keyboard.json
+++ b/keyboards/exclusive/e85/soldered/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "E8.5 Soldered",
"manufacturer": "Exclusive",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0x4558",
diff --git a/keyboards/exent/keyboard.json b/keyboards/exent/keyboard.json
index 1fcd11084b..5f3e058af0 100644
--- a/keyboards/exent/keyboard.json
+++ b/keyboards/exent/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Exent",
"manufacturer": "Quadcube",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0x5143",
@@ -12,7 +11,6 @@
"backlight": true,
"bootmagic": false,
"command": true,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": false,
diff --git a/keyboards/eyeohdesigns/babyv/keyboard.json b/keyboards/eyeohdesigns/babyv/keyboard.json
index 1197533189..72373d9c46 100644
--- a/keyboards/eyeohdesigns/babyv/keyboard.json
+++ b/keyboards/eyeohdesigns/babyv/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "babyv",
"manufacturer": "Eye Oh Designs",
- "url": "",
"maintainer": "eye oh designs",
"usb": {
"vid": "0xFEED",
@@ -12,7 +11,6 @@
"backlight": true,
"bootmagic": false,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": false,
diff --git a/keyboards/eyeohdesigns/theboulevard/keyboard.json b/keyboards/eyeohdesigns/theboulevard/keyboard.json
index 94007dd2c5..816ad06917 100644
--- a/keyboards/eyeohdesigns/theboulevard/keyboard.json
+++ b/keyboards/eyeohdesigns/theboulevard/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "the boulevard",
"manufacturer": "eye oh designs",
- "url": "",
"maintainer": "eye oh designs",
"usb": {
"vid": "0xFEED",
@@ -11,7 +10,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"encoder": true,
"extrakey": true,
"mousekey": true,
diff --git a/keyboards/facew/keyboard.json b/keyboards/facew/keyboard.json
index a8a7543b7a..b8d22bdf96 100644
--- a/keyboards/facew/keyboard.json
+++ b/keyboards/facew/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "FaceW",
"manufacturer": "SPRiT",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0x20A0",
@@ -12,7 +11,6 @@
"backlight": true,
"bootmagic": false,
"command": true,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false,
diff --git a/keyboards/falsonix/fx19/keyboard.json b/keyboards/falsonix/fx19/keyboard.json
index 4ef4730a5d..95e1e9cd78 100644
--- a/keyboards/falsonix/fx19/keyboard.json
+++ b/keyboards/falsonix/fx19/keyboard.json
@@ -7,7 +7,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
@@ -31,7 +30,6 @@
"rows": ["F0", "F1", "F4", "F5", "F6"]
},
"processor": "atmega32u4",
- "url": "",
"usb": {
"device_version": "1.0.0",
"pid": "0x0000",
diff --git a/keyboards/fatotesa/keyboard.json b/keyboards/fatotesa/keyboard.json
index ba6fc08d0c..6ea6b7199b 100644
--- a/keyboards/fatotesa/keyboard.json
+++ b/keyboards/fatotesa/keyboard.json
@@ -7,7 +7,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"encoder": true,
"extrakey": true,
"mousekey": true,
@@ -42,7 +41,6 @@
"cols": ["F5", "F6", "F7", "B1", "B3", "B2", "B6", null],
"rows": ["D4", "C6", "D7", "E6", "B4", "B5"]
},
- "url": "",
"usb": {
"device_version": "1.0.0",
"pid": "0x0000",
diff --git a/keyboards/fc660c/keyboard.json b/keyboards/fc660c/keyboard.json
index 6c573fef88..6486bf0587 100644
--- a/keyboards/fc660c/keyboard.json
+++ b/keyboards/fc660c/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "FC660C",
"manufacturer": "Hasu",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0x4853",
diff --git a/keyboards/fc980c/keyboard.json b/keyboards/fc980c/keyboard.json
index 9944dd3899..b22747ba15 100644
--- a/keyboards/fc980c/keyboard.json
+++ b/keyboards/fc980c/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "FC980C",
"manufacturer": "Hasu",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0x4853",
diff --git a/keyboards/feker/ik75/keyboard.json b/keyboards/feker/ik75/keyboard.json
index 8f5614098c..0f86148ebe 100644
--- a/keyboards/feker/ik75/keyboard.json
+++ b/keyboards/feker/ik75/keyboard.json
@@ -63,7 +63,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"encoder": true,
"extrakey": true,
"mousekey": false,
diff --git a/keyboards/ffkeebs/puca/keyboard.json b/keyboards/ffkeebs/puca/keyboard.json
index 2abd0cfc36..2c0780f4be 100644
--- a/keyboards/ffkeebs/puca/keyboard.json
+++ b/keyboards/ffkeebs/puca/keyboard.json
@@ -14,7 +14,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"encoder": true,
"extrakey": true,
"mousekey": false,
diff --git a/keyboards/ffkeebs/siris/keyboard.json b/keyboards/ffkeebs/siris/keyboard.json
index 86531b6d01..5886f98874 100644
--- a/keyboards/ffkeebs/siris/keyboard.json
+++ b/keyboards/ffkeebs/siris/keyboard.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"encoder": true,
"extrakey": true,
"mousekey": true,
diff --git a/keyboards/flashquark/horizon_z/keyboard.json b/keyboards/flashquark/horizon_z/keyboard.json
index 0fe14e7c60..b2354889cc 100755
--- a/keyboards/flashquark/horizon_z/keyboard.json
+++ b/keyboards/flashquark/horizon_z/keyboard.json
@@ -8,7 +8,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/flehrad/numbrero/keyboard.json b/keyboards/flehrad/numbrero/keyboard.json
index f72b06ca7c..28a6ab23de 100644
--- a/keyboards/flehrad/numbrero/keyboard.json
+++ b/keyboards/flehrad/numbrero/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Numbrero",
"manufacturer": "Flehrad",
- "url": "",
"maintainer": "Flehrad",
"usb": {
"vid": "0xFEED",
@@ -11,7 +10,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/flehrad/snagpad/keyboard.json b/keyboards/flehrad/snagpad/keyboard.json
index 1b2a2c4ae1..821117f245 100644
--- a/keyboards/flehrad/snagpad/keyboard.json
+++ b/keyboards/flehrad/snagpad/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Snagpad",
"manufacturer": "Flehrad",
- "url": "",
"maintainer": "Flehrad",
"usb": {
"vid": "0x4443",
@@ -11,7 +10,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/flehrad/tradestation/keyboard.json b/keyboards/flehrad/tradestation/keyboard.json
index 757325ceaf..4122d6e5e6 100644
--- a/keyboards/flehrad/tradestation/keyboard.json
+++ b/keyboards/flehrad/tradestation/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Trade Station",
"manufacturer": "Flehrad",
- "url": "",
"maintainer": "Flehrad",
"usb": {
"vid": "0xFEED",
@@ -11,7 +10,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/fleuron/keyboard.json b/keyboards/fleuron/keyboard.json
index 5cd7b7d8b2..041ed9061c 100644
--- a/keyboards/fleuron/keyboard.json
+++ b/keyboards/fleuron/keyboard.json
@@ -10,7 +10,6 @@
"features": {
"bootmagic": false,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": false,
diff --git a/keyboards/fluorite/keyboard.json b/keyboards/fluorite/keyboard.json
index 37e74c387c..17824c36b7 100644
--- a/keyboards/fluorite/keyboard.json
+++ b/keyboards/fluorite/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "fluorite",
"manufacturer": "ihotsuno",
- "url": "",
"maintainer": "ihotsuno, qmk",
"usb": {
"vid": "0xFEED",
diff --git a/keyboards/flx/lodestone/keyboard.json b/keyboards/flx/lodestone/keyboard.json
index 3a70655f2a..138ea8216e 100644
--- a/keyboards/flx/lodestone/keyboard.json
+++ b/keyboards/flx/lodestone/keyboard.json
@@ -14,7 +14,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/flx/virgo/keyboard.json b/keyboards/flx/virgo/keyboard.json
index 996425282d..11935c38f2 100644
--- a/keyboards/flx/virgo/keyboard.json
+++ b/keyboards/flx/virgo/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Virgo",
"manufacturer": "FLX",
- "url": "",
"maintainer": "mechmerlin",
"usb": {
"vid": "0x4658",
@@ -15,7 +14,6 @@
"backlight": true,
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false,
diff --git a/keyboards/flxlb/zplit/keyboard.json b/keyboards/flxlb/zplit/keyboard.json
index cd16ef7a15..fdbe34fc7e 100644
--- a/keyboards/flxlb/zplit/keyboard.json
+++ b/keyboards/flxlb/zplit/keyboard.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": false,
"command": true,
- "console": false,
"encoder": true,
"extrakey": true,
"mousekey": false,
diff --git a/keyboards/foostan/cornelius/keyboard.json b/keyboards/foostan/cornelius/keyboard.json
index 75cf098c4d..024247b894 100644
--- a/keyboards/foostan/cornelius/keyboard.json
+++ b/keyboards/foostan/cornelius/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Cornelius",
"manufacturer": "Yushakobo",
- "url": "",
"maintainer": "foostan",
"usb": {
"vid": "0x3265",
@@ -11,7 +10,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false
diff --git a/keyboards/forever65/keyboard.json b/keyboards/forever65/keyboard.json
index 9f128c1177..f1f7262929 100644
--- a/keyboards/forever65/keyboard.json
+++ b/keyboards/forever65/keyboard.json
@@ -17,7 +17,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/fortitude60/rev1/keyboard.json b/keyboards/fortitude60/rev1/keyboard.json
index 4ad8a723b7..3970a78404 100644
--- a/keyboards/fortitude60/rev1/keyboard.json
+++ b/keyboards/fortitude60/rev1/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Fortitude60",
"manufacturer": "Pekaso",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0xCB10",
diff --git a/keyboards/foxlab/key65/hotswap/keyboard.json b/keyboards/foxlab/key65/hotswap/keyboard.json
index b21893fa88..892903f4ad 100644
--- a/keyboards/foxlab/key65/hotswap/keyboard.json
+++ b/keyboards/foxlab/key65/hotswap/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Key 65 Hotswap",
"manufacturer": "Fox Lab",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0x464C",
@@ -12,7 +11,6 @@
"backlight": true,
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": false,
diff --git a/keyboards/foxlab/key65/universal/keyboard.json b/keyboards/foxlab/key65/universal/keyboard.json
index daaa1b37b1..3133a89b5c 100644
--- a/keyboards/foxlab/key65/universal/keyboard.json
+++ b/keyboards/foxlab/key65/universal/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Key 65 Universal",
"manufacturer": "Fox Lab",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0x464C",
@@ -12,7 +11,6 @@
"backlight": true,
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": false,
diff --git a/keyboards/foxlab/leaf60/hotswap/keyboard.json b/keyboards/foxlab/leaf60/hotswap/keyboard.json
index 55639853e9..76b22849c8 100644
--- a/keyboards/foxlab/leaf60/hotswap/keyboard.json
+++ b/keyboards/foxlab/leaf60/hotswap/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Leaf 60 Hotswap",
"manufacturer": "Fox Lab",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0x464C",
@@ -12,7 +11,6 @@
"backlight": true,
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false,
diff --git a/keyboards/foxlab/leaf60/universal/keyboard.json b/keyboards/foxlab/leaf60/universal/keyboard.json
index 93bfe45cce..ee1f59bd0d 100644
--- a/keyboards/foxlab/leaf60/universal/keyboard.json
+++ b/keyboards/foxlab/leaf60/universal/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Leaf 60 Universal",
"manufacturer": "Fox Lab",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0x464C",
@@ -12,7 +11,6 @@
"backlight": true,
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false,
diff --git a/keyboards/foxlab/time80/keyboard.json b/keyboards/foxlab/time80/keyboard.json
index 9902ed770d..c922c821ca 100644
--- a/keyboards/foxlab/time80/keyboard.json
+++ b/keyboards/foxlab/time80/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Time80",
"manufacturer": "Fox Lab",
- "url": "",
"maintainer": "lukelex",
"usb": {
"vid": "0x464C",
@@ -11,7 +10,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false
diff --git a/keyboards/foxlab/time_re/hotswap/keyboard.json b/keyboards/foxlab/time_re/hotswap/keyboard.json
index cfef3317f2..262bcbf8e1 100644
--- a/keyboards/foxlab/time_re/hotswap/keyboard.json
+++ b/keyboards/foxlab/time_re/hotswap/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Time 80 Reforged",
"manufacturer": "Fox Lab",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0x464C",
@@ -12,7 +11,6 @@
"backlight": true,
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": false,
diff --git a/keyboards/foxlab/time_re/universal/keyboard.json b/keyboards/foxlab/time_re/universal/keyboard.json
index b53364a589..a7849bdba3 100644
--- a/keyboards/foxlab/time_re/universal/keyboard.json
+++ b/keyboards/foxlab/time_re/universal/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Time 80 Reforged",
"manufacturer": "Fox Lab",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0x464C",
@@ -12,7 +11,6 @@
"backlight": true,
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": false,
diff --git a/keyboards/fr4/southpaw75/keyboard.json b/keyboards/fr4/southpaw75/keyboard.json
index 47fb954bf9..9152b2758a 100644
--- a/keyboards/fr4/southpaw75/keyboard.json
+++ b/keyboards/fr4/southpaw75/keyboard.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/fr4/unix60/keyboard.json b/keyboards/fr4/unix60/keyboard.json
index a6c3d0cb6a..4a34065ece 100644
--- a/keyboards/fr4/unix60/keyboard.json
+++ b/keyboards/fr4/unix60/keyboard.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/free_willy/keyboard.json b/keyboards/free_willy/keyboard.json
index 512d56516a..74177bdc5e 100644
--- a/keyboards/free_willy/keyboard.json
+++ b/keyboards/free_willy/keyboard.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": false,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": false
diff --git a/keyboards/friedrich/keyboard.json b/keyboards/friedrich/keyboard.json
index d5dd68e0bc..49da41a947 100644
--- a/keyboards/friedrich/keyboard.json
+++ b/keyboards/friedrich/keyboard.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": false
diff --git a/keyboards/frobiac/blackbowl/keyboard.json b/keyboards/frobiac/blackbowl/keyboard.json
index 8a4aed1948..27cbd78209 100644
--- a/keyboards/frobiac/blackbowl/keyboard.json
+++ b/keyboards/frobiac/blackbowl/keyboard.json
@@ -9,7 +9,6 @@
"features": {
"bootmagic": false,
"command": false,
- "console": false,
"dynamic_macro": true,
"extrakey": true,
"mousekey": true,
diff --git a/keyboards/frobiac/blackflat/keyboard.json b/keyboards/frobiac/blackflat/keyboard.json
index 086d90d8f8..0d9229f96a 100644
--- a/keyboards/frobiac/blackflat/keyboard.json
+++ b/keyboards/frobiac/blackflat/keyboard.json
@@ -9,7 +9,6 @@
"features": {
"bootmagic": false,
"command": false,
- "console": false,
"dynamic_macro": true,
"extrakey": true,
"mousekey": true,
diff --git a/keyboards/frobiac/hypernano/keyboard.json b/keyboards/frobiac/hypernano/keyboard.json
index 403beed952..28a8e9b766 100644
--- a/keyboards/frobiac/hypernano/keyboard.json
+++ b/keyboards/frobiac/hypernano/keyboard.json
@@ -9,7 +9,6 @@
"features": {
"bootmagic": false,
"command": false,
- "console": false,
"dynamic_macro": true,
"extrakey": true,
"mousekey": true,
diff --git a/keyboards/frobiac/redtilt/keyboard.json b/keyboards/frobiac/redtilt/keyboard.json
index f3cbd96e1c..764bc9be7b 100644
--- a/keyboards/frobiac/redtilt/keyboard.json
+++ b/keyboards/frobiac/redtilt/keyboard.json
@@ -9,7 +9,6 @@
"features": {
"bootmagic": false,
"command": false,
- "console": false,
"dynamic_macro": true,
"extrakey": true,
"mousekey": true,
diff --git a/keyboards/frooastboard/nano/keyboard.json b/keyboards/frooastboard/nano/keyboard.json
index 5d7783145e..78764d2536 100644
--- a/keyboards/frooastboard/nano/keyboard.json
+++ b/keyboards/frooastboard/nano/keyboard.json
@@ -18,7 +18,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": false,
"mousekey": false,
"nkro": true,
diff --git a/keyboards/frooastboard/walnut/keyboard.json b/keyboards/frooastboard/walnut/keyboard.json
index 4387452d38..4807a28801 100644
--- a/keyboards/frooastboard/walnut/keyboard.json
+++ b/keyboards/frooastboard/walnut/keyboard.json
@@ -9,7 +9,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": false,
"mousekey": false,
"nkro": true,
diff --git a/keyboards/fs_streampad/keyboard.json b/keyboards/fs_streampad/keyboard.json
index 5adefff443..d932315419 100644
--- a/keyboards/fs_streampad/keyboard.json
+++ b/keyboards/fs_streampad/keyboard.json
@@ -18,7 +18,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
@@ -76,9 +75,6 @@
"pixel_flow": true,
"pixel_rain": true
},
- "default": {
- "animation": "cycle_left_right"
- },
"sleep": true,
"layout": [
{"matrix": [0, 0], "flags": 4, "x": 0, "y": 0 },
diff --git a/keyboards/ft/mars65/keyboard.json b/keyboards/ft/mars65/keyboard.json
index 3b6f5ec8a9..3b9c5fe0e6 100644
--- a/keyboards/ft/mars65/keyboard.json
+++ b/keyboards/ft/mars65/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Mars 6.5",
"manufacturer": "FT",
- "url": "",
"maintainer": "wonderbeel",
"usb": {
"vid": "0x20A0",
@@ -15,7 +14,6 @@
"backlight": true,
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false,
diff --git a/keyboards/ft/mars80/keyboard.json b/keyboards/ft/mars80/keyboard.json
index 1d5e53dcbe..38261ad547 100644
--- a/keyboards/ft/mars80/keyboard.json
+++ b/keyboards/ft/mars80/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Mars 8.0",
"manufacturer": "FT",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0x20A0",
@@ -12,7 +11,6 @@
"backlight": true,
"bootmagic": false,
"command": true,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": false,
diff --git a/keyboards/function96/v1/keyboard.json b/keyboards/function96/v1/keyboard.json
index 945042b284..a3f6db9a1e 100644
--- a/keyboards/function96/v1/keyboard.json
+++ b/keyboards/function96/v1/keyboard.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": true
diff --git a/keyboards/function96/v2/keyboard.json b/keyboards/function96/v2/keyboard.json
index 21d677d9a5..2d2b7bafcf 100644
--- a/keyboards/function96/v2/keyboard.json
+++ b/keyboards/function96/v2/keyboard.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": true
diff --git a/keyboards/fungo/rev1/keyboard.json b/keyboards/fungo/rev1/keyboard.json
index 0970a027c8..eacf9cf21c 100644
--- a/keyboards/fungo/rev1/keyboard.json
+++ b/keyboards/fungo/rev1/keyboard.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": false,
"command": false,
- "console": false,
"extrakey": false,
"key_lock": true,
"mousekey": true,
diff --git a/keyboards/funky40/keyboard.json b/keyboards/funky40/keyboard.json
index d76b9eee2e..9d05de1562 100644
--- a/keyboards/funky40/keyboard.json
+++ b/keyboards/funky40/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Funky40",
"manufacturer": "TheFourthCow",
- "url": "",
"maintainer": "TheFourthCow",
"usb": {
"vid": "0xFEED",
@@ -11,7 +10,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/gami_studio/lex60/keyboard.json b/keyboards/gami_studio/lex60/keyboard.json
index be1715c844..7fd735d6ff 100644
--- a/keyboards/gami_studio/lex60/keyboard.json
+++ b/keyboards/gami_studio/lex60/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Lex60",
"manufacturer": "Evyd13",
- "url": "",
"maintainer": "GamiStudio",
"usb": {
"vid": "0x7353",
@@ -29,7 +28,6 @@
"features": {
"bootmagic": false,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": false,
diff --git a/keyboards/gboards/butterstick/keyboard.json b/keyboards/gboards/butterstick/keyboard.json
index 59d703925b..80204f6ba9 100644
--- a/keyboards/gboards/butterstick/keyboard.json
+++ b/keyboards/gboards/butterstick/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Butter Stick",
"manufacturer": "g Heavy Industries",
- "url": "",
"maintainer": "germ",
"usb": {
"vid": "0xFEED",
diff --git a/keyboards/gboards/gergoplex/keyboard.json b/keyboards/gboards/gergoplex/keyboard.json
index cf1e451392..111f7b8f2c 100644
--- a/keyboards/gboards/gergoplex/keyboard.json
+++ b/keyboards/gboards/gergoplex/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "GergoPlex",
"manufacturer": "g Heavy Industries",
- "url": "",
"maintainer": "germ",
"usb": {
"vid": "0x6B0A",
diff --git a/keyboards/geekboards/macropad_v2/keyboard.json b/keyboards/geekboards/macropad_v2/keyboard.json
index 54d779570a..4e0eff3a5e 100644
--- a/keyboards/geekboards/macropad_v2/keyboard.json
+++ b/keyboards/geekboards/macropad_v2/keyboard.json
@@ -47,7 +47,6 @@
},
"default": {
"animation": "cycle_up_down",
- "sat": 255,
"speed": 30,
"val": 192
},
@@ -59,7 +58,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/geekboards/tester/keyboard.json b/keyboards/geekboards/tester/keyboard.json
index 743e5e2392..ef6e6ee352 100644
--- a/keyboards/geekboards/tester/keyboard.json
+++ b/keyboards/geekboards/tester/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Tester",
"manufacturer": "Geekboards",
- "url": "",
"maintainer": "moyi4681",
"usb": {
"vid": "0xFEED",
@@ -56,7 +55,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": true,
diff --git a/keyboards/geistmaschine/geist/keyboard.json b/keyboards/geistmaschine/geist/keyboard.json
index 079dd8d6d9..723f3d4e7f 100644
--- a/keyboards/geistmaschine/geist/keyboard.json
+++ b/keyboards/geistmaschine/geist/keyboard.json
@@ -7,7 +7,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/geistmaschine/macropod/keyboard.json b/keyboards/geistmaschine/macropod/keyboard.json
index 333e7c0a50..32094981c7 100644
--- a/keyboards/geistmaschine/macropod/keyboard.json
+++ b/keyboards/geistmaschine/macropod/keyboard.json
@@ -13,7 +13,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false,
diff --git a/keyboards/generic_panda/panda65_01/keyboard.json b/keyboards/generic_panda/panda65_01/keyboard.json
index 098f3df1c0..59ed646543 100644
--- a/keyboards/generic_panda/panda65_01/keyboard.json
+++ b/keyboards/generic_panda/panda65_01/keyboard.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": false
diff --git a/keyboards/genone/eclipse_65/keyboard.json b/keyboards/genone/eclipse_65/keyboard.json
index aeb2d8973c..f416e538d5 100644
--- a/keyboards/genone/eclipse_65/keyboard.json
+++ b/keyboards/genone/eclipse_65/keyboard.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": true
diff --git a/keyboards/genone/g1_65/keyboard.json b/keyboards/genone/g1_65/keyboard.json
index 367bdfe7bb..bb85dd82bc 100644
--- a/keyboards/genone/g1_65/keyboard.json
+++ b/keyboards/genone/g1_65/keyboard.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": true
diff --git a/keyboards/geonworks/ee_at/keyboard.json b/keyboards/geonworks/ee_at/keyboard.json
index 803e0d3640..a619ca43e3 100644
--- a/keyboards/geonworks/ee_at/keyboard.json
+++ b/keyboards/geonworks/ee_at/keyboard.json
@@ -10,7 +10,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/geonworks/frogmini/fmh/keyboard.json b/keyboards/geonworks/frogmini/fmh/keyboard.json
index 414aa18e12..d8f1db093a 100644
--- a/keyboards/geonworks/frogmini/fmh/keyboard.json
+++ b/keyboards/geonworks/frogmini/fmh/keyboard.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": true
diff --git a/keyboards/geonworks/frogmini/fms/keyboard.json b/keyboards/geonworks/frogmini/fms/keyboard.json
index c34765288b..63945434eb 100644
--- a/keyboards/geonworks/frogmini/fms/keyboard.json
+++ b/keyboards/geonworks/frogmini/fms/keyboard.json
@@ -12,7 +12,6 @@
"backlight": true,
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": true
diff --git a/keyboards/geonworks/w1_at/keyboard.json b/keyboards/geonworks/w1_at/keyboard.json
index 8b7991c03d..49834c3730 100644
--- a/keyboards/geonworks/w1_at/keyboard.json
+++ b/keyboards/geonworks/w1_at/keyboard.json
@@ -10,7 +10,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/ggkeyboards/genesis/hotswap/keyboard.json b/keyboards/ggkeyboards/genesis/hotswap/keyboard.json
index 5cd4f07716..cb5e94cf38 100644
--- a/keyboards/ggkeyboards/genesis/hotswap/keyboard.json
+++ b/keyboards/ggkeyboards/genesis/hotswap/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Genesis Hotswap",
"manufacturer": "GG Keyboards",
- "url": "",
"maintainer": "Spooknik",
"usb": {
"vid": "0xBB00",
diff --git a/keyboards/ggkeyboards/genesis/solder/keyboard.json b/keyboards/ggkeyboards/genesis/solder/keyboard.json
index 485be430e5..15fcc2334b 100644
--- a/keyboards/ggkeyboards/genesis/solder/keyboard.json
+++ b/keyboards/ggkeyboards/genesis/solder/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Genesis Solder",
"manufacturer": "GG Keyboards",
- "url": "",
"maintainer": "Spooknik",
"usb": {
"vid": "0xBB00",
diff --git a/keyboards/gh60/revc/keyboard.json b/keyboards/gh60/revc/keyboard.json
index 4f90f2540c..cc73e0649e 100644
--- a/keyboards/gh60/revc/keyboard.json
+++ b/keyboards/gh60/revc/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "GH60 Rev C",
"manufacturer": "geekhack",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0x4335",
@@ -11,7 +10,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/gh60/satan/keyboard.json b/keyboards/gh60/satan/keyboard.json
index e3f2685297..864e5fa90d 100644
--- a/keyboards/gh60/satan/keyboard.json
+++ b/keyboards/gh60/satan/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "GH60 Satan",
"manufacturer": "SATAN",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0x4335",
diff --git a/keyboards/gh60/v1p3/keyboard.json b/keyboards/gh60/v1p3/keyboard.json
index 18ac7608bb..978b1e0b57 100644
--- a/keyboards/gh60/v1p3/keyboard.json
+++ b/keyboards/gh60/v1p3/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "GH60 v1.3",
"manufacturer": "Unknown",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0xFEED",
@@ -12,7 +11,6 @@
"backlight": true,
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false,
diff --git a/keyboards/gh80_3000/keyboard.json b/keyboards/gh80_3000/keyboard.json
index c88f5c8232..c747264be4 100644
--- a/keyboards/gh80_3000/keyboard.json
+++ b/keyboards/gh80_3000/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "GH80-3000",
"manufacturer": "farmakon",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0xFEED",
@@ -11,7 +10,6 @@
"features": {
"bootmagic": false,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": true
diff --git a/keyboards/ghs/jem/info.json b/keyboards/ghs/jem/info.json
index b90655647d..92d09c9c83 100644
--- a/keyboards/ghs/jem/info.json
+++ b/keyboards/ghs/jem/info.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "GHS.JEM",
"manufacturer": "Gone Hacking Studio",
- "url": "",
"maintainer": "ramonimbao",
"usb": {
"vid": "0x0645",
@@ -12,7 +11,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"rgblight": true,
@@ -29,8 +27,6 @@
"rgblight": {
"led_count": 22,
"hue_steps": 10,
- "saturation_steps": 17,
- "brightness_steps": 17,
"animations": {
"breathing": true,
"rainbow_mood": true,
diff --git a/keyboards/ghs/rar/keyboard.json b/keyboards/ghs/rar/keyboard.json
index 96184abe6a..2e3a205ad9 100644
--- a/keyboards/ghs/rar/keyboard.json
+++ b/keyboards/ghs/rar/keyboard.json
@@ -33,7 +33,6 @@
"features": {
"bootmagic": false,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false,
diff --git a/keyboards/ghs/xls/keyboard.json b/keyboards/ghs/xls/keyboard.json
index f062f32af8..2115fe456e 100644
--- a/keyboards/ghs/xls/keyboard.json
+++ b/keyboards/ghs/xls/keyboard.json
@@ -6,7 +6,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"encoder": true,
@@ -19,7 +18,6 @@
"indicators": {
"num_lock": "B0"
},
- "url": "",
"usb": {
"device_version": "1.0.0",
"pid": "0x0002",
diff --git a/keyboards/giabalanai/keyboard.json b/keyboards/giabalanai/keyboard.json
index ae43139dad..817bed0f57 100644
--- a/keyboards/giabalanai/keyboard.json
+++ b/keyboards/giabalanai/keyboard.json
@@ -34,7 +34,6 @@
"extrakey": true,
"encoder": true,
"bootmagic": false,
- "console": false,
"mousekey": false,
"nkro": false,
"command": false,
diff --git a/keyboards/gizmo_engineering/gk6/keyboard.json b/keyboards/gizmo_engineering/gk6/keyboard.json
index d68b356d9c..bd9588f251 100644
--- a/keyboards/gizmo_engineering/gk6/keyboard.json
+++ b/keyboards/gizmo_engineering/gk6/keyboard.json
@@ -30,7 +30,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": false,
diff --git a/keyboards/gkeyboard/gkb_m16/keyboard.json b/keyboards/gkeyboard/gkb_m16/keyboard.json
index 1f1fe50a67..408d391cb3 100644
--- a/keyboards/gkeyboard/gkb_m16/keyboard.json
+++ b/keyboards/gkeyboard/gkb_m16/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "GKB-M16",
"manufacturer": "gkeyboard",
- "url": "",
"maintainer": "gkeyboard",
"usb": {
"vid": "0x474B",
@@ -32,7 +31,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/gkeyboard/gpad8_2r/keyboard.json b/keyboards/gkeyboard/gpad8_2r/keyboard.json
index 6c9a779b05..a2e3144bb4 100644
--- a/keyboards/gkeyboard/gpad8_2r/keyboard.json
+++ b/keyboards/gkeyboard/gpad8_2r/keyboard.json
@@ -14,7 +14,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/gkeyboard/greatpad/keyboard.json b/keyboards/gkeyboard/greatpad/keyboard.json
index 62edd1aef3..6f11479357 100644
--- a/keyboards/gkeyboard/greatpad/keyboard.json
+++ b/keyboards/gkeyboard/greatpad/keyboard.json
@@ -16,7 +16,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"encoder": true,
"extrakey": true,
"mousekey": true,
diff --git a/keyboards/gl516/xr63gl/keyboard.json b/keyboards/gl516/xr63gl/keyboard.json
index ddeb425462..19716eb60c 100644
--- a/keyboards/gl516/xr63gl/keyboard.json
+++ b/keyboards/gl516/xr63gl/keyboard.json
@@ -7,7 +7,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
@@ -17,7 +16,6 @@
"rows": ["GP26", "GP27", "GP28", "GP29", "GP0", "GP3", "GP4", "GP2", "GP1"]
},
"processor": "RP2040",
- "url": "",
"usb": {
"device_version": "1.0.0",
"pid": "0x0001",
diff --git a/keyboards/glenpickle/chimera_ergo/keyboard.json b/keyboards/glenpickle/chimera_ergo/keyboard.json
index 038498fd10..d2b4d93b9d 100644
--- a/keyboards/glenpickle/chimera_ergo/keyboard.json
+++ b/keyboards/glenpickle/chimera_ergo/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Chimera Ergo",
"manufacturer": "Unknown",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0xFEED",
diff --git a/keyboards/glenpickle/chimera_ls/keyboard.json b/keyboards/glenpickle/chimera_ls/keyboard.json
index b0d6a52912..23c870c74d 100644
--- a/keyboards/glenpickle/chimera_ls/keyboard.json
+++ b/keyboards/glenpickle/chimera_ls/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Chimera Lets Split",
"manufacturer": "Unknown",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0xFEED",
diff --git a/keyboards/gmmk/gmmk2/p65/ansi/keyboard.json b/keyboards/gmmk/gmmk2/p65/ansi/keyboard.json
index a5c4c92552..197b08e419 100644
--- a/keyboards/gmmk/gmmk2/p65/ansi/keyboard.json
+++ b/keyboards/gmmk/gmmk2/p65/ansi/keyboard.json
@@ -14,7 +14,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/gmmk/gmmk2/p65/iso/keyboard.json b/keyboards/gmmk/gmmk2/p65/iso/keyboard.json
index a4576c8c7f..2ba4bf0616 100644
--- a/keyboards/gmmk/gmmk2/p65/iso/keyboard.json
+++ b/keyboards/gmmk/gmmk2/p65/iso/keyboard.json
@@ -14,7 +14,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/gmmk/gmmk2/p96/ansi/keyboard.json b/keyboards/gmmk/gmmk2/p96/ansi/keyboard.json
index 8fd81ba1a0..43ebfbf620 100644
--- a/keyboards/gmmk/gmmk2/p96/ansi/keyboard.json
+++ b/keyboards/gmmk/gmmk2/p96/ansi/keyboard.json
@@ -14,7 +14,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/gmmk/gmmk2/p96/iso/keyboard.json b/keyboards/gmmk/gmmk2/p96/iso/keyboard.json
index 040b6f9c6f..7f1989324f 100644
--- a/keyboards/gmmk/gmmk2/p96/iso/keyboard.json
+++ b/keyboards/gmmk/gmmk2/p96/iso/keyboard.json
@@ -14,7 +14,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/gmmk/pro/rev1/ansi/keyboard.json b/keyboards/gmmk/pro/rev1/ansi/keyboard.json
index 867f7e1d02..074949efaa 100644
--- a/keyboards/gmmk/pro/rev1/ansi/keyboard.json
+++ b/keyboards/gmmk/pro/rev1/ansi/keyboard.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"encoder": true,
"extrakey": true,
"mousekey": true,
diff --git a/keyboards/gmmk/pro/rev1/iso/keyboard.json b/keyboards/gmmk/pro/rev1/iso/keyboard.json
index 6eabec96fe..9b26290fbc 100644
--- a/keyboards/gmmk/pro/rev1/iso/keyboard.json
+++ b/keyboards/gmmk/pro/rev1/iso/keyboard.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"encoder": true,
"extrakey": true,
"mousekey": true,
diff --git a/keyboards/gmmk/pro/rev2/ansi/keyboard.json b/keyboards/gmmk/pro/rev2/ansi/keyboard.json
index 21bc7df7fb..e113374dc7 100644
--- a/keyboards/gmmk/pro/rev2/ansi/keyboard.json
+++ b/keyboards/gmmk/pro/rev2/ansi/keyboard.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"encoder": true,
"extrakey": true,
"mousekey": true,
diff --git a/keyboards/gmmk/pro/rev2/iso/keyboard.json b/keyboards/gmmk/pro/rev2/iso/keyboard.json
index 83d1fd3028..b4aad81323 100644
--- a/keyboards/gmmk/pro/rev2/iso/keyboard.json
+++ b/keyboards/gmmk/pro/rev2/iso/keyboard.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"encoder": true,
"extrakey": true,
"mousekey": true,
diff --git a/keyboards/gon/nerd60/keyboard.json b/keyboards/gon/nerd60/keyboard.json
index 590b3f3d9e..01cbaf3cd0 100644
--- a/keyboards/gon/nerd60/keyboard.json
+++ b/keyboards/gon/nerd60/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "NerD 60",
"manufacturer": "GON",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0x4E45",
diff --git a/keyboards/gon/nerdtkl/keyboard.json b/keyboards/gon/nerdtkl/keyboard.json
index ccf13ec325..ae9db2553b 100644
--- a/keyboards/gon/nerdtkl/keyboard.json
+++ b/keyboards/gon/nerdtkl/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "NerD TKL",
"manufacturer": "GON",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0x4E45",
diff --git a/keyboards/gopolar/gg86/keyboard.json b/keyboards/gopolar/gg86/keyboard.json
index b704582aa6..a9944beea9 100644
--- a/keyboards/gopolar/gg86/keyboard.json
+++ b/keyboards/gopolar/gg86/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "GG86 Tai-Chi",
"manufacturer": "Gopolar",
- "url": "",
"maintainer": "Gopolar",
"usb": {
"vid": "0x0007",
diff --git a/keyboards/gorthage_truck/keyboard.json b/keyboards/gorthage_truck/keyboard.json
index 1a0a364f96..40c901e21c 100644
--- a/keyboards/gorthage_truck/keyboard.json
+++ b/keyboards/gorthage_truck/keyboard.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"encoder": true,
"extrakey": true,
"mousekey": true,
diff --git a/keyboards/gowla/keyboard.json b/keyboards/gowla/keyboard.json
index 0f64cad79b..0272611013 100644
--- a/keyboards/gowla/keyboard.json
+++ b/keyboards/gowla/keyboard.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": false,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": true
diff --git a/keyboards/gray_studio/aero75/keyboard.json b/keyboards/gray_studio/aero75/keyboard.json
index c0ede794c2..9357ca3903 100644
--- a/keyboards/gray_studio/aero75/keyboard.json
+++ b/keyboards/gray_studio/aero75/keyboard.json
@@ -40,7 +40,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false,
diff --git a/keyboards/gray_studio/apollo80/keyboard.json b/keyboards/gray_studio/apollo80/keyboard.json
index f3425aa20d..0bbb3bf804 100644
--- a/keyboards/gray_studio/apollo80/keyboard.json
+++ b/keyboards/gray_studio/apollo80/keyboard.json
@@ -36,7 +36,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/gray_studio/cod67/keyboard.json b/keyboards/gray_studio/cod67/keyboard.json
index fa946d9b33..e0a71c6703 100644
--- a/keyboards/gray_studio/cod67/keyboard.json
+++ b/keyboards/gray_studio/cod67/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "COD67",
"manufacturer": "Graystudio",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0x4753",
diff --git a/keyboards/gray_studio/hb85/keyboard.json b/keyboards/gray_studio/hb85/keyboard.json
index 61387a2709..9d182a458e 100644
--- a/keyboards/gray_studio/hb85/keyboard.json
+++ b/keyboards/gray_studio/hb85/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "HB85",
"manufacturer": "Gray Studio",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0x4753",
@@ -12,7 +11,6 @@
"backlight": true,
"bootmagic": false,
"command": true,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": false,
diff --git a/keyboards/gray_studio/space65/keyboard.json b/keyboards/gray_studio/space65/keyboard.json
index ffe825ff4c..630f9d4e26 100644
--- a/keyboards/gray_studio/space65/keyboard.json
+++ b/keyboards/gray_studio/space65/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Space65",
"manufacturer": "Graystudio",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0x4753",
@@ -12,7 +11,6 @@
"backlight": true,
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false,
diff --git a/keyboards/gray_studio/space65r3/keyboard.json b/keyboards/gray_studio/space65r3/keyboard.json
index bdf3624c58..3a5880caf5 100644
--- a/keyboards/gray_studio/space65r3/keyboard.json
+++ b/keyboards/gray_studio/space65r3/keyboard.json
@@ -40,7 +40,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false,
diff --git a/keyboards/gray_studio/think65/hotswap/keyboard.json b/keyboards/gray_studio/think65/hotswap/keyboard.json
index c2dba58190..a38f648eca 100644
--- a/keyboards/gray_studio/think65/hotswap/keyboard.json
+++ b/keyboards/gray_studio/think65/hotswap/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Think6.5\u00b0 Hotswap",
"manufacturer": "Graystudio",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0x4753",
diff --git a/keyboards/gray_studio/think65/solder/keyboard.json b/keyboards/gray_studio/think65/solder/keyboard.json
index 09096a854e..283516b60a 100644
--- a/keyboards/gray_studio/think65/solder/keyboard.json
+++ b/keyboards/gray_studio/think65/solder/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Think6.5\u00b0",
"manufacturer": "Graystudio",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0x4753",
diff --git a/keyboards/gray_studio/think65v3/keyboard.json b/keyboards/gray_studio/think65v3/keyboard.json
index 0c6b8e7938..c561c3e8a2 100644
--- a/keyboards/gray_studio/think65v3/keyboard.json
+++ b/keyboards/gray_studio/think65v3/keyboard.json
@@ -14,7 +14,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/gregandcin/teaqueen/keyboard.json b/keyboards/gregandcin/teaqueen/keyboard.json
index 871c34587d..dfb7e64146 100644
--- a/keyboards/gregandcin/teaqueen/keyboard.json
+++ b/keyboards/gregandcin/teaqueen/keyboard.json
@@ -7,7 +7,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/grid600/press/keyboard.json b/keyboards/grid600/press/keyboard.json
index 74c3e7aad1..8e8ae09f1c 100644
--- a/keyboards/grid600/press/keyboard.json
+++ b/keyboards/grid600/press/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "PRESS",
"manufacturer": "Grid",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0xFEED",
diff --git a/keyboards/gummykey/keyboard.json b/keyboards/gummykey/keyboard.json
index bb7001438d..36fa06455f 100644
--- a/keyboards/gummykey/keyboard.json
+++ b/keyboards/gummykey/keyboard.json
@@ -6,7 +6,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false
diff --git a/keyboards/gvalchca/ga150/keyboard.json b/keyboards/gvalchca/ga150/keyboard.json
index 38028799fa..ff0c0502c0 100644
--- a/keyboards/gvalchca/ga150/keyboard.json
+++ b/keyboards/gvalchca/ga150/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "GA15.0",
"manufacturer": "Gvalchca",
- "url": "",
"maintainer": "Gvalchca",
"usb": {
"vid": "0x6776",
@@ -14,7 +13,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/gvalchca/spaccboard/keyboard.json b/keyboards/gvalchca/spaccboard/keyboard.json
index ad03737fd5..33af104d42 100644
--- a/keyboards/gvalchca/spaccboard/keyboard.json
+++ b/keyboards/gvalchca/spaccboard/keyboard.json
@@ -14,7 +14,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/h0oni/deskpad/keyboard.json b/keyboards/h0oni/deskpad/keyboard.json
index d7ad53cd43..e7de03edb8 100644
--- a/keyboards/h0oni/deskpad/keyboard.json
+++ b/keyboards/h0oni/deskpad/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Deskpad",
"manufacturer": "Hydrogen",
- "url": "",
"maintainer": "Hydrogen BD",
"usb": {
"vid": "0x4D53",
@@ -14,7 +13,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"encoder": true,
"extrakey": true,
"mousekey": true,
diff --git a/keyboards/h0oni/hotduck/keyboard.json b/keyboards/h0oni/hotduck/keyboard.json
index bdb2386021..bda7a295b2 100644
--- a/keyboards/h0oni/hotduck/keyboard.json
+++ b/keyboards/h0oni/hotduck/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "hotDuck",
"manufacturer": "h0oni",
- "url": "",
"maintainer": "h0oni",
"usb": {
"vid": "0x4D53",
@@ -11,7 +10,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/hackpad/keyboard.json b/keyboards/hackpad/keyboard.json
index 0a77c9320c..5813874e59 100644
--- a/keyboards/hackpad/keyboard.json
+++ b/keyboards/hackpad/keyboard.json
@@ -7,7 +7,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/hadron/info.json b/keyboards/hadron/info.json
index 1d25e18f30..1268c24a10 100644
--- a/keyboards/hadron/info.json
+++ b/keyboards/hadron/info.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Hadron",
"manufacturer": "ishtob",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0xFB30",
diff --git a/keyboards/halokeys/elemental75/keyboard.json b/keyboards/halokeys/elemental75/keyboard.json
index 866916b69b..b9319d2f21 100644
--- a/keyboards/halokeys/elemental75/keyboard.json
+++ b/keyboards/halokeys/elemental75/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Elemental75",
"manufacturer": "Halokeys",
- "url": "",
"maintainer": "shamit05",
"usb": {
"vid": "0xEA0B",
@@ -11,7 +10,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"encoder": true,
"extrakey": true,
"mousekey": true,
diff --git a/keyboards/han60/keyboard.json b/keyboards/han60/keyboard.json
index 41d33b1ba8..d2b1c24159 100644
--- a/keyboards/han60/keyboard.json
+++ b/keyboards/han60/keyboard.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false
diff --git a/keyboards/hand88/keyboard.json b/keyboards/hand88/keyboard.json
index cb8a320aaf..1ee33b8415 100755
--- a/keyboards/hand88/keyboard.json
+++ b/keyboards/hand88/keyboard.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/handwired/108key_trackpoint/keyboard.json b/keyboards/handwired/108key_trackpoint/keyboard.json
index 94acb1a26c..0e8e1a0963 100644
--- a/keyboards/handwired/108key_trackpoint/keyboard.json
+++ b/keyboards/handwired/108key_trackpoint/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "108Key-TrackPoint",
"manufacturer": "QMK",
- "url": "",
"maintainer": "mkem114",
"usb": {
"vid": "0x1234",
diff --git a/keyboards/handwired/10k/keyboard.json b/keyboards/handwired/10k/keyboard.json
index a3293601e3..c49d046fde 100644
--- a/keyboards/handwired/10k/keyboard.json
+++ b/keyboards/handwired/10k/keyboard.json
@@ -13,7 +13,6 @@
"features": {
"bootmagic": false,
"command": false,
- "console": false,
"extrakey": false,
"mousekey": false,
"nkro": false
diff --git a/keyboards/handwired/2x5keypad/keyboard.json b/keyboards/handwired/2x5keypad/keyboard.json
index 0b146f165b..88932b689b 100644
--- a/keyboards/handwired/2x5keypad/keyboard.json
+++ b/keyboards/handwired/2x5keypad/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "2x5keypad",
"manufacturer": "Jonathan Cameron",
- "url": "",
"maintainer": "jmcameron",
"usb": {
"vid": "0xFEED",
@@ -14,7 +13,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/handwired/3dfoxc/keyboard.json b/keyboards/handwired/3dfoxc/keyboard.json
index 7675acd73b..1475d52ab4 100644
--- a/keyboards/handwired/3dfoxc/keyboard.json
+++ b/keyboards/handwired/3dfoxc/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "3dfoxc",
"manufacturer": "dlgoodr",
- "url": "",
"maintainer": "dlgoodr",
"usb": {
"vid": "0xFEED",
diff --git a/keyboards/handwired/3dortho14u/rev1/keyboard.json b/keyboards/handwired/3dortho14u/rev1/keyboard.json
index 63773d405f..3a3c872d3a 100644
--- a/keyboards/handwired/3dortho14u/rev1/keyboard.json
+++ b/keyboards/handwired/3dortho14u/rev1/keyboard.json
@@ -1,7 +1,6 @@
{
"manufacturer": "xia0",
"keyboard_name": "3dortho14u",
- "url": "",
"maintainer": "xia0",
"processor": "atmega32u4",
"bootloader": "atmel-dfu",
diff --git a/keyboards/handwired/3dortho14u/rev2/keyboard.json b/keyboards/handwired/3dortho14u/rev2/keyboard.json
index 9e048d643d..831e24e118 100644
--- a/keyboards/handwired/3dortho14u/rev2/keyboard.json
+++ b/keyboards/handwired/3dortho14u/rev2/keyboard.json
@@ -1,7 +1,6 @@
{
"manufacturer": "xia0",
"keyboard_name": "3dortho14u",
- "url": "",
"maintainer": "xia0",
"processor": "atmega32u4",
"bootloader": "atmel-dfu",
diff --git a/keyboards/handwired/3dp660/keyboard.json b/keyboards/handwired/3dp660/keyboard.json
index c1c4c13e7e..5b26aaecc6 100644
--- a/keyboards/handwired/3dp660/keyboard.json
+++ b/keyboards/handwired/3dp660/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "3dp660",
"manufacturer": "gooberpsycho",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0x676F",
diff --git a/keyboards/handwired/3dp660_oled/keyboard.json b/keyboards/handwired/3dp660_oled/keyboard.json
index ef863b3b52..c687a8bbb4 100644
--- a/keyboards/handwired/3dp660_oled/keyboard.json
+++ b/keyboards/handwired/3dp660_oled/keyboard.json
@@ -22,7 +22,6 @@
"rows": ["D5", "B0", "B5", "B4", "E6", "D7", "C6", "D4", "D2", "D3"]
},
"processor": "atmega32u4",
- "url": "",
"usb": {
"device_version": "1.0.0",
"pid": "0x3661",
diff --git a/keyboards/handwired/412_64/keyboard.json b/keyboards/handwired/412_64/keyboard.json
index c0f27dcb91..f80611178e 100644
--- a/keyboards/handwired/412_64/keyboard.json
+++ b/keyboards/handwired/412_64/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "412-64 Model 00",
"manufacturer": "EDI/SCI",
- "url": "",
"maintainer": "fateeverywhere",
"usb": {
"vid": "0xF7E0",
diff --git a/keyboards/handwired/42/keyboard.json b/keyboards/handwired/42/keyboard.json
index 45801b7773..7dbb5827df 100644
--- a/keyboards/handwired/42/keyboard.json
+++ b/keyboards/handwired/42/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "42",
"manufacturer": "nglgzz",
- "url": "",
"maintainer": "nglgzz",
"usb": {
"vid": "0xFEED",
diff --git a/keyboards/handwired/6key/keyboard.json b/keyboards/handwired/6key/keyboard.json
index 7883c1e784..8b4a41b0bf 100644
--- a/keyboards/handwired/6key/keyboard.json
+++ b/keyboards/handwired/6key/keyboard.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"dip_switch": true,
"extrakey": true,
"mousekey": true,
diff --git a/keyboards/handwired/6macro/keyboard.json b/keyboards/handwired/6macro/keyboard.json
index 702008de34..19e2191c22 100644
--- a/keyboards/handwired/6macro/keyboard.json
+++ b/keyboards/handwired/6macro/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "6macro",
"manufacturer": "joaofbmaia",
- "url": "",
"maintainer": "joaofbmaia",
"usb": {
"vid": "0xFEED",
@@ -29,7 +28,6 @@
"features": {
"bootmagic": false,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/handwired/acacia/keyboard.json b/keyboards/handwired/acacia/keyboard.json
index d761764727..bdb63430af 100644
--- a/keyboards/handwired/acacia/keyboard.json
+++ b/keyboards/handwired/acacia/keyboard.json
@@ -13,7 +13,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false
diff --git a/keyboards/handwired/aek64/keyboard.json b/keyboards/handwired/aek64/keyboard.json
index a06ed6decc..0a57e17927 100644
--- a/keyboards/handwired/aek64/keyboard.json
+++ b/keyboards/handwired/aek64/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "AEK64",
"manufacturer": "4sStylZ and others makers",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0xFEED",
diff --git a/keyboards/handwired/aim65/keyboard.json b/keyboards/handwired/aim65/keyboard.json
index 3f026a91fa..e5f48d7ef6 100644
--- a/keyboards/handwired/aim65/keyboard.json
+++ b/keyboards/handwired/aim65/keyboard.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false
diff --git a/keyboards/handwired/alcor_dactyl/keyboard.json b/keyboards/handwired/alcor_dactyl/keyboard.json
index b38d39bfcc..36b0cc849b 100644
--- a/keyboards/handwired/alcor_dactyl/keyboard.json
+++ b/keyboards/handwired/alcor_dactyl/keyboard.json
@@ -4,7 +4,6 @@
"maintainer": "rocketstrong",
"bootloader": "rp2040",
"processor": "RP2040",
- "url": "",
"usb": {
"device_version": "1.0.0",
"pid": "0x0000",
@@ -12,7 +11,6 @@
},
"features": {
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/handwired/amigopunk/keyboard.json b/keyboards/handwired/amigopunk/keyboard.json
index e8e45d2b99..11df6261ac 100644
--- a/keyboards/handwired/amigopunk/keyboard.json
+++ b/keyboards/handwired/amigopunk/keyboard.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"encoder": true,
"extrakey": true,
"mousekey": true,
diff --git a/keyboards/handwired/angel/keyboard.json b/keyboards/handwired/angel/keyboard.json
index 6a4b40bb21..89635b7bab 100644
--- a/keyboards/handwired/angel/keyboard.json
+++ b/keyboards/handwired/angel/keyboard.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/handwired/aplx2/keyboard.json b/keyboards/handwired/aplx2/keyboard.json
index 6a9d7130bd..f47646d5bf 100644
--- a/keyboards/handwired/aplx2/keyboard.json
+++ b/keyboards/handwired/aplx2/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Aplx2",
"manufacturer": "Aplyard",
- "url": "",
"maintainer": "Aplyard",
"usb": {
"vid": "0xE0E0",
@@ -11,7 +10,6 @@
"features": {
"bootmagic": false,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/handwired/aranck/keyboard.json b/keyboards/handwired/aranck/keyboard.json
index 435d6da696..e64a4b5263 100644
--- a/keyboards/handwired/aranck/keyboard.json
+++ b/keyboards/handwired/aranck/keyboard.json
@@ -12,7 +12,6 @@
"audio": true,
"bootmagic": false,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": false
diff --git a/keyboards/handwired/arrow_pad/keyboard.json b/keyboards/handwired/arrow_pad/keyboard.json
index 237c1f0749..f70645fe2a 100644
--- a/keyboards/handwired/arrow_pad/keyboard.json
+++ b/keyboards/handwired/arrow_pad/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "GoldPad",
"manufacturer": "Nobody",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0xFEED",
diff --git a/keyboards/handwired/atreus50/keyboard.json b/keyboards/handwired/atreus50/keyboard.json
index 961d1959b0..cedc231964 100644
--- a/keyboards/handwired/atreus50/keyboard.json
+++ b/keyboards/handwired/atreus50/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Atreus50",
"manufacturer": "Hexwire",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0xBB80",
@@ -30,7 +29,6 @@
"features": {
"bootmagic": false,
"command": true,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false
diff --git a/keyboards/handwired/axon/keyboard.json b/keyboards/handwired/axon/keyboard.json
index 007f90fbc8..6332e0c95b 100644
--- a/keyboards/handwired/axon/keyboard.json
+++ b/keyboards/handwired/axon/keyboard.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false
diff --git a/keyboards/handwired/baredev/rev1/keyboard.json b/keyboards/handwired/baredev/rev1/keyboard.json
index 470b926bb4..66d37c1f6e 100644
--- a/keyboards/handwired/baredev/rev1/keyboard.json
+++ b/keyboards/handwired/baredev/rev1/keyboard.json
@@ -25,7 +25,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/handwired/bdn9_ble/keyboard.json b/keyboards/handwired/bdn9_ble/keyboard.json
index 20f020504c..27ed008f43 100644
--- a/keyboards/handwired/bdn9_ble/keyboard.json
+++ b/keyboards/handwired/bdn9_ble/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "BDN9-BLE",
"manufacturer": "KeyPCB/Keebio",
- "url": "",
"maintainer": "merlin04",
"usb": {
"vid": "0xCB10",
diff --git a/keyboards/handwired/bigmac/keyboard.json b/keyboards/handwired/bigmac/keyboard.json
index 8eff62a7ea..40592658a1 100644
--- a/keyboards/handwired/bigmac/keyboard.json
+++ b/keyboards/handwired/bigmac/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "BigMac",
"manufacturer": "Taylore101",
- "url": "",
"maintainer": "Taylore101",
"usb": {
"vid": "0xFEED",
diff --git a/keyboards/handwired/bolek/keyboard.json b/keyboards/handwired/bolek/keyboard.json
index 68fe7958bf..00d47a2b06 100644
--- a/keyboards/handwired/bolek/keyboard.json
+++ b/keyboards/handwired/bolek/keyboard.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false
diff --git a/keyboards/handwired/boss566y/redragon_vara/keyboard.json b/keyboards/handwired/boss566y/redragon_vara/keyboard.json
index b75caa6544..1b35bf4c49 100644
--- a/keyboards/handwired/boss566y/redragon_vara/keyboard.json
+++ b/keyboards/handwired/boss566y/redragon_vara/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Redragon Vara",
"manufacturer": "PH",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0x5048",
@@ -11,7 +10,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false
diff --git a/keyboards/handwired/brain/keyboard.json b/keyboards/handwired/brain/keyboard.json
index c5f8c3682c..6b5e76b323 100644
--- a/keyboards/handwired/brain/keyboard.json
+++ b/keyboards/handwired/brain/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Brain",
"manufacturer": "Klackygears",
- "url": "",
"maintainer": "Klackygears",
"usb": {
"vid": "0x4A53",
@@ -11,7 +10,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": false
diff --git a/keyboards/handwired/bstk100/keyboard.json b/keyboards/handwired/bstk100/keyboard.json
index 0fc255f9c4..3eb02037a5 100644
--- a/keyboards/handwired/bstk100/keyboard.json
+++ b/keyboards/handwired/bstk100/keyboard.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false
diff --git a/keyboards/handwired/cans12er/keyboard.json b/keyboards/handwired/cans12er/keyboard.json
index 9d08706423..a1bfe51902 100644
--- a/keyboards/handwired/cans12er/keyboard.json
+++ b/keyboards/handwired/cans12er/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Cans12er",
"manufacturer": "Can",
- "url": "",
"maintainer": "canbaytok",
"usb": {
"vid": "0xFEED",
@@ -11,7 +10,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/handwired/chiron/keyboard.json b/keyboards/handwired/chiron/keyboard.json
index 1685a9d477..5be09e0a3d 100644
--- a/keyboards/handwired/chiron/keyboard.json
+++ b/keyboards/handwired/chiron/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Chiron",
"manufacturer": "Mike Hix",
- "url": "",
"maintainer": "musl",
"usb": {
"vid": "0xFEED",
@@ -11,7 +10,6 @@
"features": {
"bootmagic": false,
"command": false,
- "console": false,
"extrakey": false,
"mousekey": true,
"nkro": false,
diff --git a/keyboards/handwired/ck4x4/keyboard.json b/keyboards/handwired/ck4x4/keyboard.json
index 642408cc0e..717820f9fc 100644
--- a/keyboards/handwired/ck4x4/keyboard.json
+++ b/keyboards/handwired/ck4x4/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "CK4x4",
"manufacturer": "QMK",
- "url": "",
"maintainer": "awkannan",
"usb": {
"vid": "0xFEED",
diff --git a/keyboards/handwired/cmd60/keyboard.json b/keyboards/handwired/cmd60/keyboard.json
index f9733a7582..05872439c9 100644
--- a/keyboards/handwired/cmd60/keyboard.json
+++ b/keyboards/handwired/cmd60/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "CMD60",
"manufacturer": "cmd",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0xFEED",
diff --git a/keyboards/handwired/co60/rev1/keyboard.json b/keyboards/handwired/co60/rev1/keyboard.json
index 1bf60673fb..7d5ba93fac 100644
--- a/keyboards/handwired/co60/rev1/keyboard.json
+++ b/keyboards/handwired/co60/rev1/keyboard.json
@@ -7,7 +7,6 @@
"backlight": true,
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"leader": true,
"mousekey": true,
diff --git a/keyboards/handwired/co60/rev6/keyboard.json b/keyboards/handwired/co60/rev6/keyboard.json
index 743a738ff0..2688ab2739 100644
--- a/keyboards/handwired/co60/rev6/keyboard.json
+++ b/keyboards/handwired/co60/rev6/keyboard.json
@@ -7,7 +7,6 @@
"backlight": true,
"bootmagic": false,
"command": false,
- "console": false,
"extrakey": true,
"leader": true,
"mousekey": true,
diff --git a/keyboards/handwired/co60/rev7/keyboard.json b/keyboards/handwired/co60/rev7/keyboard.json
index 4319c9aedf..d1967ce147 100644
--- a/keyboards/handwired/co60/rev7/keyboard.json
+++ b/keyboards/handwired/co60/rev7/keyboard.json
@@ -7,7 +7,6 @@
"backlight": true,
"bootmagic": false,
"command": false,
- "console": false,
"extrakey": true,
"leader": true,
"mousekey": true,
diff --git a/keyboards/handwired/colorlice/keyboard.json b/keyboards/handwired/colorlice/keyboard.json
index 4ccc10527c..2159dbe54c 100644
--- a/keyboards/handwired/colorlice/keyboard.json
+++ b/keyboards/handwired/colorlice/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "ColorLice",
"manufacturer": "marhalloweenvt",
- "url": "",
"maintainer": "marhalloweenvt",
"usb": {
"vid": "0xFEED",
@@ -74,7 +73,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/handwired/concertina/64key/keyboard.json b/keyboards/handwired/concertina/64key/keyboard.json
index dedc240d3f..435c846342 100644
--- a/keyboards/handwired/concertina/64key/keyboard.json
+++ b/keyboards/handwired/concertina/64key/keyboard.json
@@ -17,7 +17,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false
diff --git a/keyboards/handwired/consolekeyboard/18key/keyboard.json b/keyboards/handwired/consolekeyboard/18key/keyboard.json
index c75e324cf3..b0e4853038 100644
--- a/keyboards/handwired/consolekeyboard/18key/keyboard.json
+++ b/keyboards/handwired/consolekeyboard/18key/keyboard.json
@@ -26,7 +26,6 @@
"features": {
"bootmagic": true,
"command": true,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": true,
diff --git a/keyboards/handwired/consolekeyboard/20key/keyboard.json b/keyboards/handwired/consolekeyboard/20key/keyboard.json
index 87449fc21e..18b1da288e 100644
--- a/keyboards/handwired/consolekeyboard/20key/keyboard.json
+++ b/keyboards/handwired/consolekeyboard/20key/keyboard.json
@@ -26,7 +26,6 @@
"features": {
"bootmagic": true,
"command": true,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": true,
diff --git a/keyboards/handwired/consolekeyboard/27key/keyboard.json b/keyboards/handwired/consolekeyboard/27key/keyboard.json
index 21a894d5e4..ecb46b9f0e 100644
--- a/keyboards/handwired/consolekeyboard/27key/keyboard.json
+++ b/keyboards/handwired/consolekeyboard/27key/keyboard.json
@@ -26,7 +26,6 @@
"features": {
"bootmagic": true,
"command": true,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": true,
diff --git a/keyboards/handwired/consolekeyboard/30key/keyboard.json b/keyboards/handwired/consolekeyboard/30key/keyboard.json
index 159558e355..2ecef968ac 100644
--- a/keyboards/handwired/consolekeyboard/30key/keyboard.json
+++ b/keyboards/handwired/consolekeyboard/30key/keyboard.json
@@ -26,7 +26,6 @@
"features": {
"bootmagic": true,
"command": true,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": true,
diff --git a/keyboards/handwired/croxsplit44/keyboard.json b/keyboards/handwired/croxsplit44/keyboard.json
index d497942b95..f5e36d22b9 100644
--- a/keyboards/handwired/croxsplit44/keyboard.json
+++ b/keyboards/handwired/croxsplit44/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "splitcustom44",
"manufacturer": "Samux6146",
- "url": "",
"maintainer": "Samux6146",
"usb": {
"vid": "0xB62C",
@@ -32,7 +31,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false,
diff --git a/keyboards/handwired/curiosity/keyboard.json b/keyboards/handwired/curiosity/keyboard.json
index e95fa25e71..273033b0bf 100644
--- a/keyboards/handwired/curiosity/keyboard.json
+++ b/keyboards/handwired/curiosity/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Curiosity",
"manufacturer": "Spaceman",
- "url": "",
"maintainer": "Spaceman",
"usb": {
"vid": "0x5342",
@@ -11,7 +10,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/handwired/d48/keyboard.json b/keyboards/handwired/d48/keyboard.json
index 99c8a67326..a0266e475e 100644
--- a/keyboards/handwired/d48/keyboard.json
+++ b/keyboards/handwired/d48/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "D48",
"manufacturer": "Andrew Dunai",
- "url": "",
"maintainer": "and3rson",
"usb": {
"vid": "0xFEED",
diff --git a/keyboards/handwired/dactyl/keyboard.json b/keyboards/handwired/dactyl/keyboard.json
index 58baf228ca..6026469176 100644
--- a/keyboards/handwired/dactyl/keyboard.json
+++ b/keyboards/handwired/dactyl/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Dactyl",
"manufacturer": "Adereth",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0xFEED",
diff --git a/keyboards/handwired/dactyl_cc/keyboard.json b/keyboards/handwired/dactyl_cc/keyboard.json
index e607bfad1a..8c2ef8061c 100644
--- a/keyboards/handwired/dactyl_cc/keyboard.json
+++ b/keyboards/handwired/dactyl_cc/keyboard.json
@@ -12,7 +12,6 @@
"bootmagic": true,
"mousekey": true,
"extrakey": true,
- "console": false,
"command": true,
"nkro": false
},
@@ -23,7 +22,9 @@
"diode_direction": "COL2ROW",
"split": {
"enabled": true,
- "soft_serial_pin": "D0"
+ "serial": {
+ "pin": "D0"
+ }
},
"development_board": "promicro",
"layouts": {
diff --git a/keyboards/handwired/dactyl_kinesis/keyboard.json b/keyboards/handwired/dactyl_kinesis/keyboard.json
index ee68a2c515..a1a108f8fa 100644
--- a/keyboards/handwired/dactyl_kinesis/keyboard.json
+++ b/keyboards/handwired/dactyl_kinesis/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Dactyl Kinesis",
"manufacturer": "dmik",
- "url": "",
"maintainer": "dmik",
"usb": {
"vid": "0x444D",
@@ -11,7 +10,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false
@@ -29,7 +27,9 @@
"diode_direction": "COL2ROW",
"split": {
"enabled": true,
- "soft_serial_pin": "D0"
+ "serial": {
+ "pin": "D0"
+ }
},
"development_board": "promicro",
"layouts": {
diff --git a/keyboards/handwired/dactyl_left/keyboard.json b/keyboards/handwired/dactyl_left/keyboard.json
index cfb3ad1489..2a2254f578 100644
--- a/keyboards/handwired/dactyl_left/keyboard.json
+++ b/keyboards/handwired/dactyl_left/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "dactyl_left",
"manufacturer": "RedForty",
- "url": "",
"maintainer": "RedForty",
"usb": {
"vid": "0xFEED",
diff --git a/keyboards/handwired/dactyl_lightcycle/keyboard.json b/keyboards/handwired/dactyl_lightcycle/keyboard.json
index 1b5f2dd39a..cf8fa3d84c 100644
--- a/keyboards/handwired/dactyl_lightcycle/keyboard.json
+++ b/keyboards/handwired/dactyl_lightcycle/keyboard.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"mousekey": true,
"extrakey": true,
"nkro": false
@@ -26,7 +25,9 @@
"diode_direction": "COL2ROW",
"split": {
"enabled": true,
- "soft_serial_pin": "D0"
+ "serial": {
+ "pin": "D0"
+ }
},
"development_board": "promicro",
"community_layouts": ["split_3x6_3", "split_3x5_3"],
diff --git a/keyboards/handwired/dactyl_manuform/4x5/keyboard.json b/keyboards/handwired/dactyl_manuform/4x5/keyboard.json
index e0a1b531a5..7ef1482028 100644
--- a/keyboards/handwired/dactyl_manuform/4x5/keyboard.json
+++ b/keyboards/handwired/dactyl_manuform/4x5/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Dactyl Manuform 4x5",
"manufacturer": "tshort",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0x444D",
@@ -17,7 +16,6 @@
"features": {
"bootmagic": false,
"command": true,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false
@@ -35,7 +33,9 @@
"diode_direction": "COL2ROW",
"split": {
"enabled": true,
- "soft_serial_pin": "D0"
+ "serial": {
+ "pin": "D0"
+ }
},
"processor": "atmega32u4",
"bootloader": "caterina",
diff --git a/keyboards/handwired/dactyl_manuform/4x5_5/keyboard.json b/keyboards/handwired/dactyl_manuform/4x5_5/keyboard.json
index 7efc4718ad..207f8c06a7 100644
--- a/keyboards/handwired/dactyl_manuform/4x5_5/keyboard.json
+++ b/keyboards/handwired/dactyl_manuform/4x5_5/keyboard.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": false,
"command": true,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
@@ -29,7 +28,9 @@
"diode_direction": "COL2ROW",
"split": {
"enabled": true,
- "soft_serial_pin": "D0"
+ "serial": {
+ "pin": "D0"
+ }
},
"development_board": "promicro",
"layouts": {
diff --git a/keyboards/handwired/dactyl_manuform/4x6/keyboard.json b/keyboards/handwired/dactyl_manuform/4x6/keyboard.json
index d589c532a8..7b25b2d936 100644
--- a/keyboards/handwired/dactyl_manuform/4x6/keyboard.json
+++ b/keyboards/handwired/dactyl_manuform/4x6/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Dactyl Manuform 4x6",
"manufacturer": "tshort",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0x444D",
@@ -17,7 +16,6 @@
"features": {
"bootmagic": false,
"command": true,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false
@@ -35,7 +33,9 @@
"diode_direction": "COL2ROW",
"split": {
"enabled": true,
- "soft_serial_pin": "D0"
+ "serial": {
+ "pin": "D0"
+ }
},
"processor": "atmega32u4",
"bootloader": "caterina",
diff --git a/keyboards/handwired/dactyl_manuform/4x6_4_3/keyboard.json b/keyboards/handwired/dactyl_manuform/4x6_4_3/keyboard.json
index c0c24a8966..8f5f08a81c 100644
--- a/keyboards/handwired/dactyl_manuform/4x6_4_3/keyboard.json
+++ b/keyboards/handwired/dactyl_manuform/4x6_4_3/keyboard.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false
@@ -32,7 +31,9 @@
"diode_direction": "COL2ROW",
"split": {
"enabled": true,
- "soft_serial_pin": "D0"
+ "serial": {
+ "pin": "D0"
+ }
},
"development_board": "promicro",
"layouts": {
diff --git a/keyboards/handwired/dactyl_manuform/4x6_5/keyboard.json b/keyboards/handwired/dactyl_manuform/4x6_5/keyboard.json
index 47ad7aa920..b875d322da 100644
--- a/keyboards/handwired/dactyl_manuform/4x6_5/keyboard.json
+++ b/keyboards/handwired/dactyl_manuform/4x6_5/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Dactyl Manuform 4x6 5 thumb keys",
"manufacturer": "tshort",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0x444D",
@@ -17,7 +16,6 @@
"features": {
"bootmagic": false,
"command": true,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false
@@ -35,7 +33,9 @@
"diode_direction": "COL2ROW",
"split": {
"enabled": true,
- "soft_serial_pin": "D0"
+ "serial": {
+ "pin": "D0"
+ }
},
"processor": "atmega32u4",
"bootloader": "caterina",
diff --git a/keyboards/handwired/dactyl_manuform/5x6/keyboard.json b/keyboards/handwired/dactyl_manuform/5x6/keyboard.json
index 353b148126..2021e082e2 100644
--- a/keyboards/handwired/dactyl_manuform/5x6/keyboard.json
+++ b/keyboards/handwired/dactyl_manuform/5x6/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Dactyl-Manuform (5x6)",
"manufacturer": "tshort",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0x444D",
@@ -17,7 +16,6 @@
"features": {
"bootmagic": false,
"command": true,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false
@@ -35,7 +33,9 @@
"diode_direction": "COL2ROW",
"split": {
"enabled": true,
- "soft_serial_pin": "D0"
+ "serial": {
+ "pin": "D0"
+ }
},
"processor": "atmega32u4",
"bootloader": "caterina",
diff --git a/keyboards/handwired/dactyl_manuform/5x6_2_5/keyboard.json b/keyboards/handwired/dactyl_manuform/5x6_2_5/keyboard.json
index 620ffdec06..0ee888d40c 100644
--- a/keyboards/handwired/dactyl_manuform/5x6_2_5/keyboard.json
+++ b/keyboards/handwired/dactyl_manuform/5x6_2_5/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Dactyl-Manuform (5x6+2)",
"manufacturer": "tshort",
- "url": "",
"maintainer": "jceb",
"usb": {
"vid": "0x444D",
@@ -11,7 +10,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false
@@ -29,7 +27,9 @@
"diode_direction": "COL2ROW",
"split": {
"enabled": true,
- "soft_serial_pin": "D0",
+ "serial": {
+ "pin": "D0"
+ },
"bootmagic": {
"matrix": [6, 5]
}
diff --git a/keyboards/handwired/dactyl_manuform/5x6_5/keyboard.json b/keyboards/handwired/dactyl_manuform/5x6_5/keyboard.json
index fc7676aa4b..cfbe5bf21a 100644
--- a/keyboards/handwired/dactyl_manuform/5x6_5/keyboard.json
+++ b/keyboards/handwired/dactyl_manuform/5x6_5/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Dactyl-Manuform (5x6)",
"manufacturer": "tshort",
- "url": "",
"maintainer": "jceb",
"usb": {
"vid": "0x444D",
@@ -11,7 +10,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
@@ -29,7 +27,9 @@
"diode_direction": "COL2ROW",
"split": {
"enabled": true,
- "soft_serial_pin": "D0",
+ "serial": {
+ "pin": "D0"
+ },
"bootmagic": {
"matrix": [6, 5]
}
diff --git a/keyboards/handwired/dactyl_manuform/5x6_6/keyboard.json b/keyboards/handwired/dactyl_manuform/5x6_6/keyboard.json
index 974f1b8bc3..a6122f8492 100644
--- a/keyboards/handwired/dactyl_manuform/5x6_6/keyboard.json
+++ b/keyboards/handwired/dactyl_manuform/5x6_6/keyboard.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": false,
"command": true,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
@@ -29,7 +28,9 @@
"diode_direction": "COL2ROW",
"split": {
"enabled": true,
- "soft_serial_pin": "D3"
+ "serial": {
+ "pin": "D3"
+ }
},
"processor": "atmega32u4",
"bootloader": "caterina",
diff --git a/keyboards/handwired/dactyl_manuform/5x6_68/keyboard.json b/keyboards/handwired/dactyl_manuform/5x6_68/keyboard.json
index 5b6bdfb86e..dc53bea60b 100644
--- a/keyboards/handwired/dactyl_manuform/5x6_68/keyboard.json
+++ b/keyboards/handwired/dactyl_manuform/5x6_68/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Dactyl-Manuform (5x6) 68 Keys",
"manufacturer": "kpagratis",
- "url": "",
"maintainer": "kpagratis",
"development_board": "promicro",
"usb": {
@@ -12,7 +11,6 @@
"features": {
"bootmagic": true,
"command": true,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
@@ -25,7 +23,9 @@
},
"split": {
"enabled": true,
- "soft_serial_pin": "D0"
+ "serial": {
+ "pin": "D0"
+ }
},
"matrix_pins": {
"cols": ["D4", "C6", "D7", "E6", "B4", "B5"],
diff --git a/keyboards/handwired/dactyl_manuform/5x7/keyboard.json b/keyboards/handwired/dactyl_manuform/5x7/keyboard.json
index d40a45dfa7..bdafd60366 100644
--- a/keyboards/handwired/dactyl_manuform/5x7/keyboard.json
+++ b/keyboards/handwired/dactyl_manuform/5x7/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Dactyl-Manuform (5x7)",
"manufacturer": "tshort",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0x444D",
@@ -17,7 +16,6 @@
"features": {
"bootmagic": false,
"command": true,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false
@@ -35,7 +33,9 @@
"diode_direction": "COL2ROW",
"split": {
"enabled": true,
- "soft_serial_pin": "D0"
+ "serial": {
+ "pin": "D0"
+ }
},
"processor": "atmega32u4",
"bootloader": "caterina",
diff --git a/keyboards/handwired/dactyl_manuform/5x8/keyboard.json b/keyboards/handwired/dactyl_manuform/5x8/keyboard.json
index 24ac4924ac..2ac3010717 100644
--- a/keyboards/handwired/dactyl_manuform/5x8/keyboard.json
+++ b/keyboards/handwired/dactyl_manuform/5x8/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Dactyl-Manuform (5x8)",
"manufacturer": "tshort",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0x444D",
diff --git a/keyboards/handwired/dactyl_manuform/6x6/info.json b/keyboards/handwired/dactyl_manuform/6x6/info.json
index 080e4e1942..3a26d38af1 100644
--- a/keyboards/handwired/dactyl_manuform/6x6/info.json
+++ b/keyboards/handwired/dactyl_manuform/6x6/info.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Dactyl-Manuform (6x6)",
"manufacturer": "tshort",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0x444D",
diff --git a/keyboards/handwired/dactyl_manuform/6x6/promicro/keyboard.json b/keyboards/handwired/dactyl_manuform/6x6/promicro/keyboard.json
index 213a3c29f5..44ae441270 100644
--- a/keyboards/handwired/dactyl_manuform/6x6/promicro/keyboard.json
+++ b/keyboards/handwired/dactyl_manuform/6x6/promicro/keyboard.json
@@ -6,7 +6,9 @@
"diode_direction": "COL2ROW",
"split": {
"enabled": true,
- "soft_serial_pin": "D0"
+ "serial": {
+ "pin": "D0"
+ }
},
"rgblight": {
"led_count": 12
diff --git a/keyboards/handwired/dactyl_manuform/6x6_4/keyboard.json b/keyboards/handwired/dactyl_manuform/6x6_4/keyboard.json
index 98e96c9639..8663f20eb4 100644
--- a/keyboards/handwired/dactyl_manuform/6x6_4/keyboard.json
+++ b/keyboards/handwired/dactyl_manuform/6x6_4/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Dactyl-Manuform (6x6+4)",
"manufacturer": "tshort",
- "url": "",
"maintainer": "dmik",
"usb": {
"vid": "0x444D",
@@ -17,7 +16,6 @@
"features": {
"bootmagic": false,
"command": true,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false
@@ -35,7 +33,9 @@
"diode_direction": "COL2ROW",
"split": {
"enabled": true,
- "soft_serial_pin": "D0"
+ "serial": {
+ "pin": "D0"
+ }
},
"processor": "atmega32u4",
"bootloader": "caterina",
diff --git a/keyboards/handwired/dactyl_manuform/6x7/keyboard.json b/keyboards/handwired/dactyl_manuform/6x7/keyboard.json
index 153b6c75c4..2c5af325aa 100644
--- a/keyboards/handwired/dactyl_manuform/6x7/keyboard.json
+++ b/keyboards/handwired/dactyl_manuform/6x7/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Dactyl-Manuform (6x7)",
"manufacturer": "tshort",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0x444D",
@@ -11,7 +10,6 @@
"features": {
"bootmagic": true,
"command": true,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false
@@ -32,7 +30,9 @@
"diode_direction": "COL2ROW",
"split": {
"enabled": true,
- "soft_serial_pin": "D0"
+ "serial": {
+ "pin": "D0"
+ }
},
"rgblight": {
"led_count": 12
diff --git a/keyboards/handwired/dactyl_manuform_pi_pico/keyboard.json b/keyboards/handwired/dactyl_manuform_pi_pico/keyboard.json
index 57202c802a..d87c333aa5 100644
--- a/keyboards/handwired/dactyl_manuform_pi_pico/keyboard.json
+++ b/keyboards/handwired/dactyl_manuform_pi_pico/keyboard.json
@@ -13,7 +13,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/handwired/dactyl_maximus/keyboard.json b/keyboards/handwired/dactyl_maximus/keyboard.json
index 081fab571a..3638ae329d 100644
--- a/keyboards/handwired/dactyl_maximus/keyboard.json
+++ b/keyboards/handwired/dactyl_maximus/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Dactyl Maximus",
"manufacturer": "handwired",
- "url": "",
"maintainer": "dunk2k",
"usb": {
"vid": "0x444C",
@@ -11,7 +10,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
@@ -26,7 +24,9 @@
"diode_direction": "COL2ROW",
"split": {
"enabled": true,
- "soft_serial_pin": "D1"
+ "serial": {
+ "pin": "D1"
+ }
},
"development_board": "promicro",
"layouts": {
diff --git a/keyboards/handwired/dactyl_minidox/keyboard.json b/keyboards/handwired/dactyl_minidox/keyboard.json
index 5bd5c5c05a..b488bac4b0 100644
--- a/keyboards/handwired/dactyl_minidox/keyboard.json
+++ b/keyboards/handwired/dactyl_minidox/keyboard.json
@@ -67,7 +67,9 @@
"diode_direction": "ROW2COL",
"split": {
"enabled": true,
- "soft_serial_pin": "D0"
+ "serial": {
+ "pin": "D0"
+ }
},
"development_board": "promicro",
"community_layouts": ["split_3x5_3"],
diff --git a/keyboards/handwired/dactyl_promicro/keyboard.json b/keyboards/handwired/dactyl_promicro/keyboard.json
index 824ffe7e7e..32511d576d 100644
--- a/keyboards/handwired/dactyl_promicro/keyboard.json
+++ b/keyboards/handwired/dactyl_promicro/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Dactyl Ergo(6x6)",
"manufacturer": "tshort",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0xFEED",
@@ -11,7 +10,6 @@
"features": {
"bootmagic": false,
"command": true,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false
@@ -29,7 +27,9 @@
"diode_direction": "COL2ROW",
"split": {
"enabled": true,
- "soft_serial_pin": "D0"
+ "serial": {
+ "pin": "D0"
+ }
},
"rgblight": {
"led_count": 12
diff --git a/keyboards/handwired/dactyl_rah/keyboard.json b/keyboards/handwired/dactyl_rah/keyboard.json
index 3bc5dc0854..2cb7741cc7 100644
--- a/keyboards/handwired/dactyl_rah/keyboard.json
+++ b/keyboards/handwired/dactyl_rah/keyboard.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": false,
"command": true,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false
@@ -29,7 +28,9 @@
"diode_direction": "COL2ROW",
"split": {
"enabled": true,
- "soft_serial_pin": "D0"
+ "serial": {
+ "pin": "D0"
+ }
},
"processor": "atmega32u4",
"bootloader": "caterina",
diff --git a/keyboards/handwired/dactyl_tracer/keyboard.json b/keyboards/handwired/dactyl_tracer/keyboard.json
index 29e5990666..f6ec68108d 100644
--- a/keyboards/handwired/dactyl_tracer/keyboard.json
+++ b/keyboards/handwired/dactyl_tracer/keyboard.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"mousekey": true,
"extrakey": true,
"nkro": true
@@ -24,7 +23,9 @@
"development_board": "promicro",
"split": {
"enabled": true,
- "soft_serial_pin": "D0"
+ "serial": {
+ "pin": "D0"
+ }
},
"layouts": {
"LAYOUT" : {
diff --git a/keyboards/handwired/dactylmacropad/keyboard.json b/keyboards/handwired/dactylmacropad/keyboard.json
index 5d40a240a9..9cfa0bf642 100644
--- a/keyboards/handwired/dactylmacropad/keyboard.json
+++ b/keyboards/handwired/dactylmacropad/keyboard.json
@@ -7,7 +7,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/handwired/daishi/keyboard.json b/keyboards/handwired/daishi/keyboard.json
index 22044faab3..d774f13a5b 100644
--- a/keyboards/handwired/daishi/keyboard.json
+++ b/keyboards/handwired/daishi/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Daishi",
"manufacturer": "MetaMechs",
- "url": "",
"maintainer": "Croktopus",
"usb": {
"vid": "0x6D6D",
diff --git a/keyboards/handwired/daskeyboard/daskeyboard4/keyboard.json b/keyboards/handwired/daskeyboard/daskeyboard4/keyboard.json
index 8308506512..888ec24e37 100644
--- a/keyboards/handwired/daskeyboard/daskeyboard4/keyboard.json
+++ b/keyboards/handwired/daskeyboard/daskeyboard4/keyboard.json
@@ -9,7 +9,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
@@ -43,114 +42,233 @@
"tapping": {
"toggle": 2
},
+ "community_layouts": ["fullsize_ansi", "fullsize_iso"],
"layouts": {
+ "LAYOUT_fullsize_ansi": {
+ "layout": [
+ {"matrix": [5, 16], "x": 0, "y": 0},
+ {"matrix": [2, 4], "x": 2, "y": 0},
+ {"matrix": [2, 5], "x": 3, "y": 0},
+ {"matrix": [3, 5], "x": 4, "y": 0},
+ {"matrix": [5, 5], "x": 5, "y": 0},
+ {"matrix": [0, 1], "x": 6.5, "y": 0},
+ {"matrix": [5, 8], "x": 7.5, "y": 0},
+ {"matrix": [3, 3], "x": 8.5, "y": 0},
+ {"matrix": [2, 3], "x": 9.5, "y": 0},
+ {"matrix": [2, 2], "x": 11, "y": 0},
+ {"matrix": [0, 2], "x": 12, "y": 0},
+ {"matrix": [5, 2], "x": 13, "y": 0},
+ {"matrix": [6, 2], "x": 14, "y": 0},
+ {"matrix": [0, 0], "x": 15.25, "y": 0},
+ {"matrix": [1, 0], "x": 16.25, "y": 0},
+ {"matrix": [1, 1], "x": 17.25, "y": 0},
+
+ {"matrix": [2, 16], "x": 0, "y": 1.25},
+ {"matrix": [0, 16], "x": 1, "y": 1.25},
+ {"matrix": [0, 4], "x": 2, "y": 1.25},
+ {"matrix": [0, 5], "x": 3, "y": 1.25},
+ {"matrix": [0, 6], "x": 4, "y": 1.25},
+ {"matrix": [2, 6], "x": 5, "y": 1.25},
+ {"matrix": [2, 7], "x": 6, "y": 1.25},
+ {"matrix": [0, 7], "x": 7, "y": 1.25},
+ {"matrix": [0, 8], "x": 8, "y": 1.25},
+ {"matrix": [0, 3], "x": 9, "y": 1.25},
+ {"matrix": [0, 9], "x": 10, "y": 1.25},
+ {"matrix": [2, 9], "x": 11, "y": 1.25},
+ {"matrix": [2, 8], "x": 12, "y": 1.25},
+ {"matrix": [3, 2], "w": 2, "x": 13, "y": 1.25},
+ {"matrix": [2, 11], "x": 15.25, "y": 1.25},
+ {"matrix": [2, 15], "x": 16.25, "y": 1.25},
+ {"matrix": [2, 14], "x": 17.25, "y": 1.25},
+ {"matrix": [4, 10], "x": 18.5, "y": 1.25},
+ {"matrix": [4, 11], "x": 19.5, "y": 1.25},
+ {"matrix": [4, 14], "x": 20.5, "y": 1.25},
+ {"matrix": [6, 14], "x": 21.5, "y": 1.25},
+
+ {"matrix": [3, 16], "w": 1.5, "x": 0, "y": 2.25},
+ {"matrix": [1, 16], "x": 1.5, "y": 2.25},
+ {"matrix": [1, 4], "x": 2.5, "y": 2.25},
+ {"matrix": [1, 5], "x": 3.5, "y": 2.25},
+ {"matrix": [1, 6], "x": 4.5, "y": 2.25},
+ {"matrix": [3, 6], "x": 5.5, "y": 2.25},
+ {"matrix": [3, 7], "x": 6.5, "y": 2.25},
+ {"matrix": [1, 7], "x": 7.5, "y": 2.25},
+ {"matrix": [1, 8], "x": 8.5, "y": 2.25},
+ {"matrix": [1, 3], "x": 9.5, "y": 2.25},
+ {"matrix": [1, 9], "x": 10.5, "y": 2.25},
+ {"matrix": [3, 9], "x": 11.5, "y": 2.25},
+ {"matrix": [3, 8], "x": 12.5, "y": 2.25},
+ {"matrix": [7, 2], "x": 13.5, "y": 2.25, "w": 1.5},
+ {"matrix": [2, 10], "x": 15.25, "y": 2.25},
+ {"matrix": [0, 15], "x": 16.25, "y": 2.25},
+ {"matrix": [0, 14], "x": 17.25, "y": 2.25},
+ {"matrix": [1, 10], "x": 18.5, "y": 2.25},
+ {"matrix": [1, 11], "x": 19.5, "y": 2.25},
+ {"matrix": [1, 14], "x": 20.5, "y": 2.25},
+ {"matrix": [1, 15], "x": 21.5, "y": 2.25, "h": 2},
+
+ {"matrix": [3, 4], "w": 1.75, "x": 0, "y": 3.25},
+ {"matrix": [7, 16], "x": 1.75, "y": 3.25},
+ {"matrix": [7, 4], "x": 2.75, "y": 3.25},
+ {"matrix": [7, 5], "x": 3.75, "y": 3.25},
+ {"matrix": [7, 6], "x": 4.75, "y": 3.25},
+ {"matrix": [5, 6], "x": 5.75, "y": 3.25},
+ {"matrix": [5, 7], "x": 6.75, "y": 3.25},
+ {"matrix": [7, 7], "x": 7.75, "y": 3.25},
+ {"matrix": [7, 8], "x": 8.75, "y": 3.25},
+ {"matrix": [7, 3], "x": 9.75, "y": 3.25},
+ {"matrix": [7, 9], "x": 10.75, "y": 3.25},
+ {"matrix": [5, 9], "x": 11.75, "y": 3.25},
+ {"matrix": [4, 2], "w": 2.25, "x": 12.75, "y": 3.25},
+ {"matrix": [3, 10], "x": 18.5, "y": 3.25},
+ {"matrix": [3, 11], "x": 19.5, "y": 3.25},
+ {"matrix": [3, 14], "x": 20.5, "y": 3.25},
+
+ {"matrix": [3, 13], "w": 2.25, "x": 0, "y": 4.25},
+ {"matrix": [4, 16], "x": 2.25, "y": 4.25},
+ {"matrix": [4, 4], "x": 3.25, "y": 4.25},
+ {"matrix": [4, 5], "x": 4.25, "y": 4.25},
+ {"matrix": [4, 6], "x": 5.25, "y": 4.25},
+ {"matrix": [6, 6], "x": 6.25, "y": 4.25},
+ {"matrix": [6, 7], "x": 7.25, "y": 4.25},
+ {"matrix": [4, 7], "x": 8.25, "y": 4.25},
+ {"matrix": [4, 8], "x": 9.25, "y": 4.25},
+ {"matrix": [4, 3], "x": 10.25, "y": 4.25},
+ {"matrix": [6, 9], "x": 11.25, "y": 4.25},
+ {"matrix": [7, 13], "w": 2.75, "x": 12.25, "y": 4.25},
+ {"matrix": [5, 15], "x": 16.25, "y": 4.25},
+ {"matrix": [7, 10], "x": 18.5, "y": 4.25},
+ {"matrix": [7, 11], "x": 19.5, "y": 4.25},
+ {"matrix": [7, 14], "x": 20.5, "y": 4.25},
+ {"matrix": [7, 15], "x": 21.5, "y": 4.25, "h": 2},
+
+ {"matrix": [2, 1], "w": 1.25, "x": 0, "y": 5.25},
+ {"matrix": [3, 12], "w": 1.25, "x": 1.25, "y": 5.25},
+ {"matrix": [5, 0], "w": 1.25, "x": 2.5, "y": 5.25},
+ {"matrix": [5, 10], "w": 6.25, "x": 3.75, "y": 5.25},
+ {"matrix": [6, 0], "w": 1.25, "x": 10, "y": 5.25},
+ {"matrix": [7, 12], "w": 1.25, "x": 11.25, "y": 5.25},
+ {"matrix": [6, 3], "w": 1.25, "x": 12.5, "y": 5.25},
+ {"matrix": [4, 1], "w": 1.25, "x": 13.75, "y": 5.25},
+ {"matrix": [6, 15], "x": 15.25, "y": 5.25},
+ {"matrix": [6, 10], "x": 16.25, "y": 5.25},
+ {"matrix": [6, 11], "x": 17.25, "y": 5.25},
+ {"matrix": [5, 11], "w": 2, "x": 18.5, "y": 5.25},
+ {"matrix": [5, 14], "x": 20.5, "y": 5.25}
+ ]
+ },
"LAYOUT_fullsize_iso": {
"layout": [
- {"label": "Esc", "matrix": [5, 16], "x": 0, "y": 0},
- {"label": "F1", "matrix": [2, 4], "x": 2, "y": 0},
- {"label": "F2", "matrix": [2, 5], "x": 3, "y": 0},
- {"label": "F3", "matrix": [3, 5], "x": 4, "y": 0},
- {"label": "F4", "matrix": [5, 5], "x": 5, "y": 0},
- {"label": "F5", "matrix": [0, 1], "x": 6.5, "y": 0},
- {"label": "F6", "matrix": [5, 8], "x": 7.5, "y": 0},
- {"label": "F7", "matrix": [3, 3], "x": 8.5, "y": 0},
- {"label": "F8", "matrix": [2, 3], "x": 9.5, "y": 0},
- {"label": "F9", "matrix": [2, 2], "x": 11, "y": 0},
- {"label": "F10", "matrix": [0, 2], "x": 12, "y": 0},
- {"label": "F11", "matrix": [5, 2], "x": 13, "y": 0},
- {"label": "F12", "matrix": [6, 2], "x": 14, "y": 0},
- {"label": "Prt Sc", "matrix": [0, 0], "x": 15.25, "y": 0},
- {"label": "Scr Lk", "matrix": [1, 0], "x": 16.25, "y": 0},
- {"label": "Pause", "matrix": [1, 1], "x": 17.25, "y": 0},
- {"label": "`", "matrix": [2, 16], "x": 0, "y": 1.25},
- {"label": "1", "matrix": [0, 16], "x": 1, "y": 1.25},
- {"label": "2", "matrix": [0, 4], "x": 2, "y": 1.25},
- {"label": "3", "matrix": [0, 5], "x": 3, "y": 1.25},
- {"label": "4", "matrix": [0, 6], "x": 4, "y": 1.25},
- {"label": "5", "matrix": [2, 6], "x": 5, "y": 1.25},
- {"label": "6", "matrix": [2, 7], "x": 6, "y": 1.25},
- {"label": "7", "matrix": [0, 7], "x": 7, "y": 1.25},
- {"label": "8", "matrix": [0, 8], "x": 8, "y": 1.25},
- {"label": "9", "matrix": [0, 3], "x": 9, "y": 1.25},
- {"label": "0", "matrix": [0, 9], "x": 10, "y": 1.25},
- {"label": "-", "matrix": [2, 9], "x": 11, "y": 1.25},
- {"label": "=", "matrix": [2, 8], "x": 12, "y": 1.25},
- {"label": "Backspace", "matrix": [3, 2], "w": 2, "x": 13, "y": 1.25},
- {"label": "Ins", "matrix": [2, 11], "x": 15.25, "y": 1.25},
- {"label": "Home", "matrix": [2, 15], "x": 16.25, "y": 1.25},
- {"label": "Page Up", "matrix": [2, 14], "x": 17.25, "y": 1.25},
- {"label": "Num Lk", "matrix": [4, 10], "x": 18.5, "y": 1.25},
- {"label": "/", "matrix": [4, 11], "x": 19.5, "y": 1.25},
- {"label": "*", "matrix": [4, 14], "x": 20.5, "y": 1.25},
- {"label": "-", "matrix": [6, 14], "x": 21.5, "y": 1.25},
- {"label": "Tab", "matrix": [3, 16], "w": 1.5, "x": 0, "y": 2.25},
- {"label": "Q", "matrix": [1, 16], "x": 1.5, "y": 2.25},
- {"label": "W", "matrix": [1, 4], "x": 2.5, "y": 2.25},
- {"label": "E", "matrix": [1, 5], "x": 3.5, "y": 2.25},
- {"label": "R", "matrix": [1, 6], "x": 4.5, "y": 2.25},
- {"label": "T", "matrix": [3, 6], "x": 5.5, "y": 2.25},
- {"label": "Y", "matrix": [3, 7], "x": 6.5, "y": 2.25},
- {"label": "U", "matrix": [1, 7], "x": 7.5, "y": 2.25},
- {"label": "I", "matrix": [1, 8], "x": 8.5, "y": 2.25},
- {"label": "O", "matrix": [1, 3], "x": 9.5, "y": 2.25},
- {"label": "P", "matrix": [1, 9], "x": 10.5, "y": 2.25},
- {"label": "[", "matrix": [3, 9], "x": 11.5, "y": 2.25},
- {"label": "]", "matrix": [3, 8], "x": 12.5, "y": 2.25},
- {"label": "Del", "matrix": [2, 10], "x": 15.25, "y": 2.25},
- {"label": "End", "matrix": [0, 15], "x": 16.25, "y": 2.25},
- {"label": "Page Down", "matrix": [0, 14], "x": 17.25, "y": 2.25},
- {"label": "7", "matrix": [1, 10], "x": 18.5, "y": 2.25},
- {"label": "8", "matrix": [1, 11], "x": 19.5, "y": 2.25},
- {"label": "9", "matrix": [1, 14], "x": 20.5, "y": 2.25},
- {"label": "+", "h": 2, "matrix": [1, 15], "x": 21.5, "y": 2.25},
- {"label": "Caps Lock", "matrix": [3, 4], "w": 1.75, "x": 0, "y": 3.25},
- {"label": "A", "matrix": [7, 16], "x": 1.75, "y": 3.25},
- {"label": "S", "matrix": [7, 4], "x": 2.75, "y": 3.25},
- {"label": "D", "matrix": [7, 5], "x": 3.75, "y": 3.25},
- {"label": "F", "matrix": [7, 6], "x": 4.75, "y": 3.25},
- {"label": "G", "matrix": [5, 6], "x": 5.75, "y": 3.25},
- {"label": "H", "matrix": [5, 7], "x": 6.75, "y": 3.25},
- {"label": "J", "matrix": [7, 7], "x": 7.75, "y": 3.25},
- {"label": "K", "matrix": [7, 8], "x": 8.75, "y": 3.25},
- {"label": "L", "matrix": [7, 3], "x": 9.75, "y": 3.25},
- {"label": ";", "matrix": [7, 9], "x": 10.75, "y": 3.25},
- {"label": "'", "matrix": [5, 9], "x": 11.75, "y": 3.25},
- {"label": "#", "matrix": [1, 2], "x": 12.75, "y": 3.25},
- {"label": "Return", "h": 2, "matrix": [4, 2], "w": 1.25, "x": 13.75, "y": 2.25},
- {"label": "4", "matrix": [3, 10], "x": 18.5, "y": 3.25},
- {"label": "5", "matrix": [3, 11], "x": 19.5, "y": 3.25},
- {"label": "6", "matrix": [3, 14], "x": 20.5, "y": 3.25},
- {"label": "Shift L", "matrix": [3, 13], "w": 1.25, "x": 0, "y": 4.25},
- {"label": "\\", "matrix": [5, 4], "x": 1.25, "y": 4.25},
- {"label": "Z", "matrix": [4, 16], "x": 2.25, "y": 4.25},
- {"label": "X", "matrix": [4, 4], "x": 3.25, "y": 4.25},
- {"label": "C", "matrix": [4, 5], "x": 4.25, "y": 4.25},
- {"label": "V", "matrix": [4, 6], "x": 5.25, "y": 4.25},
- {"label": "B", "matrix": [6, 6], "x": 6.25, "y": 4.25},
- {"label": "N", "matrix": [6, 7], "x": 7.25, "y": 4.25},
- {"label": "M", "matrix": [4, 7], "x": 8.25, "y": 4.25},
- {"label": ",", "matrix": [4, 8], "x": 9.25, "y": 4.25},
- {"label": ".", "matrix": [4, 3], "x": 10.25, "y": 4.25},
- {"label": "/", "matrix": [6, 9], "x": 11.25, "y": 4.25},
- {"label": "Shift R", "matrix": [7, 13], "w": 2.75, "x": 12.25, "y": 4.25},
- {"label": "Up", "matrix": [5, 15], "x": 16.25, "y": 4.25},
- {"label": "1", "matrix": [7, 10], "x": 18.5, "y": 4.25},
- {"label": "2", "matrix": [7, 11], "x": 19.5, "y": 4.25},
- {"label": "3", "matrix": [7, 14], "x": 20.5, "y": 4.25},
- {"label": "Enter", "h": 2, "matrix": [7, 15], "x": 21.5, "y": 4.25},
- {"label": "Control L", "matrix": [2, 1], "w": 1.25, "x": 0, "y": 5.25},
- {"label": "Super L", "matrix": [3, 12], "w": 1.25, "x": 1.25, "y": 5.25},
- {"label": "Alt L", "matrix": [5, 0], "w": 1.25, "x": 2.5, "y": 5.25},
- {"label": " ", "matrix": [5, 10], "w": 6.25, "x": 3.75, "y": 5.25},
- {"label": "Alt R", "matrix": [6, 0], "w": 1.25, "x": 10, "y": 5.25},
- {"label": "Super R", "matrix": [7, 12], "w": 1.25, "x": 11.25, "y": 5.25},
- {"label": "Menu", "matrix": [6, 3], "w": 1.25, "x": 12.5, "y": 5.25},
- {"label": "Control R", "matrix": [4, 1], "w": 1.25, "x": 13.75, "y": 5.25},
- {"label": "Left", "matrix": [6, 15], "x": 15.25, "y": 5.25},
- {"label": "Down", "matrix": [6, 10], "x": 16.25, "y": 5.25},
- {"label": "Right", "matrix": [6, 11], "x": 17.25, "y": 5.25},
- {"label": "0", "matrix": [5, 11], "w": 2, "x": 18.5, "y": 5.25},
- {"label": "Del", "matrix": [5, 14], "x": 20.5, "y": 5.25}
+ {"matrix": [5, 16], "x": 0, "y": 0},
+ {"matrix": [2, 4], "x": 2, "y": 0},
+ {"matrix": [2, 5], "x": 3, "y": 0},
+ {"matrix": [3, 5], "x": 4, "y": 0},
+ {"matrix": [5, 5], "x": 5, "y": 0},
+ {"matrix": [0, 1], "x": 6.5, "y": 0},
+ {"matrix": [5, 8], "x": 7.5, "y": 0},
+ {"matrix": [3, 3], "x": 8.5, "y": 0},
+ {"matrix": [2, 3], "x": 9.5, "y": 0},
+ {"matrix": [2, 2], "x": 11, "y": 0},
+ {"matrix": [0, 2], "x": 12, "y": 0},
+ {"matrix": [5, 2], "x": 13, "y": 0},
+ {"matrix": [6, 2], "x": 14, "y": 0},
+ {"matrix": [0, 0], "x": 15.25, "y": 0},
+ {"matrix": [1, 0], "x": 16.25, "y": 0},
+ {"matrix": [1, 1], "x": 17.25, "y": 0},
+
+ {"matrix": [2, 16], "x": 0, "y": 1.25},
+ {"matrix": [0, 16], "x": 1, "y": 1.25},
+ {"matrix": [0, 4], "x": 2, "y": 1.25},
+ {"matrix": [0, 5], "x": 3, "y": 1.25},
+ {"matrix": [0, 6], "x": 4, "y": 1.25},
+ {"matrix": [2, 6], "x": 5, "y": 1.25},
+ {"matrix": [2, 7], "x": 6, "y": 1.25},
+ {"matrix": [0, 7], "x": 7, "y": 1.25},
+ {"matrix": [0, 8], "x": 8, "y": 1.25},
+ {"matrix": [0, 3], "x": 9, "y": 1.25},
+ {"matrix": [0, 9], "x": 10, "y": 1.25},
+ {"matrix": [2, 9], "x": 11, "y": 1.25},
+ {"matrix": [2, 8], "x": 12, "y": 1.25},
+ {"matrix": [3, 2], "w": 2, "x": 13, "y": 1.25},
+ {"matrix": [2, 11], "x": 15.25, "y": 1.25},
+ {"matrix": [2, 15], "x": 16.25, "y": 1.25},
+ {"matrix": [2, 14], "x": 17.25, "y": 1.25},
+ {"matrix": [4, 10], "x": 18.5, "y": 1.25},
+ {"matrix": [4, 11], "x": 19.5, "y": 1.25},
+ {"matrix": [4, 14], "x": 20.5, "y": 1.25},
+ {"matrix": [6, 14], "x": 21.5, "y": 1.25},
+
+ {"matrix": [3, 16], "w": 1.5, "x": 0, "y": 2.25},
+ {"matrix": [1, 16], "x": 1.5, "y": 2.25},
+ {"matrix": [1, 4], "x": 2.5, "y": 2.25},
+ {"matrix": [1, 5], "x": 3.5, "y": 2.25},
+ {"matrix": [1, 6], "x": 4.5, "y": 2.25},
+ {"matrix": [3, 6], "x": 5.5, "y": 2.25},
+ {"matrix": [3, 7], "x": 6.5, "y": 2.25},
+ {"matrix": [1, 7], "x": 7.5, "y": 2.25},
+ {"matrix": [1, 8], "x": 8.5, "y": 2.25},
+ {"matrix": [1, 3], "x": 9.5, "y": 2.25},
+ {"matrix": [1, 9], "x": 10.5, "y": 2.25},
+ {"matrix": [3, 9], "x": 11.5, "y": 2.25},
+ {"matrix": [3, 8], "x": 12.5, "y": 2.25},
+ {"matrix": [2, 10], "x": 15.25, "y": 2.25},
+ {"matrix": [0, 15], "x": 16.25, "y": 2.25},
+ {"matrix": [0, 14], "x": 17.25, "y": 2.25},
+ {"matrix": [1, 10], "x": 18.5, "y": 2.25},
+ {"matrix": [1, 11], "x": 19.5, "y": 2.25},
+ {"matrix": [1, 14], "x": 20.5, "y": 2.25},
+ {"matrix": [1, 15], "x": 21.5, "y": 2.25, "h": 2},
+
+ {"matrix": [3, 4], "w": 1.75, "x": 0, "y": 3.25},
+ {"matrix": [7, 16], "x": 1.75, "y": 3.25},
+ {"matrix": [7, 4], "x": 2.75, "y": 3.25},
+ {"matrix": [7, 5], "x": 3.75, "y": 3.25},
+ {"matrix": [7, 6], "x": 4.75, "y": 3.25},
+ {"matrix": [5, 6], "x": 5.75, "y": 3.25},
+ {"matrix": [5, 7], "x": 6.75, "y": 3.25},
+ {"matrix": [7, 7], "x": 7.75, "y": 3.25},
+ {"matrix": [7, 8], "x": 8.75, "y": 3.25},
+ {"matrix": [7, 3], "x": 9.75, "y": 3.25},
+ {"matrix": [7, 9], "x": 10.75, "y": 3.25},
+ {"matrix": [5, 9], "x": 11.75, "y": 3.25},
+ {"matrix": [1, 2], "x": 12.75, "y": 3.25},
+ {"matrix": [4, 2], "w": 1.25, "x": 13.75, "y": 2.25, "h": 2},
+ {"matrix": [3, 10], "x": 18.5, "y": 3.25},
+ {"matrix": [3, 11], "x": 19.5, "y": 3.25},
+ {"matrix": [3, 14], "x": 20.5, "y": 3.25},
+
+ {"matrix": [3, 13], "w": 1.25, "x": 0, "y": 4.25},
+ {"matrix": [5, 4], "x": 1.25, "y": 4.25},
+ {"matrix": [4, 16], "x": 2.25, "y": 4.25},
+ {"matrix": [4, 4], "x": 3.25, "y": 4.25},
+ {"matrix": [4, 5], "x": 4.25, "y": 4.25},
+ {"matrix": [4, 6], "x": 5.25, "y": 4.25},
+ {"matrix": [6, 6], "x": 6.25, "y": 4.25},
+ {"matrix": [6, 7], "x": 7.25, "y": 4.25},
+ {"matrix": [4, 7], "x": 8.25, "y": 4.25},
+ {"matrix": [4, 8], "x": 9.25, "y": 4.25},
+ {"matrix": [4, 3], "x": 10.25, "y": 4.25},
+ {"matrix": [6, 9], "x": 11.25, "y": 4.25},
+ {"matrix": [7, 13], "w": 2.75, "x": 12.25, "y": 4.25},
+ {"matrix": [5, 15], "x": 16.25, "y": 4.25},
+ {"matrix": [7, 10], "x": 18.5, "y": 4.25},
+ {"matrix": [7, 11], "x": 19.5, "y": 4.25},
+ {"matrix": [7, 14], "x": 20.5, "y": 4.25},
+ {"matrix": [7, 15], "x": 21.5, "y": 4.25, "h": 2},
+
+ {"matrix": [2, 1], "w": 1.25, "x": 0, "y": 5.25},
+ {"matrix": [3, 12], "w": 1.25, "x": 1.25, "y": 5.25},
+ {"matrix": [5, 0], "w": 1.25, "x": 2.5, "y": 5.25},
+ {"matrix": [5, 10], "w": 6.25, "x": 3.75, "y": 5.25},
+ {"matrix": [6, 0], "w": 1.25, "x": 10, "y": 5.25},
+ {"matrix": [7, 12], "w": 1.25, "x": 11.25, "y": 5.25},
+ {"matrix": [6, 3], "w": 1.25, "x": 12.5, "y": 5.25},
+ {"matrix": [4, 1], "w": 1.25, "x": 13.75, "y": 5.25},
+ {"matrix": [6, 15], "x": 15.25, "y": 5.25},
+ {"matrix": [6, 10], "x": 16.25, "y": 5.25},
+ {"matrix": [6, 11], "x": 17.25, "y": 5.25},
+ {"matrix": [5, 11], "w": 2, "x": 18.5, "y": 5.25},
+ {"matrix": [5, 14], "x": 20.5, "y": 5.25}
]
}
}
diff --git a/keyboards/handwired/datahand/keyboard.json b/keyboards/handwired/datahand/keyboard.json
index c2c7dab421..1f1ebc07ee 100644
--- a/keyboards/handwired/datahand/keyboard.json
+++ b/keyboards/handwired/datahand/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "DataHand",
"manufacturer": "DataHand",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0x13BA",
diff --git a/keyboards/handwired/dc/mc/001/keyboard.json b/keyboards/handwired/dc/mc/001/keyboard.json
index c91df1ca8b..924829ad7d 100644
--- a/keyboards/handwired/dc/mc/001/keyboard.json
+++ b/keyboards/handwired/dc/mc/001/keyboard.json
@@ -22,7 +22,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"encoder": true,
"extrakey": true,
"mousekey": false,
diff --git a/keyboards/handwired/ddg_56/keyboard.json b/keyboards/handwired/ddg_56/keyboard.json
index e211821dae..d415494159 100644
--- a/keyboards/handwired/ddg_56/keyboard.json
+++ b/keyboards/handwired/ddg_56/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "DDG_56",
"manufacturer": "Spaceman",
- "url": "",
"maintainer": "spaceman",
"usb": {
"vid": "0xFEED",
@@ -12,7 +11,6 @@
"audio": true,
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": false,
"mousekey": false,
"nkro": true
diff --git a/keyboards/handwired/dmote/keyboard.json b/keyboards/handwired/dmote/keyboard.json
index e6514b17ba..2928f21152 100644
--- a/keyboards/handwired/dmote/keyboard.json
+++ b/keyboards/handwired/dmote/keyboard.json
@@ -11,7 +11,6 @@
},
"features": {
"bootmagic": true,
- "console": false,
"command": false,
"extrakey": true,
"mousekey": true,
diff --git a/keyboards/handwired/eagleii/keyboard.json b/keyboards/handwired/eagleii/keyboard.json
index 4179a4cdd6..7f3f2662d8 100644
--- a/keyboards/handwired/eagleii/keyboard.json
+++ b/keyboards/handwired/eagleii/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "II",
"manufacturer": "Eagle",
- "url": "",
"maintainer": "Spaceman",
"usb": {
"vid": "0xFEED",
@@ -11,7 +10,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false
diff --git a/keyboards/handwired/elrgo_s/keyboard.json b/keyboards/handwired/elrgo_s/keyboard.json
index c0ae4beadb..cc7258ba5e 100644
--- a/keyboards/handwired/elrgo_s/keyboard.json
+++ b/keyboards/handwired/elrgo_s/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Elrgo S",
"manufacturer": "Eloren",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0x454C",
@@ -11,7 +10,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false
diff --git a/keyboards/handwired/ergocheap/keyboard.json b/keyboards/handwired/ergocheap/keyboard.json
index 8728b486a8..879cf8a4d1 100644
--- a/keyboards/handwired/ergocheap/keyboard.json
+++ b/keyboards/handwired/ergocheap/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Ergocheap",
"manufacturer": "xSteins",
- "url": "",
"maintainer": "xSteins",
"usb": {
"vid": "0xFEDE",
diff --git a/keyboards/handwired/fc200rt_qmk/keyboard.json b/keyboards/handwired/fc200rt_qmk/keyboard.json
index aab792e7bd..7e45cbdb62 100644
--- a/keyboards/handwired/fc200rt_qmk/keyboard.json
+++ b/keyboards/handwired/fc200rt_qmk/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "fc200rt_qmk",
"manufacturer": "NaCly",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0xBEEF",
diff --git a/keyboards/handwired/fivethirteen/keyboard.json b/keyboards/handwired/fivethirteen/keyboard.json
index 9046fc53ba..f6492d3e0b 100644
--- a/keyboards/handwired/fivethirteen/keyboard.json
+++ b/keyboards/handwired/fivethirteen/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "fivethirteen",
"manufacturer": "rdg",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0xFEED",
diff --git a/keyboards/handwired/frankie_macropad/keyboard.json b/keyboards/handwired/frankie_macropad/keyboard.json
index f994b1fa48..e00291fc52 100644
--- a/keyboards/handwired/frankie_macropad/keyboard.json
+++ b/keyboards/handwired/frankie_macropad/keyboard.json
@@ -14,7 +14,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"encoder": true,
"extrakey": true,
"grave_esc": false,
diff --git a/keyboards/handwired/freoduo/keyboard.json b/keyboards/handwired/freoduo/keyboard.json
index d9f4ad4808..84939fa1ff 100644
--- a/keyboards/handwired/freoduo/keyboard.json
+++ b/keyboards/handwired/freoduo/keyboard.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": false,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/handwired/gamenum/keyboard.json b/keyboards/handwired/gamenum/keyboard.json
index 50a3962108..010f9526db 100644
--- a/keyboards/handwired/gamenum/keyboard.json
+++ b/keyboards/handwired/gamenum/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "GameNum",
"manufacturer": "Seth-Senpai",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0x1234",
diff --git a/keyboards/handwired/hacked_motospeed/keyboard.json b/keyboards/handwired/hacked_motospeed/keyboard.json
index 1a38cdafdc..17f85a7e9d 100644
--- a/keyboards/handwired/hacked_motospeed/keyboard.json
+++ b/keyboards/handwired/hacked_motospeed/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Hacked Motospeed",
"manufacturer": "MMO_Corp",
- "url": "",
"maintainer": "Deckweiss",
"usb": {
"vid": "0xFEED",
diff --git a/keyboards/handwired/heisenberg/keyboard.json b/keyboards/handwired/heisenberg/keyboard.json
index 460018ef1e..38e98982c7 100644
--- a/keyboards/handwired/heisenberg/keyboard.json
+++ b/keyboards/handwired/heisenberg/keyboard.json
@@ -30,7 +30,6 @@
"audio": true,
"bootmagic": false,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": false,
diff --git a/keyboards/handwired/hexon38/keyboard.json b/keyboards/handwired/hexon38/keyboard.json
index dfc11eb532..1d3595aa38 100644
--- a/keyboards/handwired/hexon38/keyboard.json
+++ b/keyboards/handwired/hexon38/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "hexon38",
"manufacturer": "pepaslabs",
- "url": "",
"maintainer": "cellularmitosis",
"usb": {
"vid": "0xFEED",
diff --git a/keyboards/handwired/hnah108/keyboard.json b/keyboards/handwired/hnah108/keyboard.json
index 3099ed8548..f1e89a268d 100644
--- a/keyboards/handwired/hnah108/keyboard.json
+++ b/keyboards/handwired/hnah108/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Hnah108",
"manufacturer": "HnahKB",
- "url": "",
"maintainer": "HnahKB",
"usb": {
"vid": "0xFEED",
@@ -58,7 +57,6 @@
"backlight": true,
"bootmagic": true,
"command": false,
- "console": false,
"encoder": true,
"extrakey": true,
"mousekey": false,
diff --git a/keyboards/handwired/hnah40/keyboard.json b/keyboards/handwired/hnah40/keyboard.json
index e80bbdaec5..ba63a984cc 100644
--- a/keyboards/handwired/hnah40/keyboard.json
+++ b/keyboards/handwired/hnah40/keyboard.json
@@ -12,7 +12,6 @@
"features": {
"bootmagic": false,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false
diff --git a/keyboards/handwired/hnah40rgb/keyboard.json b/keyboards/handwired/hnah40rgb/keyboard.json
index 753b5dd00a..233613c590 100644
--- a/keyboards/handwired/hnah40rgb/keyboard.json
+++ b/keyboards/handwired/hnah40rgb/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Hnah40V2",
"manufacturer": "HnahKB",
- "url": "",
"maintainer": "HnahKB",
"usb": {
"vid": "0xFEED",
@@ -61,14 +60,12 @@
"animation": "cycle_pinwheel"
},
"driver": "ws2812",
- "led_flush_limit": 16,
"max_brightness": 200,
"react_on_keyup": true
},
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": false,
"mousekey": false,
"nkro": false,
diff --git a/keyboards/handwired/hwpm87/keyboard.json b/keyboards/handwired/hwpm87/keyboard.json
index 0dbbb0472a..3eb64e28b1 100644
--- a/keyboards/handwired/hwpm87/keyboard.json
+++ b/keyboards/handwired/hwpm87/keyboard.json
@@ -2,7 +2,6 @@
"manufacturer": "KD-MM2",
"keyboard_name": "hwpm87",
"maintainer": "KD-MM2",
- "url": "",
"usb": {
"vid": "0xFEED",
"pid": "0x0001",
@@ -11,7 +10,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": false
diff --git a/keyboards/handwired/iso85k/keyboard.json b/keyboards/handwired/iso85k/keyboard.json
index 625a356e30..51e5a347c4 100644
--- a/keyboards/handwired/iso85k/keyboard.json
+++ b/keyboards/handwired/iso85k/keyboard.json
@@ -7,7 +7,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": true
@@ -17,7 +16,6 @@
"rows": ["C7", "C6", "B15", "B14", "B13", "B12"]
},
"processor": "STM32F072",
- "url": "",
"usb": {
"device_version": "1.0.0",
"pid": "0xCAFE",
diff --git a/keyboards/handwired/itstleo9/info.json b/keyboards/handwired/itstleo9/info.json
index ba9de4d774..f80b516028 100644
--- a/keyboards/handwired/itstleo9/info.json
+++ b/keyboards/handwired/itstleo9/info.json
@@ -6,12 +6,10 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
},
- "url": "",
"usb": {
"device_version": "1.0.0",
"pid": "0x0001",
diff --git a/keyboards/handwired/jankrp2040dactyl/keyboard.json b/keyboards/handwired/jankrp2040dactyl/keyboard.json
index 0d155a70bd..ff49cef6a2 100644
--- a/keyboards/handwired/jankrp2040dactyl/keyboard.json
+++ b/keyboards/handwired/jankrp2040dactyl/keyboard.json
@@ -6,9 +6,9 @@
"diode_direction": "COL2ROW",
"split": {
"enabled": true,
- "soft_serial_pin": "GP0",
"serial": {
- "driver": "vendor"
+ "driver": "vendor",
+ "pin": "GP0"
}
},
@@ -25,7 +25,6 @@
},
"processor": "RP2040",
- "url": "",
"usb": {
"device_version": "1.0.0",
"pid": "0x0000",
diff --git a/keyboards/handwired/jn68m/keyboard.json b/keyboards/handwired/jn68m/keyboard.json
index e2c833b002..267a190fdc 100644
--- a/keyboards/handwired/jn68m/keyboard.json
+++ b/keyboards/handwired/jn68m/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "JN68M",
"manufacturer": "MxBlue",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0xC714",
@@ -11,7 +10,6 @@
"features": {
"bootmagic": false,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false
diff --git a/keyboards/handwired/jopr/keyboard.json b/keyboards/handwired/jopr/keyboard.json
index 36aa7276b5..f47f31e6b2 100644
--- a/keyboards/handwired/jopr/keyboard.json
+++ b/keyboards/handwired/jopr/keyboard.json
@@ -20,7 +20,6 @@
"features": {
"bootmagic": false,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": true,
diff --git a/keyboards/handwired/jot50/keyboard.json b/keyboards/handwired/jot50/keyboard.json
index d272ffc6b1..a3c1c1fbe1 100644
--- a/keyboards/handwired/jot50/keyboard.json
+++ b/keyboards/handwired/jot50/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Jot50",
"manufacturer": "Jotix",
- "url": "",
"maintainer": "jotix",
"usb": {
"vid": "0xFEED",
diff --git a/keyboards/handwired/jotanck/keyboard.json b/keyboards/handwired/jotanck/keyboard.json
index 94ec9c15e5..c8327f6b6c 100644
--- a/keyboards/handwired/jotanck/keyboard.json
+++ b/keyboards/handwired/jotanck/keyboard.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/handwired/jotlily60/keyboard.json b/keyboards/handwired/jotlily60/keyboard.json
index 7a8a2a50d9..802584ae3a 100644
--- a/keyboards/handwired/jotlily60/keyboard.json
+++ b/keyboards/handwired/jotlily60/keyboard.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/handwired/jotpad16/keyboard.json b/keyboards/handwired/jotpad16/keyboard.json
index 6a8a5db44c..c5f8511da8 100644
--- a/keyboards/handwired/jotpad16/keyboard.json
+++ b/keyboards/handwired/jotpad16/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "JotPad16",
"manufacturer": "Jotix",
- "url": "",
"maintainer": "jotix",
"usb": {
"vid": "0xFEED",
diff --git a/keyboards/handwired/jtallbean/split_65/keyboard.json b/keyboards/handwired/jtallbean/split_65/keyboard.json
index b10e6c6cc0..86d4de0195 100644
--- a/keyboards/handwired/jtallbean/split_65/keyboard.json
+++ b/keyboards/handwired/jtallbean/split_65/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "split_65",
"manufacturer": "jtallbean",
- "url": "",
"maintainer": "samlli",
"usb": {
"vid": "0xFEED",
diff --git a/keyboards/handwired/juliet/keyboard.json b/keyboards/handwired/juliet/keyboard.json
index 49c2489e66..0063017054 100644
--- a/keyboards/handwired/juliet/keyboard.json
+++ b/keyboards/handwired/juliet/keyboard.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": false
diff --git a/keyboards/handwired/k8split/keyboard.json b/keyboards/handwired/k8split/keyboard.json
index 62ea64604a..9d47ebd7ba 100644
--- a/keyboards/handwired/k8split/keyboard.json
+++ b/keyboards/handwired/k8split/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "k8split",
"manufacturer": "Ckat",
- "url": "",
"maintainer": "Ckath",
"usb": {
"vid": "0xC81D",
@@ -11,7 +10,6 @@
"features": {
"bootmagic": false,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/handwired/k_numpad17/keyboard.json b/keyboards/handwired/k_numpad17/keyboard.json
index 7d48cd1f3e..de52ca88af 100644
--- a/keyboards/handwired/k_numpad17/keyboard.json
+++ b/keyboards/handwired/k_numpad17/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "K-Numpad17",
"manufacturer": "Handwired",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0xFEED",
diff --git a/keyboards/handwired/kbod/keyboard.json b/keyboards/handwired/kbod/keyboard.json
index 91926b554d..ae6481efe6 100644
--- a/keyboards/handwired/kbod/keyboard.json
+++ b/keyboards/handwired/kbod/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "kbod",
"manufacturer": "fudanchii",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0xFEED",
@@ -11,7 +10,6 @@
"features": {
"bootmagic": false,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false
diff --git a/keyboards/handwired/ks63/keyboard.json b/keyboards/handwired/ks63/keyboard.json
index 09e59975e8..8b5a6c4e4c 100644
--- a/keyboards/handwired/ks63/keyboard.json
+++ b/keyboards/handwired/ks63/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "ks63",
"manufacturer": "kleshwong",
- "url": "",
"maintainer": "Klesh Wong",
"usb": {
"vid": "0xFEED",
@@ -11,7 +10,6 @@
"features": {
"bootmagic": false,
"command": true,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false
diff --git a/keyboards/handwired/leftynumpad/keyboard.json b/keyboards/handwired/leftynumpad/keyboard.json
index bb178be5be..a9d7804364 100644
--- a/keyboards/handwired/leftynumpad/keyboard.json
+++ b/keyboards/handwired/leftynumpad/keyboard.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false
diff --git a/keyboards/handwired/lemonpad/keyboard.json b/keyboards/handwired/lemonpad/keyboard.json
index aab7b94692..dea15dcc3c 100644
--- a/keyboards/handwired/lemonpad/keyboard.json
+++ b/keyboards/handwired/lemonpad/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "lemonpad",
"manufacturer": "dari-studios",
- "url": "",
"maintainer": "dari-studios",
"usb": {
"vid": "0x6473",
diff --git a/keyboards/handwired/lovelive9/keyboard.json b/keyboards/handwired/lovelive9/keyboard.json
index f8962bf761..cf20b13b20 100644
--- a/keyboards/handwired/lovelive9/keyboard.json
+++ b/keyboards/handwired/lovelive9/keyboard.json
@@ -12,7 +12,6 @@
"features": {
"bootmagic": false,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/handwired/macroboard/info.json b/keyboards/handwired/macroboard/info.json
index 5c27c96ae9..adef955b9d 100644
--- a/keyboards/handwired/macroboard/info.json
+++ b/keyboards/handwired/macroboard/info.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Macroboard",
"manufacturer": "QMK",
- "url": "",
"maintainer": "Micha\u0142 Szczepaniak",
"usb": {
"vid": "0xFEED",
diff --git a/keyboards/handwired/magicforce61/keyboard.json b/keyboards/handwired/magicforce61/keyboard.json
index e15cc0590e..e66f9dfe9c 100644
--- a/keyboards/handwired/magicforce61/keyboard.json
+++ b/keyboards/handwired/magicforce61/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Magicforce 61",
"manufacturer": "Hexwire",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0xFEED",
diff --git a/keyboards/handwired/magicforce68/keyboard.json b/keyboards/handwired/magicforce68/keyboard.json
index 6567c8b1cf..1101dd6001 100644
--- a/keyboards/handwired/magicforce68/keyboard.json
+++ b/keyboards/handwired/magicforce68/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Magicforce 68",
"manufacturer": "Hexwire",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0xFEED",
diff --git a/keyboards/handwired/marauder/keyboard.json b/keyboards/handwired/marauder/keyboard.json
index aa612c1ff0..6fbdcdc66f 100644
--- a/keyboards/handwired/marauder/keyboard.json
+++ b/keyboards/handwired/marauder/keyboard.json
@@ -23,7 +23,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": true,
diff --git a/keyboards/handwired/marek128b/ergosplit44/keyboard.json b/keyboards/handwired/marek128b/ergosplit44/keyboard.json
index f9a88576a7..aa9574472a 100644
--- a/keyboards/handwired/marek128b/ergosplit44/keyboard.json
+++ b/keyboards/handwired/marek128b/ergosplit44/keyboard.json
@@ -10,7 +10,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
@@ -21,7 +20,6 @@
"rows": ["GP2", "GP3", "GP4", "GP5"]
},
"processor": "RP2040",
- "url": "",
"usb": {
"device_version": "1.0.0",
"pid": "0x0001",
diff --git a/keyboards/handwired/mechboards_micropad/keyboard.json b/keyboards/handwired/mechboards_micropad/keyboard.json
index 65ef6fb5b4..87cffe005a 100644
--- a/keyboards/handwired/mechboards_micropad/keyboard.json
+++ b/keyboards/handwired/mechboards_micropad/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Mechboards Micropad",
"manufacturer": "Yiancar",
- "url": "",
"maintainer": "yiancar",
"usb": {
"vid": "0x8968",
@@ -11,7 +10,6 @@
"features": {
"bootmagic": false,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false
diff --git a/keyboards/handwired/minorca/keyboard.json b/keyboards/handwired/minorca/keyboard.json
index 9ac1f52d13..32e3c9f92d 100644
--- a/keyboards/handwired/minorca/keyboard.json
+++ b/keyboards/handwired/minorca/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Minorca",
"manufacturer": "panc.co",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0xFEED",
@@ -11,7 +10,6 @@
"features": {
"bootmagic": true,
"command": true,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/handwired/ms_sculpt_mobile/info.json b/keyboards/handwired/ms_sculpt_mobile/info.json
index 918f166c61..33e250b682 100644
--- a/keyboards/handwired/ms_sculpt_mobile/info.json
+++ b/keyboards/handwired/ms_sculpt_mobile/info.json
@@ -1,6 +1,5 @@
{
"manufacturer": "Microsoftplus",
- "url": "",
"maintainer": "qmk",
"features": {
"bootmagic": false,
diff --git a/keyboards/handwired/mutepad/keyboard.json b/keyboards/handwired/mutepad/keyboard.json
index f727569c98..072db498ed 100644
--- a/keyboards/handwired/mutepad/keyboard.json
+++ b/keyboards/handwired/mutepad/keyboard.json
@@ -12,7 +12,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"encoder": true,
"extrakey": true,
"mousekey": true,
diff --git a/keyboards/handwired/myskeeb/keyboard.json b/keyboards/handwired/myskeeb/keyboard.json
index c75f40cf46..d6805a400c 100644
--- a/keyboards/handwired/myskeeb/keyboard.json
+++ b/keyboards/handwired/myskeeb/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "MySKeeb",
"manufacturer": "DAG3",
- "url": "",
"maintainer": "su8044",
"usb": {
"vid": "0xFEED",
diff --git a/keyboards/handwired/nicekey/keyboard.json b/keyboards/handwired/nicekey/keyboard.json
index fe7267ab84..f166d68774 100644
--- a/keyboards/handwired/nicekey/keyboard.json
+++ b/keyboards/handwired/nicekey/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "nicekey",
"manufacturer": "Lukas",
- "url": "",
"maintainer": "spydon",
"usb": {
"vid": "0xFEED",
@@ -11,7 +10,6 @@
"features": {
"bootmagic": false,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false
diff --git a/keyboards/handwired/nortontechpad/keyboard.json b/keyboards/handwired/nortontechpad/keyboard.json
index e90b6b5482..25fceb93da 100644
--- a/keyboards/handwired/nortontechpad/keyboard.json
+++ b/keyboards/handwired/nortontechpad/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "NortonTechPad",
"manufacturer": "NortonTech",
- "url": "",
"maintainer": "NortonTech",
"usb": {
"vid": "0x9879",
diff --git a/keyboards/handwired/not_so_minidox/keyboard.json b/keyboards/handwired/not_so_minidox/keyboard.json
index fa68a823af..6e5b5932ce 100644
--- a/keyboards/handwired/not_so_minidox/keyboard.json
+++ b/keyboards/handwired/not_so_minidox/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Not So MiniDox",
"manufacturer": "mtdjr",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0xFEED",
@@ -11,7 +10,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false
diff --git a/keyboards/handwired/novem/keyboard.json b/keyboards/handwired/novem/keyboard.json
index c824f7809c..47c0a1bca6 100644
--- a/keyboards/handwired/novem/keyboard.json
+++ b/keyboards/handwired/novem/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "novem",
"manufacturer": "Jose I. Martinez",
- "url": "",
"maintainer": "Jose I. Martinez",
"usb": {
"vid": "0xFEED",
diff --git a/keyboards/handwired/nozbe_macro/keyboard.json b/keyboards/handwired/nozbe_macro/keyboard.json
index 584509ad18..1f219c9d09 100644
--- a/keyboards/handwired/nozbe_macro/keyboard.json
+++ b/keyboards/handwired/nozbe_macro/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Nozbe Reunion Pad",
"manufacturer": "Leon Omelan",
- "url": "",
"maintainer": "Leon Omelan",
"usb": {
"vid": "0xFEED",
@@ -12,7 +11,6 @@
"backlight": true,
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/handwired/numpad20/keyboard.json b/keyboards/handwired/numpad20/keyboard.json
index e47cfc5df5..4f4254cf12 100644
--- a/keyboards/handwired/numpad20/keyboard.json
+++ b/keyboards/handwired/numpad20/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Numpad 20",
"manufacturer": "Hexwire",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0xBB80",
diff --git a/keyboards/handwired/obuwunkunubi/spaget/keyboard.json b/keyboards/handwired/obuwunkunubi/spaget/keyboard.json
index 238736705d..3926b96db5 100644
--- a/keyboards/handwired/obuwunkunubi/spaget/keyboard.json
+++ b/keyboards/handwired/obuwunkunubi/spaget/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "spaget",
"manufacturer": "obuwunkunubi",
- "url": "",
"maintainer": "obuwunkunubi",
"usb": {
"vid": "0x1337",
@@ -11,7 +10,6 @@
"features": {
"bootmagic": true,
"command": true,
- "console": false,
"encoder": true,
"extrakey": true,
"mousekey": true,
diff --git a/keyboards/handwired/oem_ansi_fullsize/keyboard.json b/keyboards/handwired/oem_ansi_fullsize/keyboard.json
index e83b2c61d3..eb63c481b1 100644
--- a/keyboards/handwired/oem_ansi_fullsize/keyboard.json
+++ b/keyboards/handwired/oem_ansi_fullsize/keyboard.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": false
diff --git a/keyboards/handwired/onekey/info.json b/keyboards/handwired/onekey/info.json
index 5cf7c600ee..f09810129f 100644
--- a/keyboards/handwired/onekey/info.json
+++ b/keyboards/handwired/onekey/info.json
@@ -1,6 +1,5 @@
{
"manufacturer": "QMK",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0xFEED",
@@ -12,7 +11,6 @@
"bootmagic": false,
"mousekey": false,
"extrakey": true,
- "console": false,
"command": false,
"nkro": false
},
diff --git a/keyboards/handwired/onekey/keymaps/battery/config.h b/keyboards/handwired/onekey/keymaps/battery/config.h
new file mode 100644
index 0000000000..8a1c05d436
--- /dev/null
+++ b/keyboards/handwired/onekey/keymaps/battery/config.h
@@ -0,0 +1,6 @@
+// Copyright 2024 QMK
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#pragma once
+
+#define BATTERY_PIN ADC_PIN
diff --git a/keyboards/handwired/onekey/keymaps/battery/keymap.c b/keyboards/handwired/onekey/keymaps/battery/keymap.c
new file mode 100644
index 0000000000..74191e83fc
--- /dev/null
+++ b/keyboards/handwired/onekey/keymaps/battery/keymap.c
@@ -0,0 +1,28 @@
+// Copyright 2024 QMK
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#include QMK_KEYBOARD_H
+#include "battery.h"
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ LAYOUT_ortho_1x1(KC_A)
+};
+
+void keyboard_post_init_user(void) {
+ // Customise these values to desired behaviour
+ debug_enable=true;
+// debug_matrix=false;
+// debug_keyboard=true;
+// debug_mouse=false;
+
+ battery_init();
+}
+
+void housekeeping_task_user(void) {
+ static uint32_t last = 0;
+ if (timer_elapsed32(last) > 2000) {
+ uprintf("Bat: %d!\n", battery_get_percent());
+
+ last = timer_read32();
+ }
+}
diff --git a/keyboards/handwired/onekey/keymaps/battery/keymap.json b/keyboards/handwired/onekey/keymaps/battery/keymap.json
new file mode 100644
index 0000000000..c641dfe773
--- /dev/null
+++ b/keyboards/handwired/onekey/keymaps/battery/keymap.json
@@ -0,0 +1,7 @@
+{
+ "config": {
+ "features": {
+ "console": true
+ }
+ }
+}
diff --git a/keyboards/handwired/onekey/keymaps/battery/rules.mk b/keyboards/handwired/onekey/keymaps/battery/rules.mk
new file mode 100644
index 0000000000..06908179ae
--- /dev/null
+++ b/keyboards/handwired/onekey/keymaps/battery/rules.mk
@@ -0,0 +1 @@
+BATTERY_DRIVER_REQUIRED = yes
diff --git a/keyboards/handwired/onekey/keymaps/via_ci/config.h b/keyboards/handwired/onekey/keymaps/via_ci/config.h
new file mode 100644
index 0000000000..ec6f1e1ec0
--- /dev/null
+++ b/keyboards/handwired/onekey/keymaps/via_ci/config.h
@@ -0,0 +1,4 @@
+// Copyright 2025 Nick Brassel (@tzarc)
+// SPDX-License-Identifier: GPL-2.0-or-later
+#pragma once
+#define TRANSIENT_EEPROM_SIZE 160
diff --git a/keyboards/handwired/onekey/keymaps/via_ci/keymap.c b/keyboards/handwired/onekey/keymaps/via_ci/keymap.c
new file mode 100644
index 0000000000..8261fc6329
--- /dev/null
+++ b/keyboards/handwired/onekey/keymaps/via_ci/keymap.c
@@ -0,0 +1,30 @@
+// Copyright 2025 Nick Brassel (@tzarc)
+// SPDX-License-Identifier: GPL-2.0-or-later
+#include QMK_KEYBOARD_H
+
+enum custom_keycodes {
+ KC_HELLO = SAFE_RANGE,
+};
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ LAYOUT_ortho_1x1(KC_HELLO)
+};
+
+bool process_record_user(uint16_t keycode, keyrecord_t *record) {
+ switch (keycode) {
+ case KC_HELLO:
+ if (record->event.pressed) {
+ send_string_P("Hello world!");
+ }
+ return false;
+ }
+ return true;
+}
+
+void keyboard_post_init_user(void) {
+ // Customise these values to desired behaviour
+ debug_enable=true;
+ debug_matrix=true;
+ //debug_keyboard=true;
+ //debug_mouse=true;
+}
diff --git a/keyboards/handwired/onekey/keymaps/via_ci/keymap.json b/keyboards/handwired/onekey/keymaps/via_ci/keymap.json
new file mode 100644
index 0000000000..edb78b5742
--- /dev/null
+++ b/keyboards/handwired/onekey/keymaps/via_ci/keymap.json
@@ -0,0 +1,7 @@
+{
+ "config": {
+ "features": {
+ "via": true
+ }
+ }
+}
diff --git a/keyboards/handwired/onekey/teensy_32/rules.mk b/keyboards/handwired/onekey/teensy_32/rules.mk
new file mode 100644
index 0000000000..d5978ba6f5
--- /dev/null
+++ b/keyboards/handwired/onekey/teensy_32/rules.mk
@@ -0,0 +1 @@
+EEPROM_DRIVER = transient
diff --git a/keyboards/handwired/onekey/teensy_lc/rules.mk b/keyboards/handwired/onekey/teensy_lc/rules.mk
index abd2f7fce9..d1a53e95d7 100644
--- a/keyboards/handwired/onekey/teensy_lc/rules.mk
+++ b/keyboards/handwired/onekey/teensy_lc/rules.mk
@@ -1,2 +1,2 @@
USE_CHIBIOS_CONTRIB = yes
-
+EEPROM_DRIVER = transient
diff --git a/keyboards/handwired/orbweaver/keyboard.json b/keyboards/handwired/orbweaver/keyboard.json
index 5ba08dfc2d..d6d599a704 100644
--- a/keyboards/handwired/orbweaver/keyboard.json
+++ b/keyboards/handwired/orbweaver/keyboard.json
@@ -7,7 +7,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/handwired/ortho5x13/keyboard.json b/keyboards/handwired/ortho5x13/keyboard.json
index 23591b5046..6dea79ab92 100644
--- a/keyboards/handwired/ortho5x13/keyboard.json
+++ b/keyboards/handwired/ortho5x13/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Ortho 5x13",
"manufacturer": "Hexwire",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0xBB80",
diff --git a/keyboards/handwired/ortho5x14/keyboard.json b/keyboards/handwired/ortho5x14/keyboard.json
index 1e6828190b..f0b7e923c1 100644
--- a/keyboards/handwired/ortho5x14/keyboard.json
+++ b/keyboards/handwired/ortho5x14/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Ortho5 x14",
"manufacturer": "MPInc",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0xBB80",
@@ -11,7 +10,6 @@
"features": {
"bootmagic": false,
"command": true,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false
diff --git a/keyboards/handwired/ortho_brass/keyboard.json b/keyboards/handwired/ortho_brass/keyboard.json
index 5cd01b1f6d..2f0fe7b685 100644
--- a/keyboards/handwired/ortho_brass/keyboard.json
+++ b/keyboards/handwired/ortho_brass/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Ortho Brass",
"manufacturer": "BifbofII",
- "url": "",
"maintainer": "BifbofII",
"usb": {
"vid": "0xFEED",
diff --git a/keyboards/handwired/ortho_brass/keymaps/default/keymap.c b/keyboards/handwired/ortho_brass/keymaps/default/keymap.c
index fc43167211..47f731c2c9 100644
--- a/keyboards/handwired/ortho_brass/keymaps/default/keymap.c
+++ b/keyboards/handwired/ortho_brass/keymaps/default/keymap.c
@@ -182,9 +182,9 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
if (!eeconfig_is_enabled()) {
eeconfig_init();
}
- keymap_config.raw = eeconfig_read_keymap();
+ eeconfig_read_keymap(&keymap_config);
keymap_config.nkro = 1;
- eeconfig_update_keymap(keymap_config.raw);
+ eeconfig_update_keymap(&keymap_config);
}
return false;
break;
diff --git a/keyboards/handwired/osborne1/keyboard.json b/keyboards/handwired/osborne1/keyboard.json
index 8cbcb3cc8b..eacc77ff59 100644
--- a/keyboards/handwired/osborne1/keyboard.json
+++ b/keyboards/handwired/osborne1/keyboard.json
@@ -21,7 +21,6 @@
"rows": ["D0", "B7", "B5", "C6", "D1", "B6", "D7", "D6"]
},
"processor": "atmega32u4",
- "url": "",
"usb": {
"device_version": "1.0.0",
"pid": "0x239A",
diff --git a/keyboards/handwired/p65rgb/keyboard.json b/keyboards/handwired/p65rgb/keyboard.json
index b80a1e7f49..36a4d8671b 100644
--- a/keyboards/handwired/p65rgb/keyboard.json
+++ b/keyboards/handwired/p65rgb/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "p65rgb",
"manufacturer": "marhalloweenvt",
- "url": "",
"maintainer": "marhalloweenvt",
"usb": {
"vid": "0xFEED",
@@ -165,7 +164,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/handwired/petruziamini/keyboard.json b/keyboards/handwired/petruziamini/keyboard.json
index 1d864d5dbb..d76643c6be 100644
--- a/keyboards/handwired/petruziamini/keyboard.json
+++ b/keyboards/handwired/petruziamini/keyboard.json
@@ -7,7 +7,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/handwired/phantagom/baragon/keyboard.json b/keyboards/handwired/phantagom/baragon/keyboard.json
index 390f114dd9..529ed949e3 100644
--- a/keyboards/handwired/phantagom/baragon/keyboard.json
+++ b/keyboards/handwired/phantagom/baragon/keyboard.json
@@ -7,7 +7,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/handwired/phantagom/varan/keyboard.json b/keyboards/handwired/phantagom/varan/keyboard.json
index a767d45de0..fcc39918d6 100644
--- a/keyboards/handwired/phantagom/varan/keyboard.json
+++ b/keyboards/handwired/phantagom/varan/keyboard.json
@@ -7,7 +7,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/handwired/pilcrow/keyboard.json b/keyboards/handwired/pilcrow/keyboard.json
index b44a4e2d3d..f490ac33b6 100644
--- a/keyboards/handwired/pilcrow/keyboard.json
+++ b/keyboards/handwired/pilcrow/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "pilcrow",
"manufacturer": "Unknown",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0xFEED",
diff --git a/keyboards/handwired/polly40/keyboard.json b/keyboards/handwired/polly40/keyboard.json
index fde1b77aab..5b2438f999 100644
--- a/keyboards/handwired/polly40/keyboard.json
+++ b/keyboards/handwired/polly40/keyboard.json
@@ -19,7 +19,6 @@
"bootmagic": true,
"mousekey": true,
"extrakey": true,
- "console": false,
"command": false,
"nkro": true
},
diff --git a/keyboards/handwired/postageboard/info.json b/keyboards/handwired/postageboard/info.json
index 2f4e674d59..b34c2b3fbe 100644
--- a/keyboards/handwired/postageboard/info.json
+++ b/keyboards/handwired/postageboard/info.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Postage Board",
"manufacturer": "LifeIsOnTheWire",
- "url": "",
"maintainer": "LifeIsOnTheWire",
"usb": {
"vid": "0xFEED",
diff --git a/keyboards/handwired/prime_exl/keyboard.json b/keyboards/handwired/prime_exl/keyboard.json
index 13993a61b4..1462b37b96 100644
--- a/keyboards/handwired/prime_exl/keyboard.json
+++ b/keyboards/handwired/prime_exl/keyboard.json
@@ -12,7 +12,6 @@
"backlight": true,
"bootmagic": false,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/handwired/prime_exl_plus/keyboard.json b/keyboards/handwired/prime_exl_plus/keyboard.json
index a234bceb02..47222e0eb2 100644
--- a/keyboards/handwired/prime_exl_plus/keyboard.json
+++ b/keyboards/handwired/prime_exl_plus/keyboard.json
@@ -33,7 +33,6 @@
"features": {
"bootmagic": false,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": true,
diff --git a/keyboards/handwired/promethium/config.h b/keyboards/handwired/promethium/config.h
index 806726b5eb..974a4f951f 100644
--- a/keyboards/handwired/promethium/config.h
+++ b/keyboards/handwired/promethium/config.h
@@ -63,9 +63,8 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
//#define NO_ACTION_ONESHOT
#define PS2_MOUSE_INIT_DELAY 2000
-#define BATTERY_POLL 30000
-#define MAX_VOLTAGE 4.2
-#define MIN_VOLTAGE 3.2
+
+#define BATTERY_PIN B5
#ifndef __ASSEMBLER__ // assembler doesn't like enum in .h file
enum led_sequence {
diff --git a/keyboards/handwired/promethium/keyboard.json b/keyboards/handwired/promethium/keyboard.json
index 6ee1ed8ca1..fa72908039 100644
--- a/keyboards/handwired/promethium/keyboard.json
+++ b/keyboards/handwired/promethium/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Promethium",
"manufacturer": "Priyadi",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0x17EF",
diff --git a/keyboards/handwired/promethium/promethium.c b/keyboards/handwired/promethium/promethium.c
index 63139ac09d..c94a27a4de 100644
--- a/keyboards/handwired/promethium/promethium.c
+++ b/keyboards/handwired/promethium/promethium.c
@@ -1,16 +1,15 @@
-#include "promethium.h"
-#include "analog.h"
+#include "keyboard.h"
#include "timer.h"
-#include "matrix.h"
-#include "bluefruit_le.h"
+#include "battery.h"
-// cubic fit {3.3, 0}, {3.5, 2.9}, {3.6, 5}, {3.7, 8.6}, {3.8, 36}, {3.9, 62}, {4.0, 73}, {4.05, 83}, {4.1, 89}, {4.15, 94}, {4.2, 100}
+#ifndef BATTERY_POLL
+# define BATTERY_POLL 30000
+#endif
uint8_t battery_level(void) {
- float voltage = bluefruit_le_read_battery_voltage() * 2 * 3.3 / 1024;
- if (voltage < MIN_VOLTAGE) return 0;
- if (voltage > MAX_VOLTAGE) return 255;
- return (voltage - MIN_VOLTAGE) / (MAX_VOLTAGE - MIN_VOLTAGE) * 255;
+ // maintain legacy behaviour and scale 0-100 percent to 0-255
+ uint16_t percent = battery_get_percent();
+ return (percent * 255) / 100;
}
__attribute__ ((weak))
diff --git a/keyboards/handwired/promethium/rules.mk b/keyboards/handwired/promethium/rules.mk
index 7f20880066..4012f8ca29 100644
--- a/keyboards/handwired/promethium/rules.mk
+++ b/keyboards/handwired/promethium/rules.mk
@@ -5,7 +5,7 @@ PS2_DRIVER = interrupt
CUSTOM_MATRIX = yes
WS2812_DRIVER_REQUIRED = yes
-ANALOG_DRIVER_REQUIRED = yes
+BATTERY_DRIVER_REQUIRED = yes
SRC += rgbsps.c
SRC += matrix.c
diff --git a/keyboards/handwired/protype/keyboard.json b/keyboards/handwired/protype/keyboard.json
index 69f196abc4..dbbc17ba86 100644
--- a/keyboards/handwired/protype/keyboard.json
+++ b/keyboards/handwired/protype/keyboard.json
@@ -15,7 +15,6 @@
"cols": ["GP12", "GP9", "GP10", "GP0", "GP1", "GP5", "GP6", "GP2", "GP3", "GP4"]
},
"processor": "RP2040",
- "url": "",
"usb": {
"device_version": "1.0.0",
"pid": "0xB7D7",
diff --git a/keyboards/handwired/pteron/keyboard.json b/keyboards/handwired/pteron/keyboard.json
index 7aa2470cc1..ee8d85ec7d 100644
--- a/keyboards/handwired/pteron/keyboard.json
+++ b/keyboards/handwired/pteron/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Pteron",
"manufacturer": "QMK",
- "url": "",
"maintainer": "FSund",
"usb": {
"vid": "0xFEED",
@@ -11,7 +10,6 @@
"features": {
"bootmagic": false,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/handwired/pteron38/keyboard.json b/keyboards/handwired/pteron38/keyboard.json
index 266aefec1f..ef9f31f50d 100644
--- a/keyboards/handwired/pteron38/keyboard.json
+++ b/keyboards/handwired/pteron38/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Pteron38",
"manufacturer": "QMK",
- "url": "",
"maintainer": "fidelcoria",
"usb": {
"vid": "0xFEED",
@@ -11,7 +10,6 @@
"features": {
"bootmagic": false,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/handwired/pteron44/keyboard.json b/keyboards/handwired/pteron44/keyboard.json
index 26321317eb..4ad3b22318 100644
--- a/keyboards/handwired/pteron44/keyboard.json
+++ b/keyboards/handwired/pteron44/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Pteron44",
"manufacturer": "QMK",
- "url": "",
"maintainer": "fidelcoria",
"usb": {
"vid": "0xFEED",
@@ -11,7 +10,6 @@
"features": {
"bootmagic": false,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/handwired/qc60/proto/keyboard.json b/keyboards/handwired/qc60/proto/keyboard.json
index 810df8b7ae..d9ee9858ec 100644
--- a/keyboards/handwired/qc60/proto/keyboard.json
+++ b/keyboards/handwired/qc60/proto/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "QC60",
"manufacturer": "PeiorisBoards",
- "url": "",
"maintainer": "coarse",
"usb": {
"vid": "0xFEED",
@@ -11,7 +10,6 @@
"features": {
"bootmagic": false,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": false,
diff --git a/keyboards/handwired/rabijl/rotary_numpad/keyboard.json b/keyboards/handwired/rabijl/rotary_numpad/keyboard.json
index dafeec0fc0..a5476735c9 100644
--- a/keyboards/handwired/rabijl/rotary_numpad/keyboard.json
+++ b/keyboards/handwired/rabijl/rotary_numpad/keyboard.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/handwired/rd_61_qmk/keyboard.json b/keyboards/handwired/rd_61_qmk/keyboard.json
index be07d95924..bca23af959 100644
--- a/keyboards/handwired/rd_61_qmk/keyboard.json
+++ b/keyboards/handwired/rd_61_qmk/keyboard.json
@@ -52,7 +52,6 @@
"led_count": 1,
"saturation_steps": 8
},
- "url": "",
"ws2812": {
"pin": "C7"
},
diff --git a/keyboards/handwired/retro_refit/keyboard.json b/keyboards/handwired/retro_refit/keyboard.json
index 7acdb48b44..73e747fffa 100644
--- a/keyboards/handwired/retro_refit/keyboard.json
+++ b/keyboards/handwired/retro_refit/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "retro_refit",
"manufacturer": "Nobody",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0xFEED",
diff --git a/keyboards/handwired/riblee_f401/keyboard.json b/keyboards/handwired/riblee_f401/keyboard.json
index 53fc613760..6fc3fbe474 100644
--- a/keyboards/handwired/riblee_f401/keyboard.json
+++ b/keyboards/handwired/riblee_f401/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Handwired F401",
"manufacturer": "Riblee",
- "url": "",
"maintainer": "riblee",
"usb": {
"vid": "0xFEED",
diff --git a/keyboards/handwired/riblee_f411/keyboard.json b/keyboards/handwired/riblee_f411/keyboard.json
index 47d6349ba7..1688220573 100644
--- a/keyboards/handwired/riblee_f411/keyboard.json
+++ b/keyboards/handwired/riblee_f411/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Handwired F411",
"manufacturer": "Riblee",
- "url": "",
"maintainer": "riblee",
"usb": {
"vid": "0xFEED",
diff --git a/keyboards/handwired/riblee_split/keyboard.json b/keyboards/handwired/riblee_split/keyboard.json
index f24dbe2ce6..b38219d645 100644
--- a/keyboards/handwired/riblee_split/keyboard.json
+++ b/keyboards/handwired/riblee_split/keyboard.json
@@ -7,7 +7,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
@@ -17,7 +16,6 @@
"rows": ["A4", "A3", "A2", "A1", "A0"]
},
"development_board": "blackpill_f411",
- "url": "",
"usb": {
"device_version": "1.0.0",
"vid": "0xFEED",
diff --git a/keyboards/handwired/rs60/keyboard.json b/keyboards/handwired/rs60/keyboard.json
index 1536474343..5bbabd8bbd 100644
--- a/keyboards/handwired/rs60/keyboard.json
+++ b/keyboards/handwired/rs60/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "rs60",
"manufacturer": "rs",
- "url": "",
"maintainer": "rs",
"usb": {
"vid": "0xFEED",
diff --git a/keyboards/handwired/scottokeebs/scotto34/keyboard.json b/keyboards/handwired/scottokeebs/scotto34/keyboard.json
index 6fcce38d70..323c1132a7 100644
--- a/keyboards/handwired/scottokeebs/scotto34/keyboard.json
+++ b/keyboards/handwired/scottokeebs/scotto34/keyboard.json
@@ -7,7 +7,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/handwired/scottokeebs/scotto36/keyboard.json b/keyboards/handwired/scottokeebs/scotto36/keyboard.json
index fe8ecb6629..c1c748456d 100644
--- a/keyboards/handwired/scottokeebs/scotto36/keyboard.json
+++ b/keyboards/handwired/scottokeebs/scotto36/keyboard.json
@@ -7,7 +7,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/handwired/scottokeebs/scotto37/keyboard.json b/keyboards/handwired/scottokeebs/scotto37/keyboard.json
index 579840e8d1..7e45ce3ad5 100644
--- a/keyboards/handwired/scottokeebs/scotto37/keyboard.json
+++ b/keyboards/handwired/scottokeebs/scotto37/keyboard.json
@@ -7,7 +7,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/handwired/scottokeebs/scotto40/keyboard.json b/keyboards/handwired/scottokeebs/scotto40/keyboard.json
index b10f677c4d..ce47a5f1bf 100644
--- a/keyboards/handwired/scottokeebs/scotto40/keyboard.json
+++ b/keyboards/handwired/scottokeebs/scotto40/keyboard.json
@@ -7,7 +7,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/handwired/scottokeebs/scotto61/keyboard.json b/keyboards/handwired/scottokeebs/scotto61/keyboard.json
index cf321a2e97..f0adfd4081 100644
--- a/keyboards/handwired/scottokeebs/scotto61/keyboard.json
+++ b/keyboards/handwired/scottokeebs/scotto61/keyboard.json
@@ -7,7 +7,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/handwired/scottokeebs/scotto9/keyboard.json b/keyboards/handwired/scottokeebs/scotto9/keyboard.json
index a42d206300..e48fd54686 100644
--- a/keyboards/handwired/scottokeebs/scotto9/keyboard.json
+++ b/keyboards/handwired/scottokeebs/scotto9/keyboard.json
@@ -7,7 +7,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/handwired/scottokeebs/scottoalp/keyboard.json b/keyboards/handwired/scottokeebs/scottoalp/keyboard.json
index 5bce6ae62c..fad006c488 100644
--- a/keyboards/handwired/scottokeebs/scottoalp/keyboard.json
+++ b/keyboards/handwired/scottokeebs/scottoalp/keyboard.json
@@ -13,7 +13,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/handwired/scottokeebs/scottocmd/keyboard.json b/keyboards/handwired/scottokeebs/scottocmd/keyboard.json
index a26b95c1db..cd7372855a 100644
--- a/keyboards/handwired/scottokeebs/scottocmd/keyboard.json
+++ b/keyboards/handwired/scottokeebs/scottocmd/keyboard.json
@@ -7,7 +7,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/handwired/scottokeebs/scottodeck/keyboard.json b/keyboards/handwired/scottokeebs/scottodeck/keyboard.json
index 0607918cae..50bdf99321 100644
--- a/keyboards/handwired/scottokeebs/scottodeck/keyboard.json
+++ b/keyboards/handwired/scottokeebs/scottodeck/keyboard.json
@@ -13,7 +13,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"encoder": true,
"extrakey": true,
"mousekey": true,
diff --git a/keyboards/handwired/scottokeebs/scottoergo/keyboard.json b/keyboards/handwired/scottokeebs/scottoergo/keyboard.json
index 4f6d955271..12c1495dc0 100644
--- a/keyboards/handwired/scottokeebs/scottoergo/keyboard.json
+++ b/keyboards/handwired/scottokeebs/scottoergo/keyboard.json
@@ -7,7 +7,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/handwired/scottokeebs/scottofly/keyboard.json b/keyboards/handwired/scottokeebs/scottofly/keyboard.json
index 5255a5baf4..eda0385497 100644
--- a/keyboards/handwired/scottokeebs/scottofly/keyboard.json
+++ b/keyboards/handwired/scottokeebs/scottofly/keyboard.json
@@ -7,7 +7,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/handwired/scottokeebs/scottofrog/keyboard.json b/keyboards/handwired/scottokeebs/scottofrog/keyboard.json
index 147f2d8aa7..5d50e893a7 100644
--- a/keyboards/handwired/scottokeebs/scottofrog/keyboard.json
+++ b/keyboards/handwired/scottokeebs/scottofrog/keyboard.json
@@ -7,7 +7,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/handwired/scottokeebs/scottogame/keyboard.json b/keyboards/handwired/scottokeebs/scottogame/keyboard.json
index 912cfdfaaa..694f25fbd5 100644
--- a/keyboards/handwired/scottokeebs/scottogame/keyboard.json
+++ b/keyboards/handwired/scottokeebs/scottogame/keyboard.json
@@ -7,7 +7,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/handwired/scottokeebs/scottohazard/keyboard.json b/keyboards/handwired/scottokeebs/scottohazard/keyboard.json
index 45adcec3c8..34915ca7bc 100644
--- a/keyboards/handwired/scottokeebs/scottohazard/keyboard.json
+++ b/keyboards/handwired/scottokeebs/scottohazard/keyboard.json
@@ -10,7 +10,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/handwired/scottokeebs/scottoinvader/keyboard.json b/keyboards/handwired/scottokeebs/scottoinvader/keyboard.json
index 2a9054cd4f..23ab2e7310 100644
--- a/keyboards/handwired/scottokeebs/scottoinvader/keyboard.json
+++ b/keyboards/handwired/scottokeebs/scottoinvader/keyboard.json
@@ -7,7 +7,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/handwired/scottokeebs/scottokatana/keyboard.json b/keyboards/handwired/scottokeebs/scottokatana/keyboard.json
index 4b5779b6d9..1b0369968c 100644
--- a/keyboards/handwired/scottokeebs/scottokatana/keyboard.json
+++ b/keyboards/handwired/scottokeebs/scottokatana/keyboard.json
@@ -7,7 +7,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/handwired/scottokeebs/scottolong/keyboard.json b/keyboards/handwired/scottokeebs/scottolong/keyboard.json
index 156772d213..664d0d47c9 100644
--- a/keyboards/handwired/scottokeebs/scottolong/keyboard.json
+++ b/keyboards/handwired/scottokeebs/scottolong/keyboard.json
@@ -7,7 +7,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/handwired/scottokeebs/scottomacrodeck/keyboard.json b/keyboards/handwired/scottokeebs/scottomacrodeck/keyboard.json
index f238564c7f..beb47c013b 100644
--- a/keyboards/handwired/scottokeebs/scottomacrodeck/keyboard.json
+++ b/keyboards/handwired/scottokeebs/scottomacrodeck/keyboard.json
@@ -6,7 +6,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/handwired/scottokeebs/scottomouse/keyboard.json b/keyboards/handwired/scottokeebs/scottomouse/keyboard.json
index 36f92f48e2..9c19e86472 100644
--- a/keyboards/handwired/scottokeebs/scottomouse/keyboard.json
+++ b/keyboards/handwired/scottokeebs/scottomouse/keyboard.json
@@ -7,7 +7,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/handwired/scottokeebs/scottonum/keyboard.json b/keyboards/handwired/scottokeebs/scottonum/keyboard.json
index f71f75d62b..256768fc60 100644
--- a/keyboards/handwired/scottokeebs/scottonum/keyboard.json
+++ b/keyboards/handwired/scottokeebs/scottonum/keyboard.json
@@ -7,7 +7,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/handwired/scottokeebs/scottoslant/keyboard.json b/keyboards/handwired/scottokeebs/scottoslant/keyboard.json
index 8c9de39cd6..a6b1566c98 100644
--- a/keyboards/handwired/scottokeebs/scottoslant/keyboard.json
+++ b/keyboards/handwired/scottokeebs/scottoslant/keyboard.json
@@ -7,7 +7,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/handwired/scottokeebs/scottosplit/keyboard.json b/keyboards/handwired/scottokeebs/scottosplit/keyboard.json
index 66d24db0cd..9761aec4d4 100644
--- a/keyboards/handwired/scottokeebs/scottosplit/keyboard.json
+++ b/keyboards/handwired/scottokeebs/scottosplit/keyboard.json
@@ -7,7 +7,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/handwired/scottokeebs/scottostarter/keyboard.json b/keyboards/handwired/scottokeebs/scottostarter/keyboard.json
index 5e6a70114b..03b50b5fdb 100644
--- a/keyboards/handwired/scottokeebs/scottostarter/keyboard.json
+++ b/keyboards/handwired/scottokeebs/scottostarter/keyboard.json
@@ -7,7 +7,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/handwired/scottokeebs/scottowing/keyboard.json b/keyboards/handwired/scottokeebs/scottowing/keyboard.json
index 91bfaa1f92..f4f0e32e94 100644
--- a/keyboards/handwired/scottokeebs/scottowing/keyboard.json
+++ b/keyboards/handwired/scottokeebs/scottowing/keyboard.json
@@ -7,7 +7,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/handwired/sejin_eat1010r2/keyboard.json b/keyboards/handwired/sejin_eat1010r2/keyboard.json
index f2cfef37a8..26abf44dfd 100644
--- a/keyboards/handwired/sejin_eat1010r2/keyboard.json
+++ b/keyboards/handwired/sejin_eat1010r2/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "EAT-1010R2",
"manufacturer": "Sejin",
- "url": "",
"maintainer": "DmNosachev",
"usb": {
"vid": "0x515A",
@@ -23,7 +22,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false
diff --git a/keyboards/handwired/sick68/keyboard.json b/keyboards/handwired/sick68/keyboard.json
index 339484791f..81a9577f36 100644
--- a/keyboards/handwired/sick68/keyboard.json
+++ b/keyboards/handwired/sick68/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "sick68",
"manufacturer": "umbynos",
- "url": "",
"maintainer": "umbynos",
"usb": {
"vid": "0x5E68",
diff --git a/keyboards/handwired/sick_pad/keyboard.json b/keyboards/handwired/sick_pad/keyboard.json
index ce76294a0d..883f26bafb 100644
--- a/keyboards/handwired/sick_pad/keyboard.json
+++ b/keyboards/handwired/sick_pad/keyboard.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": false,
"mousekey": false,
"nkro": false
diff --git a/keyboards/handwired/skakunm_dactyl/keyboard.json b/keyboards/handwired/skakunm_dactyl/keyboard.json
index cc6f70b482..c004c75c71 100644
--- a/keyboards/handwired/skakunm_dactyl/keyboard.json
+++ b/keyboards/handwired/skakunm_dactyl/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Dactyl Min (3x5_5)",
"manufacturer": "skakunm",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0xFEED",
@@ -11,7 +10,6 @@
"features": {
"bootmagic": false,
"command": true,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false
@@ -29,7 +27,9 @@
"diode_direction": "COL2ROW",
"split": {
"enabled": true,
- "soft_serial_pin": "D0"
+ "serial": {
+ "pin": "D0"
+ }
},
"processor": "atmega32u4",
"bootloader": "caterina",
diff --git a/keyboards/handwired/slash/keyboard.json b/keyboards/handwired/slash/keyboard.json
index a682624d8e..ea1248c48e 100644
--- a/keyboards/handwired/slash/keyboard.json
+++ b/keyboards/handwired/slash/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Slash",
"manufacturer": "asdftemp",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0xFEED",
diff --git a/keyboards/handwired/snatchpad/keyboard.json b/keyboards/handwired/snatchpad/keyboard.json
index d06fe2c003..09cce2b36c 100644
--- a/keyboards/handwired/snatchpad/keyboard.json
+++ b/keyboards/handwired/snatchpad/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "snatchpad",
"manufacturer": "xia0",
- "url": "",
"maintainer": "xia0",
"usb": {
"vid": "0x6662",
@@ -11,7 +10,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"encoder": true,
"extrakey": true,
"key_lock": true,
diff --git a/keyboards/handwired/sono1/info.json b/keyboards/handwired/sono1/info.json
index 85e86051c3..6eed0e45d5 100644
--- a/keyboards/handwired/sono1/info.json
+++ b/keyboards/handwired/sono1/info.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Sono1",
"manufacturer": "ASKeyboard",
- "url": "",
"maintainer": "DmNosachev",
"features": {
"bootmagic": true,
diff --git a/keyboards/handwired/space_oddity/keyboard.json b/keyboards/handwired/space_oddity/keyboard.json
index ca4e10d16b..c6186b3b20 100644
--- a/keyboards/handwired/space_oddity/keyboard.json
+++ b/keyboards/handwired/space_oddity/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Space Oddity",
"manufacturer": "James Taylor",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0xFEED",
@@ -11,7 +10,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"dynamic_macro": true,
"extrakey": true,
"mousekey": true,
diff --git a/keyboards/handwired/split65/promicro/keyboard.json b/keyboards/handwired/split65/promicro/keyboard.json
index 8b50ea8429..fa17a7ea1b 100644
--- a/keyboards/handwired/split65/promicro/keyboard.json
+++ b/keyboards/handwired/split65/promicro/keyboard.json
@@ -2,7 +2,6 @@
"features": {
"bootmagic": false,
"command": false,
- "console": false,
"extrakey": false,
"mousekey": false,
"nkro": false,
diff --git a/keyboards/handwired/split89/keyboard.json b/keyboards/handwired/split89/keyboard.json
index fdd092745f..aa87be8e31 100644
--- a/keyboards/handwired/split89/keyboard.json
+++ b/keyboards/handwired/split89/keyboard.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false
diff --git a/keyboards/handwired/splittest/info.json b/keyboards/handwired/splittest/info.json
index 07cac23aad..bbfe538255 100644
--- a/keyboards/handwired/splittest/info.json
+++ b/keyboards/handwired/splittest/info.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Split Tester",
"manufacturer": "Keebio",
- "url": "",
"maintainer": "nooges",
"usb": {
"vid": "0xCB10",
diff --git a/keyboards/handwired/splittest/promicro/keyboard.json b/keyboards/handwired/splittest/promicro/keyboard.json
index 8aca1c3de7..93f09a47ca 100644
--- a/keyboards/handwired/splittest/promicro/keyboard.json
+++ b/keyboards/handwired/splittest/promicro/keyboard.json
@@ -8,7 +8,9 @@
"handedness": {
"pin": "F6"
},
- "soft_serial_pin": "D1"
+ "serial": {
+ "pin": "D1"
+ }
},
"ws2812": {
"pin": "D3"
diff --git a/keyboards/handwired/splittest/teensy_2/keyboard.json b/keyboards/handwired/splittest/teensy_2/keyboard.json
index c10b20a173..78d6c5f9a3 100644
--- a/keyboards/handwired/splittest/teensy_2/keyboard.json
+++ b/keyboards/handwired/splittest/teensy_2/keyboard.json
@@ -8,7 +8,9 @@
"handedness": {
"pin": "F0"
},
- "soft_serial_pin": "D1"
+ "serial": {
+ "pin": "D1"
+ }
},
"ws2812": {
"pin": "D3"
diff --git a/keyboards/handwired/starrykeebs/dude09/keyboard.json b/keyboards/handwired/starrykeebs/dude09/keyboard.json
index 6e91adeb1e..a28c319804 100644
--- a/keyboards/handwired/starrykeebs/dude09/keyboard.json
+++ b/keyboards/handwired/starrykeebs/dude09/keyboard.json
@@ -7,7 +7,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true
},
diff --git a/keyboards/handwired/steamvan/rev1/keyboard.json b/keyboards/handwired/steamvan/rev1/keyboard.json
index 9c4593bca7..6949652c3e 100644
--- a/keyboards/handwired/steamvan/rev1/keyboard.json
+++ b/keyboards/handwired/steamvan/rev1/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "SteamVan rev1",
"manufacturer": "John M Daly",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0xFEED",
@@ -12,7 +11,6 @@
"backlight": true,
"bootmagic": false,
"command": false,
- "console": false,
"extrakey": true,
"leader": true,
"mousekey": true,
diff --git a/keyboards/handwired/stef9998/split_5x7/rev1/keyboard.json b/keyboards/handwired/stef9998/split_5x7/rev1/keyboard.json
index 5f524ea445..45c5a057bc 100644
--- a/keyboards/handwired/stef9998/split_5x7/rev1/keyboard.json
+++ b/keyboards/handwired/stef9998/split_5x7/rev1/keyboard.json
@@ -1,6 +1,5 @@
{
"keyboard_name": "Split_5x7",
- "url": "",
"maintainer": "stef9998",
"manufacturer": "Stef9998",
"usb": {
@@ -11,7 +10,6 @@
"features": {
"bootmagic": false,
"command": true,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false
diff --git a/keyboards/handwired/sticc14/keyboard.json b/keyboards/handwired/sticc14/keyboard.json
index b3fb4a06e5..4fd89780ee 100644
--- a/keyboards/handwired/sticc14/keyboard.json
+++ b/keyboards/handwired/sticc14/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Sticc14",
"manufacturer": "u/ergorius",
- "url": "",
"maintainer": "erkhal",
"usb": {
"vid": "0xFEED",
diff --git a/keyboards/handwired/stream_cheap/2x3/keyboard.json b/keyboards/handwired/stream_cheap/2x3/keyboard.json
index ff62fa8a27..8329fefd88 100644
--- a/keyboards/handwired/stream_cheap/2x3/keyboard.json
+++ b/keyboards/handwired/stream_cheap/2x3/keyboard.json
@@ -13,7 +13,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/handwired/stream_cheap/2x4/keyboard.json b/keyboards/handwired/stream_cheap/2x4/keyboard.json
index 3f058cfbe4..aa87b4a765 100644
--- a/keyboards/handwired/stream_cheap/2x4/keyboard.json
+++ b/keyboards/handwired/stream_cheap/2x4/keyboard.json
@@ -16,7 +16,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/handwired/stream_cheap/2x5/keyboard.json b/keyboards/handwired/stream_cheap/2x5/keyboard.json
index 8e2de67e62..744a3c92a4 100644
--- a/keyboards/handwired/stream_cheap/2x5/keyboard.json
+++ b/keyboards/handwired/stream_cheap/2x5/keyboard.json
@@ -13,7 +13,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/handwired/swiftrax/astro65/keyboard.json b/keyboards/handwired/swiftrax/astro65/keyboard.json
index c72c0e4b3d..786e25d4ec 100644
--- a/keyboards/handwired/swiftrax/astro65/keyboard.json
+++ b/keyboards/handwired/swiftrax/astro65/keyboard.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false
diff --git a/keyboards/handwired/swiftrax/bebol/keyboard.json b/keyboards/handwired/swiftrax/bebol/keyboard.json
index 242d1b99a9..63d1356fcc 100644
--- a/keyboards/handwired/swiftrax/bebol/keyboard.json
+++ b/keyboards/handwired/swiftrax/bebol/keyboard.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false
diff --git a/keyboards/handwired/swiftrax/beegboy/keyboard.json b/keyboards/handwired/swiftrax/beegboy/keyboard.json
index 75edd62c1e..74c82b22e8 100644
--- a/keyboards/handwired/swiftrax/beegboy/keyboard.json
+++ b/keyboards/handwired/swiftrax/beegboy/keyboard.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": false
diff --git a/keyboards/handwired/swiftrax/bumblebee/keyboard.json b/keyboards/handwired/swiftrax/bumblebee/keyboard.json
index 6dec52b59a..e280d9155a 100644
--- a/keyboards/handwired/swiftrax/bumblebee/keyboard.json
+++ b/keyboards/handwired/swiftrax/bumblebee/keyboard.json
@@ -17,7 +17,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"encoder": true,
"extrakey": true,
"mousekey": true,
diff --git a/keyboards/handwired/swiftrax/cowfish/keyboard.json b/keyboards/handwired/swiftrax/cowfish/keyboard.json
index efa8c39d19..675670d6b7 100644
--- a/keyboards/handwired/swiftrax/cowfish/keyboard.json
+++ b/keyboards/handwired/swiftrax/cowfish/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "CowFish",
"manufacturer": "Swiftrax",
- "url": "",
"maintainer": "swiftrax",
"usb": {
"vid": "0x04D8",
@@ -11,7 +10,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": false
diff --git a/keyboards/handwired/swiftrax/digicarp65/keyboard.json b/keyboards/handwired/swiftrax/digicarp65/keyboard.json
index 59442c33ec..41636da219 100644
--- a/keyboards/handwired/swiftrax/digicarp65/keyboard.json
+++ b/keyboards/handwired/swiftrax/digicarp65/keyboard.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"encoder": true,
"extrakey": true,
"mousekey": true,
diff --git a/keyboards/handwired/swiftrax/digicarpice/keyboard.json b/keyboards/handwired/swiftrax/digicarpice/keyboard.json
index 6d857f5998..cf77a0d6a1 100644
--- a/keyboards/handwired/swiftrax/digicarpice/keyboard.json
+++ b/keyboards/handwired/swiftrax/digicarpice/keyboard.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false
diff --git a/keyboards/handwired/swiftrax/equator/keyboard.json b/keyboards/handwired/swiftrax/equator/keyboard.json
index 6a539c786a..f5881aad0a 100644
--- a/keyboards/handwired/swiftrax/equator/keyboard.json
+++ b/keyboards/handwired/swiftrax/equator/keyboard.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false
diff --git a/keyboards/handwired/swiftrax/glacier/keyboard.json b/keyboards/handwired/swiftrax/glacier/keyboard.json
index d455cbe266..c126ec6feb 100644
--- a/keyboards/handwired/swiftrax/glacier/keyboard.json
+++ b/keyboards/handwired/swiftrax/glacier/keyboard.json
@@ -28,7 +28,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false,
diff --git a/keyboards/handwired/swiftrax/joypad/keyboard.json b/keyboards/handwired/swiftrax/joypad/keyboard.json
index b894dcbe54..dc167bb863 100644
--- a/keyboards/handwired/swiftrax/joypad/keyboard.json
+++ b/keyboards/handwired/swiftrax/joypad/keyboard.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"encoder": true,
"extrakey": true,
"mousekey": false,
diff --git a/keyboards/handwired/swiftrax/koalafications/keyboard.json b/keyboards/handwired/swiftrax/koalafications/keyboard.json
index 78686a8e70..6215e4f06a 100644
--- a/keyboards/handwired/swiftrax/koalafications/keyboard.json
+++ b/keyboards/handwired/swiftrax/koalafications/keyboard.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false,
diff --git a/keyboards/handwired/swiftrax/nodu/keyboard.json b/keyboards/handwired/swiftrax/nodu/keyboard.json
index 47c604c35f..93a7b9b6b8 100644
--- a/keyboards/handwired/swiftrax/nodu/keyboard.json
+++ b/keyboards/handwired/swiftrax/nodu/keyboard.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false
diff --git a/keyboards/handwired/swiftrax/pandamic/keyboard.json b/keyboards/handwired/swiftrax/pandamic/keyboard.json
index 9fce9c80c5..9cf92812cb 100644
--- a/keyboards/handwired/swiftrax/pandamic/keyboard.json
+++ b/keyboards/handwired/swiftrax/pandamic/keyboard.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"encoder": true,
"extrakey": true,
"mousekey": false,
diff --git a/keyboards/handwired/swiftrax/the_galleon/keyboard.json b/keyboards/handwired/swiftrax/the_galleon/keyboard.json
index 1d87ce1893..2efd3eb382 100644
--- a/keyboards/handwired/swiftrax/the_galleon/keyboard.json
+++ b/keyboards/handwired/swiftrax/the_galleon/keyboard.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false,
diff --git a/keyboards/handwired/swiftrax/unsplit/keyboard.json b/keyboards/handwired/swiftrax/unsplit/keyboard.json
index bb18c0dea8..3155282317 100644
--- a/keyboards/handwired/swiftrax/unsplit/keyboard.json
+++ b/keyboards/handwired/swiftrax/unsplit/keyboard.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false
diff --git a/keyboards/handwired/swiftrax/walter/keyboard.json b/keyboards/handwired/swiftrax/walter/keyboard.json
index cbf603a4ff..e5c42b2aff 100644
--- a/keyboards/handwired/swiftrax/walter/keyboard.json
+++ b/keyboards/handwired/swiftrax/walter/keyboard.json
@@ -29,7 +29,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"encoder": true,
"extrakey": true,
"mousekey": true,
diff --git a/keyboards/handwired/symmetric70_proto/info.json b/keyboards/handwired/symmetric70_proto/info.json
index ecd0d38c24..e0bd2f9c91 100644
--- a/keyboards/handwired/symmetric70_proto/info.json
+++ b/keyboards/handwired/symmetric70_proto/info.json
@@ -1,6 +1,5 @@
{
"manufacturer": "mtei",
- "url": "",
"maintainer": "mtei",
"usb": {
"vid": "0xFEED",
diff --git a/keyboards/handwired/symmetric70_proto/promicro/info.json b/keyboards/handwired/symmetric70_proto/promicro/info.json
index f143f518eb..43ecb4c1c0 100644
--- a/keyboards/handwired/symmetric70_proto/promicro/info.json
+++ b/keyboards/handwired/symmetric70_proto/promicro/info.json
@@ -12,7 +12,9 @@
}
},
"split": {
- "soft_serial_pin": "D0"
+ "serial": {
+ "pin": "D0"
+ }
},
"processor": "atmega32u4",
"bootloader": "caterina"
diff --git a/keyboards/handwired/symmetry60/keyboard.json b/keyboards/handwired/symmetry60/keyboard.json
index 40afdf88c9..461e412457 100644
--- a/keyboards/handwired/symmetry60/keyboard.json
+++ b/keyboards/handwired/symmetry60/keyboard.json
@@ -1,7 +1,6 @@
{
"Keyboard_name": "Symmetry60",
"manufacturer": "Marhalloweenvt",
- "url": "",
"maintainer": "marhalloweenvt",
"usb": {
"vid": "0xFEED",
diff --git a/keyboards/handwired/t111/keyboard.json b/keyboards/handwired/t111/keyboard.json
index f65a3f087e..a43968e062 100644
--- a/keyboards/handwired/t111/keyboard.json
+++ b/keyboards/handwired/t111/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "T111",
"manufacturer": "FUJITSU",
- "url": "",
"maintainer": "DmNosachev",
"usb": {
"vid": "0xFEED",
diff --git a/keyboards/handwired/tennie/keyboard.json b/keyboards/handwired/tennie/keyboard.json
index 05143c1cb0..2b56ae379a 100644
--- a/keyboards/handwired/tennie/keyboard.json
+++ b/keyboards/handwired/tennie/keyboard.json
@@ -32,7 +32,6 @@
"features": {
"bootmagic": true,
"command": true,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false,
diff --git a/keyboards/handwired/terminus_mini/keyboard.json b/keyboards/handwired/terminus_mini/keyboard.json
index 09346c81bf..0d495bf55b 100644
--- a/keyboards/handwired/terminus_mini/keyboard.json
+++ b/keyboards/handwired/terminus_mini/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Terminus Mini",
"manufacturer": "James Morgan",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0xFEED",
@@ -15,7 +14,6 @@
"features": {
"bootmagic": false,
"command": true,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/handwired/tkk/keyboard.json b/keyboards/handwired/tkk/keyboard.json
index 91e495081f..7f95b49a04 100644
--- a/keyboards/handwired/tkk/keyboard.json
+++ b/keyboards/handwired/tkk/keyboard.json
@@ -6,7 +6,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
@@ -17,7 +16,6 @@
]
},
"processor": "atmega32u4",
- "url": "",
"usb": {
"device_version": "1.0.0",
"pid": "0x0000",
diff --git a/keyboards/handwired/trackpoint/keyboard.json b/keyboards/handwired/trackpoint/keyboard.json
index 09fadd1dc6..1cd10dbb47 100644
--- a/keyboards/handwired/trackpoint/keyboard.json
+++ b/keyboards/handwired/trackpoint/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Trackpoint Demo",
"manufacturer": "QMK",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0x1234",
diff --git a/keyboards/handwired/tractyl_manuform/4x6_right/keyboard.json b/keyboards/handwired/tractyl_manuform/4x6_right/keyboard.json
index e5730a4586..cc651bec95 100644
--- a/keyboards/handwired/tractyl_manuform/4x6_right/keyboard.json
+++ b/keyboards/handwired/tractyl_manuform/4x6_right/keyboard.json
@@ -1,6 +1,5 @@
{
"keyboard_name": "Tractyl Manuform (4x6)",
- "url": "",
"maintainer": "drashna",
"usb": {
"pid": "0x3537",
@@ -22,7 +21,9 @@
"handedness": {
"pin": "A6"
},
- "soft_serial_pin": "D3",
+ "serial": {
+ "pin": "D3"
+ },
"bootmagic": {
"matrix": [4, 5]
}
diff --git a/keyboards/handwired/tractyl_manuform/5x6_right/arduinomicro/keyboard.json b/keyboards/handwired/tractyl_manuform/5x6_right/arduinomicro/keyboard.json
index df810f2881..bd4c41e17b 100644
--- a/keyboards/handwired/tractyl_manuform/5x6_right/arduinomicro/keyboard.json
+++ b/keyboards/handwired/tractyl_manuform/5x6_right/arduinomicro/keyboard.json
@@ -6,7 +6,9 @@
},
"diode_direction": "COL2ROW",
"split": {
- "soft_serial_pin": "D0",
+ "serial": {
+ "pin": "D0"
+ },
"matrix_pins": {
"right": {
"cols": ["D6", "D7", "B4", "D3", "C6", "C7"],
diff --git a/keyboards/handwired/tractyl_manuform/5x6_right/elite_c/keyboard.json b/keyboards/handwired/tractyl_manuform/5x6_right/elite_c/keyboard.json
index e6c0e42bde..739aad07ba 100644
--- a/keyboards/handwired/tractyl_manuform/5x6_right/elite_c/keyboard.json
+++ b/keyboards/handwired/tractyl_manuform/5x6_right/elite_c/keyboard.json
@@ -11,7 +11,9 @@
]
},
"split": {
- "soft_serial_pin": "D2"
+ "serial": {
+ "pin": "D2"
+ }
},
"ws2812": {
"pin": "D3"
diff --git a/keyboards/handwired/tractyl_manuform/5x6_right/info.json b/keyboards/handwired/tractyl_manuform/5x6_right/info.json
index b28f309fdb..fe3f2432ca 100644
--- a/keyboards/handwired/tractyl_manuform/5x6_right/info.json
+++ b/keyboards/handwired/tractyl_manuform/5x6_right/info.json
@@ -1,5 +1,4 @@
{
- "url": "",
"usb": {
"pid": "0x3536",
"device_version": "0.0.1"
diff --git a/keyboards/handwired/tractyl_manuform/5x6_right/teensy2pp/keyboard.json b/keyboards/handwired/tractyl_manuform/5x6_right/teensy2pp/keyboard.json
index a131ac085b..5a091996b6 100644
--- a/keyboards/handwired/tractyl_manuform/5x6_right/teensy2pp/keyboard.json
+++ b/keyboards/handwired/tractyl_manuform/5x6_right/teensy2pp/keyboard.json
@@ -11,7 +11,9 @@
]
},
"split": {
- "soft_serial_pin": "D2"
+ "serial": {
+ "pin": "D2"
+ }
},
"ws2812": {
"pin": "E7"
diff --git a/keyboards/handwired/traveller/keyboard.json b/keyboards/handwired/traveller/keyboard.json
index e6941036f5..65214cd618 100644
--- a/keyboards/handwired/traveller/keyboard.json
+++ b/keyboards/handwired/traveller/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Traveller",
"manufacturer": "Unknown",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0xFEED",
@@ -18,7 +17,6 @@
"features": {
"bootmagic": false,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false,
diff --git a/keyboards/handwired/tsubasa/keyboard.json b/keyboards/handwired/tsubasa/keyboard.json
index 31e6bb72cc..74ae9348f4 100644
--- a/keyboards/handwired/tsubasa/keyboard.json
+++ b/keyboards/handwired/tsubasa/keyboard.json
@@ -28,7 +28,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"encoder": true,
"extrakey": true,
"mousekey": true,
diff --git a/keyboards/handwired/twig/twig50/keyboard.json b/keyboards/handwired/twig/twig50/keyboard.json
index f1cc2f5a96..8403e62f0b 100644
--- a/keyboards/handwired/twig/twig50/keyboard.json
+++ b/keyboards/handwired/twig/twig50/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "twig50",
"manufacturer": "Twig",
- "url": "",
"maintainer": "nodatk",
"usb": {
"vid": "0xFEED",
@@ -16,7 +15,6 @@
"audio": true,
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/handwired/unicomp_mini_m/keyboard.json b/keyboards/handwired/unicomp_mini_m/keyboard.json
index 50ae033028..b66b50ab46 100644
--- a/keyboards/handwired/unicomp_mini_m/keyboard.json
+++ b/keyboards/handwired/unicomp_mini_m/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Unicomp Mini M",
"manufacturer": "stevendlander",
- "url": "",
"maintainer": "stevendlander",
"usb": {
"vid": "0xFEED",
diff --git a/keyboards/handwired/uthol/info.json b/keyboards/handwired/uthol/info.json
index 7270e23172..a5c1a0c0c9 100644
--- a/keyboards/handwired/uthol/info.json
+++ b/keyboards/handwired/uthol/info.json
@@ -1,6 +1,5 @@
{
"manufacturer": "Uthol",
- "url": "",
"maintainer": "uthol",
"usb": {
"vid": "0xFEED",
diff --git a/keyboards/handwired/uthol/rev1/keyboard.json b/keyboards/handwired/uthol/rev1/keyboard.json
index dd5746e884..c03503bb4d 100644
--- a/keyboards/handwired/uthol/rev1/keyboard.json
+++ b/keyboards/handwired/uthol/rev1/keyboard.json
@@ -9,7 +9,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": true
diff --git a/keyboards/handwired/uthol/rev2/keyboard.json b/keyboards/handwired/uthol/rev2/keyboard.json
index 95ca5946a9..f1ee97ece3 100644
--- a/keyboards/handwired/uthol/rev2/keyboard.json
+++ b/keyboards/handwired/uthol/rev2/keyboard.json
@@ -18,7 +18,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": true,
diff --git a/keyboards/handwired/videowriter/keyboard.json b/keyboards/handwired/videowriter/keyboard.json
index f82a0cd07e..8ffd4a608c 100644
--- a/keyboards/handwired/videowriter/keyboard.json
+++ b/keyboards/handwired/videowriter/keyboard.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false
diff --git a/keyboards/handwired/woodpad/keyboard.json b/keyboards/handwired/woodpad/keyboard.json
index e6c07b2c42..baf30d0bdc 100644
--- a/keyboards/handwired/woodpad/keyboard.json
+++ b/keyboards/handwired/woodpad/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Woodpad",
"manufacturer": "WoodKeys.click",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0xFEED",
diff --git a/keyboards/handwired/wulkan/keyboard.json b/keyboards/handwired/wulkan/keyboard.json
index eceeb5c145..c804409b7d 100644
--- a/keyboards/handwired/wulkan/keyboard.json
+++ b/keyboards/handwired/wulkan/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Handwired48Keys",
"manufacturer": "Wulkan",
- "url": "",
"maintainer": "Napoleon Wulkan",
"usb": {
"vid": "0xFEED",
diff --git a/keyboards/handwired/wwa/helios/keyboard.json b/keyboards/handwired/wwa/helios/keyboard.json
index 64b2010396..4da75c0389 100644
--- a/keyboards/handwired/wwa/helios/keyboard.json
+++ b/keyboards/handwired/wwa/helios/keyboard.json
@@ -7,7 +7,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
@@ -17,7 +16,6 @@
"rows": ["GP4", "GP5", "GP6"]
},
"processor": "RP2040",
- "url": "",
"usb": {
"device_version": "1.0.0",
"pid": "0x0001",
diff --git a/keyboards/handwired/wwa/kepler/keyboard.json b/keyboards/handwired/wwa/kepler/keyboard.json
index f962d632b4..67acae2c7d 100644
--- a/keyboards/handwired/wwa/kepler/keyboard.json
+++ b/keyboards/handwired/wwa/kepler/keyboard.json
@@ -7,7 +7,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
@@ -17,7 +16,6 @@
"rows": ["GP9", "GP10", "GP11"]
},
"processor": "RP2040",
- "url": "",
"usb": {
"device_version": "1.0.0",
"pid": "0x0002",
diff --git a/keyboards/handwired/wwa/mercury/keyboard.json b/keyboards/handwired/wwa/mercury/keyboard.json
index bb89858da2..a621286b27 100644
--- a/keyboards/handwired/wwa/mercury/keyboard.json
+++ b/keyboards/handwired/wwa/mercury/keyboard.json
@@ -7,7 +7,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
@@ -17,7 +16,6 @@
"rows": ["GP4", "GP5"]
},
"processor": "RP2040",
- "url": "",
"usb": {
"device_version": "1.0.0",
"pid": "0x0003",
diff --git a/keyboards/handwired/wwa/soyuz/keyboard.json b/keyboards/handwired/wwa/soyuz/keyboard.json
index 9670f312a6..072ed1628b 100644
--- a/keyboards/handwired/wwa/soyuz/keyboard.json
+++ b/keyboards/handwired/wwa/soyuz/keyboard.json
@@ -7,7 +7,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
@@ -17,7 +16,6 @@
"rows": ["GP7", "GP8", "GP9"]
},
"processor": "RP2040",
- "url": "",
"usb": {
"device_version": "1.0.0",
"pid": "0x0004",
diff --git a/keyboards/handwired/wwa/soyuzxl/keyboard.json b/keyboards/handwired/wwa/soyuzxl/keyboard.json
index 9180344176..fa67e37ad9 100644
--- a/keyboards/handwired/wwa/soyuzxl/keyboard.json
+++ b/keyboards/handwired/wwa/soyuzxl/keyboard.json
@@ -7,7 +7,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
@@ -17,7 +16,6 @@
"rows": ["B5", "B2", "B3"]
},
"processor": "atmega32u4",
- "url": "",
"usb": {
"device_version": "1.0.0",
"pid": "0x0005",
diff --git a/keyboards/handwired/xealous/rev1/keyboard.json b/keyboards/handwired/xealous/rev1/keyboard.json
index 9f926a3602..55e99eeb54 100644
--- a/keyboards/handwired/xealous/rev1/keyboard.json
+++ b/keyboards/handwired/xealous/rev1/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "XeaL60",
"manufacturer": "XeaLouS",
- "url": "",
"maintainer": "alex-ong",
"usb": {
"vid": "0x4131",
diff --git a/keyboards/handwired/z150/keyboard.json b/keyboards/handwired/z150/keyboard.json
index 38c92a6537..f8b9e6451d 100644
--- a/keyboards/handwired/z150/keyboard.json
+++ b/keyboards/handwired/z150/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Z150",
"manufacturer": "ALPS",
- "url": "",
"maintainer": "DmNosachev",
"usb": {
"vid": "0xFEED",
@@ -11,7 +10,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false
diff --git a/keyboards/handwired/zergo/keyboard.json b/keyboards/handwired/zergo/keyboard.json
index 7ee2cd4774..44bd80c0cd 100644
--- a/keyboards/handwired/zergo/keyboard.json
+++ b/keyboards/handwired/zergo/keyboard.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": true,
"command": true,
- "console": false,
"extrakey": false,
"mousekey": false,
"nkro": true
diff --git a/keyboards/handwired/ziyoulang_k3_mod/keyboard.json b/keyboards/handwired/ziyoulang_k3_mod/keyboard.json
index 5d4ca7a254..855fabeb8f 100644
--- a/keyboards/handwired/ziyoulang_k3_mod/keyboard.json
+++ b/keyboards/handwired/ziyoulang_k3_mod/keyboard.json
@@ -9,7 +9,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": false,
@@ -141,6 +140,5 @@
}
},
"manufacturer": "Coom",
- "maintainer": "coomstoolbox",
- "url": ""
+ "maintainer": "coomstoolbox"
}
diff --git a/keyboards/hardlineworks/otd_plus/keyboard.json b/keyboards/hardlineworks/otd_plus/keyboard.json
index e0afc03893..f084fabead 100644
--- a/keyboards/hardlineworks/otd_plus/keyboard.json
+++ b/keyboards/hardlineworks/otd_plus/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "OTD-PLUS",
"manufacturer": "Hardlineworks",
- "url": "",
"maintainer": "Hardlineworks",
"usb": {
"vid": "0x484C",
@@ -11,7 +10,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/hardwareabstraction/handwire/keyboard.json b/keyboards/hardwareabstraction/handwire/keyboard.json
index 225712dcc4..e875305508 100644
--- a/keyboards/hardwareabstraction/handwire/keyboard.json
+++ b/keyboards/hardwareabstraction/handwire/keyboard.json
@@ -7,7 +7,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/heliar/wm1_hotswap/keyboard.json b/keyboards/heliar/wm1_hotswap/keyboard.json
index 789a3c7d2b..748c2c5353 100644
--- a/keyboards/heliar/wm1_hotswap/keyboard.json
+++ b/keyboards/heliar/wm1_hotswap/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "wm1 hotswap",
"manufacturer": "Heliar",
- "url": "",
"maintainer": "heliar",
"usb": {
"vid": "0xFEED",
@@ -12,7 +11,6 @@
"backlight": true,
"bootmagic": false,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": false
diff --git a/keyboards/heliotrope/keyboard.json b/keyboards/heliotrope/keyboard.json
index e173c785e0..c1701b07b2 100644
--- a/keyboards/heliotrope/keyboard.json
+++ b/keyboards/heliotrope/keyboard.json
@@ -7,7 +7,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/helix/pico/info.json b/keyboards/helix/pico/info.json
index d4fabc756e..7909bb0b30 100644
--- a/keyboards/helix/pico/info.json
+++ b/keyboards/helix/pico/info.json
@@ -10,7 +10,9 @@
},
"split": {
"enabled": true,
- "soft_serial_pin": "D2"
+ "serial": {
+ "pin": "D2"
+ }
},
"tapping": {
"term": 100
diff --git a/keyboards/helix/rev2/info.json b/keyboards/helix/rev2/info.json
index fd829782c0..a8bdb23e41 100644
--- a/keyboards/helix/rev2/info.json
+++ b/keyboards/helix/rev2/info.json
@@ -15,7 +15,9 @@
"diode_direction": "COL2ROW",
"split": {
"enabled": true,
- "soft_serial_pin": "D2",
+ "serial": {
+ "pin": "D2"
+ },
"transport": {
"sync": {
"indicators": true,
diff --git a/keyboards/helix/rev2/rev2.c b/keyboards/helix/rev2/rev2.c
index ded22bbe93..7502ad0552 100644
--- a/keyboards/helix/rev2/rev2.c
+++ b/keyboards/helix/rev2/rev2.c
@@ -32,7 +32,7 @@ void set_mac_mode_kb(bool macmode) {
* https://github.com/qmk/qmk_firmware/blob/fb4a6ad30ea7a648acd59793ed4a30c3a8d8dc32/quantum/process_keycode/process_magic.c#L80-L81
*/
keymap_config.swap_lalt_lgui = keymap_config.swap_ralt_rgui = !macmode;
- eeconfig_update_keymap(keymap_config.raw);
+ eeconfig_update_keymap(&keymap_config);
}
void matrix_init_kb(void) {
diff --git a/keyboards/helix/rev3_4rows/keyboard.json b/keyboards/helix/rev3_4rows/keyboard.json
index 5e9fd2dcd8..3d44e8fe78 100644
--- a/keyboards/helix/rev3_4rows/keyboard.json
+++ b/keyboards/helix/rev3_4rows/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Helix rev3 4rows",
"manufacturer": "yushakobo",
- "url": "",
"maintainer": "yushakobo",
"usb": {
"vid": "0x3265",
@@ -33,7 +32,9 @@
},
"split": {
"enabled": true,
- "soft_serial_pin": "D2"
+ "serial": {
+ "pin": "D2"
+ }
},
"ws2812": {
"pin": "D3"
diff --git a/keyboards/helix/rev3_4rows/rev3_4rows.c b/keyboards/helix/rev3_4rows/rev3_4rows.c
index ff61027a96..7f655b6852 100644
--- a/keyboards/helix/rev3_4rows/rev3_4rows.c
+++ b/keyboards/helix/rev3_4rows/rev3_4rows.c
@@ -27,7 +27,7 @@ void set_mac_mode(bool macmode) {
* https://github.com/qmk/qmk_firmware/blob/fb4a6ad30ea7a648acd59793ed4a30c3a8d8dc32/quantum/process_keycode/process_magic.c#L80-L81
*/
keymap_config.swap_lalt_lgui = keymap_config.swap_ralt_rgui = !macmode;
- eeconfig_update_keymap(keymap_config.raw);
+ eeconfig_update_keymap(&keymap_config);
}
#ifdef DIP_SWITCH_ENABLE
diff --git a/keyboards/helix/rev3_5rows/keyboard.json b/keyboards/helix/rev3_5rows/keyboard.json
index b61db7df86..12328ea86d 100644
--- a/keyboards/helix/rev3_5rows/keyboard.json
+++ b/keyboards/helix/rev3_5rows/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Helix rev3 5rows",
"manufacturer": "yushakobo",
- "url": "",
"maintainer": "yushakobo",
"usb": {
"vid": "0x3265",
@@ -99,7 +98,9 @@
},
"split": {
"enabled": true,
- "soft_serial_pin": "D2"
+ "serial": {
+ "pin": "D2"
+ }
},
"ws2812": {
"pin": "D3"
diff --git a/keyboards/helix/rev3_5rows/rev3_5rows.c b/keyboards/helix/rev3_5rows/rev3_5rows.c
index 28fa314a7b..af7276a2b5 100644
--- a/keyboards/helix/rev3_5rows/rev3_5rows.c
+++ b/keyboards/helix/rev3_5rows/rev3_5rows.c
@@ -27,7 +27,7 @@ void set_mac_mode(bool macmode) {
* https://github.com/qmk/qmk_firmware/blob/fb4a6ad30ea7a648acd59793ed4a30c3a8d8dc32/quantum/process_keycode/process_magic.c#L80-L81
*/
keymap_config.swap_lalt_lgui = keymap_config.swap_ralt_rgui = !macmode;
- eeconfig_update_keymap(keymap_config.raw);
+ eeconfig_update_keymap(&keymap_config);
}
#ifdef DIP_SWITCH_ENABLE
diff --git a/keyboards/herevoland/buff75/keyboard.json b/keyboards/herevoland/buff75/keyboard.json
index 15f3e27ac1..32b17cff61 100644
--- a/keyboards/herevoland/buff75/keyboard.json
+++ b/keyboards/herevoland/buff75/keyboard.json
@@ -3,7 +3,6 @@
"processor": "STM32F103",
"bootloader": "stm32duino",
"manufacturer": "HereVoLand",
- "url": "",
"maintainer": "Here VoLand @Vem",
"usb": {
"vid": "0xB727",
diff --git a/keyboards/hfdkb/ac001/keyboard.json b/keyboards/hfdkb/ac001/keyboard.json
index 87f6e40bc3..4317f7071d 100644
--- a/keyboards/hfdkb/ac001/keyboard.json
+++ b/keyboards/hfdkb/ac001/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "ac001",
"manufacturer": "hfd",
- "url": "",
"maintainer": "jonylee@hfd",
"usb": {
"vid": "0xFFFE",
@@ -24,7 +23,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": true,
diff --git a/keyboards/hhkb/ansi/info.json b/keyboards/hhkb/ansi/info.json
index 16349fc6e2..ff2c1bba6e 100644
--- a/keyboards/hhkb/ansi/info.json
+++ b/keyboards/hhkb/ansi/info.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "ANSI",
"manufacturer": "HHKB",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0x4848",
diff --git a/keyboards/hhkb/jp/keyboard.json b/keyboards/hhkb/jp/keyboard.json
index d745f21d20..db96a92a6c 100644
--- a/keyboards/hhkb/jp/keyboard.json
+++ b/keyboards/hhkb/jp/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "JP",
"manufacturer": "HHKB",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0x4848",
diff --git a/keyboards/hhkb/yang/keyboard.json b/keyboards/hhkb/yang/keyboard.json
index a5725d6afa..7af8a62934 100644
--- a/keyboards/hhkb/yang/keyboard.json
+++ b/keyboards/hhkb/yang/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "HHKB BLE",
"manufacturer": "YANG",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0x4848",
diff --git a/keyboards/hhkb_lite_2/keyboard.json b/keyboards/hhkb_lite_2/keyboard.json
index 3e9099f0e5..f9315e8c83 100644
--- a/keyboards/hhkb_lite_2/keyboard.json
+++ b/keyboards/hhkb_lite_2/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "HHKB Lite 2",
"manufacturer": "PFU",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0x88B2",
@@ -11,7 +10,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/hidtech/bastyl/keyboard.json b/keyboards/hidtech/bastyl/keyboard.json
index 1155caa320..77f27cf8e6 100644
--- a/keyboards/hidtech/bastyl/keyboard.json
+++ b/keyboards/hidtech/bastyl/keyboard.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false,
diff --git a/keyboards/hifumi/keyboard.json b/keyboards/hifumi/keyboard.json
index 457c8a7398..1da0a7a3e0 100644
--- a/keyboards/hifumi/keyboard.json
+++ b/keyboards/hifumi/keyboard.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": false,
"command": false,
- "console": false,
"extrakey": false,
"mousekey": false,
"nkro": false,
diff --git a/keyboards/hillside/46/0_1/keyboard.json b/keyboards/hillside/46/0_1/keyboard.json
index 663eeb25f4..7d3967c8c3 100644
--- a/keyboards/hillside/46/0_1/keyboard.json
+++ b/keyboards/hillside/46/0_1/keyboard.json
@@ -40,7 +40,6 @@
"rgblight": {
"led_count": 4,
"split": true,
- "hue_steps": 8,
"saturation_steps": 8,
"brightness_steps": 8,
"sleep": true
diff --git a/keyboards/hillside/48/0_1/keyboard.json b/keyboards/hillside/48/0_1/keyboard.json
index 4dd2e01361..acae16f347 100644
--- a/keyboards/hillside/48/0_1/keyboard.json
+++ b/keyboards/hillside/48/0_1/keyboard.json
@@ -40,7 +40,6 @@
"rgblight": {
"led_count": 5,
"split": true,
- "hue_steps": 8,
"saturation_steps": 8,
"brightness_steps": 8,
"sleep": true
diff --git a/keyboards/hillside/52/0_1/keyboard.json b/keyboards/hillside/52/0_1/keyboard.json
index c8db3917d6..469e6c5844 100644
--- a/keyboards/hillside/52/0_1/keyboard.json
+++ b/keyboards/hillside/52/0_1/keyboard.json
@@ -40,7 +40,6 @@
"rgblight": {
"led_count": 5,
"split": true,
- "hue_steps": 8,
"saturation_steps": 8,
"brightness_steps": 8,
"sleep": true
diff --git a/keyboards/hineybush/h08_ocelot/keyboard.json b/keyboards/hineybush/h08_ocelot/keyboard.json
index bca579aab8..69ef5d2280 100644
--- a/keyboards/hineybush/h08_ocelot/keyboard.json
+++ b/keyboards/hineybush/h08_ocelot/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "h08",
"manufacturer": "Hiney LLC",
- "url": "",
"maintainer": "hineybush",
"usb": {
"vid": "0x04D8",
@@ -11,7 +10,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/hineybush/h10/keyboard.json b/keyboards/hineybush/h10/keyboard.json
index 63a109f484..b29061b51b 100644
--- a/keyboards/hineybush/h10/keyboard.json
+++ b/keyboards/hineybush/h10/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "h10",
"manufacturer": "hineybush",
- "url": "",
"maintainer": "hineybush",
"usb": {
"vid": "0x04D8",
diff --git a/keyboards/hineybush/h101/keyboard.json b/keyboards/hineybush/h101/keyboard.json
index d1f8fa32a0..9264897399 100644
--- a/keyboards/hineybush/h101/keyboard.json
+++ b/keyboards/hineybush/h101/keyboard.json
@@ -7,7 +7,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
@@ -17,7 +16,6 @@
"rows": ["C13", "C14", "C15", "A0", "A1", "A2"]
},
"processor": "STM32F072",
- "url": "",
"usb": {
"device_version": "0.0.1",
"vid": "0x4069",
diff --git a/keyboards/hineybush/h60/keyboard.json b/keyboards/hineybush/h60/keyboard.json
index b7b24b2626..53fd5175a1 100644
--- a/keyboards/hineybush/h60/keyboard.json
+++ b/keyboards/hineybush/h60/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "h60",
"manufacturer": "hineybush",
- "url": "",
"maintainer": "hineybush",
"usb": {
"vid": "0x04D8",
@@ -12,7 +11,6 @@
"backlight": true,
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": false,
diff --git a/keyboards/hineybush/h65/keyboard.json b/keyboards/hineybush/h65/keyboard.json
index 8560c7774c..838c005bea 100644
--- a/keyboards/hineybush/h65/keyboard.json
+++ b/keyboards/hineybush/h65/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "h65",
"manufacturer": "Hiney LLC",
- "url": "",
"maintainer": "hineybush",
"usb": {
"vid": "0x04D8",
@@ -12,7 +11,6 @@
"backlight": true,
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false,
diff --git a/keyboards/hineybush/h65_hotswap/keyboard.json b/keyboards/hineybush/h65_hotswap/keyboard.json
index 510836f22f..9293702975 100644
--- a/keyboards/hineybush/h65_hotswap/keyboard.json
+++ b/keyboards/hineybush/h65_hotswap/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "h65 hotswap",
"manufacturer": "Hiney LLC",
- "url": "",
"maintainer": "hineybush",
"usb": {
"vid": "0x04D8",
@@ -12,7 +11,6 @@
"backlight": true,
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false,
diff --git a/keyboards/hineybush/h660s/keyboard.json b/keyboards/hineybush/h660s/keyboard.json
index 44e8c8c21a..c5e28561aa 100644
--- a/keyboards/hineybush/h660s/keyboard.json
+++ b/keyboards/hineybush/h660s/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "h660s",
"manufacturer": "hineybush",
- "url": "",
"maintainer": "Josh Hinnebusch",
"usb": {
"vid": "0x04D8",
@@ -12,7 +11,6 @@
"backlight": true,
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false,
diff --git a/keyboards/hineybush/h75_singa/keyboard.json b/keyboards/hineybush/h75_singa/keyboard.json
index 0c3ca31e28..c819d51492 100644
--- a/keyboards/hineybush/h75_singa/keyboard.json
+++ b/keyboards/hineybush/h75_singa/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "h75_singa",
"manufacturer": "Singa Keyboards",
- "url": "",
"maintainer": "hineybush",
"usb": {
"vid": "0x04D8",
@@ -12,7 +11,6 @@
"backlight": true,
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false,
diff --git a/keyboards/hineybush/h87_g2/keyboard.json b/keyboards/hineybush/h87_g2/keyboard.json
index 13c17caa98..8d70fd2e3d 100644
--- a/keyboards/hineybush/h87_g2/keyboard.json
+++ b/keyboards/hineybush/h87_g2/keyboard.json
@@ -11,7 +11,6 @@
"backlight": true,
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
@@ -25,7 +24,6 @@
"rows": ["A15", "B3", "B4", "A0", "B6", "B7"]
},
"processor": "STM32F072",
- "url": "",
"usb": {
"device_version": "1.0.0",
"pid": "0x0001",
diff --git a/keyboards/hineybush/h87a/keyboard.json b/keyboards/hineybush/h87a/keyboard.json
index 42a50bf001..67734ea87d 100644
--- a/keyboards/hineybush/h87a/keyboard.json
+++ b/keyboards/hineybush/h87a/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "h87a",
"manufacturer": "hineybush",
- "url": "",
"maintainer": "hineybush",
"usb": {
"vid": "0x04D8",
@@ -15,7 +14,6 @@
"backlight": true,
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false,
diff --git a/keyboards/hineybush/h88/keyboard.json b/keyboards/hineybush/h88/keyboard.json
index 6a9b3142e3..d8cceb2e48 100644
--- a/keyboards/hineybush/h88/keyboard.json
+++ b/keyboards/hineybush/h88/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "h88",
"manufacturer": "hineybush",
- "url": "",
"maintainer": "hineybush",
"usb": {
"vid": "0x04D8",
@@ -15,7 +14,6 @@
"backlight": true,
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false,
diff --git a/keyboards/hineybush/h88_g2/keyboard.json b/keyboards/hineybush/h88_g2/keyboard.json
index 983cbcc1f5..f4e19247b4 100644
--- a/keyboards/hineybush/h88_g2/keyboard.json
+++ b/keyboards/hineybush/h88_g2/keyboard.json
@@ -11,7 +11,6 @@
"backlight": true,
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
@@ -48,7 +47,6 @@
"saturation_steps": 8,
"sleep": true
},
- "url": "",
"usb": {
"device_version": "1.0.0",
"pid": "0x0002",
diff --git a/keyboards/hineybush/hbcp/keyboard.json b/keyboards/hineybush/hbcp/keyboard.json
index e8771ea9a7..1ad6755e42 100644
--- a/keyboards/hineybush/hbcp/keyboard.json
+++ b/keyboards/hineybush/hbcp/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "hbcp",
"manufacturer": "hineybush",
- "url": "",
"maintainer": "hineybush",
"usb": {
"vid": "0x04D8",
diff --git a/keyboards/hineybush/hineyg80/keyboard.json b/keyboards/hineybush/hineyg80/keyboard.json
index 933d689225..863be1d23b 100644
--- a/keyboards/hineybush/hineyg80/keyboard.json
+++ b/keyboards/hineybush/hineyg80/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "hineyG80",
"manufacturer": "hineybush",
- "url": "",
"maintainer": "hineybush",
"usb": {
"vid": "0xFEED",
diff --git a/keyboards/hineybush/ibis/keyboard.json b/keyboards/hineybush/ibis/keyboard.json
index 8c2f6ca3fe..bc8069d74d 100644
--- a/keyboards/hineybush/ibis/keyboard.json
+++ b/keyboards/hineybush/ibis/keyboard.json
@@ -7,7 +7,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
@@ -17,7 +16,6 @@
"rows": ["B0", "B1", "B2", "B3", "C7", "C6", "B4", "D7", "D5", "D3"]
},
"processor": "atmega32u4",
- "url": "",
"usb": {
"device_version": "1.0.0",
"pid": "0xEAA9",
diff --git a/keyboards/hineybush/physix/keyboard.json b/keyboards/hineybush/physix/keyboard.json
index 79a0bea7ab..cbe073d2d3 100644
--- a/keyboards/hineybush/physix/keyboard.json
+++ b/keyboards/hineybush/physix/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "PhysiX",
"manufacturer": "LZ",
- "url": "",
"maintainer": "hineybush",
"usb": {
"vid": "0x04D8",
@@ -12,7 +11,6 @@
"backlight": true,
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false,
diff --git a/keyboards/hineybush/sm68/keyboard.json b/keyboards/hineybush/sm68/keyboard.json
index 8350ca0380..3224a7906f 100644
--- a/keyboards/hineybush/sm68/keyboard.json
+++ b/keyboards/hineybush/sm68/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "sm68",
"manufacturer": "hineybush",
- "url": "",
"maintainer": "hineybush",
"usb": {
"vid": "0x04D8",
@@ -11,7 +10,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false,
diff --git a/keyboards/hnahkb/freyr/keyboard.json b/keyboards/hnahkb/freyr/keyboard.json
index 635c9d5989..ff83ecb532 100644
--- a/keyboards/hnahkb/freyr/keyboard.json
+++ b/keyboards/hnahkb/freyr/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Freyr",
"manufacturer": "HnahKB",
- "url": "",
"maintainer": "vuhopkep",
"usb": {
"vid": "0xFEED",
diff --git a/keyboards/hnahkb/stella/keyboard.json b/keyboards/hnahkb/stella/keyboard.json
index 7c69ec3de2..0a7ac5c109 100644
--- a/keyboards/hnahkb/stella/keyboard.json
+++ b/keyboards/hnahkb/stella/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Stella",
"manufacturer": "HnahKB",
- "url": "",
"maintainer": "VGS",
"usb": {
"vid": "0xFEED",
diff --git a/keyboards/holyswitch/lightweight65/keyboard.json b/keyboards/holyswitch/lightweight65/keyboard.json
index 16a9f73737..237b40d447 100644
--- a/keyboards/holyswitch/lightweight65/keyboard.json
+++ b/keyboards/holyswitch/lightweight65/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Lightweight65",
"manufacturer": "HolySwitch",
- "url": "",
"maintainer": "DeskDaily",
"usb": {
"vid": "0x484F",
@@ -19,7 +18,6 @@
"bootmagic": true,
"mousekey": true,
"extrakey": true,
- "console": false,
"command": false,
"nkro": true
},
diff --git a/keyboards/holyswitch/southpaw75/keyboard.json b/keyboards/holyswitch/southpaw75/keyboard.json
index 1483e1fc31..3215c525a0 100644
--- a/keyboards/holyswitch/southpaw75/keyboard.json
+++ b/keyboards/holyswitch/southpaw75/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "southpaw default",
"manufacturer": "drewguy",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0x484F",
@@ -11,7 +10,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false
diff --git a/keyboards/horrortroll/caticorn/rev1/hotswap/keyboard.json b/keyboards/horrortroll/caticorn/rev1/hotswap/keyboard.json
index ecd3c8a043..2ec09c45c8 100644
--- a/keyboards/horrortroll/caticorn/rev1/hotswap/keyboard.json
+++ b/keyboards/horrortroll/caticorn/rev1/hotswap/keyboard.json
@@ -18,7 +18,6 @@
"bootmagic": true,
"mousekey": true,
"extrakey": true,
- "console": false,
"command": false,
"nkro": true
},
diff --git a/keyboards/horrortroll/caticorn/rev1/solder/keyboard.json b/keyboards/horrortroll/caticorn/rev1/solder/keyboard.json
index d14278f989..673c13b382 100644
--- a/keyboards/horrortroll/caticorn/rev1/solder/keyboard.json
+++ b/keyboards/horrortroll/caticorn/rev1/solder/keyboard.json
@@ -18,7 +18,6 @@
"bootmagic": true,
"mousekey": true,
"extrakey": true,
- "console": false,
"command": false,
"nkro": true
},
diff --git a/keyboards/horrortroll/chinese_pcb/black_e65/keyboard.json b/keyboards/horrortroll/chinese_pcb/black_e65/keyboard.json
index cef69593d7..18405f251f 100644
--- a/keyboards/horrortroll/chinese_pcb/black_e65/keyboard.json
+++ b/keyboards/horrortroll/chinese_pcb/black_e65/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Black E6.5",
"manufacturer": "HorrorTroll",
- "url": "",
"maintainer": "HorrorTroll",
"usb": {
"vid": "0x7516",
@@ -13,7 +12,6 @@
"backlight": true,
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": true,
diff --git a/keyboards/horrortroll/chinese_pcb/devil68_pro/keyboard.json b/keyboards/horrortroll/chinese_pcb/devil68_pro/keyboard.json
index 77eac52ebd..d157fca7be 100644
--- a/keyboards/horrortroll/chinese_pcb/devil68_pro/keyboard.json
+++ b/keyboards/horrortroll/chinese_pcb/devil68_pro/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Devil68 Pro",
"manufacturer": "HorrorTroll",
- "url": "",
"maintainer": "HorrorTroll",
"usb": {
"vid": "0x7516",
@@ -61,7 +60,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": true,
diff --git a/keyboards/horrortroll/handwired_k552/keyboard.json b/keyboards/horrortroll/handwired_k552/keyboard.json
index 213cdf8086..97f8ec822c 100644
--- a/keyboards/horrortroll/handwired_k552/keyboard.json
+++ b/keyboards/horrortroll/handwired_k552/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "K552 Kumara",
"manufacturer": "HorrorTroll",
- "url": "",
"maintainer": "HorrorTroll",
"usb": {
"vid": "0x7516",
diff --git a/keyboards/horrortroll/lemon40/keyboard.json b/keyboards/horrortroll/lemon40/keyboard.json
index 6303fb70bb..1c9993ca77 100644
--- a/keyboards/horrortroll/lemon40/keyboard.json
+++ b/keyboards/horrortroll/lemon40/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Lemon40",
"manufacturer": "HorrorTroll",
- "url": "",
"maintainer": "HorrorTroll",
"usb": {
"vid": "0x7516",
diff --git a/keyboards/horrortroll/nyx/rev1/keyboard.json b/keyboards/horrortroll/nyx/rev1/keyboard.json
index f3b859de0a..2e2d3a0243 100644
--- a/keyboards/horrortroll/nyx/rev1/keyboard.json
+++ b/keyboards/horrortroll/nyx/rev1/keyboard.json
@@ -18,7 +18,6 @@
"bootmagic": true,
"mousekey": true,
"extrakey": true,
- "console": false,
"command": false,
"nkro": true,
"rgb_matrix": true
diff --git a/keyboards/horrortroll/nyx/rev1/lib/startup_swirl_anim.h b/keyboards/horrortroll/nyx/rev1/lib/startup_swirl_anim.h
index f26f07fe12..87e2e813a4 100644
--- a/keyboards/horrortroll/nyx/rev1/lib/startup_swirl_anim.h
+++ b/keyboards/horrortroll/nyx/rev1/lib/startup_swirl_anim.h
@@ -18,6 +18,7 @@
#include <string.h>
#include <math.h>
#include <lib/lib8tion/lib8tion.h>
+#include "eeconfig.h"
#define LED_TRAIL 10
@@ -105,7 +106,7 @@ static void swirl_set_color(hsv_t hsv) {
traverse_matrix();
if (!(top <= bottom && left <= right)) {
- eeprom_read_block(&rgb_matrix_config, EECONFIG_RGB_MATRIX, sizeof(rgb_matrix_config));
+ eeconfig_read_rgb_matrix(&rgb_matrix_config);
rgb_matrix_mode_noeeprom(rgb_matrix_config.mode);
return;
}
diff --git a/keyboards/horrortroll/paws60/keyboard.json b/keyboards/horrortroll/paws60/keyboard.json
index fb158d5791..edf59c6ef9 100644
--- a/keyboards/horrortroll/paws60/keyboard.json
+++ b/keyboards/horrortroll/paws60/keyboard.json
@@ -12,7 +12,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": true
diff --git a/keyboards/hotdox76v2/keyboard.json b/keyboards/hotdox76v2/keyboard.json
index 438099827e..a2957b2177 100644
--- a/keyboards/hotdox76v2/keyboard.json
+++ b/keyboards/hotdox76v2/keyboard.json
@@ -7,7 +7,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/hp69/keyboard.json b/keyboards/hp69/keyboard.json
index 83ed922a27..f0f079a0ac 100644
--- a/keyboards/hp69/keyboard.json
+++ b/keyboards/hp69/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "hp69",
"manufacturer": "Desiboards",
- "url": "",
"maintainer": "Ananya Kirti",
"usb": {
"vid": "0x416B",
@@ -11,7 +10,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/hs60/v1/info.json b/keyboards/hs60/v1/info.json
index c6ebae97ce..4c4e7d4e47 100644
--- a/keyboards/hs60/v1/info.json
+++ b/keyboards/hs60/v1/info.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "HS60",
"manufacturer": "Yiancar-Designs",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0xFEED",
diff --git a/keyboards/hs60/v2/ansi/keyboard.json b/keyboards/hs60/v2/ansi/keyboard.json
index e0781ef54b..d0ec52a50d 100644
--- a/keyboards/hs60/v2/ansi/keyboard.json
+++ b/keyboards/hs60/v2/ansi/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "HS60 V2",
"manufacturer": "Yiancar-Designs",
- "url": "",
"maintainer": "yiancar",
"usb": {
"vid": "0x8968",
diff --git a/keyboards/hs60/v2/hhkb/keyboard.json b/keyboards/hs60/v2/hhkb/keyboard.json
index 9bd4d111c2..327359b697 100644
--- a/keyboards/hs60/v2/hhkb/keyboard.json
+++ b/keyboards/hs60/v2/hhkb/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "HS60 V2",
"manufacturer": "Yiancar-Designs",
- "url": "",
"maintainer": "yiancar",
"usb": {
"vid": "0x8968",
diff --git a/keyboards/hs60/v2/iso/keyboard.json b/keyboards/hs60/v2/iso/keyboard.json
index a51dac05fa..e31ff53d7b 100644
--- a/keyboards/hs60/v2/iso/keyboard.json
+++ b/keyboards/hs60/v2/iso/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "HS60 V2",
"manufacturer": "Yiancar-Designs",
- "url": "",
"maintainer": "yiancar",
"usb": {
"vid": "0x8968",
diff --git a/keyboards/hubble/keyboard.json b/keyboards/hubble/keyboard.json
index 735cf4237d..15f729e5c2 100644
--- a/keyboards/hubble/keyboard.json
+++ b/keyboards/hubble/keyboard.json
@@ -7,7 +7,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
@@ -37,7 +36,6 @@
"cols": ["F5", "F6", "B4", "E6", "D7", "C6", "D4", "D0"],
"rows": ["D1", "F4", "F7", "B5", "B1", "B3", "B6", "B2"]
},
- "url": "",
"usb": {
"vid": "0x4680",
"pid": "0x1357",
diff --git a/keyboards/huytbt/h50/keyboard.json b/keyboards/huytbt/h50/keyboard.json
index cd62966e58..d36d18d4b8 100644
--- a/keyboards/huytbt/h50/keyboard.json
+++ b/keyboards/huytbt/h50/keyboard.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false
diff --git a/keyboards/ianklug/grooveboard/keyboard.json b/keyboards/ianklug/grooveboard/keyboard.json
index ce7ac8cc22..a974d172e0 100644
--- a/keyboards/ianklug/grooveboard/keyboard.json
+++ b/keyboards/ianklug/grooveboard/keyboard.json
@@ -13,7 +13,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false
diff --git a/keyboards/ibm/model_m/ashpil_usbc/keyboard.json b/keyboards/ibm/model_m/ashpil_usbc/keyboard.json
index a43e16a04c..c410216610 100644
--- a/keyboards/ibm/model_m/ashpil_usbc/keyboard.json
+++ b/keyboards/ibm/model_m/ashpil_usbc/keyboard.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": false
diff --git a/keyboards/ibm/model_m/modelh/keyboard.json b/keyboards/ibm/model_m/modelh/keyboard.json
index 6b9cf20c1d..0f2f858076 100644
--- a/keyboards/ibm/model_m/modelh/keyboard.json
+++ b/keyboards/ibm/model_m/modelh/keyboard.json
@@ -7,7 +7,6 @@
"features": {
"bootmagic": false,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": false
diff --git a/keyboards/ibm/model_m/teensy2/keyboard.json b/keyboards/ibm/model_m/teensy2/keyboard.json
index 173f9e772f..297e422fd1 100644
--- a/keyboards/ibm/model_m/teensy2/keyboard.json
+++ b/keyboards/ibm/model_m/teensy2/keyboard.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": false
diff --git a/keyboards/ibm/model_m/yugo_m/keyboard.json b/keyboards/ibm/model_m/yugo_m/keyboard.json
index 10fe637f03..a05ae6feff 100644
--- a/keyboards/ibm/model_m/yugo_m/keyboard.json
+++ b/keyboards/ibm/model_m/yugo_m/keyboard.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false
diff --git a/keyboards/ibm/model_m_4th_gen/overnumpad_1xb/board.h b/keyboards/ibm/model_m_4th_gen/overnumpad_1xb/board.h
new file mode 100644
index 0000000000..5b80eb2230
--- /dev/null
+++ b/keyboards/ibm/model_m_4th_gen/overnumpad_1xb/board.h
@@ -0,0 +1,8 @@
+// Copyright 2020 Purdea Andrei
+// SPDX-License-Identifier: GPL-2.0-or-later
+#pragma once
+
+#include_next <board.h>
+
+#undef STM32_HSECLK
+#define STM32_HSECLK 16000000U
diff --git a/keyboards/ibm/model_m_4th_gen/overnumpad_1xb/config.h b/keyboards/ibm/model_m_4th_gen/overnumpad_1xb/config.h
index 71e60e9cfe..c10d26b9b2 100644
--- a/keyboards/ibm/model_m_4th_gen/overnumpad_1xb/config.h
+++ b/keyboards/ibm/model_m_4th_gen/overnumpad_1xb/config.h
@@ -21,8 +21,6 @@
#define SERIAL_NUMBER DEF_SERIAL_NUMBER
#endif
-#define STM32_HSECLK 16000000
-
#define SOLENOID_PIN B5
#define HAPTIC_ENABLE_PIN C13
#define SOLENOID_DEFAULT_DWELL 20
diff --git a/keyboards/ibm/model_m_ssk/teensypp_ssk/keyboard.json b/keyboards/ibm/model_m_ssk/teensypp_ssk/keyboard.json
index 5994d820f4..50ce403130 100644
--- a/keyboards/ibm/model_m_ssk/teensypp_ssk/keyboard.json
+++ b/keyboards/ibm/model_m_ssk/teensypp_ssk/keyboard.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": false,
"command": true,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": false
diff --git a/keyboards/ibnuda/alicia_cook/keyboard.json b/keyboards/ibnuda/alicia_cook/keyboard.json
index fd3b23285c..c83a5b43d3 100644
--- a/keyboards/ibnuda/alicia_cook/keyboard.json
+++ b/keyboards/ibnuda/alicia_cook/keyboard.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": false,
"mousekey": false,
"nkro": false
diff --git a/keyboards/ibnuda/gurindam/keyboard.json b/keyboards/ibnuda/gurindam/keyboard.json
index 1cf74068b6..e2693b7f21 100644
--- a/keyboards/ibnuda/gurindam/keyboard.json
+++ b/keyboards/ibnuda/gurindam/keyboard.json
@@ -28,7 +28,6 @@
"features": {
"bootmagic": false,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/icebreaker/hotswap/keyboard.json b/keyboards/icebreaker/hotswap/keyboard.json
new file mode 100644
index 0000000000..29daba253c
--- /dev/null
+++ b/keyboards/icebreaker/hotswap/keyboard.json
@@ -0,0 +1,238 @@
+{
+ "manufacturer": "Serene Studio",
+ "keyboard_name": "Icebreaker HS",
+ "maintainer": "Matthijs Muller",
+ "bootloader": "rp2040",
+ "diode_direction": "COL2ROW",
+ "encoder": {
+ "rotary": [
+ {"pin_a": "GP26", "pin_b": "GP27"}
+ ]
+ },
+ "features": {
+ "bootmagic": true,
+ "command": false,
+ "encoder": true,
+ "extrakey": true,
+ "mousekey": true,
+ "nkro": true,
+ "rgb_matrix": true
+ },
+ "matrix_pins": {
+ "cols": ["GP24", "GP19", "GP18", "GP17", "GP29", "GP0", "GP12", "GP11", "GP10", "GP7", "GP6", "GP5", "GP4", "GP3", "GP2"],
+ "rows": ["GP25", "GP22", "GP28", "GP23", "GP1"]
+ },
+ "processor": "RP2040",
+ "qmk": {
+ "locking": {
+ "enabled": true,
+ "resync": true
+ }
+ },
+ "rgb_matrix": {
+ "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,
+ "fractal": 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_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
+ },
+ "default": {
+ "sat": 100,
+ "val": 80
+ },
+ "driver": "ws2812",
+ "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": 64, "y": 0, "flags": 4},
+ {"matrix": [0, 5], "x": 80, "y": 0, "flags": 4},
+ {"matrix": [0, 6], "x": 96, "y": 0, "flags": 4},
+ {"matrix": [0, 7], "x": 112, "y": 0, "flags": 4},
+ {"matrix": [0, 8], "x": 128, "y": 0, "flags": 4},
+ {"matrix": [0, 9], "x": 144, "y": 0, "flags": 4},
+ {"matrix": [0, 10], "x": 160, "y": 0, "flags": 4},
+ {"matrix": [0, 11], "x": 176, "y": 0, "flags": 4},
+ {"matrix": [0, 12], "x": 192, "y": 0, "flags": 4},
+ {"matrix": [0, 13], "x": 208, "y": 0, "flags": 4},
+ {"matrix": [2, 13], "x": 224, "y": 0, "flags": 4},
+ {"matrix": [0, 14], "x": 240, "y": 0, "flags": 4},
+ {"matrix": [1, 14], "x": 0, "y": 16, "flags": 4},
+ {"matrix": [1, 13], "x": 24, "y": 16, "flags": 4},
+ {"matrix": [1, 12], "x": 40, "y": 16, "flags": 4},
+ {"matrix": [1, 11], "x": 56, "y": 16, "flags": 4},
+ {"matrix": [1, 10], "x": 72, "y": 16, "flags": 4},
+ {"matrix": [1, 9], "x": 88, "y": 16, "flags": 4},
+ {"matrix": [1, 8], "x": 104, "y": 16, "flags": 4},
+ {"matrix": [1, 7], "x": 120, "y": 16, "flags": 4},
+ {"matrix": [1, 6], "x": 136, "y": 16, "flags": 4},
+ {"matrix": [1, 5], "x": 152, "y": 16, "flags": 4},
+ {"matrix": [1, 4], "x": 168, "y": 16, "flags": 4},
+ {"matrix": [1, 3], "x": 184, "y": 16, "flags": 4},
+ {"matrix": [1, 2], "x": 200, "y": 16, "flags": 4},
+ {"matrix": [1, 1], "x": 216, "y": 16, "flags": 4},
+ {"matrix": [1, 0], "x": 240, "y": 16, "flags": 4},
+ {"matrix": [2, 0], "x": 0, "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": 60, "y": 32, "flags": 4},
+ {"matrix": [2, 4], "x": 76, "y": 32, "flags": 4},
+ {"matrix": [2, 5], "x": 92, "y": 32, "flags": 4},
+ {"matrix": [2, 6], "x": 108, "y": 32, "flags": 4},
+ {"matrix": [2, 7], "x": 124, "y": 32, "flags": 4},
+ {"matrix": [2, 8], "x": 140, "y": 32, "flags": 4},
+ {"matrix": [2, 9], "x": 156, "y": 32, "flags": 4},
+ {"matrix": [2, 10], "x": 172, "y": 32, "flags": 4},
+ {"matrix": [2, 11], "x": 188, "y": 32, "flags": 4},
+ {"matrix": [2, 12], "x": 204, "y": 32, "flags": 4},
+ {"matrix": [2, 14], "x": 240, "y": 32, "flags": 4},
+ {"matrix": [3, 14], "x": 0, "y": 48, "flags": 4},
+ {"matrix": [3, 13], "x": 36, "y": 48, "flags": 4},
+ {"matrix": [3, 12], "x": 52, "y": 48, "flags": 4},
+ {"matrix": [3, 11], "x": 68, "y": 48, "flags": 4},
+ {"matrix": [3, 10], "x": 84, "y": 48, "flags": 4},
+ {"matrix": [3, 9], "x": 100, "y": 48, "flags": 4},
+ {"matrix": [3, 8], "x": 116, "y": 48, "flags": 4},
+ {"matrix": [3, 7], "x": 132, "y": 48, "flags": 4},
+ {"matrix": [3, 6], "x": 148, "y": 48, "flags": 4},
+ {"matrix": [3, 5], "x": 164, "y": 48, "flags": 4},
+ {"matrix": [3, 4], "x": 180, "y": 48, "flags": 4},
+ {"matrix": [3, 3], "x": 196, "y": 48, "flags": 4},
+ {"matrix": [3, 2], "x": 224, "y": 48, "flags": 4},
+ {"matrix": [3, 0], "x": 240, "y": 48, "flags": 4},
+ {"matrix": [4, 0], "x": 0, "y": 64, "flags": 4},
+ {"matrix": [4, 1], "x": 24, "y": 64, "flags": 4},
+ {"matrix": [4, 6], "x": 48, "y": 64, "flags": 4},
+ {"matrix": [4, 10], "x": 160, "y": 64, "flags": 4},
+ {"matrix": [4, 11], "x": 184, "y": 64, "flags": 4},
+ {"matrix": [4, 12], "x": 208, "y": 64, "flags": 4},
+ {"matrix": [4, 13], "x": 224, "y": 64, "flags": 4},
+ {"matrix": [4, 14], "x": 240, "y": 64, "flags": 4}
+ ],
+ "max_brightness": 120
+ },
+ "usb": {
+ "device_version": "0.0.1",
+ "pid": "0x6503",
+ "vid": "0x5363"
+ },
+ "ws2812": {
+ "driver": "vendor",
+ "pin": "GP13"
+ },
+ "layouts": {
+ "LAYOUT": {
+ "layout": [
+ {"matrix": [0, 0], "x": 0, "y": 0},
+ {"matrix": [0, 1], "x": 1, "y": 0},
+ {"matrix": [0, 2], "x": 2, "y": 0},
+ {"matrix": [0, 3], "x": 3, "y": 0},
+ {"matrix": [0, 4], "x": 4, "y": 0},
+ {"matrix": [0, 5], "x": 5, "y": 0},
+ {"matrix": [0, 6], "x": 6, "y": 0},
+ {"matrix": [0, 7], "x": 7, "y": 0},
+ {"matrix": [0, 8], "x": 8, "y": 0},
+ {"matrix": [0, 9], "x": 9, "y": 0},
+ {"matrix": [0, 10], "x": 10, "y": 0},
+ {"matrix": [0, 11], "x": 11, "y": 0},
+ {"matrix": [0, 12], "x": 12, "y": 0},
+ {"matrix": [0, 13], "x": 13, "y": 0},
+ {"matrix": [2, 13], "x": 14, "y": 0},
+ {"matrix": [0, 14], "x": 15, "y": 0},
+ {"label": "encoder", "matrix": [3, 1], "x": 16, "y": 0, "encoder": 0},
+ {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5},
+ {"matrix": [1, 1], "x": 1.5, "y": 1},
+ {"matrix": [1, 2], "x": 2.5, "y": 1},
+ {"matrix": [1, 3], "x": 3.5, "y": 1},
+ {"matrix": [1, 4], "x": 4.5, "y": 1},
+ {"matrix": [1, 5], "x": 5.5, "y": 1},
+ {"matrix": [1, 6], "x": 6.5, "y": 1},
+ {"matrix": [1, 7], "x": 7.5, "y": 1},
+ {"matrix": [1, 8], "x": 8.5, "y": 1},
+ {"matrix": [1, 9], "x": 9.5, "y": 1},
+ {"matrix": [1, 10], "x": 10.5, "y": 1},
+ {"matrix": [1, 11], "x": 11.5, "y": 1},
+ {"matrix": [1, 12], "x": 12.5, "y": 1},
+ {"matrix": [1, 13], "x": 13.5, "y": 1, "w": 1.5},
+ {"matrix": [1, 14], "x": 15, "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, "w": 2.25},
+ {"matrix": [2, 14], "x": 15, "y": 2},
+ {"matrix": [3, 0], "x": 0, "y": 3, "w": 2.25},
+ {"matrix": [3, 2], "x": 2.25, "y": 3},
+ {"matrix": [3, 3], "x": 3.25, "y": 3},
+ {"matrix": [3, 4], "x": 4.25, "y": 3},
+ {"matrix": [3, 5], "x": 5.25, "y": 3},
+ {"matrix": [3, 6], "x": 6.25, "y": 3},
+ {"matrix": [3, 7], "x": 7.25, "y": 3},
+ {"matrix": [3, 8], "x": 8.25, "y": 3},
+ {"matrix": [3, 9], "x": 9.25, "y": 3},
+ {"matrix": [3, 10], "x": 10.25, "y": 3},
+ {"matrix": [3, 11], "x": 11.25, "y": 3},
+ {"matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75},
+ {"matrix": [3, 13], "x": 14, "y": 3},
+ {"matrix": [3, 14], "x": 15, "y": 3},
+ {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.5},
+ {"matrix": [4, 1], "x": 1.5, "y": 4, "w": 1},
+ {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.5},
+ {"matrix": [4, 6], "x": 4, "y": 4, "w": 7},
+ {"matrix": [4, 10], "x": 11, "y": 4},
+ {"matrix": [4, 11], "x": 12, "y": 4},
+ {"matrix": [4, 12], "x": 13, "y": 4},
+ {"matrix": [4, 13], "x": 14, "y": 4},
+ {"matrix": [4, 14], "x": 15, "y": 4}
+ ]
+ }
+ }
+}
diff --git a/keyboards/icebreaker/hotswap/keymaps/default/keymap.c b/keyboards/icebreaker/hotswap/keymaps/default/keymap.c
new file mode 100644
index 0000000000..058210fff4
--- /dev/null
+++ b/keyboards/icebreaker/hotswap/keymaps/default/keymap.c
@@ -0,0 +1,43 @@
+/*
+Copyright 2024 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/>.
+*/
+#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_DEL, 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_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_LGUI, KC_LALT, KC_SPC, KC_RGUI, 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, _______, _______, RM_TOGG, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_HOME,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_END,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MPLY, KC_VOLU, _______,
+ _______, _______, _______, _______, _______, _______, KC_MPRV, KC_VOLD, KC_MNXT
+ )
+};
+
+#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(RM_SATD, RM_SATU) },
+};
+#endif
diff --git a/keyboards/icebreaker/hotswap/keymaps/default/rules.mk b/keyboards/icebreaker/hotswap/keymaps/default/rules.mk
new file mode 100644
index 0000000000..ee32568148
--- /dev/null
+++ b/keyboards/icebreaker/hotswap/keymaps/default/rules.mk
@@ -0,0 +1 @@
+ENCODER_MAP_ENABLE = yes
diff --git a/keyboards/icebreaker/readme.md b/keyboards/icebreaker/readme.md
new file mode 100644
index 0000000000..439756f1b3
--- /dev/null
+++ b/keyboards/icebreaker/readme.md
@@ -0,0 +1,26 @@
+# Icebreaker
+
+![Icebreaker](https://i.imgur.com/vSRfEOD.png)
+
+
+
+* Keyboard Maintainer: [Matthijs Muller](https://github.com/SmollChungus)
+* Hardware Supported: Icebreaker Hotswap PCB
+
+Make example for this keyboard (after setting up your build environment):
+
+ make icebreaker:default
+
+Flashing example for this keyboard:
+
+ make icebreaker: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/idank/sweeq/keyboard.json b/keyboards/idank/sweeq/keyboard.json
index a9b8d7411e..36a9ceeb12 100644
--- a/keyboards/idank/sweeq/keyboard.json
+++ b/keyboards/idank/sweeq/keyboard.json
@@ -12,7 +12,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/idb/idb_60/keyboard.json b/keyboards/idb/idb_60/keyboard.json
index 22ed07b71b..e739a2dbf4 100644
--- a/keyboards/idb/idb_60/keyboard.json
+++ b/keyboards/idb/idb_60/keyboard.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/idobao/id42/keyboard.json b/keyboards/idobao/id42/keyboard.json
index 14db7641ea..9689356400 100644
--- a/keyboards/idobao/id42/keyboard.json
+++ b/keyboards/idobao/id42/keyboard.json
@@ -8,7 +8,6 @@
"bootmagic": true,
"mousekey": true,
"extrakey": true,
- "console": false,
"command": false,
"nkro": true,
"rgb_matrix": true
diff --git a/keyboards/idobao/id61/keyboard.json b/keyboards/idobao/id61/keyboard.json
index cb55f1750d..b712d276f2 100644
--- a/keyboards/idobao/id61/keyboard.json
+++ b/keyboards/idobao/id61/keyboard.json
@@ -7,7 +7,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/idobao/id63/keyboard.json b/keyboards/idobao/id63/keyboard.json
index 1969ca4cf7..f7e5a7743a 100644
--- a/keyboards/idobao/id63/keyboard.json
+++ b/keyboards/idobao/id63/keyboard.json
@@ -7,7 +7,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/idobao/id67/keyboard.json b/keyboards/idobao/id67/keyboard.json
index 64c3623fd6..f4cc52495c 100644
--- a/keyboards/idobao/id67/keyboard.json
+++ b/keyboards/idobao/id67/keyboard.json
@@ -9,7 +9,6 @@
"mousekey": true,
"extrakey": true,
"command": false,
- "console": false,
"nkro": true,
"rgb_matrix": true
},
diff --git a/keyboards/idobao/id75/v1/keyboard.json b/keyboards/idobao/id75/v1/keyboard.json
index f52938d0d8..ed3cae1305 100644
--- a/keyboards/idobao/id75/v1/keyboard.json
+++ b/keyboards/idobao/id75/v1/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "ID75",
"manufacturer": "IDOBAO",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0x6964",
diff --git a/keyboards/idobao/id75/v2/keyboard.json b/keyboards/idobao/id75/v2/keyboard.json
index 09e24dbd47..053ea68f60 100644
--- a/keyboards/idobao/id75/v2/keyboard.json
+++ b/keyboards/idobao/id75/v2/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "ID75",
"manufacturer": "IDOBAO",
- "url": "",
"maintainer": "peepeetee",
"usb": {
"vid": "0x6964",
@@ -53,7 +52,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false,
diff --git a/keyboards/idobao/id80/v2/info.json b/keyboards/idobao/id80/v2/info.json
index 4d6e0773d8..6f063fe32b 100644
--- a/keyboards/idobao/id80/v2/info.json
+++ b/keyboards/idobao/id80/v2/info.json
@@ -1,6 +1,5 @@
{
"manufacturer": "IDOBAO",
- "url": "",
"maintainer": "IDOBAOKB",
"usb": {
"vid": "0x6964",
@@ -50,7 +49,6 @@
"bootmagic": true,
"mousekey": true,
"extrakey": true,
- "console": false,
"command": false,
"nkro": true,
"backlight": true,
diff --git a/keyboards/idobao/id80/v3/ansi/keyboard.json b/keyboards/idobao/id80/v3/ansi/keyboard.json
index 6200c2e88c..03d54f5e30 100644
--- a/keyboards/idobao/id80/v3/ansi/keyboard.json
+++ b/keyboards/idobao/id80/v3/ansi/keyboard.json
@@ -8,7 +8,6 @@
"bootmagic": true,
"mousekey": true,
"extrakey": true,
- "console": false,
"command": false,
"nkro": true,
"rgb_matrix": true
diff --git a/keyboards/idobao/id87/v1/keyboard.json b/keyboards/idobao/id87/v1/keyboard.json
index 5ae86f8d5e..854f345616 100644
--- a/keyboards/idobao/id87/v1/keyboard.json
+++ b/keyboards/idobao/id87/v1/keyboard.json
@@ -12,7 +12,6 @@
"backlight": true,
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/idobao/id87/v2/keyboard.json b/keyboards/idobao/id87/v2/keyboard.json
index 0ece932274..f21fd70b7b 100644
--- a/keyboards/idobao/id87/v2/keyboard.json
+++ b/keyboards/idobao/id87/v2/keyboard.json
@@ -8,7 +8,6 @@
"bootmagic": true,
"mousekey": true,
"extrakey": true,
- "console": false,
"command": false,
"nkro": true,
"rgb_matrix": true
diff --git a/keyboards/idobao/id96/keyboard.json b/keyboards/idobao/id96/keyboard.json
index c06dfdd454..abd9b61958 100644
--- a/keyboards/idobao/id96/keyboard.json
+++ b/keyboards/idobao/id96/keyboard.json
@@ -12,7 +12,6 @@
"backlight": true,
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/idobao/montex/v1/keyboard.json b/keyboards/idobao/montex/v1/keyboard.json
index 2d9f503832..cbece8a392 100644
--- a/keyboards/idobao/montex/v1/keyboard.json
+++ b/keyboards/idobao/montex/v1/keyboard.json
@@ -12,7 +12,6 @@
"backlight": true,
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/idobao/montex/v1rgb/keyboard.json b/keyboards/idobao/montex/v1rgb/keyboard.json
index f4c18764b1..58369f7169 100755
--- a/keyboards/idobao/montex/v1rgb/keyboard.json
+++ b/keyboards/idobao/montex/v1rgb/keyboard.json
@@ -38,7 +38,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false,
diff --git a/keyboards/idobao/montex/v2/keyboard.json b/keyboards/idobao/montex/v2/keyboard.json
index 6c00fd538d..27f6c02d76 100755
--- a/keyboards/idobao/montex/v2/keyboard.json
+++ b/keyboards/idobao/montex/v2/keyboard.json
@@ -7,7 +7,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/idyllic/tinny50_rgb/keyboard.json b/keyboards/idyllic/tinny50_rgb/keyboard.json
index b3eb34a4c0..f7bd204567 100644
--- a/keyboards/idyllic/tinny50_rgb/keyboard.json
+++ b/keyboards/idyllic/tinny50_rgb/keyboard.json
@@ -13,7 +13,6 @@
"bootmagic": true,
"mousekey": true,
"extrakey": true,
- "console": false,
"command": false,
"nkro": true,
"rgb_matrix": true
diff --git a/keyboards/igloo/keyboard.json b/keyboards/igloo/keyboard.json
index 6e0cba498b..ceb7a03a75 100644
--- a/keyboards/igloo/keyboard.json
+++ b/keyboards/igloo/keyboard.json
@@ -7,7 +7,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
@@ -19,7 +18,6 @@
"rows": ["B7", "D0", "D1", "D2", "D3"]
},
"processor": "atmega32u4",
- "url": "",
"usb": {
"device_version": "1.0.0",
"pid": "0x0001",
diff --git a/keyboards/illuminati/is0/keyboard.json b/keyboards/illuminati/is0/keyboard.json
index ee90646b19..33f7208a47 100644
--- a/keyboards/illuminati/is0/keyboard.json
+++ b/keyboards/illuminati/is0/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "iS0",
"manufacturer": "Illuminati Works",
- "url": "",
"maintainer": "ai03",
"usb": {
"vid": "0xA103",
@@ -12,7 +11,6 @@
"backlight": true,
"bootmagic": true,
"command": true,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/illusion/rosa/keyboard.json b/keyboards/illusion/rosa/keyboard.json
index 29b7a2124d..932b1a91d6 100644
--- a/keyboards/illusion/rosa/keyboard.json
+++ b/keyboards/illusion/rosa/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Rosa",
"manufacturer": "illusion keyboards",
- "url": "",
"maintainer": "illusion",
"usb": {
"vid": "0x694B",
@@ -11,7 +10,6 @@
"features": {
"bootmagic": true,
"command": true,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false
diff --git a/keyboards/ilumkb/primus75/keyboard.json b/keyboards/ilumkb/primus75/keyboard.json
index 15831ffda6..4441187254 100644
--- a/keyboards/ilumkb/primus75/keyboard.json
+++ b/keyboards/ilumkb/primus75/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Primus75",
"manufacturer": "moyi4681",
- "url": "",
"maintainer": "moyi4681",
"usb": {
"vid": "0x445A",
@@ -12,7 +11,6 @@
"backlight": true,
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/ilumkb/simpler61/keyboard.json b/keyboards/ilumkb/simpler61/keyboard.json
index 8e7680fb9f..10e182dac8 100644
--- a/keyboards/ilumkb/simpler61/keyboard.json
+++ b/keyboards/ilumkb/simpler61/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Simpler61",
"manufacturer": "Equalz",
- "url": "",
"maintainer": "Equalz",
"usb": {
"vid": "0xC3C3",
@@ -51,7 +50,6 @@
"features": {
"bootmagic": true,
"command": true,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/ilumkb/simpler64/keyboard.json b/keyboards/ilumkb/simpler64/keyboard.json
index 65aa627b04..240d0d67c2 100644
--- a/keyboards/ilumkb/simpler64/keyboard.json
+++ b/keyboards/ilumkb/simpler64/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Simpler64",
"manufacturer": "Equalz",
- "url": "",
"maintainer": "Equalz",
"usb": {
"vid": "0xC3C3",
@@ -51,7 +50,6 @@
"features": {
"bootmagic": true,
"command": true,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/ilumkb/volcano660/keyboard.json b/keyboards/ilumkb/volcano660/keyboard.json
index fa74e46fed..616098da01 100644
--- a/keyboards/ilumkb/volcano660/keyboard.json
+++ b/keyboards/ilumkb/volcano660/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Volcano660",
"manufacturer": "DZTech",
- "url": "",
"maintainer": "moyi4681",
"usb": {
"vid": "0x445A",
@@ -12,7 +11,6 @@
"backlight": true,
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/inett_studio/sqx/hotswap/keyboard.json b/keyboards/inett_studio/sqx/hotswap/keyboard.json
index 432112e7f4..f4b1bcc4ce 100644
--- a/keyboards/inett_studio/sqx/hotswap/keyboard.json
+++ b/keyboards/inett_studio/sqx/hotswap/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "SQUARE.X",
"manufacturer": "iNETT Studio",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0x694E",
@@ -67,7 +66,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": true,
diff --git a/keyboards/inett_studio/sqx/universal/keyboard.json b/keyboards/inett_studio/sqx/universal/keyboard.json
index 11bb224a0f..7f27ca0cc9 100644
--- a/keyboards/inett_studio/sqx/universal/keyboard.json
+++ b/keyboards/inett_studio/sqx/universal/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "SQUARE.X",
"manufacturer": "iNETT Studio",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0x694E",
@@ -67,7 +66,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": true,
diff --git a/keyboards/inland/kb83/kb83.c b/keyboards/inland/kb83/kb83.c
index 1052131a91..41a3ad8df7 100644
--- a/keyboards/inland/kb83/kb83.c
+++ b/keyboards/inland/kb83/kb83.c
@@ -317,7 +317,7 @@ bool dip_switch_update_kb(uint8_t index, bool active) {
}
if(active){
keymap_config.no_gui = 0;
- eeconfig_update_keymap(keymap_config.raw);
+ eeconfig_update_keymap(&keymap_config);
}
return true;
}
diff --git a/keyboards/inland/mk47/keyboard.json b/keyboards/inland/mk47/keyboard.json
index b6404f58b2..a15701db26 100644
--- a/keyboards/inland/mk47/keyboard.json
+++ b/keyboards/inland/mk47/keyboard.json
@@ -2,7 +2,6 @@
"keyboard_name": "MK47",
"manufacturer": "Inland",
"maintainer": "jonylee@hfd",
- "url":"",
"usb": {
"vid": "0xFFFE",
"pid": "0x0002",
@@ -16,7 +15,6 @@
"bootmagic": true,
"mousekey": false,
"extrakey": true,
- "console": false,
"command": false,
"nkro": true,
"rgb_matrix": true
diff --git a/keyboards/inland/v83p/keyboard.json b/keyboards/inland/v83p/keyboard.json
index 139cfb693b..96b6cd9551 100644
--- a/keyboards/inland/v83p/keyboard.json
+++ b/keyboards/inland/v83p/keyboard.json
@@ -22,7 +22,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/input_club/k_type/keyboard.json b/keyboards/input_club/k_type/keyboard.json
index a4e8e2419e..cc93783dc9 100644
--- a/keyboards/input_club/k_type/keyboard.json
+++ b/keyboards/input_club/k_type/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "K-Type (QMK)",
"manufacturer": "Input:Club",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0x1C11",
@@ -59,7 +58,6 @@
"features": {
"bootmagic": false,
"command": false,
- "console": false,
"extrakey": false,
"mousekey": false,
"nkro": true
diff --git a/keyboards/input_club/whitefox/keyboard.json b/keyboards/input_club/whitefox/keyboard.json
index 1d3799b867..60f2dca4d0 100644
--- a/keyboards/input_club/whitefox/keyboard.json
+++ b/keyboards/input_club/whitefox/keyboard.json
@@ -113,7 +113,6 @@
"features": {
"bootmagic": true,
"command": true,
- "console": false,
"extrakey": true,
"led_matrix": true,
"mousekey": true,
diff --git a/keyboards/io_mini1800/keyboard.json b/keyboards/io_mini1800/keyboard.json
index 884d17aa06..d0333c75cf 100644
--- a/keyboards/io_mini1800/keyboard.json
+++ b/keyboards/io_mini1800/keyboard.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"encoder": true,
"extrakey": true,
"mousekey": true,
diff --git a/keyboards/irene/keyboard.json b/keyboards/irene/keyboard.json
index 3280c34c03..7844a66377 100644
--- a/keyboards/irene/keyboard.json
+++ b/keyboards/irene/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Irene",
"manufacturer": "Andrei Collado",
- "url": "",
"maintainer": "Andrei Collado",
"usb": {
"vid": "0x1434",
@@ -29,7 +28,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false,
diff --git a/keyboards/iriskeyboards/keyboard.json b/keyboards/iriskeyboards/keyboard.json
index 200c3a3f6a..b8c5195ae9 100644
--- a/keyboards/iriskeyboards/keyboard.json
+++ b/keyboards/iriskeyboards/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Iris Rev0",
"manufacturer": "SonOfAres",
- "url": "",
"maintainer": "SonOfAres",
"usb": {
"vid": "0x494B",
@@ -11,7 +10,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false
diff --git a/keyboards/iron180/keyboard.json b/keyboards/iron180/keyboard.json
index 8daae1b1eb..90593faf8a 100644
--- a/keyboards/iron180/keyboard.json
+++ b/keyboards/iron180/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Iron180",
"manufacturer": "SmithRune",
- "url": "",
"maintainer": "Gondolindrim",
"usb": {
"vid": "0x8384",
diff --git a/keyboards/itstleo/itstleo40/keyboard.json b/keyboards/itstleo/itstleo40/keyboard.json
index 637f8e5d7e..10ffa78e07 100644
--- a/keyboards/itstleo/itstleo40/keyboard.json
+++ b/keyboards/itstleo/itstleo40/keyboard.json
@@ -8,7 +8,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"leader": true,
"extrakey": true,
"mousekey": true,
diff --git a/keyboards/j80/keyboard.json b/keyboards/j80/keyboard.json
index 72745d262f..91e9683c26 100644
--- a/keyboards/j80/keyboard.json
+++ b/keyboards/j80/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "J80",
"manufacturer": "JER",
- "url": "",
"maintainer": "oeywil",
"usb": {
"vid": "0x20A0",
@@ -12,7 +11,6 @@
"backlight": true,
"bootmagic": true,
"command": true,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": false
diff --git a/keyboards/jacky_studio/s7_elephant/rev1/keyboard.json b/keyboards/jacky_studio/s7_elephant/rev1/keyboard.json
index cbbb27ca04..d96d52514e 100644
--- a/keyboards/jacky_studio/s7_elephant/rev1/keyboard.json
+++ b/keyboards/jacky_studio/s7_elephant/rev1/keyboard.json
@@ -32,7 +32,6 @@
"features": {
"bootmagic": false,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/jacky_studio/s7_elephant/rev2/keyboard.json b/keyboards/jacky_studio/s7_elephant/rev2/keyboard.json
index 23112f5b33..c6c5ef06c5 100644
--- a/keyboards/jacky_studio/s7_elephant/rev2/keyboard.json
+++ b/keyboards/jacky_studio/s7_elephant/rev2/keyboard.json
@@ -15,7 +15,6 @@
"backlight": true,
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false,
diff --git a/keyboards/jadookb/jkb65/info.json b/keyboards/jadookb/jkb65/info.json
index c4a44a0d74..527016499c 100644
--- a/keyboards/jadookb/jkb65/info.json
+++ b/keyboards/jadookb/jkb65/info.json
@@ -8,7 +8,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/jae/j01/keyboard.json b/keyboards/jae/j01/keyboard.json
index fd16f2a46e..2375122bd8 100644
--- a/keyboards/jae/j01/keyboard.json
+++ b/keyboards/jae/j01/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "J-01",
"manufacturer": "Evyd13",
- "url": "",
"maintainer": "MechMerlin",
"usb": {
"vid": "0x4705",
diff --git a/keyboards/jagdpietr/drakon/keyboard.json b/keyboards/jagdpietr/drakon/keyboard.json
index 2d2b68a41a..dfb38ac200 100644
--- a/keyboards/jagdpietr/drakon/keyboard.json
+++ b/keyboards/jagdpietr/drakon/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "drakon",
"manufacturer": "jagdpietr",
- "url": "",
"maintainer": "jagdpietr",
"usb": {
"vid": "0xFEED",
diff --git a/keyboards/janus/keyboard.json b/keyboards/janus/keyboard.json
index 8c4f522b86..c50b5ef19a 100644
--- a/keyboards/janus/keyboard.json
+++ b/keyboards/janus/keyboard.json
@@ -19,7 +19,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/jaykeeb/aumz_work/info.json b/keyboards/jaykeeb/aumz_work/info.json
index 7ca2eb32b8..2b85958486 100644
--- a/keyboards/jaykeeb/aumz_work/info.json
+++ b/keyboards/jaykeeb/aumz_work/info.json
@@ -3,12 +3,10 @@
"maintainer": "Alabahuy",
"processor": "RP2040",
"bootloader": "rp2040",
- "url": "",
"diode_direction": "COL2ROW",
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/jaykeeb/jk60/keyboard.json b/keyboards/jaykeeb/jk60/keyboard.json
index 3899d90699..7d0aff2dfd 100644
--- a/keyboards/jaykeeb/jk60/keyboard.json
+++ b/keyboards/jaykeeb/jk60/keyboard.json
@@ -7,7 +7,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
@@ -21,7 +20,6 @@
"on_state": 0
},
"processor": "RP2040",
- "url": "",
"usb": {
"device_version": "1.0.0",
"pid": "0x7760",
diff --git a/keyboards/jaykeeb/jk60rgb/keyboard.json b/keyboards/jaykeeb/jk60rgb/keyboard.json
index fd6876d563..1bcbbf0561 100644
--- a/keyboards/jaykeeb/jk60rgb/keyboard.json
+++ b/keyboards/jaykeeb/jk60rgb/keyboard.json
@@ -7,7 +7,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
@@ -154,7 +153,6 @@
]
},
"processor": "RP2040",
- "url": "",
"usb": {
"device_version": "1.0.0",
"pid": "0x7762",
diff --git a/keyboards/jaykeeb/jk65/keyboard.json b/keyboards/jaykeeb/jk65/keyboard.json
index 0be07caacd..484e449b26 100644
--- a/keyboards/jaykeeb/jk65/keyboard.json
+++ b/keyboards/jaykeeb/jk65/keyboard.json
@@ -7,7 +7,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
@@ -21,7 +20,6 @@
"on_state": 0
},
"processor": "RP2040",
- "url": "",
"usb": {
"device_version": "1.0.0",
"pid": "0x7765",
diff --git a/keyboards/jaykeeb/joker/keyboard.json b/keyboards/jaykeeb/joker/keyboard.json
index ed8b59d03f..82df51cbbf 100644
--- a/keyboards/jaykeeb/joker/keyboard.json
+++ b/keyboards/jaykeeb/joker/keyboard.json
@@ -7,7 +7,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
@@ -23,7 +22,6 @@
"on_state": 0
},
"processor": "RP2040",
- "url": "",
"usb": {
"device_version": "1.0.0",
"pid": "0x0795",
diff --git a/keyboards/jaykeeb/kamigakushi/keyboard.json b/keyboards/jaykeeb/kamigakushi/keyboard.json
index 7ab02d2c66..b901171310 100644
--- a/keyboards/jaykeeb/kamigakushi/keyboard.json
+++ b/keyboards/jaykeeb/kamigakushi/keyboard.json
@@ -7,7 +7,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
@@ -19,10 +18,8 @@
},
"rgblight": {
"led_count": 2,
- "hue_steps": 8,
"saturation_steps": 8,
"brightness_steps": 8,
- "max_brightness": 255,
"animations": {
"alternating": true,
"breathing": true,
@@ -45,7 +42,6 @@
"rows": ["GP24", "GP29", "GP6", "GP15", "GP16"]
},
"processor": "RP2040",
- "url": "",
"usb": {
"device_version": "1.0.0",
"pid": "0x0765",
diff --git a/keyboards/jaykeeb/orba/keyboard.json b/keyboards/jaykeeb/orba/keyboard.json
index b437667b14..4af3d6a9c2 100644
--- a/keyboards/jaykeeb/orba/keyboard.json
+++ b/keyboards/jaykeeb/orba/keyboard.json
@@ -7,7 +7,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
@@ -17,7 +16,6 @@
"rows": ["GP11", "GP10", "GP18", "GP19", "GP0" ]
},
"processor": "RP2040",
- "url": "",
"usb": {
"device_version": "1.0.0",
"pid": "0x0769",
diff --git a/keyboards/jaykeeb/sebelas/keyboard.json b/keyboards/jaykeeb/sebelas/keyboard.json
index e88607703e..d07889fc4f 100644
--- a/keyboards/jaykeeb/sebelas/keyboard.json
+++ b/keyboards/jaykeeb/sebelas/keyboard.json
@@ -7,7 +7,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
@@ -41,7 +40,6 @@
}
},
"processor": "RP2040",
- "url": "",
"usb": {
"device_version": "1.0.0",
"pid": "0x0767",
diff --git a/keyboards/jaykeeb/skyline/keyboard.json b/keyboards/jaykeeb/skyline/keyboard.json
index 068c11a874..c81c37acab 100644
--- a/keyboards/jaykeeb/skyline/keyboard.json
+++ b/keyboards/jaykeeb/skyline/keyboard.json
@@ -7,7 +7,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
@@ -22,7 +21,6 @@
"rows": ["GP13", "GP27", "GP26", "GP25", "GP22", "GP23"]
},
"processor": "RP2040",
- "url": "",
"usb": {
"device_version": "1.0.0",
"pid": "0x0799",
diff --git a/keyboards/jaykeeb/sriwedari70/keyboard.json b/keyboards/jaykeeb/sriwedari70/keyboard.json
index c9569a9724..a1a548901e 100644
--- a/keyboards/jaykeeb/sriwedari70/keyboard.json
+++ b/keyboards/jaykeeb/sriwedari70/keyboard.json
@@ -7,7 +7,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
@@ -30,10 +29,8 @@
},
"rgblight": {
"led_count": 8,
- "hue_steps": 8,
"saturation_steps": 8,
"brightness_steps": 8,
- "max_brightness": 255,
"animations": {
"alternating": true,
"breathing": true,
diff --git a/keyboards/jaykeeb/tokki/keyboard.json b/keyboards/jaykeeb/tokki/keyboard.json
index 0ab1150017..48a046e784 100644
--- a/keyboards/jaykeeb/tokki/keyboard.json
+++ b/keyboards/jaykeeb/tokki/keyboard.json
@@ -7,7 +7,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
@@ -41,7 +40,6 @@
}
},
"processor": "RP2040",
- "url": "",
"usb": {
"device_version": "1.0.0",
"pid": "0x0768",
diff --git a/keyboards/jc65/v32a/keyboard.json b/keyboards/jc65/v32a/keyboard.json
index 7fd13e0626..cfdbec8663 100644
--- a/keyboards/jc65/v32a/keyboard.json
+++ b/keyboards/jc65/v32a/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "JC65 BMC",
"manufacturer": "RAMA",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0x1234",
@@ -12,7 +11,6 @@
"backlight": true,
"bootmagic": true,
"command": true,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": false,
diff --git a/keyboards/jc65/v32u4/keyboard.json b/keyboards/jc65/v32u4/keyboard.json
index 6a8d923507..4f681f2d1b 100644
--- a/keyboards/jc65/v32u4/keyboard.json
+++ b/keyboards/jc65/v32u4/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "JC65",
"manufacturer": "dou",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0xFEED",
@@ -12,7 +11,6 @@
"backlight": true,
"bootmagic": false,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/jd40/keyboard.json b/keyboards/jd40/keyboard.json
index f56602b215..22badb3508 100644
--- a/keyboards/jd40/keyboard.json
+++ b/keyboards/jd40/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "jd40",
"manufacturer": "geekhack",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0xFEED",
@@ -31,7 +30,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/jd45/keyboard.json b/keyboards/jd45/keyboard.json
index 6c103ec6dd..559c5f1d26 100644
--- a/keyboards/jd45/keyboard.json
+++ b/keyboards/jd45/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "JD45",
"manufacturer": "geekhack",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0xFEED",
diff --git a/keyboards/jels/boaty/keyboard.json b/keyboards/jels/boaty/keyboard.json
index 36fa9288ab..3e02a2d9ce 100644
--- a/keyboards/jels/boaty/keyboard.json
+++ b/keyboards/jels/boaty/keyboard.json
@@ -6,7 +6,6 @@
"pid": "0x000B",
"device_version": "1.0.0"
},
- "url": "",
"maintainer": "Jels",
"processor": "atmega328p",
"bootloader": "usbasploader",
@@ -15,7 +14,6 @@
"nkro": false,
"mousekey": false,
"extrakey": true,
- "console": false,
"command": false
},
"qmk": {
diff --git a/keyboards/jels/jels60/info.json b/keyboards/jels/jels60/info.json
index 7194542d48..8f3e05e581 100644
--- a/keyboards/jels/jels60/info.json
+++ b/keyboards/jels/jels60/info.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Jels60",
"manufacturer": "Jels",
- "url": "",
"maintainer": "Jels",
"usb": {
"vid": "0x006A",
diff --git a/keyboards/jels/jels60/v1/keyboard.json b/keyboards/jels/jels60/v1/keyboard.json
index 1f7b45adef..87a7667b3d 100644
--- a/keyboards/jels/jels60/v1/keyboard.json
+++ b/keyboards/jels/jels60/v1/keyboard.json
@@ -10,7 +10,6 @@
"bootmagic": true,
"mousekey": true,
"extrakey": true,
- "console": false,
"command": false,
"nkro": false
},
diff --git a/keyboards/jels/jels60/v2/keyboard.json b/keyboards/jels/jels60/v2/keyboard.json
index 4ab87eff49..9d8de45cb9 100644
--- a/keyboards/jels/jels60/v2/keyboard.json
+++ b/keyboards/jels/jels60/v2/keyboard.json
@@ -5,7 +5,6 @@
"bootmagic": true,
"mousekey": true,
"extrakey": true,
- "console": false,
"command": false,
"nkro": false
},
diff --git a/keyboards/jels/jels88/keyboard.json b/keyboards/jels/jels88/keyboard.json
index e4d2c6e273..aa71b5692d 100644
--- a/keyboards/jels/jels88/keyboard.json
+++ b/keyboards/jels/jels88/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Jels88",
"manufacturer": "Jels",
- "url": "",
"maintainer": "Jels",
"usb": {
"vid": "0x006A",
@@ -11,7 +10,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/jian/keymaps/advanced/keymap.c b/keyboards/jian/keymaps/advanced/keymap.c
index eaf57cdd78..e3e58a0e9f 100644
--- a/keyboards/jian/keymaps/advanced/keymap.c
+++ b/keyboards/jian/keymaps/advanced/keymap.c
@@ -472,9 +472,9 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
if (!eeconfig_is_enabled()) {
eeconfig_init();
}
- keymap_config.raw = eeconfig_read_keymap();
+ eeconfig_read_keymap(&keymap_config);
keymap_config.nkro = 1;
- eeconfig_update_keymap(keymap_config.raw);
+ eeconfig_update_keymap(&keymap_config);
}
return false;
case EXT_PLV:
diff --git a/keyboards/jkdlab/binary_monkey/keyboard.json b/keyboards/jkdlab/binary_monkey/keyboard.json
index c1aad15cb4..43ba02e3d5 100644
--- a/keyboards/jkdlab/binary_monkey/keyboard.json
+++ b/keyboards/jkdlab/binary_monkey/keyboard.json
@@ -12,7 +12,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": false
diff --git a/keyboards/jkeys_design/gentleman65/keyboard.json b/keyboards/jkeys_design/gentleman65/keyboard.json
index 150cf4d351..5f4019a5aa 100644
--- a/keyboards/jkeys_design/gentleman65/keyboard.json
+++ b/keyboards/jkeys_design/gentleman65/keyboard.json
@@ -29,7 +29,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"encoder": true,
"extrakey": true,
"mousekey": true,
diff --git a/keyboards/jkeys_design/gentleman65_se_s/keyboard.json b/keyboards/jkeys_design/gentleman65_se_s/keyboard.json
index cd4570a765..7b1d10ce43 100644
--- a/keyboards/jkeys_design/gentleman65_se_s/keyboard.json
+++ b/keyboards/jkeys_design/gentleman65_se_s/keyboard.json
@@ -29,7 +29,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"encoder": true,
"extrakey": true,
"mousekey": true,
diff --git a/keyboards/jolofsor/denial75/keyboard.json b/keyboards/jolofsor/denial75/keyboard.json
index df7c3157c9..f2e8216c21 100644
--- a/keyboards/jolofsor/denial75/keyboard.json
+++ b/keyboards/jolofsor/denial75/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "denial75",
"manufacturer": "jsor-hpoli",
- "url": "",
"maintainer": "jolofsor",
"usb": {
"vid": "0x4A48",
@@ -11,7 +10,6 @@
"features": {
"bootmagic": false,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": true,
diff --git a/keyboards/joshajohnson/hub20/keyboard.json b/keyboards/joshajohnson/hub20/keyboard.json
index 44a3361838..d374e2f404 100644
--- a/keyboards/joshajohnson/hub20/keyboard.json
+++ b/keyboards/joshajohnson/hub20/keyboard.json
@@ -33,7 +33,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"encoder": true,
"extrakey": true,
"mousekey": true,
diff --git a/keyboards/jukaie/jk01/keyboard.json b/keyboards/jukaie/jk01/keyboard.json
index cde0b38034..452d9bf5fa 100644
--- a/keyboards/jukaie/jk01/keyboard.json
+++ b/keyboards/jukaie/jk01/keyboard.json
@@ -22,7 +22,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"encoder": true,
"extrakey": true,
"mousekey": true,
@@ -181,7 +180,6 @@
],
"sleep": true
},
- "url": "",
"usb": {
"device_version": "0.0.2",
"pid": "0x0002",
diff --git a/keyboards/k34/keyboard.json b/keyboards/k34/keyboard.json
index b9a69fb667..205382cff6 100644
--- a/keyboards/k34/keyboard.json
+++ b/keyboards/k34/keyboard.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": false
diff --git a/keyboards/kabedon/kabedon78s/keyboard.json b/keyboards/kabedon/kabedon78s/keyboard.json
index b875f9b35a..dc3ea77791 100644
--- a/keyboards/kabedon/kabedon78s/keyboard.json
+++ b/keyboards/kabedon/kabedon78s/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "78S",
"manufacturer": "Kabe_Don",
- "url": "",
"maintainer": "370490639",
"usb": {
"vid": "0x4B44",
@@ -31,7 +30,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false,
diff --git a/keyboards/kabedon/kabedon980/keyboard.json b/keyboards/kabedon/kabedon980/keyboard.json
index b8e100ceac..4209a04fd0 100644
--- a/keyboards/kabedon/kabedon980/keyboard.json
+++ b/keyboards/kabedon/kabedon980/keyboard.json
@@ -35,7 +35,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false,
diff --git a/keyboards/kabedon/kabedon98e/keyboard.json b/keyboards/kabedon/kabedon98e/keyboard.json
index beff70d5d9..3684248ddd 100644
--- a/keyboards/kabedon/kabedon98e/keyboard.json
+++ b/keyboards/kabedon/kabedon98e/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "98e",
"manufacturer": "Kabe_Don",
- "url": "",
"maintainer": "370490639",
"usb": {
"vid": "0x4B44",
@@ -31,7 +30,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"encoder": true,
"extrakey": true,
"mousekey": true,
diff --git a/keyboards/kagizaraya/chidori/keyboard.json b/keyboards/kagizaraya/chidori/keyboard.json
index 2f9066149d..0187d55eec 100644
--- a/keyboards/kagizaraya/chidori/keyboard.json
+++ b/keyboards/kagizaraya/chidori/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Chidori",
"manufacturer": "Kagizaraya",
- "url": "",
"maintainer": "ka2hiro",
"usb": {
"vid": "0xFEED",
diff --git a/keyboards/kagizaraya/halberd/keyboard.json b/keyboards/kagizaraya/halberd/keyboard.json
index c8c5b5e214..bf30654d08 100644
--- a/keyboards/kagizaraya/halberd/keyboard.json
+++ b/keyboards/kagizaraya/halberd/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Halberd",
"manufacturer": "Kagizaraya",
- "url": "",
"maintainer": "ka2hiro",
"usb": {
"vid": "0xFEED",
@@ -34,7 +33,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": false,
diff --git a/keyboards/kagizaraya/miniaxe/keyboard.json b/keyboards/kagizaraya/miniaxe/keyboard.json
index b2e3b14d0e..e568cf6eff 100644
--- a/keyboards/kagizaraya/miniaxe/keyboard.json
+++ b/keyboards/kagizaraya/miniaxe/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "MiniAxe",
"manufacturer": "ENDO Katsuhiro",
- "url": "",
"maintainer": "ka2hiro",
"usb": {
"vid": "0xFEED",
@@ -39,7 +38,6 @@
"features": {
"bootmagic": false,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": false
diff --git a/keyboards/kagizaraya/scythe/keyboard.json b/keyboards/kagizaraya/scythe/keyboard.json
index ed1bd99f66..eddb54315d 100644
--- a/keyboards/kagizaraya/scythe/keyboard.json
+++ b/keyboards/kagizaraya/scythe/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Scythe",
"manufacturer": "Kagizaraya",
- "url": "",
"maintainer": "ka2hiro",
"usb": {
"vid": "0xFEED",
diff --git a/keyboards/kakunpc/business_card/alpha/keyboard.json b/keyboards/kakunpc/business_card/alpha/keyboard.json
index 17c42ebb31..c357ae3a00 100644
--- a/keyboards/kakunpc/business_card/alpha/keyboard.json
+++ b/keyboards/kakunpc/business_card/alpha/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "business_card alpha",
"manufacturer": "kakunpc",
- "url": "",
"maintainer": "kakunpc",
"usb": {
"vid": "0xFEED",
diff --git a/keyboards/kakunpc/business_card/beta/keyboard.json b/keyboards/kakunpc/business_card/beta/keyboard.json
index 5b6a77f358..0e8fda9f58 100644
--- a/keyboards/kakunpc/business_card/beta/keyboard.json
+++ b/keyboards/kakunpc/business_card/beta/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "business_card beta",
"manufacturer": "kakunpc",
- "url": "",
"maintainer": "kakunpc",
"usb": {
"vid": "0xFEED",
diff --git a/keyboards/kakunpc/rabbit_capture_plan/keyboard.json b/keyboards/kakunpc/rabbit_capture_plan/keyboard.json
index 8bf5d708c9..de6adc8529 100644
--- a/keyboards/kakunpc/rabbit_capture_plan/keyboard.json
+++ b/keyboards/kakunpc/rabbit_capture_plan/keyboard.json
@@ -34,7 +34,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false,
diff --git a/keyboards/kalakos/bahrnob/keyboard.json b/keyboards/kalakos/bahrnob/keyboard.json
index 2e127e555a..a3a559b8ce 100644
--- a/keyboards/kalakos/bahrnob/keyboard.json
+++ b/keyboards/kalakos/bahrnob/keyboard.json
@@ -18,7 +18,6 @@
"bootmagic": true,
"mousekey": true,
"extrakey": true,
- "console": false,
"command": false,
"nkro": true,
"encoder": true
diff --git a/keyboards/kaly/kaly42/keyboard.json b/keyboards/kaly/kaly42/keyboard.json
index 3115d051df..15a4fc6b5b 100644
--- a/keyboards/kaly/kaly42/keyboard.json
+++ b/keyboards/kaly/kaly42/keyboard.json
@@ -6,7 +6,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/kapcave/arya/keyboard.json b/keyboards/kapcave/arya/keyboard.json
index 986e9eec8b..a3893b44b2 100644
--- a/keyboards/kapcave/arya/keyboard.json
+++ b/keyboards/kapcave/arya/keyboard.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"encoder": true,
"extrakey": true,
"mousekey": false,
diff --git a/keyboards/kapcave/paladinpad/info.json b/keyboards/kapcave/paladinpad/info.json
index 1a639180d0..678f094524 100644
--- a/keyboards/kapcave/paladinpad/info.json
+++ b/keyboards/kapcave/paladinpad/info.json
@@ -6,7 +6,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": true,
diff --git a/keyboards/karn/keyboard.json b/keyboards/karn/keyboard.json
index 1ddd8e5a98..1c2c3a4301 100644
--- a/keyboards/karn/keyboard.json
+++ b/keyboards/karn/keyboard.json
@@ -5,7 +5,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/kb_elmo/67mk_e/keyboard.json b/keyboards/kb_elmo/67mk_e/keyboard.json
index 4e842f28e6..a2c747d61f 100644
--- a/keyboards/kb_elmo/67mk_e/keyboard.json
+++ b/keyboards/kb_elmo/67mk_e/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "67mk_E",
"manufacturer": "kb_elmo",
- "url": "",
"maintainer": "kb-elmo",
"usb": {
"vid": "0xA68C",
@@ -11,7 +10,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": false
diff --git a/keyboards/kb_elmo/isolation/keyboard.json b/keyboards/kb_elmo/isolation/keyboard.json
index e7a40a55e6..1152675912 100644
--- a/keyboards/kb_elmo/isolation/keyboard.json
+++ b/keyboards/kb_elmo/isolation/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "ISOlation",
"manufacturer": "kb-elmo",
- "url": "",
"maintainer": "kb-elmo",
"usb": {
"vid": "0xA68C",
diff --git a/keyboards/kb_elmo/noah_avr/keyboard.json b/keyboards/kb_elmo/noah_avr/keyboard.json
index 48cbb6e5e2..918adbdd37 100644
--- a/keyboards/kb_elmo/noah_avr/keyboard.json
+++ b/keyboards/kb_elmo/noah_avr/keyboard.json
@@ -30,7 +30,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false,
diff --git a/keyboards/kb_elmo/qez/keyboard.json b/keyboards/kb_elmo/qez/keyboard.json
index ab1f823043..cefc2e1b51 100644
--- a/keyboards/kb_elmo/qez/keyboard.json
+++ b/keyboards/kb_elmo/qez/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "QEZ",
"manufacturer": "kb_elmo",
- "url": "",
"maintainer": "kb-elmo<[email protected]>",
"usb": {
"vid": "0xA68C",
@@ -11,7 +10,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": false
diff --git a/keyboards/kb_elmo/vertex/keyboard.json b/keyboards/kb_elmo/vertex/keyboard.json
index 5585386296..b3562e9315 100644
--- a/keyboards/kb_elmo/vertex/keyboard.json
+++ b/keyboards/kb_elmo/vertex/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Vertex",
"manufacturer": "kb_elmo",
- "url": "",
"maintainer": "kb-elmo",
"usb": {
"vid": "0xA68C",
@@ -11,7 +10,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false
diff --git a/keyboards/kbdcraft/adam64/keyboard.json b/keyboards/kbdcraft/adam64/keyboard.json
index d7a96fa577..19e22c37cc 100644
--- a/keyboards/kbdcraft/adam64/keyboard.json
+++ b/keyboards/kbdcraft/adam64/keyboard.json
@@ -20,7 +20,6 @@
"mousekey": true,
"extrakey": true,
"nkro": true,
- "console": false,
"command": false,
"rgb_matrix": true
},
diff --git a/keyboards/kbdfans/baguette66/rgb/keyboard.json b/keyboards/kbdfans/baguette66/rgb/keyboard.json
index 61579473cd..1ca4fefb4b 100644
--- a/keyboards/kbdfans/baguette66/rgb/keyboard.json
+++ b/keyboards/kbdfans/baguette66/rgb/keyboard.json
@@ -67,7 +67,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": true,
diff --git a/keyboards/kbdfans/baguette66/soldered/keyboard.json b/keyboards/kbdfans/baguette66/soldered/keyboard.json
index f9c87dad06..45b744cd66 100644
--- a/keyboards/kbdfans/baguette66/soldered/keyboard.json
+++ b/keyboards/kbdfans/baguette66/soldered/keyboard.json
@@ -10,7 +10,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": true
diff --git a/keyboards/kbdfans/bella/rgb/keyboard.json b/keyboards/kbdfans/bella/rgb/keyboard.json
index 50310e3667..2ca18d2851 100644
--- a/keyboards/kbdfans/bella/rgb/keyboard.json
+++ b/keyboards/kbdfans/bella/rgb/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Bella RGB ANSI",
"manufacturer": "KBDfans",
- "url": "",
"maintainer": "moyi4681",
"usb": {
"vid": "0x4B42",
diff --git a/keyboards/kbdfans/bella/rgb_iso/keyboard.json b/keyboards/kbdfans/bella/rgb_iso/keyboard.json
index 20b00283ed..c7dd6423b5 100644
--- a/keyboards/kbdfans/bella/rgb_iso/keyboard.json
+++ b/keyboards/kbdfans/bella/rgb_iso/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Bella RGB ISO",
"manufacturer": "KBDfans",
- "url": "",
"maintainer": "moyi4681",
"usb": {
"vid": "0x4B42",
diff --git a/keyboards/kbdfans/bella/soldered/keyboard.json b/keyboards/kbdfans/bella/soldered/keyboard.json
index aa5d915980..cbecfa6056 100644
--- a/keyboards/kbdfans/bella/soldered/keyboard.json
+++ b/keyboards/kbdfans/bella/soldered/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Bella Soldered",
"manufacturer": "KBDfans",
- "url": "",
"maintainer": "kbdfans",
"usb": {
"vid": "0x4B42",
@@ -12,7 +11,6 @@
"backlight": true,
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/kbdfans/boop65/rgb/keyboard.json b/keyboards/kbdfans/boop65/rgb/keyboard.json
index 49fa78b315..5fd5585844 100644
--- a/keyboards/kbdfans/boop65/rgb/keyboard.json
+++ b/keyboards/kbdfans/boop65/rgb/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Boop65 RGB",
"manufacturer": "KBDfans",
- "url": "",
"maintainer": "moyi4681",
"usb": {
"vid": "0x4B42",
@@ -65,7 +64,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": true,
diff --git a/keyboards/kbdfans/bounce/75/hotswap/keyboard.json b/keyboards/kbdfans/bounce/75/hotswap/keyboard.json
index 478b4bc372..592ba0de52 100644
--- a/keyboards/kbdfans/bounce/75/hotswap/keyboard.json
+++ b/keyboards/kbdfans/bounce/75/hotswap/keyboard.json
@@ -10,7 +10,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/kbdfans/bounce/75/soldered/keyboard.json b/keyboards/kbdfans/bounce/75/soldered/keyboard.json
index e1610872e1..c82833d700 100644
--- a/keyboards/kbdfans/bounce/75/soldered/keyboard.json
+++ b/keyboards/kbdfans/bounce/75/soldered/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Bounce75 Soldered",
"manufacturer": "KBDfans",
- "url": "",
"maintainer": "moyi4681",
"usb": {
"vid": "0x4B42",
@@ -11,7 +10,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/kbdfans/bounce/pad/keyboard.json b/keyboards/kbdfans/bounce/pad/keyboard.json
index d95010954b..96a5214551 100644
--- a/keyboards/kbdfans/bounce/pad/keyboard.json
+++ b/keyboards/kbdfans/bounce/pad/keyboard.json
@@ -10,7 +10,6 @@
"features": {
"bootmagic": true,
"command": true,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/kbdfans/d45/v2/keyboard.json b/keyboards/kbdfans/d45/v2/keyboard.json
index 6eadfa0860..95211e097b 100644
--- a/keyboards/kbdfans/d45/v2/keyboard.json
+++ b/keyboards/kbdfans/d45/v2/keyboard.json
@@ -7,7 +7,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/kbdfans/epoch80/keyboard.json b/keyboards/kbdfans/epoch80/keyboard.json
index 08ed973b92..6e7ce41653 100644
--- a/keyboards/kbdfans/epoch80/keyboard.json
+++ b/keyboards/kbdfans/epoch80/keyboard.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": false
diff --git a/keyboards/kbdfans/jm60/keyboard.json b/keyboards/kbdfans/jm60/keyboard.json
index ffa205daa0..6bc60c308c 100644
--- a/keyboards/kbdfans/jm60/keyboard.json
+++ b/keyboards/kbdfans/jm60/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "JM60",
"manufacturer": "JMWS",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0xFEED",
diff --git a/keyboards/kbdfans/kbd19x/keyboard.json b/keyboards/kbdfans/kbd19x/keyboard.json
index 080cf82d80..cd57436a11 100644
--- a/keyboards/kbdfans/kbd19x/keyboard.json
+++ b/keyboards/kbdfans/kbd19x/keyboard.json
@@ -12,7 +12,6 @@
"backlight": true,
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/kbdfans/kbd4x/keyboard.json b/keyboards/kbdfans/kbd4x/keyboard.json
index 77abf71f28..1f3d5ce25e 100644
--- a/keyboards/kbdfans/kbd4x/keyboard.json
+++ b/keyboards/kbdfans/kbd4x/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "KBD4x",
"manufacturer": "KBDfans",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0xFEED",
diff --git a/keyboards/kbdfans/kbd66/keyboard.json b/keyboards/kbdfans/kbd66/keyboard.json
index 2b614442a0..57cbab49fd 100644
--- a/keyboards/kbdfans/kbd66/keyboard.json
+++ b/keyboards/kbdfans/kbd66/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "KBD66",
"manufacturer": "KBDfans",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0xFEED",
diff --git a/keyboards/kbdfans/kbd67/hotswap/keyboard.json b/keyboards/kbdfans/kbd67/hotswap/keyboard.json
index fb0c165d14..4620d06a16 100644
--- a/keyboards/kbdfans/kbd67/hotswap/keyboard.json
+++ b/keyboards/kbdfans/kbd67/hotswap/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "KBD67 Hotswap",
"manufacturer": "KBDFans",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0x4B42",
diff --git a/keyboards/kbdfans/kbd67/mkii_soldered/keyboard.json b/keyboards/kbdfans/kbd67/mkii_soldered/keyboard.json
index 397f525f7a..06f9238483 100644
--- a/keyboards/kbdfans/kbd67/mkii_soldered/keyboard.json
+++ b/keyboards/kbdfans/kbd67/mkii_soldered/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "KBD67-MKII Soldered",
"manufacturer": "KBDfans",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0xA103",
@@ -12,7 +11,6 @@
"backlight": true,
"bootmagic": true,
"command": true,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/kbdfans/kbd67/mkiirgb/info.json b/keyboards/kbdfans/kbd67/mkiirgb/info.json
index 683503b4ee..1371370357 100644
--- a/keyboards/kbdfans/kbd67/mkiirgb/info.json
+++ b/keyboards/kbdfans/kbd67/mkiirgb/info.json
@@ -1,6 +1,5 @@
{
"manufacturer": "KBDfans",
- "url": "",
"maintainer": "moyi4681",
"usb": {
"vid": "0x4B42"
diff --git a/keyboards/kbdfans/kbd67/mkiirgb/v1/keyboard.json b/keyboards/kbdfans/kbd67/mkiirgb/v1/keyboard.json
index a90fd8b26b..e2efb6287b 100644
--- a/keyboards/kbdfans/kbd67/mkiirgb/v1/keyboard.json
+++ b/keyboards/kbdfans/kbd67/mkiirgb/v1/keyboard.json
@@ -45,7 +45,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/kbdfans/kbd67/mkiirgb/v2/keyboard.json b/keyboards/kbdfans/kbd67/mkiirgb/v2/keyboard.json
index 561c4df2ac..b43d634404 100644
--- a/keyboards/kbdfans/kbd67/mkiirgb/v2/keyboard.json
+++ b/keyboards/kbdfans/kbd67/mkiirgb/v2/keyboard.json
@@ -42,7 +42,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/kbdfans/kbd67/mkiirgb/v4/keyboard.json b/keyboards/kbdfans/kbd67/mkiirgb/v4/keyboard.json
index 79853d2d0f..719d5d3d83 100644
--- a/keyboards/kbdfans/kbd67/mkiirgb/v4/keyboard.json
+++ b/keyboards/kbdfans/kbd67/mkiirgb/v4/keyboard.json
@@ -61,7 +61,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": true,
diff --git a/keyboards/kbdfans/kbd67/mkiirgb_iso/keyboard.json b/keyboards/kbdfans/kbd67/mkiirgb_iso/keyboard.json
index b8e9fdaf1c..5000f8fb0a 100644
--- a/keyboards/kbdfans/kbd67/mkiirgb_iso/keyboard.json
+++ b/keyboards/kbdfans/kbd67/mkiirgb_iso/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "KBD67MKIIRGB ISO",
"manufacturer": "KBDfans",
- "url": "",
"maintainer": "moyi4681",
"usb": {
"vid": "0x4B42",
diff --git a/keyboards/kbdfans/kbd67/rev1/keyboard.json b/keyboards/kbdfans/kbd67/rev1/keyboard.json
index ba91317906..04f88cecd2 100644
--- a/keyboards/kbdfans/kbd67/rev1/keyboard.json
+++ b/keyboards/kbdfans/kbd67/rev1/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "KBD67 Rev1",
"manufacturer": "KBDfans",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0x4B42",
diff --git a/keyboards/kbdfans/kbd67/rev2/keyboard.json b/keyboards/kbdfans/kbd67/rev2/keyboard.json
index 1e9d87ba0d..118da461b6 100644
--- a/keyboards/kbdfans/kbd67/rev2/keyboard.json
+++ b/keyboards/kbdfans/kbd67/rev2/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "KBD67 Rev2",
"manufacturer": "KBDfans",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0x4B42",
@@ -12,7 +11,6 @@
"backlight": true,
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/kbdfans/kbd6x/keyboard.json b/keyboards/kbdfans/kbd6x/keyboard.json
index c2b9f28b63..e603cb64ff 100644
--- a/keyboards/kbdfans/kbd6x/keyboard.json
+++ b/keyboards/kbdfans/kbd6x/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "KBD6X",
"manufacturer": "KBDfans",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0x4B42",
diff --git a/keyboards/kbdfans/kbd75/rev1/keyboard.json b/keyboards/kbdfans/kbd75/rev1/keyboard.json
index 01429c8ebb..900e5dbd78 100644
--- a/keyboards/kbdfans/kbd75/rev1/keyboard.json
+++ b/keyboards/kbdfans/kbd75/rev1/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "KBD75 rev1",
"manufacturer": "KBDfans",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0x4B42",
diff --git a/keyboards/kbdfans/kbd75/rev2/keyboard.json b/keyboards/kbdfans/kbd75/rev2/keyboard.json
index 322eba661a..e0f862d40f 100644
--- a/keyboards/kbdfans/kbd75/rev2/keyboard.json
+++ b/keyboards/kbdfans/kbd75/rev2/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "KBD75 rev2",
"manufacturer": "KBDfans",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0x4B42",
diff --git a/keyboards/kbdfans/kbd75hs/keyboard.json b/keyboards/kbdfans/kbd75hs/keyboard.json
index 3545f2357d..dca52de53d 100644
--- a/keyboards/kbdfans/kbd75hs/keyboard.json
+++ b/keyboards/kbdfans/kbd75hs/keyboard.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/kbdfans/kbd75rgb/keyboard.json b/keyboards/kbdfans/kbd75rgb/keyboard.json
index 9a5f7a6908..1076626ec7 100644
--- a/keyboards/kbdfans/kbd75rgb/keyboard.json
+++ b/keyboards/kbdfans/kbd75rgb/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "KBD75RGB",
"manufacturer": "KBDfans",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0x4B42",
@@ -71,7 +70,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": true,
diff --git a/keyboards/kbdfans/kbd8x/keyboard.json b/keyboards/kbdfans/kbd8x/keyboard.json
index fe0106165d..3e6aa88d4d 100644
--- a/keyboards/kbdfans/kbd8x/keyboard.json
+++ b/keyboards/kbdfans/kbd8x/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "KBD8X",
"manufacturer": "KBDfans",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0xFEED",
@@ -12,7 +11,6 @@
"backlight": true,
"bootmagic": false,
"command": true,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": true,
diff --git a/keyboards/kbdfans/kbd8x_mk2/keyboard.json b/keyboards/kbdfans/kbd8x_mk2/keyboard.json
index b5d1ee6a25..ff566fd864 100644
--- a/keyboards/kbdfans/kbd8x_mk2/keyboard.json
+++ b/keyboards/kbdfans/kbd8x_mk2/keyboard.json
@@ -12,7 +12,6 @@
"backlight": true,
"bootmagic": true,
"command": true,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/kbdfans/kbdmini/keyboard.json b/keyboards/kbdfans/kbdmini/keyboard.json
index 8f2dade705..3cc5a73d17 100644
--- a/keyboards/kbdfans/kbdmini/keyboard.json
+++ b/keyboards/kbdfans/kbdmini/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "KBDMINI",
"manufacturer": "DZTECH",
- "url": "",
"maintainer": "KBDFans",
"usb": {
"vid": "0xFEED",
@@ -43,7 +42,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/kbdfans/kbdpad/mk1/keyboard.json b/keyboards/kbdfans/kbdpad/mk1/keyboard.json
index 10de0d0436..0fa231c303 100644
--- a/keyboards/kbdfans/kbdpad/mk1/keyboard.json
+++ b/keyboards/kbdfans/kbdpad/mk1/keyboard.json
@@ -12,7 +12,6 @@
"backlight": true,
"bootmagic": false,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false
diff --git a/keyboards/kbdfans/kbdpad/mk2/keyboard.json b/keyboards/kbdfans/kbdpad/mk2/keyboard.json
index c4af51f034..6c7dba1293 100644
--- a/keyboards/kbdfans/kbdpad/mk2/keyboard.json
+++ b/keyboards/kbdfans/kbdpad/mk2/keyboard.json
@@ -12,7 +12,6 @@
"backlight": true,
"bootmagic": true,
"command": true,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/kbdfans/kbdpad/mk3/keyboard.json b/keyboards/kbdfans/kbdpad/mk3/keyboard.json
index 7c741f7633..726a8c7a08 100644
--- a/keyboards/kbdfans/kbdpad/mk3/keyboard.json
+++ b/keyboards/kbdfans/kbdpad/mk3/keyboard.json
@@ -7,7 +7,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/kbdfans/maja/keyboard.json b/keyboards/kbdfans/maja/keyboard.json
index c307f78637..91c8aec845 100644
--- a/keyboards/kbdfans/maja/keyboard.json
+++ b/keyboards/kbdfans/maja/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Maja",
"manufacturer": "KBDFans",
- "url": "",
"maintainer": "DZTECH",
"usb": {
"vid": "0x4B42",
@@ -48,7 +47,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/kbdfans/maja_soldered/keyboard.json b/keyboards/kbdfans/maja_soldered/keyboard.json
index f182ef97d1..5864cc445d 100644
--- a/keyboards/kbdfans/maja_soldered/keyboard.json
+++ b/keyboards/kbdfans/maja_soldered/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Maja Soldered",
"manufacturer": "KBDFans",
- "url": "",
"maintainer": "DZTECH",
"usb": {
"vid": "0x4B42",
@@ -12,7 +11,6 @@
"backlight": true,
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/kbdfans/niu_mini/keyboard.json b/keyboards/kbdfans/niu_mini/keyboard.json
index 4c7d6f6d50..766d63d366 100644
--- a/keyboards/kbdfans/niu_mini/keyboard.json
+++ b/keyboards/kbdfans/niu_mini/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "NIU Mini",
"manufacturer": "KBDFans",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0x6E6D",
diff --git a/keyboards/kbdfans/odin/rgb/keyboard.json b/keyboards/kbdfans/odin/rgb/keyboard.json
index 1777e2cdc0..aadd2cb29f 100644
--- a/keyboards/kbdfans/odin/rgb/keyboard.json
+++ b/keyboards/kbdfans/odin/rgb/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Odin RGB",
"manufacturer": "KBDFans",
- "url": "",
"maintainer": "moyi4681",
"usb": {
"vid": "0x4B42",
@@ -66,7 +65,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/kbdfans/odin/soldered/keyboard.json b/keyboards/kbdfans/odin/soldered/keyboard.json
index 42a8a0e056..60a5c0d3a3 100644
--- a/keyboards/kbdfans/odin/soldered/keyboard.json
+++ b/keyboards/kbdfans/odin/soldered/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Odin Soldered",
"manufacturer": "KBDFans",
- "url": "",
"maintainer": "moyi4681",
"usb": {
"vid": "0x4B42",
@@ -11,7 +10,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/kbdfans/odin/v2/keyboard.json b/keyboards/kbdfans/odin/v2/keyboard.json
index 595a5596fe..9136aae1e3 100644
--- a/keyboards/kbdfans/odin/v2/keyboard.json
+++ b/keyboards/kbdfans/odin/v2/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Odin V2",
"manufacturer": "KBDFans",
- "url": "",
"maintainer": "lexbrugman",
"usb": {
"vid": "0x4B42",
@@ -11,7 +10,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/kbdfans/odin75/keyboard.json b/keyboards/kbdfans/odin75/keyboard.json
index b6fb124c93..0fd942f515 100644
--- a/keyboards/kbdfans/odin75/keyboard.json
+++ b/keyboards/kbdfans/odin75/keyboard.json
@@ -7,7 +7,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/kbdfans/odinmini/keyboard.json b/keyboards/kbdfans/odinmini/keyboard.json
index a9cb1a798f..34002e83d8 100644
--- a/keyboards/kbdfans/odinmini/keyboard.json
+++ b/keyboards/kbdfans/odinmini/keyboard.json
@@ -35,7 +35,6 @@
"twinkle": true
},
"brightness_steps": 8,
- "hue_steps": 8,
"led_count": 4,
"max_brightness": 180,
"saturation_steps": 8,
diff --git a/keyboards/kbdfans/phaseone/keyboard.json b/keyboards/kbdfans/phaseone/keyboard.json
index fcc6bdc7b3..35ce8ab42a 100644
--- a/keyboards/kbdfans/phaseone/keyboard.json
+++ b/keyboards/kbdfans/phaseone/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Phase One",
"manufacturer": "KBDFans",
- "url": "",
"maintainer": "moyi4681",
"usb": {
"vid": "0x4B42",
@@ -11,7 +10,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": true,
diff --git a/keyboards/kbdfans/tiger80/keyboard.json b/keyboards/kbdfans/tiger80/keyboard.json
index 9761cb892d..ce6a83dd8f 100644
--- a/keyboards/kbdfans/tiger80/keyboard.json
+++ b/keyboards/kbdfans/tiger80/keyboard.json
@@ -6,7 +6,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
@@ -48,7 +47,6 @@
"ws2812": {
"pin": "B3"
},
- "url": "",
"usb": {
"device_version": "0.0.1",
"pid": "0x0011",
diff --git a/keyboards/kbnordic/nordic60/rev_a/keyboard.json b/keyboards/kbnordic/nordic60/rev_a/keyboard.json
index 0b1da369b3..711b0d5312 100644
--- a/keyboards/kbnordic/nordic60/rev_a/keyboard.json
+++ b/keyboards/kbnordic/nordic60/rev_a/keyboard.json
@@ -31,7 +31,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": false
diff --git a/keyboards/kbnordic/nordic65/rev_a/keyboard.json b/keyboards/kbnordic/nordic65/rev_a/keyboard.json
index 8cd90949ea..f636b0ca4e 100644
--- a/keyboards/kbnordic/nordic65/rev_a/keyboard.json
+++ b/keyboards/kbnordic/nordic65/rev_a/keyboard.json
@@ -13,7 +13,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"key_lock": true,
"mousekey": false,
diff --git a/keyboards/kc60/keyboard.json b/keyboards/kc60/keyboard.json
index fc21477163..f7ee4e785b 100644
--- a/keyboards/kc60/keyboard.json
+++ b/keyboards/kc60/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "KC60",
"manufacturer": "NPKC",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0x530A",
diff --git a/keyboards/kc60se/keyboard.json b/keyboards/kc60se/keyboard.json
index c8bdf24a4b..e265667f07 100644
--- a/keyboards/kc60se/keyboard.json
+++ b/keyboards/kc60se/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "kc60se",
"manufacturer": "Unknown",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0xFEED",
@@ -12,7 +11,6 @@
"backlight": true,
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": true
diff --git a/keyboards/keebformom/keyboard.json b/keyboards/keebformom/keyboard.json
index b1ffee0f3d..7fbaa5737f 100644
--- a/keyboards/keebformom/keyboard.json
+++ b/keyboards/keebformom/keyboard.json
@@ -1,6 +1,5 @@
{
"keyboard_name": "Keeb For Mom",
- "url": "",
"maintainer": "qmk",
"manufacturer": "nendezkombet/sandipratama",
"usb": {
diff --git a/keyboards/keebio/bfo9000/keyboard.json b/keyboards/keebio/bfo9000/keyboard.json
index 2dcc6076a0..08d9997d43 100644
--- a/keyboards/keebio/bfo9000/keyboard.json
+++ b/keyboards/keebio/bfo9000/keyboard.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": false,
"command": true,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false
diff --git a/keyboards/keebio/dilly/keyboard.json b/keyboards/keebio/dilly/keyboard.json
index 83bf1eac9d..cbd3be1b1c 100644
--- a/keyboards/keebio/dilly/keyboard.json
+++ b/keyboards/keebio/dilly/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Dilly",
"manufacturer": "Keebio",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0xCB10",
@@ -12,7 +11,6 @@
"backlight": true,
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/keebio/fourier/keyboard.json b/keyboards/keebio/fourier/keyboard.json
index 057598a259..ae4985787d 100644
--- a/keyboards/keebio/fourier/keyboard.json
+++ b/keyboards/keebio/fourier/keyboard.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": false,
"command": true,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": false,
diff --git a/keyboards/keebio/iris/rev5/keyboard.json b/keyboards/keebio/iris/rev5/keyboard.json
index 043ecdb95e..cfaeecfeb2 100644
--- a/keyboards/keebio/iris/rev5/keyboard.json
+++ b/keyboards/keebio/iris/rev5/keyboard.json
@@ -8,7 +8,6 @@
"backlight": true,
"bootmagic": false,
"command": false,
- "console": false,
"encoder": true,
"extrakey": true,
"mousekey": false,
diff --git a/keyboards/keebio/laplace/keyboard.json b/keyboards/keebio/laplace/keyboard.json
index 22cced0ee3..00609eaa12 100644
--- a/keyboards/keebio/laplace/keyboard.json
+++ b/keyboards/keebio/laplace/keyboard.json
@@ -29,7 +29,6 @@
"features": {
"bootmagic": false,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/keebio/nyquist/rev1/keyboard.json b/keyboards/keebio/nyquist/rev1/keyboard.json
index ef20252c53..f684332bdb 100644
--- a/keyboards/keebio/nyquist/rev1/keyboard.json
+++ b/keyboards/keebio/nyquist/rev1/keyboard.json
@@ -7,7 +7,6 @@
"features": {
"bootmagic": false,
"command": true,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false
diff --git a/keyboards/keebio/nyquist/rev2/keyboard.json b/keyboards/keebio/nyquist/rev2/keyboard.json
index d327d74599..627f0cd003 100644
--- a/keyboards/keebio/nyquist/rev2/keyboard.json
+++ b/keyboards/keebio/nyquist/rev2/keyboard.json
@@ -8,7 +8,6 @@
"backlight": true,
"bootmagic": false,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false,
diff --git a/keyboards/keebio/nyquist/rev3/keyboard.json b/keyboards/keebio/nyquist/rev3/keyboard.json
index f1aa1522f7..b67ad820b9 100644
--- a/keyboards/keebio/nyquist/rev3/keyboard.json
+++ b/keyboards/keebio/nyquist/rev3/keyboard.json
@@ -8,7 +8,6 @@
"backlight": true,
"bootmagic": false,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false,
diff --git a/keyboards/keebio/sinc/info.json b/keyboards/keebio/sinc/info.json
index aa1e08f39d..794eac6a24 100644
--- a/keyboards/keebio/sinc/info.json
+++ b/keyboards/keebio/sinc/info.json
@@ -8,7 +8,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": false
diff --git a/keyboards/keebio/stick/keyboard.json b/keyboards/keebio/stick/keyboard.json
index 2e2b3539ab..dbd5062f74 100644
--- a/keyboards/keebio/stick/keyboard.json
+++ b/keyboards/keebio/stick/keyboard.json
@@ -88,7 +88,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"encoder": true,
"extrakey": true,
"mousekey": true,
diff --git a/keyboards/keebio/tragicforce68/keyboard.json b/keyboards/keebio/tragicforce68/keyboard.json
index f2f27a7194..f82e1808fb 100644
--- a/keyboards/keebio/tragicforce68/keyboard.json
+++ b/keyboards/keebio/tragicforce68/keyboard.json
@@ -12,7 +12,6 @@
"backlight": true,
"bootmagic": false,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false
diff --git a/keyboards/keebio/wtf60/keyboard.json b/keyboards/keebio/wtf60/keyboard.json
index 2c14740eff..8947dac904 100644
--- a/keyboards/keebio/wtf60/keyboard.json
+++ b/keyboards/keebio/wtf60/keyboard.json
@@ -35,7 +35,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": false
diff --git a/keyboards/keebmonkey/kbmg68/keyboard.json b/keyboards/keebmonkey/kbmg68/keyboard.json
index 5cb0fa0e45..4de7098b2d 100644
--- a/keyboards/keebmonkey/kbmg68/keyboard.json
+++ b/keyboards/keebmonkey/kbmg68/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "kbmg68",
"manufacturer": "KeebMonkey",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0xFEED",
@@ -32,7 +31,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": false,
"mousekey": false,
"nkro": false,
diff --git a/keyboards/keebsforall/freebird60/keyboard.json b/keyboards/keebsforall/freebird60/keyboard.json
index 3c4df7472a..d97752753a 100644
--- a/keyboards/keebsforall/freebird60/keyboard.json
+++ b/keyboards/keebsforall/freebird60/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Freebird60",
"manufacturer": "KnoblesseOblige",
- "url": "",
"maintainer": "KnoblesseOblige",
"usb": {
"vid": "0xADAD",
@@ -11,7 +10,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false
diff --git a/keyboards/keebsforall/freebird75/keyboard.json b/keyboards/keebsforall/freebird75/keyboard.json
index 1e92ad7063..5a4d3deee9 100644
--- a/keyboards/keebsforall/freebird75/keyboard.json
+++ b/keyboards/keebsforall/freebird75/keyboard.json
@@ -7,7 +7,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
@@ -17,7 +16,6 @@
"rows": ["C7", "C6", "B6", "B5", "B4", "D7"]
},
"processor": "atmega32u4",
- "url": "",
"usb": {
"device_version": "1.0.0",
"pid": "0x7575",
diff --git a/keyboards/keebsforall/freebirdnp/lite/keyboard.json b/keyboards/keebsforall/freebirdnp/lite/keyboard.json
index af98661426..21b1aafe42 100644
--- a/keyboards/keebsforall/freebirdnp/lite/keyboard.json
+++ b/keyboards/keebsforall/freebirdnp/lite/keyboard.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false
diff --git a/keyboards/keebsforall/freebirdnp/pro/keyboard.json b/keyboards/keebsforall/freebirdnp/pro/keyboard.json
index 8eae2f89f9..7afbcc4ca2 100644
--- a/keyboards/keebsforall/freebirdnp/pro/keyboard.json
+++ b/keyboards/keebsforall/freebirdnp/pro/keyboard.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"encoder": true,
"extrakey": true,
"mousekey": true,
diff --git a/keyboards/keebsforall/freebirdtkl/keyboard.json b/keyboards/keebsforall/freebirdtkl/keyboard.json
index 37a6243beb..e58ce7ac0f 100644
--- a/keyboards/keebsforall/freebirdtkl/keyboard.json
+++ b/keyboards/keebsforall/freebirdtkl/keyboard.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false
diff --git a/keyboards/keebwerk/mega/ansi/keyboard.json b/keyboards/keebwerk/mega/ansi/keyboard.json
index e5a12585df..01f158da9a 100755
--- a/keyboards/keebwerk/mega/ansi/keyboard.json
+++ b/keyboards/keebwerk/mega/ansi/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Keebwerk Mega ANSI",
"manufacturer": "Yiancar-Designs",
- "url": "",
"maintainer": "Yiancar",
"usb": {
"vid": "0x8968",
diff --git a/keyboards/keebwerk/nano_slider/keyboard.json b/keyboards/keebwerk/nano_slider/keyboard.json
index 64f59d6c10..e44a2feb3e 100644
--- a/keyboards/keebwerk/nano_slider/keyboard.json
+++ b/keyboards/keebwerk/nano_slider/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "nano. slider",
"manufacturer": "keebwerk.",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0x03A8",
diff --git a/keyboards/keebzdotnet/fme/keyboard.json b/keyboards/keebzdotnet/fme/keyboard.json
index d7b9ebca0c..e850843cb1 100644
--- a/keyboards/keebzdotnet/fme/keyboard.json
+++ b/keyboards/keebzdotnet/fme/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "FMe",
"manufacturer": "keebzdotnet",
- "url": "",
"maintainer": "keebzdotnet",
"usb": {
"vid": "0x4B5A",
@@ -11,7 +10,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/keebzdotnet/wazowski/keyboard.json b/keyboards/keebzdotnet/wazowski/keyboard.json
index 150fa3c790..5e64c99180 100644
--- a/keyboards/keebzdotnet/wazowski/keyboard.json
+++ b/keyboards/keebzdotnet/wazowski/keyboard.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false
diff --git a/keyboards/kegen/gboy/keyboard.json b/keyboards/kegen/gboy/keyboard.json
index 8c611d6664..eeba8f1d0c 100644
--- a/keyboards/kegen/gboy/keyboard.json
+++ b/keyboards/kegen/gboy/keyboard.json
@@ -12,7 +12,6 @@
"backlight": true,
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/kelwin/utopia88/keyboard.json b/keyboards/kelwin/utopia88/keyboard.json
index 406642d41c..86ff707be9 100644
--- a/keyboards/kelwin/utopia88/keyboard.json
+++ b/keyboards/kelwin/utopia88/keyboard.json
@@ -10,7 +10,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": true
@@ -23,7 +22,6 @@
"rows": ["B7", "D5", "D3", "D2", "D1", "D0"]
},
"processor": "atmega32u4",
- "url": "",
"usb": {
"device_version": "1.0.0",
"pid": "0x0001",
diff --git a/keyboards/kepler_33/proto/keyboard.json b/keyboards/kepler_33/proto/keyboard.json
index 1ac13e81f8..e4a0e85576 100644
--- a/keyboards/kepler_33/proto/keyboard.json
+++ b/keyboards/kepler_33/proto/keyboard.json
@@ -6,7 +6,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/keybage/radpad/keyboard.json b/keyboards/keybage/radpad/keyboard.json
index 84407a9310..798a3c49c3 100644
--- a/keyboards/keybage/radpad/keyboard.json
+++ b/keyboards/keybage/radpad/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "RadPad",
"manufacturer": "Keybage",
- "url": "",
"maintainer": "Brandon Schlack",
"usb": {
"vid": "0x4253",
@@ -14,7 +13,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"encoder": true,
"extrakey": true,
"mousekey": true,
diff --git a/keyboards/keybee/keybee65/keyboard.json b/keyboards/keybee/keybee65/keyboard.json
index 7952378b15..8583523f81 100644
--- a/keyboards/keybee/keybee65/keyboard.json
+++ b/keyboards/keybee/keybee65/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "KeyBee65",
"manufacturer": "KeyBee",
- "url": "",
"maintainer": "ToastyStoemp",
"usb": {
"vid": "0x6265",
@@ -21,7 +20,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": true,
diff --git a/keyboards/keyboardio/atreus/keyboard.json b/keyboards/keyboardio/atreus/keyboard.json
index 5185d9ee28..7fee6ec54d 100644
--- a/keyboards/keyboardio/atreus/keyboard.json
+++ b/keyboards/keyboardio/atreus/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Atreus",
"manufacturer": "Keyboardio",
- "url": "",
"maintainer": "keyboardio",
"usb": {
"vid": "0x1209",
diff --git a/keyboards/keycapsss/3w6_2040/keyboard.json b/keyboards/keycapsss/3w6_2040/keyboard.json
index f29b3753c6..e481b98894 100644
--- a/keyboards/keycapsss/3w6_2040/keyboard.json
+++ b/keyboards/keycapsss/3w6_2040/keyboard.json
@@ -42,7 +42,6 @@
"sat": 232,
"speed": 2
},
- "hue_steps": 8,
"led_count": 2,
"max_brightness": 100,
"saturation_steps": 8,
diff --git a/keyboards/keycapsss/o4l_5x12/keyboard.json b/keyboards/keycapsss/o4l_5x12/keyboard.json
index d83bc58795..5a516adca0 100644
--- a/keyboards/keycapsss/o4l_5x12/keyboard.json
+++ b/keyboards/keycapsss/o4l_5x12/keyboard.json
@@ -32,7 +32,6 @@
"features": {
"bootmagic": false,
"command": true,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": false,
diff --git a/keyboards/keycapsss/plaid_pad/rev1/keyboard.json b/keyboards/keycapsss/plaid_pad/rev1/keyboard.json
index e4a8a8d3c8..83fefde3e7 100644
--- a/keyboards/keycapsss/plaid_pad/rev1/keyboard.json
+++ b/keyboards/keycapsss/plaid_pad/rev1/keyboard.json
@@ -12,7 +12,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false,
diff --git a/keyboards/keycapsss/plaid_pad/rev2/keyboard.json b/keyboards/keycapsss/plaid_pad/rev2/keyboard.json
index 8dc84d4ee8..9805679c53 100644
--- a/keyboards/keycapsss/plaid_pad/rev2/keyboard.json
+++ b/keyboards/keycapsss/plaid_pad/rev2/keyboard.json
@@ -14,7 +14,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false,
diff --git a/keyboards/keycapsss/plaid_pad/rev3/keyboard.json b/keyboards/keycapsss/plaid_pad/rev3/keyboard.json
index 4e1d071287..e00cd3a43b 100644
--- a/keyboards/keycapsss/plaid_pad/rev3/keyboard.json
+++ b/keyboards/keycapsss/plaid_pad/rev3/keyboard.json
@@ -14,7 +14,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false,
diff --git a/keyboards/keychron/c1_pro/info.json b/keyboards/keychron/c1_pro/info.json
index e40c2b9960..2c5f1af58f 100644
--- a/keyboards/keychron/c1_pro/info.json
+++ b/keyboards/keychron/c1_pro/info.json
@@ -16,7 +16,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"dip_switch": true,
"extrakey": true,
"mousekey": true,
diff --git a/keyboards/keychron/c1_pro_v2/board.h b/keyboards/keychron/c1_pro_v2/board.h
new file mode 100644
index 0000000000..e6cf0b2856
--- /dev/null
+++ b/keyboards/keychron/c1_pro_v2/board.h
@@ -0,0 +1,8 @@
+// Copyright 2025 @ Keychron (https://www.keychron.com)
+// SPDX-License-Identifier: GPL-2.0-or-later
+#pragma once
+
+#include_next <board.h>
+
+#undef STM32_HSECLK
+#define STM32_HSECLK 16000000U
diff --git a/keyboards/keychron/c1_pro_v2/info.json b/keyboards/keychron/c1_pro_v2/info.json
index bec58b2a8d..b25b5d6f88 100644
--- a/keyboards/keychron/c1_pro_v2/info.json
+++ b/keyboards/keychron/c1_pro_v2/info.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"dip_switch": true,
"extrakey": true,
"mousekey": true,
diff --git a/keyboards/keychron/c1_pro_v2/mcuconf.h b/keyboards/keychron/c1_pro_v2/mcuconf.h
index ca470fb5b3..95966a32ce 100644
--- a/keyboards/keychron/c1_pro_v2/mcuconf.h
+++ b/keyboards/keychron/c1_pro_v2/mcuconf.h
@@ -18,9 +18,6 @@
#include_next <mcuconf.h>
-#undef STM32_HSECLK
-#define STM32_HSECLK 16000000U
-
#undef STM32_PLLM_VALUE
#define STM32_PLLM_VALUE 8
diff --git a/keyboards/keychron/c2_pro/info.json b/keyboards/keychron/c2_pro/info.json
index 4b11fc213a..21ee1d6b2e 100644
--- a/keyboards/keychron/c2_pro/info.json
+++ b/keyboards/keychron/c2_pro/info.json
@@ -16,7 +16,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"dip_switch": true,
"extrakey": true,
"mousekey": true,
diff --git a/keyboards/keychron/c2_pro_v2/board.h b/keyboards/keychron/c2_pro_v2/board.h
new file mode 100644
index 0000000000..e6cf0b2856
--- /dev/null
+++ b/keyboards/keychron/c2_pro_v2/board.h
@@ -0,0 +1,8 @@
+// Copyright 2025 @ Keychron (https://www.keychron.com)
+// SPDX-License-Identifier: GPL-2.0-or-later
+#pragma once
+
+#include_next <board.h>
+
+#undef STM32_HSECLK
+#define STM32_HSECLK 16000000U
diff --git a/keyboards/keychron/c2_pro_v2/info.json b/keyboards/keychron/c2_pro_v2/info.json
index b210151800..c981d9ab4b 100644
--- a/keyboards/keychron/c2_pro_v2/info.json
+++ b/keyboards/keychron/c2_pro_v2/info.json
@@ -13,7 +13,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"dip_switch": true,
"extrakey": true,
"mousekey": true,
diff --git a/keyboards/keychron/c2_pro_v2/mcuconf.h b/keyboards/keychron/c2_pro_v2/mcuconf.h
index ca470fb5b3..95966a32ce 100644
--- a/keyboards/keychron/c2_pro_v2/mcuconf.h
+++ b/keyboards/keychron/c2_pro_v2/mcuconf.h
@@ -18,9 +18,6 @@
#include_next <mcuconf.h>
-#undef STM32_HSECLK
-#define STM32_HSECLK 16000000U
-
#undef STM32_PLLM_VALUE
#define STM32_PLLM_VALUE 8
diff --git a/keyboards/keychron/c3_pro/board.h b/keyboards/keychron/c3_pro/board.h
new file mode 100644
index 0000000000..60d25b93b8
--- /dev/null
+++ b/keyboards/keychron/c3_pro/board.h
@@ -0,0 +1,8 @@
+// Copyright 2024 @ Keychron (https://www.keychron.com)
+// SPDX-License-Identifier: GPL-2.0-or-later
+#pragma once
+
+#include_next <board.h>
+
+#undef STM32_HSECLK
+#define STM32_HSECLK 16000000U
diff --git a/keyboards/keychron/c3_pro/info.json b/keyboards/keychron/c3_pro/info.json
index 2bcd155c1b..1e24b32ceb 100644
--- a/keyboards/keychron/c3_pro/info.json
+++ b/keyboards/keychron/c3_pro/info.json
@@ -12,7 +12,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/keychron/c3_pro/mcuconf.h b/keyboards/keychron/c3_pro/mcuconf.h
index b2b81df855..ad75926a14 100644
--- a/keyboards/keychron/c3_pro/mcuconf.h
+++ b/keyboards/keychron/c3_pro/mcuconf.h
@@ -18,9 +18,6 @@
#include_next <mcuconf.h>
-#undef STM32_HSECLK
-#define STM32_HSECLK 16000000U
-
#undef STM32_PLLM_VALUE
#define STM32_PLLM_VALUE 8
diff --git a/keyboards/keychron/q0/info.json b/keyboards/keychron/q0/info.json
index a301746831..d5e0ba22e0 100644
--- a/keyboards/keychron/q0/info.json
+++ b/keyboards/keychron/q0/info.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/keychron/q11/info.json b/keyboards/keychron/q11/info.json
index 73c4233876..75274318f3 100755
--- a/keyboards/keychron/q11/info.json
+++ b/keyboards/keychron/q11/info.json
@@ -22,7 +22,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"dip_switch": true,
"extrakey": true,
"mousekey": true,
diff --git a/keyboards/keychron/q1v1/info.json b/keyboards/keychron/q1v1/info.json
index 0107c60b9c..c8db178952 100644
--- a/keyboards/keychron/q1v1/info.json
+++ b/keyboards/keychron/q1v1/info.json
@@ -10,7 +10,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"dip_switch": true,
"extrakey": true,
"mousekey": true,
diff --git a/keyboards/keychron/q1v2/info.json b/keyboards/keychron/q1v2/info.json
index 7eb7038696..b7b612b613 100644
--- a/keyboards/keychron/q1v2/info.json
+++ b/keyboards/keychron/q1v2/info.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/keychron/q2/info.json b/keyboards/keychron/q2/info.json
index d0bb48d7cb..87f405cb17 100644
--- a/keyboards/keychron/q2/info.json
+++ b/keyboards/keychron/q2/info.json
@@ -15,7 +15,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"dip_switch": true,
"extrakey": true,
"mousekey": true,
diff --git a/keyboards/keychron/q3/info.json b/keyboards/keychron/q3/info.json
index a07fc670d8..2b8b89dc87 100644
--- a/keyboards/keychron/q3/info.json
+++ b/keyboards/keychron/q3/info.json
@@ -15,7 +15,6 @@
"bootmagic": true,
"dip_switch": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/keychron/q4/info.json b/keyboards/keychron/q4/info.json
index 4b9f246b4c..b09d4cb790 100644
--- a/keyboards/keychron/q4/info.json
+++ b/keyboards/keychron/q4/info.json
@@ -19,7 +19,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/keychron/q5/info.json b/keyboards/keychron/q5/info.json
index b35996d341..2140b8226d 100644
--- a/keyboards/keychron/q5/info.json
+++ b/keyboards/keychron/q5/info.json
@@ -15,7 +15,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"dip_switch": true,
"extrakey": true,
"mousekey": true,
diff --git a/keyboards/keychron/q60/ansi/keyboard.json b/keyboards/keychron/q60/ansi/keyboard.json
index 4d6f680890..a98781c9d0 100644
--- a/keyboards/keychron/q60/ansi/keyboard.json
+++ b/keyboards/keychron/q60/ansi/keyboard.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"dip_switch": true,
"extrakey": true,
"mousekey": true,
diff --git a/keyboards/keychron/q7/info.json b/keyboards/keychron/q7/info.json
index 6b8a94ce99..90dd59f3f4 100644
--- a/keyboards/keychron/q7/info.json
+++ b/keyboards/keychron/q7/info.json
@@ -18,7 +18,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"dip_switch": true,
"extrakey": true,
"mousekey": true,
diff --git a/keyboards/keychron/q8/info.json b/keyboards/keychron/q8/info.json
index da4c9c6f79..626942c108 100644
--- a/keyboards/keychron/q8/info.json
+++ b/keyboards/keychron/q8/info.json
@@ -18,7 +18,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"dip_switch": true,
"extrakey": true,
"mousekey": true,
diff --git a/keyboards/keychron/q9/info.json b/keyboards/keychron/q9/info.json
index 322fcfa1ad..e92a91cb31 100644
--- a/keyboards/keychron/q9/info.json
+++ b/keyboards/keychron/q9/info.json
@@ -15,7 +15,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"dip_switch": true,
"extrakey": true,
"mousekey": true,
diff --git a/keyboards/keychron/q9_plus/info.json b/keyboards/keychron/q9_plus/info.json
index 927f5094a6..7f73c690c8 100755
--- a/keyboards/keychron/q9_plus/info.json
+++ b/keyboards/keychron/q9_plus/info.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"dip_switch": true,
diff --git a/keyboards/keychron/s1/ansi/rgb/keyboard.json b/keyboards/keychron/s1/ansi/rgb/keyboard.json
index 23ea66071e..e226473b43 100644
--- a/keyboards/keychron/s1/ansi/rgb/keyboard.json
+++ b/keyboards/keychron/s1/ansi/rgb/keyboard.json
@@ -38,7 +38,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"dip_switch": true,
"extrakey": true,
"mousekey": true,
diff --git a/keyboards/keychron/s1/ansi/white/keyboard.json b/keyboards/keychron/s1/ansi/white/keyboard.json
index 40cc99a23f..8915afafdf 100644
--- a/keyboards/keychron/s1/ansi/white/keyboard.json
+++ b/keyboards/keychron/s1/ansi/white/keyboard.json
@@ -124,7 +124,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"dip_switch": true,
"extrakey": true,
"led_matrix": true,
diff --git a/keyboards/keychron/v2/ansi/keyboard.json b/keyboards/keychron/v2/ansi/keyboard.json
index 015aae6e3e..b1377cd60b 100644
--- a/keyboards/keychron/v2/ansi/keyboard.json
+++ b/keyboards/keychron/v2/ansi/keyboard.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"dip_switch": true,
"extrakey": true,
"mousekey": true,
diff --git a/keyboards/keychron/v2/ansi_encoder/keyboard.json b/keyboards/keychron/v2/ansi_encoder/keyboard.json
index ca62bab148..e23268e60d 100644
--- a/keyboards/keychron/v2/ansi_encoder/keyboard.json
+++ b/keyboards/keychron/v2/ansi_encoder/keyboard.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"dip_switch": true,
"encoder": true,
"extrakey": true,
diff --git a/keyboards/keychron/v2/iso/keyboard.json b/keyboards/keychron/v2/iso/keyboard.json
index 827f613247..118840b2df 100644
--- a/keyboards/keychron/v2/iso/keyboard.json
+++ b/keyboards/keychron/v2/iso/keyboard.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"dip_switch": true,
"extrakey": true,
"mousekey": true,
diff --git a/keyboards/keychron/v2/iso_encoder/keyboard.json b/keyboards/keychron/v2/iso_encoder/keyboard.json
index 10774d6974..0af482cd83 100644
--- a/keyboards/keychron/v2/iso_encoder/keyboard.json
+++ b/keyboards/keychron/v2/iso_encoder/keyboard.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"dip_switch": true,
"encoder": true,
"extrakey": true,
diff --git a/keyboards/keychron/v2/jis/keyboard.json b/keyboards/keychron/v2/jis/keyboard.json
index c775944009..c62a60075d 100644
--- a/keyboards/keychron/v2/jis/keyboard.json
+++ b/keyboards/keychron/v2/jis/keyboard.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"dip_switch": true,
"extrakey": true,
"mousekey": true,
diff --git a/keyboards/keychron/v2/jis_encoder/keyboard.json b/keyboards/keychron/v2/jis_encoder/keyboard.json
index c783b3553e..cf81648ed5 100644
--- a/keyboards/keychron/v2/jis_encoder/keyboard.json
+++ b/keyboards/keychron/v2/jis_encoder/keyboard.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"dip_switch": true,
"encoder": true,
"extrakey": true,
diff --git a/keyboards/keychron/v3/ansi/keyboard.json b/keyboards/keychron/v3/ansi/keyboard.json
index b8489a43b4..e339ef6fc6 100644
--- a/keyboards/keychron/v3/ansi/keyboard.json
+++ b/keyboards/keychron/v3/ansi/keyboard.json
@@ -6,7 +6,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"dip_switch": true,
"extrakey": true,
"mousekey": true,
diff --git a/keyboards/keychron/v3/jis/keyboard.json b/keyboards/keychron/v3/jis/keyboard.json
index f00716b2db..b7179af273 100644
--- a/keyboards/keychron/v3/jis/keyboard.json
+++ b/keyboards/keychron/v3/jis/keyboard.json
@@ -6,7 +6,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"dip_switch": true,
"extrakey": true,
"mousekey": true,
diff --git a/keyboards/keychron/v4/ansi/keyboard.json b/keyboards/keychron/v4/ansi/keyboard.json
index d66eb3f956..201517128c 100644
--- a/keyboards/keychron/v4/ansi/keyboard.json
+++ b/keyboards/keychron/v4/ansi/keyboard.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"dip_switch": true,
"extrakey": true,
"mousekey": true,
diff --git a/keyboards/keychron/v4/iso/keyboard.json b/keyboards/keychron/v4/iso/keyboard.json
index c7854307e4..8e906694d2 100644
--- a/keyboards/keychron/v4/iso/keyboard.json
+++ b/keyboards/keychron/v4/iso/keyboard.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"dip_switch": true,
"extrakey": true,
"mousekey": true,
diff --git a/keyboards/keychron/v7/ansi/keyboard.json b/keyboards/keychron/v7/ansi/keyboard.json
index a60b46dc97..7ce47faa04 100644
--- a/keyboards/keychron/v7/ansi/keyboard.json
+++ b/keyboards/keychron/v7/ansi/keyboard.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"dip_switch": true,
"extrakey": true,
"mousekey": true,
diff --git a/keyboards/keychron/v7/iso/keyboard.json b/keyboards/keychron/v7/iso/keyboard.json
index 0022222635..ee9bd794b3 100644
--- a/keyboards/keychron/v7/iso/keyboard.json
+++ b/keyboards/keychron/v7/iso/keyboard.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"dip_switch": true,
"extrakey": true,
"mousekey": true,
diff --git a/keyboards/keychron/v8/ansi/keyboard.json b/keyboards/keychron/v8/ansi/keyboard.json
index 7827270228..2abc2e8c1a 100644
--- a/keyboards/keychron/v8/ansi/keyboard.json
+++ b/keyboards/keychron/v8/ansi/keyboard.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"dip_switch": true,
"extrakey": true,
"mousekey": true,
diff --git a/keyboards/keychron/v8/ansi_encoder/keyboard.json b/keyboards/keychron/v8/ansi_encoder/keyboard.json
index a5d84021d0..7f88d39a83 100644
--- a/keyboards/keychron/v8/ansi_encoder/keyboard.json
+++ b/keyboards/keychron/v8/ansi_encoder/keyboard.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"dip_switch": true,
"encoder": true,
"extrakey": true,
diff --git a/keyboards/keychron/v8/iso/keyboard.json b/keyboards/keychron/v8/iso/keyboard.json
index 89310111f5..81d5c41fe3 100644
--- a/keyboards/keychron/v8/iso/keyboard.json
+++ b/keyboards/keychron/v8/iso/keyboard.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"dip_switch": true,
"extrakey": true,
"mousekey": true,
diff --git a/keyboards/keychron/v8/iso_encoder/keyboard.json b/keyboards/keychron/v8/iso_encoder/keyboard.json
index 2e50de7421..a440192b1b 100644
--- a/keyboards/keychron/v8/iso_encoder/keyboard.json
+++ b/keyboards/keychron/v8/iso_encoder/keyboard.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"dip_switch": true,
"encoder": true,
"extrakey": true,
diff --git a/keyboards/keycult/keycult1800/keyboard.json b/keyboards/keycult/keycult1800/keyboard.json
index a50b77d104..8ed6e6e2fa 100644
--- a/keyboards/keycult/keycult1800/keyboard.json
+++ b/keyboards/keycult/keycult1800/keyboard.json
@@ -96,7 +96,8 @@
{ "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": [4, 0], "w": 2.25, "x": 0, "y": 4.5 },
+ { "matrix": [4, 0], "w": 1.25, "x": 0, "y": 4.5 },
+ { "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 },
diff --git a/keyboards/keycult/keycult1800/keymaps/default/keymap.c b/keyboards/keycult/keycult1800/keymaps/default/keymap.c
index e596ff2db0..79570b73a2 100644
--- a/keyboards/keycult/keycult1800/keymaps/default/keymap.c
+++ b/keyboards/keycult/keycult1800/keymaps/default/keymap.c
@@ -21,7 +21,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, 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_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_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_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_P1, KC_P2, KC_P3, KC_PENT,
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT, KC_PENT),
[1] = LAYOUT( /* FN */
@@ -29,7 +29,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______),
};
diff --git a/keyboards/keyhive/absinthe/keyboard.json b/keyboards/keyhive/absinthe/keyboard.json
index 82a5ae5631..e426f63a56 100644
--- a/keyboards/keyhive/absinthe/keyboard.json
+++ b/keyboards/keyhive/absinthe/keyboard.json
@@ -26,7 +26,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"encoder": true,
"extrakey": true,
"mousekey": false,
diff --git a/keyboards/keyhive/honeycomb/keyboard.json b/keyboards/keyhive/honeycomb/keyboard.json
index 768f08275d..69907fccc1 100644
--- a/keyboards/keyhive/honeycomb/keyboard.json
+++ b/keyboards/keyhive/honeycomb/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Honeycomb",
"manufacturer": "Keyhive",
- "url": "",
"maintainer": "filoxo",
"usb": {
"vid": "0xFEED",
diff --git a/keyboards/keyhive/lattice60/keyboard.json b/keyboards/keyhive/lattice60/keyboard.json
index b805a73357..fce9453e34 100644
--- a/keyboards/keyhive/lattice60/keyboard.json
+++ b/keyboards/keyhive/lattice60/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "LATTICE60",
"manufacturer": "emdarcher",
- "url": "",
"maintainer": "emdarcher",
"usb": {
"vid": "0x16C0",
diff --git a/keyboards/keyhive/navi10/info.json b/keyboards/keyhive/navi10/info.json
index e5df0c68e1..25c9f14f27 100644
--- a/keyboards/keyhive/navi10/info.json
+++ b/keyboards/keyhive/navi10/info.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Navi10",
"manufacturer": "emdarcher",
- "url": "",
"maintainer": "emdarcher",
"usb": {
"vid": "0xFEED",
diff --git a/keyboards/keyhive/opus/keyboard.json b/keyboards/keyhive/opus/keyboard.json
index e92c8604ce..76ec93d260 100644
--- a/keyboards/keyhive/opus/keyboard.json
+++ b/keyboards/keyhive/opus/keyboard.json
@@ -10,7 +10,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false
diff --git a/keyboards/keyhive/smallice/keyboard.json b/keyboards/keyhive/smallice/keyboard.json
index f7118ed3cf..41d2bba12b 100644
--- a/keyboards/keyhive/smallice/keyboard.json
+++ b/keyboards/keyhive/smallice/keyboard.json
@@ -32,7 +32,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false,
diff --git a/keyboards/keyhive/southpole/keyboard.json b/keyboards/keyhive/southpole/keyboard.json
index 7136675881..5cbd091760 100644
--- a/keyboards/keyhive/southpole/keyboard.json
+++ b/keyboards/keyhive/southpole/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "southpole",
"manufacturer": "u/waxpoetic",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0xFEED",
@@ -11,7 +10,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/keyhive/ut472/keyboard.json b/keyboards/keyhive/ut472/keyboard.json
index 828058a955..f419940813 100644
--- a/keyboards/keyhive/ut472/keyboard.json
+++ b/keyboards/keyhive/ut472/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "UT47.2",
"manufacturer": "Keyhive",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0xA103",
@@ -31,7 +30,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/keyprez/bison/keyboard.json b/keyboards/keyprez/bison/keyboard.json
index 5fd2de1ff5..e4ff719dd6 100644
--- a/keyboards/keyprez/bison/keyboard.json
+++ b/keyboards/keyprez/bison/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "bison",
"manufacturer": "csandven",
- "url": "",
"maintainer": "Christian Sandven",
"usb": {
"vid": "0xFEED",
@@ -11,7 +10,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"encoder": true,
"extrakey": true,
"mousekey": true,
diff --git a/keyboards/keyprez/corgi/keyboard.json b/keyboards/keyprez/corgi/keyboard.json
index 8e664de03d..da046f8d7b 100644
--- a/keyboards/keyprez/corgi/keyboard.json
+++ b/keyboards/keyprez/corgi/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "corgi",
"manufacturer": "Christian Sandven",
- "url": "",
"maintainer": "Christian Sandven",
"usb": {
"vid": "0xFEED",
@@ -11,7 +10,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"encoder": true,
"extrakey": true,
"mousekey": true,
diff --git a/keyboards/keyprez/rhino/keyboard.json b/keyboards/keyprez/rhino/keyboard.json
index 75854f6f99..0cdd027da5 100644
--- a/keyboards/keyprez/rhino/keyboard.json
+++ b/keyboards/keyprez/rhino/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "rhino",
"manufacturer": "Christian Sandven",
- "url": "",
"maintainer": "Christian Sandven",
"usb": {
"vid": "0xFEED",
@@ -12,7 +11,6 @@
"audio": true,
"bootmagic": true,
"command": false,
- "console": false,
"encoder": true,
"extrakey": true,
"mousekey": true,
diff --git a/keyboards/keyprez/unicorn/keyboard.json b/keyboards/keyprez/unicorn/keyboard.json
index 7fa855e240..a07466f151 100644
--- a/keyboards/keyprez/unicorn/keyboard.json
+++ b/keyboards/keyprez/unicorn/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Unicorn",
"manufacturer": "Keyprez",
- "url": "",
"maintainer": "Keyprez",
"usb": {
"vid": "0x6B7A",
@@ -11,7 +10,6 @@
"features": {
"bootmagic": false,
"command": false,
- "console": false,
"encoder": true,
"extrakey": true,
"mousekey": true,
diff --git a/keyboards/keyquest/enclave/keyboard.json b/keyboards/keyquest/enclave/keyboard.json
index 9b2dbb6519..cc1a9f6a42 100644
--- a/keyboards/keyquest/enclave/keyboard.json
+++ b/keyboards/keyquest/enclave/keyboard.json
@@ -34,7 +34,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/keysofkings/twokey/keyboard.json b/keyboards/keysofkings/twokey/keyboard.json
index 2b75891329..765183426b 100644
--- a/keyboards/keysofkings/twokey/keyboard.json
+++ b/keyboards/keysofkings/twokey/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Twokey",
"manufacturer": "Keys of Kings",
- "url": "",
"maintainer": "Keys of Kings",
"usb": {
"vid": "0xFEED",
@@ -33,7 +32,6 @@
"audio": true,
"bootmagic": true,
"command": false,
- "console": false,
"encoder": true,
"extrakey": true,
"mousekey": false,
diff --git a/keyboards/keyspensory/kp60/keyboard.json b/keyboards/keyspensory/kp60/keyboard.json
index 1172e14d45..5caa3f178a 100644
--- a/keyboards/keyspensory/kp60/keyboard.json
+++ b/keyboards/keyspensory/kp60/keyboard.json
@@ -18,7 +18,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
@@ -26,7 +25,6 @@
},
"rgblight": {
"led_count": 8,
- "hue_steps": 8,
"saturation_steps": 8,
"brightness_steps": 8,
"animations": {
diff --git a/keyboards/keystonecaps/gameroyadvance/keyboard.json b/keyboards/keystonecaps/gameroyadvance/keyboard.json
index 15cce9afd5..dc590082e5 100644
--- a/keyboards/keystonecaps/gameroyadvance/keyboard.json
+++ b/keyboards/keystonecaps/gameroyadvance/keyboard.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"encoder": true,
"extrakey": true,
"mousekey": true,
diff --git a/keyboards/keyten/aperture/keyboard.json b/keyboards/keyten/aperture/keyboard.json
index 7648e46cc0..306c73f6fd 100644
--- a/keyboards/keyten/aperture/keyboard.json
+++ b/keyboards/keyten/aperture/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Aperture",
"manufacturer": "Bizunow",
- "url": "",
"maintainer": "key10iq",
"usb": {
"vid": "0xEB69",
@@ -14,7 +13,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/keyten/diablo/keyboard.json b/keyboards/keyten/diablo/keyboard.json
index 3882d4e160..c63a91295a 100644
--- a/keyboards/keyten/diablo/keyboard.json
+++ b/keyboards/keyten/diablo/keyboard.json
@@ -7,7 +7,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/keyten/kt3700/keyboard.json b/keyboards/keyten/kt3700/keyboard.json
index 9f89ee1453..b7daf709c1 100644
--- a/keyboards/keyten/kt3700/keyboard.json
+++ b/keyboards/keyten/kt3700/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "kt3700",
"manufacturer": "keyten",
- "url": "",
"maintainer": "key10iq",
"usb": {
"vid": "0xEB69",
@@ -11,7 +10,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/keyten/kt60_m/keyboard.json b/keyboards/keyten/kt60_m/keyboard.json
index f72deeebbd..3894b5d915 100644
--- a/keyboards/keyten/kt60_m/keyboard.json
+++ b/keyboards/keyten/kt60_m/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "kt60-M",
"manufacturer": "keyten",
- "url": "",
"maintainer": "key10iq",
"usb": {
"vid": "0xEB69",
@@ -14,7 +13,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/keyten/kt60hs_t/info.json b/keyboards/keyten/kt60hs_t/info.json
new file mode 100644
index 0000000000..97b4f7d222
--- /dev/null
+++ b/keyboards/keyten/kt60hs_t/info.json
@@ -0,0 +1,14 @@
+{
+ "manufacturer": "keyten",
+ "keyboard_name": "kt60HS-T",
+ "maintainer": "key10iq",
+ "features": {
+ "bootmagic": true,
+ "extrakey": true,
+ "mousekey": true,
+ "nkro": true
+ },
+ "usb": {
+ "vid": "0xEB69"
+ }
+}
diff --git a/keyboards/keyten/kt60hs_t/readme.md b/keyboards/keyten/kt60hs_t/readme.md
index 75ccbc3b69..eb02f6bb8f 100644
--- a/keyboards/keyten/kt60hs_t/readme.md
+++ b/keyboards/keyten/kt60hs_t/readme.md
@@ -2,30 +2,15 @@
60% MX Hot-Swap Tsangan PCB
-![kt60HS-T image](https://i.imgur.com/Iqrf6tHh.jpg)
-
-* Keyboard Maintainer: [keyten](https://github.com/key10iq)
-* Hardware Supported: keyten kt60HS-T
-* Hardware Availability: private GB
+![kt60HS-T image](https://i.imgur.com/vM32aoX.jpeg)
Supports:
1. Split Backspace
2. Stepped Caps Lock
-Make example for this keyboard (after setting up your build environment):
-
- make keyten/kt60hs_t:default
-
-Flashing example for this keyboard:
-
- make keyten/kt60hs_t: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:
+There are two versions of the PCB available.
-* Bootmagic reset: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
-* Keycode in layout: Press the key mapped to `QK_BOOT` if it is available
-* Physical reset button: Hold the button on the back of the PCB
+|Version| Features |
+|-------|-------------------------------------------|
+|v1 |Blue/Purple PCB / ARM STM32F401 controller |
+|v2 |Purple PCB / ARM STM32F072 controller |
diff --git a/keyboards/keyten/kt60hs_t/keyboard.json b/keyboards/keyten/kt60hs_t/v1/keyboard.json
index 63a755d698..b5b90304b2 100644
--- a/keyboards/keyten/kt60hs_t/keyboard.json
+++ b/keyboards/keyten/kt60hs_t/v1/keyboard.json
@@ -1,17 +1,6 @@
{
- "manufacturer": "keyten",
- "keyboard_name": "kt60HS-T",
- "maintainer": "key10iq",
"bootloader": "stm32-dfu",
"diode_direction": "COL2ROW",
- "features": {
- "bootmagic": true,
- "command": false,
- "console": false,
- "extrakey": true,
- "mousekey": true,
- "nkro": true
- },
"matrix_pins": {
"cols": ["A3", "A4", "A5", "A6", "A7", "B9", "B8", "B7", "B6", "B5", "B4", "B3", "A15", "A14"],
"rows": ["B15", "B14", "B12", "B13", "B0"]
@@ -19,8 +8,7 @@
"processor": "STM32F401",
"usb": {
"device_version": "0.0.1",
- "pid": "0x6004",
- "vid": "0xEB69"
+ "pid": "0x6004"
},
"community_layouts": [
"60_ansi_wkl_split_bs_rshift",
@@ -28,7 +16,8 @@
"60_ansi_tsangan_split_bs_rshift"
],
"layout_aliases": {
- "LAYOUT_60_tsangan_hhkb": "LAYOUT_60_ansi_tsangan_split_bs_rshift"
+ "LAYOUT_60_tsangan_hhkb": "LAYOUT_60_ansi_tsangan_split_bs_rshift",
+ "LAYOUT_all": "LAYOUT_60_ansi_tsangan_split_bs_rshift"
},
"layouts": {
"LAYOUT_60_ansi_wkl_split_bs_rshift": {
@@ -224,6 +213,71 @@
{"matrix": [4, 11], "x": 12.5, "y": 4},
{"matrix": [4, 13], "x": 13.5, "y": 4, "w": 1.5}
]
+ },
+ "LAYOUT_60_ansi_tsangan_split_rshift": {
+ "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": [2, 13], "x": 13, "y": 0, "w": 2},
+ {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5},
+ {"matrix": [1, 1], "x": 1.5, "y": 1},
+ {"matrix": [1, 2], "x": 2.5, "y": 1},
+ {"matrix": [1, 3], "x": 3.5, "y": 1},
+ {"matrix": [1, 4], "x": 4.5, "y": 1},
+ {"matrix": [1, 5], "x": 5.5, "y": 1},
+ {"matrix": [1, 6], "x": 6.5, "y": 1},
+ {"matrix": [1, 7], "x": 7.5, "y": 1},
+ {"matrix": [1, 8], "x": 8.5, "y": 1},
+ {"matrix": [1, 9], "x": 9.5, "y": 1},
+ {"matrix": [1, 10], "x": 10.5, "y": 1},
+ {"matrix": [1, 11], "x": 11.5, "y": 1},
+ {"matrix": [1, 12], "x": 12.5, "y": 1},
+ {"matrix": [1, 13], "x": 13.5, "y": 1, "w": 1.5},
+ {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75},
+ {"matrix": [2, 1], "x": 1.75, "y": 2},
+ {"matrix": [2, 2], "x": 2.75, "y": 2},
+ {"matrix": [2, 3], "x": 3.75, "y": 2},
+ {"matrix": [2, 4], "x": 4.75, "y": 2},
+ {"matrix": [2, 5], "x": 5.75, "y": 2},
+ {"matrix": [2, 6], "x": 6.75, "y": 2},
+ {"matrix": [2, 7], "x": 7.75, "y": 2},
+ {"matrix": [2, 8], "x": 8.75, "y": 2},
+ {"matrix": [2, 9], "x": 9.75, "y": 2},
+ {"matrix": [2, 10], "x": 10.75, "y": 2},
+ {"matrix": [2, 11], "x": 11.75, "y": 2},
+ {"matrix": [2, 12], "x": 12.75, "y": 2, "w": 2.25},
+ {"matrix": [3, 0], "x": 0, "y": 3, "w": 2.25},
+ {"matrix": [3, 1], "x": 2.25, "y": 3},
+ {"matrix": [3, 2], "x": 3.25, "y": 3},
+ {"matrix": [3, 3], "x": 4.25, "y": 3},
+ {"matrix": [3, 4], "x": 5.25, "y": 3},
+ {"matrix": [3, 5], "x": 6.25, "y": 3},
+ {"matrix": [3, 6], "x": 7.25, "y": 3},
+ {"matrix": [3, 7], "x": 8.25, "y": 3},
+ {"matrix": [3, 8], "x": 9.25, "y": 3},
+ {"matrix": [3, 9], "x": 10.25, "y": 3},
+ {"matrix": [3, 10], "x": 11.25, "y": 3},
+ {"matrix": [4, 12], "x": 12.25, "y": 3, "w": 1.75},
+ {"matrix": [3, 13], "x": 14, "y": 3},
+ {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.5},
+ {"matrix": [4, 1], "x": 1.5, "y": 4},
+ {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.5},
+ {"matrix": [4, 6], "x": 4, "y": 4, "w": 7},
+ {"matrix": [4, 10], "x": 11, "y": 4, "w": 1.5},
+ {"matrix": [4, 11], "x": 12.5, "y": 4},
+ {"matrix": [4, 13], "x": 13.5, "y": 4, "w": 1.5}
+ ]
}
}
}
diff --git a/keyboards/keyten/kt60hs_t/v1/readme.md b/keyboards/keyten/kt60hs_t/v1/readme.md
new file mode 100644
index 0000000000..2f31dbf4bf
--- /dev/null
+++ b/keyboards/keyten/kt60hs_t/v1/readme.md
@@ -0,0 +1,29 @@
+# keyten kt60HS-T V1
+
+60% MX Hot-Swap Tsangan PCB
+
+![kt60HS-T image](https://i.imgur.com/tOej7ND.jpeg)
+
+**Note: This firmware only supports the PCB version with STM32F401 controller**
+
+* Keyboard Maintainer: [keyten](https://github.com/key10iq)
+* Hardware Supported: keyten kt60HS-T
+* Hardware Availability: private GB
+
+Make example for this keyboard (after setting up your build environment):
+
+ make keyten/kt60hs_t/v1:default
+
+Flashing example for this keyboard:
+
+ make keyten/kt60hs_t/v1:default:flash
+
+See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
+
+## Bootloader
+
+Enter the bootloader in 3 ways:
+
+* Bootmagic reset: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
+* Keycode in layout: Press the key mapped to `QK_BOOT` if it is available
+* Physical reset button: Hold the button on the back of the PCB
diff --git a/keyboards/keyten/kt60hs_t/v2/keyboard.json b/keyboards/keyten/kt60hs_t/v2/keyboard.json
new file mode 100644
index 0000000000..728bd90fe8
--- /dev/null
+++ b/keyboards/keyten/kt60hs_t/v2/keyboard.json
@@ -0,0 +1,282 @@
+{
+ "bootloader": "stm32-dfu",
+ "diode_direction": "COL2ROW",
+ "matrix_pins": {
+ "cols": ["A3", "A4", "A5", "A6", "A7", "B9", "B8", "B7", "B6", "B5", "B4", "B3", "A15", "A14"],
+ "rows": ["B15", "B14", "B12", "B13", "B0"]
+ },
+ "processor": "STM32F072",
+ "usb": {
+ "device_version": "2.0.0",
+ "pid": "0x6007"
+ },
+ "community_layouts": [
+ "60_ansi_wkl_split_bs_rshift",
+ "60_hhkb",
+ "60_ansi_tsangan_split_bs_rshift"
+ ],
+ "layout_aliases": {
+ "LAYOUT_all": "LAYOUT_60_ansi_tsangan_split_bs_rshift"
+ },
+ "layouts": {
+ "LAYOUT_60_ansi_wkl_split_bs_rshift": {
+ "layout": [
+ {"matrix": [0, 0], "x": 0, "y": 0},
+ {"matrix": [0, 1], "x": 1, "y": 0},
+ {"matrix": [0, 2], "x": 2, "y": 0},
+ {"matrix": [0, 3], "x": 3, "y": 0},
+ {"matrix": [0, 4], "x": 4, "y": 0},
+ {"matrix": [0, 5], "x": 5, "y": 0},
+ {"matrix": [0, 6], "x": 6, "y": 0},
+ {"matrix": [0, 7], "x": 7, "y": 0},
+ {"matrix": [0, 8], "x": 8, "y": 0},
+ {"matrix": [0, 9], "x": 9, "y": 0},
+ {"matrix": [0, 10], "x": 10, "y": 0},
+ {"matrix": [0, 11], "x": 11, "y": 0},
+ {"matrix": [0, 12], "x": 12, "y": 0},
+ {"matrix": [0, 13], "x": 13, "y": 0},
+ {"matrix": [2, 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": [1, 13], "x": 13.5, "y": 1, "w": 1.5},
+ {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75},
+ {"matrix": [2, 1], "x": 1.75, "y": 2},
+ {"matrix": [2, 2], "x": 2.75, "y": 2},
+ {"matrix": [2, 3], "x": 3.75, "y": 2},
+ {"matrix": [2, 4], "x": 4.75, "y": 2},
+ {"matrix": [2, 5], "x": 5.75, "y": 2},
+ {"matrix": [2, 6], "x": 6.75, "y": 2},
+ {"matrix": [2, 7], "x": 7.75, "y": 2},
+ {"matrix": [2, 8], "x": 8.75, "y": 2},
+ {"matrix": [2, 9], "x": 9.75, "y": 2},
+ {"matrix": [2, 10], "x": 10.75, "y": 2},
+ {"matrix": [2, 11], "x": 11.75, "y": 2},
+ {"matrix": [2, 12], "x": 12.75, "y": 2, "w": 2.25},
+ {"matrix": [3, 0], "x": 0, "y": 3, "w": 2.25},
+ {"matrix": [3, 1], "x": 2.25, "y": 3},
+ {"matrix": [3, 2], "x": 3.25, "y": 3},
+ {"matrix": [3, 3], "x": 4.25, "y": 3},
+ {"matrix": [3, 4], "x": 5.25, "y": 3},
+ {"matrix": [3, 5], "x": 6.25, "y": 3},
+ {"matrix": [3, 6], "x": 7.25, "y": 3},
+ {"matrix": [3, 7], "x": 8.25, "y": 3},
+ {"matrix": [3, 8], "x": 9.25, "y": 3},
+ {"matrix": [3, 9], "x": 10.25, "y": 3},
+ {"matrix": [3, 10], "x": 11.25, "y": 3},
+ {"matrix": [4, 12], "x": 12.25, "y": 3, "w": 1.75},
+ {"matrix": [3, 13], "x": 14, "y": 3},
+ {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.5},
+ {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.5},
+ {"matrix": [4, 6], "x": 4, "y": 4, "w": 7},
+ {"matrix": [4, 10], "x": 11, "y": 4, "w": 1.5},
+ {"matrix": [4, 13], "x": 13.5, "y": 4, "w": 1.5}
+ ]
+ },
+ "LAYOUT_60_hhkb": {
+ "layout": [
+ {"matrix": [0, 0], "x": 0, "y": 0},
+ {"matrix": [0, 1], "x": 1, "y": 0},
+ {"matrix": [0, 2], "x": 2, "y": 0},
+ {"matrix": [0, 3], "x": 3, "y": 0},
+ {"matrix": [0, 4], "x": 4, "y": 0},
+ {"matrix": [0, 5], "x": 5, "y": 0},
+ {"matrix": [0, 6], "x": 6, "y": 0},
+ {"matrix": [0, 7], "x": 7, "y": 0},
+ {"matrix": [0, 8], "x": 8, "y": 0},
+ {"matrix": [0, 9], "x": 9, "y": 0},
+ {"matrix": [0, 10], "x": 10, "y": 0},
+ {"matrix": [0, 11], "x": 11, "y": 0},
+ {"matrix": [0, 12], "x": 12, "y": 0},
+ {"matrix": [0, 13], "x": 13, "y": 0},
+ {"matrix": [2, 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": [1, 13], "x": 13.5, "y": 1, "w": 1.5},
+ {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75},
+ {"matrix": [2, 1], "x": 1.75, "y": 2},
+ {"matrix": [2, 2], "x": 2.75, "y": 2},
+ {"matrix": [2, 3], "x": 3.75, "y": 2},
+ {"matrix": [2, 4], "x": 4.75, "y": 2},
+ {"matrix": [2, 5], "x": 5.75, "y": 2},
+ {"matrix": [2, 6], "x": 6.75, "y": 2},
+ {"matrix": [2, 7], "x": 7.75, "y": 2},
+ {"matrix": [2, 8], "x": 8.75, "y": 2},
+ {"matrix": [2, 9], "x": 9.75, "y": 2},
+ {"matrix": [2, 10], "x": 10.75, "y": 2},
+ {"matrix": [2, 11], "x": 11.75, "y": 2},
+ {"matrix": [2, 12], "x": 12.75, "y": 2, "w": 2.25},
+ {"matrix": [3, 0], "x": 0, "y": 3, "w": 2.25},
+ {"matrix": [3, 1], "x": 2.25, "y": 3},
+ {"matrix": [3, 2], "x": 3.25, "y": 3},
+ {"matrix": [3, 3], "x": 4.25, "y": 3},
+ {"matrix": [3, 4], "x": 5.25, "y": 3},
+ {"matrix": [3, 5], "x": 6.25, "y": 3},
+ {"matrix": [3, 6], "x": 7.25, "y": 3},
+ {"matrix": [3, 7], "x": 8.25, "y": 3},
+ {"matrix": [3, 8], "x": 9.25, "y": 3},
+ {"matrix": [3, 9], "x": 10.25, "y": 3},
+ {"matrix": [3, 10], "x": 11.25, "y": 3},
+ {"matrix": [4, 12], "x": 12.25, "y": 3, "w": 1.75},
+ {"matrix": [3, 13], "x": 14, "y": 3},
+ {"matrix": [4, 1], "x": 1.5, "y": 4},
+ {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.5},
+ {"matrix": [4, 6], "x": 4, "y": 4, "w": 7},
+ {"matrix": [4, 10], "x": 11, "y": 4, "w": 1.5},
+ {"matrix": [4, 11], "x": 12.5, "y": 4}
+ ]
+ },
+ "LAYOUT_60_ansi_tsangan_split_bs_rshift": {
+ "layout": [
+ {"matrix": [0, 0], "x": 0, "y": 0},
+ {"matrix": [0, 1], "x": 1, "y": 0},
+ {"matrix": [0, 2], "x": 2, "y": 0},
+ {"matrix": [0, 3], "x": 3, "y": 0},
+ {"matrix": [0, 4], "x": 4, "y": 0},
+ {"matrix": [0, 5], "x": 5, "y": 0},
+ {"matrix": [0, 6], "x": 6, "y": 0},
+ {"matrix": [0, 7], "x": 7, "y": 0},
+ {"matrix": [0, 8], "x": 8, "y": 0},
+ {"matrix": [0, 9], "x": 9, "y": 0},
+ {"matrix": [0, 10], "x": 10, "y": 0},
+ {"matrix": [0, 11], "x": 11, "y": 0},
+ {"matrix": [0, 12], "x": 12, "y": 0},
+ {"matrix": [0, 13], "x": 13, "y": 0},
+ {"matrix": [2, 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": [1, 13], "x": 13.5, "y": 1, "w": 1.5},
+ {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75},
+ {"matrix": [2, 1], "x": 1.75, "y": 2},
+ {"matrix": [2, 2], "x": 2.75, "y": 2},
+ {"matrix": [2, 3], "x": 3.75, "y": 2},
+ {"matrix": [2, 4], "x": 4.75, "y": 2},
+ {"matrix": [2, 5], "x": 5.75, "y": 2},
+ {"matrix": [2, 6], "x": 6.75, "y": 2},
+ {"matrix": [2, 7], "x": 7.75, "y": 2},
+ {"matrix": [2, 8], "x": 8.75, "y": 2},
+ {"matrix": [2, 9], "x": 9.75, "y": 2},
+ {"matrix": [2, 10], "x": 10.75, "y": 2},
+ {"matrix": [2, 11], "x": 11.75, "y": 2},
+ {"matrix": [2, 12], "x": 12.75, "y": 2, "w": 2.25},
+ {"matrix": [3, 0], "x": 0, "y": 3, "w": 2.25},
+ {"matrix": [3, 1], "x": 2.25, "y": 3},
+ {"matrix": [3, 2], "x": 3.25, "y": 3},
+ {"matrix": [3, 3], "x": 4.25, "y": 3},
+ {"matrix": [3, 4], "x": 5.25, "y": 3},
+ {"matrix": [3, 5], "x": 6.25, "y": 3},
+ {"matrix": [3, 6], "x": 7.25, "y": 3},
+ {"matrix": [3, 7], "x": 8.25, "y": 3},
+ {"matrix": [3, 8], "x": 9.25, "y": 3},
+ {"matrix": [3, 9], "x": 10.25, "y": 3},
+ {"matrix": [3, 10], "x": 11.25, "y": 3},
+ {"matrix": [4, 12], "x": 12.25, "y": 3, "w": 1.75},
+ {"matrix": [3, 13], "x": 14, "y": 3},
+ {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.5},
+ {"matrix": [4, 1], "x": 1.5, "y": 4},
+ {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.5},
+ {"matrix": [4, 6], "x": 4, "y": 4, "w": 7},
+ {"matrix": [4, 10], "x": 11, "y": 4, "w": 1.5},
+ {"matrix": [4, 11], "x": 12.5, "y": 4},
+ {"matrix": [4, 13], "x": 13.5, "y": 4, "w": 1.5}
+ ]
+ },
+ "LAYOUT_60_ansi_tsangan_split_rshift": {
+ "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": [2, 13], "x": 13, "y": 0, "w": 2},
+ {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5},
+ {"matrix": [1, 1], "x": 1.5, "y": 1},
+ {"matrix": [1, 2], "x": 2.5, "y": 1},
+ {"matrix": [1, 3], "x": 3.5, "y": 1},
+ {"matrix": [1, 4], "x": 4.5, "y": 1},
+ {"matrix": [1, 5], "x": 5.5, "y": 1},
+ {"matrix": [1, 6], "x": 6.5, "y": 1},
+ {"matrix": [1, 7], "x": 7.5, "y": 1},
+ {"matrix": [1, 8], "x": 8.5, "y": 1},
+ {"matrix": [1, 9], "x": 9.5, "y": 1},
+ {"matrix": [1, 10], "x": 10.5, "y": 1},
+ {"matrix": [1, 11], "x": 11.5, "y": 1},
+ {"matrix": [1, 12], "x": 12.5, "y": 1},
+ {"matrix": [1, 13], "x": 13.5, "y": 1, "w": 1.5},
+ {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75},
+ {"matrix": [2, 1], "x": 1.75, "y": 2},
+ {"matrix": [2, 2], "x": 2.75, "y": 2},
+ {"matrix": [2, 3], "x": 3.75, "y": 2},
+ {"matrix": [2, 4], "x": 4.75, "y": 2},
+ {"matrix": [2, 5], "x": 5.75, "y": 2},
+ {"matrix": [2, 6], "x": 6.75, "y": 2},
+ {"matrix": [2, 7], "x": 7.75, "y": 2},
+ {"matrix": [2, 8], "x": 8.75, "y": 2},
+ {"matrix": [2, 9], "x": 9.75, "y": 2},
+ {"matrix": [2, 10], "x": 10.75, "y": 2},
+ {"matrix": [2, 11], "x": 11.75, "y": 2},
+ {"matrix": [2, 12], "x": 12.75, "y": 2, "w": 2.25},
+ {"matrix": [3, 0], "x": 0, "y": 3, "w": 2.25},
+ {"matrix": [3, 1], "x": 2.25, "y": 3},
+ {"matrix": [3, 2], "x": 3.25, "y": 3},
+ {"matrix": [3, 3], "x": 4.25, "y": 3},
+ {"matrix": [3, 4], "x": 5.25, "y": 3},
+ {"matrix": [3, 5], "x": 6.25, "y": 3},
+ {"matrix": [3, 6], "x": 7.25, "y": 3},
+ {"matrix": [3, 7], "x": 8.25, "y": 3},
+ {"matrix": [3, 8], "x": 9.25, "y": 3},
+ {"matrix": [3, 9], "x": 10.25, "y": 3},
+ {"matrix": [3, 10], "x": 11.25, "y": 3},
+ {"matrix": [4, 12], "x": 12.25, "y": 3, "w": 1.75},
+ {"matrix": [3, 13], "x": 14, "y": 3},
+ {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.5},
+ {"matrix": [4, 1], "x": 1.5, "y": 4},
+ {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.5},
+ {"matrix": [4, 6], "x": 4, "y": 4, "w": 7},
+ {"matrix": [4, 10], "x": 11, "y": 4, "w": 1.5},
+ {"matrix": [4, 11], "x": 12.5, "y": 4},
+ {"matrix": [4, 13], "x": 13.5, "y": 4, "w": 1.5}
+ ]
+ }
+ }
+}
diff --git a/keyboards/keyten/kt60hs_t/v2/readme.md b/keyboards/keyten/kt60hs_t/v2/readme.md
new file mode 100644
index 0000000000..db2b8afccf
--- /dev/null
+++ b/keyboards/keyten/kt60hs_t/v2/readme.md
@@ -0,0 +1,29 @@
+# keyten kt60HS-T V2
+
+60% MX Hot-Swap Tsangan PCB
+
+![kt60HS-T image](https://i.imgur.com/vM32aoX.jpeg)
+
+**Note: This firmware only supports the PCB version with STM32F072 controller**
+
+* Keyboard Maintainer: [keyten](https://github.com/key10iq)
+* Hardware Supported: keyten kt60HS-T V2
+* Hardware Availability: private GB
+
+Make example for this keyboard (after setting up your build environment):
+
+ make keyten/kt60hs_t/v2:default
+
+Flashing example for this keyboard:
+
+ make keyten/kt60hs_t/v2:default:flash
+
+See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
+
+## Bootloader
+
+Enter the bootloader in 3 ways:
+
+* Bootmagic reset: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
+* Keycode in layout: Press the key mapped to `QK_BOOT` if it is available
+* Physical reset button: Hold the button on the back of the PCB
diff --git a/keyboards/keyten/lisa/keyboard.json b/keyboards/keyten/lisa/keyboard.json
index deac0f3740..44e71db705 100644
--- a/keyboards/keyten/lisa/keyboard.json
+++ b/keyboards/keyten/lisa/keyboard.json
@@ -7,7 +7,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/kezewa/enter67/keyboard.json b/keyboards/kezewa/enter67/keyboard.json
index df1d7f6b5b..eca9311377 100644
--- a/keyboards/kezewa/enter67/keyboard.json
+++ b/keyboards/kezewa/enter67/keyboard.json
@@ -19,7 +19,6 @@
"rows": ["A1", "A2", "A3", "A4", "A5"]
},
"processor": "STM32F072",
- "url": "",
"usb": {
"device_version": "0.0.1",
"pid": "0xAA66",
diff --git a/keyboards/kezewa/enter80/keyboard.json b/keyboards/kezewa/enter80/keyboard.json
index a4fe83b3ac..9e62163192 100644
--- a/keyboards/kezewa/enter80/keyboard.json
+++ b/keyboards/kezewa/enter80/keyboard.json
@@ -19,7 +19,6 @@
"cols": ["A1", "A3", "A4", "A5", "A6", "A7", "B0", "B1", "B11", "B12", "B13", "B14", "A8", "A9", "A10", "A15", "B3"],
"rows": ["B4", "B5", "B6", "B15", "B10", "B7"]
},
- "url": "",
"usb": {
"device_version": "0.0.1",
"pid": "0xFF65",
diff --git a/keyboards/kibou/fukuro/keyboard.json b/keyboards/kibou/fukuro/keyboard.json
index fa50cca964..c8ad6cc808 100644
--- a/keyboards/kibou/fukuro/keyboard.json
+++ b/keyboards/kibou/fukuro/keyboard.json
@@ -7,7 +7,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
@@ -17,7 +16,6 @@
"rows": ["A9", "A10", "C13", "A0", "A6"]
},
"processor": "STM32F072",
- "url": "",
"usb": {
"device_version": "0.0.1",
"pid": "0x0003",
diff --git a/keyboards/kibou/harbour/keyboard.json b/keyboards/kibou/harbour/keyboard.json
index a5417e1ae5..b6ee841d8b 100644
--- a/keyboards/kibou/harbour/keyboard.json
+++ b/keyboards/kibou/harbour/keyboard.json
@@ -7,7 +7,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/kibou/suisei/keyboard.json b/keyboards/kibou/suisei/keyboard.json
index f212df1bc7..7b74912e76 100644
--- a/keyboards/kibou/suisei/keyboard.json
+++ b/keyboards/kibou/suisei/keyboard.json
@@ -7,7 +7,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/kibou/wendy/keyboard.json b/keyboards/kibou/wendy/keyboard.json
index 1ab0ca8e7f..2f78f8f634 100644
--- a/keyboards/kibou/wendy/keyboard.json
+++ b/keyboards/kibou/wendy/keyboard.json
@@ -7,7 +7,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/kibou/winter/keyboard.json b/keyboards/kibou/winter/keyboard.json
index 47a359ec9b..5602ae39e6 100644
--- a/keyboards/kibou/winter/keyboard.json
+++ b/keyboards/kibou/winter/keyboard.json
@@ -7,7 +7,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/kikkou/keyboard.json b/keyboards/kikkou/keyboard.json
index af684bbc29..21c83ef3ea 100644
--- a/keyboards/kikkou/keyboard.json
+++ b/keyboards/kikkou/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Kikkou",
"manufacturer": "Mechwerkes",
- "url": "",
"maintainer": "Mechwerkes",
"usb": {
"vid": "0x6D65",
@@ -11,7 +10,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/kikoslab/ellora65/keyboard.json b/keyboards/kikoslab/ellora65/keyboard.json
index fdb60e4791..5f0c4f8d25 100644
--- a/keyboards/kikoslab/ellora65/keyboard.json
+++ b/keyboards/kikoslab/ellora65/keyboard.json
@@ -14,7 +14,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"encoder": true,
"extrakey": true,
"mousekey": true,
diff --git a/keyboards/kikoslab/kl90/keyboard.json b/keyboards/kikoslab/kl90/keyboard.json
index 0a107dfba8..ededcf280f 100644
--- a/keyboards/kikoslab/kl90/keyboard.json
+++ b/keyboards/kikoslab/kl90/keyboard.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"encoder": true,
"extrakey": true,
"mousekey": true,
diff --git a/keyboards/kin80/info.json b/keyboards/kin80/info.json
index 395742d88b..c531c329a4 100644
--- a/keyboards/kin80/info.json
+++ b/keyboards/kin80/info.json
@@ -5,7 +5,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false
diff --git a/keyboards/kindakeyboards/conone65/keyboard.json b/keyboards/kindakeyboards/conone65/keyboard.json
index 6786b6a3d5..9f5f7af4b7 100644
--- a/keyboards/kindakeyboards/conone65/keyboard.json
+++ b/keyboards/kindakeyboards/conone65/keyboard.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false
diff --git a/keyboards/kinesis/alvicstep/keyboard.json b/keyboards/kinesis/alvicstep/keyboard.json
index 951f01203c..78ea71c0b4 100644
--- a/keyboards/kinesis/alvicstep/keyboard.json
+++ b/keyboards/kinesis/alvicstep/keyboard.json
@@ -8,7 +8,6 @@
},
"features": {
"bootmagic": true,
- "console": false,
"command": false,
"mousekey": true,
"extrakey": true,
diff --git a/keyboards/kinesis/info.json b/keyboards/kinesis/info.json
index 49025977bd..066f072ebd 100644
--- a/keyboards/kinesis/info.json
+++ b/keyboards/kinesis/info.json
@@ -1,5 +1,4 @@
{
- "url": "",
"maintainer": "qmk",
"qmk": {
"locking": {
diff --git a/keyboards/kinesis/kint2pp/keyboard.json b/keyboards/kinesis/kint2pp/keyboard.json
index 48d77942db..590ad0fb42 100644
--- a/keyboards/kinesis/kint2pp/keyboard.json
+++ b/keyboards/kinesis/kint2pp/keyboard.json
@@ -9,7 +9,6 @@
},
"features": {
"bootmagic": true,
- "console": false,
"command": false,
"mousekey": true,
"extrakey": true,
diff --git a/keyboards/kinesis/kint36/keyboard.json b/keyboards/kinesis/kint36/keyboard.json
index 592fade4cb..a2273a65ba 100644
--- a/keyboards/kinesis/kint36/keyboard.json
+++ b/keyboards/kinesis/kint36/keyboard.json
@@ -9,7 +9,6 @@
},
"features": {
"bootmagic": true,
- "console": false,
"command": false,
"mousekey": true,
"extrakey": true,
diff --git a/keyboards/kinesis/kint41/keyboard.json b/keyboards/kinesis/kint41/keyboard.json
index c1eb7b8465..e08d75e211 100644
--- a/keyboards/kinesis/kint41/keyboard.json
+++ b/keyboards/kinesis/kint41/keyboard.json
@@ -9,7 +9,6 @@
},
"features": {
"bootmagic": true,
- "console": false,
"command": false,
"mousekey": true,
"extrakey": true,
diff --git a/keyboards/kinesis/kintlc/keyboard.json b/keyboards/kinesis/kintlc/keyboard.json
index 07c81e1c89..9a40c912f2 100644
--- a/keyboards/kinesis/kintlc/keyboard.json
+++ b/keyboards/kinesis/kintlc/keyboard.json
@@ -9,7 +9,6 @@
},
"features": {
"bootmagic": true,
- "console": false,
"command": false,
"mousekey": true,
"extrakey": true,
diff --git a/keyboards/kinesis/kintwin/keyboard.json b/keyboards/kinesis/kintwin/keyboard.json
index 92727e9ecb..528a2ca7a2 100644
--- a/keyboards/kinesis/kintwin/keyboard.json
+++ b/keyboards/kinesis/kintwin/keyboard.json
@@ -14,7 +14,6 @@
},
"features": {
"bootmagic": true,
- "console": false,
"command": false,
"mousekey": true,
"extrakey": true,
diff --git a/keyboards/kinesis/nguyenvietyen/keyboard.json b/keyboards/kinesis/nguyenvietyen/keyboard.json
index 68bdd0f767..f1765183cc 100644
--- a/keyboards/kinesis/nguyenvietyen/keyboard.json
+++ b/keyboards/kinesis/nguyenvietyen/keyboard.json
@@ -8,7 +8,6 @@
},
"features": {
"bootmagic": true,
- "console": false,
"command": true,
"mousekey": true,
"extrakey": true,
diff --git a/keyboards/kinesis/stapelberg/keyboard.json b/keyboards/kinesis/stapelberg/keyboard.json
index 6ad972d247..a17fdbf8fe 100644
--- a/keyboards/kinesis/stapelberg/keyboard.json
+++ b/keyboards/kinesis/stapelberg/keyboard.json
@@ -8,7 +8,6 @@
},
"features": {
"bootmagic": true,
- "console": false,
"command": false,
"mousekey": true,
"extrakey": true,
diff --git a/keyboards/kineticlabs/emu/hotswap/keyboard.json b/keyboards/kineticlabs/emu/hotswap/keyboard.json
index ec53c2f6bf..e685ffb5d9 100644
--- a/keyboards/kineticlabs/emu/hotswap/keyboard.json
+++ b/keyboards/kineticlabs/emu/hotswap/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Emu Hotswap",
"manufacturer": "Kineticlabs",
- "url": "",
"maintainer": "kb-elmo<[email protected]>",
"usb": {
"vid": "0xE015",
@@ -11,7 +10,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": false
diff --git a/keyboards/kineticlabs/emu/soldered/keyboard.json b/keyboards/kineticlabs/emu/soldered/keyboard.json
index 4aaf523d2a..a48048ef2f 100644
--- a/keyboards/kineticlabs/emu/soldered/keyboard.json
+++ b/keyboards/kineticlabs/emu/soldered/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Emu Soldered",
"manufacturer": "Kineticlabs",
- "url": "",
"maintainer": "kb-elmo<[email protected]>",
"usb": {
"vid": "0xE015",
@@ -11,7 +10,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": false
diff --git a/keyboards/kingly_keys/ave/ortho/keyboard.json b/keyboards/kingly_keys/ave/ortho/keyboard.json
index 27fb2666a2..ffb4bf723c 100644
--- a/keyboards/kingly_keys/ave/ortho/keyboard.json
+++ b/keyboards/kingly_keys/ave/ortho/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "The Ave. Ortholinear",
"manufacturer": "Kingly-Keys",
- "url": "",
"maintainer": "the-royal",
"usb": {
"vid": "0x4B4B",
@@ -11,7 +10,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"encoder": true,
"extrakey": true,
"mousekey": true,
diff --git a/keyboards/kingly_keys/ave/staggered/keyboard.json b/keyboards/kingly_keys/ave/staggered/keyboard.json
index 5fcb1657e3..72719811d1 100644
--- a/keyboards/kingly_keys/ave/staggered/keyboard.json
+++ b/keyboards/kingly_keys/ave/staggered/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "The Ave. Staggered",
"manufacturer": "Kingly-Keys",
- "url": "",
"maintainer": "the-royal",
"usb": {
"vid": "0x4B4B",
@@ -11,7 +10,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"encoder": true,
"extrakey": true,
"mousekey": true,
diff --git a/keyboards/kingly_keys/little_foot/keyboard.json b/keyboards/kingly_keys/little_foot/keyboard.json
index a511d48905..cea54a0171 100644
--- a/keyboards/kingly_keys/little_foot/keyboard.json
+++ b/keyboards/kingly_keys/little_foot/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "The Little Foot",
"manufacturer": "Kingly-Keys",
- "url": "",
"maintainer": "TheRoyalSweatshirt",
"usb": {
"vid": "0xFEED",
@@ -33,7 +32,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/kingly_keys/romac/keyboard.json b/keyboards/kingly_keys/romac/keyboard.json
index 9927bdc25f..cd3c61bb20 100644
--- a/keyboards/kingly_keys/romac/keyboard.json
+++ b/keyboards/kingly_keys/romac/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "RoMac",
"manufacturer": "TheRoyalSweatshirt",
- "url": "",
"maintainer": "TheRoyalSweatshirt",
"usb": {
"vid": "0x4B4B",
@@ -11,7 +10,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/kingly_keys/romac_plus/keyboard.json b/keyboards/kingly_keys/romac_plus/keyboard.json
index 8b6c43333d..847a0f8983 100644
--- a/keyboards/kingly_keys/romac_plus/keyboard.json
+++ b/keyboards/kingly_keys/romac_plus/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "RoMac+",
"manufacturer": "TheRoyalSweatshirt",
- "url": "",
"maintainer": "TheRoyalSweatshirt",
"usb": {
"vid": "0x4B4B",
@@ -11,7 +10,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"encoder": true,
"extrakey": true,
"mousekey": true,
diff --git a/keyboards/kingly_keys/ropro/keyboard.json b/keyboards/kingly_keys/ropro/keyboard.json
index fb22d06a7d..9fcd31fce9 100644
--- a/keyboards/kingly_keys/ropro/keyboard.json
+++ b/keyboards/kingly_keys/ropro/keyboard.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"encoder": true,
"extrakey": true,
"mousekey": true,
diff --git a/keyboards/kingly_keys/smd_milk/keyboard.json b/keyboards/kingly_keys/smd_milk/keyboard.json
index 9f8a10a5bf..943599dad1 100644
--- a/keyboards/kingly_keys/smd_milk/keyboard.json
+++ b/keyboards/kingly_keys/smd_milk/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "SMD-2% Milk",
"manufacturer": "Kingly-Keys",
- "url": "",
"maintainer": "TheRoyalSweatshirt",
"usb": {
"vid": "0xFEED",
diff --git a/keyboards/kingly_keys/soap/keyboard.json b/keyboards/kingly_keys/soap/keyboard.json
index 615014ffbf..a8c558bbba 100644
--- a/keyboards/kingly_keys/soap/keyboard.json
+++ b/keyboards/kingly_keys/soap/keyboard.json
@@ -29,7 +29,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"encoder": true,
"extrakey": true,
"mousekey": true,
diff --git a/keyboards/kira/kira75/keyboard.json b/keyboards/kira/kira75/keyboard.json
index fb4c90a8b5..a974b10161 100644
--- a/keyboards/kira/kira75/keyboard.json
+++ b/keyboards/kira/kira75/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Kira 75",
"manufacturer": "thesiscamper",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0xFEED",
diff --git a/keyboards/kira/kira80/keyboard.json b/keyboards/kira/kira80/keyboard.json
index 137e1f6565..c66c919a42 100644
--- a/keyboards/kira/kira80/keyboard.json
+++ b/keyboards/kira/kira80/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Kira80",
"manufacturer": "EVE",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0x6986",
@@ -12,7 +11,6 @@
"backlight": true,
"bootmagic": false,
"command": true,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": false
diff --git a/keyboards/kiserdesigns/madeline/keyboard.json b/keyboards/kiserdesigns/madeline/keyboard.json
index 8a1a988a6f..a953f869ef 100644
--- a/keyboards/kiserdesigns/madeline/keyboard.json
+++ b/keyboards/kiserdesigns/madeline/keyboard.json
@@ -13,7 +13,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/kiwikeebs/macro/keyboard.json b/keyboards/kiwikeebs/macro/keyboard.json
index faaebe88cf..9e8e9cbf7b 100644
--- a/keyboards/kiwikeebs/macro/keyboard.json
+++ b/keyboards/kiwikeebs/macro/keyboard.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"encoder": true,
"extrakey": true,
"mousekey": true,
diff --git a/keyboards/kiwikeebs/macro_v2/keyboard.json b/keyboards/kiwikeebs/macro_v2/keyboard.json
index 3848457990..51fd39a67a 100644
--- a/keyboards/kiwikeebs/macro_v2/keyboard.json
+++ b/keyboards/kiwikeebs/macro_v2/keyboard.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"encoder": true,
"extrakey": true,
"mousekey": true,
diff --git a/keyboards/kiwikey/wanderland/keyboard.json b/keyboards/kiwikey/wanderland/keyboard.json
index 3dd7c668ac..3675f8a86e 100644
--- a/keyboards/kiwikey/wanderland/keyboard.json
+++ b/keyboards/kiwikey/wanderland/keyboard.json
@@ -12,7 +12,6 @@
"backlight": true,
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false,
diff --git a/keyboards/kj_modify/rs40/keyboard.json b/keyboards/kj_modify/rs40/keyboard.json
index a869383bd7..b2ebe8b08c 100644
--- a/keyboards/kj_modify/rs40/keyboard.json
+++ b/keyboards/kj_modify/rs40/keyboard.json
@@ -7,7 +7,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/kk/65/keyboard.json b/keyboards/kk/65/keyboard.json
index 49c52eec80..fe5296fd5b 100644
--- a/keyboards/kk/65/keyboard.json
+++ b/keyboards/kk/65/keyboard.json
@@ -7,7 +7,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
@@ -23,7 +22,6 @@
"rows": ["D7", "B4", "B5", "B6", "B7"]
},
"processor": "atmega32u4",
- "url": "",
"usb": {
"device_version": "1.0.0",
"pid": "0x0001",
diff --git a/keyboards/kkatano/bakeneko60/keyboard.json b/keyboards/kkatano/bakeneko60/keyboard.json
index 094cc71728..6eff62e1dc 100644
--- a/keyboards/kkatano/bakeneko60/keyboard.json
+++ b/keyboards/kkatano/bakeneko60/keyboard.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false
diff --git a/keyboards/kkatano/bakeneko65/rev2/keyboard.json b/keyboards/kkatano/bakeneko65/rev2/keyboard.json
index 93ac8a5e50..173863f565 100644
--- a/keyboards/kkatano/bakeneko65/rev2/keyboard.json
+++ b/keyboards/kkatano/bakeneko65/rev2/keyboard.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false
diff --git a/keyboards/kkatano/bakeneko65/rev3/keyboard.json b/keyboards/kkatano/bakeneko65/rev3/keyboard.json
index 3892da5d04..f1d99dac55 100644
--- a/keyboards/kkatano/bakeneko65/rev3/keyboard.json
+++ b/keyboards/kkatano/bakeneko65/rev3/keyboard.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false
diff --git a/keyboards/knobgoblin/keyboard.json b/keyboards/knobgoblin/keyboard.json
index 8494eea465..4886a47da3 100644
--- a/keyboards/knobgoblin/keyboard.json
+++ b/keyboards/knobgoblin/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Knob Goblin",
"manufacturer": "MrT1ddl3s",
- "url": "",
"maintainer": "MrT1ddl3s",
"usb": {
"vid": "0x4B47",
diff --git a/keyboards/kona_classic/keyboard.json b/keyboards/kona_classic/keyboard.json
index 79bef89bb6..716df4759f 100644
--- a/keyboards/kona_classic/keyboard.json
+++ b/keyboards/kona_classic/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Kona Classic",
"manufacturer": "Dangerous Parts",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0xFEED",
diff --git a/keyboards/kopibeng/mnk60/keyboard.json b/keyboards/kopibeng/mnk60/keyboard.json
index 0477ac560d..3daec9131d 100644
--- a/keyboards/kopibeng/mnk60/keyboard.json
+++ b/keyboards/kopibeng/mnk60/keyboard.json
@@ -14,7 +14,6 @@
"features": {
"bootmagic": true,
"command": true,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/kopibeng/mnk60_stm32/keyboard.json b/keyboards/kopibeng/mnk60_stm32/keyboard.json
index 8b2278aff0..75d7361aec 100644
--- a/keyboards/kopibeng/mnk60_stm32/keyboard.json
+++ b/keyboards/kopibeng/mnk60_stm32/keyboard.json
@@ -7,7 +7,6 @@
"features": {
"bootmagic": true,
"command": true,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/kopibeng/mnk65_stm32/keyboard.json b/keyboards/kopibeng/mnk65_stm32/keyboard.json
index c71394ba84..e425863d70 100644
--- a/keyboards/kopibeng/mnk65_stm32/keyboard.json
+++ b/keyboards/kopibeng/mnk65_stm32/keyboard.json
@@ -7,7 +7,6 @@
"features": {
"bootmagic": true,
"command": true,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/kopibeng/tgr_lena/keyboard.json b/keyboards/kopibeng/tgr_lena/keyboard.json
index 2460b04a5a..af9568fb8e 100644
--- a/keyboards/kopibeng/tgr_lena/keyboard.json
+++ b/keyboards/kopibeng/tgr_lena/keyboard.json
@@ -7,7 +7,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/kopibeng/typ65/keyboard.json b/keyboards/kopibeng/typ65/keyboard.json
index 57a23da4ad..aedb7cb7d9 100644
--- a/keyboards/kopibeng/typ65/keyboard.json
+++ b/keyboards/kopibeng/typ65/keyboard.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": true,
"command": true,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/kopibeng/xt60/keyboard.json b/keyboards/kopibeng/xt60/keyboard.json
index 24dc8f490b..8fbd8793a3 100644
--- a/keyboards/kopibeng/xt60/keyboard.json
+++ b/keyboards/kopibeng/xt60/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "XT60",
"manufacturer": "kopibeng",
- "url": "",
"maintainer": "Kopibeng",
"usb": {
"vid": "0x4B50",
@@ -26,7 +25,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/kopibeng/xt60_singa/keyboard.json b/keyboards/kopibeng/xt60_singa/keyboard.json
index b1d239cd20..a6a27191d4 100644
--- a/keyboards/kopibeng/xt60_singa/keyboard.json
+++ b/keyboards/kopibeng/xt60_singa/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "XT60_SINGA",
"manufacturer": "kopibeng",
- "url": "",
"maintainer": "Kopibeng",
"usb": {
"vid": "0x4B50",
@@ -26,7 +25,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/kopibeng/xt65/keyboard.json b/keyboards/kopibeng/xt65/keyboard.json
index c73ff703d5..47d1fdeeed 100644
--- a/keyboards/kopibeng/xt65/keyboard.json
+++ b/keyboards/kopibeng/xt65/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "XT65",
"manufacturer": "kopibeng",
- "url": "",
"maintainer": "kopibeng",
"usb": {
"vid": "0x4B50",
@@ -12,7 +11,6 @@
"backlight": true,
"bootmagic": true,
"command": true,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/kopibeng/xt8x/keyboard.json b/keyboards/kopibeng/xt8x/keyboard.json
index 7167cb1d07..ad6c044982 100644
--- a/keyboards/kopibeng/xt8x/keyboard.json
+++ b/keyboards/kopibeng/xt8x/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "XT8x",
"manufacturer": "kopibeng",
- "url": "",
"maintainer": "kopibeng",
"usb": {
"vid": "0x4B50",
diff --git a/keyboards/kprepublic/bm16a/v1/keyboard.json b/keyboards/kprepublic/bm16a/v1/keyboard.json
index 85173a89cc..5c37f26354 100644
--- a/keyboards/kprepublic/bm16a/v1/keyboard.json
+++ b/keyboards/kprepublic/bm16a/v1/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "bm16a",
"manufacturer": "KPrepublic",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0x4B50",
@@ -14,7 +13,6 @@
"bootmagic": true,
"mousekey": true,
"extrakey": true,
- "console": false,
"command": false,
"nkro": true,
"backlight": true,
diff --git a/keyboards/kprepublic/bm16a/v2/keyboard.json b/keyboards/kprepublic/bm16a/v2/keyboard.json
index e922d0b9ee..92973e875e 100644
--- a/keyboards/kprepublic/bm16a/v2/keyboard.json
+++ b/keyboards/kprepublic/bm16a/v2/keyboard.json
@@ -7,7 +7,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
@@ -22,7 +21,6 @@
"rows": ["A8", "A9", "B5", "B3"]
},
"processor": "STM32F103", // GD32F303CCT6
- "url": "",
"usb": {
"device_version": "0.0.2",
"pid": "0x016C",
diff --git a/keyboards/kprepublic/bm16s/keyboard.json b/keyboards/kprepublic/bm16s/keyboard.json
index 8c6ce05bb9..0c339b7d0b 100644
--- a/keyboards/kprepublic/bm16s/keyboard.json
+++ b/keyboards/kprepublic/bm16s/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "bm16s",
"manufacturer": "KPrepublic",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0x4B50",
@@ -31,7 +30,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/kprepublic/bm40hsrgb/rev1/keyboard.json b/keyboards/kprepublic/bm40hsrgb/rev1/keyboard.json
index 7bdeafbcad..f2c80e1781 100644
--- a/keyboards/kprepublic/bm40hsrgb/rev1/keyboard.json
+++ b/keyboards/kprepublic/bm40hsrgb/rev1/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "BM40 Hotswap RGB",
"manufacturer": "KPRepublic",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0x4B50",
@@ -67,7 +66,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false,
diff --git a/keyboards/kprepublic/bm40hsrgb/rev2/keyboard.json b/keyboards/kprepublic/bm40hsrgb/rev2/keyboard.json
index 525a6088ed..eff8d8eb66 100644
--- a/keyboards/kprepublic/bm40hsrgb/rev2/keyboard.json
+++ b/keyboards/kprepublic/bm40hsrgb/rev2/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "BM40 Hotswap RGB",
"manufacturer": "KPRepublic",
- "url": "",
"maintainer": "qmk",
"features": {
"bootmagic": true,
@@ -10,7 +9,6 @@
"rgblight": true,
"rgb_matrix": true,
"tri_layer": true,
- "console": false,
"command": false,
"nkro": false
},
diff --git a/keyboards/kprepublic/bm43a/keyboard.json b/keyboards/kprepublic/bm43a/keyboard.json
index 79c089c68c..28c8f259d1 100644
--- a/keyboards/kprepublic/bm43a/keyboard.json
+++ b/keyboards/kprepublic/bm43a/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "BM43A",
"manufacturer": "KPRepublic",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0xFEED",
diff --git a/keyboards/kprepublic/bm43hsrgb/keyboard.json b/keyboards/kprepublic/bm43hsrgb/keyboard.json
index 9fa40bdd9c..b69ba814c3 100755
--- a/keyboards/kprepublic/bm43hsrgb/keyboard.json
+++ b/keyboards/kprepublic/bm43hsrgb/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "BM43 Hotswap RGB",
"manufacturer": "KPRepublic",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0x4B50",
@@ -32,7 +31,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false,
diff --git a/keyboards/kprepublic/bm60hsrgb/rev1/keyboard.json b/keyboards/kprepublic/bm60hsrgb/rev1/keyboard.json
index 5fe5d21014..82c23ed3ef 100644
--- a/keyboards/kprepublic/bm60hsrgb/rev1/keyboard.json
+++ b/keyboards/kprepublic/bm60hsrgb/rev1/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "BM60HSRGB",
"manufacturer": "KP Republic",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0x4B50",
@@ -69,7 +68,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false,
diff --git a/keyboards/kprepublic/bm60hsrgb/rev2/keyboard.json b/keyboards/kprepublic/bm60hsrgb/rev2/keyboard.json
index a82d5159cf..3783ebb8b2 100644
--- a/keyboards/kprepublic/bm60hsrgb/rev2/keyboard.json
+++ b/keyboards/kprepublic/bm60hsrgb/rev2/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "BM60V2",
"manufacturer": "KP Republic",
- "url": "",
"maintainer": "bdtc123",
"usb": {
"vid": "0x4B50",
diff --git a/keyboards/kprepublic/bm60hsrgb_ec/rev1/keyboard.json b/keyboards/kprepublic/bm60hsrgb_ec/rev1/keyboard.json
index 0a9b283131..42d04a4781 100644
--- a/keyboards/kprepublic/bm60hsrgb_ec/rev1/keyboard.json
+++ b/keyboards/kprepublic/bm60hsrgb_ec/rev1/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "BM60HSRGB_EC Rev1",
"manufacturer": "KP Republic",
- "url": "",
"maintainer": "peepeetee",
"usb": {
"vid": "0x4B50",
@@ -60,7 +59,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"encoder": true,
"extrakey": true,
"mousekey": true,
diff --git a/keyboards/kprepublic/bm60hsrgb_ec/rev2/keyboard.json b/keyboards/kprepublic/bm60hsrgb_ec/rev2/keyboard.json
index 09124e03a9..ac83b152af 100644
--- a/keyboards/kprepublic/bm60hsrgb_ec/rev2/keyboard.json
+++ b/keyboards/kprepublic/bm60hsrgb_ec/rev2/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "BM60HSRGB_EC Rev2",
"manufacturer": "KP Republic",
- "url": "",
"maintainer": "peepeetee",
"usb": {
"vid": "0x4B50",
@@ -67,7 +66,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"encoder": true,
"extrakey": true,
"mousekey": true,
diff --git a/keyboards/kprepublic/bm60hsrgb_iso/rev1/keyboard.json b/keyboards/kprepublic/bm60hsrgb_iso/rev1/keyboard.json
index 4cd2c48440..b1daf2e718 100644
--- a/keyboards/kprepublic/bm60hsrgb_iso/rev1/keyboard.json
+++ b/keyboards/kprepublic/bm60hsrgb_iso/rev1/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "BM60HSRGB_ISO Rev1",
"manufacturer": "KPRepublic",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0x4B50",
@@ -66,7 +65,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false,
diff --git a/keyboards/kprepublic/bm60hsrgb_iso/rev2/keyboard.json b/keyboards/kprepublic/bm60hsrgb_iso/rev2/keyboard.json
index e84817122e..3a0df3e414 100644
--- a/keyboards/kprepublic/bm60hsrgb_iso/rev2/keyboard.json
+++ b/keyboards/kprepublic/bm60hsrgb_iso/rev2/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "BM60HSRGB_ISO Rev2",
"manufacturer": "KPRepublic",
- "url": "",
"maintainer": "kp republic",
"usb": {
"vid": "0x4B50",
diff --git a/keyboards/kprepublic/bm60hsrgb_poker/rev1/keyboard.json b/keyboards/kprepublic/bm60hsrgb_poker/rev1/keyboard.json
index d7923b8432..9e5e1ea3e7 100644
--- a/keyboards/kprepublic/bm60hsrgb_poker/rev1/keyboard.json
+++ b/keyboards/kprepublic/bm60hsrgb_poker/rev1/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "BM60HSRGB Poker Rev1",
"manufacturer": "KPrepublic",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0x4B50",
@@ -81,7 +80,6 @@
"features": {
"bootmagic": false,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false,
diff --git a/keyboards/kprepublic/bm60hsrgb_poker/rev2/keyboard.json b/keyboards/kprepublic/bm60hsrgb_poker/rev2/keyboard.json
index 62ff452a68..f3edf59fec 100644
--- a/keyboards/kprepublic/bm60hsrgb_poker/rev2/keyboard.json
+++ b/keyboards/kprepublic/bm60hsrgb_poker/rev2/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "BM60HSRGB Poker Rev2",
"manufacturer": "KPrepublic",
- "url": "",
"maintainer": "bdtc123",
"usb": {
"vid": "0x4B50",
diff --git a/keyboards/kprepublic/bm65hsrgb/rev1/keyboard.json b/keyboards/kprepublic/bm65hsrgb/rev1/keyboard.json
index dc63acfa41..060fa19e7e 100644
--- a/keyboards/kprepublic/bm65hsrgb/rev1/keyboard.json
+++ b/keyboards/kprepublic/bm65hsrgb/rev1/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "BM65HSRGB",
"manufacturer": "KPrepublic",
- "url": "",
"maintainer": "bytesapart",
"usb": {
"vid": "0x4B50",
@@ -20,7 +19,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/kprepublic/bm65hsrgb_iso/rev1/keyboard.json b/keyboards/kprepublic/bm65hsrgb_iso/rev1/keyboard.json
index 53b132713c..e596453e7e 100644
--- a/keyboards/kprepublic/bm65hsrgb_iso/rev1/keyboard.json
+++ b/keyboards/kprepublic/bm65hsrgb_iso/rev1/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "BM65HSRGB ISO",
"manufacturer": "KPrepublic",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0x4B50",
@@ -87,7 +86,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/kprepublic/bm68hsrgb/rev1/keyboard.json b/keyboards/kprepublic/bm68hsrgb/rev1/keyboard.json
index 6e2d3a9208..047f74d32a 100644
--- a/keyboards/kprepublic/bm68hsrgb/rev1/keyboard.json
+++ b/keyboards/kprepublic/bm68hsrgb/rev1/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "BM68HSRGB Rev1",
"manufacturer": "KPrepublic",
- "url": "",
"maintainer": "peepeetee",
"usb": {
"vid": "0x4B50",
@@ -66,7 +65,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/kprepublic/bm68hsrgb/rev2/keyboard.json b/keyboards/kprepublic/bm68hsrgb/rev2/keyboard.json
index 7df1af5902..e549820452 100644
--- a/keyboards/kprepublic/bm68hsrgb/rev2/keyboard.json
+++ b/keyboards/kprepublic/bm68hsrgb/rev2/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "BM68HSRGB Rev2",
"manufacturer": "KPrepublic",
- "url": "",
"maintainer": "bdtc123",
"usb": {
"vid": "0x4B50",
@@ -73,7 +72,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": true,
diff --git a/keyboards/kprepublic/bm80hsrgb/keyboard.json b/keyboards/kprepublic/bm80hsrgb/keyboard.json
index 5a4d65fbcd..3bfb9e2d29 100644
--- a/keyboards/kprepublic/bm80hsrgb/keyboard.json
+++ b/keyboards/kprepublic/bm80hsrgb/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "BM80HSRGB",
"manufacturer": "KPRepublic",
- "url": "",
"maintainer": "peepeetee",
"usb": {
"vid": "0x4B50",
@@ -64,7 +63,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/kprepublic/bm80v2/keyboard.json b/keyboards/kprepublic/bm80v2/keyboard.json
index dd985550bb..6982c69f12 100644
--- a/keyboards/kprepublic/bm80v2/keyboard.json
+++ b/keyboards/kprepublic/bm80v2/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "BM80v2",
"manufacturer": "KPrepublic",
- "url": "",
"maintainer": "edwardslau",
"usb": {
"vid": "0x4B50",
@@ -55,7 +54,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": true,
diff --git a/keyboards/kprepublic/bm80v2_iso/keyboard.json b/keyboards/kprepublic/bm80v2_iso/keyboard.json
index 46ab7a5e8b..c7210e05ad 100644
--- a/keyboards/kprepublic/bm80v2_iso/keyboard.json
+++ b/keyboards/kprepublic/bm80v2_iso/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "BM80v2 ISO",
"manufacturer": "KPrepublic",
- "url": "",
"maintainer": "edwardslau",
"usb": {
"vid": "0x4B50",
@@ -55,7 +54,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": true,
diff --git a/keyboards/kprepublic/bm980hsrgb/keyboard.json b/keyboards/kprepublic/bm980hsrgb/keyboard.json
index 8ee498b7b6..9d9578b948 100644
--- a/keyboards/kprepublic/bm980hsrgb/keyboard.json
+++ b/keyboards/kprepublic/bm980hsrgb/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "BM980 Hotswap RGB",
"manufacturer": "KPrepublic",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0x4B50",
@@ -17,7 +16,6 @@
"features": {
"bootmagic": false,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": true,
diff --git a/keyboards/kprepublic/cospad/keyboard.json b/keyboards/kprepublic/cospad/keyboard.json
index 51a824b816..b7b3682be5 100644
--- a/keyboards/kprepublic/cospad/keyboard.json
+++ b/keyboards/kprepublic/cospad/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Cospad",
"manufacturer": "KPrepublic",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0x4B5C",
@@ -12,7 +11,6 @@
"backlight": true,
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": true,
diff --git a/keyboards/kprepublic/cstc40/info.json b/keyboards/kprepublic/cstc40/info.json
index 44d12fc22f..79b9a0ae63 100644
--- a/keyboards/kprepublic/cstc40/info.json
+++ b/keyboards/kprepublic/cstc40/info.json
@@ -8,14 +8,12 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
"rgb_matrix": true
},
"processor": "STM32F401",
- "url": "",
"usb": {
"device_version": "1.0.0",
"pid": "0x0040",
diff --git a/keyboards/kprepublic/jj40/rev1/keyboard.json b/keyboards/kprepublic/jj40/rev1/keyboard.json
index 3ac3e2f02c..201f916ee3 100644
--- a/keyboards/kprepublic/jj40/rev1/keyboard.json
+++ b/keyboards/kprepublic/jj40/rev1/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "JJ40 rev1",
"manufacturer": "KPrepublic",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0x4B50",
diff --git a/keyboards/kprepublic/jj4x4/keyboard.json b/keyboards/kprepublic/jj4x4/keyboard.json
index 2f53db2e88..ac28cba94e 100644
--- a/keyboards/kprepublic/jj4x4/keyboard.json
+++ b/keyboards/kprepublic/jj4x4/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "JJ4x4",
"manufacturer": "KPrepublic",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0x4B50",
@@ -13,7 +12,6 @@
"backlight": true,
"bootmagic": false,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": false,
diff --git a/keyboards/kprepublic/jj50/rev1/keyboard.json b/keyboards/kprepublic/jj50/rev1/keyboard.json
index c9f191ef9c..7eed1349e0 100644
--- a/keyboards/kprepublic/jj50/rev1/keyboard.json
+++ b/keyboards/kprepublic/jj50/rev1/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "JJ50 rev1",
"manufacturer": "KPrepublic",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0x4B50",
diff --git a/keyboards/kprepublic/jj50/rev2/keyboard.json b/keyboards/kprepublic/jj50/rev2/keyboard.json
index b739c20713..4327c4be97 100644
--- a/keyboards/kprepublic/jj50/rev2/keyboard.json
+++ b/keyboards/kprepublic/jj50/rev2/keyboard.json
@@ -39,11 +39,9 @@
"twinkle": true
},
"brightness_steps": 8,
- "hue_steps": 8,
"led_count": 6,
"saturation_steps": 8
},
- "url": "",
"usb": {
"device_version": "2.0.0",
"pid": "0x0050",
diff --git a/keyboards/kradoindustries/kousa/keyboard.json b/keyboards/kradoindustries/kousa/keyboard.json
index 196e863bf5..f387d69eef 100644
--- a/keyboards/kradoindustries/kousa/keyboard.json
+++ b/keyboards/kradoindustries/kousa/keyboard.json
@@ -14,7 +14,6 @@
"bootmagic": true,
"mousekey": true,
"extrakey": true,
- "console": false,
"command": false,
"nkro": true,
"encoder": true,
diff --git a/keyboards/kradoindustries/krado66/keyboard.json b/keyboards/kradoindustries/krado66/keyboard.json
index aefadf12de..188ac66c60 100644
--- a/keyboards/kradoindustries/krado66/keyboard.json
+++ b/keyboards/kradoindustries/krado66/keyboard.json
@@ -14,7 +14,6 @@
"bootmagic": true,
"mousekey": true,
"extrakey": true,
- "console": false,
"command": false,
"nkro": true,
"encoder": true,
diff --git a/keyboards/kradoindustries/promenade/keyboard.json b/keyboards/kradoindustries/promenade/keyboard.json
index 1de6ef7315..fb0d380993 100644
--- a/keyboards/kradoindustries/promenade/keyboard.json
+++ b/keyboards/kradoindustries/promenade/keyboard.json
@@ -15,7 +15,6 @@
"bootmagic": true,
"mousekey": true,
"extrakey": true,
- "console": false,
"command": false,
"nkro": true,
"rgblight": true
diff --git a/keyboards/kradoindustries/promenade_rp24s/keyboard.json b/keyboards/kradoindustries/promenade_rp24s/keyboard.json
index c0d4a7f535..bb68b6ece5 100644
--- a/keyboards/kradoindustries/promenade_rp24s/keyboard.json
+++ b/keyboards/kradoindustries/promenade_rp24s/keyboard.json
@@ -14,7 +14,6 @@
"bootmagic": true,
"mousekey": true,
"extrakey": true,
- "console": false,
"command": false,
"nkro": true,
"encoder": true,
diff --git a/keyboards/kraken_jones/pteron56/keyboard.json b/keyboards/kraken_jones/pteron56/keyboard.json
index 0af1f6b735..79357e3609 100644
--- a/keyboards/kraken_jones/pteron56/keyboard.json
+++ b/keyboards/kraken_jones/pteron56/keyboard.json
@@ -18,7 +18,6 @@
"bootmagic": true,
"mousekey": true,
"extrakey": true,
- "console": false,
"command": false,
"nkro": true
},
diff --git a/keyboards/ktec/daisy/keyboard.json b/keyboards/ktec/daisy/keyboard.json
index d0a24f5b0d..44c3a789a6 100644
--- a/keyboards/ktec/daisy/keyboard.json
+++ b/keyboards/ktec/daisy/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Daisy",
"manufacturer": "KTEC",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0x4B50",
@@ -12,7 +11,6 @@
"backlight": true,
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": false,
diff --git a/keyboards/ktec/staryu/keyboard.json b/keyboards/ktec/staryu/keyboard.json
index a2799703be..42adb61df5 100644
--- a/keyboards/ktec/staryu/keyboard.json
+++ b/keyboards/ktec/staryu/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Staryu",
"manufacturer": "K.T.E.C.",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0x1209",
@@ -41,7 +40,6 @@
"backlight": true,
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": false,
diff --git a/keyboards/kumaokobo/kudox_game/info.json b/keyboards/kumaokobo/kudox_game/info.json
index 6968b5e427..8750facede 100644
--- a/keyboards/kumaokobo/kudox_game/info.json
+++ b/keyboards/kumaokobo/kudox_game/info.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "The Kudox Game Keyboard",
"manufacturer": "Kumao Kobo",
- "url": "",
"maintainer": "Kumao Kobo",
"usb": {
"vid": "0xABBA",
diff --git a/keyboards/kumaokobo/kudox_game/rev1/keyboard.json b/keyboards/kumaokobo/kudox_game/rev1/keyboard.json
index 975fbcd546..bd3d8053ff 100644
--- a/keyboards/kumaokobo/kudox_game/rev1/keyboard.json
+++ b/keyboards/kumaokobo/kudox_game/rev1/keyboard.json
@@ -30,7 +30,6 @@
"features": {
"bootmagic": false,
"command": true,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false
diff --git a/keyboards/kumaokobo/kudox_game/rev2/keyboard.json b/keyboards/kumaokobo/kudox_game/rev2/keyboard.json
index ac13e1b216..84f272d712 100644
--- a/keyboards/kumaokobo/kudox_game/rev2/keyboard.json
+++ b/keyboards/kumaokobo/kudox_game/rev2/keyboard.json
@@ -30,7 +30,6 @@
"features": {
"bootmagic": false,
"command": true,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false,
diff --git a/keyboards/kuro/kuro65/keyboard.json b/keyboards/kuro/kuro65/keyboard.json
index 72549735d9..09c80d4882 100644
--- a/keyboards/kuro/kuro65/keyboard.json
+++ b/keyboards/kuro/kuro65/keyboard.json
@@ -2,7 +2,6 @@
"keyboard_name": "Kuro65",
"manufacturer": "Kuro",
"maintainer": "0x544D",
- "url": "",
"processor": "atmega32u4",
"bootloader": "atmel-dfu",
"diode_direction": "COL2ROW",
@@ -22,7 +21,6 @@
"bootmagic": true,
"mousekey": true,
"extrakey": true,
- "console": false,
"command": false,
"nkro": true,
"rgb_matrix": true
diff --git a/keyboards/kv/revt/keyboard.json b/keyboards/kv/revt/keyboard.json
index 8553dcdd35..20d9c38fbe 100644
--- a/keyboards/kv/revt/keyboard.json
+++ b/keyboards/kv/revt/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "KVT",
"manufacturer": "Hybrid",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0x6565",
diff --git a/keyboards/kwstudio/pisces/keyboard.json b/keyboards/kwstudio/pisces/keyboard.json
index 48f4e6a4f6..1dc3b780c3 100644
--- a/keyboards/kwstudio/pisces/keyboard.json
+++ b/keyboards/kwstudio/pisces/keyboard.json
@@ -7,7 +7,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
@@ -20,7 +19,6 @@
"rows": ["B7", "D5", "D3", "D2", "D1", "D0"]
},
"processor": "atmega32u4",
- "url": "",
"usb": {
"device_version": "1.0.0",
"pid": "0x0001",
diff --git a/keyboards/kwstudio/scorpio/keyboard.json b/keyboards/kwstudio/scorpio/keyboard.json
index 82262afb1b..4d94b3a6b9 100644
--- a/keyboards/kwstudio/scorpio/keyboard.json
+++ b/keyboards/kwstudio/scorpio/keyboard.json
@@ -35,7 +35,6 @@
"led_count": 9,
"sleep": true
},
- "url": "",
"usb": {
"device_version": "0.0.1",
"pid": "0x0002",
diff --git a/keyboards/kwstudio/scorpio_rev2/keyboard.json b/keyboards/kwstudio/scorpio_rev2/keyboard.json
index d1b41b1d4f..b4cf901d1f 100644
--- a/keyboards/kwstudio/scorpio_rev2/keyboard.json
+++ b/keyboards/kwstudio/scorpio_rev2/keyboard.json
@@ -38,7 +38,6 @@
"led_count": 9,
"saturation_steps": 8
},
- "url": "",
"usb": {
"device_version": "1.0.0",
"pid": "0x0003",
diff --git a/keyboards/kwub/bloop/keyboard.json b/keyboards/kwub/bloop/keyboard.json
index 2889ef1598..b20fb706fe 100644
--- a/keyboards/kwub/bloop/keyboard.json
+++ b/keyboards/kwub/bloop/keyboard.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/labbe/labbeminiv1/keyboard.json b/keyboards/labbe/labbeminiv1/keyboard.json
index da53de3da5..38865f8215 100644
--- a/keyboards/labbe/labbeminiv1/keyboard.json
+++ b/keyboards/labbe/labbeminiv1/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Labbe Mini V1",
"manufacturer": "Labbe",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0xABBE",
@@ -11,7 +10,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": false,
"mousekey": false,
"nkro": false
diff --git a/keyboards/labyrinth75/keyboard.json b/keyboards/labyrinth75/keyboard.json
index 1e70a8318d..700d3821cb 100644
--- a/keyboards/labyrinth75/keyboard.json
+++ b/keyboards/labyrinth75/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "labyrinth75",
"manufacturer": "Livi",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0x4F53",
@@ -11,7 +10,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": true,
diff --git a/keyboards/laneware/lpad/keyboard.json b/keyboards/laneware/lpad/keyboard.json
index 464205846b..b26552ac55 100644
--- a/keyboards/laneware/lpad/keyboard.json
+++ b/keyboards/laneware/lpad/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "L-PAD",
"manufacturer": "Laneware Peripherals",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0x4C50",
@@ -13,7 +12,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"encoder": true,
"extrakey": true,
"mousekey": true,
diff --git a/keyboards/laneware/lw67/keyboard.json b/keyboards/laneware/lw67/keyboard.json
index e48506f58e..280373679b 100644
--- a/keyboards/laneware/lw67/keyboard.json
+++ b/keyboards/laneware/lw67/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "LW-67",
"manufacturer": "Laneware Peripherals",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0x4C50",
@@ -11,7 +10,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"encoder": true,
"extrakey": true,
"mousekey": true,
diff --git a/keyboards/laneware/lw75/keyboard.json b/keyboards/laneware/lw75/keyboard.json
index 27601d1e28..e2c475cb77 100644
--- a/keyboards/laneware/lw75/keyboard.json
+++ b/keyboards/laneware/lw75/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "LW-75",
"manufacturer": "Laneware Peripherals",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0x4C50",
@@ -11,7 +10,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"encoder": true,
"extrakey": true,
"mousekey": true,
diff --git a/keyboards/laneware/macro1/keyboard.json b/keyboards/laneware/macro1/keyboard.json
index a432db5915..45b6c41a90 100644
--- a/keyboards/laneware/macro1/keyboard.json
+++ b/keyboards/laneware/macro1/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "MACRO-1",
"manufacturer": "Laneware Peripherals",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0x4C50",
@@ -11,7 +10,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"encoder": true,
"extrakey": true,
"mousekey": true,
diff --git a/keyboards/laneware/raindrop/keyboard.json b/keyboards/laneware/raindrop/keyboard.json
index 4e5d674b2b..fd15c21965 100644
--- a/keyboards/laneware/raindrop/keyboard.json
+++ b/keyboards/laneware/raindrop/keyboard.json
@@ -19,7 +19,6 @@
"bootmagic": true,
"mousekey": true,
"extrakey": true,
- "console": false,
"command": false,
"nkro": true
},
diff --git a/keyboards/large_lad/keyboard.json b/keyboards/large_lad/keyboard.json
index 665a279799..e8f750fcd1 100644
--- a/keyboards/large_lad/keyboard.json
+++ b/keyboards/large_lad/keyboard.json
@@ -15,7 +15,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/laser_ninja/pumpkinpad/keyboard.json b/keyboards/laser_ninja/pumpkinpad/keyboard.json
index 64e62911a6..e254cb76b5 100644
--- a/keyboards/laser_ninja/pumpkinpad/keyboard.json
+++ b/keyboards/laser_ninja/pumpkinpad/keyboard.json
@@ -1,14 +1,12 @@
{
"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,
diff --git a/keyboards/latincompass/latin17rgb/keyboard.json b/keyboards/latincompass/latin17rgb/keyboard.json
index 161672aea4..20d7086d4c 100644
--- a/keyboards/latincompass/latin17rgb/keyboard.json
+++ b/keyboards/latincompass/latin17rgb/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Latin17RGB",
"manufacturer": "18438880",
- "url": "",
"maintainer": "18438880",
"usb": {
"vid": "0x7C88",
@@ -67,7 +66,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false,
diff --git a/keyboards/latincompass/latin47ble/keyboard.json b/keyboards/latincompass/latin47ble/keyboard.json
index ac07f68152..f5d53dbbe8 100644
--- a/keyboards/latincompass/latin47ble/keyboard.json
+++ b/keyboards/latincompass/latin47ble/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Latin47BLE",
"manufacturer": "latincompass",
- "url": "",
"maintainer": "latincompass",
"usb": {
"vid": "0x6C63",
diff --git a/keyboards/latincompass/latin60rgb/keyboard.json b/keyboards/latincompass/latin60rgb/keyboard.json
index 764a7c882a..30e64a4f14 100644
--- a/keyboards/latincompass/latin60rgb/keyboard.json
+++ b/keyboards/latincompass/latin60rgb/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Latin60RGB",
"manufacturer": "latincompass",
- "url": "",
"maintainer": "latincompass",
"usb": {
"vid": "0x6C63",
@@ -111,7 +110,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/latincompass/latin64ble/keyboard.json b/keyboards/latincompass/latin64ble/keyboard.json
index b2563569d3..3a7a93c4a3 100644
--- a/keyboards/latincompass/latin64ble/keyboard.json
+++ b/keyboards/latincompass/latin64ble/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Latin64BLE",
"manufacturer": "latincompass",
- "url": "",
"maintainer": "latincompass",
"usb": {
"vid": "0x6C63",
diff --git a/keyboards/latincompass/latin6rgb/keyboard.json b/keyboards/latincompass/latin6rgb/keyboard.json
index 42aa82a030..d2708df399 100644
--- a/keyboards/latincompass/latin6rgb/keyboard.json
+++ b/keyboards/latincompass/latin6rgb/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Latin6rgb",
"manufacturer": "18438880",
- "url": "",
"maintainer": "18438880",
"usb": {
"vid": "0x7C88",
diff --git a/keyboards/latincompass/latinpad/keyboard.json b/keyboards/latincompass/latinpad/keyboard.json
index 1e2c8ca90c..a1dd38e097 100644
--- a/keyboards/latincompass/latinpad/keyboard.json
+++ b/keyboards/latincompass/latinpad/keyboard.json
@@ -45,7 +45,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"encoder": true,
"extrakey": true,
"mousekey": false,
diff --git a/keyboards/latincompass/latinpadble/keyboard.json b/keyboards/latincompass/latinpadble/keyboard.json
index fe35f74e79..cfdf271402 100644
--- a/keyboards/latincompass/latinpadble/keyboard.json
+++ b/keyboards/latincompass/latinpadble/keyboard.json
@@ -12,7 +12,6 @@
"bluetooth": true,
"bootmagic": false,
"command": false,
- "console": false,
"encoder": true,
"extrakey": true,
"mousekey": true,
diff --git a/keyboards/lazydesigners/bolt/keyboard.json b/keyboards/lazydesigners/bolt/keyboard.json
index c155c852df..e6d4482283 100644
--- a/keyboards/lazydesigners/bolt/keyboard.json
+++ b/keyboards/lazydesigners/bolt/keyboard.json
@@ -30,7 +30,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false,
diff --git a/keyboards/lazydesigners/cassette8/keyboard.json b/keyboards/lazydesigners/cassette8/keyboard.json
index 623b804efe..8cb1428122 100755
--- a/keyboards/lazydesigners/cassette8/keyboard.json
+++ b/keyboards/lazydesigners/cassette8/keyboard.json
@@ -30,7 +30,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/lazydesigners/dimpleplus/keyboard.json b/keyboards/lazydesigners/dimpleplus/keyboard.json
index afae905c7b..7fb7260894 100644
--- a/keyboards/lazydesigners/dimpleplus/keyboard.json
+++ b/keyboards/lazydesigners/dimpleplus/keyboard.json
@@ -12,7 +12,6 @@
"backlight": true,
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false,
diff --git a/keyboards/lazydesigners/the30/keyboard.json b/keyboards/lazydesigners/the30/keyboard.json
index 64562ada66..bf24fa0e08 100644
--- a/keyboards/lazydesigners/the30/keyboard.json
+++ b/keyboards/lazydesigners/the30/keyboard.json
@@ -12,7 +12,6 @@
"backlight": true,
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/lazydesigners/the40/keyboard.json b/keyboards/lazydesigners/the40/keyboard.json
index 0e06e16ea8..103d2fa78e 100644
--- a/keyboards/lazydesigners/the40/keyboard.json
+++ b/keyboards/lazydesigners/the40/keyboard.json
@@ -12,7 +12,6 @@
"backlight": true,
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false,
diff --git a/keyboards/lazydesigners/the50/keyboard.json b/keyboards/lazydesigners/the50/keyboard.json
index 1039625f06..55caf81d3a 100644
--- a/keyboards/lazydesigners/the50/keyboard.json
+++ b/keyboards/lazydesigners/the50/keyboard.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": false,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/lazydesigners/the60/rev1/keyboard.json b/keyboards/lazydesigners/the60/rev1/keyboard.json
index 815cf8e04d..7dd1cde022 100755
--- a/keyboards/lazydesigners/the60/rev1/keyboard.json
+++ b/keyboards/lazydesigners/the60/rev1/keyboard.json
@@ -12,7 +12,6 @@
"backlight": true,
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/lazydesigners/the60/rev2/keyboard.json b/keyboards/lazydesigners/the60/rev2/keyboard.json
index f9a0fd95b5..2d6eb276d8 100755
--- a/keyboards/lazydesigners/the60/rev2/keyboard.json
+++ b/keyboards/lazydesigners/the60/rev2/keyboard.json
@@ -12,7 +12,6 @@
"backlight": true,
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/leafcutterlabs/bigknob/keyboard.json b/keyboards/leafcutterlabs/bigknob/keyboard.json
index 8250f7eb61..ca3b7a0e2a 100644
--- a/keyboards/leafcutterlabs/bigknob/keyboard.json
+++ b/keyboards/leafcutterlabs/bigknob/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "bigKNOB",
"manufacturer": "leafcutterlabs",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0xCEEB",
@@ -36,7 +35,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"encoder": true,
"extrakey": true,
"mousekey": true,
diff --git a/keyboards/leeku/finger65/keyboard.json b/keyboards/leeku/finger65/keyboard.json
index c9b7338856..8cfb94c20b 100644
--- a/keyboards/leeku/finger65/keyboard.json
+++ b/keyboards/leeku/finger65/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Finger65",
"manufacturer": "LeeKu",
- "url": "",
"maintainer": "sidcarter",
"usb": {
"vid": "0xFEED",
@@ -11,7 +10,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": false,
"mousekey": false,
"nkro": false
diff --git a/keyboards/lendunistus/rpneko65/rev1/keyboard.json b/keyboards/lendunistus/rpneko65/rev1/keyboard.json
index 29682cf2a7..b28ca4b5fa 100644
--- a/keyboards/lendunistus/rpneko65/rev1/keyboard.json
+++ b/keyboards/lendunistus/rpneko65/rev1/keyboard.json
@@ -7,7 +7,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/lets_split/info.json b/keyboards/lets_split/info.json
index a92a948abd..9152226cab 100644
--- a/keyboards/lets_split/info.json
+++ b/keyboards/lets_split/info.json
@@ -1,5 +1,4 @@
{
- "url": "",
"maintainer": "qmk",
"processor": "atmega32u4",
"bootloader": "caterina",
diff --git a/keyboards/lfkeyboards/lfk78/revb/keyboard.json b/keyboards/lfkeyboards/lfk78/revb/keyboard.json
index a4c0d83902..d5c4656928 100644
--- a/keyboards/lfkeyboards/lfk78/revb/keyboard.json
+++ b/keyboards/lfkeyboards/lfk78/revb/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "LFK78 Rev B",
"manufacturer": "LFKeyboards",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0x4C46",
diff --git a/keyboards/lfkeyboards/lfk78/revc/keyboard.json b/keyboards/lfkeyboards/lfk78/revc/keyboard.json
index 56ab9b49be..0906307fe7 100644
--- a/keyboards/lfkeyboards/lfk78/revc/keyboard.json
+++ b/keyboards/lfkeyboards/lfk78/revc/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "LFK7 Rev C-H",
"manufacturer": "LFKeyboards",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0x4C46",
diff --git a/keyboards/lfkeyboards/lfk78/revj/keyboard.json b/keyboards/lfkeyboards/lfk78/revj/keyboard.json
index df8ac8d0f6..2657a21b8c 100644
--- a/keyboards/lfkeyboards/lfk78/revj/keyboard.json
+++ b/keyboards/lfkeyboards/lfk78/revj/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "LFK78 Rev J",
"manufacturer": "LFKeyboards",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0x4C46",
diff --git a/keyboards/lfkeyboards/lfk87/info.json b/keyboards/lfkeyboards/lfk87/info.json
index 9b10936df8..a9c3d56f7b 100644
--- a/keyboards/lfkeyboards/lfk87/info.json
+++ b/keyboards/lfkeyboards/lfk87/info.json
@@ -1,13 +1,11 @@
{
"keyboard_name": "LFK87",
"manufacturer": "LFKeyboards",
- "url": "",
"maintainer": "qmk",
"features": {
"audio": true,
"bootmagic": false,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": true
diff --git a/keyboards/lfkeyboards/lfkpad/keyboard.json b/keyboards/lfkeyboards/lfkpad/keyboard.json
index 6de415b8e0..c78d6e2635 100644
--- a/keyboards/lfkeyboards/lfkpad/keyboard.json
+++ b/keyboards/lfkeyboards/lfkpad/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "LFKPad",
"manufacturer": "LFKeyboards",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0x4C46",
@@ -11,7 +10,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": false
diff --git a/keyboards/lfkeyboards/mini1800/info.json b/keyboards/lfkeyboards/mini1800/info.json
index 35bb1c15a8..a7ee5324b6 100644
--- a/keyboards/lfkeyboards/mini1800/info.json
+++ b/keyboards/lfkeyboards/mini1800/info.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Mini1800",
"manufacturer": "LFKeyboards",
- "url": "",
"maintainer": "lfkeyboards",
"usb": {
"vid": "0xFEED",
diff --git a/keyboards/lfkeyboards/smk65/info.json b/keyboards/lfkeyboards/smk65/info.json
index 0ecbf2ab95..e80ef7b7eb 100644
--- a/keyboards/lfkeyboards/smk65/info.json
+++ b/keyboards/lfkeyboards/smk65/info.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "SMK65v2",
"manufacturer": "LFKeyboards",
- "url": "",
"maintainer": "qmk",
"features": {
"bootmagic": true,
diff --git a/keyboards/lgbtkl/keyboard.json b/keyboards/lgbtkl/keyboard.json
index a3f126e862..11e02f7cf0 100644
--- a/keyboards/lgbtkl/keyboard.json
+++ b/keyboards/lgbtkl/keyboard.json
@@ -12,7 +12,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/lily58/lite_rev3/keyboard.json b/keyboards/lily58/lite_rev3/keyboard.json
index ddb1f1877e..839cf4fe78 100644
--- a/keyboards/lily58/lite_rev3/keyboard.json
+++ b/keyboards/lily58/lite_rev3/keyboard.json
@@ -2,7 +2,6 @@
"keyboard_name": "Lily58 Lite Rev3",
"manufacturer": "Liliums",
"maintainer": "yuchi",
- "url": "",
"processor": "RP2040",
"bootloader": "rp2040",
"diode_direction": "COL2ROW",
diff --git a/keyboards/lily58/r2g/keyboard.json b/keyboards/lily58/r2g/keyboard.json
index bb825b1d9e..6bd8f7b916 100644
--- a/keyboards/lily58/r2g/keyboard.json
+++ b/keyboards/lily58/r2g/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Lily58 R2G",
"manufacturer": "Mechboards UK",
- "url": "",
"maintainer": "Elliot Powell",
"processor": "atmega32u4",
"bootloader": "atmel-dfu",
diff --git a/keyboards/lily58/rev1/keyboard.json b/keyboards/lily58/rev1/keyboard.json
index 9ee51b8ba3..3488b0e2b5 100644
--- a/keyboards/lily58/rev1/keyboard.json
+++ b/keyboards/lily58/rev1/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Lily58",
"manufacturer": "liliums",
- "url": "",
"maintainer": "liliums",
"usb": {
"vid": "0x04D8",
diff --git a/keyboards/linworks/dolice/keyboard.json b/keyboards/linworks/dolice/keyboard.json
index 6a556db654..5f47c8af0a 100644
--- a/keyboards/linworks/dolice/keyboard.json
+++ b/keyboards/linworks/dolice/keyboard.json
@@ -12,7 +12,6 @@
"backlight": true,
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": true
diff --git a/keyboards/linworks/em8/keyboard.json b/keyboards/linworks/em8/keyboard.json
index cf17b94a4d..de096b7b62 100644
--- a/keyboards/linworks/em8/keyboard.json
+++ b/keyboards/linworks/em8/keyboard.json
@@ -7,7 +7,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": true
diff --git a/keyboards/linworks/fave104/keyboard.json b/keyboards/linworks/fave104/keyboard.json
index c71fdd5661..34279ec0ba 100644
--- a/keyboards/linworks/fave104/keyboard.json
+++ b/keyboards/linworks/fave104/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "FAVE-104",
"manufacturer": "Lx3",
- "url": "",
"maintainer": "keydler",
"usb": {
"vid": "0x4C58",
@@ -12,7 +11,6 @@
"backlight": true,
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": true
diff --git a/keyboards/linworks/fave60/keyboard.json b/keyboards/linworks/fave60/keyboard.json
index 38c5458445..ef50543ab7 100644
--- a/keyboards/linworks/fave60/keyboard.json
+++ b/keyboards/linworks/fave60/keyboard.json
@@ -27,7 +27,6 @@
"backlight": true,
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
@@ -43,7 +42,6 @@
"cols": ["D6", "D4", "B5", "B4", "B6", "C6", "C7", "F4", "F0", "E6", "D1", "D2", "D3", "D5", "B0"],
"rows": ["F6", "F7", "D7", "F1", "D0"]
},
- "url": "",
"usb": {
"device_version": "1.0.0",
"pid": "0x000D",
diff --git a/keyboards/linworks/fave60a/keyboard.json b/keyboards/linworks/fave60a/keyboard.json
index 7972e94bae..8a505aaae2 100644
--- a/keyboards/linworks/fave60a/keyboard.json
+++ b/keyboards/linworks/fave60a/keyboard.json
@@ -161,7 +161,6 @@
"max_brightness": 120,
"sleep": true
},
- "url": "",
"usb": {
"device_version": "1.0.0",
"pid": "0x000C",
diff --git a/keyboards/linworks/fave65h/keyboard.json b/keyboards/linworks/fave65h/keyboard.json
index 6e35f55a4b..212bd0a37b 100644
--- a/keyboards/linworks/fave65h/keyboard.json
+++ b/keyboards/linworks/fave65h/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "FAve 65H",
"manufacturer": "Lx3",
- "url": "",
"maintainer": "ToastyStoemp",
"usb": {
"vid": "0x4C58",
diff --git a/keyboards/linworks/fave84h/keyboard.json b/keyboards/linworks/fave84h/keyboard.json
index 1ca6cb911a..ee2473c77b 100644
--- a/keyboards/linworks/fave84h/keyboard.json
+++ b/keyboards/linworks/fave84h/keyboard.json
@@ -8,7 +8,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
@@ -198,7 +197,6 @@
"max_brightness": 120,
"sleep": true
},
- "url": "",
"usb": {
"device_version": "1.0.0",
"pid": "0x0004",
diff --git a/keyboards/linworks/fave87/keyboard.json b/keyboards/linworks/fave87/keyboard.json
index 9083b8c8ec..ec039718a7 100644
--- a/keyboards/linworks/fave87/keyboard.json
+++ b/keyboards/linworks/fave87/keyboard.json
@@ -12,7 +12,6 @@
"backlight": true,
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": true,
diff --git a/keyboards/linworks/fave87h/keyboard.json b/keyboards/linworks/fave87h/keyboard.json
index 5fb1d4d42a..4bb6e42de4 100644
--- a/keyboards/linworks/fave87h/keyboard.json
+++ b/keyboards/linworks/fave87h/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "FAve 87H",
"manufacturer": "Lx3",
- "url": "",
"maintainer": "ToastyStoemp",
"usb": {
"vid": "0x4C58",
diff --git a/keyboards/linworks/favepada/keyboard.json b/keyboards/linworks/favepada/keyboard.json
index 2b5adcf0a6..e468f88779 100644
--- a/keyboards/linworks/favepada/keyboard.json
+++ b/keyboards/linworks/favepada/keyboard.json
@@ -107,7 +107,6 @@
"ws2812": {
"pin": "B1"
},
- "url": "",
"usb": {
"device_version": "1.0.0",
"pid": "0x000B",
diff --git a/keyboards/linworks/whale75/keyboard.json b/keyboards/linworks/whale75/keyboard.json
index 88598d8e8c..e0dc3e1712 100644
--- a/keyboards/linworks/whale75/keyboard.json
+++ b/keyboards/linworks/whale75/keyboard.json
@@ -25,7 +25,6 @@
"backlight": true,
"bootmagic": true,
"command": false,
- "console": false,
"encoder": true,
"extrakey": true,
"mousekey": false,
diff --git a/keyboards/littlealby/mute/keyboard.json b/keyboards/littlealby/mute/keyboard.json
index 96c2e26a74..7686ec174c 100644
--- a/keyboards/littlealby/mute/keyboard.json
+++ b/keyboards/littlealby/mute/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Mute",
"manufacturer": "Little Alby",
- "url": "",
"maintainer": "albybarber",
"usb": {
"vid": "0x4142",
@@ -20,7 +19,6 @@
"features": {
"bootmagic": false,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": false,
diff --git a/keyboards/lizard_trick/tenkey_plusplus/keyboard.json b/keyboards/lizard_trick/tenkey_plusplus/keyboard.json
index 0877d99885..e501cbfdc0 100644
--- a/keyboards/lizard_trick/tenkey_plusplus/keyboard.json
+++ b/keyboards/lizard_trick/tenkey_plusplus/keyboard.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"encoder": true,
"extrakey": true,
"mousekey": true,
diff --git a/keyboards/ll3macorn/bongopad/keyboard.json b/keyboards/ll3macorn/bongopad/keyboard.json
index 7a6f0ff043..188cc2527f 100644
--- a/keyboards/ll3macorn/bongopad/keyboard.json
+++ b/keyboards/ll3macorn/bongopad/keyboard.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"encoder": true,
"extrakey": true,
"mousekey": false,
diff --git a/keyboards/lm_keyboard/lm60n/keyboard.json b/keyboards/lm_keyboard/lm60n/keyboard.json
index f12bdec031..0301e35ae0 100644
--- a/keyboards/lm_keyboard/lm60n/keyboard.json
+++ b/keyboards/lm_keyboard/lm60n/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "L+M 60N",
"manufacturer": "L+M Keyboard",
- "url": "",
"maintainer": "gkeyboard",
"usb": {
"vid": "0x4C4D",
@@ -11,7 +10,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/longnald/corin/keyboard.json b/keyboards/longnald/corin/keyboard.json
index a423348b78..1c32741762 100644
--- a/keyboards/longnald/corin/keyboard.json
+++ b/keyboards/longnald/corin/keyboard.json
@@ -28,7 +28,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": true,
diff --git a/keyboards/lostdotfish/rp2040_orbweaver/keyboard.json b/keyboards/lostdotfish/rp2040_orbweaver/keyboard.json
index b711d9c4a8..8d6723c9f6 100644
--- a/keyboards/lostdotfish/rp2040_orbweaver/keyboard.json
+++ b/keyboards/lostdotfish/rp2040_orbweaver/keyboard.json
@@ -15,7 +15,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/lxxt/keyboard.json b/keyboards/lxxt/keyboard.json
index 3a2700883d..725b6ee2c2 100644
--- a/keyboards/lxxt/keyboard.json
+++ b/keyboards/lxxt/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "LXXT",
"manufacturer": "DeskDaily",
- "url": "",
"maintainer": "DeskDaily",
"usb": {
"vid": "0x5003",
@@ -26,10 +25,8 @@
},
"rgblight": {
"led_count": 16,
- "hue_steps": 8,
"saturation_steps": 8,
"brightness_steps": 8,
- "max_brightness": 255,
"sleep": true,
"animations": {
"alternating": true,
@@ -49,7 +46,6 @@
"bootmagic": true,
"mousekey": true,
"extrakey": true,
- "console": false,
"command": false,
"nkro": true,
"rgblight": true,
diff --git a/keyboards/lyso1/lefishe/keyboard.json b/keyboards/lyso1/lefishe/keyboard.json
index 6104f47e47..4d0cc7842f 100644
--- a/keyboards/lyso1/lefishe/keyboard.json
+++ b/keyboards/lyso1/lefishe/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Le_Fishe",
"manufacturer": "Lyso1",
- "url": "",
"maintainer": "Lyso1",
"usb": {
"vid": "0x7856",
@@ -11,7 +10,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": false,
diff --git a/keyboards/lz/erghost/keyboard.json b/keyboards/lz/erghost/keyboard.json
index ac5ce2edf2..7722e4fc62 100644
--- a/keyboards/lz/erghost/keyboard.json
+++ b/keyboards/lz/erghost/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "erGhost",
"manufacturer": "Mechlovin Studio",
- "url": "",
"maintainer": "Mechlovin' Studio",
"usb": {
"vid": "0x6C7A",
diff --git a/keyboards/m10a/keyboard.json b/keyboards/m10a/keyboard.json
index 544d2535ed..d1799bae55 100644
--- a/keyboards/m10a/keyboard.json
+++ b/keyboards/m10a/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "M10-A",
"manufacturer": "RAMA WORKS",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0x5241",
@@ -12,7 +11,6 @@
"backlight": true,
"bootmagic": false,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/machine_industries/m4_a/keyboard.json b/keyboards/machine_industries/m4_a/keyboard.json
index 04510f92e1..e96e2a6b1a 100644
--- a/keyboards/machine_industries/m4_a/keyboard.json
+++ b/keyboards/machine_industries/m4_a/keyboard.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false
diff --git a/keyboards/machkeyboards/mach3/keyboard.json b/keyboards/machkeyboards/mach3/keyboard.json
index 9f9d492bcc..0679ad7f3c 100644
--- a/keyboards/machkeyboards/mach3/keyboard.json
+++ b/keyboards/machkeyboards/mach3/keyboard.json
@@ -12,7 +12,6 @@
"backlight": true,
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false,
diff --git a/keyboards/macrocat/keyboard.json b/keyboards/macrocat/keyboard.json
index 470ce8973a..ed0a2d17a5 100644
--- a/keyboards/macrocat/keyboard.json
+++ b/keyboards/macrocat/keyboard.json
@@ -7,7 +7,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/madjax_macropad/keyboard.json b/keyboards/madjax_macropad/keyboard.json
index ac2802faef..031e396866 100644
--- a/keyboards/madjax_macropad/keyboard.json
+++ b/keyboards/madjax_macropad/keyboard.json
@@ -7,7 +7,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"encoder": true,
"extrakey": true,
"mousekey": true,
diff --git a/keyboards/magic_force/mf34/keyboard.json b/keyboards/magic_force/mf34/keyboard.json
index 7178d0405e..44d1a4ec92 100644
--- a/keyboards/magic_force/mf34/keyboard.json
+++ b/keyboards/magic_force/mf34/keyboard.json
@@ -1,6 +1,5 @@
{
"keyboard_name": "MagicForce",
- "url": "",
"maintainer": "MagicForce",
"manufacturer": "MagicForce",
"usb": {
diff --git a/keyboards/makeymakey/keyboard.json b/keyboards/makeymakey/keyboard.json
index 8f04535032..81b23f0125 100644
--- a/keyboards/makeymakey/keyboard.json
+++ b/keyboards/makeymakey/keyboard.json
@@ -13,7 +13,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": false,
"mousekey": true,
"nkro": true
diff --git a/keyboards/makrosu/keyboard.json b/keyboards/makrosu/keyboard.json
index ec6b8a3bfd..54dcea4cb9 100644
--- a/keyboards/makrosu/keyboard.json
+++ b/keyboards/makrosu/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "MakrOSU",
"manufacturer": "Valdydesu_",
- "url": "",
"maintainer": "Valdydesu_",
"usb": {
"vid": "0xAB69",
@@ -11,7 +10,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"encoder": true,
"extrakey": true,
"mousekey": false,
diff --git a/keyboards/malevolti/lyra/rev1/keyboard.json b/keyboards/malevolti/lyra/rev1/keyboard.json
index cce0ad7bb7..6a4a993d76 100644
--- a/keyboards/malevolti/lyra/rev1/keyboard.json
+++ b/keyboards/malevolti/lyra/rev1/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Lyra",
"manufacturer": "Dom",
- "url": "",
"maintainer": "malevolti",
"usb": {
"vid": "0x4443",
diff --git a/keyboards/malevolti/superlyra/rev1/keyboard.json b/keyboards/malevolti/superlyra/rev1/keyboard.json
index 61ef7c605d..56a0edc90e 100644
--- a/keyboards/malevolti/superlyra/rev1/keyboard.json
+++ b/keyboards/malevolti/superlyra/rev1/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "SuperLyra",
"manufacturer": "Dom",
- "url": "",
"maintainer": "malevolti",
"usb": {
"vid": "0x4443",
@@ -17,7 +16,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false
diff --git a/keyboards/manta60/keyboard.json b/keyboards/manta60/keyboard.json
index d2f308e89c..007f015379 100644
--- a/keyboards/manta60/keyboard.json
+++ b/keyboards/manta60/keyboard.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": true,
"command": true,
- "console": false,
"extrakey": false,
"mousekey": true,
"nkro": false,
diff --git a/keyboards/manyboard/macro/keyboard.json b/keyboards/manyboard/macro/keyboard.json
index b40861414f..187e1976fe 100644
--- a/keyboards/manyboard/macro/keyboard.json
+++ b/keyboards/manyboard/macro/keyboard.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"encoder": true,
"extrakey": true,
"mousekey": true,
diff --git a/keyboards/maple_computing/6ball/keyboard.json b/keyboards/maple_computing/6ball/keyboard.json
index 3f125c75c4..61ec5f1131 100644
--- a/keyboards/maple_computing/6ball/keyboard.json
+++ b/keyboards/maple_computing/6ball/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "6-Ball",
"manufacturer": "That-Canadian",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0xCEEB",
@@ -29,7 +28,6 @@
"features": {
"bootmagic": false,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/maple_computing/c39/keyboard.json b/keyboards/maple_computing/c39/keyboard.json
index de4cbc6aeb..f2f396ccd7 100755
--- a/keyboards/maple_computing/c39/keyboard.json
+++ b/keyboards/maple_computing/c39/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "C39",
"manufacturer": "Maple Computing",
- "url": "",
"maintainer": "Space Cat",
"usb": {
"vid": "0xCA17",
diff --git a/keyboards/maple_computing/ivy/rev1/keyboard.json b/keyboards/maple_computing/ivy/rev1/keyboard.json
index aac35a5dcc..e5bc6beae7 100644
--- a/keyboards/maple_computing/ivy/rev1/keyboard.json
+++ b/keyboards/maple_computing/ivy/rev1/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Ivy",
"manufacturer": "Maple Computing",
- "url": "",
"maintainer": "That-Canadian",
"usb": {
"vid": "0x1337",
diff --git a/keyboards/maple_computing/jnao/keyboard.json b/keyboards/maple_computing/jnao/keyboard.json
index 97b51a7680..012d51f8f5 100644
--- a/keyboards/maple_computing/jnao/keyboard.json
+++ b/keyboards/maple_computing/jnao/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "JNAO",
"manufacturer": "Maple Computing",
- "url": "",
"maintainer": "That-Canadian",
"usb": {
"vid": "0x1337",
diff --git a/keyboards/maple_computing/launchpad/rev1/keyboard.json b/keyboards/maple_computing/launchpad/rev1/keyboard.json
index 8c75561179..272a2eef6d 100644
--- a/keyboards/maple_computing/launchpad/rev1/keyboard.json
+++ b/keyboards/maple_computing/launchpad/rev1/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Launch Pad",
"manufacturer": "Maple Computing",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0x1337",
diff --git a/keyboards/maple_computing/lets_split_eh/keyboard.json b/keyboards/maple_computing/lets_split_eh/keyboard.json
index 42a1cf3e77..90965090b1 100644
--- a/keyboards/maple_computing/lets_split_eh/keyboard.json
+++ b/keyboards/maple_computing/lets_split_eh/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Lets Split Eh?",
"manufacturer": "That-Canadian",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0xFEED",
diff --git a/keyboards/maple_computing/minidox/rev1/keyboard.json b/keyboards/maple_computing/minidox/rev1/keyboard.json
index b64f26e834..340a8bd39e 100644
--- a/keyboards/maple_computing/minidox/rev1/keyboard.json
+++ b/keyboards/maple_computing/minidox/rev1/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "MiniDox",
"manufacturer": "That-Canadian",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0xFEED",
diff --git a/keyboards/maple_computing/the_ruler/keyboard.json b/keyboards/maple_computing/the_ruler/keyboard.json
index 7d15bb9bb8..3cca7e577a 100644
--- a/keyboards/maple_computing/the_ruler/keyboard.json
+++ b/keyboards/maple_computing/the_ruler/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "The Ruler",
"manufacturer": "Maple Computing",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0x1337",
@@ -30,7 +29,6 @@
"features": {
"bootmagic": false,
"command": true,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false,
diff --git a/keyboards/marcopad/keyboard.json b/keyboards/marcopad/keyboard.json
index c0a8ca37c0..50dc3c1ed0 100644
--- a/keyboards/marcopad/keyboard.json
+++ b/keyboards/marcopad/keyboard.json
@@ -34,8 +34,7 @@
"animation": "splash",
"hue": 132,
"sat": 102,
- "speed": 80,
- "val": 255
+ "speed": 80
},
"driver": "ws2812",
"layout": [
diff --git a/keyboards/mariorion_v25/prod/keyboard.json b/keyboards/mariorion_v25/prod/keyboard.json
index dd014be03a..b950162618 100644
--- a/keyboards/mariorion_v25/prod/keyboard.json
+++ b/keyboards/mariorion_v25/prod/keyboard.json
@@ -7,7 +7,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
@@ -44,7 +43,6 @@
"rows": ["B5", "B4", "B3", "A2", "C13", "B8"]
},
"processor": "STM32F072",
- "url": "",
"usb": {
"device_version": "1.0.0",
"pid": "0x0002",
diff --git a/keyboards/mariorion_v25/proto/keyboard.json b/keyboards/mariorion_v25/proto/keyboard.json
index be00d447d2..2e42fedccf 100644
--- a/keyboards/mariorion_v25/proto/keyboard.json
+++ b/keyboards/mariorion_v25/proto/keyboard.json
@@ -7,7 +7,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
@@ -44,7 +43,6 @@
"rows": ["B5", "B4", "B3", "A2", "C13", "B8"]
},
"processor": "STM32F072",
- "url": "",
"usb": {
"device_version": "1.0.0",
"pid": "0x0001",
diff --git a/keyboards/marksard/leftover30/keyboard.json b/keyboards/marksard/leftover30/keyboard.json
index ae2250a5f2..aac594097a 100644
--- a/keyboards/marksard/leftover30/keyboard.json
+++ b/keyboards/marksard/leftover30/keyboard.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": false,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false,
diff --git a/keyboards/marksard/treadstone32/info.json b/keyboards/marksard/treadstone32/info.json
index d93277472c..35f72490f0 100644
--- a/keyboards/marksard/treadstone32/info.json
+++ b/keyboards/marksard/treadstone32/info.json
@@ -5,7 +5,6 @@
"features": {
"bootmagic": false,
"command": false,
- "console": false,
"extrakey": false,
"mousekey": true,
"nkro": false
diff --git a/keyboards/matchstickworks/normiepad/keyboard.json b/keyboards/matchstickworks/normiepad/keyboard.json
index 3063b820aa..de2362f99e 100644
--- a/keyboards/matchstickworks/normiepad/keyboard.json
+++ b/keyboards/matchstickworks/normiepad/keyboard.json
@@ -5,7 +5,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/matchstickworks/southpad/rev1/keyboard.json b/keyboards/matchstickworks/southpad/rev1/keyboard.json
index 15db9823b1..c893882b4f 100644
--- a/keyboards/matchstickworks/southpad/rev1/keyboard.json
+++ b/keyboards/matchstickworks/southpad/rev1/keyboard.json
@@ -10,7 +10,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false
diff --git a/keyboards/matchstickworks/southpad/rev2/keyboard.json b/keyboards/matchstickworks/southpad/rev2/keyboard.json
index 717b56ef63..1364885d55 100644
--- a/keyboards/matchstickworks/southpad/rev2/keyboard.json
+++ b/keyboards/matchstickworks/southpad/rev2/keyboard.json
@@ -10,7 +10,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/matrix/abelx/keyboard.json b/keyboards/matrix/abelx/keyboard.json
index 7fcad281da..19f7d23b61 100644
--- a/keyboards/matrix/abelx/keyboard.json
+++ b/keyboards/matrix/abelx/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "ABELX",
"manufacturer": "Matrix",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0x4D58",
diff --git a/keyboards/matrix/cain_re/keyboard.json b/keyboards/matrix/cain_re/keyboard.json
index 7d93e806c2..82f8c98525 100644
--- a/keyboards/matrix/cain_re/keyboard.json
+++ b/keyboards/matrix/cain_re/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Cain",
"manufacturer": "Matrix",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0x4D58",
@@ -38,7 +37,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/matrix/falcon/config.h b/keyboards/matrix/falcon/config.h
index 9065dd0770..66787658fd 100644
--- a/keyboards/matrix/falcon/config.h
+++ b/keyboards/matrix/falcon/config.h
@@ -29,4 +29,3 @@
//pin setting
#define LED_POWER_PIN D5
#define CHG_EN_PIN E6
-#define BATTERY_LEVEL_PIN F0
diff --git a/keyboards/matrix/falcon/keyboard.json b/keyboards/matrix/falcon/keyboard.json
index 0c387f5bc2..2dc0e17e26 100644
--- a/keyboards/matrix/falcon/keyboard.json
+++ b/keyboards/matrix/falcon/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Falcon",
"manufacturer": "Matrix Lab",
- "url": "",
"maintainer": "yulei (Astro)",
"usb": {
"vid": "0x4D58",
@@ -11,7 +10,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false,
diff --git a/keyboards/matrix/m12og/rev1/keyboard.json b/keyboards/matrix/m12og/rev1/keyboard.json
index c956720a8d..7d1fccdad6 100644
--- a/keyboards/matrix/m12og/rev1/keyboard.json
+++ b/keyboards/matrix/m12og/rev1/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "m12og_v1",
"manufacturer": "Matrix",
- "url": "",
"maintainer": "kb-elmo",
"usb": {
"vid": "0x4D58",
diff --git a/keyboards/matrix/m12og/rev2/keyboard.json b/keyboards/matrix/m12og/rev2/keyboard.json
index 45fcffe9eb..f7fdb5ce63 100644
--- a/keyboards/matrix/m12og/rev2/keyboard.json
+++ b/keyboards/matrix/m12og/rev2/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "M12OG",
"manufacturer": "Matrix",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0x4D58",
@@ -38,7 +37,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": true,
diff --git a/keyboards/matrix/m20add/keyboard.json b/keyboards/matrix/m20add/keyboard.json
index fc58d242e6..31cc936b9c 100644
--- a/keyboards/matrix/m20add/keyboard.json
+++ b/keyboards/matrix/m20add/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "8XV2.0 Additional",
"manufacturer": "Matrix",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0x4D58",
diff --git a/keyboards/matrix/me/keyboard.json b/keyboards/matrix/me/keyboard.json
index 8349fbd7e6..6d4cebb82b 100644
--- a/keyboards/matrix/me/keyboard.json
+++ b/keyboards/matrix/me/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Matrix ME",
"manufacturer": "Matrix Lab",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0x4D58",
@@ -11,7 +10,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false,
diff --git a/keyboards/matrix/noah/keyboard.json b/keyboards/matrix/noah/keyboard.json
index 53c8dc2458..d9d4ce3976 100644
--- a/keyboards/matrix/noah/keyboard.json
+++ b/keyboards/matrix/noah/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "NOAH",
"manufacturer": "Matrix",
- "url": "",
"maintainer": "astro",
"usb": {
"vid": "0x4D58",
diff --git a/keyboards/matthewdias/m3n3van/keyboard.json b/keyboards/matthewdias/m3n3van/keyboard.json
index 3fdfb7f61d..d46949cff5 100644
--- a/keyboards/matthewdias/m3n3van/keyboard.json
+++ b/keyboards/matthewdias/m3n3van/keyboard.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"encoder": true,
"extrakey": true,
"mousekey": true,
diff --git a/keyboards/matthewdias/minim/keyboard.json b/keyboards/matthewdias/minim/keyboard.json
index b9ff70ca40..47d85abdb6 100644
--- a/keyboards/matthewdias/minim/keyboard.json
+++ b/keyboards/matthewdias/minim/keyboard.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/matthewdias/model_v/keyboard.json b/keyboards/matthewdias/model_v/keyboard.json
index 00d4c4c0eb..24c88c8caa 100644
--- a/keyboards/matthewdias/model_v/keyboard.json
+++ b/keyboards/matthewdias/model_v/keyboard.json
@@ -10,7 +10,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/matthewdias/txuu/keyboard.json b/keyboards/matthewdias/txuu/keyboard.json
index b4c1597e5f..4bc078f7e5 100644
--- a/keyboards/matthewdias/txuu/keyboard.json
+++ b/keyboards/matthewdias/txuu/keyboard.json
@@ -10,7 +10,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/maxipad/info.json b/keyboards/maxipad/info.json
index bf054e4b83..29d8e3598a 100644
--- a/keyboards/maxipad/info.json
+++ b/keyboards/maxipad/info.json
@@ -1,12 +1,10 @@
{
"keyboard_name": "maxipad",
"manufacturer": "wootpatoot",
- "url": "",
"maintainer": "qmk",
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/mazestudio/jocker/keyboard.json b/keyboards/mazestudio/jocker/keyboard.json
index 7257866f21..3b49629aa3 100644
--- a/keyboards/mazestudio/jocker/keyboard.json
+++ b/keyboards/mazestudio/jocker/keyboard.json
@@ -4,7 +4,6 @@
"maintainer": "mazestd",
"bootloader": "atmel-dfu",
"processor": "atmega32u4",
- "url": "",
"usb": {
"vid": "0x70F5",
"pid": "0x4A01",
@@ -13,7 +12,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/mb44/keyboard.json b/keyboards/mb44/keyboard.json
index c349d11d38..d8c1216233 100644
--- a/keyboards/mb44/keyboard.json
+++ b/keyboards/mb44/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "MB-44",
"manufacturer": "melonbred",
- "url": "",
"maintainer": "melonbred",
"usb": {
"vid": "0x6D62",
@@ -11,7 +10,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"encoder": true,
"extrakey": true,
"mousekey": false,
diff --git a/keyboards/mc_76k/keyboard.json b/keyboards/mc_76k/keyboard.json
index 18aef48d01..7be3c8f1ec 100644
--- a/keyboards/mc_76k/keyboard.json
+++ b/keyboards/mc_76k/keyboard.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": false
diff --git a/keyboards/mechanickeys/miniashen40/keyboard.json b/keyboards/mechanickeys/miniashen40/keyboard.json
index 2adee31c1d..6ce6d4a2dc 100644
--- a/keyboards/mechanickeys/miniashen40/keyboard.json
+++ b/keyboards/mechanickeys/miniashen40/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Mini Ashen 40",
"manufacturer": "MechanicKeys",
- "url": "",
"maintainer": "jfescobar18",
"usb": {
"vid": "0x4D4B",
@@ -11,7 +10,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false
diff --git a/keyboards/mechanickeys/undead60m/keyboard.json b/keyboards/mechanickeys/undead60m/keyboard.json
index 7dc27c29ed..f54284387c 100644
--- a/keyboards/mechanickeys/undead60m/keyboard.json
+++ b/keyboards/mechanickeys/undead60m/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Undead 60-M",
"manufacturer": "MechanicKeys",
- "url": "",
"maintainer": "jfescobar18",
"usb": {
"vid": "0x4D4B",
@@ -33,7 +32,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"encoder": true,
"extrakey": true,
"mousekey": true,
diff --git a/keyboards/mechboards/crkbd/pro/keyboard.json b/keyboards/mechboards/crkbd/pro/keyboard.json
index 05bca63993..69a04760de 100644
--- a/keyboards/mechboards/crkbd/pro/keyboard.json
+++ b/keyboards/mechboards/crkbd/pro/keyboard.json
@@ -30,9 +30,6 @@
"animations": {
"cycle_left_right": true
},
- "default": {
- "animation": "cycle_left_right"
- },
"driver": "ws2812",
"layout": [
{"x": 85, "y": 16, "flags": 2},
diff --git a/keyboards/mechboards/lily58/pro/keyboard.json b/keyboards/mechboards/lily58/pro/keyboard.json
index d655377f19..ca620c67d8 100644
--- a/keyboards/mechboards/lily58/pro/keyboard.json
+++ b/keyboards/mechboards/lily58/pro/keyboard.json
@@ -30,9 +30,6 @@
"animations": {
"cycle_left_right": true
},
- "default": {
- "animation": "cycle_left_right"
- },
"driver": "ws2812",
"layout": [
{"matrix": [0, 5], "x": 72, "y": 4, "flags": 4},
diff --git a/keyboards/mechboards/sofle/pro/keyboard.json b/keyboards/mechboards/sofle/pro/keyboard.json
index dbc339d9a1..e1da038644 100644
--- a/keyboards/mechboards/sofle/pro/keyboard.json
+++ b/keyboards/mechboards/sofle/pro/keyboard.json
@@ -30,9 +30,6 @@
"animations": {
"cycle_left_right": true
},
- "default": {
- "animation": "cycle_left_right"
- },
"driver": "ws2812",
"layout": [
{"matrix": [4, 0], "x": 32, "y": 57, "flags": 4},
diff --git a/keyboards/mechbrewery/mb65h/keyboard.json b/keyboards/mechbrewery/mb65h/keyboard.json
index 8b4049be4d..897dfc2b12 100644
--- a/keyboards/mechbrewery/mb65h/keyboard.json
+++ b/keyboards/mechbrewery/mb65h/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "MB65H",
"manufacturer": "MechBrewery",
- "url": "",
"maintainer": "AnthonyNguyen168",
"usb": {
"vid": "0x4252",
@@ -14,7 +13,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/mechbrewery/mb65s/keyboard.json b/keyboards/mechbrewery/mb65s/keyboard.json
index e043d95860..aac50f2219 100644
--- a/keyboards/mechbrewery/mb65s/keyboard.json
+++ b/keyboards/mechbrewery/mb65s/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "MB65S",
"manufacturer": "MechBrewery",
- "url": "",
"maintainer": "AnthonyNguyen168",
"usb": {
"vid": "0x4252",
@@ -14,7 +13,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/mechkeys/acr60/keyboard.json b/keyboards/mechkeys/acr60/keyboard.json
index 6486b21f12..5a34ca17c7 100644
--- a/keyboards/mechkeys/acr60/keyboard.json
+++ b/keyboards/mechkeys/acr60/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "ACR60",
"manufacturer": "MechKeys",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0xFEED",
@@ -12,7 +11,6 @@
"backlight": true,
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/mechkeys/alu84/keyboard.json b/keyboards/mechkeys/alu84/keyboard.json
index 30f70b17c9..21a227e71b 100644
--- a/keyboards/mechkeys/alu84/keyboard.json
+++ b/keyboards/mechkeys/alu84/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "ALU84",
"manufacturer": "MechKeys",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0xFEED",
@@ -12,7 +11,6 @@
"backlight": true,
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": true,
diff --git a/keyboards/mechkeys/espectro/keyboard.json b/keyboards/mechkeys/espectro/keyboard.json
index f4d2aa29bb..d9c292d5e5 100644
--- a/keyboards/mechkeys/espectro/keyboard.json
+++ b/keyboards/mechkeys/espectro/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Espectro",
"manufacturer": "MechKeys",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0xFEED",
@@ -12,7 +11,6 @@
"backlight": true,
"bootmagic": true,
"command": true,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": true,
diff --git a/keyboards/mechkeys/mechmini/v1/keyboard.json b/keyboards/mechkeys/mechmini/v1/keyboard.json
index 8d3a4a9b84..a1338c9ba9 100644
--- a/keyboards/mechkeys/mechmini/v1/keyboard.json
+++ b/keyboards/mechkeys/mechmini/v1/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "MechMini",
"manufacturer": "MechKeys",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0xFEED",
diff --git a/keyboards/mechkeys/mk60/keyboard.json b/keyboards/mechkeys/mk60/keyboard.json
index e47d7def2c..2ef534f2f4 100644
--- a/keyboards/mechkeys/mk60/keyboard.json
+++ b/keyboards/mechkeys/mk60/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "MK60",
"manufacturer": "MechKeys",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0xFEED",
@@ -12,7 +11,6 @@
"backlight": true,
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false,
diff --git a/keyboards/mechllama/g35/info.json b/keyboards/mechllama/g35/info.json
index 2fa3871405..b223cd6441 100644
--- a/keyboards/mechllama/g35/info.json
+++ b/keyboards/mechllama/g35/info.json
@@ -6,7 +6,6 @@
"features": {
"bootmagic": false,
"command": false,
- "console": false,
"extrakey": false,
"mousekey": false,
"nkro": true,
diff --git a/keyboards/mechlovin/adelais/info.json b/keyboards/mechlovin/adelais/info.json
index 42b16d6398..84ca6403ce 100644
--- a/keyboards/mechlovin/adelais/info.json
+++ b/keyboards/mechlovin/adelais/info.json
@@ -1,6 +1,5 @@
{
"manufacturer": "Team.Mechlovin",
- "url": "",
"maintainer": "mechlovin",
"usb": {
"vid": "0x4D4C",
diff --git a/keyboards/mechlovin/adelais/rgb_led/rev3/keyboard.json b/keyboards/mechlovin/adelais/rgb_led/rev3/keyboard.json
index 628eb404a5..2ae6877f08 100644
--- a/keyboards/mechlovin/adelais/rgb_led/rev3/keyboard.json
+++ b/keyboards/mechlovin/adelais/rgb_led/rev3/keyboard.json
@@ -7,7 +7,6 @@
"bootmagic": true,
"mousekey": true,
"extrakey": true,
- "console": false,
"command": false,
"nkro": true,
"rgblight": true,
diff --git a/keyboards/mechlovin/adelais/standard_led/avr/rev1/keyboard.json b/keyboards/mechlovin/adelais/standard_led/avr/rev1/keyboard.json
index 3758a8f085..e2b3346763 100644
--- a/keyboards/mechlovin/adelais/standard_led/avr/rev1/keyboard.json
+++ b/keyboards/mechlovin/adelais/standard_led/avr/rev1/keyboard.json
@@ -7,7 +7,6 @@
"bootmagic": true,
"mousekey": true,
"extrakey": true,
- "console": false,
"command": false,
"nkro": true,
"backlight": true,
diff --git a/keyboards/mechlovin/delphine/info.json b/keyboards/mechlovin/delphine/info.json
index baeeab6f18..2fe90c7629 100644
--- a/keyboards/mechlovin/delphine/info.json
+++ b/keyboards/mechlovin/delphine/info.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Delphine",
"manufacturer": "Mechlovin",
- "url": "",
"maintainer": "mechlovin",
"usb": {
"vid": "0x4D4C"
diff --git a/keyboards/mechlovin/foundation/keyboard.json b/keyboards/mechlovin/foundation/keyboard.json
index 3bd05add2f..00cf464255 100644
--- a/keyboards/mechlovin/foundation/keyboard.json
+++ b/keyboards/mechlovin/foundation/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Foundation FRL",
"manufacturer": "Mechlovin Studio",
- "url": "",
"maintainer": "Protozoa",
"usb": {
"vid": "0x4D4C",
diff --git a/keyboards/mechlovin/hannah60rgb/rev1/keyboard.json b/keyboards/mechlovin/hannah60rgb/rev1/keyboard.json
index 4fb4dc2eef..e2b0ae715e 100644
--- a/keyboards/mechlovin/hannah60rgb/rev1/keyboard.json
+++ b/keyboards/mechlovin/hannah60rgb/rev1/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Hannah60 RGB",
"manufacturer": "Team.Mechlovin",
- "url": "",
"maintainer": "mechlovin",
"usb": {
"vid": "0x4D4C",
diff --git a/keyboards/mechlovin/hannah60rgb/rev2/keyboard.json b/keyboards/mechlovin/hannah60rgb/rev2/keyboard.json
index 06bb71a348..066422b3e3 100644
--- a/keyboards/mechlovin/hannah60rgb/rev2/keyboard.json
+++ b/keyboards/mechlovin/hannah60rgb/rev2/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Hannah60 RGB Rev.2",
"manufacturer": "Team.Mechlovin",
- "url": "",
"maintainer": "mechlovin",
"usb": {
"vid": "0x4D4C",
diff --git a/keyboards/mechlovin/hannah65/rev1/haus/keyboard.json b/keyboards/mechlovin/hannah65/rev1/haus/keyboard.json
index 7a935fc1a5..14ca49f207 100644
--- a/keyboards/mechlovin/hannah65/rev1/haus/keyboard.json
+++ b/keyboards/mechlovin/hannah65/rev1/haus/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Haus Rev. 1",
"manufacturer": "Team Mechlovin",
- "url": "",
"maintainer": "Team Mechlovin",
"usb": {
"vid": "0x4D4C",
diff --git a/keyboards/mechlovin/hannah910/rev1/keyboard.json b/keyboards/mechlovin/hannah910/rev1/keyboard.json
index 61cf365337..44dedd57c3 100644
--- a/keyboards/mechlovin/hannah910/rev1/keyboard.json
+++ b/keyboards/mechlovin/hannah910/rev1/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Hannah910",
"manufacturer": "Mechlovin",
- "url": "",
"maintainer": "Mechlovin'",
"usb": {
"vid": "0x4D4C",
diff --git a/keyboards/mechlovin/hannah910/rev2/keyboard.json b/keyboards/mechlovin/hannah910/rev2/keyboard.json
index 9fb5847124..8a01f6bb8b 100644
--- a/keyboards/mechlovin/hannah910/rev2/keyboard.json
+++ b/keyboards/mechlovin/hannah910/rev2/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Hannah910",
"manufacturer": "Mechlovin",
- "url": "",
"maintainer": "Team Mechlovin'",
"usb": {
"vid": "0x4D4C",
diff --git a/keyboards/mechlovin/hannah910/rev3/keyboard.json b/keyboards/mechlovin/hannah910/rev3/keyboard.json
index ba88319890..668b31328f 100644
--- a/keyboards/mechlovin/hannah910/rev3/keyboard.json
+++ b/keyboards/mechlovin/hannah910/rev3/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Hannah910",
"manufacturer": "Mechlovin",
- "url": "",
"maintainer": "Team Mechlovin'",
"usb": {
"vid": "0x4D4C",
diff --git a/keyboards/mechlovin/hex4b/info.json b/keyboards/mechlovin/hex4b/info.json
index 9964736255..de7f03bab9 100644
--- a/keyboards/mechlovin/hex4b/info.json
+++ b/keyboards/mechlovin/hex4b/info.json
@@ -1,6 +1,5 @@
{
"manufacturer": "Mechlovin Studio",
- "url": "",
"maintainer": "Hex-Keyboard&Mechlovin",
"usb": {
"vid": "0x4D4C",
diff --git a/keyboards/mechlovin/hex6c/keyboard.json b/keyboards/mechlovin/hex6c/keyboard.json
index e068420b81..c951cf242d 100644
--- a/keyboards/mechlovin/hex6c/keyboard.json
+++ b/keyboards/mechlovin/hex6c/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Hex6C",
"manufacturer": "Mechlovin Studio and Hex Keyboard",
- "url": "",
"maintainer": "Mechlovin' Studio",
"usb": {
"vid": "0x4D4C",
diff --git a/keyboards/mechlovin/infinity87/rev1/rogue87/keyboard.json b/keyboards/mechlovin/infinity87/rev1/rogue87/keyboard.json
index 2ac0510dbf..840f8a0392 100644
--- a/keyboards/mechlovin/infinity87/rev1/rogue87/keyboard.json
+++ b/keyboards/mechlovin/infinity87/rev1/rogue87/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Rogue87 Rev.1",
"manufacturer": "Mechlovin.Studio",
- "url": "",
"maintainer": "Mechlovin' Studio",
"usb": {
"vid": "0x4D4C",
diff --git a/keyboards/mechlovin/infinity87/rev1/rouge87/keyboard.json b/keyboards/mechlovin/infinity87/rev1/rouge87/keyboard.json
index 6b947f0f1f..1eec53ebb9 100644
--- a/keyboards/mechlovin/infinity87/rev1/rouge87/keyboard.json
+++ b/keyboards/mechlovin/infinity87/rev1/rouge87/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Rouge87 Rev.1",
"manufacturer": "Mechlovin.Studio",
- "url": "",
"maintainer": "Mechlovin' Studio",
"usb": {
"vid": "0x4D4C",
diff --git a/keyboards/mechlovin/infinity87/rev1/standard/keyboard.json b/keyboards/mechlovin/infinity87/rev1/standard/keyboard.json
index a0cb10fac2..941f6ec955 100644
--- a/keyboards/mechlovin/infinity87/rev1/standard/keyboard.json
+++ b/keyboards/mechlovin/infinity87/rev1/standard/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "infinity87 Rev.1",
"manufacturer": "Mechlovin.Studio",
- "url": "",
"maintainer": "Team Mechlovin'",
"usb": {
"vid": "0x4D4C",
diff --git a/keyboards/mechlovin/infinity87/rev2/keyboard.json b/keyboards/mechlovin/infinity87/rev2/keyboard.json
index fdc6686988..618b9397bf 100644
--- a/keyboards/mechlovin/infinity87/rev2/keyboard.json
+++ b/keyboards/mechlovin/infinity87/rev2/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Infinity87 Rev.2",
"manufacturer": "Mechlovin.Studio",
- "url": "",
"maintainer": "Mechlovin' Studio",
"usb": {
"vid": "0x4D4C",
diff --git a/keyboards/mechlovin/infinity87/rgb_rev1/keyboard.json b/keyboards/mechlovin/infinity87/rgb_rev1/keyboard.json
index 2d177949dc..2ca5e03b36 100644
--- a/keyboards/mechlovin/infinity87/rgb_rev1/keyboard.json
+++ b/keyboards/mechlovin/infinity87/rgb_rev1/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Infinity87 RGB Rev1",
"manufacturer": "Mechlovin.Studio",
- "url": "",
"maintainer": "Team Mechlovin'",
"usb": {
"vid": "0x4D4C",
diff --git a/keyboards/mechlovin/infinity875/keyboard.json b/keyboards/mechlovin/infinity875/keyboard.json
index 73bdb0af13..1016178caa 100644
--- a/keyboards/mechlovin/infinity875/keyboard.json
+++ b/keyboards/mechlovin/infinity875/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Infinity87.5",
"manufacturer": "Mechlovin.Studio",
- "url": "",
"maintainer": "Mechlovin' Studio",
"usb": {
"vid": "0x4D4C",
diff --git a/keyboards/mechlovin/infinity88/keyboard.json b/keyboards/mechlovin/infinity88/keyboard.json
index 14371d2459..3691c6d836 100644
--- a/keyboards/mechlovin/infinity88/keyboard.json
+++ b/keyboards/mechlovin/infinity88/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Infinity 88",
"manufacturer": "Team.Mechlovin",
- "url": "",
"maintainer": "mechlovin",
"usb": {
"vid": "0x4D4C",
diff --git a/keyboards/mechlovin/infinityce/keyboard.json b/keyboards/mechlovin/infinityce/keyboard.json
index 5b10e056ba..08981c7cb5 100644
--- a/keyboards/mechlovin/infinityce/keyboard.json
+++ b/keyboards/mechlovin/infinityce/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Infinity CE",
"manufacturer": "Team.Mechlovin",
- "url": "",
"maintainer": "Team Mechlovin'",
"usb": {
"vid": "0x4D4C",
@@ -12,7 +11,6 @@
"backlight": true,
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/mechlovin/jay60/keyboard.json b/keyboards/mechlovin/jay60/keyboard.json
index 75bf190d88..2b7e9ef914 100644
--- a/keyboards/mechlovin/jay60/keyboard.json
+++ b/keyboards/mechlovin/jay60/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Jay60",
"manufacturer": "Mechlovin Studio",
- "url": "",
"maintainer": "Mechlovin' Studio",
"usb": {
"vid": "0x4D4C",
diff --git a/keyboards/mechlovin/kanu/keyboard.json b/keyboards/mechlovin/kanu/keyboard.json
index 10cd22319a..2ade6f1962 100644
--- a/keyboards/mechlovin/kanu/keyboard.json
+++ b/keyboards/mechlovin/kanu/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Kanu",
"manufacturer": "Mechlovin",
- "url": "",
"maintainer": "Team Mechlovin'",
"usb": {
"vid": "0x4D4C",
@@ -12,7 +11,6 @@
"backlight": true,
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/mechlovin/kay60/keyboard.json b/keyboards/mechlovin/kay60/keyboard.json
index 7c38273947..b666450bd8 100644
--- a/keyboards/mechlovin/kay60/keyboard.json
+++ b/keyboards/mechlovin/kay60/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Kay60",
"manufacturer": "Mechlovin Studio",
- "url": "",
"maintainer": "Mechlovin' Studio",
"usb": {
"vid": "0x4D4C",
@@ -11,7 +10,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/mechlovin/kay65/keyboard.json b/keyboards/mechlovin/kay65/keyboard.json
index f5d5897939..fa2fdf0095 100644
--- a/keyboards/mechlovin/kay65/keyboard.json
+++ b/keyboards/mechlovin/kay65/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Kay65 Rev. 1",
"manufacturer": "Team Mechlovin",
- "url": "",
"maintainer": "Mechlovin' Studio",
"usb": {
"vid": "0x4D4C",
@@ -11,7 +10,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false,
diff --git a/keyboards/mechlovin/mechlovin9/info.json b/keyboards/mechlovin/mechlovin9/info.json
index 41133813ef..6783f0a323 100644
--- a/keyboards/mechlovin/mechlovin9/info.json
+++ b/keyboards/mechlovin/mechlovin9/info.json
@@ -1,6 +1,5 @@
{
"manufacturer": "Mechlovin Studio",
- "url": "",
"maintainer": "Team Mechlovin",
"usb": {
"vid": "0x4D4C"
diff --git a/keyboards/mechlovin/olly/bb/keyboard.json b/keyboards/mechlovin/olly/bb/keyboard.json
index ac08e94c3c..de3eb16c1d 100644
--- a/keyboards/mechlovin/olly/bb/keyboard.json
+++ b/keyboards/mechlovin/olly/bb/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Olly BB",
"manufacturer": "Mechlovin.Studio",
- "url": "",
"maintainer": "Mechlovin' Studio",
"usb": {
"vid": "0x4D4C",
diff --git a/keyboards/mechlovin/olly/jf/info.json b/keyboards/mechlovin/olly/jf/info.json
index 315191e840..c5a70f44ba 100644
--- a/keyboards/mechlovin/olly/jf/info.json
+++ b/keyboards/mechlovin/olly/jf/info.json
@@ -1,6 +1,5 @@
{
"manufacturer": "Mechlovin.Studio",
- "url": "",
"maintainer": "Mechlovin' Studio",
"usb": {
"vid": "0x4D4C"
diff --git a/keyboards/mechlovin/olly/octagon/keyboard.json b/keyboards/mechlovin/olly/octagon/keyboard.json
index 4bc7d88ed7..6df26bad09 100644
--- a/keyboards/mechlovin/olly/octagon/keyboard.json
+++ b/keyboards/mechlovin/olly/octagon/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Olly Octagon",
"manufacturer": "Mechlovin Studio",
- "url": "",
"maintainer": "Mechlovin' Studio",
"usb": {
"vid": "0x4D4C",
@@ -170,11 +169,12 @@
"processor": "STM32F103",
"bootloader": "stm32duino",
"layout_aliases": {
- "LAYOUT": "LAYOUT_split_bs",
- "LAYOUT_all": "LAYOUT_split_bs"
+ "LAYOUT": "LAYOUT_all",
+ "LAYOUT_split_bs": "LAYOUT_all"
},
+ "community_layouts": ["75_ansi", "75_iso"],
"layouts": {
- "LAYOUT_split_bs": {
+ "LAYOUT_all": {
"layout": [
{"matrix": [0, 0], "x": 0, "y": 0},
{"matrix": [0, 1], "x": 1, "y": 0},
@@ -269,6 +269,750 @@
{"matrix": [5, 14], "x": 14, "y": 5},
{"matrix": [5, 15], "x": 15, "y": 5}
]
+ },
+ "LAYOUT_75_ansi": {
+ "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": [0, 14], "x": 14, "y": 0},
+ {"matrix": [0, 15], "x": 15, "y": 0},
+
+ {"matrix": [1, 0], "x": 0, "y": 1},
+ {"matrix": [1, 1], "x": 1, "y": 1},
+ {"matrix": [1, 2], "x": 2, "y": 1},
+ {"matrix": [1, 3], "x": 3, "y": 1},
+ {"matrix": [1, 4], "x": 4, "y": 1},
+ {"matrix": [1, 5], "x": 5, "y": 1},
+ {"matrix": [1, 6], "x": 6, "y": 1},
+ {"matrix": [1, 7], "x": 7, "y": 1},
+ {"matrix": [1, 8], "x": 8, "y": 1},
+ {"matrix": [1, 9], "x": 9, "y": 1},
+ {"matrix": [1, 10], "x": 10, "y": 1},
+ {"matrix": [1, 11], "x": 11, "y": 1},
+ {"matrix": [1, 12], "x": 12, "y": 1},
+ {"matrix": [1, 13], "x": 13, "y": 1, "w": 2},
+ {"matrix": [1, 15], "x": 15, "y": 1},
+
+ {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.5},
+ {"matrix": [2, 1], "x": 1.5, "y": 2},
+ {"matrix": [2, 2], "x": 2.5, "y": 2},
+ {"matrix": [2, 3], "x": 3.5, "y": 2},
+ {"matrix": [2, 4], "x": 4.5, "y": 2},
+ {"matrix": [2, 5], "x": 5.5, "y": 2},
+ {"matrix": [2, 6], "x": 6.5, "y": 2},
+ {"matrix": [2, 7], "x": 7.5, "y": 2},
+ {"matrix": [2, 8], "x": 8.5, "y": 2},
+ {"matrix": [2, 9], "x": 9.5, "y": 2},
+ {"matrix": [2, 10], "x": 10.5, "y": 2},
+ {"matrix": [2, 11], "x": 11.5, "y": 2},
+ {"matrix": [2, 12], "x": 12.5, "y": 2},
+ {"matrix": [2, 14], "x": 13.5, "y": 2, "w": 1.5},
+ {"matrix": [2, 15], "x": 15, "y": 2},
+
+ {"matrix": [3, 0], "x": 0, "y": 3, "w": 1.75},
+ {"matrix": [3, 1], "x": 1.75, "y": 3},
+ {"matrix": [3, 2], "x": 2.75, "y": 3},
+ {"matrix": [3, 3], "x": 3.75, "y": 3},
+ {"matrix": [3, 4], "x": 4.75, "y": 3},
+ {"matrix": [3, 5], "x": 5.75, "y": 3},
+ {"matrix": [3, 6], "x": 6.75, "y": 3},
+ {"matrix": [3, 7], "x": 7.75, "y": 3},
+ {"matrix": [3, 8], "x": 8.75, "y": 3},
+ {"matrix": [3, 9], "x": 9.75, "y": 3},
+ {"matrix": [3, 10], "x": 10.75, "y": 3},
+ {"matrix": [3, 11], "x": 11.75, "y": 3},
+ {"matrix": [3, 13], "x": 12.75, "y": 3, "w": 2.25},
+ {"matrix": [3, 15], "x": 15, "y": 3},
+
+ {"matrix": [4, 0], "x": 0, "y": 4, "w": 2.25},
+ {"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},
+ {"matrix": [4, 6], "x": 6.25, "y": 4},
+ {"matrix": [4, 7], "x": 7.25, "y": 4},
+ {"matrix": [4, 8], "x": 8.25, "y": 4},
+ {"matrix": [4, 9], "x": 9.25, "y": 4},
+ {"matrix": [4, 10], "x": 10.25, "y": 4},
+ {"matrix": [4, 11], "x": 11.25, "y": 4},
+ {"matrix": [4, 12], "x": 12.25, "y": 4, "w": 1.75},
+ {"matrix": [4, 14], "x": 14, "y": 4},
+ {"matrix": [4, 15], "x": 15, "y": 4},
+
+ {"matrix": [5, 0], "x": 0, "y": 5, "w": 1.25},
+ {"matrix": [5, 1], "x": 1.25, "y": 5, "w": 1.25},
+ {"matrix": [5, 2], "x": 2.5, "y": 5, "w": 1.25},
+ {"matrix": [5, 6], "x": 3.75, "y": 5, "w": 6.25},
+ {"matrix": [5, 10], "x": 10, "y": 5},
+ {"matrix": [5, 11], "x": 11, "y": 5},
+ {"matrix": [5, 12], "x": 12, "y": 5},
+ {"matrix": [5, 13], "x": 13, "y": 5},
+ {"matrix": [5, 14], "x": 14, "y": 5},
+ {"matrix": [5, 15], "x": 15, "y": 5}
+ ]
+ },
+ "LAYOUT_75_ansi_split_bs": {
+ "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": [0, 14], "x": 14, "y": 0},
+ {"matrix": [0, 15], "x": 15, "y": 0},
+
+ {"matrix": [1, 0], "x": 0, "y": 1},
+ {"matrix": [1, 1], "x": 1, "y": 1},
+ {"matrix": [1, 2], "x": 2, "y": 1},
+ {"matrix": [1, 3], "x": 3, "y": 1},
+ {"matrix": [1, 4], "x": 4, "y": 1},
+ {"matrix": [1, 5], "x": 5, "y": 1},
+ {"matrix": [1, 6], "x": 6, "y": 1},
+ {"matrix": [1, 7], "x": 7, "y": 1},
+ {"matrix": [1, 8], "x": 8, "y": 1},
+ {"matrix": [1, 9], "x": 9, "y": 1},
+ {"matrix": [1, 10], "x": 10, "y": 1},
+ {"matrix": [1, 11], "x": 11, "y": 1},
+ {"matrix": [1, 12], "x": 12, "y": 1},
+ {"matrix": [1, 13], "x": 13, "y": 1},
+ {"matrix": [1, 14], "x": 14, "y": 1},
+ {"matrix": [1, 15], "x": 15, "y": 1},
+
+ {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.5},
+ {"matrix": [2, 1], "x": 1.5, "y": 2},
+ {"matrix": [2, 2], "x": 2.5, "y": 2},
+ {"matrix": [2, 3], "x": 3.5, "y": 2},
+ {"matrix": [2, 4], "x": 4.5, "y": 2},
+ {"matrix": [2, 5], "x": 5.5, "y": 2},
+ {"matrix": [2, 6], "x": 6.5, "y": 2},
+ {"matrix": [2, 7], "x": 7.5, "y": 2},
+ {"matrix": [2, 8], "x": 8.5, "y": 2},
+ {"matrix": [2, 9], "x": 9.5, "y": 2},
+ {"matrix": [2, 10], "x": 10.5, "y": 2},
+ {"matrix": [2, 11], "x": 11.5, "y": 2},
+ {"matrix": [2, 12], "x": 12.5, "y": 2},
+ {"matrix": [2, 14], "x": 13.5, "y": 2, "w": 1.5},
+ {"matrix": [2, 15], "x": 15, "y": 2},
+
+ {"matrix": [3, 0], "x": 0, "y": 3, "w": 1.75},
+ {"matrix": [3, 1], "x": 1.75, "y": 3},
+ {"matrix": [3, 2], "x": 2.75, "y": 3},
+ {"matrix": [3, 3], "x": 3.75, "y": 3},
+ {"matrix": [3, 4], "x": 4.75, "y": 3},
+ {"matrix": [3, 5], "x": 5.75, "y": 3},
+ {"matrix": [3, 6], "x": 6.75, "y": 3},
+ {"matrix": [3, 7], "x": 7.75, "y": 3},
+ {"matrix": [3, 8], "x": 8.75, "y": 3},
+ {"matrix": [3, 9], "x": 9.75, "y": 3},
+ {"matrix": [3, 10], "x": 10.75, "y": 3},
+ {"matrix": [3, 11], "x": 11.75, "y": 3},
+ {"matrix": [3, 13], "x": 12.75, "y": 3, "w": 2.25},
+ {"matrix": [3, 15], "x": 15, "y": 3},
+
+ {"matrix": [4, 0], "x": 0, "y": 4, "w": 2.25},
+ {"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},
+ {"matrix": [4, 6], "x": 6.25, "y": 4},
+ {"matrix": [4, 7], "x": 7.25, "y": 4},
+ {"matrix": [4, 8], "x": 8.25, "y": 4},
+ {"matrix": [4, 9], "x": 9.25, "y": 4},
+ {"matrix": [4, 10], "x": 10.25, "y": 4},
+ {"matrix": [4, 11], "x": 11.25, "y": 4},
+ {"matrix": [4, 12], "x": 12.25, "y": 4, "w": 1.75},
+ {"matrix": [4, 14], "x": 14, "y": 4},
+ {"matrix": [4, 15], "x": 15, "y": 4},
+
+ {"matrix": [5, 0], "x": 0, "y": 5, "w": 1.25},
+ {"matrix": [5, 1], "x": 1.25, "y": 5, "w": 1.25},
+ {"matrix": [5, 2], "x": 2.5, "y": 5, "w": 1.25},
+ {"matrix": [5, 6], "x": 3.75, "y": 5, "w": 6.25},
+ {"matrix": [5, 10], "x": 10, "y": 5},
+ {"matrix": [5, 11], "x": 11, "y": 5},
+ {"matrix": [5, 12], "x": 12, "y": 5},
+ {"matrix": [5, 13], "x": 13, "y": 5},
+ {"matrix": [5, 14], "x": 14, "y": 5},
+ {"matrix": [5, 15], "x": 15, "y": 5}
+ ]
+ },
+ "LAYOUT_75_ansi_wkl": {
+ "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": [0, 14], "x": 14, "y": 0},
+ {"matrix": [0, 15], "x": 15, "y": 0},
+
+ {"matrix": [1, 0], "x": 0, "y": 1},
+ {"matrix": [1, 1], "x": 1, "y": 1},
+ {"matrix": [1, 2], "x": 2, "y": 1},
+ {"matrix": [1, 3], "x": 3, "y": 1},
+ {"matrix": [1, 4], "x": 4, "y": 1},
+ {"matrix": [1, 5], "x": 5, "y": 1},
+ {"matrix": [1, 6], "x": 6, "y": 1},
+ {"matrix": [1, 7], "x": 7, "y": 1},
+ {"matrix": [1, 8], "x": 8, "y": 1},
+ {"matrix": [1, 9], "x": 9, "y": 1},
+ {"matrix": [1, 10], "x": 10, "y": 1},
+ {"matrix": [1, 11], "x": 11, "y": 1},
+ {"matrix": [1, 12], "x": 12, "y": 1},
+ {"matrix": [1, 13], "x": 13, "y": 1, "w": 2},
+ {"matrix": [1, 15], "x": 15, "y": 1},
+
+ {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.5},
+ {"matrix": [2, 1], "x": 1.5, "y": 2},
+ {"matrix": [2, 2], "x": 2.5, "y": 2},
+ {"matrix": [2, 3], "x": 3.5, "y": 2},
+ {"matrix": [2, 4], "x": 4.5, "y": 2},
+ {"matrix": [2, 5], "x": 5.5, "y": 2},
+ {"matrix": [2, 6], "x": 6.5, "y": 2},
+ {"matrix": [2, 7], "x": 7.5, "y": 2},
+ {"matrix": [2, 8], "x": 8.5, "y": 2},
+ {"matrix": [2, 9], "x": 9.5, "y": 2},
+ {"matrix": [2, 10], "x": 10.5, "y": 2},
+ {"matrix": [2, 11], "x": 11.5, "y": 2},
+ {"matrix": [2, 12], "x": 12.5, "y": 2},
+ {"matrix": [2, 14], "x": 13.5, "y": 2, "w": 1.5},
+ {"matrix": [2, 15], "x": 15, "y": 2},
+
+ {"matrix": [3, 0], "x": 0, "y": 3, "w": 1.75},
+ {"matrix": [3, 1], "x": 1.75, "y": 3},
+ {"matrix": [3, 2], "x": 2.75, "y": 3},
+ {"matrix": [3, 3], "x": 3.75, "y": 3},
+ {"matrix": [3, 4], "x": 4.75, "y": 3},
+ {"matrix": [3, 5], "x": 5.75, "y": 3},
+ {"matrix": [3, 6], "x": 6.75, "y": 3},
+ {"matrix": [3, 7], "x": 7.75, "y": 3},
+ {"matrix": [3, 8], "x": 8.75, "y": 3},
+ {"matrix": [3, 9], "x": 9.75, "y": 3},
+ {"matrix": [3, 10], "x": 10.75, "y": 3},
+ {"matrix": [3, 11], "x": 11.75, "y": 3},
+ {"matrix": [3, 13], "x": 12.75, "y": 3, "w": 2.25},
+ {"matrix": [3, 15], "x": 15, "y": 3},
+
+ {"matrix": [4, 0], "x": 0, "y": 4, "w": 2.25},
+ {"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},
+ {"matrix": [4, 6], "x": 6.25, "y": 4},
+ {"matrix": [4, 7], "x": 7.25, "y": 4},
+ {"matrix": [4, 8], "x": 8.25, "y": 4},
+ {"matrix": [4, 9], "x": 9.25, "y": 4},
+ {"matrix": [4, 10], "x": 10.25, "y": 4},
+ {"matrix": [4, 11], "x": 11.25, "y": 4},
+ {"matrix": [4, 12], "x": 12.25, "y": 4, "w": 1.75},
+ {"matrix": [4, 14], "x": 14, "y": 4},
+ {"matrix": [4, 15], "x": 15, "y": 4},
+
+ {"matrix": [5, 0], "x": 0, "y": 5, "w": 1.5},
+ {"matrix": [5, 1], "x": 1.5, "y": 5, "w": 1.5},
+ {"matrix": [5, 6], "x": 3, "y": 5, "w": 7},
+ {"matrix": [5, 10], "x": 10, "y": 5, "w": 1.5},
+ {"matrix": [5, 12], "x": 11.5, "y": 5, "w": 1.5},
+ {"matrix": [5, 13], "x": 13, "y": 5},
+ {"matrix": [5, 14], "x": 14, "y": 5},
+ {"matrix": [5, 15], "x": 15, "y": 5}
+ ]
+ },
+ "LAYOUT_75_ansi_wkl_split_bs": {
+ "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": [0, 14], "x": 14, "y": 0},
+ {"matrix": [0, 15], "x": 15, "y": 0},
+
+ {"matrix": [1, 0], "x": 0, "y": 1},
+ {"matrix": [1, 1], "x": 1, "y": 1},
+ {"matrix": [1, 2], "x": 2, "y": 1},
+ {"matrix": [1, 3], "x": 3, "y": 1},
+ {"matrix": [1, 4], "x": 4, "y": 1},
+ {"matrix": [1, 5], "x": 5, "y": 1},
+ {"matrix": [1, 6], "x": 6, "y": 1},
+ {"matrix": [1, 7], "x": 7, "y": 1},
+ {"matrix": [1, 8], "x": 8, "y": 1},
+ {"matrix": [1, 9], "x": 9, "y": 1},
+ {"matrix": [1, 10], "x": 10, "y": 1},
+ {"matrix": [1, 11], "x": 11, "y": 1},
+ {"matrix": [1, 12], "x": 12, "y": 1},
+ {"matrix": [1, 13], "x": 13, "y": 1},
+ {"matrix": [1, 14], "x": 14, "y": 1},
+ {"matrix": [1, 15], "x": 15, "y": 1},
+
+ {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.5},
+ {"matrix": [2, 1], "x": 1.5, "y": 2},
+ {"matrix": [2, 2], "x": 2.5, "y": 2},
+ {"matrix": [2, 3], "x": 3.5, "y": 2},
+ {"matrix": [2, 4], "x": 4.5, "y": 2},
+ {"matrix": [2, 5], "x": 5.5, "y": 2},
+ {"matrix": [2, 6], "x": 6.5, "y": 2},
+ {"matrix": [2, 7], "x": 7.5, "y": 2},
+ {"matrix": [2, 8], "x": 8.5, "y": 2},
+ {"matrix": [2, 9], "x": 9.5, "y": 2},
+ {"matrix": [2, 10], "x": 10.5, "y": 2},
+ {"matrix": [2, 11], "x": 11.5, "y": 2},
+ {"matrix": [2, 12], "x": 12.5, "y": 2},
+ {"matrix": [2, 14], "x": 13.5, "y": 2, "w": 1.5},
+ {"matrix": [2, 15], "x": 15, "y": 2},
+
+ {"matrix": [3, 0], "x": 0, "y": 3, "w": 1.75},
+ {"matrix": [3, 1], "x": 1.75, "y": 3},
+ {"matrix": [3, 2], "x": 2.75, "y": 3},
+ {"matrix": [3, 3], "x": 3.75, "y": 3},
+ {"matrix": [3, 4], "x": 4.75, "y": 3},
+ {"matrix": [3, 5], "x": 5.75, "y": 3},
+ {"matrix": [3, 6], "x": 6.75, "y": 3},
+ {"matrix": [3, 7], "x": 7.75, "y": 3},
+ {"matrix": [3, 8], "x": 8.75, "y": 3},
+ {"matrix": [3, 9], "x": 9.75, "y": 3},
+ {"matrix": [3, 10], "x": 10.75, "y": 3},
+ {"matrix": [3, 11], "x": 11.75, "y": 3},
+ {"matrix": [3, 13], "x": 12.75, "y": 3, "w": 2.25},
+ {"matrix": [3, 15], "x": 15, "y": 3},
+
+ {"matrix": [4, 0], "x": 0, "y": 4, "w": 2.25},
+ {"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},
+ {"matrix": [4, 6], "x": 6.25, "y": 4},
+ {"matrix": [4, 7], "x": 7.25, "y": 4},
+ {"matrix": [4, 8], "x": 8.25, "y": 4},
+ {"matrix": [4, 9], "x": 9.25, "y": 4},
+ {"matrix": [4, 10], "x": 10.25, "y": 4},
+ {"matrix": [4, 11], "x": 11.25, "y": 4},
+ {"matrix": [4, 12], "x": 12.25, "y": 4, "w": 1.75},
+ {"matrix": [4, 14], "x": 14, "y": 4},
+ {"matrix": [4, 15], "x": 15, "y": 4},
+
+ {"matrix": [5, 0], "x": 0, "y": 5, "w": 1.5},
+ {"matrix": [5, 1], "x": 1.5, "y": 5, "w": 1.5},
+ {"matrix": [5, 6], "x": 3, "y": 5, "w": 7},
+ {"matrix": [5, 10], "x": 10, "y": 5, "w": 1.5},
+ {"matrix": [5, 12], "x": 11.5, "y": 5, "w": 1.5},
+ {"matrix": [5, 13], "x": 13, "y": 5},
+ {"matrix": [5, 14], "x": 14, "y": 5},
+ {"matrix": [5, 15], "x": 15, "y": 5}
+ ]
+ },
+ "LAYOUT_75_iso": {
+ "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": [0, 14], "x": 14, "y": 0},
+ {"matrix": [0, 15], "x": 15, "y": 0},
+
+ {"matrix": [1, 0], "x": 0, "y": 1},
+ {"matrix": [1, 1], "x": 1, "y": 1},
+ {"matrix": [1, 2], "x": 2, "y": 1},
+ {"matrix": [1, 3], "x": 3, "y": 1},
+ {"matrix": [1, 4], "x": 4, "y": 1},
+ {"matrix": [1, 5], "x": 5, "y": 1},
+ {"matrix": [1, 6], "x": 6, "y": 1},
+ {"matrix": [1, 7], "x": 7, "y": 1},
+ {"matrix": [1, 8], "x": 8, "y": 1},
+ {"matrix": [1, 9], "x": 9, "y": 1},
+ {"matrix": [1, 10], "x": 10, "y": 1},
+ {"matrix": [1, 11], "x": 11, "y": 1},
+ {"matrix": [1, 12], "x": 12, "y": 1},
+ {"matrix": [1, 13], "x": 13, "y": 1, "w": 2},
+ {"matrix": [1, 15], "x": 15, "y": 1},
+
+ {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.5},
+ {"matrix": [2, 1], "x": 1.5, "y": 2},
+ {"matrix": [2, 2], "x": 2.5, "y": 2},
+ {"matrix": [2, 3], "x": 3.5, "y": 2},
+ {"matrix": [2, 4], "x": 4.5, "y": 2},
+ {"matrix": [2, 5], "x": 5.5, "y": 2},
+ {"matrix": [2, 6], "x": 6.5, "y": 2},
+ {"matrix": [2, 7], "x": 7.5, "y": 2},
+ {"matrix": [2, 8], "x": 8.5, "y": 2},
+ {"matrix": [2, 9], "x": 9.5, "y": 2},
+ {"matrix": [2, 10], "x": 10.5, "y": 2},
+ {"matrix": [2, 11], "x": 11.5, "y": 2},
+ {"matrix": [2, 12], "x": 12.5, "y": 2},
+ {"matrix": [2, 15], "x": 15, "y": 2},
+
+ {"matrix": [3, 0], "x": 0, "y": 3, "w": 1.75},
+ {"matrix": [3, 1], "x": 1.75, "y": 3},
+ {"matrix": [3, 2], "x": 2.75, "y": 3},
+ {"matrix": [3, 3], "x": 3.75, "y": 3},
+ {"matrix": [3, 4], "x": 4.75, "y": 3},
+ {"matrix": [3, 5], "x": 5.75, "y": 3},
+ {"matrix": [3, 6], "x": 6.75, "y": 3},
+ {"matrix": [3, 7], "x": 7.75, "y": 3},
+ {"matrix": [3, 8], "x": 8.75, "y": 3},
+ {"matrix": [3, 9], "x": 9.75, "y": 3},
+ {"matrix": [3, 10], "x": 10.75, "y": 3},
+ {"matrix": [3, 11], "x": 11.75, "y": 3},
+ {"matrix": [3, 12], "x": 12.75, "y": 3},
+ {"matrix": [2, 14], "x": 13.75, "y": 2, "w": 1.25, "h": 2},
+ {"matrix": [3, 15], "x": 15, "y": 3},
+
+ {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.25},
+ {"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},
+ {"matrix": [4, 6], "x": 6.25, "y": 4},
+ {"matrix": [4, 7], "x": 7.25, "y": 4},
+ {"matrix": [4, 8], "x": 8.25, "y": 4},
+ {"matrix": [4, 9], "x": 9.25, "y": 4},
+ {"matrix": [4, 10], "x": 10.25, "y": 4},
+ {"matrix": [4, 11], "x": 11.25, "y": 4},
+ {"matrix": [4, 12], "x": 12.25, "y": 4, "w": 1.75},
+ {"matrix": [4, 14], "x": 14, "y": 4},
+ {"matrix": [4, 15], "x": 15, "y": 4},
+
+ {"matrix": [5, 0], "x": 0, "y": 5, "w": 1.25},
+ {"matrix": [5, 1], "x": 1.25, "y": 5, "w": 1.25},
+ {"matrix": [5, 2], "x": 2.5, "y": 5, "w": 1.25},
+ {"matrix": [5, 6], "x": 3.75, "y": 5, "w": 6.25},
+ {"matrix": [5, 10], "x": 10, "y": 5},
+ {"matrix": [5, 11], "x": 11, "y": 5},
+ {"matrix": [5, 12], "x": 12, "y": 5},
+ {"matrix": [5, 13], "x": 13, "y": 5},
+ {"matrix": [5, 14], "x": 14, "y": 5},
+ {"matrix": [5, 15], "x": 15, "y": 5}
+ ]
+ },
+ "LAYOUT_75_iso_split_bs": {
+ "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": [0, 14], "x": 14, "y": 0},
+ {"matrix": [0, 15], "x": 15, "y": 0},
+
+ {"matrix": [1, 0], "x": 0, "y": 1},
+ {"matrix": [1, 1], "x": 1, "y": 1},
+ {"matrix": [1, 2], "x": 2, "y": 1},
+ {"matrix": [1, 3], "x": 3, "y": 1},
+ {"matrix": [1, 4], "x": 4, "y": 1},
+ {"matrix": [1, 5], "x": 5, "y": 1},
+ {"matrix": [1, 6], "x": 6, "y": 1},
+ {"matrix": [1, 7], "x": 7, "y": 1},
+ {"matrix": [1, 8], "x": 8, "y": 1},
+ {"matrix": [1, 9], "x": 9, "y": 1},
+ {"matrix": [1, 10], "x": 10, "y": 1},
+ {"matrix": [1, 11], "x": 11, "y": 1},
+ {"matrix": [1, 12], "x": 12, "y": 1},
+ {"matrix": [1, 13], "x": 13, "y": 1},
+ {"matrix": [1, 14], "x": 14, "y": 1},
+ {"matrix": [1, 15], "x": 15, "y": 1},
+
+ {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.5},
+ {"matrix": [2, 1], "x": 1.5, "y": 2},
+ {"matrix": [2, 2], "x": 2.5, "y": 2},
+ {"matrix": [2, 3], "x": 3.5, "y": 2},
+ {"matrix": [2, 4], "x": 4.5, "y": 2},
+ {"matrix": [2, 5], "x": 5.5, "y": 2},
+ {"matrix": [2, 6], "x": 6.5, "y": 2},
+ {"matrix": [2, 7], "x": 7.5, "y": 2},
+ {"matrix": [2, 8], "x": 8.5, "y": 2},
+ {"matrix": [2, 9], "x": 9.5, "y": 2},
+ {"matrix": [2, 10], "x": 10.5, "y": 2},
+ {"matrix": [2, 11], "x": 11.5, "y": 2},
+ {"matrix": [2, 12], "x": 12.5, "y": 2},
+ {"matrix": [2, 15], "x": 15, "y": 2},
+
+ {"matrix": [3, 0], "x": 0, "y": 3, "w": 1.75},
+ {"matrix": [3, 1], "x": 1.75, "y": 3},
+ {"matrix": [3, 2], "x": 2.75, "y": 3},
+ {"matrix": [3, 3], "x": 3.75, "y": 3},
+ {"matrix": [3, 4], "x": 4.75, "y": 3},
+ {"matrix": [3, 5], "x": 5.75, "y": 3},
+ {"matrix": [3, 6], "x": 6.75, "y": 3},
+ {"matrix": [3, 7], "x": 7.75, "y": 3},
+ {"matrix": [3, 8], "x": 8.75, "y": 3},
+ {"matrix": [3, 9], "x": 9.75, "y": 3},
+ {"matrix": [3, 10], "x": 10.75, "y": 3},
+ {"matrix": [3, 11], "x": 11.75, "y": 3},
+ {"matrix": [3, 12], "x": 12.75, "y": 3},
+ {"matrix": [2, 14], "x": 13.75, "y": 2, "w": 1.25, "h": 2},
+ {"matrix": [3, 15], "x": 15, "y": 3},
+
+ {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.25},
+ {"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},
+ {"matrix": [4, 6], "x": 6.25, "y": 4},
+ {"matrix": [4, 7], "x": 7.25, "y": 4},
+ {"matrix": [4, 8], "x": 8.25, "y": 4},
+ {"matrix": [4, 9], "x": 9.25, "y": 4},
+ {"matrix": [4, 10], "x": 10.25, "y": 4},
+ {"matrix": [4, 11], "x": 11.25, "y": 4},
+ {"matrix": [4, 12], "x": 12.25, "y": 4, "w": 1.75},
+ {"matrix": [4, 14], "x": 14, "y": 4},
+ {"matrix": [4, 15], "x": 15, "y": 4},
+
+ {"matrix": [5, 0], "x": 0, "y": 5, "w": 1.25},
+ {"matrix": [5, 1], "x": 1.25, "y": 5, "w": 1.25},
+ {"matrix": [5, 2], "x": 2.5, "y": 5, "w": 1.25},
+ {"matrix": [5, 6], "x": 3.75, "y": 5, "w": 6.25},
+ {"matrix": [5, 10], "x": 10, "y": 5},
+ {"matrix": [5, 11], "x": 11, "y": 5},
+ {"matrix": [5, 12], "x": 12, "y": 5},
+ {"matrix": [5, 13], "x": 13, "y": 5},
+ {"matrix": [5, 14], "x": 14, "y": 5},
+ {"matrix": [5, 15], "x": 15, "y": 5}
+ ]
+ },
+ "LAYOUT_75_iso_wkl": {
+ "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": [0, 14], "x": 14, "y": 0},
+ {"matrix": [0, 15], "x": 15, "y": 0},
+
+ {"matrix": [1, 0], "x": 0, "y": 1},
+ {"matrix": [1, 1], "x": 1, "y": 1},
+ {"matrix": [1, 2], "x": 2, "y": 1},
+ {"matrix": [1, 3], "x": 3, "y": 1},
+ {"matrix": [1, 4], "x": 4, "y": 1},
+ {"matrix": [1, 5], "x": 5, "y": 1},
+ {"matrix": [1, 6], "x": 6, "y": 1},
+ {"matrix": [1, 7], "x": 7, "y": 1},
+ {"matrix": [1, 8], "x": 8, "y": 1},
+ {"matrix": [1, 9], "x": 9, "y": 1},
+ {"matrix": [1, 10], "x": 10, "y": 1},
+ {"matrix": [1, 11], "x": 11, "y": 1},
+ {"matrix": [1, 12], "x": 12, "y": 1},
+ {"matrix": [1, 13], "x": 13, "y": 1, "w": 2},
+ {"matrix": [1, 15], "x": 15, "y": 1},
+
+ {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.5},
+ {"matrix": [2, 1], "x": 1.5, "y": 2},
+ {"matrix": [2, 2], "x": 2.5, "y": 2},
+ {"matrix": [2, 3], "x": 3.5, "y": 2},
+ {"matrix": [2, 4], "x": 4.5, "y": 2},
+ {"matrix": [2, 5], "x": 5.5, "y": 2},
+ {"matrix": [2, 6], "x": 6.5, "y": 2},
+ {"matrix": [2, 7], "x": 7.5, "y": 2},
+ {"matrix": [2, 8], "x": 8.5, "y": 2},
+ {"matrix": [2, 9], "x": 9.5, "y": 2},
+ {"matrix": [2, 10], "x": 10.5, "y": 2},
+ {"matrix": [2, 11], "x": 11.5, "y": 2},
+ {"matrix": [2, 12], "x": 12.5, "y": 2},
+ {"matrix": [2, 15], "x": 15, "y": 2},
+
+ {"matrix": [3, 0], "x": 0, "y": 3, "w": 1.75},
+ {"matrix": [3, 1], "x": 1.75, "y": 3},
+ {"matrix": [3, 2], "x": 2.75, "y": 3},
+ {"matrix": [3, 3], "x": 3.75, "y": 3},
+ {"matrix": [3, 4], "x": 4.75, "y": 3},
+ {"matrix": [3, 5], "x": 5.75, "y": 3},
+ {"matrix": [3, 6], "x": 6.75, "y": 3},
+ {"matrix": [3, 7], "x": 7.75, "y": 3},
+ {"matrix": [3, 8], "x": 8.75, "y": 3},
+ {"matrix": [3, 9], "x": 9.75, "y": 3},
+ {"matrix": [3, 10], "x": 10.75, "y": 3},
+ {"matrix": [3, 11], "x": 11.75, "y": 3},
+ {"matrix": [3, 12], "x": 12.75, "y": 3},
+ {"matrix": [2, 14], "x": 13.75, "y": 2, "w": 1.25, "h": 2},
+ {"matrix": [3, 15], "x": 15, "y": 3},
+
+ {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.25},
+ {"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},
+ {"matrix": [4, 6], "x": 6.25, "y": 4},
+ {"matrix": [4, 7], "x": 7.25, "y": 4},
+ {"matrix": [4, 8], "x": 8.25, "y": 4},
+ {"matrix": [4, 9], "x": 9.25, "y": 4},
+ {"matrix": [4, 10], "x": 10.25, "y": 4},
+ {"matrix": [4, 11], "x": 11.25, "y": 4},
+ {"matrix": [4, 12], "x": 12.25, "y": 4, "w": 1.75},
+ {"matrix": [4, 14], "x": 14, "y": 4},
+ {"matrix": [4, 15], "x": 15, "y": 4},
+
+ {"matrix": [5, 0], "x": 0, "y": 5, "w": 1.5},
+ {"matrix": [5, 1], "x": 1.5, "y": 5, "w": 1.5},
+ {"matrix": [5, 6], "x": 3, "y": 5, "w": 7},
+ {"matrix": [5, 10], "x": 10, "y": 5, "w": 1.5},
+ {"matrix": [5, 12], "x": 11.5, "y": 5, "w": 1.5},
+ {"matrix": [5, 13], "x": 13, "y": 5},
+ {"matrix": [5, 14], "x": 14, "y": 5},
+ {"matrix": [5, 15], "x": 15, "y": 5}
+ ]
+ },
+ "LAYOUT_75_iso_wkl_split_bs": {
+ "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": [0, 14], "x": 14, "y": 0},
+ {"matrix": [0, 15], "x": 15, "y": 0},
+
+ {"matrix": [1, 0], "x": 0, "y": 1},
+ {"matrix": [1, 1], "x": 1, "y": 1},
+ {"matrix": [1, 2], "x": 2, "y": 1},
+ {"matrix": [1, 3], "x": 3, "y": 1},
+ {"matrix": [1, 4], "x": 4, "y": 1},
+ {"matrix": [1, 5], "x": 5, "y": 1},
+ {"matrix": [1, 6], "x": 6, "y": 1},
+ {"matrix": [1, 7], "x": 7, "y": 1},
+ {"matrix": [1, 8], "x": 8, "y": 1},
+ {"matrix": [1, 9], "x": 9, "y": 1},
+ {"matrix": [1, 10], "x": 10, "y": 1},
+ {"matrix": [1, 11], "x": 11, "y": 1},
+ {"matrix": [1, 12], "x": 12, "y": 1},
+ {"matrix": [1, 13], "x": 13, "y": 1},
+ {"matrix": [1, 14], "x": 14, "y": 1},
+ {"matrix": [1, 15], "x": 15, "y": 1},
+
+ {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.5},
+ {"matrix": [2, 1], "x": 1.5, "y": 2},
+ {"matrix": [2, 2], "x": 2.5, "y": 2},
+ {"matrix": [2, 3], "x": 3.5, "y": 2},
+ {"matrix": [2, 4], "x": 4.5, "y": 2},
+ {"matrix": [2, 5], "x": 5.5, "y": 2},
+ {"matrix": [2, 6], "x": 6.5, "y": 2},
+ {"matrix": [2, 7], "x": 7.5, "y": 2},
+ {"matrix": [2, 8], "x": 8.5, "y": 2},
+ {"matrix": [2, 9], "x": 9.5, "y": 2},
+ {"matrix": [2, 10], "x": 10.5, "y": 2},
+ {"matrix": [2, 11], "x": 11.5, "y": 2},
+ {"matrix": [2, 12], "x": 12.5, "y": 2},
+ {"matrix": [2, 15], "x": 15, "y": 2},
+
+ {"matrix": [3, 0], "x": 0, "y": 3, "w": 1.75},
+ {"matrix": [3, 1], "x": 1.75, "y": 3},
+ {"matrix": [3, 2], "x": 2.75, "y": 3},
+ {"matrix": [3, 3], "x": 3.75, "y": 3},
+ {"matrix": [3, 4], "x": 4.75, "y": 3},
+ {"matrix": [3, 5], "x": 5.75, "y": 3},
+ {"matrix": [3, 6], "x": 6.75, "y": 3},
+ {"matrix": [3, 7], "x": 7.75, "y": 3},
+ {"matrix": [3, 8], "x": 8.75, "y": 3},
+ {"matrix": [3, 9], "x": 9.75, "y": 3},
+ {"matrix": [3, 10], "x": 10.75, "y": 3},
+ {"matrix": [3, 11], "x": 11.75, "y": 3},
+ {"matrix": [3, 12], "x": 12.75, "y": 3},
+ {"matrix": [2, 14], "x": 13.75, "y": 2, "w": 1.25, "h": 2},
+ {"matrix": [3, 15], "x": 15, "y": 3},
+
+ {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.25},
+ {"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},
+ {"matrix": [4, 6], "x": 6.25, "y": 4},
+ {"matrix": [4, 7], "x": 7.25, "y": 4},
+ {"matrix": [4, 8], "x": 8.25, "y": 4},
+ {"matrix": [4, 9], "x": 9.25, "y": 4},
+ {"matrix": [4, 10], "x": 10.25, "y": 4},
+ {"matrix": [4, 11], "x": 11.25, "y": 4},
+ {"matrix": [4, 12], "x": 12.25, "y": 4, "w": 1.75},
+ {"matrix": [4, 14], "x": 14, "y": 4},
+ {"matrix": [4, 15], "x": 15, "y": 4},
+
+ {"matrix": [5, 0], "x": 0, "y": 5, "w": 1.5},
+ {"matrix": [5, 1], "x": 1.5, "y": 5, "w": 1.5},
+ {"matrix": [5, 6], "x": 3, "y": 5, "w": 7},
+ {"matrix": [5, 10], "x": 10, "y": 5, "w": 1.5},
+ {"matrix": [5, 12], "x": 11.5, "y": 5, "w": 1.5},
+ {"matrix": [5, 13], "x": 13, "y": 5},
+ {"matrix": [5, 14], "x": 14, "y": 5},
+ {"matrix": [5, 15], "x": 15, "y": 5}
+ ]
}
}
}
diff --git a/keyboards/mechlovin/olly/octagon/keymaps/default/keymap.c b/keyboards/mechlovin/olly/octagon/keymaps/default/keymap.c
index 353f5f5d6d..19cd554ac3 100644
--- a/keyboards/mechlovin/olly/octagon/keymaps/default/keymap.c
+++ b/keyboards/mechlovin/olly/octagon/keymaps/default/keymap.c
@@ -16,12 +16,12 @@
#include QMK_KEYBOARD_H
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [0] = LAYOUT_split_bs(
+ [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_PAUS, KC_DEL,
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_DEL, KC_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_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_LSFT, KC_UP, KC_END,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, _______, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
- )
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
+ ),
};
diff --git a/keyboards/mechlovin/olly/octagon/matrix_diagram.md b/keyboards/mechlovin/olly/octagon/matrix_diagram.md
new file mode 100644
index 0000000000..426e0691d1
--- /dev/null
+++ b/keyboards/mechlovin/olly/octagon/matrix_diagram.md
@@ -0,0 +1,26 @@
+# Matrix Diagram for Mechlovin Olly Octagon
+
+```
+┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐
+│00 │01 │02 │03 │04 │05 │06 │07 │08 │09 │0A │0B │0C │0D │0E │0F │
+├───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┤ ┌───────┐
+│10 │11 │12 │13 │14 │15 │16 │17 │18 │19 │1A │1B │1C │1D │1E │1F │ │1D │ 2u Backspace
+├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┼───┤ └─┬─────┤
+│20 │21 │22 │23 │24 │25 │26 │27 │28 │29 │2A │2B │2C │2E │2F │ │ │
+├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┼───┤ ┌──┴┐2E │ ISO Enter
+│30 │31 │32 │33 │34 │35 │36 │37 │38 │39 │3A │3B │3D │3F │ │3C │ │
+├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┼───┤ └───┴────┘
+│40 │41 │42 │43 │44 │45 │46 │47 │48 │49 │4A │4B │4C │4E │4F │
+├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴──┬┴──┬┴──┬───┼───┼───┤
+│50 │51 │52 │56 │5A │5B │5C │5D │5E │5F │
+└────┴────┴────┴────────────────────────┴───┴───┴───┴───┴───┴───┘
+┌────────┐
+│40 │ 2.25u LShift
+└────────┘
+┌────┬───┬────┬────────────────────────┬────┬───┬───┬───┬───┬───┐
+│50 │51 │52 │56 │5A │5B │5C │5D │5E │5F │ Alternative
+└────┴───┴────┴────────────────────────┴────┴───┴───┴───┴───┴───┘
+┌─────┬─────┬───────────────────────────┬─────┬─────┬───┬───┬───┐
+│50 │51 │56 │5A │5C │5D │5E │5F │ WKL
+└─────┴─────┴───────────────────────────┴─────┴─────┴───┴───┴───┘
+```
diff --git a/keyboards/mechlovin/olly/orion/keyboard.json b/keyboards/mechlovin/olly/orion/keyboard.json
index 2780e21949..408d904899 100644
--- a/keyboards/mechlovin/olly/orion/keyboard.json
+++ b/keyboards/mechlovin/olly/orion/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Olly Orion",
"manufacturer": "Mechlovin.Studio",
- "url": "",
"maintainer": "Mechlovin' Studio",
"usb": {
"vid": "0x4D4C",
diff --git a/keyboards/mechlovin/pisces/keyboard.json b/keyboards/mechlovin/pisces/keyboard.json
index 37915826e6..9dc1e34e0c 100644
--- a/keyboards/mechlovin/pisces/keyboard.json
+++ b/keyboards/mechlovin/pisces/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Pisces65",
"manufacturer": "Team.Mechlovin",
- "url": "",
"maintainer": "mechlovin",
"usb": {
"vid": "0x4D4C",
@@ -12,7 +11,6 @@
"backlight": true,
"bootmagic": false,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false,
diff --git a/keyboards/mechlovin/serratus/keyboard.json b/keyboards/mechlovin/serratus/keyboard.json
index c283c48a35..8cf0778c1d 100644
--- a/keyboards/mechlovin/serratus/keyboard.json
+++ b/keyboards/mechlovin/serratus/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Serratus Rev.1",
"manufacturer": "Mechlovin Studio",
- "url": "",
"maintainer": "Mechlovin' Studio",
"usb": {
"vid": "0x4D4C",
diff --git a/keyboards/mechlovin/th1800/keyboard.json b/keyboards/mechlovin/th1800/keyboard.json
index 66b7487545..8162deca81 100644
--- a/keyboards/mechlovin/th1800/keyboard.json
+++ b/keyboards/mechlovin/th1800/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "th-1800",
"manufacturer": "Team Mechlovin",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0x4D4C",
diff --git a/keyboards/mechlovin/zed1800/info.json b/keyboards/mechlovin/zed1800/info.json
index 9de42c2442..aecaf6d922 100644
--- a/keyboards/mechlovin/zed1800/info.json
+++ b/keyboards/mechlovin/zed1800/info.json
@@ -1,6 +1,5 @@
{
"manufacturer": "Mechlovin Studio",
- "url": "",
"maintainer": "Mechlovin' Studio",
"usb": {
"vid": "0x4D4C",
diff --git a/keyboards/mechlovin/zed60/keyboard.json b/keyboards/mechlovin/zed60/keyboard.json
index 136170eec6..480517a301 100644
--- a/keyboards/mechlovin/zed60/keyboard.json
+++ b/keyboards/mechlovin/zed60/keyboard.json
@@ -38,7 +38,6 @@
"saturation_steps": 8,
"sleep": true
},
- "url": "",
"usb": {
"device_version": "0.0.1",
"pid": "0x0602",
diff --git a/keyboards/mechlovin/zed65/mono_led/keyboard.json b/keyboards/mechlovin/zed65/mono_led/keyboard.json
index 763fbe9f4c..e33db35a7a 100644
--- a/keyboards/mechlovin/zed65/mono_led/keyboard.json
+++ b/keyboards/mechlovin/zed65/mono_led/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Zed65-MonoLED",
"manufacturer": "Mechlovin Studio",
- "url": "",
"maintainer": "Mechlovin' Studio",
"usb": {
"vid": "0x4D4C",
diff --git a/keyboards/mechlovin/zed65/no_backlight/cor65/keyboard.json b/keyboards/mechlovin/zed65/no_backlight/cor65/keyboard.json
index 4b3ed831c5..56103e44db 100644
--- a/keyboards/mechlovin/zed65/no_backlight/cor65/keyboard.json
+++ b/keyboards/mechlovin/zed65/no_backlight/cor65/keyboard.json
@@ -11,7 +11,6 @@
"cols": ["B11", "B10", "B2", "B1", "B0", "A6", "A5", "A4", "A3", "A2", "C13", "B7", "B6", "B5", "B4", "B3"],
"rows": ["B12", "B13", "B14", "B15", "A1"]
},
- "url": "",
"usb": {
"device_version": "0.0.1",
"pid": "0x6504",
diff --git a/keyboards/mechlovin/zed65/no_backlight/retro66/keyboard.json b/keyboards/mechlovin/zed65/no_backlight/retro66/keyboard.json
index 49ed44f0a1..8fcfde5db9 100644
--- a/keyboards/mechlovin/zed65/no_backlight/retro66/keyboard.json
+++ b/keyboards/mechlovin/zed65/no_backlight/retro66/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Retro66",
"manufacturer": "Mechlovin Studio",
- "url": "",
"maintainer": "Mechlovin' Studio",
"usb": {
"vid": "0x4D4C",
diff --git a/keyboards/mechlovin/zed65/no_backlight/wearhaus66/keyboard.json b/keyboards/mechlovin/zed65/no_backlight/wearhaus66/keyboard.json
index c9c9e0ddb1..c2b75fd1e4 100644
--- a/keyboards/mechlovin/zed65/no_backlight/wearhaus66/keyboard.json
+++ b/keyboards/mechlovin/zed65/no_backlight/wearhaus66/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Wearhaus66",
"manufacturer": "Mechlovin Studio",
- "url": "",
"maintainer": "mechlovin",
"usb": {
"vid": "0x4D4C",
diff --git a/keyboards/mechstudio/dawn/keyboard.json b/keyboards/mechstudio/dawn/keyboard.json
index dc1894f4e5..76d990a677 100644
--- a/keyboards/mechstudio/dawn/keyboard.json
+++ b/keyboards/mechstudio/dawn/keyboard.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false
diff --git a/keyboards/mechwild/bde/info.json b/keyboards/mechwild/bde/info.json
index 918c792aa7..edecde1eba 100644
--- a/keyboards/mechwild/bde/info.json
+++ b/keyboards/mechwild/bde/info.json
@@ -10,8 +10,7 @@
},
"development_board": "promicro",
"rgblight": {
- "sleep": true,
- "max_brightness": 255
+ "sleep": true
},
"tapping": {
"tap_keycode_delay": 10,
diff --git a/keyboards/mechwild/bde/rev2/keyboard.json b/keyboards/mechwild/bde/rev2/keyboard.json
index 932f99f0e9..b166934e1e 100644
--- a/keyboards/mechwild/bde/rev2/keyboard.json
+++ b/keyboards/mechwild/bde/rev2/keyboard.json
@@ -34,7 +34,6 @@
"animations": {
"rainbow_swirl": true
},
- "hue_steps": 8,
"saturation_steps": 8,
"brightness_steps": 8
},
diff --git a/keyboards/mechwild/mercutio/keyboard.json b/keyboards/mechwild/mercutio/keyboard.json
index 0a7d758128..aff9485140 100644
--- a/keyboards/mechwild/mercutio/keyboard.json
+++ b/keyboards/mechwild/mercutio/keyboard.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"encoder": true,
"extrakey": true,
"mousekey": true,
diff --git a/keyboards/mechwild/murphpad/keyboard.json b/keyboards/mechwild/murphpad/keyboard.json
index 47d99f78e9..303f3a9c96 100644
--- a/keyboards/mechwild/murphpad/keyboard.json
+++ b/keyboards/mechwild/murphpad/keyboard.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"encoder": true,
"extrakey": true,
"mousekey": true,
diff --git a/keyboards/mechwild/obe/info.json b/keyboards/mechwild/obe/info.json
index 2247f69fac..ca2709675d 100644
--- a/keyboards/mechwild/obe/info.json
+++ b/keyboards/mechwild/obe/info.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"encoder": true,
"extrakey": true,
"mousekey": true,
diff --git a/keyboards/mechwild/sugarglider/f401/keyboard.json b/keyboards/mechwild/sugarglider/f401/keyboard.json
index 7bf58c1b45..bac52694ac 100644
--- a/keyboards/mechwild/sugarglider/f401/keyboard.json
+++ b/keyboards/mechwild/sugarglider/f401/keyboard.json
@@ -4,7 +4,6 @@
"bootmagic": true,
"mousekey": true,
"extrakey": true,
- "console": false,
"command": false,
"nkro": true,
"rgblight": true,
diff --git a/keyboards/mechwild/sugarglider/f411/keyboard.json b/keyboards/mechwild/sugarglider/f411/keyboard.json
index dd76af1f10..91c830f371 100644
--- a/keyboards/mechwild/sugarglider/f411/keyboard.json
+++ b/keyboards/mechwild/sugarglider/f411/keyboard.json
@@ -4,7 +4,6 @@
"bootmagic": true,
"mousekey": true,
"extrakey": true,
- "console": false,
"command": false,
"nkro": true,
"rgblight": true,
diff --git a/keyboards/mechwild/sugarglider/info.json b/keyboards/mechwild/sugarglider/info.json
index 80004f35d1..0b796f7c21 100644
--- a/keyboards/mechwild/sugarglider/info.json
+++ b/keyboards/mechwild/sugarglider/info.json
@@ -18,8 +18,6 @@
},
"rgblight": {
"led_count": 10,
- "max_brightness": 255,
- "hue_steps": 8,
"saturation_steps": 8,
"brightness_steps": 8,
"animations": {
diff --git a/keyboards/mechwild/sugarglider/wide_oled/f401/keyboard.json b/keyboards/mechwild/sugarglider/wide_oled/f401/keyboard.json
index 7bf58c1b45..bac52694ac 100644
--- a/keyboards/mechwild/sugarglider/wide_oled/f401/keyboard.json
+++ b/keyboards/mechwild/sugarglider/wide_oled/f401/keyboard.json
@@ -4,7 +4,6 @@
"bootmagic": true,
"mousekey": true,
"extrakey": true,
- "console": false,
"command": false,
"nkro": true,
"rgblight": true,
diff --git a/keyboards/mechwild/sugarglider/wide_oled/f411/keyboard.json b/keyboards/mechwild/sugarglider/wide_oled/f411/keyboard.json
index dd76af1f10..91c830f371 100644
--- a/keyboards/mechwild/sugarglider/wide_oled/f411/keyboard.json
+++ b/keyboards/mechwild/sugarglider/wide_oled/f411/keyboard.json
@@ -4,7 +4,6 @@
"bootmagic": true,
"mousekey": true,
"extrakey": true,
- "console": false,
"command": false,
"nkro": true,
"rgblight": true,
diff --git a/keyboards/meetlab/kafka60/keyboard.json b/keyboards/meetlab/kafka60/keyboard.json
index 5dbf3f5642..2c7c41b23d 100644
--- a/keyboards/meetlab/kafka60/keyboard.json
+++ b/keyboards/meetlab/kafka60/keyboard.json
@@ -13,7 +13,6 @@
"cols": ["A15", "B3", "B4", "B5", "B6", "B7", "B8", "A3", "A4", "A5", "A6", "A7", "B0", "B1", "B11"],
"rows": ["B15", "A8", "B13", "B12", "A9"]
},
- "url": "",
"usb": {
"device_version": "1.0.0",
"pid": "0xBF06",
diff --git a/keyboards/meetlab/kafka68/keyboard.json b/keyboards/meetlab/kafka68/keyboard.json
index 3836edc3c9..418749ed43 100644
--- a/keyboards/meetlab/kafka68/keyboard.json
+++ b/keyboards/meetlab/kafka68/keyboard.json
@@ -14,7 +14,6 @@
"cols": ["A10", "B7", "B6", "B5", "B4", "B3", "A15", "B0", "A7", "A6", "A5", "A4", "A3", "B1", "B10", "B11"],
"rows": ["B13", "B14", "B15", "A8", "A9"]
},
- "url": "",
"usb": {
"device_version": "1.0.0",
"pid": "0xAA07",
diff --git a/keyboards/meetlab/kafkasplit/keyboard.json b/keyboards/meetlab/kafkasplit/keyboard.json
index 375d4f7a03..0ac90a56fb 100644
--- a/keyboards/meetlab/kafkasplit/keyboard.json
+++ b/keyboards/meetlab/kafkasplit/keyboard.json
@@ -143,7 +143,6 @@
}
}
},
- "url": "",
"usb": {
"device_version": "0.0.1",
"pid": "0xBFC2",
diff --git a/keyboards/meetlab/kalice/keyboard.json b/keyboards/meetlab/kalice/keyboard.json
index 5e53fe4904..eb91d64466 100644
--- a/keyboards/meetlab/kalice/keyboard.json
+++ b/keyboards/meetlab/kalice/keyboard.json
@@ -31,7 +31,6 @@
"led_count": 11,
"saturation_steps": 8
},
- "url": "",
"usb": {
"device_version": "1.0.0",
"pid": "0xBB04",
diff --git a/keyboards/meetlab/rena/keyboard.json b/keyboards/meetlab/rena/keyboard.json
index cf28f6d5f0..8787fb0ee8 100644
--- a/keyboards/meetlab/rena/keyboard.json
+++ b/keyboards/meetlab/rena/keyboard.json
@@ -39,7 +39,6 @@
"led_count": 1,
"saturation_steps": 8
},
- "url": "",
"usb": {
"device_version": "1.0.0",
"pid": "0xAB06",
diff --git a/keyboards/mehkee96/keyboard.json b/keyboards/mehkee96/keyboard.json
index 4f4d4853c8..4a72232d36 100644
--- a/keyboards/mehkee96/keyboard.json
+++ b/keyboards/mehkee96/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "96KEE",
"manufacturer": "Mehkee",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0x20A0",
@@ -12,7 +11,6 @@
"backlight": true,
"bootmagic": true,
"command": true,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false,
diff --git a/keyboards/meletrix/zoom75/keyboard.json b/keyboards/meletrix/zoom75/keyboard.json
index 20d7dc064a..0cf5fd7ee9 100644
--- a/keyboards/meletrix/zoom75/keyboard.json
+++ b/keyboards/meletrix/zoom75/keyboard.json
@@ -21,7 +21,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/meletrix/zoom98/keyboard.json b/keyboards/meletrix/zoom98/keyboard.json
index b7d5672950..d8f870af85 100644
--- a/keyboards/meletrix/zoom98/keyboard.json
+++ b/keyboards/meletrix/zoom98/keyboard.json
@@ -20,7 +20,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"rgb_matrix": true,
"extrakey": true,
"mousekey": true,
diff --git a/keyboards/melgeek/mach80/info.json b/keyboards/melgeek/mach80/info.json
index ade831fc36..d8a565b2e4 100755
--- a/keyboards/melgeek/mach80/info.json
+++ b/keyboards/melgeek/mach80/info.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Mach80",
"manufacturer": "MelGeek",
- "url": "",
"maintainer": "melgeek001365",
"usb": {
"vid": "0xEDED",
diff --git a/keyboards/melgeek/mach80/rev1/keyboard.json b/keyboards/melgeek/mach80/rev1/keyboard.json
index 5cb145793d..5c504c4d23 100644
--- a/keyboards/melgeek/mach80/rev1/keyboard.json
+++ b/keyboards/melgeek/mach80/rev1/keyboard.json
@@ -5,7 +5,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/melgeek/mach80/rev2/keyboard.json b/keyboards/melgeek/mach80/rev2/keyboard.json
index 5cb145793d..5c504c4d23 100644
--- a/keyboards/melgeek/mach80/rev2/keyboard.json
+++ b/keyboards/melgeek/mach80/rev2/keyboard.json
@@ -5,7 +5,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/melgeek/mj61/info.json b/keyboards/melgeek/mj61/info.json
index d34dc59364..9a3e86d5e0 100644
--- a/keyboards/melgeek/mj61/info.json
+++ b/keyboards/melgeek/mj61/info.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "MJ61",
"manufacturer": "MelGeek",
- "url": "",
"maintainer": "melgeek001365",
"usb": {
"vid": "0xEDED",
diff --git a/keyboards/melgeek/mj61/rev1/keyboard.json b/keyboards/melgeek/mj61/rev1/keyboard.json
index e0bd315865..24ca981a32 100644
--- a/keyboards/melgeek/mj61/rev1/keyboard.json
+++ b/keyboards/melgeek/mj61/rev1/keyboard.json
@@ -2,7 +2,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/melgeek/mj61/rev2/keyboard.json b/keyboards/melgeek/mj61/rev2/keyboard.json
index 779cfc091c..c731085751 100644
--- a/keyboards/melgeek/mj61/rev2/keyboard.json
+++ b/keyboards/melgeek/mj61/rev2/keyboard.json
@@ -2,7 +2,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/melgeek/mj63/info.json b/keyboards/melgeek/mj63/info.json
index c81bf9f867..af59bf8a59 100644
--- a/keyboards/melgeek/mj63/info.json
+++ b/keyboards/melgeek/mj63/info.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "MJ63",
"manufacturer": "MelGeek",
- "url": "",
"maintainer": "melgeek001365",
"usb": {
"vid": "0xEDED",
diff --git a/keyboards/melgeek/mj63/rev1/keyboard.json b/keyboards/melgeek/mj63/rev1/keyboard.json
index e0bd315865..24ca981a32 100644
--- a/keyboards/melgeek/mj63/rev1/keyboard.json
+++ b/keyboards/melgeek/mj63/rev1/keyboard.json
@@ -2,7 +2,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/melgeek/mj63/rev2/keyboard.json b/keyboards/melgeek/mj63/rev2/keyboard.json
index 779cfc091c..c731085751 100644
--- a/keyboards/melgeek/mj63/rev2/keyboard.json
+++ b/keyboards/melgeek/mj63/rev2/keyboard.json
@@ -2,7 +2,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/melgeek/mj64/info.json b/keyboards/melgeek/mj64/info.json
index 731996ef84..25d908db5d 100644
--- a/keyboards/melgeek/mj64/info.json
+++ b/keyboards/melgeek/mj64/info.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "MJ64",
"manufacturer": "MelGeek",
- "url": "",
"maintainer": "melgeek001365",
"usb": {
"vid": "0xEDED",
diff --git a/keyboards/melgeek/mj64/rev1/keyboard.json b/keyboards/melgeek/mj64/rev1/keyboard.json
index e0bd315865..24ca981a32 100644
--- a/keyboards/melgeek/mj64/rev1/keyboard.json
+++ b/keyboards/melgeek/mj64/rev1/keyboard.json
@@ -2,7 +2,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/melgeek/mj64/rev2/keyboard.json b/keyboards/melgeek/mj64/rev2/keyboard.json
index e0bd315865..24ca981a32 100644
--- a/keyboards/melgeek/mj64/rev2/keyboard.json
+++ b/keyboards/melgeek/mj64/rev2/keyboard.json
@@ -2,7 +2,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/melgeek/mj64/rev3/keyboard.json b/keyboards/melgeek/mj64/rev3/keyboard.json
index 779cfc091c..c731085751 100644
--- a/keyboards/melgeek/mj64/rev3/keyboard.json
+++ b/keyboards/melgeek/mj64/rev3/keyboard.json
@@ -2,7 +2,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/melgeek/mj65/rev3/keyboard.json b/keyboards/melgeek/mj65/rev3/keyboard.json
index adf0ef94bc..a4513b45e7 100644
--- a/keyboards/melgeek/mj65/rev3/keyboard.json
+++ b/keyboards/melgeek/mj65/rev3/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "MJ65",
"manufacturer": "MelGeek",
- "url": "",
"maintainer": "melgeek001365",
"usb": {
"vid": "0xEDED",
diff --git a/keyboards/melgeek/mj6xy/info.json b/keyboards/melgeek/mj6xy/info.json
index 0dd1212354..3b13337aae 100755
--- a/keyboards/melgeek/mj6xy/info.json
+++ b/keyboards/melgeek/mj6xy/info.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "MJ6XY",
"manufacturer": "MelGeek",
- "url": "",
"maintainer": "melgeek001365",
"usb": {
"vid": "0xEDED",
diff --git a/keyboards/melgeek/mj6xy/rev3/keyboard.json b/keyboards/melgeek/mj6xy/rev3/keyboard.json
index ae44451236..7207652c47 100644
--- a/keyboards/melgeek/mj6xy/rev3/keyboard.json
+++ b/keyboards/melgeek/mj6xy/rev3/keyboard.json
@@ -3,7 +3,6 @@
"backlight": true,
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/melgeek/mojo68/rev1/keyboard.json b/keyboards/melgeek/mojo68/rev1/keyboard.json
index 7f21839292..5ea109520a 100755
--- a/keyboards/melgeek/mojo68/rev1/keyboard.json
+++ b/keyboards/melgeek/mojo68/rev1/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "MoJo68",
"manufacturer": "MelGeek",
- "url": "",
"maintainer": "melgeek001365",
"usb": {
"vid": "0xEDED",
@@ -11,7 +10,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/melgeek/mojo75/rev1/keyboard.json b/keyboards/melgeek/mojo75/rev1/keyboard.json
index a1b93afb69..5b2ab380a7 100644
--- a/keyboards/melgeek/mojo75/rev1/keyboard.json
+++ b/keyboards/melgeek/mojo75/rev1/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "MoJo75",
"manufacturer": "MelGeek",
- "url": "",
"maintainer": "melgeek001365",
"usb": {
"vid": "0xEDED",
@@ -11,7 +10,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/melgeek/tegic/rev1/keyboard.json b/keyboards/melgeek/tegic/rev1/keyboard.json
index 0a2e9306f6..b39f2345fa 100644
--- a/keyboards/melgeek/tegic/rev1/keyboard.json
+++ b/keyboards/melgeek/tegic/rev1/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "tegic",
"manufacturer": "MelGeek",
- "url": "",
"maintainer": "melgeek001365",
"usb": {
"vid": "0xEDED",
@@ -14,7 +13,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/melgeek/z70ultra/rev1/keyboard.json b/keyboards/melgeek/z70ultra/rev1/keyboard.json
index de1b1df646..ef59825d70 100644
--- a/keyboards/melgeek/z70ultra/rev1/keyboard.json
+++ b/keyboards/melgeek/z70ultra/rev1/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Z70Ultra",
"manufacturer": "MelGeek",
- "url": "",
"maintainer": "melgeek001365",
"usb": {
"vid": "0xEDED",
@@ -11,7 +10,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/meme/keyboard.json b/keyboards/meme/keyboard.json
index 27acfc5a33..5be88543dd 100644
--- a/keyboards/meme/keyboard.json
+++ b/keyboards/meme/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Meme",
"manufacturer": "Switchmod Keyboards",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0xFEED",
diff --git a/keyboards/meow48/keyboard.json b/keyboards/meow48/keyboard.json
index 3bb78af116..456d2fb58e 100644
--- a/keyboards/meow48/keyboard.json
+++ b/keyboards/meow48/keyboard.json
@@ -33,7 +33,6 @@
"features": {
"bootmagic": false,
"command": false,
- "console": false,
"extrakey": false,
"mousekey": false,
"nkro": false,
diff --git a/keyboards/meow65/keyboard.json b/keyboards/meow65/keyboard.json
index 5870152ee0..f72098cb4c 100644
--- a/keyboards/meow65/keyboard.json
+++ b/keyboards/meow65/keyboard.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/merge/iso_macro/keyboard.json b/keyboards/merge/iso_macro/keyboard.json
index 1c6d905282..087fda9616 100644
--- a/keyboards/merge/iso_macro/keyboard.json
+++ b/keyboards/merge/iso_macro/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "ISO Macro",
"manufacturer": "Merge",
- "url": "",
"maintainer": "duoshock",
"usb": {
"vid": "0x4D65",
@@ -12,7 +11,6 @@
"backlight": true,
"bootmagic": false,
"command": false,
- "console": false,
"encoder": true,
"extrakey": true,
"mousekey": true,
diff --git a/keyboards/merge/uc1/keyboard.json b/keyboards/merge/uc1/keyboard.json
index 85e9b03c64..84059afdab 100644
--- a/keyboards/merge/uc1/keyboard.json
+++ b/keyboards/merge/uc1/keyboard.json
@@ -33,7 +33,6 @@
"features": {
"bootmagic": false,
"command": false,
- "console": false,
"encoder": true,
"extrakey": true,
"mousekey": true,
diff --git a/keyboards/merge/um70/keyboard.json b/keyboards/merge/um70/keyboard.json
index afb52d3d4f..cd15bc90ac 100644
--- a/keyboards/merge/um70/keyboard.json
+++ b/keyboards/merge/um70/keyboard.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"encoder": true,
"extrakey": true,
"mousekey": true,
diff --git a/keyboards/merge/um80/keyboard.json b/keyboards/merge/um80/keyboard.json
index ea233e8f1c..5ef7c427cd 100644
--- a/keyboards/merge/um80/keyboard.json
+++ b/keyboards/merge/um80/keyboard.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"encoder": true,
"extrakey": true,
"mousekey": true,
diff --git a/keyboards/mesa/mesa_tkl/keyboard.json b/keyboards/mesa/mesa_tkl/keyboard.json
index 85d1c2b5a0..8c9c3425fc 100644
--- a/keyboards/mesa/mesa_tkl/keyboard.json
+++ b/keyboards/mesa/mesa_tkl/keyboard.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": true
diff --git a/keyboards/meson/keyboard.json b/keyboards/meson/keyboard.json
index 62640890ca..81a6140c23 100644
--- a/keyboards/meson/keyboard.json
+++ b/keyboards/meson/keyboard.json
@@ -10,7 +10,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/metamechs/timberwolf/keyboard.json b/keyboards/metamechs/timberwolf/keyboard.json
index 262022d2d6..a78af54062 100644
--- a/keyboards/metamechs/timberwolf/keyboard.json
+++ b/keyboards/metamechs/timberwolf/keyboard.json
@@ -15,7 +15,6 @@
"backlight": true,
"bootmagic": true,
"command": false,
- "console": false,
"encoder": true,
"extrakey": true,
"mousekey": false,
diff --git a/keyboards/mexsistor/ludmila/keyboard.json b/keyboards/mexsistor/ludmila/keyboard.json
index 71202208c5..61c4cca2ab 100644
--- a/keyboards/mexsistor/ludmila/keyboard.json
+++ b/keyboards/mexsistor/ludmila/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Ludmila Macropad",
"manufacturer": "Kevin M.",
- "url": "",
"maintainer": "Kevin M.",
"usb": {
"vid": "0x69CC",
diff --git a/keyboards/miiiw/blackio83/rev_0100/keyboard.json b/keyboards/miiiw/blackio83/rev_0100/keyboard.json
index d3fb31d109..00f6402ec2 100644
--- a/keyboards/miiiw/blackio83/rev_0100/keyboard.json
+++ b/keyboards/miiiw/blackio83/rev_0100/keyboard.json
@@ -8,7 +8,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"deferred_exec": true,
"dip_switch": true,
"extrakey": true,
diff --git a/keyboards/mikeneko65/keyboard.json b/keyboards/mikeneko65/keyboard.json
index 873bb7d042..4b3c5142de 100644
--- a/keyboards/mikeneko65/keyboard.json
+++ b/keyboards/mikeneko65/keyboard.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false
diff --git a/keyboards/miller/gm862/keyboard.json b/keyboards/miller/gm862/keyboard.json
index b8c32cf16a..20aeffe1e6 100644
--- a/keyboards/miller/gm862/keyboard.json
+++ b/keyboards/miller/gm862/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "GM862",
"manufacturer": "MILLER",
- "url": "",
"maintainer": "MILLER",
"usb": {
"vid": "0x4B42",
@@ -45,7 +44,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/millet/doksin/keyboard.json b/keyboards/millet/doksin/keyboard.json
index 7a848662cd..a472eebc79 100644
--- a/keyboards/millet/doksin/keyboard.json
+++ b/keyboards/millet/doksin/keyboard.json
@@ -14,7 +14,6 @@
]
},
"processor": "atmega32u2",
- "url": "",
"usb": {
"device_version": "0.0.1",
"pid": "0x1919",
diff --git a/keyboards/millipad/keyboard.json b/keyboards/millipad/keyboard.json
index 7230fa750b..b3970fceb2 100644
--- a/keyboards/millipad/keyboard.json
+++ b/keyboards/millipad/keyboard.json
@@ -12,7 +12,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"encoder": true,
"extrakey": true,
"mousekey": false,
diff --git a/keyboards/mincedshon/ecila/keyboard.json b/keyboards/mincedshon/ecila/keyboard.json
index fe7173e34a..a5ec2f5a0b 100644
--- a/keyboards/mincedshon/ecila/keyboard.json
+++ b/keyboards/mincedshon/ecila/keyboard.json
@@ -33,7 +33,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
@@ -45,7 +44,6 @@
"rows": ["E6", "B3", "B5", "B4", "D7"]
},
"processor": "atmega32u4",
- "url": "",
"layouts": {
"LAYOUT": {
"layout": [
diff --git a/keyboards/mini_elixivy/keyboard.json b/keyboards/mini_elixivy/keyboard.json
index 2d45d70cf4..b2b26f99c4 100644
--- a/keyboards/mini_elixivy/keyboard.json
+++ b/keyboards/mini_elixivy/keyboard.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"encoder": true,
"extrakey": true,
"mousekey": true,
diff --git a/keyboards/mini_ten_key_plus/keyboard.json b/keyboards/mini_ten_key_plus/keyboard.json
index 10507fa6e5..da3d467068 100644
--- a/keyboards/mini_ten_key_plus/keyboard.json
+++ b/keyboards/mini_ten_key_plus/keyboard.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"encoder": true,
"extrakey": true,
"mousekey": true,
diff --git a/keyboards/minimacro5/keyboard.json b/keyboards/minimacro5/keyboard.json
index 32be6abd5f..18d21acc7a 100644
--- a/keyboards/minimacro5/keyboard.json
+++ b/keyboards/minimacro5/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "miniMACRO5",
"manufacturer": "leafcutterlabs",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0xCEEB",
@@ -40,7 +39,6 @@
"features": {
"bootmagic": false,
"command": false,
- "console": false,
"encoder": true,
"extrakey": true,
"mousekey": true,
diff --git a/keyboards/minimon/bartlesplit/keyboard.json b/keyboards/minimon/bartlesplit/keyboard.json
index 83f93560b6..ceae2bb88e 100644
--- a/keyboards/minimon/bartlesplit/keyboard.json
+++ b/keyboards/minimon/bartlesplit/keyboard.json
@@ -5,7 +5,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false,
diff --git a/keyboards/minimon/index_tab/keyboard.json b/keyboards/minimon/index_tab/keyboard.json
index 14e4524114..5fe07014bb 100644
--- a/keyboards/minimon/index_tab/keyboard.json
+++ b/keyboards/minimon/index_tab/keyboard.json
@@ -31,7 +31,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/mint60/keyboard.json b/keyboards/mint60/keyboard.json
index c5bfe27365..85eef9889c 100644
--- a/keyboards/mint60/keyboard.json
+++ b/keyboards/mint60/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Mint60",
"manufacturer": "Eucalyn",
- "url": "",
"maintainer": "eucalyn",
"usb": {
"vid": "0xFEED",
@@ -11,7 +10,6 @@
"features": {
"bootmagic": false,
"command": false,
- "console": false,
"extrakey": false,
"mousekey": false,
"nkro": false,
diff --git a/keyboards/misonoworks/chocolatebar/keyboard.json b/keyboards/misonoworks/chocolatebar/keyboard.json
index cf34557bb1..0ecfa3b660 100644
--- a/keyboards/misonoworks/chocolatebar/keyboard.json
+++ b/keyboards/misonoworks/chocolatebar/keyboard.json
@@ -27,7 +27,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/misonoworks/karina/keyboard.json b/keyboards/misonoworks/karina/keyboard.json
index 0d9d55d206..5c095c8957 100644
--- a/keyboards/misonoworks/karina/keyboard.json
+++ b/keyboards/misonoworks/karina/keyboard.json
@@ -30,7 +30,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"encoder": true,
"extrakey": true,
"mousekey": true,
diff --git a/keyboards/misterknife/knife66/keyboard.json b/keyboards/misterknife/knife66/keyboard.json
index 9e3d0c66b7..43e65e66ac 100644
--- a/keyboards/misterknife/knife66/keyboard.json
+++ b/keyboards/misterknife/knife66/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Knife66",
"manufacturer": "MisterKnife",
- "url": "",
"maintainer": "afewyards",
"usb": {
"vid": "0xAC11",
@@ -34,7 +33,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/misterknife/knife66_iso/keyboard.json b/keyboards/misterknife/knife66_iso/keyboard.json
index 88f8746109..9f02cc4fd5 100644
--- a/keyboards/misterknife/knife66_iso/keyboard.json
+++ b/keyboards/misterknife/knife66_iso/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Knife66 ISO",
"manufacturer": "MisterKnife",
- "url": "",
"maintainer": "afewyards",
"usb": {
"vid": "0xAC11",
@@ -34,7 +33,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/mitosis/keyboard.json b/keyboards/mitosis/keyboard.json
index c69d1d30cd..310c0ebd1a 100644
--- a/keyboards/mitosis/keyboard.json
+++ b/keyboards/mitosis/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Mitosis",
"manufacturer": "Unknown",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0xFEED",
diff --git a/keyboards/miuni32/keyboard.json b/keyboards/miuni32/keyboard.json
index 0b52b058fa..1ff7d1a39a 100644
--- a/keyboards/miuni32/keyboard.json
+++ b/keyboards/miuni32/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Miuni32",
"manufacturer": "Bigtuna.io",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0xFEED",
@@ -30,7 +29,6 @@
"features": {
"bootmagic": false,
"command": true,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/mk65/keyboard.json b/keyboards/mk65/keyboard.json
index 9135deaf19..c8cac57e39 100644
--- a/keyboards/mk65/keyboard.json
+++ b/keyboards/mk65/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "MK-65",
"manufacturer": "mangooo",
- "url": "",
"maintainer": "DeskDaily",
"usb": {
"vid": "0x5004",
@@ -27,17 +26,14 @@
"bootmagic": true,
"mousekey": true,
"extrakey": true,
- "console": false,
"command": false,
"nkro": true,
"rgblight": true
},
"rgblight": {
"led_count": 7,
- "hue_steps": 8,
"saturation_steps": 8,
"brightness_steps": 8,
- "max_brightness": 255,
"sleep": true,
"animations": {
"alternating": true,
diff --git a/keyboards/ml/gas75/keyboard.json b/keyboards/ml/gas75/keyboard.json
index 25289db9c8..9fe14a6d99 100644
--- a/keyboards/ml/gas75/keyboard.json
+++ b/keyboards/ml/gas75/keyboard.json
@@ -59,7 +59,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"encoder": true,
"extrakey": true,
"mousekey": false,
diff --git a/keyboards/mlego/m48/rev1/keyboard.json b/keyboards/mlego/m48/rev1/keyboard.json
index efd3888295..951d8713a1 100644
--- a/keyboards/mlego/m48/rev1/keyboard.json
+++ b/keyboards/mlego/m48/rev1/keyboard.json
@@ -6,7 +6,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"encoder": true,
"extrakey": true,
"mousekey": true,
diff --git a/keyboards/mlego/m60/rev1/keyboard.json b/keyboards/mlego/m60/rev1/keyboard.json
index 126338b0c8..c2bb7df614 100644
--- a/keyboards/mlego/m60/rev1/keyboard.json
+++ b/keyboards/mlego/m60/rev1/keyboard.json
@@ -6,7 +6,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"encoder": true,
"extrakey": true,
"mousekey": true,
diff --git a/keyboards/mlego/m65/rev1/keyboard.json b/keyboards/mlego/m65/rev1/keyboard.json
index 2f77137eec..656128fdfa 100644
--- a/keyboards/mlego/m65/rev1/keyboard.json
+++ b/keyboards/mlego/m65/rev1/keyboard.json
@@ -13,7 +13,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"encoder": true,
"extrakey": true,
"mousekey": true,
@@ -42,7 +41,6 @@
"static_gradient": true,
"twinkle": true
},
- "hue_steps": 8,
"layers": {
"enabled": true
},
diff --git a/keyboards/mlego/m65/rev2/keyboard.json b/keyboards/mlego/m65/rev2/keyboard.json
index 0014767309..f0aa70e90b 100644
--- a/keyboards/mlego/m65/rev2/keyboard.json
+++ b/keyboards/mlego/m65/rev2/keyboard.json
@@ -12,7 +12,6 @@
"features": {
"bootmagic": true,
"command": true,
- "console": false,
"encoder": true,
"extrakey": true,
"mousekey": true,
@@ -41,7 +40,6 @@
"static_gradient": true,
"twinkle": true
},
- "hue_steps": 8,
"layers": {
"enabled": true
},
diff --git a/keyboards/mlego/m65/rev3/keyboard.json b/keyboards/mlego/m65/rev3/keyboard.json
index 4b7980b63b..386f929a11 100644
--- a/keyboards/mlego/m65/rev3/keyboard.json
+++ b/keyboards/mlego/m65/rev3/keyboard.json
@@ -13,7 +13,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"encoder": true,
"extrakey": true,
"mousekey": true,
@@ -42,7 +41,6 @@
"static_gradient": true,
"twinkle": true
},
- "hue_steps": 8,
"layers": {
"enabled": true
},
diff --git a/keyboards/mlego/m65/rev4/keyboard.json b/keyboards/mlego/m65/rev4/keyboard.json
index ab2a708ba8..a83f363bb1 100644
--- a/keyboards/mlego/m65/rev4/keyboard.json
+++ b/keyboards/mlego/m65/rev4/keyboard.json
@@ -44,7 +44,6 @@
"static_gradient": true,
"twinkle": true
},
- "hue_steps": 8,
"layers": {
"enabled": true
},
diff --git a/keyboards/mmkzoo65/keyboard.json b/keyboards/mmkzoo65/keyboard.json
index f023f34ef0..d94cf6cf18 100644
--- a/keyboards/mmkzoo65/keyboard.json
+++ b/keyboards/mmkzoo65/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "MMKZOO65",
"manufacturer": "MWStudio",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0x7BA1",
@@ -13,7 +12,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/mntre/keyboard.json b/keyboards/mntre/keyboard.json
index 26dc66dc48..258ffca9c4 100644
--- a/keyboards/mntre/keyboard.json
+++ b/keyboards/mntre/keyboard.json
@@ -12,7 +12,6 @@
"backlight": true,
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": false,
"mousekey": false,
"nkro": false,
diff --git a/keyboards/mode/m256ws/keyboard.json b/keyboards/mode/m256ws/keyboard.json
index 820ed536c2..01190c2de5 100644
--- a/keyboards/mode/m256ws/keyboard.json
+++ b/keyboards/mode/m256ws/keyboard.json
@@ -10,7 +10,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
@@ -36,7 +35,6 @@
"twinkle": true
}
},
- "url": "",
"usb": {
"device_version": "0.0.1",
"pid": "0x5753",
diff --git a/keyboards/mode/m60h/keyboard.json b/keyboards/mode/m60h/keyboard.json
index b33ea3a9c3..c4c1297c19 100644
--- a/keyboards/mode/m60h/keyboard.json
+++ b/keyboards/mode/m60h/keyboard.json
@@ -7,7 +7,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false,
@@ -39,7 +38,6 @@
"max_brightness": 120,
"sleep": true
},
- "url": "",
"usb": {
"device_version": "1.0.0",
"pid": "0x0062",
diff --git a/keyboards/mode/m60h_f/keyboard.json b/keyboards/mode/m60h_f/keyboard.json
index 014472bc68..b3a5aa5b3d 100644
--- a/keyboards/mode/m60h_f/keyboard.json
+++ b/keyboards/mode/m60h_f/keyboard.json
@@ -7,7 +7,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
@@ -39,7 +38,6 @@
"max_brightness": 120,
"sleep": true
},
- "url": "",
"usb": {
"device_version": "1.0.0",
"pid": "0x0061",
diff --git a/keyboards/mode/m60s/keyboard.json b/keyboards/mode/m60s/keyboard.json
index 6a03219427..18de64284b 100644
--- a/keyboards/mode/m60s/keyboard.json
+++ b/keyboards/mode/m60s/keyboard.json
@@ -7,7 +7,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false,
@@ -39,7 +38,6 @@
"max_brightness": 120,
"sleep": true
},
- "url": "",
"usb": {
"device_version": "1.0.0",
"pid": "0x0060",
diff --git a/keyboards/mode/m65ha_alpha/keyboard.json b/keyboards/mode/m65ha_alpha/keyboard.json
index cc5271b5c2..2623a6643a 100644
--- a/keyboards/mode/m65ha_alpha/keyboard.json
+++ b/keyboards/mode/m65ha_alpha/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "SixtyFive HA",
"manufacturer": "Mode",
- "url": "",
"maintainer": "Gondolindrim",
"usb": {
"vid": "0x00DE",
@@ -11,7 +10,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": false
diff --git a/keyboards/mode/m65hi_alpha/keyboard.json b/keyboards/mode/m65hi_alpha/keyboard.json
index c0c843d4de..db301ccb19 100644
--- a/keyboards/mode/m65hi_alpha/keyboard.json
+++ b/keyboards/mode/m65hi_alpha/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "SixtyFive HI",
"manufacturer": "Mode",
- "url": "",
"maintainer": "Gondolindrim",
"usb": {
"vid": "0x00DE",
@@ -11,7 +10,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": false
diff --git a/keyboards/mode/m65s/keyboard.json b/keyboards/mode/m65s/keyboard.json
index ae8df282ad..91e39293cb 100644
--- a/keyboards/mode/m65s/keyboard.json
+++ b/keyboards/mode/m65s/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "SixtyFive S",
"manufacturer": "Mode",
- "url": "",
"maintainer": "Gondolindrim",
"usb": {
"vid": "0x00DE",
@@ -18,7 +17,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": false
diff --git a/keyboards/mode/m75h/keyboard.json b/keyboards/mode/m75h/keyboard.json
index 5d4d8249e6..39fae0eb3a 100644
--- a/keyboards/mode/m75h/keyboard.json
+++ b/keyboards/mode/m75h/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "M75H",
"manufacturer": "Mode",
- "url": "",
"maintainer": "Gondolindrim",
"usb": {
"vid": "0x00DE",
@@ -14,7 +13,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": true
diff --git a/keyboards/mode/m75s/keyboard.json b/keyboards/mode/m75s/keyboard.json
index aff38dc622..18090c8c28 100644
--- a/keyboards/mode/m75s/keyboard.json
+++ b/keyboards/mode/m75s/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "75S",
"manufacturer": "Mode",
- "url": "",
"maintainer": "Gondolindrim",
"usb": {
"vid": "0x00DE",
@@ -15,7 +14,6 @@
"backlight": true,
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": false
diff --git a/keyboards/mode/m80v1/m80h/keyboard.json b/keyboards/mode/m80v1/m80h/keyboard.json
index dcebcb6d49..5acb6a3fdd 100644
--- a/keyboards/mode/m80v1/m80h/keyboard.json
+++ b/keyboards/mode/m80v1/m80h/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Eighty",
"manufacturer": "Mode",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0x00DE",
@@ -11,7 +10,6 @@
"features": {
"bootmagic": false,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": true
diff --git a/keyboards/mode/m80v1/m80s/keyboard.json b/keyboards/mode/m80v1/m80s/keyboard.json
index 25bfd3c70a..166d071640 100644
--- a/keyboards/mode/m80v1/m80s/keyboard.json
+++ b/keyboards/mode/m80v1/m80s/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Eighty",
"manufacturer": "Mode",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0x00DE",
@@ -11,7 +10,6 @@
"features": {
"bootmagic": false,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": true
diff --git a/keyboards/mode/m80v2/m80v2h/keyboard.json b/keyboards/mode/m80v2/m80v2h/keyboard.json
index 1844e0775c..86e4f563cc 100644
--- a/keyboards/mode/m80v2/m80v2h/keyboard.json
+++ b/keyboards/mode/m80v2/m80v2h/keyboard.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": true
diff --git a/keyboards/mode/m80v2/m80v2s/keyboard.json b/keyboards/mode/m80v2/m80v2s/keyboard.json
index d8b4c8ee85..46fde3c1ca 100644
--- a/keyboards/mode/m80v2/m80v2s/keyboard.json
+++ b/keyboards/mode/m80v2/m80v2s/keyboard.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": true
diff --git a/keyboards/mokey/ginkgo65/keyboard.json b/keyboards/mokey/ginkgo65/keyboard.json
index 311d91f2d3..fe3e5ad6ef 100644
--- a/keyboards/mokey/ginkgo65/keyboard.json
+++ b/keyboards/mokey/ginkgo65/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "ginkgo 65",
"manufacturer": "Mokey",
- "url": "",
"maintainer": "rhmokey",
"usb": {
"vid": "0x6653",
@@ -15,7 +14,6 @@
"backlight": true,
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": false
diff --git a/keyboards/mokey/ginkgo65hot/keyboard.json b/keyboards/mokey/ginkgo65hot/keyboard.json
index 1674607310..d11c81be58 100644
--- a/keyboards/mokey/ginkgo65hot/keyboard.json
+++ b/keyboards/mokey/ginkgo65hot/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "ginkgo65hot",
"manufacturer": "Mokey",
- "url": "",
"maintainer": "mokey",
"usb": {
"vid": "0x6653",
@@ -12,7 +11,6 @@
"backlight": true,
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": false
diff --git a/keyboards/mokey/ibis80/keyboard.json b/keyboards/mokey/ibis80/keyboard.json
index d6cd985d01..2dc9ec4e05 100644
--- a/keyboards/mokey/ibis80/keyboard.json
+++ b/keyboards/mokey/ibis80/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "ibis 80",
"manufacturer": "Mokey",
- "url": "",
"maintainer": "Runheme",
"usb": {
"vid": "0x6653",
@@ -11,7 +10,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false
diff --git a/keyboards/mokey/luckycat70/keyboard.json b/keyboards/mokey/luckycat70/keyboard.json
index 2f9ab6a1e5..e0f0ee9029 100644
--- a/keyboards/mokey/luckycat70/keyboard.json
+++ b/keyboards/mokey/luckycat70/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Lucky Cat 70",
"manufacturer": "qmk",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0x6653",
@@ -13,7 +12,6 @@
"bootmagic": true,
"mousekey": true,
"extrakey": true,
- "console": false,
"command": false,
"nkro": false,
"rgblight": true
diff --git a/keyboards/mokey/mokey12x2/keyboard.json b/keyboards/mokey/mokey12x2/keyboard.json
index 6f22429e72..489856a264 100644
--- a/keyboards/mokey/mokey12x2/keyboard.json
+++ b/keyboards/mokey/mokey12x2/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Mokey12x2",
"manufacturer": "Mokey",
- "url": "",
"maintainer": "Mokey",
"development_board": "bluepill",
"diode_direction": "COL2ROW",
diff --git a/keyboards/mokey/mokey63/keyboard.json b/keyboards/mokey/mokey63/keyboard.json
index bebc600510..6374ec508f 100644
--- a/keyboards/mokey/mokey63/keyboard.json
+++ b/keyboards/mokey/mokey63/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Mokey63",
"manufacturer": "Mokey",
- "url": "",
"maintainer": "mokey",
"usb": {
"vid": "0x6653",
@@ -11,7 +10,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": false
diff --git a/keyboards/mokey/mokey64/keyboard.json b/keyboards/mokey/mokey64/keyboard.json
index 0234cf6292..f5b34d69a2 100644
--- a/keyboards/mokey/mokey64/keyboard.json
+++ b/keyboards/mokey/mokey64/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Mokey64",
"manufacturer": "Mokey",
- "url": "",
"maintainer": "mokey",
"usb": {
"vid": "0x6653",
@@ -11,7 +10,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": false
diff --git a/keyboards/mokey/xox70/keyboard.json b/keyboards/mokey/xox70/keyboard.json
index 4f8f5439f5..74c0dcbc86 100644
--- a/keyboards/mokey/xox70/keyboard.json
+++ b/keyboards/mokey/xox70/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "XOX 70",
"manufacturer": "Mokey",
- "url": "",
"maintainer": "Mokey",
"usb": {
"vid": "0x6653",
@@ -11,7 +10,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": false
diff --git a/keyboards/mokey/xox70hot/keyboard.json b/keyboards/mokey/xox70hot/keyboard.json
index 7d5f338b62..152839a674 100644
--- a/keyboards/mokey/xox70hot/keyboard.json
+++ b/keyboards/mokey/xox70hot/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "XOX 70 Hotswap",
"manufacturer": "Mokey",
- "url": "",
"maintainer": "rhmokey",
"usb": {
"vid": "0x6653",
@@ -11,7 +10,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": false
diff --git a/keyboards/moky/moky67/keyboard.json b/keyboards/moky/moky67/keyboard.json
index 8737790b69..869dfc3389 100644
--- a/keyboards/moky/moky67/keyboard.json
+++ b/keyboards/moky/moky67/keyboard.json
@@ -1,7 +1,6 @@
{
"manufacturer": "moky",
"keyboard_name": "moky67",
- "url": "",
"processor": "WB32FQ95",
"bootloader": "wb32-dfu",
"usb": {
diff --git a/keyboards/moky/moky88/keyboard.json b/keyboards/moky/moky88/keyboard.json
index 38ed4dbd28..1db4c5247c 100644
--- a/keyboards/moky/moky88/keyboard.json
+++ b/keyboards/moky/moky88/keyboard.json
@@ -1,7 +1,6 @@
{
"manufacturer": "moky",
"keyboard_name": "moky88",
- "url": "",
"processor": "WB32FQ95",
"bootloader": "wb32-dfu",
"usb": {
diff --git a/keyboards/momoka_ergo/keyboard.json b/keyboards/momoka_ergo/keyboard.json
index a24430ee82..9886dd4d4e 100644
--- a/keyboards/momoka_ergo/keyboard.json
+++ b/keyboards/momoka_ergo/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Momoka Ergo",
"manufacturer": "StefanGrindelwald",
- "url": "",
"maintainer": "StefanGrindelwald",
"usb": {
"vid": "0x4F4D",
@@ -11,7 +10,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": false,
diff --git a/keyboards/momokai/aurora/keyboard.json b/keyboards/momokai/aurora/keyboard.json
index 84ecbdeb4a..e095daa8b1 100644
--- a/keyboards/momokai/aurora/keyboard.json
+++ b/keyboards/momokai/aurora/keyboard.json
@@ -7,7 +7,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
@@ -24,7 +23,6 @@
]
},
"processor": "atmega32u4",
- "url": "",
"usb": {
"device_version": "0.0.1",
"pid": "0x0009",
@@ -45,7 +43,6 @@
"rgb_matrix": {
"default": {
"animation": "solid_color",
- "hue": 0,
"sat": 0,
"val": 200
},
diff --git a/keyboards/momokai/tap_duo/keyboard.json b/keyboards/momokai/tap_duo/keyboard.json
index f5351dd031..636ed0209c 100644
--- a/keyboards/momokai/tap_duo/keyboard.json
+++ b/keyboards/momokai/tap_duo/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Tap Duo",
"manufacturer": "Momokai",
- "url": "",
"maintainer": "peepeetee",
"usb": {
"vid": "0x69F9",
@@ -14,7 +13,6 @@
"rgb_matrix": {
"default": {
"animation": "solid_color",
- "hue": 0,
"sat": 0,
"val": 200
},
@@ -53,7 +51,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false,
diff --git a/keyboards/momokai/tap_trio/keyboard.json b/keyboards/momokai/tap_trio/keyboard.json
index f61de25c10..c0e297a782 100644
--- a/keyboards/momokai/tap_trio/keyboard.json
+++ b/keyboards/momokai/tap_trio/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Tap Trio",
"manufacturer": "Momokai",
- "url": "",
"maintainer": "peepeetee",
"usb": {
"vid": "0x69F9",
@@ -14,7 +13,6 @@
"rgb_matrix": {
"default": {
"animation": "solid_color",
- "hue": 0,
"sat": 0,
"val": 200
},
@@ -53,7 +51,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false,
diff --git a/keyboards/monarch/keyboard.json b/keyboards/monarch/keyboard.json
index c42db64a26..b7237ec613 100644
--- a/keyboards/monarch/keyboard.json
+++ b/keyboards/monarch/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Monarch",
"manufacturer": "DoCallMeKing",
- "url": "",
"maintainer": "Ramon Imbao",
"usb": {
"vid": "0x4011",
diff --git a/keyboards/monoflex60/keyboard.json b/keyboards/monoflex60/keyboard.json
index 4c6fca7524..c7ea113099 100644
--- a/keyboards/monoflex60/keyboard.json
+++ b/keyboards/monoflex60/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Monoflex 60",
"manufacturer": "SantiGo Customs",
- "url": "",
"maintainer": "key10iq",
"usb": {
"vid": "0xDEB4",
@@ -14,7 +13,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/monsgeek/m1/keyboard.json b/keyboards/monsgeek/m1/keyboard.json
index 1551b2a113..937961a866 100644
--- a/keyboards/monsgeek/m1/keyboard.json
+++ b/keyboards/monsgeek/m1/keyboard.json
@@ -15,7 +15,6 @@
"bootmagic": true,
"mousekey": false,
"extrakey": true,
- "console": false,
"command": false,
"nkro": true,
"encoder": true,
diff --git a/keyboards/monsgeek/m1/m1.c b/keyboards/monsgeek/m1/m1.c
index 60479ab801..2f7365e562 100644
--- a/keyboards/monsgeek/m1/m1.c
+++ b/keyboards/monsgeek/m1/m1.c
@@ -190,7 +190,7 @@ bool process_record_kb(uint16_t keycode, keyrecord_t *record) {
set_single_persistent_default_layer(MAC_B);
layer_state_set(1<<MAC_B);
keymap_config.no_gui = 0;
- eeconfig_update_keymap(keymap_config.raw);
+ eeconfig_update_keymap(&keymap_config);
}
return false;
case QK_RGB_MATRIX_TOGGLE:
diff --git a/keyboards/monsgeek/m3/keyboard.json b/keyboards/monsgeek/m3/keyboard.json
index cb7c3abf21..8373271fb3 100644
--- a/keyboards/monsgeek/m3/keyboard.json
+++ b/keyboards/monsgeek/m3/keyboard.json
@@ -21,7 +21,6 @@
"features": {
"bootmagic": true,
"extrakey": true,
- "console": false,
"command": false,
"nkro": true,
"rgb_matrix": true
diff --git a/keyboards/monsgeek/m3/m3.c b/keyboards/monsgeek/m3/m3.c
index 4dd9a55f3c..bf5e038b3d 100644
--- a/keyboards/monsgeek/m3/m3.c
+++ b/keyboards/monsgeek/m3/m3.c
@@ -163,7 +163,7 @@ bool process_record_kb(uint16_t keycode, keyrecord_t* record) {
if (record->event.pressed) {
set_single_persistent_default_layer(MAC_B);
keymap_config.no_gui = 0;
- eeconfig_update_keymap(keymap_config.raw);
+ eeconfig_update_keymap(&keymap_config);
}
return false;
case GU_TOGG:
diff --git a/keyboards/monsgeek/m5/keyboard.json b/keyboards/monsgeek/m5/keyboard.json
index 3927181e2d..db19740b1a 100644
--- a/keyboards/monsgeek/m5/keyboard.json
+++ b/keyboards/monsgeek/m5/keyboard.json
@@ -15,7 +15,6 @@
"bootmagic": true,
"mousekey": true,
"extrakey": true,
- "console": false,
"command": false,
"nkro": true,
"rgb_matrix": true
diff --git a/keyboards/monsgeek/m6/keyboard.json b/keyboards/monsgeek/m6/keyboard.json
index 12d7def4c7..e770b8d4af 100644
--- a/keyboards/monsgeek/m6/keyboard.json
+++ b/keyboards/monsgeek/m6/keyboard.json
@@ -15,7 +15,6 @@
"bootmagic": true,
"mousekey": true,
"extrakey": true,
- "console": false,
"command": false,
"nkro": true,
"rgb_matrix": true
diff --git a/keyboards/monstargear/xo87/rgb/keyboard.json b/keyboards/monstargear/xo87/rgb/keyboard.json
index 5571b91990..9ee83deb00 100644
--- a/keyboards/monstargear/xo87/rgb/keyboard.json
+++ b/keyboards/monstargear/xo87/rgb/keyboard.json
@@ -67,7 +67,6 @@
"features": {
"bootmagic": true,
"command": true,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/monstargear/xo87/solderable/keyboard.json b/keyboards/monstargear/xo87/solderable/keyboard.json
index a230649b49..c825b22ac1 100644
--- a/keyboards/monstargear/xo87/solderable/keyboard.json
+++ b/keyboards/monstargear/xo87/solderable/keyboard.json
@@ -12,7 +12,6 @@
"backlight": true,
"bootmagic": true,
"command": true,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/moondrop/dash75/info.json b/keyboards/moondrop/dash75/info.json
index 59f956815e..7d04d7916e 100644
--- a/keyboards/moondrop/dash75/info.json
+++ b/keyboards/moondrop/dash75/info.json
@@ -9,7 +9,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false
diff --git a/keyboards/mothwing/keyboard.json b/keyboards/mothwing/keyboard.json
index c52d9df00e..5a584c7cb2 100644
--- a/keyboards/mothwing/keyboard.json
+++ b/keyboards/mothwing/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "mothwing",
"manufacturer": "Luana co.ltd.",
- "url": "",
"maintainer": "tan-t",
"usb": {
"vid": "0x4D77",
diff --git a/keyboards/mountainblocks/mb17/keyboard.json b/keyboards/mountainblocks/mb17/keyboard.json
index 9e9bb98406..9103f7775f 100644
--- a/keyboards/mountainblocks/mb17/keyboard.json
+++ b/keyboards/mountainblocks/mb17/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "MB17",
"manufacturer": "Mountainblocks",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0x4D42",
diff --git a/keyboards/mountainmechdesigns/teton_78/keyboard.json b/keyboards/mountainmechdesigns/teton_78/keyboard.json
index d6f5ce9cd8..9385edb8a4 100644
--- a/keyboards/mountainmechdesigns/teton_78/keyboard.json
+++ b/keyboards/mountainmechdesigns/teton_78/keyboard.json
@@ -10,7 +10,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
@@ -20,7 +19,6 @@
"rows": ["D0", "D1", "D2", "D3", "D5"]
},
"processor": "atmega32u4",
- "url": "",
"usb": {
"device_version": "1.0.0",
"pid": "0x3349",
diff --git a/keyboards/ms_sculpt/keyboard.json b/keyboards/ms_sculpt/keyboard.json
index 5353a0df7e..153668baaf 100644
--- a/keyboards/ms_sculpt/keyboard.json
+++ b/keyboards/ms_sculpt/keyboard.json
@@ -7,7 +7,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": false,
"mousekey": false,
"nkro": false
@@ -22,7 +21,6 @@
"io_delay": 5
},
"debounce": 3,
- "url": "",
"usb": {
"polling_interval": 1,
"device_version": "1.0.0",
diff --git a/keyboards/mss_studio/m63_rgb/keyboard.json b/keyboards/mss_studio/m63_rgb/keyboard.json
index 1b1745bc20..7ca20ede1b 100644
--- a/keyboards/mss_studio/m63_rgb/keyboard.json
+++ b/keyboards/mss_studio/m63_rgb/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "M63 RGB",
"manufacturer": "Mss Studio",
- "url": "",
"maintainer": "HorrorTroll",
"usb": {
"vid": "0x4D4B",
@@ -63,7 +62,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": true,
diff --git a/keyboards/mss_studio/m64_rgb/keyboard.json b/keyboards/mss_studio/m64_rgb/keyboard.json
index eb1cabb305..52f0ccc8fc 100644
--- a/keyboards/mss_studio/m64_rgb/keyboard.json
+++ b/keyboards/mss_studio/m64_rgb/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "M64 RGB",
"manufacturer": "Mss Studio",
- "url": "",
"maintainer": "HorrorTroll",
"usb": {
"vid": "0x4D4B",
@@ -63,7 +62,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": true,
diff --git a/keyboards/mt/blocked65/keyboard.json b/keyboards/mt/blocked65/keyboard.json
index 9a0ce52043..da7e4fc6ee 100644
--- a/keyboards/mt/blocked65/keyboard.json
+++ b/keyboards/mt/blocked65/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Blocked65",
"manufacturer": "Dou",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0x5746",
@@ -29,7 +28,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false,
diff --git a/keyboards/mt/mt40/keyboard.json b/keyboards/mt/mt40/keyboard.json
index d1700389f7..6afa3f12a7 100644
--- a/keyboards/mt/mt40/keyboard.json
+++ b/keyboards/mt/mt40/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "MT40",
"manufacturer": "ThomasDehaeze",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0x20A0",
@@ -12,7 +11,6 @@
"backlight": true,
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": false,
diff --git a/keyboards/mt/mt64rgb/keyboard.json b/keyboards/mt/mt64rgb/keyboard.json
index 451be59f8f..a901136e6e 100644
--- a/keyboards/mt/mt64rgb/keyboard.json
+++ b/keyboards/mt/mt64rgb/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "MT64RGB",
"manufacturer": "MT",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0x4D54",
@@ -140,7 +139,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": true,
diff --git a/keyboards/mt/mt84/keyboard.json b/keyboards/mt/mt84/keyboard.json
index 26f66b31db..1e17e5681f 100644
--- a/keyboards/mt/mt84/keyboard.json
+++ b/keyboards/mt/mt84/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "MT84",
"manufacturer": "MT",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0x4D54",
@@ -157,7 +156,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/mt/mt980/keyboard.json b/keyboards/mt/mt980/keyboard.json
index 2fa17224cb..bdf8e9db80 100644
--- a/keyboards/mt/mt980/keyboard.json
+++ b/keyboards/mt/mt980/keyboard.json
@@ -12,7 +12,6 @@
"backlight": true,
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": false,
"mousekey": false,
"nkro": true,
diff --git a/keyboards/mt/split75/keyboard.json b/keyboards/mt/split75/keyboard.json
index c13fa28b80..611e25bb6f 100644
--- a/keyboards/mt/split75/keyboard.json
+++ b/keyboards/mt/split75/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Split75",
"manufacturer": "YMDK",
- "url": "",
"maintainer": "Michael L. Walker",
"usb": {
"vid": "0x594D",
diff --git a/keyboards/mtbkeys/mtb60/hotswap/keyboard.json b/keyboards/mtbkeys/mtb60/hotswap/keyboard.json
index cca7bb726a..c8ef4316be 100644
--- a/keyboards/mtbkeys/mtb60/hotswap/keyboard.json
+++ b/keyboards/mtbkeys/mtb60/hotswap/keyboard.json
@@ -35,7 +35,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false,
diff --git a/keyboards/mtbkeys/mtb60/solder/keyboard.json b/keyboards/mtbkeys/mtb60/solder/keyboard.json
index e128981626..b8e3287de7 100644
--- a/keyboards/mtbkeys/mtb60/solder/keyboard.json
+++ b/keyboards/mtbkeys/mtb60/solder/keyboard.json
@@ -35,7 +35,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false,
diff --git a/keyboards/murcielago/rev1/keyboard.json b/keyboards/murcielago/rev1/keyboard.json
index 4d3a82ef2c..2b2aa862e3 100644
--- a/keyboards/murcielago/rev1/keyboard.json
+++ b/keyboards/murcielago/rev1/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Murci\u00e9lago",
"manufacturer": "elagil",
- "url": "",
"maintainer": "elagil",
"usb": {
"vid": "0x6166",
@@ -11,7 +10,6 @@
"features": {
"bootmagic": false,
"command": false,
- "console": false,
"encoder": true,
"extrakey": true,
"mousekey": true,
diff --git a/keyboards/mwstudio/alicekk/keyboard.json b/keyboards/mwstudio/alicekk/keyboard.json
index 141be9909e..61f03115d0 100644
--- a/keyboards/mwstudio/alicekk/keyboard.json
+++ b/keyboards/mwstudio/alicekk/keyboard.json
@@ -10,7 +10,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"encoder": true,
"extrakey": true,
"mousekey": true,
diff --git a/keyboards/mwstudio/mmk_3/keyboard.json b/keyboards/mwstudio/mmk_3/keyboard.json
index c63bd69f62..b812cb7e3b 100644
--- a/keyboards/mwstudio/mmk_3/keyboard.json
+++ b/keyboards/mwstudio/mmk_3/keyboard.json
@@ -31,7 +31,6 @@
"hue_steps": 10,
"led_count": 5
},
- "url": "",
"usb": {
"device_version": "1.0.0",
"pid": "0x3001",
diff --git a/keyboards/mwstudio/mw65_black/keyboard.json b/keyboards/mwstudio/mw65_black/keyboard.json
index 8955cf9688..c6667671d8 100644
--- a/keyboards/mwstudio/mw65_black/keyboard.json
+++ b/keyboards/mwstudio/mw65_black/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "MW65 Black",
"manufacturer": "MWStudio",
- "url": "",
"maintainer": "TW59420",
"usb": {
"vid": "0x7BA1",
@@ -19,7 +18,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"encoder": true,
"extrakey": true,
"mousekey": true,
diff --git a/keyboards/mwstudio/mw65_rgb/keyboard.json b/keyboards/mwstudio/mw65_rgb/keyboard.json
index f1a8190948..e68ed85111 100644
--- a/keyboards/mwstudio/mw65_rgb/keyboard.json
+++ b/keyboards/mwstudio/mw65_rgb/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "MW65 RGB",
"manufacturer": "MWStudio",
- "url": "",
"maintainer": "TW59420",
"usb": {
"vid": "0x7BA1",
@@ -60,7 +59,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"encoder": true,
"extrakey": true,
"mousekey": true,
diff --git a/keyboards/mwstudio/mw660/keyboard.json b/keyboards/mwstudio/mw660/keyboard.json
index fdbd7564a7..3e8fc91eef 100644
--- a/keyboards/mwstudio/mw660/keyboard.json
+++ b/keyboards/mwstudio/mw660/keyboard.json
@@ -6,7 +6,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
@@ -24,7 +23,6 @@
},
"processor": "STM32F103",
"bootloader": "stm32duino",
- "url": "",
"usb": {
"device_version": "1.0.0",
"pid": "0x6601",
diff --git a/keyboards/mwstudio/mw75/keyboard.json b/keyboards/mwstudio/mw75/keyboard.json
index d9e540bca4..e7169d37a6 100644
--- a/keyboards/mwstudio/mw75/keyboard.json
+++ b/keyboards/mwstudio/mw75/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "MW75",
"manufacturer": "MWStudio",
- "url": "",
"maintainer": "TW59420",
"usb": {
"vid": "0x7BA1",
@@ -57,7 +56,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"encoder": true,
"extrakey": true,
"mousekey": true,
diff --git a/keyboards/mwstudio/mw75r2/keyboard.json b/keyboards/mwstudio/mw75r2/keyboard.json
index ae227830e5..2ec31300e9 100644
--- a/keyboards/mwstudio/mw75r2/keyboard.json
+++ b/keyboards/mwstudio/mw75r2/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "MW75R2",
"manufacturer": "MWStudio",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0x7BA1",
@@ -45,7 +44,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"encoder": true,
"extrakey": true,
"mousekey": true,
diff --git a/keyboards/mwstudio/mw80/keyboard.json b/keyboards/mwstudio/mw80/keyboard.json
index 829e97591c..c5d7c8d037 100644
--- a/keyboards/mwstudio/mw80/keyboard.json
+++ b/keyboards/mwstudio/mw80/keyboard.json
@@ -6,7 +6,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
@@ -18,7 +17,6 @@
},
"processor": "STM32F103",
"bootloader": "stm32duino",
- "url": "",
"indicators": {
"caps_lock": "A0"
},
@@ -29,8 +27,6 @@
"rgblight": {
"led_count": 16,
"hue_steps": 10,
- "saturation_steps": 17,
- "brightness_steps": 17,
"animations": {
"alternating": true,
"breathing": true,
diff --git a/keyboards/mxss/keyboard.json b/keyboards/mxss/keyboard.json
index defa0ae6b7..d6dc4b2a79 100644
--- a/keyboards/mxss/keyboard.json
+++ b/keyboards/mxss/keyboard.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false,
diff --git a/keyboards/mykeyclub/jris65/hotswap/keyboard.json b/keyboards/mykeyclub/jris65/hotswap/keyboard.json
index 3ed56136d1..134edbf4f0 100644
--- a/keyboards/mykeyclub/jris65/hotswap/keyboard.json
+++ b/keyboards/mykeyclub/jris65/hotswap/keyboard.json
@@ -15,7 +15,6 @@
"rows": ["F7", "F6", "F5", "B2", "F4"]
},
"processor": "atmega32u4",
- "url": "",
"usb": {
"device_version": "0.1.0",
"pid": "0x4953",
diff --git a/keyboards/mysticworks/wyvern/keyboard.json b/keyboards/mysticworks/wyvern/keyboard.json
index 77f2aa19bd..bccf089120 100644
--- a/keyboards/mysticworks/wyvern/keyboard.json
+++ b/keyboards/mysticworks/wyvern/keyboard.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false
diff --git a/keyboards/nacly/sodium42/keyboard.json b/keyboards/nacly/sodium42/keyboard.json
index 2db83408ac..a1d7b65ab3 100644
--- a/keyboards/nacly/sodium42/keyboard.json
+++ b/keyboards/nacly/sodium42/keyboard.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": true,
"command": true,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/nacly/sodium50/keyboard.json b/keyboards/nacly/sodium50/keyboard.json
index b9448c8217..e41495755f 100644
--- a/keyboards/nacly/sodium50/keyboard.json
+++ b/keyboards/nacly/sodium50/keyboard.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": true,
"command": true,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/nacly/sodium62/keyboard.json b/keyboards/nacly/sodium62/keyboard.json
index 904fa9568a..ab16bf45fa 100644
--- a/keyboards/nacly/sodium62/keyboard.json
+++ b/keyboards/nacly/sodium62/keyboard.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": true,
"command": true,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/nacly/splitreus62/keyboard.json b/keyboards/nacly/splitreus62/keyboard.json
index a3b1544b9a..d356578690 100644
--- a/keyboards/nacly/splitreus62/keyboard.json
+++ b/keyboards/nacly/splitreus62/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Splitreus62",
"manufacturer": "NaCly",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0xBEEF",
@@ -11,7 +10,6 @@
"features": {
"bootmagic": true,
"command": true,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/nacly/ua62/keyboard.json b/keyboards/nacly/ua62/keyboard.json
index 43f2e9e662..0bf01308f5 100644
--- a/keyboards/nacly/ua62/keyboard.json
+++ b/keyboards/nacly/ua62/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "UA62",
"manufacturer": "NaCly",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0xBEEF",
diff --git a/keyboards/navi60/keyboard.json b/keyboards/navi60/keyboard.json
index 42c3e5da1d..8266e9b2b1 100644
--- a/keyboards/navi60/keyboard.json
+++ b/keyboards/navi60/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Navi60",
"manufacturer": "Navi60",
- "url": "",
"maintainer": "DeskDaily",
"usb": {
"vid": "0x5001",
@@ -19,7 +18,6 @@
"bootmagic": true,
"mousekey": true,
"extrakey": true,
- "console": false,
"command": false,
"nkro": true
},
diff --git a/keyboards/ncc1701kb/keyboard.json b/keyboards/ncc1701kb/keyboard.json
index f30b85f47a..13e244f7ce 100644
--- a/keyboards/ncc1701kb/keyboard.json
+++ b/keyboards/ncc1701kb/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "NCC-1701-KB",
"manufacturer": "J2L Designs",
- "url": "",
"maintainer": "jessel92",
"usb": {
"vid": "0xFEED",
@@ -12,7 +11,6 @@
"backlight": true,
"bootmagic": false,
"command": false,
- "console": false,
"encoder": true,
"extrakey": true,
"mousekey": true,
diff --git a/keyboards/neito/keyboard.json b/keyboards/neito/keyboard.json
index d79ab68508..7c9934fa65 100644
--- a/keyboards/neito/keyboard.json
+++ b/keyboards/neito/keyboard.json
@@ -12,7 +12,6 @@
"backlight": true,
"bootmagic": true,
"command": false,
- "console": false,
"encoder": true,
"extrakey": true,
"mousekey": true,
diff --git a/keyboards/nek_type_a/keyboard.json b/keyboards/nek_type_a/keyboard.json
index 39bad11a18..a99a6b0301 100644
--- a/keyboards/nek_type_a/keyboard.json
+++ b/keyboards/nek_type_a/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "NEK Type A",
"manufacturer": "miker",
- "url": "",
"maintainer": "ecopoesis",
"usb": {
"vid": "0xFEED",
diff --git a/keyboards/nemui/keyboard.json b/keyboards/nemui/keyboard.json
index fb2adb6ae4..5d607ee61e 100644
--- a/keyboards/nemui/keyboard.json
+++ b/keyboards/nemui/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Nemui",
"manufacturer": "Bachoo",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0x6400",
diff --git a/keyboards/neokeys/g67/element_hs/keyboard.json b/keyboards/neokeys/g67/element_hs/keyboard.json
index f477c33d6a..5245fb3fa0 100644
--- a/keyboards/neokeys/g67/element_hs/keyboard.json
+++ b/keyboards/neokeys/g67/element_hs/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Element G67 Hotswap",
"manufacturer": "NEO Keys",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0x4E4B",
@@ -11,7 +10,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"key_lock": true,
"mousekey": true,
diff --git a/keyboards/neokeys/g67/hotswap/keyboard.json b/keyboards/neokeys/g67/hotswap/keyboard.json
index 937e802fa0..47a1786a5b 100644
--- a/keyboards/neokeys/g67/hotswap/keyboard.json
+++ b/keyboards/neokeys/g67/hotswap/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Palette G67 Hotswap",
"manufacturer": "NEO Keys",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0x4E4B",
@@ -11,7 +10,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"key_lock": true,
"mousekey": true,
diff --git a/keyboards/neokeys/g67/soldered/keyboard.json b/keyboards/neokeys/g67/soldered/keyboard.json
index 541f07ee09..896673f23e 100644
--- a/keyboards/neokeys/g67/soldered/keyboard.json
+++ b/keyboards/neokeys/g67/soldered/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Palette G67 Soldered",
"manufacturer": "NEO Keys",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0x4E4B",
@@ -12,7 +11,6 @@
"backlight": true,
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false,
diff --git a/keyboards/neson_design/700e/keyboard.json b/keyboards/neson_design/700e/keyboard.json
index 64a18f436b..4cd7de0d81 100644
--- a/keyboards/neson_design/700e/keyboard.json
+++ b/keyboards/neson_design/700e/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "700E",
"manufacturer": "Neson Design",
- "url": "",
"maintainer": "yulei",
"usb": {
"vid": "0x4E65",
diff --git a/keyboards/neson_design/810e/board.h b/keyboards/neson_design/810e/board.h
new file mode 100644
index 0000000000..681350a0ea
--- /dev/null
+++ b/keyboards/neson_design/810e/board.h
@@ -0,0 +1,8 @@
+// Copyright 2024 astro
+// SPDX-License-Identifier: GPL-2.0-or-later
+#pragma once
+
+#include_next <board.h>
+
+#undef STM32_HSECLK
+#define STM32_HSECLK 16000000U
diff --git a/keyboards/neson_design/810e/config.h b/keyboards/neson_design/810e/config.h
deleted file mode 100644
index c6409b1ece..0000000000
--- a/keyboards/neson_design/810e/config.h
+++ /dev/null
@@ -1,21 +0,0 @@
-/**
- * Copyright 2024 astro
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
-
-#define BOARD_OTG_NOVBUSSENS 1
-#define STM32_HSECLK 16000000U
diff --git a/keyboards/neson_design/810e/keyboard.json b/keyboards/neson_design/810e/keyboard.json
index 2c62eb1f88..ab52c1539e 100644
--- a/keyboards/neson_design/810e/keyboard.json
+++ b/keyboards/neson_design/810e/keyboard.json
@@ -19,7 +19,6 @@
"rows": ["C13", "C14", "A6", "A7", "A5"]
},
"processor": "STM32F411",
- "url": "",
"usb": {
"device_version": "1.0.0",
"pid": "0x810E",
diff --git a/keyboards/neson_design/n6/keyboard.json b/keyboards/neson_design/n6/keyboard.json
index 66e6fb740c..9f7d3fb1c0 100644
--- a/keyboards/neson_design/n6/keyboard.json
+++ b/keyboards/neson_design/n6/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "N6",
"manufacturer": "Neson Design",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0x4E65",
diff --git a/keyboards/neson_design/nico/keyboard.json b/keyboards/neson_design/nico/keyboard.json
index 477ac3ba7c..96cfff16ef 100644
--- a/keyboards/neson_design/nico/keyboard.json
+++ b/keyboards/neson_design/nico/keyboard.json
@@ -7,7 +7,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
@@ -27,7 +26,6 @@
"rgblight": {
"led_count": 5
},
- "url": "",
"usb": {
"device_version": "0.0.1",
"no_startup_check": true,
diff --git a/keyboards/newgame40/keyboard.json b/keyboards/newgame40/keyboard.json
index 063260b99f..0886f55623 100644
--- a/keyboards/newgame40/keyboard.json
+++ b/keyboards/newgame40/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "NEWGAME40",
"manufacturer": "GoTakigawa",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0xFEED",
@@ -11,7 +10,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/nibell/micropad4x4/keyboard.json b/keyboards/nibell/micropad4x4/keyboard.json
index b992f501cf..0305412f8c 100644
--- a/keyboards/nibell/micropad4x4/keyboard.json
+++ b/keyboards/nibell/micropad4x4/keyboard.json
@@ -15,7 +15,6 @@
"rows": ["GP10", "GP11", "GP12", "GP13"]
},
"processor": "RP2040",
- "url": "",
"usb": {
"device_version": "1.0.0",
"pid": "0xFEED",
diff --git a/keyboards/nibiria/stream15/keyboard.json b/keyboards/nibiria/stream15/keyboard.json
index 9daeef7cf9..12f24d41bb 100644
--- a/keyboards/nibiria/stream15/keyboard.json
+++ b/keyboards/nibiria/stream15/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Stream15",
"manufacturer": "Nibiria",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0x4E49",
@@ -11,7 +10,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/nightingale_studios/hailey/keyboard.json b/keyboards/nightingale_studios/hailey/keyboard.json
index f8c2455958..564be592a5 100644
--- a/keyboards/nightingale_studios/hailey/keyboard.json
+++ b/keyboards/nightingale_studios/hailey/keyboard.json
@@ -10,7 +10,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"encoder": true,
"extrakey": true,
"mousekey": true,
diff --git a/keyboards/nightly_boards/adellein/keyboard.json b/keyboards/nightly_boards/adellein/keyboard.json
index 3f873ba5f5..889270637d 100644
--- a/keyboards/nightly_boards/adellein/keyboard.json
+++ b/keyboards/nightly_boards/adellein/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Adellein",
"manufacturer": "Neil Brian Ramirez",
- "url": "",
"maintainer": "Neil Brian Ramirez",
"usb": {
"vid": "0xD812",
@@ -14,7 +13,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"encoder": true,
"extrakey": true,
"mousekey": true,
diff --git a/keyboards/nightly_boards/alter/rev1/keyboard.json b/keyboards/nightly_boards/alter/rev1/keyboard.json
index e02e7e5b1b..df3d755ce8 100644
--- a/keyboards/nightly_boards/alter/rev1/keyboard.json
+++ b/keyboards/nightly_boards/alter/rev1/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Alter",
"manufacturer": "Neil Brian Ramirez",
- "url": "",
"maintainer": "Neil Brian Ramirez",
"usb": {
"vid": "0x0717",
@@ -11,7 +10,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": false,
diff --git a/keyboards/nightly_boards/alter_lite/keyboard.json b/keyboards/nightly_boards/alter_lite/keyboard.json
index d06dd3aacd..01ec32939c 100644
--- a/keyboards/nightly_boards/alter_lite/keyboard.json
+++ b/keyboards/nightly_boards/alter_lite/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Alter Lite",
"manufacturer": "DeskDaily",
- "url": "",
"maintainer": "DeskDaily",
"usb": {
"vid": "0xD812",
@@ -11,7 +10,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/nightly_boards/conde60/keyboard.json b/keyboards/nightly_boards/conde60/keyboard.json
index 38e7b8383a..65de34d6d7 100644
--- a/keyboards/nightly_boards/conde60/keyboard.json
+++ b/keyboards/nightly_boards/conde60/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Conde60",
"manufacturer": "DeskDaily",
- "url": "",
"maintainer": "DeskDaily",
"usb": {
"vid": "0xD812",
@@ -14,7 +13,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/nightly_boards/daily60/keyboard.json b/keyboards/nightly_boards/daily60/keyboard.json
index d3614d1b44..8c9f2616ec 100644
--- a/keyboards/nightly_boards/daily60/keyboard.json
+++ b/keyboards/nightly_boards/daily60/keyboard.json
@@ -10,7 +10,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/nightly_boards/jisoo/keyboard.json b/keyboards/nightly_boards/jisoo/keyboard.json
index 21b8122497..c48c006d29 100644
--- a/keyboards/nightly_boards/jisoo/keyboard.json
+++ b/keyboards/nightly_boards/jisoo/keyboard.json
@@ -10,7 +10,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/nightly_boards/n2/keyboard.json b/keyboards/nightly_boards/n2/keyboard.json
index 4aa554716f..44b113c574 100644
--- a/keyboards/nightly_boards/n2/keyboard.json
+++ b/keyboards/nightly_boards/n2/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "[n]2",
"manufacturer": "Neil Brian Ramirez",
- "url": "",
"maintainer": "Neil Brian Ramirez",
"usb": {
"vid": "0x0717",
@@ -11,7 +10,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": false,
diff --git a/keyboards/nightly_boards/n40_o/keyboard.json b/keyboards/nightly_boards/n40_o/keyboard.json
index f749c143eb..c1b8381669 100644
--- a/keyboards/nightly_boards/n40_o/keyboard.json
+++ b/keyboards/nightly_boards/n40_o/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "[n]40-o",
"manufacturer": "Neil Brian Ramirez",
- "url": "",
"maintainer": "Neil Brian Ramirez",
"features": {
"bootmagic": true,
diff --git a/keyboards/nightly_boards/n60_s/keyboard.json b/keyboards/nightly_boards/n60_s/keyboard.json
index f6e235fec5..4689a631ac 100644
--- a/keyboards/nightly_boards/n60_s/keyboard.json
+++ b/keyboards/nightly_boards/n60_s/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "[n]60-S",
"manufacturer": "Neil Brian Ramirez",
- "url": "",
"maintainer": "Neil Brian Ramirez",
"usb": {
"vid": "0xD812",
@@ -15,7 +14,6 @@
"audio": true,
"bootmagic": true,
"command": false,
- "console": false,
"encoder": true,
"extrakey": true,
"mousekey": true,
diff --git a/keyboards/nightly_boards/n87/keyboard.json b/keyboards/nightly_boards/n87/keyboard.json
index ddfd27125c..327389384a 100644
--- a/keyboards/nightly_boards/n87/keyboard.json
+++ b/keyboards/nightly_boards/n87/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "[n]87",
"manufacturer": "Neil Brian Ramirez",
- "url": "",
"maintainer": "Neil Brian Ramirez",
"usb": {
"vid": "0x0717",
@@ -12,7 +11,6 @@
"audio": true,
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/nightly_boards/n9/keyboard.json b/keyboards/nightly_boards/n9/keyboard.json
index 83f9495445..2bf12b196f 100644
--- a/keyboards/nightly_boards/n9/keyboard.json
+++ b/keyboards/nightly_boards/n9/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "[n]9",
"manufacturer": "Neil Brian Ramirez",
- "url": "",
"maintainer": "Neil Brian Ramirez",
"usb": {
"vid": "0xD812",
@@ -11,7 +10,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false,
diff --git a/keyboards/nightly_boards/octopad/keyboard.json b/keyboards/nightly_boards/octopad/keyboard.json
index 797f26a2c2..e2263a0ac1 100644
--- a/keyboards/nightly_boards/octopad/keyboard.json
+++ b/keyboards/nightly_boards/octopad/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Octopad",
"manufacturer": "Neil Brian Ramirez",
- "url": "",
"maintainer": "Neil Brian Ramirez",
"usb": {
"vid": "0xD812",
@@ -15,7 +14,6 @@
"audio": true,
"bootmagic": true,
"command": false,
- "console": false,
"encoder": true,
"extrakey": true,
"mousekey": true,
diff --git a/keyboards/nightly_boards/octopadplus/keyboard.json b/keyboards/nightly_boards/octopadplus/keyboard.json
index ca5a7cdad1..78d89ab14c 100644
--- a/keyboards/nightly_boards/octopadplus/keyboard.json
+++ b/keyboards/nightly_boards/octopadplus/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Octopad+",
"manufacturer": "DeskDaily",
- "url": "",
"maintainer": "DeskDaily",
"usb": {
"vid": "0xD812",
@@ -11,7 +10,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"encoder": true,
"extrakey": true,
"mousekey": true,
@@ -52,9 +50,7 @@
"twinkle": true
},
"brightness_steps": 8,
- "hue_steps": 8,
"led_count": 8,
- "max_brightness": 255,
"saturation_steps": 8,
"sleep": true
},
diff --git a/keyboards/nightly_boards/paraluman/keyboard.json b/keyboards/nightly_boards/paraluman/keyboard.json
index f18cefe601..9478617b3b 100644
--- a/keyboards/nightly_boards/paraluman/keyboard.json
+++ b/keyboards/nightly_boards/paraluman/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Paraluman",
"manufacturer": "DeskDaily",
- "url": "",
"maintainer": "DeskDaily",
"usb": {
"vid": "0xD812",
@@ -14,7 +13,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/nightly_boards/ph_arisu/keyboard.json b/keyboards/nightly_boards/ph_arisu/keyboard.json
index 55f9e6e90c..1c307f0527 100644
--- a/keyboards/nightly_boards/ph_arisu/keyboard.json
+++ b/keyboards/nightly_boards/ph_arisu/keyboard.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/nimrod/keyboard.json b/keyboards/nimrod/keyboard.json
index 08351efb20..162b13341e 100644
--- a/keyboards/nimrod/keyboard.json
+++ b/keyboards/nimrod/keyboard.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": true
diff --git a/keyboards/ning/tiny_board/tb16_rgb/keyboard.json b/keyboards/ning/tiny_board/tb16_rgb/keyboard.json
index 57a2438c3d..260153a622 100644
--- a/keyboards/ning/tiny_board/tb16_rgb/keyboard.json
+++ b/keyboards/ning/tiny_board/tb16_rgb/keyboard.json
@@ -6,7 +6,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
@@ -29,7 +28,6 @@
"pin": "B5"
},
"development_board": "promicro",
- "url": "",
"usb": {
"device_version": "1.0.0",
"pid": "0x0000",
diff --git a/keyboards/nix_studio/lilith/board.h b/keyboards/nix_studio/lilith/board.h
new file mode 100644
index 0000000000..2a370fe2e0
--- /dev/null
+++ b/keyboards/nix_studio/lilith/board.h
@@ -0,0 +1,8 @@
+// Copyright 2022 Martin Arnstad (@arnstadm)
+// SPDX-License-Identifier: GPL-2.0-or-later
+#pragma once
+
+#include_next <board.h>
+
+#undef STM32_HSECLK
+#define STM32_HSECLK 16000000U
diff --git a/keyboards/nix_studio/lilith/keyboard.json b/keyboards/nix_studio/lilith/keyboard.json
index 7fe03ef806..d41a656d9d 100644
--- a/keyboards/nix_studio/lilith/keyboard.json
+++ b/keyboards/nix_studio/lilith/keyboard.json
@@ -7,7 +7,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/nix_studio/n60_a/keyboard.json b/keyboards/nix_studio/n60_a/keyboard.json
index 3f9b4dd086..de5507c692 100644
--- a/keyboards/nix_studio/n60_a/keyboard.json
+++ b/keyboards/nix_studio/n60_a/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "N60A",
"manufacturer": "Nix Studio",
- "url": "",
"maintainer": "Nix Studio",
"usb": {
"vid": "0x6E78",
diff --git a/keyboards/nix_studio/oxalys80/keyboard.json b/keyboards/nix_studio/oxalys80/keyboard.json
index 470c43ea2f..97d23456af 100644
--- a/keyboards/nix_studio/oxalys80/keyboard.json
+++ b/keyboards/nix_studio/oxalys80/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "OXALYS80",
"manufacturer": "Nix Studio",
- "url": "",
"maintainer": "Nix Studio",
"usb": {
"vid": "0x6E78",
@@ -15,7 +14,6 @@
"backlight": true,
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false,
diff --git a/keyboards/nixkeyboards/day_off/keyboard.json b/keyboards/nixkeyboards/day_off/keyboard.json
index 2edbcdf883..82719eb1ae 100644
--- a/keyboards/nixkeyboards/day_off/keyboard.json
+++ b/keyboards/nixkeyboards/day_off/keyboard.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": false,
"command": false,
- "console": false,
"encoder": true,
"extrakey": true,
"mousekey": true,
diff --git a/keyboards/nopunin10did/jabberwocky/v1/keyboard.json b/keyboards/nopunin10did/jabberwocky/v1/keyboard.json
index 6c8b71460e..277d5bf775 100644
--- a/keyboards/nopunin10did/jabberwocky/v1/keyboard.json
+++ b/keyboards/nopunin10did/jabberwocky/v1/keyboard.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/nopunin10did/jabberwocky/v2/keyboard.json b/keyboards/nopunin10did/jabberwocky/v2/keyboard.json
index 7c688039a3..53c035bc03 100644
--- a/keyboards/nopunin10did/jabberwocky/v2/keyboard.json
+++ b/keyboards/nopunin10did/jabberwocky/v2/keyboard.json
@@ -12,7 +12,6 @@
"backlight": true,
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/nopunin10did/kastenwagen1840/keyboard.json b/keyboards/nopunin10did/kastenwagen1840/keyboard.json
index 771df3d82c..0118c3a4a8 100644
--- a/keyboards/nopunin10did/kastenwagen1840/keyboard.json
+++ b/keyboards/nopunin10did/kastenwagen1840/keyboard.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"encoder": true,
"extrakey": true,
"mousekey": true,
diff --git a/keyboards/nopunin10did/kastenwagen48/keyboard.json b/keyboards/nopunin10did/kastenwagen48/keyboard.json
index 58a9d7c2a8..f7b1264f00 100644
--- a/keyboards/nopunin10did/kastenwagen48/keyboard.json
+++ b/keyboards/nopunin10did/kastenwagen48/keyboard.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"encoder": true,
"extrakey": true,
"mousekey": true,
diff --git a/keyboards/nopunin10did/railroad/rev0/keyboard.json b/keyboards/nopunin10did/railroad/rev0/keyboard.json
index 7dcc17f762..6e70455d4a 100644
--- a/keyboards/nopunin10did/railroad/rev0/keyboard.json
+++ b/keyboards/nopunin10did/railroad/rev0/keyboard.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/nopunin10did/styrkatmel/keyboard.json b/keyboards/nopunin10did/styrkatmel/keyboard.json
index 98a9597b34..cc38a59f75 100644
--- a/keyboards/nopunin10did/styrkatmel/keyboard.json
+++ b/keyboards/nopunin10did/styrkatmel/keyboard.json
@@ -12,7 +12,6 @@
"backlight": false,
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/novelkeys/nk1/keyboard.json b/keyboards/novelkeys/nk1/keyboard.json
index 0fa15cf9f2..8df47acb66 100755
--- a/keyboards/novelkeys/nk1/keyboard.json
+++ b/keyboards/novelkeys/nk1/keyboard.json
@@ -34,7 +34,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/novelkeys/nk65/info.json b/keyboards/novelkeys/nk65/info.json
index e3bff19346..ae02d3ac05 100755
--- a/keyboards/novelkeys/nk65/info.json
+++ b/keyboards/novelkeys/nk65/info.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "NK65",
"manufacturer": "Yiancar-Designs",
- "url": "",
"maintainer": "yiancar",
"usb": {
"vid": "0x8968",
diff --git a/keyboards/novelkeys/nk_classic_tkl/keyboard.json b/keyboards/novelkeys/nk_classic_tkl/keyboard.json
index 53d10ce32a..00f2c763d2 100755
--- a/keyboards/novelkeys/nk_classic_tkl/keyboard.json
+++ b/keyboards/novelkeys/nk_classic_tkl/keyboard.json
@@ -7,7 +7,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/novelkeys/nk_classic_tkl_iso/keyboard.json b/keyboards/novelkeys/nk_classic_tkl_iso/keyboard.json
index 12085cbacc..54173de266 100755
--- a/keyboards/novelkeys/nk_classic_tkl_iso/keyboard.json
+++ b/keyboards/novelkeys/nk_classic_tkl_iso/keyboard.json
@@ -7,7 +7,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/novelkeys/nk_plus/keyboard.json b/keyboards/novelkeys/nk_plus/keyboard.json
index b823d2808b..a7e065e4f5 100755
--- a/keyboards/novelkeys/nk_plus/keyboard.json
+++ b/keyboards/novelkeys/nk_plus/keyboard.json
@@ -16,7 +16,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/novelkeys/novelpad/keyboard.json b/keyboards/novelkeys/novelpad/keyboard.json
index bb190dd284..9cdaa81e5f 100644
--- a/keyboards/novelkeys/novelpad/keyboard.json
+++ b/keyboards/novelkeys/novelpad/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "NovelPad",
"manufacturer": "NovelKeys.xyz",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0xFEED",
diff --git a/keyboards/noxary/220/keyboard.json b/keyboards/noxary/220/keyboard.json
index 3565316999..60e68305d3 100644
--- a/keyboards/noxary/220/keyboard.json
+++ b/keyboards/noxary/220/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "220",
"manufacturer": "Noxary",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0x4E58",
diff --git a/keyboards/noxary/260/keyboard.json b/keyboards/noxary/260/keyboard.json
index d5353d4244..e5af9b3095 100644
--- a/keyboards/noxary/260/keyboard.json
+++ b/keyboards/noxary/260/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "260",
"manufacturer": "Noxary",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0x4E58",
diff --git a/keyboards/noxary/268_2/keyboard.json b/keyboards/noxary/268_2/keyboard.json
index 08daee6d63..ee37cb2800 100644
--- a/keyboards/noxary/268_2/keyboard.json
+++ b/keyboards/noxary/268_2/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "268.2",
"manufacturer": "Noxary",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0x4E58",
@@ -12,7 +11,6 @@
"backlight": true,
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": true
diff --git a/keyboards/noxary/268_2_rgb/keyboard.json b/keyboards/noxary/268_2_rgb/keyboard.json
index 380a772767..7db5f23050 100644
--- a/keyboards/noxary/268_2_rgb/keyboard.json
+++ b/keyboards/noxary/268_2_rgb/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "268.2 RGB",
"manufacturer": "Noxary",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0x4E58",
@@ -12,7 +11,6 @@
"backlight": true,
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": true,
diff --git a/keyboards/noxary/280/keyboard.json b/keyboards/noxary/280/keyboard.json
index 4bd9257152..88bf9e2123 100644
--- a/keyboards/noxary/280/keyboard.json
+++ b/keyboards/noxary/280/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "280",
"manufacturer": "Noxary",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0x4E58",
diff --git a/keyboards/noxary/378/keyboard.json b/keyboards/noxary/378/keyboard.json
index 3502604d6c..2927dc1f3d 100644
--- a/keyboards/noxary/378/keyboard.json
+++ b/keyboards/noxary/378/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "378",
"manufacturer": "Noxary",
- "url": "",
"maintainer": "Gondolindrim",
"usb": {
"vid": "0x4E58",
@@ -11,7 +10,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/noxary/valhalla/keyboard.json b/keyboards/noxary/valhalla/keyboard.json
index 3bc3d80a34..9d5a521fb5 100644
--- a/keyboards/noxary/valhalla/keyboard.json
+++ b/keyboards/noxary/valhalla/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Valhalla",
"manufacturer": "Noxary",
- "url": "",
"maintainer": "Gondolindrim",
"usb": {
"vid": "0x4E58",
@@ -11,7 +10,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/noxary/valhalla_v2/keyboard.json b/keyboards/noxary/valhalla_v2/keyboard.json
index 671bd0b775..cf187e5ba0 100644
--- a/keyboards/noxary/valhalla_v2/keyboard.json
+++ b/keyboards/noxary/valhalla_v2/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Valhalla V2",
"manufacturer": "Noxary",
- "url": "",
"maintainer": "Gondolindrim",
"usb": {
"vid": "0x4E58",
@@ -16,7 +15,6 @@
"bootmagic": true,
"mousekey": true,
"extrakey": true,
- "console": false,
"backlight": true,
"nkro": true
},
diff --git a/keyboards/noxary/vulcan/keyboard.json b/keyboards/noxary/vulcan/keyboard.json
index 821cb000b5..18dab7063d 100644
--- a/keyboards/noxary/vulcan/keyboard.json
+++ b/keyboards/noxary/vulcan/keyboard.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": true,
"command": true,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/noxary/x268/keyboard.json b/keyboards/noxary/x268/keyboard.json
index 7ca5799de2..2de3163fcc 100644
--- a/keyboards/noxary/x268/keyboard.json
+++ b/keyboards/noxary/x268/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "x268",
"manufacturer": "Noxary",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0x4E58",
@@ -12,7 +11,6 @@
"backlight": true,
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/np12/keyboard.json b/keyboards/np12/keyboard.json
index d7f6f8cfb7..f21ef00d08 100644
--- a/keyboards/np12/keyboard.json
+++ b/keyboards/np12/keyboard.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"encoder": true,
"extrakey": true,
"mousekey": true,
diff --git a/keyboards/null/st110r2/keyboard.json b/keyboards/null/st110r2/keyboard.json
index b83e9746e1..7a3589cdcb 100644
--- a/keyboards/null/st110r2/keyboard.json
+++ b/keyboards/null/st110r2/keyboard.json
@@ -7,7 +7,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/numatreus/keyboard.json b/keyboards/numatreus/keyboard.json
index 3120b48f55..3441a769e1 100644
--- a/keyboards/numatreus/keyboard.json
+++ b/keyboards/numatreus/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "NumAtreus",
"manufacturer": "yohewi",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0xFEED",
diff --git a/keyboards/nyhxis/nfr_70/keyboard.json b/keyboards/nyhxis/nfr_70/keyboard.json
index 0fbb4681d8..993beb0332 100644
--- a/keyboards/nyhxis/nfr_70/keyboard.json
+++ b/keyboards/nyhxis/nfr_70/keyboard.json
@@ -7,7 +7,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/obosob/arch_36/keyboard.json b/keyboards/obosob/arch_36/keyboard.json
index 290446dd22..625eec4a45 100644
--- a/keyboards/obosob/arch_36/keyboard.json
+++ b/keyboards/obosob/arch_36/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Arch-36",
"manufacturer": "obosob",
- "url": "",
"maintainer": "obosob",
"usb": {
"vid": "0xFEED",
@@ -11,7 +10,6 @@
"features": {
"bootmagic": false,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": false,
diff --git a/keyboards/obosob/steal_this_keyboard/keyboard.json b/keyboards/obosob/steal_this_keyboard/keyboard.json
index cc99431b5a..38d7936536 100644
--- a/keyboards/obosob/steal_this_keyboard/keyboard.json
+++ b/keyboards/obosob/steal_this_keyboard/keyboard.json
@@ -13,7 +13,6 @@
"features": {
"bootmagic": false,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false,
diff --git a/keyboards/ocean/addon/keyboard.json b/keyboards/ocean/addon/keyboard.json
index b7502a28b6..9a7ad77272 100644
--- a/keyboards/ocean/addon/keyboard.json
+++ b/keyboards/ocean/addon/keyboard.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/ocean/gin_v2/keyboard.json b/keyboards/ocean/gin_v2/keyboard.json
index b6f22b813b..9c5ae278b2 100644
--- a/keyboards/ocean/gin_v2/keyboard.json
+++ b/keyboards/ocean/gin_v2/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Gin V2",
"manufacturer": "Ocean",
- "url": "",
"maintainer": "Ocean",
"usb": {
"vid": "0x9624",
@@ -11,7 +10,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/ocean/slamz/keyboard.json b/keyboards/ocean/slamz/keyboard.json
index 6712077763..53fc0f609e 100644
--- a/keyboards/ocean/slamz/keyboard.json
+++ b/keyboards/ocean/slamz/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Slamz",
"manufacturer": "Ocean",
- "url": "",
"maintainer": "Ocean",
"usb": {
"vid": "0x9624",
@@ -11,7 +10,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/ocean/stealth/keyboard.json b/keyboards/ocean/stealth/keyboard.json
index b094a5f4bf..6232c641fb 100644
--- a/keyboards/ocean/stealth/keyboard.json
+++ b/keyboards/ocean/stealth/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Stealth",
"manufacturer": "Ocean",
- "url": "",
"maintainer": "Ocean",
"usb": {
"vid": "0x9624",
@@ -11,7 +10,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/ocean/sus/keyboard.json b/keyboards/ocean/sus/keyboard.json
index ea2b1e326a..0bfdaa7b45 100644
--- a/keyboards/ocean/sus/keyboard.json
+++ b/keyboards/ocean/sus/keyboard.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": false,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/ocean/wang_ergo/keyboard.json b/keyboards/ocean/wang_ergo/keyboard.json
index 5debc4396d..ef32964937 100644
--- a/keyboards/ocean/wang_ergo/keyboard.json
+++ b/keyboards/ocean/wang_ergo/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Wang Ergo",
"manufacturer": "Ocean",
- "url": "",
"maintainer": "oceeean",
"usb": {
"vid": "0x9624",
@@ -11,7 +10,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/ocean/wang_v2/keyboard.json b/keyboards/ocean/wang_v2/keyboard.json
index 6e80932ce2..c5913f25b2 100644
--- a/keyboards/ocean/wang_v2/keyboard.json
+++ b/keyboards/ocean/wang_v2/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Wang V2",
"manufacturer": "Ocean",
- "url": "",
"maintainer": "Ocean",
"usb": {
"vid": "0x9624",
@@ -11,7 +10,6 @@
"features": {
"bootmagic": false,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/ocean/yuri/keyboard.json b/keyboards/ocean/yuri/keyboard.json
index 6542de2cda..ec0a7f60e2 100644
--- a/keyboards/ocean/yuri/keyboard.json
+++ b/keyboards/ocean/yuri/keyboard.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/odelia/keyboard.json b/keyboards/odelia/keyboard.json
index 3c187b5c18..373fea5f06 100644
--- a/keyboards/odelia/keyboard.json
+++ b/keyboards/odelia/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Odelia",
"manufacturer": "InterpolKeeb",
- "url": "",
"maintainer": "kb-elmo",
"usb": {
"vid": "0x6BE3",
@@ -11,7 +10,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false
diff --git a/keyboards/ogre/ergo_single/keyboard.json b/keyboards/ogre/ergo_single/keyboard.json
index 3ebd88b0d2..a79046cdae 100644
--- a/keyboards/ogre/ergo_single/keyboard.json
+++ b/keyboards/ogre/ergo_single/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Ogre Ergo Single",
"manufacturer": "ctrlshiftba",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0xFEED",
@@ -11,7 +10,6 @@
"features": {
"bootmagic": false,
"command": false,
- "console": false,
"extrakey": false,
"mousekey": false,
"nkro": false,
diff --git a/keyboards/ogre/ergo_split/keyboard.json b/keyboards/ogre/ergo_split/keyboard.json
index 4dc3caa530..fbe2204bcc 100644
--- a/keyboards/ogre/ergo_split/keyboard.json
+++ b/keyboards/ogre/ergo_split/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Ogre Ergo Split",
"manufacturer": "ctrlshiftba",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0xFEED",
@@ -11,7 +10,6 @@
"features": {
"bootmagic": false,
"command": false,
- "console": false,
"extrakey": false,
"mousekey": false,
"nkro": false,
diff --git a/keyboards/ok60/keyboard.json b/keyboards/ok60/keyboard.json
index 5cf55b666d..7aea8463d8 100644
--- a/keyboards/ok60/keyboard.json
+++ b/keyboards/ok60/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "OK60",
"manufacturer": "OK60",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0x4B36",
@@ -12,7 +11,6 @@
"backlight": true,
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/omkbd/ergodash/mini/keyboard.json b/keyboards/omkbd/ergodash/mini/keyboard.json
index 7c15c4f6f7..ea12ea5a9e 100644
--- a/keyboards/omkbd/ergodash/mini/keyboard.json
+++ b/keyboards/omkbd/ergodash/mini/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "ErgoDash Mini",
"manufacturer": "Omkbd",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0xFEED",
diff --git a/keyboards/omkbd/ergodash/rev1/keyboard.json b/keyboards/omkbd/ergodash/rev1/keyboard.json
index 6a61950ba6..a25610be9c 100644
--- a/keyboards/omkbd/ergodash/rev1/keyboard.json
+++ b/keyboards/omkbd/ergodash/rev1/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "ErgoDash rev1.2",
"manufacturer": "Omkbd",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0xFEED",
diff --git a/keyboards/omkbd/runner3680/3x6/keyboard.json b/keyboards/omkbd/runner3680/3x6/keyboard.json
index 44c5ce35a0..4b8c71a156 100644
--- a/keyboards/omkbd/runner3680/3x6/keyboard.json
+++ b/keyboards/omkbd/runner3680/3x6/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "runner3680 3x6",
"manufacturer": "Omkbd",
- "url": "",
"maintainer": "omkbd",
"usb": {
"vid": "0xFEED",
diff --git a/keyboards/omkbd/runner3680/3x7/keyboard.json b/keyboards/omkbd/runner3680/3x7/keyboard.json
index 8a4c55ca71..974147f732 100644
--- a/keyboards/omkbd/runner3680/3x7/keyboard.json
+++ b/keyboards/omkbd/runner3680/3x7/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "runner3680 3x7",
"manufacturer": "Omkbd",
- "url": "",
"maintainer": "omkbd",
"usb": {
"vid": "0xFEED",
diff --git a/keyboards/omkbd/runner3680/3x8/keyboard.json b/keyboards/omkbd/runner3680/3x8/keyboard.json
index 11fe738a8a..04fadf854b 100644
--- a/keyboards/omkbd/runner3680/3x8/keyboard.json
+++ b/keyboards/omkbd/runner3680/3x8/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "runner3680 3x8",
"manufacturer": "Omkbd",
- "url": "",
"maintainer": "omkbd",
"usb": {
"vid": "0xFEED",
diff --git a/keyboards/omkbd/runner3680/4x6/keyboard.json b/keyboards/omkbd/runner3680/4x6/keyboard.json
index 2449f3431e..7f8ecd0239 100644
--- a/keyboards/omkbd/runner3680/4x6/keyboard.json
+++ b/keyboards/omkbd/runner3680/4x6/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "runner3680 4x6",
"manufacturer": "Omkbd",
- "url": "",
"maintainer": "omkbd",
"usb": {
"vid": "0xFEED",
diff --git a/keyboards/omkbd/runner3680/4x7/keyboard.json b/keyboards/omkbd/runner3680/4x7/keyboard.json
index 01acfad1e7..5bee706192 100644
--- a/keyboards/omkbd/runner3680/4x7/keyboard.json
+++ b/keyboards/omkbd/runner3680/4x7/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "runner3680 4x7",
"manufacturer": "Omkbd",
- "url": "",
"maintainer": "omkbd",
"usb": {
"vid": "0xFEED",
diff --git a/keyboards/omkbd/runner3680/4x8/keyboard.json b/keyboards/omkbd/runner3680/4x8/keyboard.json
index 748fc05508..e9142eec3d 100644
--- a/keyboards/omkbd/runner3680/4x8/keyboard.json
+++ b/keyboards/omkbd/runner3680/4x8/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "runner3680 4x8",
"manufacturer": "Omkbd",
- "url": "",
"maintainer": "omkbd",
"usb": {
"vid": "0xFEED",
diff --git a/keyboards/omkbd/runner3680/5x6/keyboard.json b/keyboards/omkbd/runner3680/5x6/keyboard.json
index 9b043c7e19..5d2d22d7fa 100644
--- a/keyboards/omkbd/runner3680/5x6/keyboard.json
+++ b/keyboards/omkbd/runner3680/5x6/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "runner3680 5x6",
"manufacturer": "Omkbd",
- "url": "",
"maintainer": "omkbd",
"usb": {
"vid": "0xFEED",
diff --git a/keyboards/omkbd/runner3680/5x6_5x8/keyboard.json b/keyboards/omkbd/runner3680/5x6_5x8/keyboard.json
index b8a361f1b2..2d912a1445 100644
--- a/keyboards/omkbd/runner3680/5x6_5x8/keyboard.json
+++ b/keyboards/omkbd/runner3680/5x6_5x8/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "runner3680 5x6+5x8",
"manufacturer": "Omkbd",
- "url": "",
"maintainer": "omkbd",
"usb": {
"vid": "0x3680",
diff --git a/keyboards/omkbd/runner3680/5x7/keyboard.json b/keyboards/omkbd/runner3680/5x7/keyboard.json
index 41df797770..41de1f80f5 100644
--- a/keyboards/omkbd/runner3680/5x7/keyboard.json
+++ b/keyboards/omkbd/runner3680/5x7/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "runner3680 5x7",
"manufacturer": "Omkbd",
- "url": "",
"maintainer": "omkbd",
"usb": {
"vid": "0xFEED",
diff --git a/keyboards/omkbd/runner3680/5x8/keyboard.json b/keyboards/omkbd/runner3680/5x8/keyboard.json
index 04294371d7..11857942b8 100644
--- a/keyboards/omkbd/runner3680/5x8/keyboard.json
+++ b/keyboards/omkbd/runner3680/5x8/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "runner3680 5x8",
"manufacturer": "Omkbd",
- "url": "",
"maintainer": "omkbd",
"usb": {
"vid": "0xFEED",
diff --git a/keyboards/omnikeyish/dynamic_macro.c b/keyboards/omnikeyish/dynamic_macro.c
index b990a09a13..99b6d173b8 100644
--- a/keyboards/omnikeyish/dynamic_macro.c
+++ b/keyboards/omnikeyish/dynamic_macro.c
@@ -1,5 +1,6 @@
#include "omnikeyish.h"
#include <string.h>
+#include "eeprom.h"
dynamic_macro_t dynamic_macros[DYNAMIC_MACRO_COUNT];
diff --git a/keyboards/onekeyco/dango40/keyboard.json b/keyboards/onekeyco/dango40/keyboard.json
index 8a41f25325..5ff823a981 100644
--- a/keyboards/onekeyco/dango40/keyboard.json
+++ b/keyboards/onekeyco/dango40/keyboard.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"encoder": true,
"extrakey": true,
"mousekey": true,
diff --git a/keyboards/orange75/keyboard.json b/keyboards/orange75/keyboard.json
index a0ef819651..7da52e2795 100644
--- a/keyboards/orange75/keyboard.json
+++ b/keyboards/orange75/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Orange75",
"manufacturer": "Fox-Lab",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0xFEEB",
@@ -12,7 +11,6 @@
"backlight": true,
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/org60/keyboard.json b/keyboards/org60/keyboard.json
index 2586d16b08..e0a735d2d9 100644
--- a/keyboards/org60/keyboard.json
+++ b/keyboards/org60/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Org60",
"manufacturer": "\u5927\u6a58\u5b50\u5916\u8bbe (Large orange peripherals)",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0xFEED",
@@ -12,7 +11,6 @@
"backlight": true,
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/ortho5by12/keyboard.json b/keyboards/ortho5by12/keyboard.json
index 5bcd1e00fc..cb0fec114c 100644
--- a/keyboards/ortho5by12/keyboard.json
+++ b/keyboards/ortho5by12/keyboard.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": false
diff --git a/keyboards/orthograph/keyboard.json b/keyboards/orthograph/keyboard.json
index a3fbf634e5..7215a133d5 100644
--- a/keyboards/orthograph/keyboard.json
+++ b/keyboards/orthograph/keyboard.json
@@ -17,7 +17,6 @@
"rgb_matrix": true,
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/owlab/jelly_epoch/hotswap/keyboard.json b/keyboards/owlab/jelly_epoch/hotswap/keyboard.json
index 38db4c965b..a92fa1212b 100644
--- a/keyboards/owlab/jelly_epoch/hotswap/keyboard.json
+++ b/keyboards/owlab/jelly_epoch/hotswap/keyboard.json
@@ -12,7 +12,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false,
diff --git a/keyboards/owlab/jelly_epoch/soldered/keyboard.json b/keyboards/owlab/jelly_epoch/soldered/keyboard.json
index 5a12cdf0e9..29a963b1b9 100644
--- a/keyboards/owlab/jelly_epoch/soldered/keyboard.json
+++ b/keyboards/owlab/jelly_epoch/soldered/keyboard.json
@@ -12,7 +12,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false,
diff --git a/keyboards/owlab/jelly_evolv/info.json b/keyboards/owlab/jelly_evolv/info.json
index 999bcca477..cd67a95a8d 100644
--- a/keyboards/owlab/jelly_evolv/info.json
+++ b/keyboards/owlab/jelly_evolv/info.json
@@ -1,6 +1,5 @@
{
"manufacturer": "OwLab",
- "url": "",
"maintainer": "Owlab",
"usb": {
"vid": "0x4F53"
diff --git a/keyboards/owlab/spring/keyboard.json b/keyboards/owlab/spring/keyboard.json
index 7dcb6ec717..8716d2f80f 100644
--- a/keyboards/owlab/spring/keyboard.json
+++ b/keyboards/owlab/spring/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Spring",
"manufacturer": "OwLab",
- "url": "",
"maintainer": "OwLab",
"usb": {
"vid": "0x4F53",
@@ -12,7 +11,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/owlab/suit80/ansi/keyboard.json b/keyboards/owlab/suit80/ansi/keyboard.json
index 22bf9f78cd..00f54e6656 100644
--- a/keyboards/owlab/suit80/ansi/keyboard.json
+++ b/keyboards/owlab/suit80/ansi/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Suit80 ANSI",
"manufacturer": "OwLab",
- "url": "",
"maintainer": "Owlab",
"usb": {
"vid": "0x4F53",
@@ -12,7 +11,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/owlab/suit80/iso/keyboard.json b/keyboards/owlab/suit80/iso/keyboard.json
index 87e95e9bee..f3c6afb79c 100644
--- a/keyboards/owlab/suit80/iso/keyboard.json
+++ b/keyboards/owlab/suit80/iso/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Suit80 ISO",
"manufacturer": "OwLab",
- "url": "",
"maintainer": "Owlab",
"usb": {
"vid": "0x4F53",
@@ -12,7 +11,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/owlab/voice65/hotswap/keyboard.json b/keyboards/owlab/voice65/hotswap/keyboard.json
index 088cde4001..e85d4b69ec 100644
--- a/keyboards/owlab/voice65/hotswap/keyboard.json
+++ b/keyboards/owlab/voice65/hotswap/keyboard.json
@@ -67,7 +67,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"encoder": true,
"extrakey": true,
"mousekey": true,
diff --git a/keyboards/owlab/voice65/soldered/keyboard.json b/keyboards/owlab/voice65/soldered/keyboard.json
index 7aab520f76..a1de099f43 100644
--- a/keyboards/owlab/voice65/soldered/keyboard.json
+++ b/keyboards/owlab/voice65/soldered/keyboard.json
@@ -67,7 +67,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"encoder": true,
"extrakey": true,
"mousekey": true,
diff --git a/keyboards/p3d/eu_isolation/keyboard.json b/keyboards/p3d/eu_isolation/keyboard.json
index 715515c42d..c8f305a131 100644
--- a/keyboards/p3d/eu_isolation/keyboard.json
+++ b/keyboards/p3d/eu_isolation/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "EU ISOlation",
"manufacturer": "TuckTuckFloof",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0xFEED",
diff --git a/keyboards/p3d/glitch/keyboard.json b/keyboards/p3d/glitch/keyboard.json
index 5de1405f4f..7dd6eff6f0 100644
--- a/keyboards/p3d/glitch/keyboard.json
+++ b/keyboards/p3d/glitch/keyboard.json
@@ -12,7 +12,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"encoder": true,
"extrakey": true,
"mousekey": true,
diff --git a/keyboards/p3d/q4z/keyboard.json b/keyboards/p3d/q4z/keyboard.json
index 9dfa123c6c..6e5ef8bd80 100644
--- a/keyboards/p3d/q4z/keyboard.json
+++ b/keyboards/p3d/q4z/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "q4z",
"manufacturer": "drmmr",
- "url": "",
"maintainer": "rjboone",
"usb": {
"vid": "0x0001",
@@ -11,7 +10,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/p3d/spacey/keyboard.json b/keyboards/p3d/spacey/keyboard.json
index ed23c327ad..e3f1350a83 100644
--- a/keyboards/p3d/spacey/keyboard.json
+++ b/keyboards/p3d/spacey/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "spacey",
"manufacturer": "vanilla",
- "url": "",
"maintainer": "vanilla",
"usb": {
"vid": "0x5641",
@@ -11,7 +10,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"encoder": true,
"extrakey": true,
"mousekey": true,
diff --git a/keyboards/p3d/synapse/keyboard.json b/keyboards/p3d/synapse/keyboard.json
index accd9ad47e..4cb0f84382 100644
--- a/keyboards/p3d/synapse/keyboard.json
+++ b/keyboards/p3d/synapse/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "synapse",
"manufacturer": "drmmr",
- "url": "",
"maintainer": "qpockets",
"usb": {
"vid": "0x7170",
@@ -11,7 +10,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"encoder": true,
"extrakey": true,
"mousekey": true,
diff --git a/keyboards/p3d/tw40/keyboard.json b/keyboards/p3d/tw40/keyboard.json
index 459e187533..d5a6ac3292 100644
--- a/keyboards/p3d/tw40/keyboard.json
+++ b/keyboards/p3d/tw40/keyboard.json
@@ -29,7 +29,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false,
diff --git a/keyboards/pabile/p18/keyboard.json b/keyboards/pabile/p18/keyboard.json
index 4bc6047ec0..5c3bc11fd6 100644
--- a/keyboards/pabile/p18/keyboard.json
+++ b/keyboards/pabile/p18/keyboard.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": false,
"command": false,
- "console": false,
"encoder": true,
"extrakey": true,
"mousekey": true,
diff --git a/keyboards/pabile/p20/info.json b/keyboards/pabile/p20/info.json
index 2584130637..0bac40f010 100644
--- a/keyboards/pabile/p20/info.json
+++ b/keyboards/pabile/p20/info.json
@@ -1,6 +1,5 @@
{
"manufacturer": "Pabile",
- "url": "",
"maintainer": "pabile",
"usb": {
"vid": "0x6666",
diff --git a/keyboards/pabile/p20/ver1/keyboard.json b/keyboards/pabile/p20/ver1/keyboard.json
index e909617faa..1a97045691 100644
--- a/keyboards/pabile/p20/ver1/keyboard.json
+++ b/keyboards/pabile/p20/ver1/keyboard.json
@@ -6,7 +6,6 @@
"features": {
"bootmagic": false,
"command": false,
- "console": false,
"encoder": true,
"extrakey": true,
"mousekey": true,
diff --git a/keyboards/pabile/p20/ver2/keyboard.json b/keyboards/pabile/p20/ver2/keyboard.json
index b6688d870e..a69c7b14a1 100644
--- a/keyboards/pabile/p20/ver2/keyboard.json
+++ b/keyboards/pabile/p20/ver2/keyboard.json
@@ -6,7 +6,6 @@
"features": {
"bootmagic": false,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false,
diff --git a/keyboards/pabile/p40/keyboard.json b/keyboards/pabile/p40/keyboard.json
index 980da54a06..4eedf0e7a8 100644
--- a/keyboards/pabile/p40/keyboard.json
+++ b/keyboards/pabile/p40/keyboard.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": false,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/pabile/p40_ortho/keyboard.json b/keyboards/pabile/p40_ortho/keyboard.json
index 305c0ad331..cea0e6fb36 100644
--- a/keyboards/pabile/p40_ortho/keyboard.json
+++ b/keyboards/pabile/p40_ortho/keyboard.json
@@ -10,7 +10,6 @@
"features": {
"bootmagic": false,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/pabile/p42/keyboard.json b/keyboards/pabile/p42/keyboard.json
index 70dcb09744..4c16123bd6 100644
--- a/keyboards/pabile/p42/keyboard.json
+++ b/keyboards/pabile/p42/keyboard.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": false,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/panc40/keyboard.json b/keyboards/panc40/keyboard.json
index fe98da7f2e..4c89f6132f 100644
--- a/keyboards/panc40/keyboard.json
+++ b/keyboards/panc40/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Panc40",
"manufacturer": "Panc Interactive",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0xFEED",
@@ -31,7 +30,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/panc60/keyboard.json b/keyboards/panc60/keyboard.json
index e0f3a491c8..5dbfe257e9 100644
--- a/keyboards/panc60/keyboard.json
+++ b/keyboards/panc60/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Panc60",
"manufacturer": "Panc Interactive",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0x20A0",
@@ -12,7 +11,6 @@
"backlight": true,
"bootmagic": false,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false,
diff --git a/keyboards/pangorin/tan67/keyboard.json b/keyboards/pangorin/tan67/keyboard.json
index 5b36fd7a40..aef7b60765 100644
--- a/keyboards/pangorin/tan67/keyboard.json
+++ b/keyboards/pangorin/tan67/keyboard.json
@@ -18,7 +18,6 @@
"bootmagic": true,
"mousekey": false,
"extrakey": true,
- "console": false,
"command": false,
"nkro": true,
"rgb_matrix": true
diff --git a/keyboards/papercranekeyboards/gerald65/keyboard.json b/keyboards/papercranekeyboards/gerald65/keyboard.json
index 255727d508..dd57037b02 100644
--- a/keyboards/papercranekeyboards/gerald65/keyboard.json
+++ b/keyboards/papercranekeyboards/gerald65/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "gerald65",
"manufacturer": "PaperCraneKeyboards",
- "url": "",
"maintainer": "PaperCraneKeyboards",
"usb": {
"vid": "0x5012",
@@ -11,7 +10,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false
diff --git a/keyboards/paprikman/albacore/keyboard.json b/keyboards/paprikman/albacore/keyboard.json
index 1ee4b998f7..579b4b37e3 100644
--- a/keyboards/paprikman/albacore/keyboard.json
+++ b/keyboards/paprikman/albacore/keyboard.json
@@ -19,7 +19,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": false,
diff --git a/keyboards/parallel/parallel_65/hotswap/keyboard.json b/keyboards/parallel/parallel_65/hotswap/keyboard.json
index 8b1e31191f..f9ce4752bc 100644
--- a/keyboards/parallel/parallel_65/hotswap/keyboard.json
+++ b/keyboards/parallel/parallel_65/hotswap/keyboard.json
@@ -10,7 +10,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false
diff --git a/keyboards/parallel/parallel_65/soldered/keyboard.json b/keyboards/parallel/parallel_65/soldered/keyboard.json
index 2e8d049dbf..d854960f68 100644
--- a/keyboards/parallel/parallel_65/soldered/keyboard.json
+++ b/keyboards/parallel/parallel_65/soldered/keyboard.json
@@ -10,7 +10,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false
diff --git a/keyboards/pauperboards/brick/keyboard.json b/keyboards/pauperboards/brick/keyboard.json
index 8ebe32ded4..53678f0f40 100644
--- a/keyboards/pauperboards/brick/keyboard.json
+++ b/keyboards/pauperboards/brick/keyboard.json
@@ -18,7 +18,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
@@ -35,7 +34,6 @@
},
"rgblight": {
"led_count": 8,
- "hue_steps": 8,
"brightness_steps": 8,
"saturation_steps": 8,
"animations": {
diff --git a/keyboards/pdxkbc/keyboard.json b/keyboards/pdxkbc/keyboard.json
index 642adc0878..7921c67190 100644
--- a/keyboards/pdxkbc/keyboard.json
+++ b/keyboards/pdxkbc/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "pdxkbc",
"manufacturer": "Franklin Harding",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0x5044",
diff --git a/keyboards/pearl/keyboard.json b/keyboards/pearl/keyboard.json
index 60c5bb3a37..c839c54e19 100644
--- a/keyboards/pearl/keyboard.json
+++ b/keyboards/pearl/keyboard.json
@@ -11,7 +11,6 @@
"backlight": true,
"bootmagic": false,
"command": true,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": false,
diff --git a/keyboards/pearlboards/atlas/keyboard.json b/keyboards/pearlboards/atlas/keyboard.json
index 6886885e03..ea9f86ec51 100644
--- a/keyboards/pearlboards/atlas/keyboard.json
+++ b/keyboards/pearlboards/atlas/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Atlas",
"manufacturer": "Koobaczech",
- "url": "",
"maintainer": "Koobaczech",
"usb": {
"vid": "0x6963",
diff --git a/keyboards/pearlboards/pandora/keyboard.json b/keyboards/pearlboards/pandora/keyboard.json
index 670aa6f75a..5cedcaa630 100644
--- a/keyboards/pearlboards/pandora/keyboard.json
+++ b/keyboards/pearlboards/pandora/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Pandora",
"manufacturer": "Koobaczech",
- "url": "",
"maintainer": "Koobaczech",
"usb": {
"vid": "0x6963",
@@ -14,7 +13,6 @@
"features": {
"bootmagic": false,
"command": false,
- "console": false,
"dip_switch": true,
"encoder": true,
"extrakey": true,
diff --git a/keyboards/pearlboards/pearl/keyboard.json b/keyboards/pearlboards/pearl/keyboard.json
index e91192475f..3f35aec006 100644
--- a/keyboards/pearlboards/pearl/keyboard.json
+++ b/keyboards/pearlboards/pearl/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Pearl",
"manufacturer": "Koobaczech",
- "url": "",
"maintainer": "Koobaczech",
"usb": {
"vid": "0x6963",
diff --git a/keyboards/pearlboards/zeus/keyboard.json b/keyboards/pearlboards/zeus/keyboard.json
index 9a3e7ead5f..72751a5fec 100644
--- a/keyboards/pearlboards/zeus/keyboard.json
+++ b/keyboards/pearlboards/zeus/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Zeus",
"manufacturer": "Koobaczech",
- "url": "",
"maintainer": "Koobaczech",
"usb": {
"vid": "0x6963",
diff --git a/keyboards/pearlboards/zeuspad/keyboard.json b/keyboards/pearlboards/zeuspad/keyboard.json
index 93e1e64433..686636f427 100644
--- a/keyboards/pearlboards/zeuspad/keyboard.json
+++ b/keyboards/pearlboards/zeuspad/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Zeuspad",
"manufacturer": "Koobaczech",
- "url": "",
"maintainer": "Koobaczech",
"usb": {
"vid": "0x6963",
@@ -14,7 +13,6 @@
"features": {
"bootmagic": false,
"command": false,
- "console": false,
"encoder": true,
"extrakey": true,
"mousekey": true,
diff --git a/keyboards/peej/lumberjack/keyboard.json b/keyboards/peej/lumberjack/keyboard.json
index c94cb008be..79dc4e4b22 100644
--- a/keyboards/peej/lumberjack/keyboard.json
+++ b/keyboards/peej/lumberjack/keyboard.json
@@ -12,7 +12,6 @@
"features": {
"bootmagic": false,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false
diff --git a/keyboards/peej/tripel/info.json b/keyboards/peej/tripel/info.json
index 8e357205f9..7a5c12461a 100644
--- a/keyboards/peej/tripel/info.json
+++ b/keyboards/peej/tripel/info.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": false,
"command": true,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": true
diff --git a/keyboards/pegasus/keyboard.json b/keyboards/pegasus/keyboard.json
index 4de1631379..50579bf86a 100644
--- a/keyboards/pegasus/keyboard.json
+++ b/keyboards/pegasus/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Pegasus",
"manufacturer": "melonbred",
- "url": "",
"maintainer": "melonbred",
"usb": {
"vid": "0xFEED",
@@ -11,7 +10,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"encoder": true,
"extrakey": true,
"mousekey": false,
diff --git a/keyboards/percent/booster/keyboard.json b/keyboards/percent/booster/keyboard.json
index edd9afd18d..82701646ff 100644
--- a/keyboards/percent/booster/keyboard.json
+++ b/keyboards/percent/booster/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Booster",
"manufacturer": "Percent Studio",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0x5053",
diff --git a/keyboards/percent/canoe/keyboard.json b/keyboards/percent/canoe/keyboard.json
index 656f73f904..354b1164d9 100644
--- a/keyboards/percent/canoe/keyboard.json
+++ b/keyboards/percent/canoe/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "CANOE",
"manufacturer": "Percent Studios",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0x5053",
@@ -12,7 +11,6 @@
"backlight": true,
"bootmagic": true,
"command": true,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": false,
diff --git a/keyboards/percent/canoe_gen2/keyboard.json b/keyboards/percent/canoe_gen2/keyboard.json
index 85fbfd28b9..b6a8a47a5f 100644
--- a/keyboards/percent/canoe_gen2/keyboard.json
+++ b/keyboards/percent/canoe_gen2/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Canoe Gen2",
"manufacturer": "Percent Studio",
- "url": "",
"maintainer": "evyd13",
"usb": {
"vid": "0x9C12",
diff --git a/keyboards/percent/skog/keyboard.json b/keyboards/percent/skog/keyboard.json
index 823c1638ac..da210410ef 100644
--- a/keyboards/percent/skog/keyboard.json
+++ b/keyboards/percent/skog/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Skog TKL",
"manufacturer": "Percent Studios",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0x5053",
@@ -12,7 +11,6 @@
"backlight": true,
"bootmagic": true,
"command": true,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": false,
diff --git a/keyboards/percent/skog_lite/keyboard.json b/keyboards/percent/skog_lite/keyboard.json
index e52d910845..f1e925d2ea 100644
--- a/keyboards/percent/skog_lite/keyboard.json
+++ b/keyboards/percent/skog_lite/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Skog Lite",
"manufacturer": "Percent Studios",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0x5053",
@@ -12,7 +11,6 @@
"backlight": true,
"bootmagic": false,
"command": true,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false,
diff --git a/keyboards/phantom/keyboard.json b/keyboards/phantom/keyboard.json
index 6f2b99b2b1..79d94cce6e 100644
--- a/keyboards/phantom/keyboard.json
+++ b/keyboards/phantom/keyboard.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": true,
"command": true,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/phase_studio/titan65/hotswap/keyboard.json b/keyboards/phase_studio/titan65/hotswap/keyboard.json
index 956f508701..c9d1b0f726 100644
--- a/keyboards/phase_studio/titan65/hotswap/keyboard.json
+++ b/keyboards/phase_studio/titan65/hotswap/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Titan 65 (hotswap)",
"manufacturer": "Phase Studio",
- "url": "",
"maintainer": "drashna",
"usb": {
"vid": "0x5054",
diff --git a/keyboards/phase_studio/titan65/soldered/keyboard.json b/keyboards/phase_studio/titan65/soldered/keyboard.json
index c60c689932..8bb0f6f19c 100644
--- a/keyboards/phase_studio/titan65/soldered/keyboard.json
+++ b/keyboards/phase_studio/titan65/soldered/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Titan 65 (soldered)",
"manufacturer": "Phase Studio",
- "url": "",
"maintainer": "drashna",
"usb": {
"vid": "0x5054",
diff --git a/keyboards/phdesign/phac/keyboard.json b/keyboards/phdesign/phac/keyboard.json
index 660cf6c2ad..615232791f 100644
--- a/keyboards/phdesign/phac/keyboard.json
+++ b/keyboards/phdesign/phac/keyboard.json
@@ -12,7 +12,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"encoder": true,
"extrakey": true,
"mousekey": true,
@@ -24,7 +23,6 @@
]
},
"processor": "RP2040",
- "url": "",
"usb": {
"device_version": "2.2.0",
"pid": "0x0001",
diff --git a/keyboards/phentech/rpk_001/keyboard.json b/keyboards/phentech/rpk_001/keyboard.json
index 0ce2993897..ce822295b2 100644
--- a/keyboards/phentech/rpk_001/keyboard.json
+++ b/keyboards/phentech/rpk_001/keyboard.json
@@ -2,7 +2,6 @@
"manufacturer": "HENGCANG ELECTRONIC",
"keyboard_name": "RPK-001",
"maintainer": "JoyLee",
- "url": "",
"processor": "WB32FQ95",
"bootloader": "wb32-dfu",
"usb": {
diff --git a/keyboards/phrygian/ph100/keyboard.json b/keyboards/phrygian/ph100/keyboard.json
index 3d0c611862..927b31e797 100644
--- a/keyboards/phrygian/ph100/keyboard.json
+++ b/keyboards/phrygian/ph100/keyboard.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/piantoruv44/keyboard.json b/keyboards/piantoruv44/keyboard.json
index e2374dca6d..96267e18e8 100644
--- a/keyboards/piantoruv44/keyboard.json
+++ b/keyboards/piantoruv44/keyboard.json
@@ -9,7 +9,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/pica40/rev1/keyboard.json b/keyboards/pica40/rev1/keyboard.json
index fdb4cb09b3..2f4e15aaa1 100644
--- a/keyboards/pica40/rev1/keyboard.json
+++ b/keyboards/pica40/rev1/keyboard.json
@@ -9,7 +9,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"mousekey": true,
"extrakey": true,
"encoder": true,
diff --git a/keyboards/pica40/rev2/keyboard.json b/keyboards/pica40/rev2/keyboard.json
index 64b043f274..52cc64f39e 100644
--- a/keyboards/pica40/rev2/keyboard.json
+++ b/keyboards/pica40/rev2/keyboard.json
@@ -15,7 +15,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"mousekey": true,
"extrakey": true,
"encoder": true,
diff --git a/keyboards/picolab/frusta_fundamental/keyboard.json b/keyboards/picolab/frusta_fundamental/keyboard.json
index 56c145e03c..b171e59318 100644
--- a/keyboards/picolab/frusta_fundamental/keyboard.json
+++ b/keyboards/picolab/frusta_fundamental/keyboard.json
@@ -31,7 +31,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/pimentoso/paddino02/rev1/keyboard.json b/keyboards/pimentoso/paddino02/rev1/keyboard.json
index 74f11ab7ad..37cbd3cd73 100644
--- a/keyboards/pimentoso/paddino02/rev1/keyboard.json
+++ b/keyboards/pimentoso/paddino02/rev1/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Paddino02 rev1",
"manufacturer": "Pimentoso",
- "url": "",
"maintainer": "Pimentoso",
"usb": {
"vid": "0xD00D",
@@ -11,7 +10,6 @@
"features": {
"bootmagic": false,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/pimentoso/paddino02/rev2/left/keyboard.json b/keyboards/pimentoso/paddino02/rev2/left/keyboard.json
index 8ba456e29e..86aa9c91ac 100644
--- a/keyboards/pimentoso/paddino02/rev2/left/keyboard.json
+++ b/keyboards/pimentoso/paddino02/rev2/left/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Paddino02 rev2 (left)",
"manufacturer": "Pimentoso",
- "url": "",
"maintainer": "Pimentoso",
"usb": {
"vid": "0xD00D",
@@ -11,7 +10,6 @@
"features": {
"bootmagic": false,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/pimentoso/paddino02/rev2/right/keyboard.json b/keyboards/pimentoso/paddino02/rev2/right/keyboard.json
index 4da270119b..f43ced53e8 100644
--- a/keyboards/pimentoso/paddino02/rev2/right/keyboard.json
+++ b/keyboards/pimentoso/paddino02/rev2/right/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Paddino02 rev2 (right)",
"manufacturer": "Pimentoso",
- "url": "",
"maintainer": "Pimentoso",
"usb": {
"vid": "0xD00D",
@@ -11,7 +10,6 @@
"features": {
"bootmagic": false,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/pimentoso/touhoupad/keyboard.json b/keyboards/pimentoso/touhoupad/keyboard.json
index 3e4655abfb..2deeb6d763 100644
--- a/keyboards/pimentoso/touhoupad/keyboard.json
+++ b/keyboards/pimentoso/touhoupad/keyboard.json
@@ -26,7 +26,6 @@
"features": {
"bootmagic": false,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false,
diff --git a/keyboards/pinky/3/keyboard.json b/keyboards/pinky/3/keyboard.json
index 32e1f893e5..f02b6c72d0 100644
--- a/keyboards/pinky/3/keyboard.json
+++ b/keyboards/pinky/3/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Pinky3",
"manufacturer": "tamanishi",
- "url": "",
"maintainer": "tamanishi",
"usb": {
"vid": "0x544E",
diff --git a/keyboards/pinky/4/keyboard.json b/keyboards/pinky/4/keyboard.json
index 20f86e3f38..68b1dcb14c 100644
--- a/keyboards/pinky/4/keyboard.json
+++ b/keyboards/pinky/4/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Pinky4",
"manufacturer": "tamanishi",
- "url": "",
"maintainer": "tamanishi",
"usb": {
"vid": "0x544E",
diff --git a/keyboards/pisces/keyboard.json b/keyboards/pisces/keyboard.json
index 1601cbc3a9..792ec0b48a 100644
--- a/keyboards/pisces/keyboard.json
+++ b/keyboards/pisces/keyboard.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/pixelspace/capsule65i/keyboard.json b/keyboards/pixelspace/capsule65i/keyboard.json
index f8c9dc9c1d..01210de441 100644
--- a/keyboards/pixelspace/capsule65i/keyboard.json
+++ b/keyboards/pixelspace/capsule65i/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Capsule65i",
"manufacturer": "PixelSpace",
- "url": "",
"maintainer": "PixelSpace",
"usb": {
"vid": "0xE061",
@@ -11,7 +10,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false,
diff --git a/keyboards/pixelspace/shadow80/keyboard.json b/keyboards/pixelspace/shadow80/keyboard.json
index c7c4901745..7644c9d6ac 100644
--- a/keyboards/pixelspace/shadow80/keyboard.json
+++ b/keyboards/pixelspace/shadow80/keyboard.json
@@ -3,7 +3,6 @@
"processor": "STM32F103",
"bootloader": "stm32duino",
"manufacturer": "Here VoLand",
- "url": "",
"maintainer": "Here VoLand @Vem",
"usb": {
"vid": "0x0011",
diff --git a/keyboards/pizzakeyboards/pizza65/keyboard.json b/keyboards/pizzakeyboards/pizza65/keyboard.json
index ee0a68dea5..cf5efa6281 100644
--- a/keyboards/pizzakeyboards/pizza65/keyboard.json
+++ b/keyboards/pizzakeyboards/pizza65/keyboard.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/pjb/eros/keyboard.json b/keyboards/pjb/eros/keyboard.json
index 888a6aa02c..4cca23be94 100644
--- a/keyboards/pjb/eros/keyboard.json
+++ b/keyboards/pjb/eros/keyboard.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": true,
"command": true,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false
diff --git a/keyboards/pkb65/keyboard.json b/keyboards/pkb65/keyboard.json
index d645d278b7..4a1e02fcc1 100644
--- a/keyboards/pkb65/keyboard.json
+++ b/keyboards/pkb65/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "PKB65",
"manufacturer": "MCKeebs",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0x4D43",
@@ -11,7 +10,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/planck/keymaps/default/keymap.c b/keyboards/planck/keymaps/default/keymap.c
index cc8a69ceca..c08e58653a 100644
--- a/keyboards/planck/keymaps/default/keymap.c
+++ b/keyboards/planck/keymaps/default/keymap.c
@@ -215,9 +215,9 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
if (!eeconfig_is_enabled()) {
eeconfig_init();
}
- keymap_config.raw = eeconfig_read_keymap();
+ eeconfig_read_keymap(&keymap_config);
keymap_config.nkro = 1;
- eeconfig_update_keymap(keymap_config.raw);
+ eeconfig_update_keymap(&keymap_config);
}
return false;
break;
diff --git a/keyboards/planck/rev7/keymaps/default/keymap.c b/keyboards/planck/rev7/keymaps/default/keymap.c
index 47ded8aba5..6880e2fa94 100644
--- a/keyboards/planck/rev7/keymaps/default/keymap.c
+++ b/keyboards/planck/rev7/keymaps/default/keymap.c
@@ -255,9 +255,9 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
if (!eeconfig_is_enabled()) {
eeconfig_init();
}
- keymap_config.raw = eeconfig_read_keymap();
+ eeconfig_read_keymap(&keymap_config);
keymap_config.nkro = 1;
- eeconfig_update_keymap(keymap_config.raw);
+ eeconfig_update_keymap(&keymap_config);
}
return false;
break;
diff --git a/keyboards/playkbtw/ca66/keyboard.json b/keyboards/playkbtw/ca66/keyboard.json
index d94a8d6b4d..edce25cb10 100644
--- a/keyboards/playkbtw/ca66/keyboard.json
+++ b/keyboards/playkbtw/ca66/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "CA66",
"manufacturer": "Barry",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0x5457",
@@ -12,7 +11,6 @@
"backlight": true,
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/playkbtw/helen80/keyboard.json b/keyboards/playkbtw/helen80/keyboard.json
index 47f7e48ef6..ba6c2f60df 100644
--- a/keyboards/playkbtw/helen80/keyboard.json
+++ b/keyboards/playkbtw/helen80/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Helen 80",
"manufacturer": "Play Keyboard",
- "url": "",
"maintainer": "yj7272098",
"usb": {
"vid": "0x706B",
@@ -14,7 +13,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/playkbtw/pk60/keyboard.json b/keyboards/playkbtw/pk60/keyboard.json
index 15de711ad1..68c956239b 100644
--- a/keyboards/playkbtw/pk60/keyboard.json
+++ b/keyboards/playkbtw/pk60/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "pk60",
"manufacturer": "Play Keyboard",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0xFEED",
@@ -12,7 +11,6 @@
"backlight": true,
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/playkbtw/pk64rgb/keyboard.json b/keyboards/playkbtw/pk64rgb/keyboard.json
index 81ac5be596..4bcf40315c 100644
--- a/keyboards/playkbtw/pk64rgb/keyboard.json
+++ b/keyboards/playkbtw/pk64rgb/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "PK64RGB",
"manufacturer": "Play Keyboard",
- "url": "",
"maintainer": "yj7272098",
"usb": {
"vid": "0x706B",
@@ -90,7 +89,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": true,
diff --git a/keyboards/pluckey/keyboard.json b/keyboards/pluckey/keyboard.json
index 57f6b2467f..a6cad0a56c 100644
--- a/keyboards/pluckey/keyboard.json
+++ b/keyboards/pluckey/keyboard.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"encoder": true,
"extrakey": true,
"mousekey": true,
diff --git a/keyboards/plum47/keyboard.json b/keyboards/plum47/keyboard.json
index 81b87e92db..426a062db2 100644
--- a/keyboards/plum47/keyboard.json
+++ b/keyboards/plum47/keyboard.json
@@ -7,7 +7,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/plume/plume65/keyboard.json b/keyboards/plume/plume65/keyboard.json
index 46f264e43e..f4aea13765 100644
--- a/keyboards/plume/plume65/keyboard.json
+++ b/keyboards/plume/plume65/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Plume65",
"manufacturer": "Plume Keyboards LLC",
- "url": "",
"maintainer": "evyd13",
"usb": {
"vid": "0x5D66",
@@ -29,7 +28,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": false,
diff --git a/keyboards/plut0nium/0x3e/keyboard.json b/keyboards/plut0nium/0x3e/keyboard.json
index eb0a4fbe55..d331921d80 100644
--- a/keyboards/plut0nium/0x3e/keyboard.json
+++ b/keyboards/plut0nium/0x3e/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "0x3E",
"manufacturer": "plut0nium",
- "url": "",
"maintainer": "plut0nium",
"usb": {
"vid": "0xFEED",
@@ -15,7 +14,6 @@
"backlight": true,
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": false,
diff --git a/keyboards/plx/keyboard.json b/keyboards/plx/keyboard.json
index dd47ce7037..c7a82961ec 100644
--- a/keyboards/plx/keyboard.json
+++ b/keyboards/plx/keyboard.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": false,
"mousekey": false,
"nkro": false
diff --git a/keyboards/plywrks/ahgase/keyboard.json b/keyboards/plywrks/ahgase/keyboard.json
index 9c1da6d579..9e5d8baed6 100644
--- a/keyboards/plywrks/ahgase/keyboard.json
+++ b/keyboards/plywrks/ahgase/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Ahgase",
"manufacturer": "plywrks",
- "url": "",
"maintainer": "Ramon Imbao (ramonimbao)",
"usb": {
"vid": "0x706C",
@@ -11,7 +10,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false
diff --git a/keyboards/plywrks/allaro/keyboard.json b/keyboards/plywrks/allaro/keyboard.json
index fecc15f73b..abf1b8773d 100644
--- a/keyboards/plywrks/allaro/keyboard.json
+++ b/keyboards/plywrks/allaro/keyboard.json
@@ -7,7 +7,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
@@ -17,7 +16,6 @@
"cols": ["F0", "F7", "F6", "C7", "C6", "B6", "B5", "B4", "D7", "D6", "D4", "D5", "D3", "D2", "D1"],
"rows": ["F1", "B7", "B0", "D0", "F5"]
},
- "url": "",
"usb": {
"vid": "0x706C",
"pid": "0x7903",
@@ -26,8 +24,6 @@
"rgblight": {
"led_count": 16,
"hue_steps": 10,
- "saturation_steps": 17,
- "brightness_steps": 17,
"animations": {
"alternating": true,
"breathing": true,
diff --git a/keyboards/plywrks/ji_eun/keyboard.json b/keyboards/plywrks/ji_eun/keyboard.json
index b470e29ebd..e94b3ad6b0 100644
--- a/keyboards/plywrks/ji_eun/keyboard.json
+++ b/keyboards/plywrks/ji_eun/keyboard.json
@@ -7,7 +7,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
@@ -17,7 +16,6 @@
"rows": ["D7", "B4", "B0", "D4", "D3"]
},
"processor": "atmega32u4",
- "url": "",
"usb": {
"device_version": "1.0.0",
"vid": "0x706C",
diff --git a/keyboards/plywrks/lune/keyboard.json b/keyboards/plywrks/lune/keyboard.json
index 5ec1d97c6b..7ec645b1b1 100644
--- a/keyboards/plywrks/lune/keyboard.json
+++ b/keyboards/plywrks/lune/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Lune",
"manufacturer": "plywrks",
- "url": "",
"maintainer": "ramonimbao",
"usb": {
"vid": "0x706C",
@@ -29,7 +28,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false,
diff --git a/keyboards/plywrks/ply8x/config.h b/keyboards/plywrks/ply8x/hotswap/config.h
index 3fc4de978d..3fc4de978d 100644
--- a/keyboards/plywrks/ply8x/config.h
+++ b/keyboards/plywrks/ply8x/hotswap/config.h
diff --git a/keyboards/plywrks/ply8x/halconf.h b/keyboards/plywrks/ply8x/hotswap/halconf.h
index e215e323c5..e215e323c5 100644
--- a/keyboards/plywrks/ply8x/halconf.h
+++ b/keyboards/plywrks/ply8x/hotswap/halconf.h
diff --git a/keyboards/plywrks/ply8x/hotswap/keyboard.json b/keyboards/plywrks/ply8x/hotswap/keyboard.json
new file mode 100644
index 0000000000..c4d3e9424e
--- /dev/null
+++ b/keyboards/plywrks/ply8x/hotswap/keyboard.json
@@ -0,0 +1,559 @@
+{
+ "manufacturer": "plywrks",
+ "keyboard_name": "ply8x",
+ "maintainer": "ramonimbao",
+ "bootloader": "stm32-dfu",
+ "diode_direction": "COL2ROW",
+ "features": {
+ "bootmagic": true,
+ "extrakey": true,
+ "mousekey": true,
+ "nkro": true,
+ "rgb_matrix": true
+ },
+ "matrix_pins": {
+ "rows": ["B2", "B1", "B0", "A7", "A10", "A2"],
+ "cols": ["A9", "A8", "B12", "B11", "B10", "A6", "A5", "A4", "A15", "C14", "C13", "B9", "B6", "B7", "B5", "B4", "B3"]
+ },
+ "processor": "STM32F072",
+ "usb": {
+ "device_version": "1.0.0",
+ "vid": "0x706C",
+ "pid": "0x7915"
+ },
+ "ws2812": {
+ "pin": "B15",
+ "driver": "spi"
+ },
+ "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":224, "y":37},
+ {"flags": 2, "x":224, "y":43},
+ {"flags": 2, "x":218, "y":43},
+ {"flags": 2, "x":218, "y":37},
+
+ {"flags": 2, "matrix": [0, 0], "x":0, "y": 0},
+ {"flags": 2, "matrix": [0, 2], "x":26, "y": 0},
+ {"flags": 2, "matrix": [0, 3], "x":38, "y": 0},
+ {"flags": 2, "matrix": [0, 4], "x":51, "y": 0},
+ {"flags": 2, "matrix": [0, 5], "x":64, "y": 0},
+ {"flags": 2, "matrix": [0, 6], "x":83, "y": 0},
+ {"flags": 2, "matrix": [0, 7], "x":96, "y": 0},
+ {"flags": 2, "matrix": [0, 8], "x":109, "y": 0},
+ {"flags": 2, "matrix": [0, 9], "x":122, "y": 0},
+ {"flags": 2, "matrix": [0,10], "x":141, "y": 0},
+ {"flags": 2, "matrix": [0,11], "x":154, "y": 0},
+ {"flags": 2, "matrix": [0,12], "x":166, "y": 0},
+ {"flags": 2, "matrix": [0,13], "x":179, "y": 0},
+ {"flags": 2, "matrix": [0,14], "x":195, "y": 0},
+ {"flags": 2, "matrix": [0,15], "x":208, "y": 0},
+ {"flags": 2, "matrix": [0,16], "x":221, "y": 0},
+
+ {"flags": 2, "matrix": [1, 0], "x":0, "y": 15},
+ {"flags": 2, "matrix": [1, 1], "x":13, "y": 15},
+ {"flags": 2, "matrix": [1, 2], "x":26, "y": 15},
+ {"flags": 2, "matrix": [1, 3], "x":38, "y": 15},
+ {"flags": 2, "matrix": [1, 4], "x":51, "y": 15},
+ {"flags": 2, "matrix": [1, 5], "x":64, "y": 15},
+ {"flags": 2, "matrix": [1, 6], "x":77, "y": 15},
+ {"flags": 2, "matrix": [1, 7], "x":90, "y": 15},
+ {"flags": 2, "matrix": [1, 8], "x":102, "y": 15},
+ {"flags": 2, "matrix": [1, 9], "x":115, "y": 15},
+ {"flags": 2, "matrix": [1,10], "x":128, "y": 15},
+ {"flags": 2, "matrix": [1,11], "x":141, "y": 15},
+ {"flags": 2, "matrix": [1,12], "x":154, "y": 15},
+ {"flags": 2, "matrix": [1,13], "x":166, "y": 15},
+ {"flags": 2, "matrix": [3,13], "x":179, "y": 15},
+ {"flags": 2, "matrix": [1,14], "x":195, "y": 15},
+ {"flags": 2, "matrix": [1,15], "x":208, "y": 15},
+ {"flags": 2, "matrix": [1,16], "x":221, "y": 15},
+
+ {"flags": 2, "matrix": [2, 0], "x":3, "y": 27},
+ {"flags": 2, "matrix": [2, 1], "x":19, "y": 27},
+ {"flags": 2, "matrix": [2, 2], "x":32, "y": 27},
+ {"flags": 2, "matrix": [2, 3], "x":45, "y": 27},
+ {"flags": 2, "matrix": [2, 4], "x":58, "y": 27},
+ {"flags": 2, "matrix": [2, 5], "x":70, "y": 27},
+ {"flags": 2, "matrix": [2, 6], "x":83, "y": 27},
+ {"flags": 2, "matrix": [2, 7], "x":96, "y": 27},
+ {"flags": 2, "matrix": [2, 8], "x":109, "y": 27},
+ {"flags": 2, "matrix": [2, 9], "x":122, "y": 27},
+ {"flags": 2, "matrix": [2,10], "x":134, "y": 27},
+ {"flags": 2, "matrix": [2,11], "x":147, "y": 27},
+ {"flags": 2, "matrix": [2,12], "x":160, "y": 27},
+ {"flags": 2, "matrix": [2,13], "x":176, "y": 27},
+ {"flags": 2, "matrix": [2,14], "x":195, "y": 27},
+ {"flags": 2, "matrix": [2,15], "x":208, "y": 27},
+ {"flags": 2, "matrix": [2,16], "x":221, "y": 27},
+
+ {"flags": 2, "matrix": [3, 0], "x":5, "y":40},
+ {"flags": 2, "matrix": [3, 1], "x":23, "y": 40},
+ {"flags": 2, "matrix": [3, 2], "x":36, "y": 40},
+ {"flags": 2, "matrix": [3, 3], "x":49, "y": 40},
+ {"flags": 2, "matrix": [3, 4], "x":62, "y": 40},
+ {"flags": 2, "matrix": [3, 5], "x":75, "y": 40},
+ {"flags": 2, "matrix": [3, 6], "x":88, "y": 40},
+ {"flags": 2, "matrix": [3, 7], "x":101, "y": 40},
+ {"flags": 2, "matrix": [3, 8], "x":114, "y": 40},
+ {"flags": 2, "matrix": [3, 9], "x":127, "y": 40},
+ {"flags": 2, "matrix": [3,10], "x":140, "y": 40},
+ {"flags": 2, "matrix": [3,11], "x":153, "y": 40},
+ {"flags": 2, "matrix": [3,12], "x":166, "y": 40},
+
+ {"flags": 2, "matrix": [4, 0], "x":8, "y": 52},
+ {"flags": 2, "matrix": [4, 2], "x":29, "y": 52},
+ {"flags": 2, "matrix": [4, 3], "x":42, "y": 52},
+ {"flags": 2, "matrix": [4, 4], "x":54, "y": 52},
+ {"flags": 2, "matrix": [4, 5], "x":67, "y": 52},
+ {"flags": 2, "matrix": [4, 6], "x":80, "y": 52},
+ {"flags": 2, "matrix": [4, 7], "x":93, "y": 52},
+ {"flags": 2, "matrix": [4, 8], "x":106, "y": 52},
+ {"flags": 2, "matrix": [4, 9], "x":118, "y": 52},
+ {"flags": 2, "matrix": [4,10], "x":131, "y": 52},
+ {"flags": 2, "matrix": [4,11], "x":144, "y": 52},
+ {"flags": 2, "matrix": [4,12], "x":162, "y": 52},
+ {"flags": 2, "matrix": [4,13], "x":179, "y": 52},
+ {"flags": 2, "matrix": [4,15], "x":208, "y": 52},
+
+ {"flags": 2, "matrix": [5, 0], "x":2, "y": 64},
+ {"flags": 2, "matrix": [5, 1], "x":18, "y": 64},
+ {"flags": 2, "matrix": [5, 2], "x":34, "y": 64},
+ {"flags": 2, "matrix": [5, 7], "x":82, "y": 64},
+ {"flags": 2, "matrix": [5,11], "x":146, "y": 64},
+ {"flags": 2, "matrix": [5,12], "x":162, "y": 64},
+ {"flags": 2, "matrix": [5,13], "x":178, "y": 64},
+ {"flags": 2, "matrix": [5,14], "x":195, "y": 64},
+ {"flags": 2, "matrix": [5,15], "x":208, "y": 64},
+ {"flags": 2, "matrix": [5,16], "x":221, "y": 64}
+ ]
+ },
+ "community_layouts": ["tkl_ansi_tsangan", "tkl_ansi_tsangan_split_bs_rshift", "tkl_ansi_wkl", "tkl_ansi_wkl_split_bs_rshift"],
+ "layouts": {
+ "LAYOUT_tkl_ansi_tsangan": {
+ "layout": [
+ {"matrix": [0, 0], "x":0, "y":0},
+ {"matrix": [0, 2], "x":2, "y":0},
+ {"matrix": [0, 3], "x":3, "y":0},
+ {"matrix": [0, 4], "x":4, "y":0},
+ {"matrix": [0, 5], "x":5, "y":0},
+ {"matrix": [0, 6], "x":6.5, "y":0},
+ {"matrix": [0, 7], "x":7.5, "y":0},
+ {"matrix": [0, 8], "x":8.5, "y":0},
+ {"matrix": [0, 9], "x":9.5, "y":0},
+ {"matrix": [0,10], "x":11, "y":0},
+ {"matrix": [0,11], "x":12, "y":0},
+ {"matrix": [0,12], "x":13, "y":0},
+ {"matrix": [0,13], "x":14, "y":0},
+ {"matrix": [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, "w":2},
+ {"matrix": [1,14], "x":15.25, "y":1.25},
+ {"matrix": [1,15], "x":16.25, "y":1.25},
+ {"matrix": [1,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": [2,14], "x":15.25, "y":2.25},
+ {"matrix": [2,15], "x":16.25, "y":2.25},
+ {"matrix": [2,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,12], "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, 7], "x":4, "y":5.25, "w":7},
+ {"matrix": [5,11], "x":11, "y":5.25, "w":1.5},
+ {"matrix": [5,12], "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, 2], "x":2, "y":0},
+ {"matrix": [0, 3], "x":3, "y":0},
+ {"matrix": [0, 4], "x":4, "y":0},
+ {"matrix": [0, 5], "x":5, "y":0},
+ {"matrix": [0, 6], "x":6.5, "y":0},
+ {"matrix": [0, 7], "x":7.5, "y":0},
+ {"matrix": [0, 8], "x":8.5, "y":0},
+ {"matrix": [0, 9], "x":9.5, "y":0},
+ {"matrix": [0,10], "x":11, "y":0},
+ {"matrix": [0,11], "x":12, "y":0},
+ {"matrix": [0,12], "x":13, "y":0},
+ {"matrix": [0,13], "x":14, "y":0},
+ {"matrix": [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": [3,13], "x":14, "y":1.25},
+ {"matrix": [1,14], "x":15.25, "y":1.25},
+ {"matrix": [1,15], "x":16.25, "y":1.25},
+ {"matrix": [1,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": [2,14], "x":15.25, "y":2.25},
+ {"matrix": [2,15], "x":16.25, "y":2.25},
+ {"matrix": [2,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,12], "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, 7], "x":4, "y":5.25, "w":7},
+ {"matrix": [5,11], "x":11, "y":5.25, "w":1.5},
+ {"matrix": [5,12], "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, 2], "x":2, "y":0},
+ {"matrix": [0, 3], "x":3, "y":0},
+ {"matrix": [0, 4], "x":4, "y":0},
+ {"matrix": [0, 5], "x":5, "y":0},
+ {"matrix": [0, 6], "x":6.5, "y":0},
+ {"matrix": [0, 7], "x":7.5, "y":0},
+ {"matrix": [0, 8], "x":8.5, "y":0},
+ {"matrix": [0, 9], "x":9.5, "y":0},
+ {"matrix": [0,10], "x":11, "y":0},
+ {"matrix": [0,11], "x":12, "y":0},
+ {"matrix": [0,12], "x":13, "y":0},
+ {"matrix": [0,13], "x":14, "y":0},
+ {"matrix": [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, "w":2},
+ {"matrix": [1,14], "x":15.25, "y":1.25},
+ {"matrix": [1,15], "x":16.25, "y":1.25},
+ {"matrix": [1,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": [2,14], "x":15.25, "y":2.25},
+ {"matrix": [2,15], "x":16.25, "y":2.25},
+ {"matrix": [2,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,12], "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, 7], "x":4, "y":5.25, "w":7},
+ {"matrix": [5,11], "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": [
+ {"matrix": [0, 0], "x":0, "y":0},
+ {"matrix": [0, 2], "x":2, "y":0},
+ {"matrix": [0, 3], "x":3, "y":0},
+ {"matrix": [0, 4], "x":4, "y":0},
+ {"matrix": [0, 5], "x":5, "y":0},
+ {"matrix": [0, 6], "x":6.5, "y":0},
+ {"matrix": [0, 7], "x":7.5, "y":0},
+ {"matrix": [0, 8], "x":8.5, "y":0},
+ {"matrix": [0, 9], "x":9.5, "y":0},
+ {"matrix": [0,10], "x":11, "y":0},
+ {"matrix": [0,11], "x":12, "y":0},
+ {"matrix": [0,12], "x":13, "y":0},
+ {"matrix": [0,13], "x":14, "y":0},
+ {"matrix": [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": [3,13], "x":14, "y":1.25},
+ {"matrix": [1,14], "x":15.25, "y":1.25},
+ {"matrix": [1,15], "x":16.25, "y":1.25},
+ {"matrix": [1,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": [2,14], "x":15.25, "y":2.25},
+ {"matrix": [2,15], "x":16.25, "y":2.25},
+ {"matrix": [2,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,12], "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, 7], "x":4, "y":5.25, "w":7},
+ {"matrix": [5,11], "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/plywrks/ply8x/hotswap/keymaps/default/keymap.c b/keyboards/plywrks/ply8x/hotswap/keymaps/default/keymap.c
new file mode 100644
index 0000000000..0da2588ea7
--- /dev/null
+++ b/keyboards/plywrks/ply8x/hotswap/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 │ - │ = │ Backsp│ │Ins│Hom│PgU│
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤ ├───┼───┼───┤
+ * │ Tab │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │ \ │ │Del│End│PgD│
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤ └───┴───┴───┘
+ * │ Caps │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │ Enter │
+ * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤ ┌───┐
+ * │ Shift │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │ Shift │ │ ↑ │
+ * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴───┴───┼───┴┬────┬────┤ ┌───┼───┼───┐
+ * │Ctrl│GUI │Alt │ │ Alt│ GUI│Ctrl│ │ ← │ ↓ │ → │
+ * └────┴────┴────┴─────────────────────────────┴────┴────┴────┘ └───┴───┴───┘
+ */
+ [0] = LAYOUT_tkl_ansi_tsangan(
+ KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SCRL, KC_PAUS,
+
+ KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS, KC_HOME, KC_PGUP,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN,
+ KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP,
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
+ )
+};
diff --git a/keyboards/plywrks/ply8x/mcuconf.h b/keyboards/plywrks/ply8x/hotswap/mcuconf.h
index aceb2e3dfc..aceb2e3dfc 100644
--- a/keyboards/plywrks/ply8x/mcuconf.h
+++ b/keyboards/plywrks/ply8x/hotswap/mcuconf.h
diff --git a/keyboards/plywrks/ply8x/solder/config.h b/keyboards/plywrks/ply8x/solder/config.h
new file mode 100644
index 0000000000..3fc4de978d
--- /dev/null
+++ b/keyboards/plywrks/ply8x/solder/config.h
@@ -0,0 +1,10 @@
+// Copyright 2023 Ramon Imbao (@ramonimbao)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#pragma once
+
+#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
diff --git a/keyboards/plywrks/ply8x/solder/halconf.h b/keyboards/plywrks/ply8x/solder/halconf.h
new file mode 100644
index 0000000000..e215e323c5
--- /dev/null
+++ b/keyboards/plywrks/ply8x/solder/halconf.h
@@ -0,0 +1,8 @@
+// Copyright 2023 Ramon Imbao (@ramonimbao)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#pragma once
+
+#define HAL_USE_SPI TRUE
+
+#include_next <halconf.h>
diff --git a/keyboards/plywrks/ply8x/keyboard.json b/keyboards/plywrks/ply8x/solder/keyboard.json
index 7c0717ade0..f05b34e13b 100644
--- a/keyboards/plywrks/ply8x/keyboard.json
+++ b/keyboards/plywrks/ply8x/solder/keyboard.json
@@ -7,7 +7,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
@@ -18,11 +17,10 @@
"cols": ["A9", "A8", "B12", "B11", "B10", "A6", "A5", "A4", "A15", "C13", "C14", "B9", "B7", "B6", "B5", "B4", "B3"]
},
"processor": "STM32F072",
- "url": "",
"usb": {
"device_version": "1.0.0",
- "pid": "0x7905",
- "vid": "0x706C"
+ "vid": "0x706C",
+ "pid": "0x7905"
},
"ws2812": {
"pin": "B15",
@@ -76,12 +74,106 @@
},
"driver": "ws2812",
"layout": [
- {"flags": 8, "matrix": [3, 0], "x":2, "y":27},
- {"flags": 8, "matrix": [0,15], "x":211, "y":0},
- {"flags": 2, "x":0, "y":0},
- {"flags": 2, "x":10, "y":0},
- {"flags": 2, "x":20, "y":0},
- {"flags": 2, "x":30, "y":0}
+ {"flags": 8, "matrix": [3, 0], "x":5, "y":40},
+ {"flags": 8, "matrix": [0,15], "x":208, "y":0},
+ {"flags": 2, "x":224, "y":37},
+ {"flags": 2, "x":224, "y":43},
+ {"flags": 2, "x":218, "y":43},
+ {"flags": 2, "x":218, "y":37},
+
+ {"flags": 2, "matrix": [0, 0], "x":0, "y": 0},
+ {"flags": 2, "matrix": [0, 2], "x":26, "y": 0},
+ {"flags": 2, "matrix": [0, 3], "x":38, "y": 0},
+ {"flags": 2, "matrix": [0, 4], "x":51, "y": 0},
+ {"flags": 2, "matrix": [0, 5], "x":64, "y": 0},
+ {"flags": 2, "matrix": [0, 6], "x":83, "y": 0},
+ {"flags": 2, "matrix": [0, 7], "x":96, "y": 0},
+ {"flags": 2, "matrix": [0, 8], "x":109, "y": 0},
+ {"flags": 2, "matrix": [0, 9], "x":122, "y": 0},
+ {"flags": 2, "matrix": [0,10], "x":141, "y": 0},
+ {"flags": 2, "matrix": [0,11], "x":154, "y": 0},
+ {"flags": 2, "matrix": [0,12], "x":166, "y": 0},
+ {"flags": 2, "matrix": [0,13], "x":179, "y": 0},
+ {"flags": 2, "matrix": [0,14], "x":195, "y": 0},
+ {"flags": 2, "matrix": [0,16], "x":221, "y": 0},
+
+ {"flags": 2, "matrix": [1, 0], "x":0, "y": 15},
+ {"flags": 2, "matrix": [1, 1], "x":13, "y": 15},
+ {"flags": 2, "matrix": [1, 2], "x":26, "y": 15},
+ {"flags": 2, "matrix": [1, 3], "x":38, "y": 15},
+ {"flags": 2, "matrix": [1, 4], "x":51, "y": 15},
+ {"flags": 2, "matrix": [1, 5], "x":64, "y": 15},
+ {"flags": 2, "matrix": [1, 6], "x":77, "y": 15},
+ {"flags": 2, "matrix": [1, 7], "x":90, "y": 15},
+ {"flags": 2, "matrix": [1, 8], "x":102, "y": 15},
+ {"flags": 2, "matrix": [1, 9], "x":115, "y": 15},
+ {"flags": 2, "matrix": [1,10], "x":128, "y": 15},
+ {"flags": 2, "matrix": [1,11], "x":141, "y": 15},
+ {"flags": 2, "matrix": [1,12], "x":154, "y": 15},
+ {"flags": 2, "matrix": [1,13], "x":166, "y": 15},
+ {"flags": 2, "matrix": [3,13], "x":179, "y": 15},
+ {"flags": 2, "matrix": [1,14], "x":195, "y": 15},
+ {"flags": 2, "matrix": [1,15], "x":208, "y": 15},
+ {"flags": 2, "matrix": [1,16], "x":221, "y": 15},
+
+ {"flags": 2, "matrix": [2, 0], "x":3, "y": 27},
+ {"flags": 2, "matrix": [2, 1], "x":19, "y": 27},
+ {"flags": 2, "matrix": [2, 2], "x":32, "y": 27},
+ {"flags": 2, "matrix": [2, 3], "x":45, "y": 27},
+ {"flags": 2, "matrix": [2, 4], "x":58, "y": 27},
+ {"flags": 2, "matrix": [2, 5], "x":70, "y": 27},
+ {"flags": 2, "matrix": [2, 6], "x":83, "y": 27},
+ {"flags": 2, "matrix": [2, 7], "x":96, "y": 27},
+ {"flags": 2, "matrix": [2, 8], "x":109, "y": 27},
+ {"flags": 2, "matrix": [2, 9], "x":122, "y": 27},
+ {"flags": 2, "matrix": [2,10], "x":134, "y": 27},
+ {"flags": 2, "matrix": [2,11], "x":147, "y": 27},
+ {"flags": 2, "matrix": [2,12], "x":160, "y": 27},
+ {"flags": 2, "matrix": [2,13], "x":176, "y": 27},
+ {"flags": 2, "matrix": [2,14], "x":195, "y": 27},
+ {"flags": 2, "matrix": [2,15], "x":208, "y": 27},
+ {"flags": 2, "matrix": [2,16], "x":221, "y": 27},
+
+ {"flags": 2, "matrix": [3, 1], "x":23, "y": 40},
+ {"flags": 2, "matrix": [3, 2], "x":36, "y": 40},
+ {"flags": 2, "matrix": [3, 3], "x":49, "y": 40},
+ {"flags": 2, "matrix": [3, 4], "x":62, "y": 40},
+ {"flags": 2, "matrix": [3, 5], "x":75, "y": 40},
+ {"flags": 2, "matrix": [3, 6], "x":88, "y": 40},
+ {"flags": 2, "matrix": [3, 7], "x":101, "y": 40},
+ {"flags": 2, "matrix": [3, 8], "x":114, "y": 40},
+ {"flags": 2, "matrix": [3, 9], "x":127, "y": 40},
+ {"flags": 2, "matrix": [3,10], "x":140, "y": 40},
+ {"flags": 2, "matrix": [3,11], "x":153, "y": 40},
+ {"flags": 2, "matrix": [3,12], "x":166, "y": 40},
+
+ {"flags": 2, "matrix": [4, 0], "x":2, "y": 52},
+ {"flags": 2, "matrix": [4, 1], "x":16, "y": 52},
+ {"flags": 2, "matrix": [4, 2], "x":29, "y": 52},
+ {"flags": 2, "matrix": [4, 3], "x":42, "y": 52},
+ {"flags": 2, "matrix": [4, 4], "x":54, "y": 52},
+ {"flags": 2, "matrix": [4, 5], "x":67, "y": 52},
+ {"flags": 2, "matrix": [4, 6], "x":80, "y": 52},
+ {"flags": 2, "matrix": [4, 7], "x":93, "y": 52},
+ {"flags": 2, "matrix": [4, 8], "x":106, "y": 52},
+ {"flags": 2, "matrix": [4, 9], "x":118, "y": 52},
+ {"flags": 2, "matrix": [4,10], "x":131, "y": 52},
+ {"flags": 2, "matrix": [4,11], "x":144, "y": 52},
+ {"flags": 2, "matrix": [4,12], "x":162, "y": 52},
+ {"flags": 2, "matrix": [4,13], "x":179, "y": 52},
+ {"flags": 2, "matrix": [4,15], "x":208, "y": 52},
+
+ {"flags": 2, "matrix": [5, 0], "x":2, "y": 64},
+ {"flags": 2, "matrix": [5, 1], "x":18, "y": 64},
+ {"flags": 2, "matrix": [5, 2], "x":34, "y": 64},
+ {"flags": 2, "matrix": [5, 6], "x":82, "y": 64},
+ {"flags": 2, "matrix": [5,10], "x":130, "y": 64},
+ {"flags": 2, "matrix": [5,11], "x":146, "y": 64},
+ {"flags": 2, "matrix": [5,12], "x":162, "y": 64},
+ {"flags": 2, "matrix": [5,13], "x":178, "y": 64},
+ {"flags": 2, "matrix": [5,14], "x":195, "y": 64},
+ {"flags": 2, "matrix": [5,15], "x":208, "y": 64},
+ {"flags": 2, "matrix": [5,16], "x":221, "y": 64}
]
},
"layout_aliases": {
@@ -92,11 +184,15 @@
"tkl_ansi",
"tkl_ansi_split_bs_rshift",
"tkl_ansi_tsangan",
+ "tkl_ansi_wkl",
"tkl_ansi_tsangan_split_bs_rshift",
+ "tkl_ansi_wkl_split_bs_rshift",
"tkl_iso",
"tkl_iso_split_bs_rshift",
"tkl_iso_tsangan",
- "tkl_iso_tsangan_split_bs_rshift"
+ "tkl_iso_wkl",
+ "tkl_iso_tsangan_split_bs_rshift",
+ "tkl_iso_wkl_split_bs_rshift"
],
"layouts": {
"LAYOUT_tkl_ansi": {
@@ -388,6 +484,99 @@
{"matrix": [5,16], "x":17.25, "y":5.25}
]
},
+ "LAYOUT_tkl_ansi_wkl": {
+ "layout": [
+ {"matrix": [0, 0], "x":0, "y":0},
+ {"matrix": [0, 2], "x":2, "y":0},
+ {"matrix": [0, 3], "x":3, "y":0},
+ {"matrix": [0, 4], "x":4, "y":0},
+ {"matrix": [0, 5], "x":5, "y":0},
+ {"matrix": [0, 6], "x":6.5, "y":0},
+ {"matrix": [0, 7], "x":7.5, "y":0},
+ {"matrix": [0, 8], "x":8.5, "y":0},
+ {"matrix": [0, 9], "x":9.5, "y":0},
+ {"matrix": [0,10], "x":11, "y":0},
+ {"matrix": [0,11], "x":12, "y":0},
+ {"matrix": [0,12], "x":13, "y":0},
+ {"matrix": [0,13], "x":14, "y":0},
+ {"matrix": [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, "w":2},
+ {"matrix": [1,14], "x":15.25, "y":1.25},
+ {"matrix": [1,15], "x":16.25, "y":1.25},
+ {"matrix": [1,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": [2,14], "x":15.25, "y":2.25},
+ {"matrix": [2,15], "x":16.25, "y":2.25},
+ {"matrix": [2,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,12], "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,11], "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_tsangan_split_bs_rshift": {
"layout": [
{"matrix": [0, 0], "x":0, "y":0},
@@ -485,6 +674,101 @@
{"matrix": [5,16], "x":17.25, "y":5.25}
]
},
+ "LAYOUT_tkl_ansi_wkl_split_bs_rshift": {
+ "layout": [
+ {"matrix": [0, 0], "x":0, "y":0},
+ {"matrix": [0, 2], "x":2, "y":0},
+ {"matrix": [0, 3], "x":3, "y":0},
+ {"matrix": [0, 4], "x":4, "y":0},
+ {"matrix": [0, 5], "x":5, "y":0},
+ {"matrix": [0, 6], "x":6.5, "y":0},
+ {"matrix": [0, 7], "x":7.5, "y":0},
+ {"matrix": [0, 8], "x":8.5, "y":0},
+ {"matrix": [0, 9], "x":9.5, "y":0},
+ {"matrix": [0,10], "x":11, "y":0},
+ {"matrix": [0,11], "x":12, "y":0},
+ {"matrix": [0,12], "x":13, "y":0},
+ {"matrix": [0,13], "x":14, "y":0},
+ {"matrix": [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": [3,13], "x":14, "y":1.25},
+ {"matrix": [1,14], "x":15.25, "y":1.25},
+ {"matrix": [1,15], "x":16.25, "y":1.25},
+ {"matrix": [1,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": [2,14], "x":15.25, "y":2.25},
+ {"matrix": [2,15], "x":16.25, "y":2.25},
+ {"matrix": [2,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,12], "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,11], "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_iso": {
"layout": [
{"matrix": [0, 0], "x":0, "y":0},
@@ -777,6 +1061,100 @@
{"matrix": [5,16], "x":17.25, "y":5.25}
]
},
+ "LAYOUT_tkl_iso_wkl": {
+ "layout": [
+ {"matrix": [0, 0], "x":0, "y":0},
+ {"matrix": [0, 2], "x":2, "y":0},
+ {"matrix": [0, 3], "x":3, "y":0},
+ {"matrix": [0, 4], "x":4, "y":0},
+ {"matrix": [0, 5], "x":5, "y":0},
+ {"matrix": [0, 6], "x":6.5, "y":0},
+ {"matrix": [0, 7], "x":7.5, "y":0},
+ {"matrix": [0, 8], "x":8.5, "y":0},
+ {"matrix": [0, 9], "x":9.5, "y":0},
+ {"matrix": [0,10], "x":11, "y":0},
+ {"matrix": [0,11], "x":12, "y":0},
+ {"matrix": [0,12], "x":13, "y":0},
+ {"matrix": [0,13], "x":14, "y":0},
+ {"matrix": [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, "w":2},
+ {"matrix": [1,14], "x":15.25, "y":1.25},
+ {"matrix": [1,15], "x":16.25, "y":1.25},
+ {"matrix": [1,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,14], "x":15.25, "y":2.25},
+ {"matrix": [2,15], "x":16.25, "y":2.25},
+ {"matrix": [2,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,12], "x":12.75, "y":3.25},
+ {"matrix": [2,13], "x":13.75, "y":2.25, "w":1.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},
+ {"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,11], "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_iso_tsangan_split_bs_rshift": {
"layout": [
{"matrix": [0, 0], "x":0, "y":0},
@@ -875,6 +1253,102 @@
{"matrix": [5,16], "x":17.25, "y":5.25}
]
},
+ "LAYOUT_tkl_iso_wkl_split_bs_rshift": {
+ "layout": [
+ {"matrix": [0, 0], "x":0, "y":0},
+ {"matrix": [0, 2], "x":2, "y":0},
+ {"matrix": [0, 3], "x":3, "y":0},
+ {"matrix": [0, 4], "x":4, "y":0},
+ {"matrix": [0, 5], "x":5, "y":0},
+ {"matrix": [0, 6], "x":6.5, "y":0},
+ {"matrix": [0, 7], "x":7.5, "y":0},
+ {"matrix": [0, 8], "x":8.5, "y":0},
+ {"matrix": [0, 9], "x":9.5, "y":0},
+ {"matrix": [0,10], "x":11, "y":0},
+ {"matrix": [0,11], "x":12, "y":0},
+ {"matrix": [0,12], "x":13, "y":0},
+ {"matrix": [0,13], "x":14, "y":0},
+ {"matrix": [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": [3,13], "x":14, "y":1.25},
+ {"matrix": [1,14], "x":15.25, "y":1.25},
+ {"matrix": [1,15], "x":16.25, "y":1.25},
+ {"matrix": [1,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,14], "x":15.25, "y":2.25},
+ {"matrix": [2,15], "x":16.25, "y":2.25},
+ {"matrix": [2,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,12], "x":12.75, "y":3.25},
+ {"matrix": [2,13], "x":13.75, "y":2.25, "w":1.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},
+ {"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,11], "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_all": {
"layout": [
{"matrix": [0, 0], "x":0, "y":0},
diff --git a/keyboards/plywrks/ply8x/keymaps/default/keymap.c b/keyboards/plywrks/ply8x/solder/keymaps/default/keymap.c
index 4ca5b29581..4ca5b29581 100644
--- a/keyboards/plywrks/ply8x/keymaps/default/keymap.c
+++ b/keyboards/plywrks/ply8x/solder/keymaps/default/keymap.c
diff --git a/keyboards/plywrks/ply8x/solder/mcuconf.h b/keyboards/plywrks/ply8x/solder/mcuconf.h
new file mode 100644
index 0000000000..aceb2e3dfc
--- /dev/null
+++ b/keyboards/plywrks/ply8x/solder/mcuconf.h
@@ -0,0 +1,9 @@
+// Copyright 2023 Ramon Imbao (@ramonimbao)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#pragma once
+
+#include_next <mcuconf.h>
+
+#undef STM32_SPI_USE_SPI2
+#define STM32_SPI_USE_SPI2 TRUE
diff --git a/keyboards/pmk/posey_split/v4/keyboard.json b/keyboards/pmk/posey_split/v4/keyboard.json
index e27991783d..533ba81867 100644
--- a/keyboards/pmk/posey_split/v4/keyboard.json
+++ b/keyboards/pmk/posey_split/v4/keyboard.json
@@ -11,7 +11,6 @@
"bootmagic": true,
"rgblight": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/pmk/posey_split/v5/keyboard.json b/keyboards/pmk/posey_split/v5/keyboard.json
index 02c04dbba2..341a8cd9be 100644
--- a/keyboards/pmk/posey_split/v5/keyboard.json
+++ b/keyboards/pmk/posey_split/v5/keyboard.json
@@ -11,7 +11,6 @@
"bootmagic": true,
"rgblight": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/pohjolaworks/louhi/keyboard.json b/keyboards/pohjolaworks/louhi/keyboard.json
index 90d7a96433..b0bca3e0ed 100644
--- a/keyboards/pohjolaworks/louhi/keyboard.json
+++ b/keyboards/pohjolaworks/louhi/keyboard.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"encoder": true,
"extrakey": true,
"mousekey": true,
diff --git a/keyboards/poker87c/keyboard.json b/keyboards/poker87c/keyboard.json
index ab626c8be9..02e0906562 100644
--- a/keyboards/poker87c/keyboard.json
+++ b/keyboards/poker87c/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "POKER-87C Hotswap",
"manufacturer": "mfkiiyd",
- "url": "",
"maintainer": "mfkiiyd",
"usb": {
"vid": "0x6D66",
@@ -12,7 +11,6 @@
"backlight": true,
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": false,
diff --git a/keyboards/poker87d/keyboard.json b/keyboards/poker87d/keyboard.json
index 61710aac2c..e52b5a4149 100644
--- a/keyboards/poker87d/keyboard.json
+++ b/keyboards/poker87d/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "POKER-87D Hotswap",
"manufacturer": "mfkiiyd",
- "url": "",
"maintainer": "mfkiiyd",
"usb": {
"vid": "0x6D66",
@@ -12,7 +11,6 @@
"backlight": true,
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": false,
diff --git a/keyboards/polilla/rev1/keyboard.json b/keyboards/polilla/rev1/keyboard.json
index 746f47963e..52c1b7fab8 100644
--- a/keyboards/polilla/rev1/keyboard.json
+++ b/keyboards/polilla/rev1/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Polilla",
"manufacturer": "elagil",
- "url": "",
"maintainer": "elagil",
"usb": {
"vid": "0x6166",
@@ -11,7 +10,6 @@
"features": {
"bootmagic": false,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": false
diff --git a/keyboards/polycarbdiet/s20/keyboard.json b/keyboards/polycarbdiet/s20/keyboard.json
index f87429b4a7..678327f167 100644
--- a/keyboards/polycarbdiet/s20/keyboard.json
+++ b/keyboards/polycarbdiet/s20/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "S20 revA",
"manufacturer": "polycarbdiet",
- "url": "",
"maintainer": "polycarbdiet",
"usb": {
"vid": "0x5040",
@@ -13,7 +12,6 @@
"backlight": true,
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/pom_keyboards/tnln95/keyboard.json b/keyboards/pom_keyboards/tnln95/keyboard.json
index 09b3f71f7c..9f2983b541 100644
--- a/keyboards/pom_keyboards/tnln95/keyboard.json
+++ b/keyboards/pom_keyboards/tnln95/keyboard.json
@@ -15,7 +15,6 @@
"backlight": true,
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": true,
diff --git a/keyboards/portal_66/hotswap/keyboard.json b/keyboards/portal_66/hotswap/keyboard.json
index 266ca516ec..67179ad185 100644
--- a/keyboards/portal_66/hotswap/keyboard.json
+++ b/keyboards/portal_66/hotswap/keyboard.json
@@ -10,7 +10,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false
diff --git a/keyboards/portal_66/soldered/keyboard.json b/keyboards/portal_66/soldered/keyboard.json
index 369a6efa13..349184cbab 100644
--- a/keyboards/portal_66/soldered/keyboard.json
+++ b/keyboards/portal_66/soldered/keyboard.json
@@ -10,7 +10,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false
diff --git a/keyboards/pos78/keyboard.json b/keyboards/pos78/keyboard.json
index 0a6a814155..6519f1ba5c 100644
--- a/keyboards/pos78/keyboard.json
+++ b/keyboards/pos78/keyboard.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false
diff --git a/keyboards/preonic/rev1/keyboard.json b/keyboards/preonic/rev1/keyboard.json
index 648dafe576..ddd1d68426 100644
--- a/keyboards/preonic/rev1/keyboard.json
+++ b/keyboards/preonic/rev1/keyboard.json
@@ -14,7 +14,6 @@
"backlight": true,
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": false
diff --git a/keyboards/primekb/prime_e/info.json b/keyboards/primekb/prime_e/info.json
index e7ed77e403..01208f70b8 100644
--- a/keyboards/primekb/prime_e/info.json
+++ b/keyboards/primekb/prime_e/info.json
@@ -8,7 +8,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": true
diff --git a/keyboards/primekb/prime_l/info.json b/keyboards/primekb/prime_l/info.json
index ed905f2b0b..2403dec963 100644
--- a/keyboards/primekb/prime_l/info.json
+++ b/keyboards/primekb/prime_l/info.json
@@ -5,7 +5,6 @@
"features": {
"bootmagic": false,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/primekb/prime_m/keyboard.json b/keyboards/primekb/prime_m/keyboard.json
index eb06dcdb7e..f9d72061c5 100644
--- a/keyboards/primekb/prime_m/keyboard.json
+++ b/keyboards/primekb/prime_m/keyboard.json
@@ -12,7 +12,6 @@
"backlight": true,
"bootmagic": false,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/primekb/prime_o/keyboard.json b/keyboards/primekb/prime_o/keyboard.json
index 04da8ab134..159ed92d7a 100644
--- a/keyboards/primekb/prime_o/keyboard.json
+++ b/keyboards/primekb/prime_o/keyboard.json
@@ -12,7 +12,6 @@
"backlight": true,
"bootmagic": false,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/primekb/prime_r/keyboard.json b/keyboards/primekb/prime_r/keyboard.json
index b2a7ecec7a..cc2fe7a0c7 100644
--- a/keyboards/primekb/prime_r/keyboard.json
+++ b/keyboards/primekb/prime_r/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Prime_R",
"manufacturer": "PrimeKB",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0xFEED",
@@ -12,7 +11,6 @@
"backlight": true,
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/printedpad/keyboard.json b/keyboards/printedpad/keyboard.json
index 90a42c7313..5441df5e7c 100644
--- a/keyboards/printedpad/keyboard.json
+++ b/keyboards/printedpad/keyboard.json
@@ -7,7 +7,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
@@ -18,7 +17,6 @@
"rows": ["A10", "C9", "A8", "A9"]
},
"processor": "STM32F072",
- "url": "",
"usb": {
"device_version": "1.0.0",
"pid": "0x0001",
diff --git a/keyboards/program_yoink/ortho/keyboard.json b/keyboards/program_yoink/ortho/keyboard.json
index e9d5fd3e80..2d50640a41 100644
--- a/keyboards/program_yoink/ortho/keyboard.json
+++ b/keyboards/program_yoink/ortho/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Program Yoink! Ortho",
"manufacturer": "melonbred",
- "url": "",
"maintainer": "melonbred",
"usb": {
"vid": "0x7079",
diff --git a/keyboards/program_yoink/staggered/keyboard.json b/keyboards/program_yoink/staggered/keyboard.json
index c20e2c9fc7..82f41d8e27 100644
--- a/keyboards/program_yoink/staggered/keyboard.json
+++ b/keyboards/program_yoink/staggered/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Program Yoink! Staggered",
"manufacturer": "melonbred",
- "url": "",
"maintainer": "melonbred",
"usb": {
"vid": "0x7079",
diff --git a/keyboards/projectcain/relic/keyboard.json b/keyboards/projectcain/relic/keyboard.json
index f9df6770d1..428240f923 100644
--- a/keyboards/projectcain/relic/keyboard.json
+++ b/keyboards/projectcain/relic/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Relic",
"manufacturer": "projectcain",
- "url": "",
"maintainer": "projectcain",
"usb": {
"vid": "0xFEED",
diff --git a/keyboards/projectcain/vault45/keyboard.json b/keyboards/projectcain/vault45/keyboard.json
index 2ab3e010e7..a66aea94e2 100644
--- a/keyboards/projectcain/vault45/keyboard.json
+++ b/keyboards/projectcain/vault45/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Vault45",
"manufacturer": "projectcain",
- "url": "",
"maintainer": "projectcain",
"usb": {
"vid": "0xFEED",
@@ -11,7 +10,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"encoder": true,
"extrakey": true,
"mousekey": true,
diff --git a/keyboards/projectd/65/projectd_65_ansi/keyboard.json b/keyboards/projectd/65/projectd_65_ansi/keyboard.json
index 32a95f965e..a0113302b1 100644
--- a/keyboards/projectd/65/projectd_65_ansi/keyboard.json
+++ b/keyboards/projectd/65/projectd_65_ansi/keyboard.json
@@ -20,7 +20,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
@@ -161,7 +160,6 @@
],
"sleep": true
},
- "url": "",
"usb": {
"device_version": "0.0.4",
"pid": "0x5319",
diff --git a/keyboards/projectd/75/ansi/keyboard.json b/keyboards/projectd/75/ansi/keyboard.json
index d94db22bfc..16995c697c 100644
--- a/keyboards/projectd/75/ansi/keyboard.json
+++ b/keyboards/projectd/75/ansi/keyboard.json
@@ -20,7 +20,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
@@ -182,7 +181,6 @@
],
"sleep": true
},
- "url": "",
"usb": {
"device_version": "0.0.2",
"pid": "0x000F",
diff --git a/keyboards/projectd/75/iso/keyboard.json b/keyboards/projectd/75/iso/keyboard.json
index d42e8c4b33..871efba1da 100644
--- a/keyboards/projectd/75/iso/keyboard.json
+++ b/keyboards/projectd/75/iso/keyboard.json
@@ -13,7 +13,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
@@ -176,7 +175,6 @@
{ "flags": 4, "matrix": [0, 5], "x": 152, "y": 52 }
]
},
- "url": "",
"usb": {
"device_version": "0.0.2",
"pid": "0x0011",
diff --git a/keyboards/projectkb/signature65/keyboard.json b/keyboards/projectkb/signature65/keyboard.json
index b72ff9926c..7393fc280d 100644
--- a/keyboards/projectkb/signature65/keyboard.json
+++ b/keyboards/projectkb/signature65/keyboard.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/projectkb/signature87/keyboard.json b/keyboards/projectkb/signature87/keyboard.json
index 2b18bf4572..adb3fd5fd7 100644
--- a/keyboards/projectkb/signature87/keyboard.json
+++ b/keyboards/projectkb/signature87/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Signature87",
"manufacturer": "Project Keyboard",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0x0159",
diff --git a/keyboards/prototypist/allison/keyboard.json b/keyboards/prototypist/allison/keyboard.json
index ea80e853bf..5fc003a93c 100644
--- a/keyboards/prototypist/allison/keyboard.json
+++ b/keyboards/prototypist/allison/keyboard.json
@@ -12,7 +12,6 @@
"backlight": true,
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/prototypist/allison_numpad/keyboard.json b/keyboards/prototypist/allison_numpad/keyboard.json
index a995cd6bbf..56c08df27d 100644
--- a/keyboards/prototypist/allison_numpad/keyboard.json
+++ b/keyboards/prototypist/allison_numpad/keyboard.json
@@ -12,7 +12,6 @@
"backlight": true,
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/prototypist/j01/keyboard.json b/keyboards/prototypist/j01/keyboard.json
index 68296e1b77..2cf6753cc5 100644
--- a/keyboards/prototypist/j01/keyboard.json
+++ b/keyboards/prototypist/j01/keyboard.json
@@ -15,7 +15,6 @@
"backlight": true,
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/prototypist/oceanographer/keyboard.json b/keyboards/prototypist/oceanographer/keyboard.json
index 8b0209d451..f76980499e 100644
--- a/keyboards/prototypist/oceanographer/keyboard.json
+++ b/keyboards/prototypist/oceanographer/keyboard.json
@@ -29,8 +29,6 @@
"led_count": 3,
"sleep": true,
"hue_steps": 10,
- "saturation_steps": 17,
- "brightness_steps": 17,
"max_brightness": 155,
"animations": {
"alternating": true,
@@ -49,7 +47,6 @@
"rows": ["B0", "D5", "D3", "D2"]
},
"processor": "atmega32u4",
- "url": "",
"usb": {
"device_version": "1.0.0",
"pid": "0x0002",
diff --git a/keyboards/prototypist/pt60/keyboard.json b/keyboards/prototypist/pt60/keyboard.json
index 8018350e6f..688559e093 100644
--- a/keyboards/prototypist/pt60/keyboard.json
+++ b/keyboards/prototypist/pt60/keyboard.json
@@ -7,7 +7,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
@@ -17,7 +16,6 @@
"rows": ["B0", "B1", "B2", "B10", "B11"]
},
"processor": "STM32F303",
- "url": "",
"usb": {
"device_version": "1.0.0",
"pid": "0x0001",
diff --git a/keyboards/prototypist/pt80/keyboard.json b/keyboards/prototypist/pt80/keyboard.json
index cb58643e3f..aacb53bdb6 100644
--- a/keyboards/prototypist/pt80/keyboard.json
+++ b/keyboards/prototypist/pt80/keyboard.json
@@ -7,7 +7,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
@@ -17,7 +16,6 @@
"rows": ["B14", "A8", "A9", "B13", "B11", "B12"]
},
"processor": "STM32F303",
- "url": "",
"usb": {
"device_version": "1.0.0",
"pid": "0x0000",
diff --git a/keyboards/protozoa/event_horizon/keyboard.json b/keyboards/protozoa/event_horizon/keyboard.json
index 42482c09ba..1b622e3a4e 100644
--- a/keyboards/protozoa/event_horizon/keyboard.json
+++ b/keyboards/protozoa/event_horizon/keyboard.json
@@ -7,7 +7,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/psuieee/pluto12/keyboard.json b/keyboards/psuieee/pluto12/keyboard.json
index 382d9fe030..22c91841c4 100644
--- a/keyboards/psuieee/pluto12/keyboard.json
+++ b/keyboards/psuieee/pluto12/keyboard.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"encoder": true,
"extrakey": true,
"mousekey": true,
diff --git a/keyboards/pteron36/keyboard.json b/keyboards/pteron36/keyboard.json
index 2000593e62..711dabf986 100644
--- a/keyboards/pteron36/keyboard.json
+++ b/keyboards/pteron36/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Pteron36",
"manufacturer": "Harshit Goel",
- "url": "",
"maintainer": "harshitgoel96",
"usb": {
"vid": "0x4847",
@@ -11,7 +10,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"encoder": true,
"extrakey": true,
"mousekey": true,
diff --git a/keyboards/pteropus/keyboard.json b/keyboards/pteropus/keyboard.json
index 76cbe67eee..c4660a537f 100644
--- a/keyboards/pteropus/keyboard.json
+++ b/keyboards/pteropus/keyboard.json
@@ -7,7 +7,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
@@ -17,7 +16,6 @@
"rows": ["B10", "B2", "B1", "B0"]
},
"processor": "STM32F072",
- "url": "",
"usb": {
"device_version": "1.0.0",
"pid": "0x0000",
diff --git a/keyboards/puck/keyboard.json b/keyboards/puck/keyboard.json
index 4ec04d72be..5c843e3249 100644
--- a/keyboards/puck/keyboard.json
+++ b/keyboards/puck/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Puck",
"manufacturer": "OkKeebs LLC",
- "url": "",
"maintainer": "john-pettigrew",
"usb": {
"vid": "0xFEED",
@@ -11,7 +10,6 @@
"features": {
"bootmagic": false,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": false
diff --git a/keyboards/punk75/keyboard.json b/keyboards/punk75/keyboard.json
index c7082e564f..62501a885c 100644
--- a/keyboards/punk75/keyboard.json
+++ b/keyboards/punk75/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "punk75",
"manufacturer": "dsanchezseco",
- "url": "",
"maintainer": "dsanchezseco",
"usb": {
"vid": "0xDEED",
diff --git a/keyboards/purin/keyboard.json b/keyboards/purin/keyboard.json
index 08a8b06e34..820e285ccc 100644
--- a/keyboards/purin/keyboard.json
+++ b/keyboards/purin/keyboard.json
@@ -7,7 +7,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
@@ -17,7 +16,6 @@
"rows": ["F6", "F7", "D4", "D5", "D3"]
},
"processor": "atmega32u4",
- "url": "",
"usb": {
"device_version": "1.0.0",
"pid": "0x0000",
diff --git a/keyboards/qck75/v1/keyboard.json b/keyboards/qck75/v1/keyboard.json
index a8ae853ab3..56ffa17dd3 100644
--- a/keyboards/qck75/v1/keyboard.json
+++ b/keyboards/qck75/v1/keyboard.json
@@ -12,7 +12,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"encoder": true,
"extrakey": true,
"mousekey": true,
@@ -25,7 +24,6 @@
"rows": ["C3", "A0", "A1", "A2", "B10", "A15"]
},
"processor": "STM32F072",
- "url": "",
"usb": {
"device_version": "1.0.0",
"pid": "0x0001",
diff --git a/keyboards/qpockets/eggman/keyboard.json b/keyboards/qpockets/eggman/keyboard.json
index 32cb76fc88..53fd05758e 100644
--- a/keyboards/qpockets/eggman/keyboard.json
+++ b/keyboards/qpockets/eggman/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "eggman",
"manufacturer": "qpockets",
- "url": "",
"maintainer": "qpockets",
"usb": {
"vid": "0x7170",
@@ -11,7 +10,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"encoder": true,
"extrakey": true,
"mousekey": true,
diff --git a/keyboards/qpockets/space_space/rev1/keyboard.json b/keyboards/qpockets/space_space/rev1/keyboard.json
index cc8cda49a8..5284230e61 100644
--- a/keyboards/qpockets/space_space/rev1/keyboard.json
+++ b/keyboards/qpockets/space_space/rev1/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "space_space",
"manufacturer": "qpockets",
- "url": "",
"maintainer": "qpockets",
"usb": {
"vid": "0x7170",
diff --git a/keyboards/qpockets/space_space/rev2/keyboard.json b/keyboards/qpockets/space_space/rev2/keyboard.json
index e2f24032a3..7374ed4728 100644
--- a/keyboards/qpockets/space_space/rev2/keyboard.json
+++ b/keyboards/qpockets/space_space/rev2/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "space_space",
"manufacturer": "qpockets",
- "url": "",
"maintainer": "qpockets",
"usb": {
"vid": "0x7170",
diff --git a/keyboards/qpockets/wanten/keyboard.json b/keyboards/qpockets/wanten/keyboard.json
index 86bfe02300..3404308b52 100644
--- a/keyboards/qpockets/wanten/keyboard.json
+++ b/keyboards/qpockets/wanten/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "wanten",
"manufacturer": "qpockets",
- "url": "",
"maintainer": "qpockets",
"usb": {
"vid": "0x7170",
@@ -11,7 +10,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"encoder": true,
"extrakey": true,
"mousekey": true,
diff --git a/keyboards/quad_h/lb75/keyboard.json b/keyboards/quad_h/lb75/keyboard.json
index e88ba4b3a4..d205ecbc27 100644
--- a/keyboards/quad_h/lb75/keyboard.json
+++ b/keyboards/quad_h/lb75/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "LB75",
"manufacturer": "QUADH",
- "url": "",
"maintainer": "ai03",
"usb": {
"vid": "0xA103",
@@ -12,7 +11,6 @@
"backlight": true,
"bootmagic": true,
"command": true,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/quadrum/delta/keyboard.json b/keyboards/quadrum/delta/keyboard.json
index bfdc0afd62..6766bd2875 100644
--- a/keyboards/quadrum/delta/keyboard.json
+++ b/keyboards/quadrum/delta/keyboard.json
@@ -21,7 +21,6 @@
"rows": ["F5", "F4", "F1", "F0", "D2"]
},
"processor": "atmega32u4",
- "url": "",
"usb": {
"device_version": "1.0.0",
"pid": "0x0002",
diff --git a/keyboards/quantrik/kyuu/keyboard.json b/keyboards/quantrik/kyuu/keyboard.json
index 5827f08d21..b7a2a01807 100644
--- a/keyboards/quantrik/kyuu/keyboard.json
+++ b/keyboards/quantrik/kyuu/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Kyuu",
"manufacturer": "Quantrik",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0x5154",
diff --git a/keyboards/quarkeys/z40/keyboard.json b/keyboards/quarkeys/z40/keyboard.json
index fb945dba5a..cb5e1f9764 100644
--- a/keyboards/quarkeys/z40/keyboard.json
+++ b/keyboards/quarkeys/z40/keyboard.json
@@ -55,7 +55,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/quarkeys/z60/hotswap/keyboard.json b/keyboards/quarkeys/z60/hotswap/keyboard.json
index c586d62ef4..5e08fa1c1d 100644
--- a/keyboards/quarkeys/z60/hotswap/keyboard.json
+++ b/keyboards/quarkeys/z60/hotswap/keyboard.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/quarkeys/z60/solder/keyboard.json b/keyboards/quarkeys/z60/solder/keyboard.json
index e85f7e6dc8..8e2c0392ba 100644
--- a/keyboards/quarkeys/z60/solder/keyboard.json
+++ b/keyboards/quarkeys/z60/solder/keyboard.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/quarkeys/z67/hotswap/keyboard.json b/keyboards/quarkeys/z67/hotswap/keyboard.json
index 266a9a879e..03c83fea90 100644
--- a/keyboards/quarkeys/z67/hotswap/keyboard.json
+++ b/keyboards/quarkeys/z67/hotswap/keyboard.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/quarkeys/z67/solder/keyboard.json b/keyboards/quarkeys/z67/solder/keyboard.json
index c1e1412d21..380aa187d4 100644
--- a/keyboards/quarkeys/z67/solder/keyboard.json
+++ b/keyboards/quarkeys/z67/solder/keyboard.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/qvex/lynepad/keyboard.json b/keyboards/qvex/lynepad/keyboard.json
index 65afceb26a..6b6e765869 100644
--- a/keyboards/qvex/lynepad/keyboard.json
+++ b/keyboards/qvex/lynepad/keyboard.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"encoder": true,
"extrakey": true,
"mousekey": true,
diff --git a/keyboards/qwertlekeys/calice/keyboard.json b/keyboards/qwertlekeys/calice/keyboard.json
index 676ca7a433..21ad107e46 100644
--- a/keyboards/qwertlekeys/calice/keyboard.json
+++ b/keyboards/qwertlekeys/calice/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Calice",
"manufacturer": "QwertleKeys",
- "url": "",
"maintainer": "Jels02",
"usb": {
"vid": "0x716B",
@@ -11,7 +10,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"encoder": true,
"extrakey": true,
"mousekey": false,
diff --git a/keyboards/qwertykeys/qk65/hotswap/keyboard.json b/keyboards/qwertykeys/qk65/hotswap/keyboard.json
index 7c786a7038..78d7e0753f 100644
--- a/keyboards/qwertykeys/qk65/hotswap/keyboard.json
+++ b/keyboards/qwertykeys/qk65/hotswap/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "QK65 Hotswap",
"manufacturer": "qwertykeys",
- "url": "",
"maintainer": "qwertykeys",
"usb": {
"vid": "0x4F53",
@@ -12,7 +11,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/qwertykeys/qk65/solder/keyboard.json b/keyboards/qwertykeys/qk65/solder/keyboard.json
index b1795474d3..2797309c95 100644
--- a/keyboards/qwertykeys/qk65/solder/keyboard.json
+++ b/keyboards/qwertykeys/qk65/solder/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "QK65 Solder",
"manufacturer": "qwertykeys",
- "url": "",
"maintainer": "qwertykeys",
"usb": {
"vid": "0x4F53",
@@ -12,7 +11,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/qwertyydox/rev1/keyboard.json b/keyboards/qwertyydox/rev1/keyboard.json
index 24284ff8c0..0010f9f7e8 100644
--- a/keyboards/qwertyydox/rev1/keyboard.json
+++ b/keyboards/qwertyydox/rev1/keyboard.json
@@ -2,7 +2,6 @@
"keyboard_name": "QWERTYYdox",
"manufacturer": "AYDENandDAD Youtube",
"identifier": "0x1256",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0xCEEB",
diff --git a/keyboards/rabbit/rabbit68/keyboard.json b/keyboards/rabbit/rabbit68/keyboard.json
index ce35a7d3c2..016e453199 100644
--- a/keyboards/rabbit/rabbit68/keyboard.json
+++ b/keyboards/rabbit/rabbit68/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Rabbit68",
"manufacturer": "Kai Eckert",
- "url": "",
"maintainer": "kaiec",
"usb": {
"vid": "0xFEED",
diff --git a/keyboards/rad/keyboard.json b/keyboards/rad/keyboard.json
index 0d86f25275..a6636951ac 100644
--- a/keyboards/rad/keyboard.json
+++ b/keyboards/rad/keyboard.json
@@ -9,7 +9,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/rainkeebs/delilah/keyboard.json b/keyboards/rainkeebs/delilah/keyboard.json
index bd3d142741..b14d7b871d 100644
--- a/keyboards/rainkeebs/delilah/keyboard.json
+++ b/keyboards/rainkeebs/delilah/keyboard.json
@@ -31,7 +31,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/rainkeebs/rainkeeb/keyboard.json b/keyboards/rainkeebs/rainkeeb/keyboard.json
index a291d61d3b..55224de473 100644
--- a/keyboards/rainkeebs/rainkeeb/keyboard.json
+++ b/keyboards/rainkeebs/rainkeeb/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "rainkeeb",
"manufacturer": "rainkeebs",
- "url": "",
"maintainer": "rain",
"usb": {
"vid": "0x726B",
@@ -11,7 +10,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"encoder": true,
"extrakey": true,
"mousekey": true,
diff --git a/keyboards/rainkeebs/yasui/keyboard.json b/keyboards/rainkeebs/yasui/keyboard.json
index 43bbc46fae..75d8297090 100644
--- a/keyboards/rainkeebs/yasui/keyboard.json
+++ b/keyboards/rainkeebs/yasui/keyboard.json
@@ -31,7 +31,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/ramlord/witf/keyboard.json b/keyboards/ramlord/witf/keyboard.json
index 55049a3ffa..983941c316 100644
--- a/keyboards/ramlord/witf/keyboard.json
+++ b/keyboards/ramlord/witf/keyboard.json
@@ -7,7 +7,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
@@ -22,7 +21,6 @@
"scroll_lock": "A4"
},
"processor": "STM32F072",
- "url": "",
"usb": {
"device_version": "1.0.0",
"pid": "0x343F",
diff --git a/keyboards/rart/rart45/keyboard.json b/keyboards/rart/rart45/keyboard.json
index 42a5d054d7..52af4d77ef 100644
--- a/keyboards/rart/rart45/keyboard.json
+++ b/keyboards/rart/rart45/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Rart45",
"manufacturer": "Alabahuy",
- "url": "",
"maintainer": "Alabahuy",
"usb": {
"vid": "0x414C",
@@ -11,7 +10,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false
diff --git a/keyboards/rart/rart4x4/keyboard.json b/keyboards/rart/rart4x4/keyboard.json
index c38e2103de..c693ea977d 100644
--- a/keyboards/rart/rart4x4/keyboard.json
+++ b/keyboards/rart/rart4x4/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "RART4X4",
"manufacturer": "Alabahuy",
- "url": "",
"maintainer": "Alabahuy",
"usb": {
"vid": "0x414C",
@@ -33,7 +32,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"encoder": true,
"extrakey": true,
"mousekey": true,
diff --git a/keyboards/rart/rart60/keyboard.json b/keyboards/rart/rart60/keyboard.json
index d5cc7bf0b4..474c3512af 100644
--- a/keyboards/rart/rart60/keyboard.json
+++ b/keyboards/rart/rart60/keyboard.json
@@ -23,7 +23,6 @@
"rows": ["GP23", "GP25", "GP15", "GP16", "GP17"]
},
"processor": "RP2040",
- "url": "",
"usb": {
"device_version": "1.0.0",
"pid": "0x0060",
diff --git a/keyboards/rart/rart67/keyboard.json b/keyboards/rart/rart67/keyboard.json
index 6651561743..e911a783be 100644
--- a/keyboards/rart/rart67/keyboard.json
+++ b/keyboards/rart/rart67/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "RART67",
"manufacturer": "Alabahuy",
- "url": "",
"maintainer": "Alabahuy",
"usb": {
"vid": "0x414C",
diff --git a/keyboards/rart/rart67m/keyboard.json b/keyboards/rart/rart67m/keyboard.json
index 0d6cfdeed1..338f63b808 100644
--- a/keyboards/rart/rart67m/keyboard.json
+++ b/keyboards/rart/rart67m/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "RART67M",
"manufacturer": "Alabahuy",
- "url": "",
"maintainer": "Alabahuy",
"usb": {
"vid": "0x414C",
@@ -11,7 +10,6 @@
"features": {
"bootmagic": false,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/rart/rart75/keyboard.json b/keyboards/rart/rart75/keyboard.json
index beb8a7cc39..a087298e0a 100644
--- a/keyboards/rart/rart75/keyboard.json
+++ b/keyboards/rart/rart75/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "RART75",
"manufacturer": "Alabahuy",
- "url": "",
"maintainer": "Alabahuy",
"usb": {
"vid": "0x414C",
diff --git a/keyboards/rart/rart75hs/keyboard.json b/keyboards/rart/rart75hs/keyboard.json
index f8763bfbee..9371daacf2 100644
--- a/keyboards/rart/rart75hs/keyboard.json
+++ b/keyboards/rart/rart75hs/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "RART75 Hotswap",
"manufacturer": "Alabahuy",
- "url": "",
"maintainer": "Alabahuy",
"usb": {
"vid": "0x414C",
diff --git a/keyboards/rart/rart75m/keyboard.json b/keyboards/rart/rart75m/keyboard.json
index 925e8dff5e..f87f24aada 100644
--- a/keyboards/rart/rart75m/keyboard.json
+++ b/keyboards/rart/rart75m/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "RART75M",
"manufacturer": "Alabahuy",
- "url": "",
"maintainer": "Alabahuy",
"usb": {
"vid": "0x414C",
@@ -11,7 +10,6 @@
"features": {
"bootmagic": false,
"command": false,
- "console": false,
"encoder": true,
"extrakey": true,
"mousekey": true,
diff --git a/keyboards/rart/rart80/keyboard.json b/keyboards/rart/rart80/keyboard.json
index 06fbd1add6..a2d4a7f3eb 100644
--- a/keyboards/rart/rart80/keyboard.json
+++ b/keyboards/rart/rart80/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "RART80 Hotswap",
"manufacturer": "Alabahuy",
- "url": "",
"maintainer": "Alabahuy",
"usb": {
"vid": "0x414C",
diff --git a/keyboards/rart/rartand/keyboard.json b/keyboards/rart/rartand/keyboard.json
index 330beca3e1..f97820bb06 100644
--- a/keyboards/rart/rartand/keyboard.json
+++ b/keyboards/rart/rartand/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Rartand",
"manufacturer": "Alabahuy",
- "url": "",
"maintainer": "Alabahuy",
"usb": {
"vid": "0x414C",
@@ -11,7 +10,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false,
diff --git a/keyboards/rart/rartlice/keyboard.json b/keyboards/rart/rartlice/keyboard.json
index c55919e6a6..f568fbba47 100644
--- a/keyboards/rart/rartlice/keyboard.json
+++ b/keyboards/rart/rartlice/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Rartlice",
"manufacturer": "Alabahuy",
- "url": "",
"maintainer": "Alabahuy",
"usb": {
"vid": "0x414C",
diff --git a/keyboards/rart/rartlite/keyboard.json b/keyboards/rart/rartlite/keyboard.json
index f542654db7..f1d3af3c72 100644
--- a/keyboards/rart/rartlite/keyboard.json
+++ b/keyboards/rart/rartlite/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "RARTLITE",
"manufacturer": "Alabahuy",
- "url": "",
"maintainer": "Alabahuy",
"usb": {
"vid": "0x414C",
@@ -11,7 +10,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/rart/rartpad/keyboard.json b/keyboards/rart/rartpad/keyboard.json
index ac9b2a38f1..18b5081dac 100644
--- a/keyboards/rart/rartpad/keyboard.json
+++ b/keyboards/rart/rartpad/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "RARTPAD",
"manufacturer": "Alabahuy",
- "url": "",
"maintainer": "Alabahuy",
"usb": {
"vid": "0x414C",
@@ -11,7 +10,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"encoder": true,
"extrakey": true,
"mousekey": true,
diff --git a/keyboards/rastersoft/minitkl/keyboard.json b/keyboards/rastersoft/minitkl/keyboard.json
index e8d0691959..6b0869bc63 100644
--- a/keyboards/rastersoft/minitkl/keyboard.json
+++ b/keyboards/rastersoft/minitkl/keyboard.json
@@ -24,7 +24,6 @@
"rgblight": {
"led_count": 3,
"pin": "B2",
- "hue_steps": 8,
"saturation_steps": 8,
"brightness_steps": 8,
"animations": {
diff --git a/keyboards/rate/pistachio/info.json b/keyboards/rate/pistachio/info.json
index 0eaea7885d..7136860260 100644
--- a/keyboards/rate/pistachio/info.json
+++ b/keyboards/rate/pistachio/info.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "pistachio",
"manufacturer": "rate",
- "url": "",
"maintainer": "rate",
"usb": {
"vid": "0x5255",
diff --git a/keyboards/rate/pistachio_mp/keyboard.json b/keyboards/rate/pistachio_mp/keyboard.json
index dadb936942..0252db6f5d 100644
--- a/keyboards/rate/pistachio_mp/keyboard.json
+++ b/keyboards/rate/pistachio_mp/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "pistachio_mp",
"manufacturer": "rate",
- "url": "",
"maintainer": "rate",
"usb": {
"vid": "0x5255",
@@ -19,7 +18,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"encoder": true,
"extrakey": true,
"mousekey": true,
diff --git a/keyboards/rationalist/ratio65_hotswap/rev_a/keyboard.json b/keyboards/rationalist/ratio65_hotswap/rev_a/keyboard.json
index fe40f12f46..7b5f27e07a 100644
--- a/keyboards/rationalist/ratio65_hotswap/rev_a/keyboard.json
+++ b/keyboards/rationalist/ratio65_hotswap/rev_a/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Ratio65 Hotswap Rev A",
"manufacturer": "4pplet",
- "url": "",
"maintainer": "4pplet",
"usb": {
"vid": "0x4446",
@@ -31,7 +30,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": false,
diff --git a/keyboards/rationalist/ratio65_solder/rev_a/keyboard.json b/keyboards/rationalist/ratio65_solder/rev_a/keyboard.json
index 6953636dee..ee9687192a 100644
--- a/keyboards/rationalist/ratio65_solder/rev_a/keyboard.json
+++ b/keyboards/rationalist/ratio65_solder/rev_a/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Ratio65 Solder Rev A",
"manufacturer": "4pplet",
- "url": "",
"maintainer": "4pplet",
"usb": {
"vid": "0x4446",
@@ -31,7 +30,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": false,
diff --git a/keyboards/recompile_keys/cocoa40/keyboard.json b/keyboards/recompile_keys/cocoa40/keyboard.json
index 45f0cba2ff..5386bbe9e0 100644
--- a/keyboards/recompile_keys/cocoa40/keyboard.json
+++ b/keyboards/recompile_keys/cocoa40/keyboard.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": false,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": false
diff --git a/keyboards/recompile_keys/mio/keyboard.json b/keyboards/recompile_keys/mio/keyboard.json
index 700bb09c07..1a2467f6ee 100644
--- a/keyboards/recompile_keys/mio/keyboard.json
+++ b/keyboards/recompile_keys/mio/keyboard.json
@@ -32,7 +32,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false,
diff --git a/keyboards/rect44/keyboard.json b/keyboards/rect44/keyboard.json
index d331e48bd9..b90b6a7e69 100644
--- a/keyboards/rect44/keyboard.json
+++ b/keyboards/rect44/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Rect44",
"manufacturer": "koshinoya",
- "url": "",
"maintainer": "koshinoya",
"usb": {
"vid": "0xFEED",
@@ -29,7 +28,6 @@
"features": {
"bootmagic": false,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false,
diff --git a/keyboards/redox/rev1/info.json b/keyboards/redox/rev1/info.json
index ee9786d838..c205548e21 100644
--- a/keyboards/redox/rev1/info.json
+++ b/keyboards/redox/rev1/info.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Redox",
"manufacturer": "Falbatech",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0x4D44",
@@ -11,7 +10,6 @@
"features":{
"bootmagic": true,
"command": true,
- "console": false,
"mousekey": true,
"extrakey": true,
"nkro": true,
diff --git a/keyboards/redox/wireless/keyboard.json b/keyboards/redox/wireless/keyboard.json
index 86977f4602..7f167240b6 100644
--- a/keyboards/redox/wireless/keyboard.json
+++ b/keyboards/redox/wireless/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Redox Wireless",
"manufacturer": "Mattia Dal Ben",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0x4D44",
diff --git a/keyboards/redox_media/keyboard.json b/keyboards/redox_media/keyboard.json
index 83057da79f..dba5657ea2 100644
--- a/keyboards/redox_media/keyboard.json
+++ b/keyboards/redox_media/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Redox Media",
"manufacturer": "shiftux",
- "url": "",
"maintainer": "shiftux",
"usb": {
"vid": "0xFEED",
diff --git a/keyboards/redscarf_i/keyboard.json b/keyboards/redscarf_i/keyboard.json
index 6a186dff0b..531ee382c7 100644
--- a/keyboards/redscarf_i/keyboard.json
+++ b/keyboards/redscarf_i/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Red Scarf I",
"manufacturer": "Red Scarf",
- "url": "",
"maintainer": "qmk, defying",
"usb": {
"vid": "0xFEED",
@@ -12,7 +11,6 @@
"backlight": true,
"bootmagic": false,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": false
diff --git a/keyboards/redscarf_iiplus/verb/keyboard.json b/keyboards/redscarf_iiplus/verb/keyboard.json
index 99d763e39a..2bb3910fb5 100644
--- a/keyboards/redscarf_iiplus/verb/keyboard.json
+++ b/keyboards/redscarf_iiplus/verb/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "RedScarfII+ Ver.B (RS78)",
"manufacturer": "RedScarf",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0xFEED",
diff --git a/keyboards/redscarf_iiplus/verc/keyboard.json b/keyboards/redscarf_iiplus/verc/keyboard.json
index a6defe4851..c9b960e7ba 100644
--- a/keyboards/redscarf_iiplus/verc/keyboard.json
+++ b/keyboards/redscarf_iiplus/verc/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "RedScarfII+ Ver.C (RS68)",
"manufacturer": "RedScarf",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0xFEED",
diff --git a/keyboards/redscarf_iiplus/verd/keyboard.json b/keyboards/redscarf_iiplus/verd/keyboard.json
index d0ba57553a..fbb0b14402 100644
--- a/keyboards/redscarf_iiplus/verd/keyboard.json
+++ b/keyboards/redscarf_iiplus/verd/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "RedScarfII+ Ver.D",
"manufacturer": "RedScarf",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0xFEED",
diff --git a/keyboards/reedskeebs/alish40/keyboard.json b/keyboards/reedskeebs/alish40/keyboard.json
index 1a4b9f4afe..564d4eeeda 100644
--- a/keyboards/reedskeebs/alish40/keyboard.json
+++ b/keyboards/reedskeebs/alish40/keyboard.json
@@ -34,10 +34,8 @@
"static_gradient": true,
"twinkle": true
},
- "brightness_steps": 17,
"hue_steps": 10,
- "led_count": 10,
- "saturation_steps": 17
+ "led_count": 10
},
"ws2812": {
"pin": "F5"
diff --git a/keyboards/relapsekb/or87/keyboard.json b/keyboards/relapsekb/or87/keyboard.json
index 0ac5022aca..67ff9cd19b 100644
--- a/keyboards/relapsekb/or87/keyboard.json
+++ b/keyboards/relapsekb/or87/keyboard.json
@@ -15,7 +15,6 @@
"cols": ["F7", "C7", "C6", "B6", "B5", "B4", "D7", "D0", "B7"]
},
"processor": "atmega32u4",
- "url": "",
"usb": {
"device_version": "1.0.0",
"vid": "0x722D",
diff --git a/keyboards/retro_75/keyboard.json b/keyboards/retro_75/keyboard.json
index e077be2ee9..efd13cfcc5 100644
--- a/keyboards/retro_75/keyboard.json
+++ b/keyboards/retro_75/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Retro75",
"manufacturer": "PheonixStarr",
- "url": "",
"maintainer": "zvecr",
"usb": {
"vid": "0xFEED",
@@ -29,7 +28,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false,
diff --git a/keyboards/reversestudio/decadepad/keyboard.json b/keyboards/reversestudio/decadepad/keyboard.json
index 601122aa37..e3f587d5dd 100644
--- a/keyboards/reversestudio/decadepad/keyboard.json
+++ b/keyboards/reversestudio/decadepad/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "DecadePad",
"manufacturer": "ReverseStudio",
- "url": "",
"maintainer": "huajijam",
"usb": {
"vid": "0x5253",
diff --git a/keyboards/reviung/reviung33/keyboard.json b/keyboards/reviung/reviung33/keyboard.json
index 0b5ceb4e54..509debb9cb 100644
--- a/keyboards/reviung/reviung33/keyboard.json
+++ b/keyboards/reviung/reviung33/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "reviung33",
"manufacturer": "gtips",
- "url": "",
"maintainer": "gtips",
"usb": {
"vid": "0xFEED",
@@ -33,7 +32,6 @@
"features": {
"bootmagic": false,
"command": false,
- "console": false,
"extrakey": false,
"mousekey": false,
"nkro": false,
diff --git a/keyboards/reviung/reviung34/keyboard.json b/keyboards/reviung/reviung34/keyboard.json
index 8b354c00df..7495b7cc9d 100755
--- a/keyboards/reviung/reviung34/keyboard.json
+++ b/keyboards/reviung/reviung34/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "reviung34",
"manufacturer": "gtips",
- "url": "",
"maintainer": "gtips",
"usb": {
"vid": "0x6774",
diff --git a/keyboards/reviung/reviung39/keyboard.json b/keyboards/reviung/reviung39/keyboard.json
index 04cbe909c3..e18c1c163e 100644
--- a/keyboards/reviung/reviung39/keyboard.json
+++ b/keyboards/reviung/reviung39/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "reviung39",
"manufacturer": "gtips",
- "url": "",
"maintainer": "gtips",
"usb": {
"vid": "0xFEED",
diff --git a/keyboards/reviung/reviung41/keyboard.json b/keyboards/reviung/reviung41/keyboard.json
index 8e72ff5762..b44827c3d2 100644
--- a/keyboards/reviung/reviung41/keyboard.json
+++ b/keyboards/reviung/reviung41/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "reviung41",
"manufacturer": "gtips",
- "url": "",
"maintainer": "gtips",
"usb": {
"vid": "0x7807",
diff --git a/keyboards/reviung/reviung46/keyboard.json b/keyboards/reviung/reviung46/keyboard.json
index cdf9a24e17..3c0dc096a1 100644
--- a/keyboards/reviung/reviung46/keyboard.json
+++ b/keyboards/reviung/reviung46/keyboard.json
@@ -32,7 +32,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/reviung/reviung5/keyboard.json b/keyboards/reviung/reviung5/keyboard.json
index 5c932020a2..4eee855091 100644
--- a/keyboards/reviung/reviung5/keyboard.json
+++ b/keyboards/reviung/reviung5/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "reviung5",
"manufacturer": "gtips",
- "url": "",
"maintainer": "gtips",
"usb": {
"vid": "0x5C06",
@@ -33,7 +32,6 @@
"features": {
"bootmagic": false,
"command": false,
- "console": false,
"encoder": true,
"extrakey": true,
"mousekey": true,
diff --git a/keyboards/reviung/reviung53/keyboard.json b/keyboards/reviung/reviung53/keyboard.json
index 33eec7d828..010743c2b8 100644
--- a/keyboards/reviung/reviung53/keyboard.json
+++ b/keyboards/reviung/reviung53/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "reviung53",
"manufacturer": "gtips",
- "url": "",
"maintainer": "gtips",
"usb": {
"vid": "0x4E94",
@@ -33,7 +32,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": false,
diff --git a/keyboards/reviung/reviung61/keyboard.json b/keyboards/reviung/reviung61/keyboard.json
index 99a297bde4..09497b203e 100644
--- a/keyboards/reviung/reviung61/keyboard.json
+++ b/keyboards/reviung/reviung61/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "reviung61",
"manufacturer": "gtips",
- "url": "",
"maintainer": "gtips",
"usb": {
"vid": "0xFEED",
diff --git a/keyboards/rgbkb/sol/rev1/keyboard.json b/keyboards/rgbkb/sol/rev1/keyboard.json
index 38932a78e1..9a4c538e55 100644
--- a/keyboards/rgbkb/sol/rev1/keyboard.json
+++ b/keyboards/rgbkb/sol/rev1/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Sol",
"manufacturer": "RGBKB",
- "url": "",
"maintainer": "Legonut",
"usb": {
"vid": "0xFEED",
diff --git a/keyboards/rgbkb/sol/rev2/keyboard.json b/keyboards/rgbkb/sol/rev2/keyboard.json
index b6bad358e3..140ea1cd69 100644
--- a/keyboards/rgbkb/sol/rev2/keyboard.json
+++ b/keyboards/rgbkb/sol/rev2/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Sol",
"manufacturer": "RGBKB",
- "url": "",
"maintainer": "Legonut",
"usb": {
"vid": "0xFEED",
diff --git a/keyboards/rgbkb/sol3/rev1/keyboard.json b/keyboards/rgbkb/sol3/rev1/keyboard.json
index 775e3f8629..dc9e6d4035 100644
--- a/keyboards/rgbkb/sol3/rev1/keyboard.json
+++ b/keyboards/rgbkb/sol3/rev1/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Sol 3",
"manufacturer": "RGBKB",
- "url": "",
"maintainer": "XScorpion2, rgbkb",
"usb": {
"vid": "0x3535",
diff --git a/keyboards/rgbkb/zen/rev1/keyboard.json b/keyboards/rgbkb/zen/rev1/keyboard.json
index 91d127de58..b35381f607 100644
--- a/keyboards/rgbkb/zen/rev1/keyboard.json
+++ b/keyboards/rgbkb/zen/rev1/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Project Zen",
"manufacturer": "Legonut",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0xFEED",
diff --git a/keyboards/rgbkb/zen/rev2/keyboard.json b/keyboards/rgbkb/zen/rev2/keyboard.json
index b59af6dfdd..917274f186 100644
--- a/keyboards/rgbkb/zen/rev2/keyboard.json
+++ b/keyboards/rgbkb/zen/rev2/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Project Zen",
"manufacturer": "Legonut",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0xFEED",
diff --git a/keyboards/rico/phoenix_project_no1/keyboard.json b/keyboards/rico/phoenix_project_no1/keyboard.json
index 4d354ce0af..692b7c9828 100644
--- a/keyboards/rico/phoenix_project_no1/keyboard.json
+++ b/keyboards/rico/phoenix_project_no1/keyboard.json
@@ -8,7 +8,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false,
diff --git a/keyboards/rmi_kb/aelith/keyboard.json b/keyboards/rmi_kb/aelith/keyboard.json
index de16e5ac31..b3f688913e 100644
--- a/keyboards/rmi_kb/aelith/keyboard.json
+++ b/keyboards/rmi_kb/aelith/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "AELITH",
"manufacturer": "RMI-KB",
- "url": "",
"maintainer": "ramonimbao",
"usb": {
"vid": "0xB16B",
diff --git a/keyboards/rmi_kb/chevron/keyboard.json b/keyboards/rmi_kb/chevron/keyboard.json
index 8eda552902..8ae5c12ae1 100644
--- a/keyboards/rmi_kb/chevron/keyboard.json
+++ b/keyboards/rmi_kb/chevron/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Chevron",
"manufacturer": "RMI-KB",
- "url": "",
"maintainer": "ramonimbao",
"usb": {
"vid": "0xB16B",
diff --git a/keyboards/rmi_kb/equator/keyboard.json b/keyboards/rmi_kb/equator/keyboard.json
index 9e1ccab0fb..051ab84e4b 100644
--- a/keyboards/rmi_kb/equator/keyboard.json
+++ b/keyboards/rmi_kb/equator/keyboard.json
@@ -7,7 +7,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
@@ -18,7 +17,6 @@
"rows": ["B12", "B10", "A15", "A10", "B1"]
},
"processor": "STM32F072",
- "url": "",
"usb": {
"device_version": "1.0.0",
"pid": "0xE0A1",
diff --git a/keyboards/rmi_kb/herringbone/pro/keyboard.json b/keyboards/rmi_kb/herringbone/pro/keyboard.json
index 5303185692..a49983db07 100644
--- a/keyboards/rmi_kb/herringbone/pro/keyboard.json
+++ b/keyboards/rmi_kb/herringbone/pro/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Herringbone Pro",
"manufacturer": "RMI-KB",
- "url": "",
"maintainer": "ramonimbao",
"usb": {
"vid": "0xB16B",
diff --git a/keyboards/rmi_kb/herringbone/v1/keyboard.json b/keyboards/rmi_kb/herringbone/v1/keyboard.json
index 2883f341ab..0f624dbc99 100644
--- a/keyboards/rmi_kb/herringbone/v1/keyboard.json
+++ b/keyboards/rmi_kb/herringbone/v1/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Herringbone",
"manufacturer": "RMI-KB",
- "url": "",
"maintainer": "ramonimbao",
"usb": {
"vid": "0xB16B",
diff --git a/keyboards/rmi_kb/mona/v1/keyboard.json b/keyboards/rmi_kb/mona/v1/keyboard.json
index 9d8f66af2f..f56986df1a 100644
--- a/keyboards/rmi_kb/mona/v1/keyboard.json
+++ b/keyboards/rmi_kb/mona/v1/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Mona",
"manufacturer": "RMI-KB",
- "url": "",
"maintainer": "ramonimbao",
"usb": {
"vid": "0xB16B",
diff --git a/keyboards/rmi_kb/mona/v1_1/keyboard.json b/keyboards/rmi_kb/mona/v1_1/keyboard.json
index b1e1f27fc0..95f7b9706e 100644
--- a/keyboards/rmi_kb/mona/v1_1/keyboard.json
+++ b/keyboards/rmi_kb/mona/v1_1/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Mona",
"manufacturer": "RMI-KB",
- "url": "",
"maintainer": "ramonimbao",
"usb": {
"vid": "0xB16B",
diff --git a/keyboards/rmi_kb/mona/v32a/keyboard.json b/keyboards/rmi_kb/mona/v32a/keyboard.json
index e4b7760813..84a301d173 100644
--- a/keyboards/rmi_kb/mona/v32a/keyboard.json
+++ b/keyboards/rmi_kb/mona/v32a/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Mona",
"manufacturer": "RMI-KB",
- "url": "",
"maintainer": "ramonimbao",
"usb": {
"vid": "0xB16B",
diff --git a/keyboards/rmi_kb/squishy65/keyboard.json b/keyboards/rmi_kb/squishy65/keyboard.json
index adc83200d3..aecaaf9c04 100644
--- a/keyboards/rmi_kb/squishy65/keyboard.json
+++ b/keyboards/rmi_kb/squishy65/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Squishy65",
"manufacturer": "RMI-KB",
- "url": "",
"maintainer": "ramonimbao",
"usb": {
"vid": "0xB16B",
diff --git a/keyboards/rmi_kb/squishyfrl/keyboard.json b/keyboards/rmi_kb/squishyfrl/keyboard.json
index 8a14a2a4ed..65a56e61f0 100644
--- a/keyboards/rmi_kb/squishyfrl/keyboard.json
+++ b/keyboards/rmi_kb/squishyfrl/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "SquishyFRL",
"manufacturer": "RMI-KB",
- "url": "",
"maintainer": "ramonimbao",
"usb": {
"vid": "0xB16B",
@@ -29,7 +28,6 @@
"features": {
"bootmagic": false,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false,
diff --git a/keyboards/rmi_kb/squishytkl/keyboard.json b/keyboards/rmi_kb/squishytkl/keyboard.json
index ae63d83c5d..30c32edd27 100644
--- a/keyboards/rmi_kb/squishytkl/keyboard.json
+++ b/keyboards/rmi_kb/squishytkl/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "SquishyTKL",
"manufacturer": "RMI-KB",
- "url": "",
"maintainer": "ramonimbao",
"usb": {
"vid": "0xB16B",
@@ -29,7 +28,6 @@
"features": {
"bootmagic": false,
"command": false,
- "console": false,
"encoder": true,
"extrakey": true,
"mousekey": true,
diff --git a/keyboards/rmi_kb/tkl_ff/info.json b/keyboards/rmi_kb/tkl_ff/info.json
index a4fe24cab7..239d664ff3 100644
--- a/keyboards/rmi_kb/tkl_ff/info.json
+++ b/keyboards/rmi_kb/tkl_ff/info.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "TKL FF",
"manufacturer": "RMI-KB",
- "url": "",
"maintainer": "ramonimbao",
"usb": {
"vid": "0xB16B",
@@ -10,7 +9,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false
diff --git a/keyboards/rmi_kb/wete/v1/keyboard.json b/keyboards/rmi_kb/wete/v1/keyboard.json
index c9a54f76c2..ff18fac5b5 100644
--- a/keyboards/rmi_kb/wete/v1/keyboard.json
+++ b/keyboards/rmi_kb/wete/v1/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Wete",
"manufacturer": "RMI-KB",
- "url": "",
"maintainer": "ramonimbao",
"usb": {
"vid": "0xB16B",
diff --git a/keyboards/rmi_kb/wete/v2/keyboard.json b/keyboards/rmi_kb/wete/v2/keyboard.json
index 2c925ee919..3ad1fc9a73 100644
--- a/keyboards/rmi_kb/wete/v2/keyboard.json
+++ b/keyboards/rmi_kb/wete/v2/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Wete R2",
"manufacturer": "RMI-KB",
- "url": "",
"maintainer": "ramonimbao",
"usb": {
"vid": "0xB16B",
diff --git a/keyboards/rmkeebs/rm_fullsize/keyboard.json b/keyboards/rmkeebs/rm_fullsize/keyboard.json
index f9ff4dd5b8..60b73110c7 100644
--- a/keyboards/rmkeebs/rm_fullsize/keyboard.json
+++ b/keyboards/rmkeebs/rm_fullsize/keyboard.json
@@ -7,7 +7,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
@@ -18,7 +17,6 @@
"rows": ["GP8", "GP7", "GP9", "GP20", "GP18", "GP19"]
},
"processor": "RP2040",
- "url": "",
"usb": {
"device_version": "1.0.0",
"pid": "0x0000",
diff --git a/keyboards/rmkeebs/rm_numpad/keyboard.json b/keyboards/rmkeebs/rm_numpad/keyboard.json
index eb3d11ca86..4885d56f37 100644
--- a/keyboards/rmkeebs/rm_numpad/keyboard.json
+++ b/keyboards/rmkeebs/rm_numpad/keyboard.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"encoder": true,
"extrakey": true,
"mousekey": true,
diff --git a/keyboards/rocketboard_16/keyboard.json b/keyboards/rocketboard_16/keyboard.json
index 4831911f4f..cacd37d1c3 100644
--- a/keyboards/rocketboard_16/keyboard.json
+++ b/keyboards/rocketboard_16/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Rocketboard-16",
"manufacturer": "Rocketboard",
- "url": "",
"maintainer": "fl3tching101",
"usb": {
"vid": "0xB034",
diff --git a/keyboards/rocketboard_16/keycode_lookup.c b/keyboards/rocketboard_16/keycode_lookup.c
index 41fd5c8537..a29808d04d 100644
--- a/keyboards/rocketboard_16/keycode_lookup.c
+++ b/keyboards/rocketboard_16/keycode_lookup.c
@@ -14,6 +14,7 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
+#include <stdlib.h>
#include "keycode_lookup.h"
#include "quantum_keycodes.h"
#include "keymap_us.h"
diff --git a/keyboards/rominronin/katana60/rev1/keyboard.json b/keyboards/rominronin/katana60/rev1/keyboard.json
index 0a9bb4ea49..b8d9df35a7 100644
--- a/keyboards/rominronin/katana60/rev1/keyboard.json
+++ b/keyboards/rominronin/katana60/rev1/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Katana60 rev1",
"manufacturer": "RominRonin CandyKeys",
- "url": "",
"maintainer": "rominronin",
"usb": {
"vid": "0x7272",
diff --git a/keyboards/rose75/keyboard.json b/keyboards/rose75/keyboard.json
index 9306cb211b..4b45a3d845 100644
--- a/keyboards/rose75/keyboard.json
+++ b/keyboards/rose75/keyboard.json
@@ -7,7 +7,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/roseslite/keyboard.json b/keyboards/roseslite/keyboard.json
index 88b8c7a205..4c1849dc7d 100644
--- a/keyboards/roseslite/keyboard.json
+++ b/keyboards/roseslite/keyboard.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/rot13labs/h4ckb0ard/keyboard.json b/keyboards/rot13labs/h4ckb0ard/keyboard.json
index 4ac783774d..cd028f08c8 100644
--- a/keyboards/rot13labs/h4ckb0ard/keyboard.json
+++ b/keyboards/rot13labs/h4ckb0ard/keyboard.json
@@ -7,7 +7,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/rot13labs/rotc0n/keyboard.json b/keyboards/rot13labs/rotc0n/keyboard.json
index a9dc27a471..2ee71daa18 100644
--- a/keyboards/rot13labs/rotc0n/keyboard.json
+++ b/keyboards/rot13labs/rotc0n/keyboard.json
@@ -7,7 +7,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
@@ -17,7 +16,6 @@
"rows": ["B1", "B0"]
},
"processor": "atmega328p",
- "url": "",
"usb": {
"device_version": "1.0.0",
"pid": "0xBEEF",
diff --git a/keyboards/rot13labs/veilid_sao/keyboard.json b/keyboards/rot13labs/veilid_sao/keyboard.json
index 751345d264..38271afbe9 100644
--- a/keyboards/rot13labs/veilid_sao/keyboard.json
+++ b/keyboards/rot13labs/veilid_sao/keyboard.json
@@ -7,7 +7,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": false,
"mousekey": false,
"nkro": false,
@@ -31,9 +30,6 @@
"cycle_left_right": true
},
"driver": "ws2812",
- "default": {
- "animation": "cycle_left_right"
- },
"layout": [
{"flags": 4, "matrix": [0, 0], "x": 0, "y": 0}
],
diff --git a/keyboards/rotr/keyboard.json b/keyboards/rotr/keyboard.json
index cb1a7e923d..6d3599a506 100644
--- a/keyboards/rotr/keyboard.json
+++ b/keyboards/rotr/keyboard.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"encoder": true,
"extrakey": true,
"mousekey": true,
diff --git a/keyboards/rpiguy9907/southpaw66/keyboard.json b/keyboards/rpiguy9907/southpaw66/keyboard.json
index f2fdf4f5ff..c751ee6d8e 100644
--- a/keyboards/rpiguy9907/southpaw66/keyboard.json
+++ b/keyboards/rpiguy9907/southpaw66/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Southpaw66",
"manufacturer": "rpiguy9907",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0x9907",
diff --git a/keyboards/runes/vaengr/keyboard.json b/keyboards/runes/vaengr/keyboard.json
index 42389043d4..c962d19892 100644
--- a/keyboards/runes/vaengr/keyboard.json
+++ b/keyboards/runes/vaengr/keyboard.json
@@ -32,7 +32,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/ryanbaekr/rb1/keyboard.json b/keyboards/ryanbaekr/rb1/keyboard.json
index 31f2fa20c4..19ddbb9402 100644
--- a/keyboards/ryanbaekr/rb1/keyboard.json
+++ b/keyboards/ryanbaekr/rb1/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "rb1",
"manufacturer": "ryanbaekr",
- "url": "",
"maintainer": "ryanbaekr",
"usb": {
"vid": "0x7262",
@@ -13,7 +12,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false
diff --git a/keyboards/ryanbaekr/rb18/keyboard.json b/keyboards/ryanbaekr/rb18/keyboard.json
index 03a1335c7b..4485bdff00 100644
--- a/keyboards/ryanbaekr/rb18/keyboard.json
+++ b/keyboards/ryanbaekr/rb18/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "rb18",
"manufacturer": "ryanbaekr",
- "url": "",
"maintainer": "ryanbaekr",
"usb": {
"vid": "0x7262",
@@ -29,7 +28,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false,
diff --git a/keyboards/ryanbaekr/rb69/keyboard.json b/keyboards/ryanbaekr/rb69/keyboard.json
index c1cce7508e..ffe4ba1674 100644
--- a/keyboards/ryanbaekr/rb69/keyboard.json
+++ b/keyboards/ryanbaekr/rb69/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "rb69",
"manufacturer": "ryanbaekr",
- "url": "",
"maintainer": "ryanbaekr",
"usb": {
"vid": "0x7262",
@@ -29,7 +28,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false,
diff --git a/keyboards/ryanbaekr/rb86/keyboard.json b/keyboards/ryanbaekr/rb86/keyboard.json
index 5813a2fa7b..6cc5f0f9b0 100644
--- a/keyboards/ryanbaekr/rb86/keyboard.json
+++ b/keyboards/ryanbaekr/rb86/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "rb86",
"manufacturer": "ryanbaekr",
- "url": "",
"maintainer": "ryanbaekr",
"usb": {
"vid": "0x7262",
diff --git a/keyboards/ryanbaekr/rb87/keyboard.json b/keyboards/ryanbaekr/rb87/keyboard.json
index 6d19c3c29d..8c3bffdbfe 100644
--- a/keyboards/ryanbaekr/rb87/keyboard.json
+++ b/keyboards/ryanbaekr/rb87/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "rb87",
"manufacturer": "ryanbaekr",
- "url": "",
"maintainer": "ryanbaekr",
"development_board": "elite_c",
"pin_compatible": "elite_c",
@@ -31,7 +30,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false,
diff --git a/keyboards/ryanskidmore/rskeys100/keyboard.json b/keyboards/ryanskidmore/rskeys100/keyboard.json
index c77d3f4c90..27eae84a6e 100644
--- a/keyboards/ryanskidmore/rskeys100/keyboard.json
+++ b/keyboards/ryanskidmore/rskeys100/keyboard.json
@@ -158,7 +158,6 @@
},
"processor": "atmega32u4",
"bootloader": "atmel-dfu",
- "url": "",
"maintainer": "ryanskidmore",
"community_layouts": ["fullsize_iso"],
"layouts": {
diff --git a/keyboards/ryloo_studio/m0110/keyboard.json b/keyboards/ryloo_studio/m0110/keyboard.json
index 9eb4662e36..ae9535173a 100644
--- a/keyboards/ryloo_studio/m0110/keyboard.json
+++ b/keyboards/ryloo_studio/m0110/keyboard.json
@@ -12,7 +12,6 @@
"backlight": true,
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/s_ol/0xc_pad/keyboard.json b/keyboards/s_ol/0xc_pad/keyboard.json
index 4eb4bd9055..6623effb7a 100644
--- a/keyboards/s_ol/0xc_pad/keyboard.json
+++ b/keyboards/s_ol/0xc_pad/keyboard.json
@@ -8,7 +8,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/sakura_workshop/fuji75/info.json b/keyboards/sakura_workshop/fuji75/info.json
index 7b56fd4d72..604c504641 100644
--- a/keyboards/sakura_workshop/fuji75/info.json
+++ b/keyboards/sakura_workshop/fuji75/info.json
@@ -1,6 +1,5 @@
{
"manufacturer": "SakuraWorkshop",
- "url": "",
"maintainer": "Freather",
"processor": "atmega32u4",
"bootloader": "atmel-dfu",
diff --git a/keyboards/salane/ncr80alpsskfl/keyboard.json b/keyboards/salane/ncr80alpsskfl/keyboard.json
index ce3f10c685..5f7bae802a 100644
--- a/keyboards/salane/ncr80alpsskfl/keyboard.json
+++ b/keyboards/salane/ncr80alpsskfl/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "NCR80 ALPS SKFL",
"manufacturer": "Salane",
- "url": "",
"maintainer": "Mai The San",
"processor": "RP2040",
"bootloader": "rp2040",
diff --git a/keyboards/salane/starryfrl/keyboard.json b/keyboards/salane/starryfrl/keyboard.json
index 43e434cb02..9ca8cf81bc 100644
--- a/keyboards/salane/starryfrl/keyboard.json
+++ b/keyboards/salane/starryfrl/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Starry FRL",
"manufacturer": "Salane",
- "url": "",
"maintainer": "Mai The San",
"processor": "RP2040",
"bootloader": "rp2040",
@@ -19,7 +18,6 @@
"bootmagic": true,
"mousekey": true,
"extrakey": true,
- "console": false,
"command": false,
"nkro": false,
"rgblight": true,
diff --git a/keyboards/salicylic_acid3/7splus/keyboard.json b/keyboards/salicylic_acid3/7splus/keyboard.json
index d04b8ad45b..aa04293c9c 100644
--- a/keyboards/salicylic_acid3/7splus/keyboard.json
+++ b/keyboards/salicylic_acid3/7splus/keyboard.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": true,
"command": true,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": false,
diff --git a/keyboards/salicylic_acid3/ajisai74/keyboard.json b/keyboards/salicylic_acid3/ajisai74/keyboard.json
index 62d475d9df..c104c5a854 100644
--- a/keyboards/salicylic_acid3/ajisai74/keyboard.json
+++ b/keyboards/salicylic_acid3/ajisai74/keyboard.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false
diff --git a/keyboards/salicylic_acid3/ergoarrows/keyboard.json b/keyboards/salicylic_acid3/ergoarrows/keyboard.json
index 122d2e0ee6..a5ad1de718 100644
--- a/keyboards/salicylic_acid3/ergoarrows/keyboard.json
+++ b/keyboards/salicylic_acid3/ergoarrows/keyboard.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false,
diff --git a/keyboards/salicylic_acid3/guide68/keyboard.json b/keyboards/salicylic_acid3/guide68/keyboard.json
index 0714262858..b7e6a81d5c 100644
--- a/keyboards/salicylic_acid3/guide68/keyboard.json
+++ b/keyboards/salicylic_acid3/guide68/keyboard.json
@@ -7,7 +7,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"rgblight": true,
@@ -18,7 +17,6 @@
"rows": ["D4", "C6", "D7", "E6", "B4"]
},
"processor": "atmega32u4",
- "url": "",
"usb": {
"vid": "0x04D8",
"pid": "0xE6DD",
@@ -39,7 +37,6 @@
"twinkle": true
},
"sleep": true,
- "max_brightness": 255,
"split": true,
"split_count": [6, 6]
},
diff --git a/keyboards/salicylic_acid3/nafuda/keyboard.json b/keyboards/salicylic_acid3/nafuda/keyboard.json
index 87dceed05f..e3c84885cf 100644
--- a/keyboards/salicylic_acid3/nafuda/keyboard.json
+++ b/keyboards/salicylic_acid3/nafuda/keyboard.json
@@ -30,7 +30,6 @@
"features": {
"bootmagic": false,
"command": true,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false,
diff --git a/keyboards/salicylic_acid3/nknl7en/keyboard.json b/keyboards/salicylic_acid3/nknl7en/keyboard.json
index 554430f6c4..c047a34b77 100644
--- a/keyboards/salicylic_acid3/nknl7en/keyboard.json
+++ b/keyboards/salicylic_acid3/nknl7en/keyboard.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false,
diff --git a/keyboards/salicylic_acid3/nknl7jp/keyboard.json b/keyboards/salicylic_acid3/nknl7jp/keyboard.json
index b8a9196f88..496ac96a86 100644
--- a/keyboards/salicylic_acid3/nknl7jp/keyboard.json
+++ b/keyboards/salicylic_acid3/nknl7jp/keyboard.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false,
diff --git a/keyboards/sam/s80/keyboard.json b/keyboards/sam/s80/keyboard.json
index c721efdbd7..ee2e7c2a5d 100644
--- a/keyboards/sam/s80/keyboard.json
+++ b/keyboards/sam/s80/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "s8",
"manufacturer": "Sam",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0x534D",
@@ -12,7 +11,6 @@
"backlight": true,
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/sam/sg81m/keyboard.json b/keyboards/sam/sg81m/keyboard.json
index 66e0f1ab9c..f509504d0a 100644
--- a/keyboards/sam/sg81m/keyboard.json
+++ b/keyboards/sam/sg81m/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "SG81M",
"manufacturer": "Sam",
- "url": "",
"maintainer": "CMMS-Freather",
"usb": {
"vid": "0x534D",
@@ -11,7 +10,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/sanctified/dystopia/keyboard.json b/keyboards/sanctified/dystopia/keyboard.json
index 1911081fc2..cebf255416 100644
--- a/keyboards/sanctified/dystopia/keyboard.json
+++ b/keyboards/sanctified/dystopia/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Dystopia",
"manufacturer": "Sanctified.Works",
- "url": "",
"maintainer": "Sanctified",
"usb": {
"vid": "0x5357",
@@ -14,7 +13,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": false
diff --git a/keyboards/sandwich/keeb68/keyboard.json b/keyboards/sandwich/keeb68/keyboard.json
index ad3ced0da2..4d509d4a8b 100644
--- a/keyboards/sandwich/keeb68/keyboard.json
+++ b/keyboards/sandwich/keeb68/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Keeb68 (Patron Saint Edition)",
"manufacturer": "sandwich",
- "url": "",
"maintainer": "SandwichRising",
"usb": {
"vid": "0xFEED",
@@ -12,7 +11,6 @@
"backlight": true,
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/sapuseven/macropad12/keyboard.json b/keyboards/sapuseven/macropad12/keyboard.json
index 28e8c19bf8..93f535215c 100644
--- a/keyboards/sapuseven/macropad12/keyboard.json
+++ b/keyboards/sapuseven/macropad12/keyboard.json
@@ -7,7 +7,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/satt/comet46/keyboard.json b/keyboards/satt/comet46/keyboard.json
index 0092f19c79..cd96686d6c 100644
--- a/keyboards/satt/comet46/keyboard.json
+++ b/keyboards/satt/comet46/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Comet46",
"manufacturer": "SatT",
- "url": "",
"maintainer": "SatT",
"usb": {
"vid": "0xFEED",
diff --git a/keyboards/satt/vision/keyboard.json b/keyboards/satt/vision/keyboard.json
index 88ec732cd6..15bbced9f5 100644
--- a/keyboards/satt/vision/keyboard.json
+++ b/keyboards/satt/vision/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Vision",
"manufacturer": "SatT",
- "url": "",
"maintainer": "SatT",
"usb": {
"vid": "0x5454",
diff --git a/keyboards/sauce/mild/keyboard.json b/keyboards/sauce/mild/keyboard.json
index 5f827ec4be..d2ecd024a1 100644
--- a/keyboards/sauce/mild/keyboard.json
+++ b/keyboards/sauce/mild/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Mild",
"manufacturer": "Sauce",
- "url": "",
"maintainer": "andyywz",
"usb": {
"vid": "0x8367",
@@ -11,7 +10,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/sawnsprojects/amber80/solder/keyboard.json b/keyboards/sawnsprojects/amber80/solder/keyboard.json
index dc8e718fd6..37f8382f53 100644
--- a/keyboards/sawnsprojects/amber80/solder/keyboard.json
+++ b/keyboards/sawnsprojects/amber80/solder/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Amber80 Solder",
"manufacturer": "SawnsProjects X Yuutsu X Zlane",
- "url": "",
"maintainer": "SawnsProjects",
"usb": {
"vid": "0x5350",
diff --git a/keyboards/sawnsprojects/bunnygirl65/keyboard.json b/keyboards/sawnsprojects/bunnygirl65/keyboard.json
index 92dca8693d..3fab84c557 100644
--- a/keyboards/sawnsprojects/bunnygirl65/keyboard.json
+++ b/keyboards/sawnsprojects/bunnygirl65/keyboard.json
@@ -15,7 +15,6 @@
"rows": ["B4", "A15", "A3", "A8", "B14"]
},
"processor": "STM32F072",
- "url": "",
"usb": {
"device_version": "1.0.0",
"force_nkro": true,
diff --git a/keyboards/sawnsprojects/eclipse/eclipse60/keyboard.json b/keyboards/sawnsprojects/eclipse/eclipse60/keyboard.json
index 7586ed5a34..6035920a2f 100644
--- a/keyboards/sawnsprojects/eclipse/eclipse60/keyboard.json
+++ b/keyboards/sawnsprojects/eclipse/eclipse60/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Eclipse60",
"manufacturer": "Salane",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0x534C",
@@ -19,17 +18,14 @@
"bootmagic": true,
"mousekey": true,
"extrakey": true,
- "console": false,
"command": false,
"nkro": false,
"rgblight": true
},
"rgblight": {
"led_count": 18,
- "hue_steps": 8,
"saturation_steps": 8,
"brightness_steps": 8,
- "max_brightness": 255,
"sleep": true,
"animations": {
"alternating": true,
diff --git a/keyboards/sawnsprojects/eclipse/tinyneko/keyboard.json b/keyboards/sawnsprojects/eclipse/tinyneko/keyboard.json
index 80ae2558f2..25d7e4ac52 100644
--- a/keyboards/sawnsprojects/eclipse/tinyneko/keyboard.json
+++ b/keyboards/sawnsprojects/eclipse/tinyneko/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "tinyneko",
"manufacturer": "Salane",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0x534C",
@@ -19,17 +18,14 @@
"bootmagic": true,
"mousekey": true,
"extrakey": true,
- "console": false,
"command": false,
"nkro": false,
"rgblight": true
},
"rgblight": {
"led_count": 18,
- "hue_steps": 8,
"saturation_steps": 8,
"brightness_steps": 8,
- "max_brightness": 255,
"sleep": true,
"animations": {
"alternating": true,
diff --git a/keyboards/sawnsprojects/krush/krush65/hotswap/keyboard.json b/keyboards/sawnsprojects/krush/krush65/hotswap/keyboard.json
index ccb9165c5b..3f1b8f622f 100644
--- a/keyboards/sawnsprojects/krush/krush65/hotswap/keyboard.json
+++ b/keyboards/sawnsprojects/krush/krush65/hotswap/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Krush65 - Hotswap",
"manufacturer": "SawnsProjects",
- "url": "",
"maintainer": "MaiTheSan",
"usb": {
"vid": "0x5350",
diff --git a/keyboards/sawnsprojects/krush/krush65/solder/keyboard.json b/keyboards/sawnsprojects/krush/krush65/solder/keyboard.json
index a72c903d8c..bb4964f22c 100644
--- a/keyboards/sawnsprojects/krush/krush65/solder/keyboard.json
+++ b/keyboards/sawnsprojects/krush/krush65/solder/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Krush65 - Solder",
"manufacturer": "SawnsProjects",
- "url": "",
"maintainer": "MaiTheSan",
"usb": {
"vid": "0x5350",
diff --git a/keyboards/sawnsprojects/okayu/info.json b/keyboards/sawnsprojects/okayu/info.json
index 08c5afe688..74c5874b61 100644
--- a/keyboards/sawnsprojects/okayu/info.json
+++ b/keyboards/sawnsprojects/okayu/info.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Okayu",
"manufacturer": "Salane",
- "url": "",
"maintainer": "Mai The San",
"usb": {
"vid": "0x5350",
diff --git a/keyboards/sawnsprojects/plaque80/keyboard.json b/keyboards/sawnsprojects/plaque80/keyboard.json
index dd18cc12ee..623f1459f9 100644
--- a/keyboards/sawnsprojects/plaque80/keyboard.json
+++ b/keyboards/sawnsprojects/plaque80/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Plaque80",
"manufacturer": "SawnsProjects",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0x5350",
@@ -19,7 +18,6 @@
"bootmagic": true,
"mousekey": true,
"extrakey": true,
- "console": false,
"command": false,
"nkro": false,
"rgblight": true
diff --git a/keyboards/sawnsprojects/re65/keyboard.json b/keyboards/sawnsprojects/re65/keyboard.json
index 45e874db6d..a2d29894c3 100644
--- a/keyboards/sawnsprojects/re65/keyboard.json
+++ b/keyboards/sawnsprojects/re65/keyboard.json
@@ -2,7 +2,6 @@
"keyboard_name": "RE65",
"maintainer": "Salane",
"manufacturer": "Mai The San",
- "url": "",
"processor": "RP2040",
"bootloader": "rp2040",
"usb": {
@@ -14,7 +13,6 @@
"bootmagic": true,
"mousekey": true,
"extrakey": true,
- "console": false,
"command": false,
"nkro": true,
"rgblight": true,
diff --git a/keyboards/sawnsprojects/satxri6key/keyboard.json b/keyboards/sawnsprojects/satxri6key/keyboard.json
index 7049be25cf..3fc2f96eb0 100644
--- a/keyboards/sawnsprojects/satxri6key/keyboard.json
+++ b/keyboards/sawnsprojects/satxri6key/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Satxri6key",
"manufacturer": "MaiTheSan",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0x5350",
@@ -84,7 +83,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false
diff --git a/keyboards/sawnsprojects/vcl65/solder/keyboard.json b/keyboards/sawnsprojects/vcl65/solder/keyboard.json
index 4fc0f29766..10c10da8f2 100644
--- a/keyboards/sawnsprojects/vcl65/solder/keyboard.json
+++ b/keyboards/sawnsprojects/vcl65/solder/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "VCL65",
"manufacturer": "VCL x SawnsProjects",
- "url": "",
"maintainer": "MaiTheSan",
"usb": {
"vid": "0x5350",
diff --git a/keyboards/scatter42/keyboard.json b/keyboards/scatter42/keyboard.json
index 7bb7a63ffe..16471f9e2b 100644
--- a/keyboards/scatter42/keyboard.json
+++ b/keyboards/scatter42/keyboard.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false
diff --git a/keyboards/sck/gtm/keyboard.json b/keyboards/sck/gtm/keyboard.json
index 7ed3915114..88744edc84 100644
--- a/keyboards/sck/gtm/keyboard.json
+++ b/keyboards/sck/gtm/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "GTM Pad",
"manufacturer": "SpaceCityKeyboards",
- "url": "",
"maintainer": "jrfhoutx",
"usb": {
"vid": "0xFEED",
diff --git a/keyboards/sck/neiso/keyboard.json b/keyboards/sck/neiso/keyboard.json
index 15cec58849..28ea132e2f 100644
--- a/keyboards/sck/neiso/keyboard.json
+++ b/keyboards/sck/neiso/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "NEISO",
"manufacturer": "Space City Keyboards",
- "url": "",
"maintainer": "jrfhoutx",
"usb": {
"vid": "0xFEED",
diff --git a/keyboards/sck/osa/keyboard.json b/keyboards/sck/osa/keyboard.json
index 1cdd59367b..caff86da75 100644
--- a/keyboards/sck/osa/keyboard.json
+++ b/keyboards/sck/osa/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "OSA",
"manufacturer": "Space City Keyboards",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0x5343",
diff --git a/keyboards/scottokeebs/scotto34/keyboard.json b/keyboards/scottokeebs/scotto34/keyboard.json
index ecf3fed933..8b0dee8694 100644
--- a/keyboards/scottokeebs/scotto34/keyboard.json
+++ b/keyboards/scottokeebs/scotto34/keyboard.json
@@ -7,7 +7,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/scottokeebs/scotto69/keyboard.json b/keyboards/scottokeebs/scotto69/keyboard.json
index 144e7b3a7e..48c145abc3 100644
--- a/keyboards/scottokeebs/scotto69/keyboard.json
+++ b/keyboards/scottokeebs/scotto69/keyboard.json
@@ -12,7 +12,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"encoder": true,
"extrakey": true,
"mousekey": true,
diff --git a/keyboards/scottokeebs/scottowing/keyboard.json b/keyboards/scottokeebs/scottowing/keyboard.json
index 770e2fd18e..41693bd7cc 100644
--- a/keyboards/scottokeebs/scottowing/keyboard.json
+++ b/keyboards/scottokeebs/scottowing/keyboard.json
@@ -10,7 +10,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/sendyyeah/75pixels/keyboard.json b/keyboards/sendyyeah/75pixels/keyboard.json
index a9300bb19a..e72f6793a3 100644
--- a/keyboards/sendyyeah/75pixels/keyboard.json
+++ b/keyboards/sendyyeah/75pixels/keyboard.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": false,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/sendyyeah/bevi/keyboard.json b/keyboards/sendyyeah/bevi/keyboard.json
index e0c54f03db..2e59d930b3 100644
--- a/keyboards/sendyyeah/bevi/keyboard.json
+++ b/keyboards/sendyyeah/bevi/keyboard.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": false,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/sendyyeah/pix/keyboard.json b/keyboards/sendyyeah/pix/keyboard.json
index 6a9864cc35..d71fdff7c6 100644
--- a/keyboards/sendyyeah/pix/keyboard.json
+++ b/keyboards/sendyyeah/pix/keyboard.json
@@ -39,7 +39,6 @@
"features": {
"bootmagic": false,
"command": false,
- "console": false,
"encoder": true,
"extrakey": true,
"mousekey": true,
diff --git a/keyboards/senselessclay/ck60/keyboard.json b/keyboards/senselessclay/ck60/keyboard.json
index 0208ea24bc..66f0dafba7 100644
--- a/keyboards/senselessclay/ck60/keyboard.json
+++ b/keyboards/senselessclay/ck60/keyboard.json
@@ -42,7 +42,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": true,
diff --git a/keyboards/senselessclay/ck65/keyboard.json b/keyboards/senselessclay/ck65/keyboard.json
index 150479177d..b492cfa558 100644
--- a/keyboards/senselessclay/ck65/keyboard.json
+++ b/keyboards/senselessclay/ck65/keyboard.json
@@ -31,7 +31,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": true,
diff --git a/keyboards/senselessclay/gos65/keyboard.json b/keyboards/senselessclay/gos65/keyboard.json
index ee6bb5727a..f7f5ffa766 100644
--- a/keyboards/senselessclay/gos65/keyboard.json
+++ b/keyboards/senselessclay/gos65/keyboard.json
@@ -34,7 +34,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": true,
diff --git a/keyboards/senselessclay/had60/keyboard.json b/keyboards/senselessclay/had60/keyboard.json
index 03ace8014b..0dba4faf3c 100644
--- a/keyboards/senselessclay/had60/keyboard.json
+++ b/keyboards/senselessclay/had60/keyboard.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": true
diff --git a/keyboards/sentraq/s60_x/default/keyboard.json b/keyboards/sentraq/s60_x/default/keyboard.json
index 1f65b90775..799c5c16c0 100644
--- a/keyboards/sentraq/s60_x/default/keyboard.json
+++ b/keyboards/sentraq/s60_x/default/keyboard.json
@@ -3,7 +3,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false
diff --git a/keyboards/sentraq/s60_x/info.json b/keyboards/sentraq/s60_x/info.json
index 11ebdcd7d1..f8a28d9e85 100644
--- a/keyboards/sentraq/s60_x/info.json
+++ b/keyboards/sentraq/s60_x/info.json
@@ -1,6 +1,5 @@
{
"manufacturer": "Sentraq",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0xFEED",
diff --git a/keyboards/sentraq/s60_x/rgb/keyboard.json b/keyboards/sentraq/s60_x/rgb/keyboard.json
index c2be7f4356..226f5eecb4 100644
--- a/keyboards/sentraq/s60_x/rgb/keyboard.json
+++ b/keyboards/sentraq/s60_x/rgb/keyboard.json
@@ -4,7 +4,6 @@
"backlight": true,
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/sentraq/s65_plus/keyboard.json b/keyboards/sentraq/s65_plus/keyboard.json
index 01e2f0a275..afd14f8455 100644
--- a/keyboards/sentraq/s65_plus/keyboard.json
+++ b/keyboards/sentraq/s65_plus/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "S65-Plus",
"manufacturer": "Sentraq",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0xFEED",
@@ -12,7 +11,6 @@
"backlight": true,
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": true,
diff --git a/keyboards/sentraq/s65_x/keyboard.json b/keyboards/sentraq/s65_x/keyboard.json
index 0d0b0fc5fd..74f0aaffbd 100644
--- a/keyboards/sentraq/s65_x/keyboard.json
+++ b/keyboards/sentraq/s65_x/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "S65-X PCB",
"manufacturer": "Sentraq",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0xFEED",
@@ -12,7 +11,6 @@
"backlight": true,
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": true,
diff --git a/keyboards/sets3n/kk980/keyboard.json b/keyboards/sets3n/kk980/keyboard.json
index 1589b0a7b4..1211f84f52 100644
--- a/keyboards/sets3n/kk980/keyboard.json
+++ b/keyboards/sets3n/kk980/keyboard.json
@@ -32,7 +32,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/sha/keyboard.json b/keyboards/sha/keyboard.json
index 8bb4091843..5e7b2e3960 100644
--- a/keyboards/sha/keyboard.json
+++ b/keyboards/sha/keyboard.json
@@ -7,7 +7,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/shambles/keyboard.json b/keyboards/shambles/keyboard.json
index 34ec240cae..157360237c 100644
--- a/keyboards/shambles/keyboard.json
+++ b/keyboards/shambles/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Shambles TKL",
"manufacturer": "OsciX",
- "url": "",
"maintainer": "OsciX",
"usb": {
"vid": "0xFEED",
@@ -11,7 +10,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/shandoncodes/flygone60/rev3/keyboard.json b/keyboards/shandoncodes/flygone60/rev3/keyboard.json
index 6e2e62701f..04015cc488 100644
--- a/keyboards/shandoncodes/flygone60/rev3/keyboard.json
+++ b/keyboards/shandoncodes/flygone60/rev3/keyboard.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false
diff --git a/keyboards/shandoncodes/mino/hotswap/keyboard.json b/keyboards/shandoncodes/mino/hotswap/keyboard.json
index 5bd0b933ce..52ed12f39b 100644
--- a/keyboards/shandoncodes/mino/hotswap/keyboard.json
+++ b/keyboards/shandoncodes/mino/hotswap/keyboard.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false,
diff --git a/keyboards/shandoncodes/mino_plus/hotswap/keyboard.json b/keyboards/shandoncodes/mino_plus/hotswap/keyboard.json
index f181c610ed..b15a8e6316 100644
--- a/keyboards/shandoncodes/mino_plus/hotswap/keyboard.json
+++ b/keyboards/shandoncodes/mino_plus/hotswap/keyboard.json
@@ -7,7 +7,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
@@ -19,7 +18,6 @@
"rows": ["B14", "B10", "F0", "C15", "C14"]
},
"processor": "STM32F072",
- "url": "",
"usb": {
"device_version": "1.0.0",
"pid": "0x0004",
diff --git a/keyboards/shandoncodes/mino_plus/soldered/keyboard.json b/keyboards/shandoncodes/mino_plus/soldered/keyboard.json
index 2b717c4c59..b4c78ad28b 100644
--- a/keyboards/shandoncodes/mino_plus/soldered/keyboard.json
+++ b/keyboards/shandoncodes/mino_plus/soldered/keyboard.json
@@ -7,7 +7,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
@@ -19,7 +18,6 @@
"rows": ["B9", "B8", "A2", "A1", "A0"]
},
"processor": "STM32F072",
- "url": "",
"usb": {
"device_version": "1.0.0",
"pid": "0x0003",
diff --git a/keyboards/shandoncodes/riot_pad/keyboard.json b/keyboards/shandoncodes/riot_pad/keyboard.json
index 7ecb52d8e0..d68a0da390 100644
--- a/keyboards/shandoncodes/riot_pad/keyboard.json
+++ b/keyboards/shandoncodes/riot_pad/keyboard.json
@@ -7,7 +7,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"nkro": true,
"rgblight": true,
"extrakey": true
@@ -32,7 +31,6 @@
},
"led_count": 12
},
- "url": "",
"usb": {
"device_version": "1.0.0",
"pid": "0x1000",
diff --git a/keyboards/sharkoon/skiller_sgk50_s2/keyboard.json b/keyboards/sharkoon/skiller_sgk50_s2/keyboard.json
index 39d59ffa55..70b08ee880 100644
--- a/keyboards/sharkoon/skiller_sgk50_s2/keyboard.json
+++ b/keyboards/sharkoon/skiller_sgk50_s2/keyboard.json
@@ -14,7 +14,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
@@ -185,7 +184,6 @@
"val_steps": 28,
"sleep": true
},
- "url": "",
"usb": {
"device_version": "1.0.0",
"pid": "0x3662",
diff --git a/keyboards/sharkoon/skiller_sgk50_s3/keyboard.json b/keyboards/sharkoon/skiller_sgk50_s3/keyboard.json
index 6535ec63b7..e739b3775a 100644
--- a/keyboards/sharkoon/skiller_sgk50_s3/keyboard.json
+++ b/keyboards/sharkoon/skiller_sgk50_s3/keyboard.json
@@ -14,7 +14,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
@@ -169,7 +168,6 @@
"val_steps": 28,
"sleep": true
},
- "url": "",
"usb": {
"device_version": "1.0.0",
"pid": "0x3663",
diff --git a/keyboards/sharkoon/skiller_sgk50_s4/keyboard.json b/keyboards/sharkoon/skiller_sgk50_s4/keyboard.json
index b7a628fd78..9686cb15c3 100644
--- a/keyboards/sharkoon/skiller_sgk50_s4/keyboard.json
+++ b/keyboards/sharkoon/skiller_sgk50_s4/keyboard.json
@@ -14,7 +14,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
@@ -152,7 +151,6 @@
"sleep": true,
"val_steps": 28
},
- "url": "",
"usb": {
"device_version": "1.1.0",
"pid": "0x1020",
diff --git a/keyboards/shk9/keyboard.json b/keyboards/shk9/keyboard.json
index 968f2d91f7..fc769aaec4 100644
--- a/keyboards/shk9/keyboard.json
+++ b/keyboards/shk9/keyboard.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": true,
"command": true,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/shoc/keyboard.json b/keyboards/shoc/keyboard.json
index f044ab1b4e..5b98bb6dad 100644
--- a/keyboards/shoc/keyboard.json
+++ b/keyboards/shoc/keyboard.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": false,
"mousekey": false,
"nkro": false,
diff --git a/keyboards/shorty/keyboard.json b/keyboards/shorty/keyboard.json
index 158648badd..8310891c84 100644
--- a/keyboards/shorty/keyboard.json
+++ b/keyboards/shorty/keyboard.json
@@ -22,7 +22,6 @@
"rows": ["GP11", "GP10", "GP9", "GP29", "GP2"]
},
"processor": "RP2040",
- "url": "",
"usb": {
"device_version": "1.0.0",
"pid": "0x5400",
diff --git a/keyboards/shostudio/arc/keyboard.json b/keyboards/shostudio/arc/keyboard.json
index 33f9deb866..c1dd12e3db 100644
--- a/keyboards/shostudio/arc/keyboard.json
+++ b/keyboards/shostudio/arc/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "ARC",
"manufacturer": "Mechlovin Studio",
- "url": "",
"maintainer": "Shostudio",
"usb": {
"vid": "0x5050",
diff --git a/keyboards/sidderskb/majbritt/rev1/keyboard.json b/keyboards/sidderskb/majbritt/rev1/keyboard.json
index 717b4e85a0..bb18c1bb00 100644
--- a/keyboards/sidderskb/majbritt/rev1/keyboard.json
+++ b/keyboards/sidderskb/majbritt/rev1/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Majbritt Rev1",
"manufacturer": "SiddersKb",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0x534B",
diff --git a/keyboards/sidderskb/majbritt/rev2/keyboard.json b/keyboards/sidderskb/majbritt/rev2/keyboard.json
index 69c24b08ab..0fcde53bc4 100644
--- a/keyboards/sidderskb/majbritt/rev2/keyboard.json
+++ b/keyboards/sidderskb/majbritt/rev2/keyboard.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"encoder": true,
"extrakey": true,
"mousekey": false,
diff --git a/keyboards/singa/keyboard.json b/keyboards/singa/keyboard.json
index ef9176211b..12962eedfe 100644
--- a/keyboards/singa/keyboard.json
+++ b/keyboards/singa/keyboard.json
@@ -12,7 +12,6 @@
"backlight": true,
"bootmagic": false,
"command": true,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false,
diff --git a/keyboards/sirius/uni660/rev1/keyboard.json b/keyboards/sirius/uni660/rev1/keyboard.json
index 793edcc685..c98c121bb8 100644
--- a/keyboards/sirius/uni660/rev1/keyboard.json
+++ b/keyboards/sirius/uni660/rev1/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Uni660",
"manufacturer": "SiRius",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0x5352",
diff --git a/keyboards/sirius/uni660/rev2/ansi/keyboard.json b/keyboards/sirius/uni660/rev2/ansi/keyboard.json
index 3db9fb966a..df039af1dc 100644
--- a/keyboards/sirius/uni660/rev2/ansi/keyboard.json
+++ b/keyboards/sirius/uni660/rev2/ansi/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Uni660 V2 ANSI",
"manufacturer": "SiRius",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0x5352",
diff --git a/keyboards/sirius/uni660/rev2/iso/keyboard.json b/keyboards/sirius/uni660/rev2/iso/keyboard.json
index 0e5958c117..062ca4f07e 100644
--- a/keyboards/sirius/uni660/rev2/iso/keyboard.json
+++ b/keyboards/sirius/uni660/rev2/iso/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Uni660 V2 ISO",
"manufacturer": "SiRius",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0x5352",
diff --git a/keyboards/sixkeyboard/keyboard.json b/keyboards/sixkeyboard/keyboard.json
index 1c103e03b3..5c29dee16f 100644
--- a/keyboards/sixkeyboard/keyboard.json
+++ b/keyboards/sixkeyboard/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "SixKeyBoard",
"manufacturer": "TechKeys",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0x746B",
diff --git a/keyboards/skeletn87/hotswap/keyboard.json b/keyboards/skeletn87/hotswap/keyboard.json
index b0af230668..663236018c 100644
--- a/keyboards/skeletn87/hotswap/keyboard.json
+++ b/keyboards/skeletn87/hotswap/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Skeletn87 Hotswap",
"manufacturer": "BredWorks",
- "url": "",
"maintainer": "kb-elmo<[email protected]>",
"usb": {
"vid": "0xF984",
@@ -12,7 +11,6 @@
"backlight": true,
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": false,
diff --git a/keyboards/skeletn87/soldered/keyboard.json b/keyboards/skeletn87/soldered/keyboard.json
index 292914d8b4..22486837f7 100644
--- a/keyboards/skeletn87/soldered/keyboard.json
+++ b/keyboards/skeletn87/soldered/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Skeletn87",
"manufacturer": "BredWorks",
- "url": "",
"maintainer": "kb-elmo<[email protected]>",
"usb": {
"vid": "0xF984",
@@ -12,7 +11,6 @@
"backlight": true,
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": false,
diff --git a/keyboards/skeletonkbd/frost68/keyboard.json b/keyboards/skeletonkbd/frost68/keyboard.json
index 28b819e0d0..127c695aed 100644
--- a/keyboards/skeletonkbd/frost68/keyboard.json
+++ b/keyboards/skeletonkbd/frost68/keyboard.json
@@ -7,7 +7,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/skeletonkbd/skeletonnumpad/keyboard.json b/keyboards/skeletonkbd/skeletonnumpad/keyboard.json
index cd007f81b6..4d6a7edea9 100644
--- a/keyboards/skeletonkbd/skeletonnumpad/keyboard.json
+++ b/keyboards/skeletonkbd/skeletonnumpad/keyboard.json
@@ -32,7 +32,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false,
diff --git a/keyboards/skippys_custom_pcs/roopad/keyboard.json b/keyboards/skippys_custom_pcs/roopad/keyboard.json
index 0da722ff12..92cb0d1979 100644
--- a/keyboards/skippys_custom_pcs/roopad/keyboard.json
+++ b/keyboards/skippys_custom_pcs/roopad/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "RooPad",
"manufacturer": "ToastyStoemp",
- "url": "",
"maintainer": "ToastyStoemp",
"usb": {
"vid": "0x36B6",
diff --git a/keyboards/skme/zeno/keyboard.json b/keyboards/skme/zeno/keyboard.json
index bbea513ed5..e5c7142cc9 100644
--- a/keyboards/skme/zeno/keyboard.json
+++ b/keyboards/skme/zeno/keyboard.json
@@ -20,7 +20,6 @@
"bootmagic": true,
"mousekey": true,
"extrakey": true,
- "console": false,
"command": false,
"nkro": true
},
diff --git a/keyboards/skmt/15k/keyboard.json b/keyboards/skmt/15k/keyboard.json
index 9cf215f4d4..c16a970d1e 100644
--- a/keyboards/skmt/15k/keyboard.json
+++ b/keyboards/skmt/15k/keyboard.json
@@ -10,7 +10,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/skyloong/dt40/keyboard.json b/keyboards/skyloong/dt40/keyboard.json
index a79b48289a..1f15227a19 100644
--- a/keyboards/skyloong/dt40/keyboard.json
+++ b/keyboards/skyloong/dt40/keyboard.json
@@ -7,7 +7,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/skyloong/gk61/pro/keyboard.json b/keyboards/skyloong/gk61/pro/keyboard.json
index 5a2302a92c..67fa3be066 100644
--- a/keyboards/skyloong/gk61/pro/keyboard.json
+++ b/keyboards/skyloong/gk61/pro/keyboard.json
@@ -13,7 +13,6 @@
"features": {
"bootmagic": true,
"command": true,
- "console": false,
"encoder": true,
"extrakey": true,
"mousekey": true,
diff --git a/keyboards/skyloong/gk61/pro_48/keyboard.json b/keyboards/skyloong/gk61/pro_48/keyboard.json
index 0c7065ec48..399de2f5b0 100644
--- a/keyboards/skyloong/gk61/pro_48/keyboard.json
+++ b/keyboards/skyloong/gk61/pro_48/keyboard.json
@@ -13,7 +13,6 @@
"features": {
"bootmagic": true,
"command": true,
- "console": false,
"encoder": true,
"extrakey": true,
"mousekey": true,
diff --git a/keyboards/skyloong/gk61/v1/keyboard.json b/keyboards/skyloong/gk61/v1/keyboard.json
index 0bafe1bd4e..3d93d6355e 100644
--- a/keyboards/skyloong/gk61/v1/keyboard.json
+++ b/keyboards/skyloong/gk61/v1/keyboard.json
@@ -10,7 +10,6 @@
"mousekey": true,
"nkro": true,
"command": false,
- "console": false,
"rgb_matrix": true
},
"processor": "STM32F103",
diff --git a/keyboards/skyloong/qk21/v1/keyboard.json b/keyboards/skyloong/qk21/v1/keyboard.json
index 3f22fc0ccb..31f90acb52 100644
--- a/keyboards/skyloong/qk21/v1/keyboard.json
+++ b/keyboards/skyloong/qk21/v1/keyboard.json
@@ -7,7 +7,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/slz40/keyboard.json b/keyboards/slz40/keyboard.json
index 138c7d21cf..ba67dc7fc1 100644
--- a/keyboards/slz40/keyboard.json
+++ b/keyboards/slz40/keyboard.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false
diff --git a/keyboards/smallkeyboard/keyboard.json b/keyboards/smallkeyboard/keyboard.json
index 9963d83a47..dfbdee1cdd 100644
--- a/keyboards/smallkeyboard/keyboard.json
+++ b/keyboards/smallkeyboard/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "smallkeyboard",
"manufacturer": "zhouqiong19840119",
- "url": "",
"maintainer": "zhouqiong19840119",
"usb": {
"vid": "0x7A71",
diff --git a/keyboards/smithrune/iron160/iron160_h/keyboard.json b/keyboards/smithrune/iron160/iron160_h/keyboard.json
index c1dd4c9f54..c0c0eb1221 100644
--- a/keyboards/smithrune/iron160/iron160_h/keyboard.json
+++ b/keyboards/smithrune/iron160/iron160_h/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "I160-H",
"manufacturer": "SmithRune",
- "url": "",
"maintainer": "Gondolindrim",
"usb": {
"vid": "0x8384",
diff --git a/keyboards/smithrune/iron160/iron160_s/keyboard.json b/keyboards/smithrune/iron160/iron160_s/keyboard.json
index fc14114826..d247ce3253 100644
--- a/keyboards/smithrune/iron160/iron160_s/keyboard.json
+++ b/keyboards/smithrune/iron160/iron160_s/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "I160-S",
"manufacturer": "SmithRune",
- "url": "",
"maintainer": "Gondolindrim",
"usb": {
"vid": "0x8384",
diff --git a/keyboards/smithrune/iron165r2/info.json b/keyboards/smithrune/iron165r2/info.json
index cff9a97cb7..c0fb3634c3 100644
--- a/keyboards/smithrune/iron165r2/info.json
+++ b/keyboards/smithrune/iron165r2/info.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Iron165R2",
"manufacturer": "SmithRune",
- "url": "",
"maintainer": "Gondolindrim",
"usb": {
"vid": "0x8384",
diff --git a/keyboards/smithrune/iron180/keyboard.json b/keyboards/smithrune/iron180/keyboard.json
index b0c6e1a8ff..23ffa323af 100644
--- a/keyboards/smithrune/iron180/keyboard.json
+++ b/keyboards/smithrune/iron180/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Iron180 V1",
"manufacturer": "SmithRune",
- "url": "",
"maintainer": "Gondolindrim",
"usb": {
"vid": "0x8384",
diff --git a/keyboards/smithrune/iron180v2/v2h/keyboard.json b/keyboards/smithrune/iron180v2/v2h/keyboard.json
index 1580a12b8c..fae25b8c65 100644
--- a/keyboards/smithrune/iron180v2/v2h/keyboard.json
+++ b/keyboards/smithrune/iron180v2/v2h/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Iron180H v2",
"manufacturer": "SmithRune",
- "url": "",
"maintainer": "Gondolindrim",
"usb": {
"vid": "0x8384",
@@ -15,7 +14,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/smithrune/iron180v2/v2s/keyboard.json b/keyboards/smithrune/iron180v2/v2s/keyboard.json
index f8f27f4cc1..3489d8f177 100644
--- a/keyboards/smithrune/iron180v2/v2s/keyboard.json
+++ b/keyboards/smithrune/iron180v2/v2s/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Iron180 Sv2",
"manufacturer": "SmithRune",
- "url": "",
"maintainer": "Gondolindrim",
"usb": {
"vid": "0x8384",
@@ -16,7 +15,6 @@
"backlight": true,
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/smithrune/magnus/m75h/keyboard.json b/keyboards/smithrune/magnus/m75h/keyboard.json
index 325db7d1da..4b5c0974c1 100644
--- a/keyboards/smithrune/magnus/m75h/keyboard.json
+++ b/keyboards/smithrune/magnus/m75h/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Magnus M75H",
"manufacturer": "SmithRune",
- "url": "",
"maintainer": "Gondolindrim",
"usb": {
"vid": "0x8384",
@@ -19,7 +18,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/smithrune/magnus/m75s/keyboard.json b/keyboards/smithrune/magnus/m75s/keyboard.json
index 352b529bb0..911f3ff7d8 100644
--- a/keyboards/smithrune/magnus/m75s/keyboard.json
+++ b/keyboards/smithrune/magnus/m75s/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Magnus M75S",
"manufacturer": "SmithRune",
- "url": "",
"maintainer": "Gondolindrim",
"usb": {
"vid": "0x8384",
@@ -20,7 +19,6 @@
"backlight": true,
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/smk60/keyboard.json b/keyboards/smk60/keyboard.json
index 67265a667c..484b76ad05 100644
--- a/keyboards/smk60/keyboard.json
+++ b/keyboards/smk60/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "SMK60",
"manufacturer": "astro",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0xDEAD",
@@ -31,7 +30,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": true,
diff --git a/keyboards/smoll/lefty/info.json b/keyboards/smoll/lefty/info.json
index c34e264176..0cfe860ded 100644
--- a/keyboards/smoll/lefty/info.json
+++ b/keyboards/smoll/lefty/info.json
@@ -9,7 +9,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": false,
diff --git a/keyboards/snampad/keyboard.json b/keyboards/snampad/keyboard.json
index e2a269d5c7..b835f0bf35 100644
--- a/keyboards/snampad/keyboard.json
+++ b/keyboards/snampad/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "snampad",
"manufacturer": "Snamellit",
- "url": "",
"maintainer": "ptillemans",
"usb": {
"vid": "0xFEED",
diff --git a/keyboards/sneakbox/aliceclone/keyboard.json b/keyboards/sneakbox/aliceclone/keyboard.json
index bb0cd8e4b8..0cde1275c4 100644
--- a/keyboards/sneakbox/aliceclone/keyboard.json
+++ b/keyboards/sneakbox/aliceclone/keyboard.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"encoder": true,
"extrakey": true,
"mousekey": true,
diff --git a/keyboards/sneakbox/aliceclonergb/keyboard.json b/keyboards/sneakbox/aliceclonergb/keyboard.json
index be3d48fa87..539404b338 100644
--- a/keyboards/sneakbox/aliceclonergb/keyboard.json
+++ b/keyboards/sneakbox/aliceclonergb/keyboard.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"encoder": true,
"extrakey": true,
"mousekey": true,
diff --git a/keyboards/sneakbox/ava/keyboard.json b/keyboards/sneakbox/ava/keyboard.json
index 41712f7e95..94369ad467 100644
--- a/keyboards/sneakbox/ava/keyboard.json
+++ b/keyboards/sneakbox/ava/keyboard.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"encoder": true,
"extrakey": true,
"mousekey": true,
diff --git a/keyboards/sneakbox/disarray/ortho/keyboard.json b/keyboards/sneakbox/disarray/ortho/keyboard.json
index 31a201e0d2..994b0cd115 100644
--- a/keyboards/sneakbox/disarray/ortho/keyboard.json
+++ b/keyboards/sneakbox/disarray/ortho/keyboard.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"encoder": true,
"extrakey": true,
"mousekey": true,
diff --git a/keyboards/sneakbox/disarray/staggered/keyboard.json b/keyboards/sneakbox/disarray/staggered/keyboard.json
index 4631795130..a03c80948c 100644
--- a/keyboards/sneakbox/disarray/staggered/keyboard.json
+++ b/keyboards/sneakbox/disarray/staggered/keyboard.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"encoder": true,
"extrakey": true,
"mousekey": true,
diff --git a/keyboards/snes_macropad/keyboard.json b/keyboards/snes_macropad/keyboard.json
index 91ee332357..c9d5e2aa59 100644
--- a/keyboards/snes_macropad/keyboard.json
+++ b/keyboards/snes_macropad/keyboard.json
@@ -19,7 +19,6 @@
"driver": "vendor"
},
"processor": "RP2040",
- "url": "",
"usb": {
"device_version": "1.0.0",
"pid": "0x0000",
diff --git a/keyboards/soda/cherish/keyboard.json b/keyboards/soda/cherish/keyboard.json
index b256e93965..9235fe3b3e 100644
--- a/keyboards/soda/cherish/keyboard.json
+++ b/keyboards/soda/cherish/keyboard.json
@@ -1,6 +1,5 @@
{
"keyboard_name": "Cherish-75",
- "url": "",
"maintainer": "gezhaoyou",
"manufacturer": "gezhaoyou",
"usb": {
diff --git a/keyboards/sofle/keyhive/keyboard.json b/keyboards/sofle/keyhive/keyboard.json
index 8c76e875b0..720327b75d 100644
--- a/keyboards/sofle/keyhive/keyboard.json
+++ b/keyboards/sofle/keyhive/keyboard.json
@@ -1,5 +1,4 @@
{
- "keyboard_name": "Sofle",
"manufacturer": "Keyhive",
"development_board": "elite_c",
"usb": {
diff --git a/keyboards/sofle/keyhive/readme.md b/keyboards/sofle/keyhive/readme.md
deleted file mode 100644
index 3847dfe6bb..0000000000
--- a/keyboards/sofle/keyhive/readme.md
+++ /dev/null
@@ -1,54 +0,0 @@
-# Keyhive Sofle Keyboard
-
-![SofleKeyboard version 2.1 RGB Keyhive](https://i.imgur.com/WH9OoWuh.jpg)
-
-Sofle is 6×4+5 keys column-staggered split keyboard. Based on Lily58, Corne and Helix keyboards.
-
-For details about the keyboard design, refer to Josef's blog: [Sofle Keyboard - a split keyboard based on Lily58 and Crkbd](https://josef-adamcik.cz/electronics/let-me-introduce-you-sofle-keyboard-split-keyboard-based-on-lily58.html)
-
-Build guide: [Keyhive Sofle RGB build guide](https://github.com/keyhive/build_guides/blob/master/docs/keyboards/sofle-rgb.md)
-
-* Keyboard Maintainer: [Winder](https://github.com/winder)
-* Hardware Supported: Keyhive Sofle RGB, ProMicro / Elite-C
-* Hardware Availability: [Keyhive](https://keyhive.xyz/shop/sofle)
-
-### Acknowledgements
-
-* Solartempest - the image on this page and most of the code is either copied directly or inspired by their fork. [Solartempest's fork.](https://github.com/solartempest/qmk_firmware/tree/master/keyboards/solartempest/sofle).
-* [Keyhive fork](https://github.com/keyhive/qmk_firmware) defined all of the board settings.
-
-# Supported Keymaps
-
-The keyhive schematic has been slightly modified compared to the open source sofle and not all keymaps are compatible.
-
-* **default**: Basic functionality, no rgb, no VIA.
-* [keyhive_via](../keymaps/keyhive_via/readme.md) - Includes rgblighting and special support for remapping encoders with VIA.
-* **Other**: may work but backwards compatibility is not guaranteed or tested.
-
-# VIA Support
-As of 1.3.1, the VIA tool does not support Keyhive/Sofle V2 out of the box.
-See [keyhive_via](../keymaps/keyhive_via/readme.md) for details about configuring and using VIA.
-
-# Compiling
-
-Make example for this keyboard (after setting up your build environment):
-
- make sofle/keyhive:default
-
-## Flashing
-
-Flash using the correct command below (or use QMK Toolbox). These commands can be mixed if, for example, you have an Elite C on the left and a pro micro on the right.
-
-Press reset button on the keyboard when asked.
-
-Disconnect the first half, connect the second one and repeat the process.
-
- # for Pro Micro-based builds
- make sofle/keyhive:default:avrdude-split-left
- make sofle/keyhive:default:avrdude-split-right
-
- # for Elite C or DFU bootloader builds
- make sofle/keyhive:default:dfu-split-left
- make sofle/keyhive:default:dfu-split-right
-
-See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
diff --git a/keyboards/sofle/keymaps/rgb_default/config.h b/keyboards/sofle/keymaps/rgb_default/config.h
deleted file mode 100644
index 564133ce7a..0000000000
--- a/keyboards/sofle/keymaps/rgb_default/config.h
+++ /dev/null
@@ -1,124 +0,0 @@
- /* Copyright 2021 Dane Evans
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
- #pragma once
-
-
-//#define USE_MATRIX_I2C
-
-/* Select hand configuration */
-
-///https://thomasbaart.nl/2018/12/01/reducing-firmware-size-in-qmk/
-
-#define CUSTOM_FONT
-
-#define CUSTOM_LAYER_READ //if you remove this it causes issues - needs better guarding
-
-
-#define QUICK_TAP_TERM 0
-#ifdef TAPPING_TERM
- #undef TAPPING_TERM
- #define TAPPING_TERM 200
-#endif
-#define ENCODER_DIRECTION_FLIP
-
-
-#define RGBLIGHT_SLEEP
-//
-#define RGBLIGHT_LAYERS
-
-/* ws2812 RGB LED */
-#define WS2812_DI_PIN D3
-
-
-#ifdef RGB_MATRIX_ENABLE
-#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 RGBLIGHT_LED_COUNT
-
- //#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_LED_COUNT 70
- #undef RGBLED_SPLIT
- #define RGBLED_SPLIT { 35, 35 } // haven't figured out how to use this yet
-
- //#define RGBLIGHT_LED_COUNT 30
- #undef RGBLIGHT_LIMIT_VAL
- #define RGBLIGHT_LIMIT_VAL 120
- #define RGBLIGHT_HUE_STEP 10
- #define RGBLIGHT_SAT_STEP 17
- #define RGBLIGHT_VAL_STEP 17
-#endif
-
-#ifdef RGB_MATRIX_ENABLE
-# define RGB_MATRIX_KEYPRESSES // reacts to keypresses
-// # define RGB_MATRIX_KEYRELEASES // reacts to keyreleases (instead of keypresses)
-# 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)
-# 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_GRADIENT_LEFT_RIGHT
-
-# define RGB_MATRIX_HUE_STEP 8
-# define RGB_MATRIX_SAT_STEP 8
-# define RGB_MATRIX_VAL_STEP 8
-# define RGB_MATRIX_SPD_STEP 10
-
-/* Disable the animations you don't want/need. You will need to disable a good number of these *
- * because they take up a lot of space. Disable until you can successfully compile your firmware. */
- // # undef ENABLE_RGB_MATRIX_ALPHAS_MODS
- // # undef ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
- // # 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_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_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
-#endif
diff --git a/keyboards/sofle/keymaps/rgb_default/keymap.c b/keyboards/sofle/keymaps/rgb_default/keymap.c
deleted file mode 100644
index e992cf9adb..0000000000
--- a/keyboards/sofle/keymaps/rgb_default/keymap.c
+++ /dev/null
@@ -1,559 +0,0 @@
-
- /* Copyright 2021 Dane Evans
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
- // SOFLE RGB
-#include <stdio.h>
-
-#include QMK_KEYBOARD_H
-
-#define INDICATOR_BRIGHTNESS 30
-
-#define HSV_OVERRIDE_HELP(h, s, v, Override) h, s , Override
-#define HSV_OVERRIDE(hsv, Override) HSV_OVERRIDE_HELP(hsv,Override)
-
-// Light combinations
-#define SET_INDICATORS(hsv) \
- {0, 1, HSV_OVERRIDE_HELP(hsv, INDICATOR_BRIGHTNESS)}, \
- {35+0, 1, hsv}
-#define SET_UNDERGLOW(hsv) \
- {1, 6, hsv}, \
- {35+1, 6,hsv}
-#define SET_NUMPAD(hsv) \
- {35+15, 5, hsv},\
- {35+22, 3, hsv},\
- {35+27, 3, hsv}
-#define SET_NUMROW(hsv) \
- {10, 2, hsv}, \
- {20, 2, hsv}, \
- {30, 2, hsv}, \
- {35+ 10, 2, hsv}, \
- {35+ 20, 2, hsv}, \
- {35+ 30, 2, hsv}
-#define SET_INNER_COL(hsv) \
- {33, 4, hsv}, \
- {35+ 33, 4, hsv}
-
-#define SET_OUTER_COL(hsv) \
- {7, 4, hsv}, \
- {35+ 7, 4, hsv}
-#define SET_THUMB_CLUSTER(hsv) \
- {25, 2, hsv}, \
- {35+ 25, 2, hsv}
-#define SET_LAYER_ID(hsv) \
- {0, 1, HSV_OVERRIDE_HELP(hsv, INDICATOR_BRIGHTNESS)}, \
- {35+0, 1, HSV_OVERRIDE_HELP(hsv, INDICATOR_BRIGHTNESS)}, \
- {1, 6, hsv}, \
- {35+1, 6, hsv}, \
- {7, 4, hsv}, \
- {35+ 7, 4, hsv}, \
- {25, 2, hsv}, \
- {35+ 25, 2, hsv}
-
-
-enum sofle_layers {
- _DEFAULTS = 0,
- _QWERTY = 0,
- _COLEMAK,
- _COLEMAKDH,
- _LOWER,
- _RAISE,
- _ADJUST,
- _NUMPAD,
- _SWITCH
-};
-
-enum custom_keycodes {
- KC_LOWER = SAFE_RANGE,
- KC_RAISE,
- KC_ADJUST,
- KC_D_MUTE
-};
-
-#define KC_QWERTY PDF(_QWERTY)
-#define KC_COLEMAK PDF(_COLEMAK)
-#define KC_COLEMAKDH PDF(_COLEMAKDH)
-
-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 | Bspc |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * |LShift| A | S | D | F | G |-------. ,-------| H | J | K | L | ; | ' |
- * |------+------+------+------+------+------| MUTE | |DISCORD|------+------+------+------+------+------|
- * | LCTR | Z | X | C | V | B |-------| |-------| N | M | , | . | / |LShift|
- * `-----------------------------------------/ / \ \-----------------------------------------'
- * | Bspc | WIN |LOWER | Enter| /Space / \Enter \ |SPACE |RAISE | RCTR | RAlt |
- * | | | | |/ / \ \ | | | | |
- * `----------------------------------' '------''---------------------------'
- */
- [_QWERTY] = LAYOUT(
- //,------------------------------------------------. ,---------------------------------------------------.
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, LT(_SWITCH,KC_6), KC_7, KC_8, KC_9, KC_0, KC_GRV,
- //|------+-------+--------+--------+--------+------| |--------+-------+--------+--------+--------+---------|
- LT(_NUMPAD,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_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_MUTE, KC_D_MUTE,KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_LSFT,
- //|------+-------+--------+--------+--------+------| === | | === |--------+-------+--------+--------+--------+---------|
- KC_BSPC, KC_LGUI, KC_LOWER, KC_SPC, KC_ENT , KC_SPC, KC_ENT , KC_RAISE, KC_RCTL, KC_RALT
- // \--------+--------+--------+---------+-------| |--------+---------+--------+---------+-------/
-),
-
-/*
- * COLEMAK
- * ,-----------------------------------------. ,-----------------------------------------.
- * | ESC | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | ` |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | TAB | Q | W | F | P | G | | J | L | U | Y | ; | Bspc |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * |LShift| A | R | S | T | D |-------. ,-------| H | N | E | I | O | ' |
- * |------+------+------+------+------+------| MUTE | |DISCORD|------+------+------+------+------+------|
- * | LCTR | Z | X | C | V | B |-------| |-------| K | M | , | . | / |LShift|
- * `-----------------------------------------/ / \ \-----------------------------------------'
- * | Bspc | WIN |LOWER | Enter| /Space / \Enter \ |SPACE |RAISE | RCTR | RAlt |
- * | | | | |/ / \ \ | | | | |
- * `----------------------------------' '------''---------------------------'
- */
-[_COLEMAK] = LAYOUT(
- //,------------------------------------------------. ,---------------------------------------------------.
- KC_TRNS, KC_1, KC_2, KC_3, KC_4, KC_5, LT(_SWITCH,KC_6), KC_7, KC_8, KC_9, KC_0, KC_TRNS,
- //|------+-------+--------+--------+--------+------| |--------+-------+--------+--------+--------+---------|
- KC_TRNS, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_TRNS,
- //|------+-------+--------+--------+--------+------| |--------+-------+--------+--------+--------+---------|
- KC_TRNS, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_TRNS,
- //|------+-------+--------+--------+--------+------| === | | === |--------+-------+--------+--------+--------+---------|
- KC_TRNS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_TRNS, KC_TRNS,KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_TRNS,
- //|------+-------+--------+--------+--------+------| === | | === |--------+-------+--------+--------+--------+---------|
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- // \--------+--------+--------+---------+-------| |--------+---------+--------+---------+-------/
-),
-
-/*
- * COLEMAK-DH
- * ,-----------------------------------------. ,-----------------------------------------.
- * | ESC | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | ` |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | TAB | Q | W | F | P | B | | J | L | U | Y | ; | Bspc |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * |LShift| A | R | S | T | G |-------. ,-------| M | N | E | I | O | ' |
- * |------+------+------+------+------+------| MUTE | |DISCORD|------+------+------+------+------+------|
- * | LCTR | Z | X | C | D | V |-------| |-------| K | H | , | . | / |LShift|
- * `-----------------------------------------/ / \ \-----------------------------------------'
- * | Bspc | WIN |LOWER | Enter| /Space / \Enter \ |SPACE |RAISE | RCTR | RAlt |
- * | | | | |/ / \ \ | | | | |
- * `----------------------------------' '------''---------------------------'
- */
-[_COLEMAKDH] = LAYOUT(
- //,------------------------------------------------. ,---------------------------------------------------.
- KC_TRNS, KC_1, KC_2, KC_3, KC_4, KC_5, LT(_SWITCH,KC_6), KC_7, KC_8, KC_9, KC_0, KC_TRNS,
- //|------+-------+--------+--------+--------+------| |--------+-------+--------+--------+--------+---------|
- KC_TRNS, KC_Q, KC_W, KC_F, KC_P, KC_B, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_TRNS,
- //|------+-------+--------+--------+--------+------| |--------+-------+--------+--------+--------+---------|
- KC_TRNS, KC_A, KC_R, KC_S, KC_T, KC_G, KC_M, KC_N, KC_E, KC_I, KC_O, KC_TRNS,
- //|------+-------+--------+--------+--------+------| === | | === |--------+-------+--------+--------+--------+---------|
- KC_TRNS, KC_Z, KC_X, KC_C, KC_D, KC_V, KC_TRNS, KC_TRNS,KC_K, KC_H, KC_COMM, KC_DOT, KC_SLSH, KC_TRNS,
- //|------+-------+--------+--------+--------+------| === | | === |--------+-------+--------+--------+--------+---------|
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- // \--------+--------+--------+---------+-------| |--------+---------+--------+---------+-------/
-),
-
-/* LOWER
- * ,-----------------------------------------. ,-----------------------------------------.
- * | trans| F1 | F2 | F3 | F4 | F5 | | F6 | F7 | F8 | F9 | F10 | F11 |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | ` | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | F12 |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | trans| ! | @ | # | $ | % |-------. ,-------| ^ | & | * | ( | ) | | |
- * |------+------+------+------+------+------| MUTE | | |------+------+------+------+------+------|
- * | trans| = | - | + | { | } |-------| |-------| [ | ] | ; | : | \ | Shift|
- * `-----------------------------------------/ / \ \-----------------------------------------'
- * | Bspc | WIN |LOWER | Enter| /Space / \Enter \ |SPACE |RAISE | RCTR | RAlt |
- * | | | | |/ / \ \ | | | | |
- * `----------------------------------' '------''---------------------------'
- */
-[_LOWER] = LAYOUT(
- //,------------------------------------------------. ,---------------------------------------------------.
- _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11,
- //|------+-------+--------+--------+--------+------| |--------+-------+--------+--------+--------+---------|
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC,
- //|------+-------+--------+--------+--------+------| |--------+-------+--------+--------+--------+---------|
- _______, KC_NO, KC_NO, KC_NO, KC_WH_U, KC_PGUP, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_NO, KC_DEL,
- //|------+-------+--------+--------+--------+------| === | | === |--------+-------+--------+--------+--------+---------|
- _______, KC_NO, KC_NO, KC_NO, KC_WH_D, KC_PGDN,_______, _______,KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, _______,
- //|------+-------+--------+--------+--------+------| === | | === |--------+-------+--------+--------+--------+---------|
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- // \--------+--------+--------+---------+-------| |--------+---------+--------+---------+-------/
-),
-/* RAISE
- * ,----------------------------------------. ,-----------------------------------------.
- * | | | | | | | | | | | | | |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | Esc | Ins | Pscr | Menu | | | | | 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(
- //,------------------------------------------------. ,---------------------------------------------------.
- _______, _______ , _______ , _______ , _______ , _______, _______, _______ , _______, _______ , _______ ,_______,
- //|------+-------+--------+--------+--------+------| |--------+-------+--------+--------+--------+---------|
- _______, KC_INS, KC_PSCR, KC_APP, XXXXXXX, XXXXXXX, KC_CIRC, KC_AMPR,KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC,
- //|------+-------+--------+--------+--------+------| |--------+-------+--------+--------+--------+---------|
- _______, KC_LALT, KC_LCTL, KC_LSFT, XXXXXXX, KC_CAPS, KC_MINS, KC_EQL, KC_LCBR, KC_RCBR, KC_PIPE, KC_GRV,
- //|------+-------+--------+--------+--------+------| === | | === |--------+-------+--------+--------+--------+---------|
- _______,KC_UNDO, KC_CUT, KC_COPY, KC_PASTE, XXXXXXX,_______, _______,KC_UNDS, KC_PLUS,KC_LBRC, KC_RBRC, KC_BSLS, KC_TILD,
- //|------+-------+--------+--------+--------+------| === | | === |--------+-------+--------+--------+--------+---------|
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- // \--------+--------+--------+---------+-------| |--------+---------+--------+---------+-------/
-),
-/* ADJUST
- * ,-----------------------------------------. ,-----------------------------------------.
- * | | | | | | | | | | | | | |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | QK_BOOT| | | | | | | | | | | | |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * |UG_TOGG|hue^ |sat ^ | bri ^| |COLEMAK|-------. ,-------|desk <| | |desk >| | |
- * |------+------+------+------+------+------| MUTE | | |------+------+------+------+------+------|
- * | mode | hue dn|sat d|bri dn| |QWERTY|-------| |-------| | PREV | PLAY | NEXT | | |
- * `-----------------------------------------/ / \ \-----------------------------------------'
- * | LGUI | LAlt | LCTR |LOWER | /Enter / \Space \ |RAISE | RCTR | RAlt | RGUI |
- * | | | | |/ / \ \ | | | | |
- * `----------------------------------' '------''---------------------------'
- */
- [_ADJUST] = LAYOUT(
- //,------------------------------------------------. ,---------------------------------------------------.
- EE_CLR, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
- //|------+-------+--------+--------+--------+------| |--------+-------+--------+--------+--------+---------|
- QK_BOOT, XXXXXXX,XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
- //|------+-------+--------+--------+--------+------| |--------+-------+--------+--------+--------+---------|
- UG_TOGG, UG_HUEU,UG_SATU, UG_VALU, KC_COLEMAKDH,KC_COLEMAK, C(G(KC_LEFT)),KC_NO,KC_NO,C(G(KC_RGHT)),XXXXXXX, XXXXXXX,
- //|------+-------+--------+--------+--------+------| === | | === |--------+-------+--------+--------+--------+---------|
- UG_NEXT, UG_HUED,UG_SATD, UG_VALD, XXXXXXX,KC_QWERTY,XXXXXXX, XXXXXXX, XXXXXXX, KC_MPRV, KC_MPLY, KC_MNXT, XXXXXXX, XXXXXXX,
- //|------+-------+--------+--------+--------+------| === | | === |--------+-------+--------+--------+--------+---------|
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- // \--------+--------+--------+---------+-------| |--------+---------+--------+---------+-------/
-),
-/* NUMPAD
- * ,-----------------------------------------. ,-----------------------------------------.
- * | trans| | | | | | | |NumLck| | | | |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | ` | | | | | | | ^ | 7 | 8 | 9 | * | |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | trans| | | | | |-------. ,-------| - | 4 | 5 | 6 | | | |
- * |------+------+------+------+------+------| MUTE | | |------+------+------+------+------+------|
- * | trans| | | | | |-------| |-------| + | 1 | 2 | 3 | \ | Shift|
- * `-----------------------------------------/ / \ \-----------------------------------------'
- * | Bspc | WIN |LOWER | Enter| /Space / \Enter \ |SPACE | 0 | . | RAlt |
- * | | | | |/ / \ \ | | | | |
- * `----------------------------------' '------''---------------------------'
- */
-[_NUMPAD] = LAYOUT(
- //,------------------------------------------------. ,---------------------------------------------------.
- _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, KC_NUM, XXXXXXX, XXXXXXX,XXXXXXX, XXXXXXX,
- //|------+-------+--------+--------+--------+------| |--------+-------+--------+--------+--------+---------|
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_CIRC, KC_P7, KC_P8, KC_P9, KC_ASTR, XXXXXXX,
- //|------+-------+--------+--------+--------+------| |--------+-------+--------+--------+--------+---------|
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_MINS, KC_P4, KC_P5, KC_P6, KC_EQL, KC_PIPE,
- //|------+-------+--------+--------+--------+------| === | | === |--------+-------+--------+--------+--------+---------|
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,_______, _______,KC_PLUS, KC_P1, KC_P2, KC_P3, KC_SLSH, _______,
- //|------+-------+--------+--------+--------+------| === | | === |--------+-------+--------+--------+--------+---------|
- _______, OSM(MOD_MEH), _______, _______, _______, _______, _______, KC_P0, KC_PDOT, _______
- // \--------+--------+--------+---------+-------| |--------+---------+--------+---------+-------/
-),
-
-/* SWITCH
- * ,-----------------------------------------. ,-----------------------------------------.
- * | | | | | | | | | | | | | |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | qwer | cole |col_dh| low | raise| adj | |numpad| | | | |QK_BOOT |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | | | | | | |-------. ,-------| | | | | |EE_CLR|
- * |------+------+------+------+------+------| MUTE | | |------+------+------+------+------+------|
- * | SLEEP| | | | | |-------| |-------| | | | | | |
- * `-----------------------------------------/ / \ \-----------------------------------------'
- * | Bspc | WIN |LOWER | Enter| /Space / \Enter \ |SPACE | 0 | . | RAlt |
- * | | | | |/ / \ \ | | | | |
- * `----------------------------------' '------''---------------------------'
- */
- // layer switcher
-[_SWITCH] = LAYOUT(
- //,------------------------------------------------. ,---------------------------------------------------.
- _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,XXXXXXX, XXXXXXX,
- //|------+-------+--------+--------+--------+------| |--------+-------+--------+--------+--------+---------|
- TO(0), TO(1), TO(2), TO(3), TO(4), TO(5), TO(6), KC_NO, KC_NO, KC_NO, KC_NO, QK_BOOT,
- //|------+-------+--------+--------+--------+------| |--------+-------+--------+--------+--------+---------|
- KC_NO, KC_NO, KC_BRIU, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, EE_CLR,
- //|------+-------+--------+--------+--------+------| === | | === |--------+-------+--------+--------+--------+---------|
- KC_SYSTEM_SLEEP,KC_NO,KC_NO,KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, 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 RGBLIGHT_ENABLE
-char layer_state_str[70];
-// Now define the array of layers. Later layers take precedence
-
-// QWERTY,
-// Light on inner column and underglow
-const rgblight_segment_t PROGMEM layer_qwerty_lights[] = RGBLIGHT_LAYER_SEGMENTS(
- SET_LAYER_ID(HSV_RED)
-
-);
-const rgblight_segment_t PROGMEM layer_colemakdh_lights[] = RGBLIGHT_LAYER_SEGMENTS(
- SET_LAYER_ID(HSV_PINK)
-);
-
-// _NUM,
-// Light on outer column and underglow
-const rgblight_segment_t PROGMEM layer_num_lights[] = RGBLIGHT_LAYER_SEGMENTS(
- SET_LAYER_ID(HSV_TEAL)
-
-);
-// _SYMBOL,
-// Light on inner column and underglow
-const rgblight_segment_t PROGMEM layer_symbol_lights[] = RGBLIGHT_LAYER_SEGMENTS(
- SET_LAYER_ID(HSV_BLUE)
-
- );
-// _COMMAND,
-// Light on inner column and underglow
-const rgblight_segment_t PROGMEM layer_command_lights[] = RGBLIGHT_LAYER_SEGMENTS(
- SET_LAYER_ID(HSV_PURPLE)
-);
-
-//_NUMPAD
-const rgblight_segment_t PROGMEM layer_numpad_lights[] = RGBLIGHT_LAYER_SEGMENTS(
- SET_INDICATORS(HSV_ORANGE),
- SET_UNDERGLOW(HSV_ORANGE),
- SET_NUMPAD(HSV_BLUE),
- {7, 4, HSV_ORANGE},
- {25, 2, HSV_ORANGE},
- {35+6, 4, HSV_ORANGE},
- {35+25, 2, HSV_ORANGE}
- );
-// _SWITCHER // light up top row
-const rgblight_segment_t PROGMEM layer_switcher_lights[] = RGBLIGHT_LAYER_SEGMENTS(
- SET_LAYER_ID(HSV_GREEN),
- SET_NUMROW(HSV_GREEN)
-);
-
-const rgblight_segment_t* const PROGMEM my_rgb_layers[] = RGBLIGHT_LAYERS_LIST(
-
- layer_qwerty_lights,
- layer_num_lights,// overrides layer 1
- layer_symbol_lights,
- layer_command_lights,
- layer_numpad_lights,
- layer_switcher_lights, // Overrides other layers
- layer_colemakdh_lights
-);
-
-layer_state_t layer_state_set_user(layer_state_t state) {
- rgblight_set_layer_state(0, layer_state_cmp(state, _DEFAULTS) && layer_state_cmp(default_layer_state,_QWERTY));
- rgblight_set_layer_state(7, layer_state_cmp(state, _DEFAULTS) && layer_state_cmp(default_layer_state,_COLEMAKDH));
-
-
- 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, _ADJUST));
- rgblight_set_layer_state(4, layer_state_cmp(state, _NUMPAD));
- rgblight_set_layer_state(5, layer_state_cmp(state, _SWITCH));
- return state;
-}
-void keyboard_post_init_user(void) {
- // Enable the LED layers
- rgblight_layers = my_rgb_layers;
-
- rgblight_mode(10);// haven't found a way to set this in a more useful way
-
-}
-#endif
-
-#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, 0x00
- };
-
- 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("Dane\nEvans"), false);
-
- oled_write_ln_P(PSTR(""), false);
-
- //snprintf(layer_state_str, sizeof(layer_state_str), "Layer: Undef-%ld", layer_state)
-
-
- 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;
- case _COLEMAKDH:
- oled_write_ln_P(PSTR("CmkDH"), false);
- break;
-
- default:
- oled_write_ln_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:
- case _COLEMAKDH:
- 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 _NUMPAD:
- oled_write_P(PSTR("Nump\n"), false);
- break;
- case _SWITCH:
- oled_write_P(PSTR("Swit\n"), false);
- break;
- default:
- oled_write_ln_P(PSTR("Undef"), 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
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
- switch (keycode) {
- 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_D_MUTE:
- if (record->event.pressed) {
- register_mods(mod_config(MOD_MEH));
- register_code(KC_UP);
- } else {
- unregister_mods(mod_config(MOD_MEH));
- unregister_code(KC_UP);
- }
- }
- 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) {
- switch (get_highest_layer(layer_state)) {
- case _COLEMAK:
- case _QWERTY:
- case _COLEMAKDH:
- if (clockwise) {
- tap_code(KC_PGDN);
- } else {
- tap_code(KC_PGUP);
- }
- break;
- case _RAISE:
- case _LOWER:
- if (clockwise) {
- tap_code(KC_DOWN);
- } else {
- tap_code(KC_UP);
- }
- break;
- default:
- if (clockwise) {
- tap_code(KC_WH_D);
- } else {
- tap_code(KC_WH_U);
- }
- break;
- }
- }
- return true;
-}
-
-#endif
diff --git a/keyboards/sofle/keymaps/rgb_default/rules.mk b/keyboards/sofle/keymaps/rgb_default/rules.mk
deleted file mode 100644
index 0d18161a0d..0000000000
--- a/keyboards/sofle/keymaps/rgb_default/rules.mk
+++ /dev/null
@@ -1,7 +0,0 @@
-MOUSEKEY_ENABLE = yes
-EXTRAKEY_ENABLE = yes
-CONSOLE_ENABLE = no
-RGBLIGHT_ENABLE = yes
-ENCODER_ENABLE = yes
-LTO_ENABLE = yes
-OLED_ENABLE = yes
diff --git a/keyboards/sofle/readme.md b/keyboards/sofle/readme.md
index 7e8ef215c2..6af2a93ec5 100644
--- a/keyboards/sofle/readme.md
+++ b/keyboards/sofle/readme.md
@@ -4,24 +4,37 @@
Sofle is 6×4+5 keys column-staggered split keyboard. Based on Lily58, Corne and Helix keyboards.
-More details about the keyboard on my blog: [Let me introduce you SofleKeyboard - a split keyboard based on Lily58 and Crkbd](https://josef-adamcik.cz/electronics/let-me-introduce-you-sofle-keyboard-split-keyboard-based-on-lily58.html)
-
-The current (temporary) build guide and a build log is available here: [SofleKeyboard build log/guide](https://josef-adamcik.cz/electronics/soflekeyboard-build-log-and-build-guide.html)
+More details about the keyboard and build guides can be found here: [Sofle Keyboard Build Log and Guide](https://josefadamcik.github.io/SofleKeyboard)
* Keyboard Maintainer: [Josef Adamcik](https://josef-adamcik.cz) [Twitter:@josefadamcik](https://twitter.com/josefadamcik)
* Hardware Supported: SofleKeyboard PCB, ProMicro
* Hardware Availability: [PCB & Case Data](https://github.com/josefadamcik/SofleKeyboard)
+## Firmware Revisions
+- `sofle/rev1` is used for v1, v2, and RGB PCBs (**NOT** RGB PCBs purchased from [Keyhive](https://keyhive.xyz))
+- `sofle/keyhive` is used for PCBs purchased from [Keyhive](https://keyhive.xyz/shop/sofle)
+- [`keyboards/sofle_choc`](../sofle_choc/) is used for Choc PCBs
+
Make example for this keyboard (after setting up your build environment):
- make sofle:default
+ make sofle/rev1:default
+ make sofle/keyhive:default
-Flash the default keymap:
+Flashing example for this keyboard:
- make sofle:default:avrdude
+ make sofle/rev1:default:flash
+ make sofle/keyhive:default:flash
Press reset button on he keyboard when asked.
Disconnect the first half, connect the second one and repeat the process.
See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
+
+## Bootloader
+
+Enter the bootloader in 3 ways:
+
+* **Bootmagic reset**: Hold down the key at (0,0) in the matrix
+* **Physical reset button**: Briefly press the button near the TRRS connector. Quickly double-tap if you are using Pro Micro.
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
diff --git a/keyboards/sofle/rev1/readme.md b/keyboards/sofle/rev1/readme.md
deleted file mode 100644
index 1d229030c4..0000000000
--- a/keyboards/sofle/rev1/readme.md
+++ /dev/null
@@ -1,27 +0,0 @@
-# Sofle Keyboard
-
-![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.
-
-More details about the keyboard on my blog: [Let me introduce you SofleKeyboard - a split keyboard based on Lily58 and Crkbd](https://josef-adamcik.cz/electronics/let-me-introduce-you-sofle-keyboard-split-keyboard-based-on-lily58.html)
-
-The current (temporary) build guide and a build log is available here: [SofleKeyboard build log/guide](https://josef-adamcik.cz/electronics/soflekeyboard-build-log-and-build-guide.html)
-
-* Keyboard Maintainer: [Josef Adamcik](https://josef-adamcik.cz) [Twitter:@josefadamcik](https://twitter.com/josefadamcik)
-* Hardware Supported: SofleKeyboard PCB, ProMicro
-* Hardware Availability: [PCB & Case Data](https://github.com/josefadamcik/SofleKeyboard)
-
-Make example for this keyboard (after setting up your build environment):
-
- make sofle:default
-
-Flashing example for this keyboard:
-
- make sofle:default:flash
-
-Press reset button on he keyboard when asked.
-
-Disconnect the first half, connect the second one and repeat the process.
-
-See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
diff --git a/keyboards/soup10/keyboard.json b/keyboards/soup10/keyboard.json
index f4e1947652..df8cfcc2c4 100644
--- a/keyboards/soup10/keyboard.json
+++ b/keyboards/soup10/keyboard.json
@@ -14,7 +14,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": true
diff --git a/keyboards/sowbug/68keys/keyboard.json b/keyboards/sowbug/68keys/keyboard.json
index 7143f341b5..e031da1bb9 100644
--- a/keyboards/sowbug/68keys/keyboard.json
+++ b/keyboards/sowbug/68keys/keyboard.json
@@ -64,7 +64,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/sowbug/ansi_tkl/keyboard.json b/keyboards/sowbug/ansi_tkl/keyboard.json
index 837e08a59e..9cbc13dce0 100644
--- a/keyboards/sowbug/ansi_tkl/keyboard.json
+++ b/keyboards/sowbug/ansi_tkl/keyboard.json
@@ -64,7 +64,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/soy20/keyboard.json b/keyboards/soy20/keyboard.json
index 77524eff6c..901aa9e868 100644
--- a/keyboards/soy20/keyboard.json
+++ b/keyboards/soy20/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Soy20",
"manufacturer": "drewkeys",
- "url": "",
"maintainer": "twholt",
"usb": {
"vid": "0x4452",
@@ -11,7 +10,6 @@
"features": {
"bootmagic": true,
"command": true,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/spaceholdings/nebula12/keyboard.json b/keyboards/spaceholdings/nebula12/keyboard.json
index 2b170e8e61..7157cfc05b 100755
--- a/keyboards/spaceholdings/nebula12/keyboard.json
+++ b/keyboards/spaceholdings/nebula12/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "NEBULA12",
"manufacturer": "Yiancar-Designs",
- "url": "",
"maintainer": "yiancar",
"usb": {
"vid": "0x8968",
diff --git a/keyboards/spaceholdings/nebula12b/keyboard.json b/keyboards/spaceholdings/nebula12b/keyboard.json
index 961e971885..f9e9b960d7 100755
--- a/keyboards/spaceholdings/nebula12b/keyboard.json
+++ b/keyboards/spaceholdings/nebula12b/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "NEBULA12B",
"manufacturer": "Yiancar-Designs",
- "url": "",
"maintainer": "yiancar",
"usb": {
"vid": "0x8968",
@@ -66,7 +65,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/spaceholdings/nebula68/keyboard.json b/keyboards/spaceholdings/nebula68/keyboard.json
index 47cab7a5b0..8eb6d67a03 100755
--- a/keyboards/spaceholdings/nebula68/keyboard.json
+++ b/keyboards/spaceholdings/nebula68/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "NEBULA68",
"manufacturer": "Yiancar-Designs",
- "url": "",
"maintainer": "yiancar",
"usb": {
"vid": "0x8968",
diff --git a/keyboards/spaceholdings/nebula68b/info.json b/keyboards/spaceholdings/nebula68b/info.json
index 3a7f6f9b25..9c8274a8ed 100644
--- a/keyboards/spaceholdings/nebula68b/info.json
+++ b/keyboards/spaceholdings/nebula68b/info.json
@@ -1,6 +1,5 @@
{
"manufacturer": "Yiancar-Designs",
- "url": "",
"maintainer": "yiancar",
"usb": {
"vid": "0x8968",
@@ -66,7 +65,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/spaceman/2_milk/keyboard.json b/keyboards/spaceman/2_milk/keyboard.json
index 4fdef6bace..aed735c58f 100644
--- a/keyboards/spaceman/2_milk/keyboard.json
+++ b/keyboards/spaceman/2_milk/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "2% Milk",
"manufacturer": "Spaceman",
- "url": "",
"maintainer": "Spaceman",
"usb": {
"vid": "0x5342",
diff --git a/keyboards/spaceman/pancake/rev1/info.json b/keyboards/spaceman/pancake/rev1/info.json
index 0814e11244..9d6f30ab51 100644
--- a/keyboards/spaceman/pancake/rev1/info.json
+++ b/keyboards/spaceman/pancake/rev1/info.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Pancake",
"manufacturer": "Spaceman",
- "url": "",
"maintainer": "Spaceman",
"usb": {
"vid": "0x5342",
diff --git a/keyboards/spaceman/pancake/rev2/keyboard.json b/keyboards/spaceman/pancake/rev2/keyboard.json
index 88bf2a0b9f..2e7dd8f6b4 100644
--- a/keyboards/spaceman/pancake/rev2/keyboard.json
+++ b/keyboards/spaceman/pancake/rev2/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Pancake 2",
"manufacturer": "Spaceman",
- "url": "",
"maintainer": "Spaceman",
"usb": {
"vid": "0x5342",
diff --git a/keyboards/spaceman/yun65/keyboard.json b/keyboards/spaceman/yun65/keyboard.json
index 017de06abb..1f57af8e0d 100644
--- a/keyboards/spaceman/yun65/keyboard.json
+++ b/keyboards/spaceman/yun65/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Yun 65",
"manufacturer": "Spaceman",
- "url": "",
"maintainer": "Spaceman",
"usb": {
"vid": "0x5342",
diff --git a/keyboards/sparrow62/keyboard.json b/keyboards/sparrow62/keyboard.json
index 96447b6a36..e9c83a0356 100644
--- a/keyboards/sparrow62/keyboard.json
+++ b/keyboards/sparrow62/keyboard.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false
diff --git a/keyboards/specskeys/keyboard.json b/keyboards/specskeys/keyboard.json
index 104b1ea13d..73d34e4a39 100644
--- a/keyboards/specskeys/keyboard.json
+++ b/keyboards/specskeys/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Specskeys",
"manufacturer": "Specs32",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0xCAFE",
diff --git a/keyboards/spiderisland/split78/keyboard.json b/keyboards/spiderisland/split78/keyboard.json
index cd49755b0f..4a818470f8 100644
--- a/keyboards/spiderisland/split78/keyboard.json
+++ b/keyboards/spiderisland/split78/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Split 78-key",
"manufacturer": "SpiderIsland",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0xFEED",
diff --git a/keyboards/split67/keyboard.json b/keyboards/split67/keyboard.json
index 46b571420a..6462149d3b 100644
--- a/keyboards/split67/keyboard.json
+++ b/keyboards/split67/keyboard.json
@@ -37,7 +37,6 @@
"pin": "D0"
}
},
- "url": "",
"usb": {
"device_version": "1.0.0",
"pid": "0xBBBC",
diff --git a/keyboards/splitish/keyboard.json b/keyboards/splitish/keyboard.json
index 3df635e6bc..986a08709f 100644
--- a/keyboards/splitish/keyboard.json
+++ b/keyboards/splitish/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Splitish",
"manufacturer": "Reid Schneyer",
- "url": "",
"maintainer": "RSchneyer",
"usb": {
"vid": "0xFEED",
@@ -11,7 +10,6 @@
"features": {
"bootmagic": true,
"command": true,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/splitkb/halcyon/kyria/rev4/keyboard.json b/keyboards/splitkb/halcyon/kyria/rev4/keyboard.json
index aca43a8a16..7f699f2584 100755
--- a/keyboards/splitkb/halcyon/kyria/rev4/keyboard.json
+++ b/keyboards/splitkb/halcyon/kyria/rev4/keyboard.json
@@ -65,9 +65,6 @@
"splash": true,
"typing_heatmap": true
},
- "default": {
- "animation": "cycle_left_right"
- },
"driver": "ws2812",
"layout": [
{"x": 75, "y": 2, "flags": 2},
diff --git a/keyboards/splitography/keyboard.json b/keyboards/splitography/keyboard.json
index 947622096c..698ded2e95 100644
--- a/keyboards/splitography/keyboard.json
+++ b/keyboards/splitography/keyboard.json
@@ -10,7 +10,6 @@
"bootmagic": true,
"mousekey": false,
"extrakey": true,
- "console": false,
"command": false
},
"qmk": {
diff --git a/keyboards/splitography/keymaps/default/keymap.c b/keyboards/splitography/keymaps/default/keymap.c
index 9c6c7d6b26..5d26eb9682 100644
--- a/keyboards/splitography/keymaps/default/keymap.c
+++ b/keyboards/splitography/keymaps/default/keymap.c
@@ -214,9 +214,9 @@ void plover(keyrecord_t *record) {
if (!eeconfig_is_enabled()) {
eeconfig_init();
}
- keymap_config.raw = eeconfig_read_keymap();
+ eeconfig_read_keymap(&keymap_config);
keymap_config.nkro = 1;
- eeconfig_update_keymap(keymap_config.raw);
+ eeconfig_update_keymap(&keymap_config);
}
}
diff --git a/keyboards/splitography/keymaps/default_with_ctl_shft_alt_switched/keymap.c b/keyboards/splitography/keymaps/default_with_ctl_shft_alt_switched/keymap.c
index 787f448ffb..a3cb183758 100644
--- a/keyboards/splitography/keymaps/default_with_ctl_shft_alt_switched/keymap.c
+++ b/keyboards/splitography/keymaps/default_with_ctl_shft_alt_switched/keymap.c
@@ -214,9 +214,9 @@ void plover(keyrecord_t *record) {
if (!eeconfig_is_enabled()) {
eeconfig_init();
}
- keymap_config.raw = eeconfig_read_keymap();
+ eeconfig_read_keymap(&keymap_config);
keymap_config.nkro = 1;
- eeconfig_update_keymap(keymap_config.raw);
+ eeconfig_update_keymap(&keymap_config);
}
}
diff --git a/keyboards/splitography/keymaps/dvorak/keymap.c b/keyboards/splitography/keymaps/dvorak/keymap.c
index 992cfd0abb..0edec7043c 100644
--- a/keyboards/splitography/keymaps/dvorak/keymap.c
+++ b/keyboards/splitography/keymaps/dvorak/keymap.c
@@ -214,9 +214,9 @@ void plover(keyrecord_t *record) {
if (!eeconfig_is_enabled()) {
eeconfig_init();
}
- keymap_config.raw = eeconfig_read_keymap();
+ eeconfig_read_keymap(&keymap_config);
keymap_config.nkro = 1;
- eeconfig_update_keymap(keymap_config.raw);
+ eeconfig_update_keymap(&keymap_config);
}
}
diff --git a/keyboards/sporewoh/banime40/keyboard.json b/keyboards/sporewoh/banime40/keyboard.json
index dfe71070a1..62a814e1c2 100644
--- a/keyboards/sporewoh/banime40/keyboard.json
+++ b/keyboards/sporewoh/banime40/keyboard.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/star75/keyboard.json b/keyboards/star75/keyboard.json
index e4ea684a0f..155481d753 100644
--- a/keyboards/star75/keyboard.json
+++ b/keyboards/star75/keyboard.json
@@ -35,7 +35,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"encoder": true,
"extrakey": true,
"mousekey": true,
diff --git a/keyboards/stello65/beta/keyboard.json b/keyboards/stello65/beta/keyboard.json
index 5dbc3b1338..e8c23a1d4d 100644
--- a/keyboards/stello65/beta/keyboard.json
+++ b/keyboards/stello65/beta/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Stello65",
"manufacturer": "@wekey",
- "url": "",
"maintainer": "@wekey",
"usb": {
"vid": "0x5559",
@@ -14,7 +13,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"encoder": true,
"extrakey": true,
"mousekey": true,
diff --git a/keyboards/stello65/hs_rev1/keyboard.json b/keyboards/stello65/hs_rev1/keyboard.json
index 783b73c599..ec5db7023e 100644
--- a/keyboards/stello65/hs_rev1/keyboard.json
+++ b/keyboards/stello65/hs_rev1/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Stello65",
"manufacturer": "@wekey",
- "url": "",
"maintainer": "@wekey",
"usb": {
"vid": "0x5559",
@@ -29,7 +28,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/stello65/sl_rev1/keyboard.json b/keyboards/stello65/sl_rev1/keyboard.json
index 8be7b07d0a..453fe742c4 100644
--- a/keyboards/stello65/sl_rev1/keyboard.json
+++ b/keyboards/stello65/sl_rev1/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Stello65",
"manufacturer": "@wekey",
- "url": "",
"maintainer": "@wekey",
"usb": {
"vid": "0x5559",
@@ -29,7 +28,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/stenokeyboards/the_uni/pro_micro/keyboard.json b/keyboards/stenokeyboards/the_uni/pro_micro/keyboard.json
index 03466935b0..eeadba9390 100644
--- a/keyboards/stenokeyboards/the_uni/pro_micro/keyboard.json
+++ b/keyboards/stenokeyboards/the_uni/pro_micro/keyboard.json
@@ -6,7 +6,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": false,
"mousekey": false,
"nkro": true,
diff --git a/keyboards/stenokeyboards/the_uni/rp_2040/keyboard.json b/keyboards/stenokeyboards/the_uni/rp_2040/keyboard.json
index 1ca94185ab..e54f31703f 100644
--- a/keyboards/stenokeyboards/the_uni/rp_2040/keyboard.json
+++ b/keyboards/stenokeyboards/the_uni/rp_2040/keyboard.json
@@ -6,7 +6,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": true,
diff --git a/keyboards/stenokeyboards/the_uni/usb_c/keyboard.json b/keyboards/stenokeyboards/the_uni/usb_c/keyboard.json
index efe3b979be..2ed5532bda 100644
--- a/keyboards/stenokeyboards/the_uni/usb_c/keyboard.json
+++ b/keyboards/stenokeyboards/the_uni/usb_c/keyboard.json
@@ -6,7 +6,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": false,
"mousekey": false,
"nkro": true,
diff --git a/keyboards/sthlmkb/lagom/keyboard.json b/keyboards/sthlmkb/lagom/keyboard.json
index e30455109d..423605b17f 100644
--- a/keyboards/sthlmkb/lagom/keyboard.json
+++ b/keyboards/sthlmkb/lagom/keyboard.json
@@ -7,7 +7,6 @@
"features": {
"bootmagic": false,
"command": false,
- "console": false,
"extrakey": true,
"debug": false,
"mousekey": false,
diff --git a/keyboards/sthlmkb/litl/keyboard.json b/keyboards/sthlmkb/litl/keyboard.json
index 50960dd6d0..d9208b53f1 100644
--- a/keyboards/sthlmkb/litl/keyboard.json
+++ b/keyboards/sthlmkb/litl/keyboard.json
@@ -8,7 +8,6 @@
"features": {
"bootmagic": false,
"command": false,
- "console": false,
"extrakey": true,
"debug": false,
"mousekey": false,
diff --git a/keyboards/stratos/keyboard.json b/keyboards/stratos/keyboard.json
index 842c9b87a3..984f488ebd 100644
--- a/keyboards/stratos/keyboard.json
+++ b/keyboards/stratos/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "stratos",
"manufacturer": "eggyolk",
- "url": "",
"maintainer": "kb-elmo",
"usb": {
"vid": "0xD5D0",
@@ -33,7 +32,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": false,
diff --git a/keyboards/strech/soulstone/keyboard.json b/keyboards/strech/soulstone/keyboard.json
index 32671eba11..27773b88f2 100644
--- a/keyboards/strech/soulstone/keyboard.json
+++ b/keyboards/strech/soulstone/keyboard.json
@@ -13,7 +13,6 @@
"bootmagic": true,
"mousekey": true,
"extrakey": true,
- "console": false,
"command": false,
"nkro": true
},
diff --git a/keyboards/stront/keyboard.json b/keyboards/stront/keyboard.json
index 573730a12b..250d5b56e1 100644
--- a/keyboards/stront/keyboard.json
+++ b/keyboards/stront/keyboard.json
@@ -85,7 +85,6 @@
"features": {
"backlight": true,
"bootmagic": true,
- "console": false,
"encoder": true,
"extrakey": true,
"nkro": false,
diff --git a/keyboards/studiokestra/bourgeau/keyboard.json b/keyboards/studiokestra/bourgeau/keyboard.json
index 3e0111a618..22e4235415 100644
--- a/keyboards/studiokestra/bourgeau/keyboard.json
+++ b/keyboards/studiokestra/bourgeau/keyboard.json
@@ -32,7 +32,6 @@
"features": {
"bootmagic": true,
"command": true,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": true,
diff --git a/keyboards/studiokestra/cascade/keyboard.json b/keyboards/studiokestra/cascade/keyboard.json
index 8e7673da0e..b6a11688c2 100644
--- a/keyboards/studiokestra/cascade/keyboard.json
+++ b/keyboards/studiokestra/cascade/keyboard.json
@@ -32,7 +32,6 @@
"features": {
"bootmagic": true,
"command": true,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": true,
diff --git a/keyboards/studiokestra/fairholme/keyboard.json b/keyboards/studiokestra/fairholme/keyboard.json
index f789c2059b..13170ce65c 100644
--- a/keyboards/studiokestra/fairholme/keyboard.json
+++ b/keyboards/studiokestra/fairholme/keyboard.json
@@ -7,7 +7,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/studiokestra/frl84/keyboard.json b/keyboards/studiokestra/frl84/keyboard.json
index d131b09eac..c4dda59ddd 100644
--- a/keyboards/studiokestra/frl84/keyboard.json
+++ b/keyboards/studiokestra/frl84/keyboard.json
@@ -7,7 +7,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
@@ -45,7 +44,6 @@
}
},
"processor": "atmega32u4",
- "url": "",
"usb": {
"device_version": "1.0.0",
"pid": "0x0F84",
diff --git a/keyboards/studiokestra/galatea/rev1/keyboard.json b/keyboards/studiokestra/galatea/rev1/keyboard.json
index ff2adbce4d..63a073fc56 100644
--- a/keyboards/studiokestra/galatea/rev1/keyboard.json
+++ b/keyboards/studiokestra/galatea/rev1/keyboard.json
@@ -7,7 +7,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
@@ -23,7 +22,6 @@
"rows": ["D1", "D0", "B0", "B7", "E6", "B3", "B6", "C6", "D6", "D7", "B4", "D3"]
},
"processor": "atmega32u4",
- "url": "",
"usb": {
"device_version": "1.0.0",
"pid": "0x8801",
diff --git a/keyboards/studiokestra/galatea/rev2/keyboard.json b/keyboards/studiokestra/galatea/rev2/keyboard.json
index 115b5684cd..fa2911a7eb 100644
--- a/keyboards/studiokestra/galatea/rev2/keyboard.json
+++ b/keyboards/studiokestra/galatea/rev2/keyboard.json
@@ -7,7 +7,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
@@ -24,7 +23,6 @@
"rows": ["D1", "D0", "B0", "B7", "E6", "B3", "B6", "C6", "D6", "D7", "B4", "D3"]
},
"processor": "atmega32u4",
- "url": "",
"usb": {
"device_version": "1.0.0",
"pid": "0x8802",
@@ -40,7 +38,6 @@
},
"rgblight": {
"led_count": 24,
- "hue_steps": 8,
"saturation_steps": 8,
"brightness_steps": 8,
"max_brightness": 200,
diff --git a/keyboards/studiokestra/galatea/rev3/keyboard.json b/keyboards/studiokestra/galatea/rev3/keyboard.json
index a4b07bb4df..d5dd8e3e87 100644
--- a/keyboards/studiokestra/galatea/rev3/keyboard.json
+++ b/keyboards/studiokestra/galatea/rev3/keyboard.json
@@ -7,7 +7,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
@@ -24,7 +23,6 @@
"rows": ["GP3", "GP4", "GP1", "GP2", "GP5", "GP29", "GP20", "GP19", "GP17", "GP16", "GP13", "GP12"]
},
"processor": "RP2040",
- "url": "",
"usb": {
"device_version": "1.0.0",
"pid": "0x8803",
@@ -36,7 +34,6 @@
},
"rgblight": {
"led_count": 24,
- "hue_steps": 8,
"saturation_steps": 8,
"brightness_steps": 8,
"max_brightness": 200,
diff --git a/keyboards/studiokestra/line_friends_tkl/keyboard.json b/keyboards/studiokestra/line_friends_tkl/keyboard.json
index d8902e2a2f..d7e050315d 100644
--- a/keyboards/studiokestra/line_friends_tkl/keyboard.json
+++ b/keyboards/studiokestra/line_friends_tkl/keyboard.json
@@ -7,7 +7,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/suavity/ehan/keyboard.json b/keyboards/suavity/ehan/keyboard.json
index 5a6675bfc3..acc470c8b6 100755
--- a/keyboards/suavity/ehan/keyboard.json
+++ b/keyboards/suavity/ehan/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "ehan",
"manufacturer": "Suavity Designs",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0x5344",
diff --git a/keyboards/subatomic/keyboard.json b/keyboards/subatomic/keyboard.json
index 0816130bbb..a69e18efa2 100644
--- a/keyboards/subatomic/keyboard.json
+++ b/keyboards/subatomic/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Subatomic",
"manufacturer": "OLKB",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0xFEED",
@@ -12,7 +11,6 @@
"backlight": true,
"bootmagic": false,
"command": false,
- "console": false,
"extrakey": true,
"midi": true,
"mousekey": false,
diff --git a/keyboards/subrezon/la_nc/keyboard.json b/keyboards/subrezon/la_nc/keyboard.json
index 471bf09051..9a9a511fbf 100644
--- a/keyboards/subrezon/la_nc/keyboard.json
+++ b/keyboards/subrezon/la_nc/keyboard.json
@@ -9,7 +9,6 @@
"features": {
"bootmagic": true,
"command": true,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/subrezon/lancer/keyboard.json b/keyboards/subrezon/lancer/keyboard.json
index cf678c84bc..43e80edff1 100644
--- a/keyboards/subrezon/lancer/keyboard.json
+++ b/keyboards/subrezon/lancer/keyboard.json
@@ -15,7 +15,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/suikagiken/suika15tone/keyboard.json b/keyboards/suikagiken/suika15tone/keyboard.json
index de3c8f33f3..985c3f9845 100644
--- a/keyboards/suikagiken/suika15tone/keyboard.json
+++ b/keyboards/suikagiken/suika15tone/keyboard.json
@@ -8,7 +8,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"midi": true,
"mousekey": true,
diff --git a/keyboards/suikagiken/suika27melo/keyboard.json b/keyboards/suikagiken/suika27melo/keyboard.json
index cba2561129..8b58362db1 100644
--- a/keyboards/suikagiken/suika27melo/keyboard.json
+++ b/keyboards/suikagiken/suika27melo/keyboard.json
@@ -8,7 +8,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"midi": true,
"mousekey": true,
diff --git a/keyboards/suikagiken/suika83opti/keyboard.json b/keyboards/suikagiken/suika83opti/keyboard.json
index d9876434fe..b3b8a975bc 100644
--- a/keyboards/suikagiken/suika83opti/keyboard.json
+++ b/keyboards/suikagiken/suika83opti/keyboard.json
@@ -8,7 +8,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/suikagiken/suika85ergo/keyboard.json b/keyboards/suikagiken/suika85ergo/keyboard.json
index e0514dfab8..0bca9ab578 100644
--- a/keyboards/suikagiken/suika85ergo/keyboard.json
+++ b/keyboards/suikagiken/suika85ergo/keyboard.json
@@ -8,7 +8,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/supersplit/keyboard.json b/keyboards/supersplit/keyboard.json
index 3950d2bbce..efce5060d9 100644
--- a/keyboards/supersplit/keyboard.json
+++ b/keyboards/supersplit/keyboard.json
@@ -7,7 +7,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/superuser/ext/keyboard.json b/keyboards/superuser/ext/keyboard.json
index c08213a13f..f0aebb6514 100644
--- a/keyboards/superuser/ext/keyboard.json
+++ b/keyboards/superuser/ext/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "ext",
"manufacturer": "superuser",
- "url": "",
"maintainer": "kaylanm",
"usb": {
"vid": "0x5355",
@@ -14,7 +13,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false
diff --git a/keyboards/superuser/frl/keyboard.json b/keyboards/superuser/frl/keyboard.json
index 4ede02d20d..e02d785a7c 100644
--- a/keyboards/superuser/frl/keyboard.json
+++ b/keyboards/superuser/frl/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "frl",
"manufacturer": "superuser",
- "url": "",
"maintainer": "superuser",
"usb": {
"vid": "0x5355",
@@ -14,7 +13,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false
diff --git a/keyboards/superuser/tkl/keyboard.json b/keyboards/superuser/tkl/keyboard.json
index 79df5bac09..8c947d33d0 100644
--- a/keyboards/superuser/tkl/keyboard.json
+++ b/keyboards/superuser/tkl/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "tkl",
"manufacturer": "superuser",
- "url": "",
"maintainer": "kaylanm",
"usb": {
"vid": "0x5355",
@@ -14,7 +13,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false
diff --git a/keyboards/swiftrax/retropad/keyboard.json b/keyboards/swiftrax/retropad/keyboard.json
index c8dd0e3327..97ffc5b6fe 100644
--- a/keyboards/swiftrax/retropad/keyboard.json
+++ b/keyboards/swiftrax/retropad/keyboard.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"encoder": true,
"extrakey": true,
"mousekey": false,
diff --git a/keyboards/swiss/keyboard.json b/keyboards/swiss/keyboard.json
index 039153cd7f..5d40df4225 100644
--- a/keyboards/swiss/keyboard.json
+++ b/keyboards/swiss/keyboard.json
@@ -7,7 +7,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
@@ -17,7 +16,6 @@
"rows": ["D6", "D4", "D5", "B2", "D7"]
},
"processor": "atmega32u4",
- "url": "",
"usb": {
"device_version": "1.0.0",
"pid": "0x0420",
diff --git a/keyboards/switchplate/southpaw_fullsize/keyboard.json b/keyboards/switchplate/southpaw_fullsize/keyboard.json
index 84942ccfa4..96724e5870 100644
--- a/keyboards/switchplate/southpaw_fullsize/keyboard.json
+++ b/keyboards/switchplate/southpaw_fullsize/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Southpaw Fullsize",
"manufacturer": "Switchplate Peripherals",
- "url": "",
"maintainer": "ai03",
"usb": {
"vid": "0xA103",
@@ -12,7 +11,6 @@
"backlight": true,
"bootmagic": true,
"command": true,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false
diff --git a/keyboards/switchplate/switchplate910/keyboard.json b/keyboards/switchplate/switchplate910/keyboard.json
index 47353fe81e..f9c3d8eaf1 100644
--- a/keyboards/switchplate/switchplate910/keyboard.json
+++ b/keyboards/switchplate/switchplate910/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "910",
"manufacturer": "Switchplate Peripherals",
- "url": "",
"maintainer": "MxBluE",
"usb": {
"vid": "0x54F3",
@@ -12,7 +11,6 @@
"backlight": true,
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": false
diff --git a/keyboards/sx60/keyboard.json b/keyboards/sx60/keyboard.json
index ba5b439cec..9d3663fecf 100644
--- a/keyboards/sx60/keyboard.json
+++ b/keyboards/sx60/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "SX60",
"manufacturer": "Quantrik",
- "url": "",
"maintainer": "https://github.com/amnobis",
"usb": {
"vid": "0x5154",
diff --git a/keyboards/synthandkeys/bento_box/keyboard.json b/keyboards/synthandkeys/bento_box/keyboard.json
index 3cdc7a5870..90dbc71a1f 100644
--- a/keyboards/synthandkeys/bento_box/keyboard.json
+++ b/keyboards/synthandkeys/bento_box/keyboard.json
@@ -17,7 +17,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"encoder": true,
"extrakey": true,
"mousekey": true,
@@ -31,7 +30,6 @@
]
},
"processor": "STM32F072",
- "url": "",
"usb": {
"device_version": "1.0.0",
"pid": "0x0000",
diff --git a/keyboards/synthandkeys/the_debit_card/keyboard.json b/keyboards/synthandkeys/the_debit_card/keyboard.json
index a2d0a6964f..95a74a5138 100644
--- a/keyboards/synthandkeys/the_debit_card/keyboard.json
+++ b/keyboards/synthandkeys/the_debit_card/keyboard.json
@@ -6,7 +6,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
@@ -19,7 +18,6 @@
]
},
"processor": "RP2040",
- "url": "",
"usb": {
"device_version": "1.0.0",
"pid": "0x0000",
diff --git a/keyboards/synthlabs/060/keyboard.json b/keyboards/synthlabs/060/keyboard.json
index 1094d430e6..70437bb4aa 100644
--- a/keyboards/synthlabs/060/keyboard.json
+++ b/keyboards/synthlabs/060/keyboard.json
@@ -9,7 +9,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/synthlabs/065/keyboard.json b/keyboards/synthlabs/065/keyboard.json
index d8d0d96c3f..575fc18b58 100644
--- a/keyboards/synthlabs/065/keyboard.json
+++ b/keyboards/synthlabs/065/keyboard.json
@@ -7,7 +7,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/synthlabs/solo/keyboard.json b/keyboards/synthlabs/solo/keyboard.json
index 1aedf98185..da17217ad3 100644
--- a/keyboards/synthlabs/solo/keyboard.json
+++ b/keyboards/synthlabs/solo/keyboard.json
@@ -8,7 +8,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"encoder": true,
"extrakey": true,
"mousekey": true,
diff --git a/keyboards/system76/launch_1/keyboard.json b/keyboards/system76/launch_1/keyboard.json
index 929b8c9794..b5317dd9bc 100644
--- a/keyboards/system76/launch_1/keyboard.json
+++ b/keyboards/system76/launch_1/keyboard.json
@@ -44,9 +44,7 @@
},
"default": {
"animation": "rainbow_moving_chevron",
- "hue": 142,
- "sat": 255,
- "speed": 127
+ "hue": 142
},
"driver": "ws2812",
"max_brightness": 176,
diff --git a/keyboards/system76/launch_1/launch_1.c b/keyboards/system76/launch_1/launch_1.c
index c9af479bf5..c01fb7b01d 100644
--- a/keyboards/system76/launch_1/launch_1.c
+++ b/keyboards/system76/launch_1/launch_1.c
@@ -16,6 +16,7 @@
*/
#include "quantum.h"
+#include "eeprom.h"
#include "usb_mux.h"
@@ -73,7 +74,7 @@ led_config_t g_led_config = { {
} };
#endif // RGB_MATRIX_ENABLE
-bool eeprom_is_valid(void) {
+bool eeprom_is_valid(void) {
return (
eeprom_read_word(((void *)EEPROM_MAGIC_ADDR)) == EEPROM_MAGIC &&
eeprom_read_byte(((void *)EEPROM_VERSION_ADDR)) == EEPROM_VERSION
diff --git a/keyboards/tacworks/tac_k1/keyboard.json b/keyboards/tacworks/tac_k1/keyboard.json
index cf098291be..9c4463bb53 100644
--- a/keyboards/tacworks/tac_k1/keyboard.json
+++ b/keyboards/tacworks/tac_k1/keyboard.json
@@ -14,7 +14,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/tada68/keyboard.json b/keyboards/tada68/keyboard.json
index 641def01a3..1daf936b53 100644
--- a/keyboards/tada68/keyboard.json
+++ b/keyboards/tada68/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "TADA68",
"manufacturer": "TADA",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0x5441",
diff --git a/keyboards/takashicompany/baumkuchen/keyboard.json b/keyboards/takashicompany/baumkuchen/keyboard.json
index 2c8b77851b..946238ab1d 100644
--- a/keyboards/takashicompany/baumkuchen/keyboard.json
+++ b/keyboards/takashicompany/baumkuchen/keyboard.json
@@ -15,7 +15,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"encoder": true,
"extrakey": true,
"mousekey": true,
@@ -45,7 +44,6 @@
"ws2812": {
"pin": "D3"
},
- "url": "",
"usb": {
"device_version": "1.0.0",
"pid": "0x0045",
diff --git a/keyboards/takashicompany/center_enter/keyboard.json b/keyboards/takashicompany/center_enter/keyboard.json
index b8188bd718..7780f014d8 100644
--- a/keyboards/takashicompany/center_enter/keyboard.json
+++ b/keyboards/takashicompany/center_enter/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Center x Enter",
"manufacturer": "takashicompany",
- "url": "",
"maintainer": "takashicompany",
"usb": {
"vid": "0x7463",
@@ -31,7 +30,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"encoder": true,
"extrakey": true,
"mousekey": true,
diff --git a/keyboards/takashicompany/ejectix/keyboard.json b/keyboards/takashicompany/ejectix/keyboard.json
index 560c253326..e4597fc642 100644
--- a/keyboards/takashicompany/ejectix/keyboard.json
+++ b/keyboards/takashicompany/ejectix/keyboard.json
@@ -10,7 +10,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
@@ -36,7 +35,6 @@
"led_count": 11,
"sleep": true
},
- "url": "",
"usb": {
"device_version": "1.0.0",
"pid": "0x0049",
diff --git a/keyboards/takashicompany/endzone34/keyboard.json b/keyboards/takashicompany/endzone34/keyboard.json
index 3549d2c089..a54fe8a88d 100644
--- a/keyboards/takashicompany/endzone34/keyboard.json
+++ b/keyboards/takashicompany/endzone34/keyboard.json
@@ -32,7 +32,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false,
diff --git a/keyboards/takashicompany/ergomirage/keyboard.json b/keyboards/takashicompany/ergomirage/keyboard.json
index 1e34505b01..6527e24c87 100644
--- a/keyboards/takashicompany/ergomirage/keyboard.json
+++ b/keyboards/takashicompany/ergomirage/keyboard.json
@@ -7,7 +7,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
@@ -16,7 +15,6 @@
"cols": ["D4", "C6", "D7", "E6", "B4", "B5"],
"rows": ["F4", "F5", "F6", "F7", "B1", "B3", "B2", "B6"]
},
- "url": "",
"usb": {
"device_version": "1.0.0",
"pid": "0x0044",
diff --git a/keyboards/takashicompany/goat51/keyboard.json b/keyboards/takashicompany/goat51/keyboard.json
index c424685713..562b9d10b0 100644
--- a/keyboards/takashicompany/goat51/keyboard.json
+++ b/keyboards/takashicompany/goat51/keyboard.json
@@ -7,7 +7,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
@@ -32,8 +31,6 @@
"rgblight": {
"led_count": 11,
"hue_steps": 10,
- "saturation_steps": 17,
- "brightness_steps": 17,
"animations": {
"alternating": true,
"breathing": true,
diff --git a/keyboards/takashicompany/jourkey/keyboard.json b/keyboards/takashicompany/jourkey/keyboard.json
index 01847cfa53..7ea3fad083 100644
--- a/keyboards/takashicompany/jourkey/keyboard.json
+++ b/keyboards/takashicompany/jourkey/keyboard.json
@@ -12,7 +12,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"encoder": true,
"extrakey": true,
"mousekey": true,
@@ -23,7 +22,6 @@
["D4", "C6", "D7", "E6", "B4", "F5", "F6", "F7", "B5", "B1", "B3", "B2", "B6"]
]
},
- "url": "",
"usb": {
"device_version": "1.0.0",
"pid": "0x0062",
diff --git a/keyboards/takashicompany/klec_01/keyboard.json b/keyboards/takashicompany/klec_01/keyboard.json
index 36baa8bf60..137201d560 100644
--- a/keyboards/takashicompany/klec_01/keyboard.json
+++ b/keyboards/takashicompany/klec_01/keyboard.json
@@ -7,7 +7,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
@@ -16,7 +15,6 @@
"cols": ["F4", "F5", "F6", "F7", "B1", "B3", "B2", "B6"],
"rows": ["D4", "C6", "D7", "E6", "B4", "B5"]
},
- "url": "",
"usb": {
"device_version": "1.0.0",
"pid": "0x1001",
diff --git a/keyboards/takashicompany/klec_02/keyboard.json b/keyboards/takashicompany/klec_02/keyboard.json
index 045c4ef315..751144aa3b 100644
--- a/keyboards/takashicompany/klec_02/keyboard.json
+++ b/keyboards/takashicompany/klec_02/keyboard.json
@@ -7,7 +7,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
@@ -22,7 +21,6 @@
"pin": "D2"
}
},
- "url": "",
"usb": {
"device_version": "1.0.0",
"pid": "0x1002",
diff --git a/keyboards/takashicompany/minidivide/keyboard.json b/keyboards/takashicompany/minidivide/keyboard.json
index d258baa694..4ccbed98b3 100644
--- a/keyboards/takashicompany/minidivide/keyboard.json
+++ b/keyboards/takashicompany/minidivide/keyboard.json
@@ -10,7 +10,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
@@ -50,7 +49,6 @@
"pin": "D2"
}
},
- "url": "",
"usb": {
"device_version": "0.0.1",
"pid": "0x0037",
diff --git a/keyboards/takashicompany/minidivide_max/keyboard.json b/keyboards/takashicompany/minidivide_max/keyboard.json
index 54f9dbaf78..679000cafe 100644
--- a/keyboards/takashicompany/minidivide_max/keyboard.json
+++ b/keyboards/takashicompany/minidivide_max/keyboard.json
@@ -10,7 +10,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
@@ -49,7 +48,6 @@
"pin": "D2"
}
},
- "url": "",
"usb": {
"device_version": "0.0.1",
"pid": "0x0054",
diff --git a/keyboards/takashicompany/palmslave/keyboard.json b/keyboards/takashicompany/palmslave/keyboard.json
index 03d3f3e849..3a1ea6ed91 100644
--- a/keyboards/takashicompany/palmslave/keyboard.json
+++ b/keyboards/takashicompany/palmslave/keyboard.json
@@ -10,7 +10,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
@@ -31,7 +30,6 @@
"pin": "D2"
}
},
- "url": "",
"usb": {
"device_version": "0.0.1",
"pid": "0x0063",
diff --git a/keyboards/takashicompany/qoolee/keyboard.json b/keyboards/takashicompany/qoolee/keyboard.json
index bce2335293..011f9e5e42 100644
--- a/keyboards/takashicompany/qoolee/keyboard.json
+++ b/keyboards/takashicompany/qoolee/keyboard.json
@@ -31,7 +31,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"encoder": true,
"extrakey": true,
"mousekey": true,
diff --git a/keyboards/takashicompany/radialex/keyboard.json b/keyboards/takashicompany/radialex/keyboard.json
index 34ef3d2f1f..c4f991f393 100644
--- a/keyboards/takashicompany/radialex/keyboard.json
+++ b/keyboards/takashicompany/radialex/keyboard.json
@@ -32,7 +32,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false,
diff --git a/keyboards/takashicompany/rookey/keyboard.json b/keyboards/takashicompany/rookey/keyboard.json
index 9473345409..22903a5bab 100644
--- a/keyboards/takashicompany/rookey/keyboard.json
+++ b/keyboards/takashicompany/rookey/keyboard.json
@@ -12,7 +12,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"encoder": true,
"extrakey": true,
"mousekey": true,
diff --git a/keyboards/takashicompany/spreadwriter/keyboard.json b/keyboards/takashicompany/spreadwriter/keyboard.json
index 2c9fcd1619..59c78c4532 100644
--- a/keyboards/takashicompany/spreadwriter/keyboard.json
+++ b/keyboards/takashicompany/spreadwriter/keyboard.json
@@ -31,8 +31,6 @@
"rgblight": {
"led_count": 53,
"hue_steps": 10,
- "saturation_steps": 17,
- "brightness_steps": 17,
"animations": {
"alternating": true,
"breathing": true,
diff --git a/keyboards/takashicompany/tightwriter/keyboard.json b/keyboards/takashicompany/tightwriter/keyboard.json
index 201e3f6ed5..a3388c0574 100644
--- a/keyboards/takashicompany/tightwriter/keyboard.json
+++ b/keyboards/takashicompany/tightwriter/keyboard.json
@@ -7,7 +7,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
@@ -17,7 +16,6 @@
"cols": ["D4", "C6", "D7", "E6", "B4", "B5"],
"rows": ["F6", "F7", "B1", "B3", "B2", "B6"]
},
- "url": "",
"usb": {
"device_version": "1.0.0",
"pid": "0x0025",
diff --git a/keyboards/takashiski/otaku_split/rev0/keyboard.json b/keyboards/takashiski/otaku_split/rev0/keyboard.json
index 193254aa1a..911d883eb3 100644
--- a/keyboards/takashiski/otaku_split/rev0/keyboard.json
+++ b/keyboards/takashiski/otaku_split/rev0/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "otaku split rev.0",
"manufacturer": "takashiski",
- "url": "",
"maintainer": "takashiski",
"usb": {
"vid": "0xFEED",
diff --git a/keyboards/taleguers/taleguers75/keyboard.json b/keyboards/taleguers/taleguers75/keyboard.json
index 8c3a1565e2..853b1747eb 100644
--- a/keyboards/taleguers/taleguers75/keyboard.json
+++ b/keyboards/taleguers/taleguers75/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Taleguers75",
"manufacturer": "Taleguers",
- "url": "",
"maintainer": "borlopjim",
"usb": {
"vid": "0x8476",
@@ -11,7 +10,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"encoder": true,
"extrakey": true,
"mousekey": true,
diff --git a/keyboards/tanuki/keyboard.json b/keyboards/tanuki/keyboard.json
index 0c4045e320..dc9affe3a7 100644
--- a/keyboards/tanuki/keyboard.json
+++ b/keyboards/tanuki/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Tanuki",
"manufacturer": "Seth",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0xFEED",
@@ -31,7 +30,6 @@
"features": {
"bootmagic": false,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": true,
diff --git a/keyboards/tau4/keyboard.json b/keyboards/tau4/keyboard.json
index f5acdbddd3..9a8e280905 100644
--- a/keyboards/tau4/keyboard.json
+++ b/keyboards/tau4/keyboard.json
@@ -47,7 +47,6 @@
"twinkle": true
},
"brightness_steps": 8,
- "hue_steps": 8,
"layers": {
"blink": false,
"enabled": true,
diff --git a/keyboards/teahouse/ayleen/keyboard.json b/keyboards/teahouse/ayleen/keyboard.json
index 4b64ba96d1..55a795d09c 100644
--- a/keyboards/teahouse/ayleen/keyboard.json
+++ b/keyboards/teahouse/ayleen/keyboard.json
@@ -10,7 +10,6 @@
"rgblight": true,
"bootmagic": false,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/team0110/p1800fl/keyboard.json b/keyboards/team0110/p1800fl/keyboard.json
index 681482db5b..621f5821c3 100644
--- a/keyboards/team0110/p1800fl/keyboard.json
+++ b/keyboards/team0110/p1800fl/keyboard.json
@@ -12,7 +12,6 @@
"backlight": true,
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/technika/keyboard.json b/keyboards/technika/keyboard.json
index a6f3c2bd01..fc894fefb5 100644
--- a/keyboards/technika/keyboard.json
+++ b/keyboards/technika/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Technika",
"manufacturer": "TealTechnik",
- "url": "",
"maintainer": "Gondolindrim",
"usb": {
"vid": "0x8484",
diff --git a/keyboards/teleport/native/board.h b/keyboards/teleport/native/board.h
new file mode 100644
index 0000000000..41efeb2c1a
--- /dev/null
+++ b/keyboards/teleport/native/board.h
@@ -0,0 +1,8 @@
+// Copyright 2022 Moritz Plattner
+// SPDX-License-Identifier: GPL-2.0-or-later
+#pragma once
+
+#include_next <board.h>
+
+#undef STM32_HSECLK
+#define STM32_HSECLK 16000000U
diff --git a/keyboards/teleport/native/config.h b/keyboards/teleport/native/config.h
index 31d0025883..cd823d725e 100644
--- a/keyboards/teleport/native/config.h
+++ b/keyboards/teleport/native/config.h
@@ -67,6 +67,3 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#ifdef ENABLE_RGB_MATRIX_TYPING_HEATMAP
#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 756764ff6f..d3630a0ee3 100644
--- a/keyboards/teleport/native/info.json
+++ b/keyboards/teleport/native/info.json
@@ -35,7 +35,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/teleport/numpad/keyboard.json b/keyboards/teleport/numpad/keyboard.json
index ace8e949e0..572f01fd26 100644
--- a/keyboards/teleport/numpad/keyboard.json
+++ b/keyboards/teleport/numpad/keyboard.json
@@ -10,7 +10,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": true
diff --git a/keyboards/teleport/tkl/keyboard.json b/keyboards/teleport/tkl/keyboard.json
index 9fb88acb74..6d16d8a9e7 100644
--- a/keyboards/teleport/tkl/keyboard.json
+++ b/keyboards/teleport/tkl/keyboard.json
@@ -7,7 +7,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/telophase/keyboard.json b/keyboards/telophase/keyboard.json
index 8efbae5519..d3a86ebcbf 100644
--- a/keyboards/telophase/keyboard.json
+++ b/keyboards/telophase/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Telophase",
"manufacturer": "Unknown",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0xFEED",
diff --git a/keyboards/tempo_turtle/bradpad/keyboard.json b/keyboards/tempo_turtle/bradpad/keyboard.json
index 374dbeaaaf..e8a86526d6 100644
--- a/keyboards/tempo_turtle/bradpad/keyboard.json
+++ b/keyboards/tempo_turtle/bradpad/keyboard.json
@@ -7,7 +7,6 @@
"features": {
"bootmagic": false,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/tender/macrowo_pad/keyboard.json b/keyboards/tender/macrowo_pad/keyboard.json
index 53e22289f6..680fe6b13b 100644
--- a/keyboards/tender/macrowo_pad/keyboard.json
+++ b/keyboards/tender/macrowo_pad/keyboard.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false
diff --git a/keyboards/tenki/keyboard.json b/keyboards/tenki/keyboard.json
index 628e2068ba..b90c61470f 100644
--- a/keyboards/tenki/keyboard.json
+++ b/keyboards/tenki/keyboard.json
@@ -33,7 +33,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/terrazzo/keyboard.json b/keyboards/terrazzo/keyboard.json
index fb8bc6b483..735ccf19ec 100644
--- a/keyboards/terrazzo/keyboard.json
+++ b/keyboards/terrazzo/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Terrazzo",
"manufacturer": "MsMustard",
- "url": "",
"maintainer": "MsMustard",
"usb": {
"vid": "0x4D4D",
@@ -11,7 +10,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"encoder": true,
"extrakey": true,
"led_matrix": true,
diff --git a/keyboards/tetris/keyboard.json b/keyboards/tetris/keyboard.json
index 57cfd42c70..eae9c39ec4 100644
--- a/keyboards/tetris/keyboard.json
+++ b/keyboards/tetris/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Tetris",
"manufacturer": "Fengz",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0xFEED",
@@ -36,7 +35,6 @@
"audio": true,
"bootmagic": false,
"command": false,
- "console": false,
"encoder": true,
"extrakey": true,
"mousekey": true,
diff --git a/keyboards/tg4x/keyboard.json b/keyboards/tg4x/keyboard.json
index ae4cd53a28..93c620393e 100644
--- a/keyboards/tg4x/keyboard.json
+++ b/keyboards/tg4x/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "TG4x",
"manufacturer": "MythosMann",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0x4D4D",
@@ -35,7 +34,6 @@
"features": {
"bootmagic": false,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false,
diff --git a/keyboards/tg67/keyboard.json b/keyboards/tg67/keyboard.json
index 8c860e5996..308f16cc99 100644
--- a/keyboards/tg67/keyboard.json
+++ b/keyboards/tg67/keyboard.json
@@ -33,7 +33,6 @@
"led_count": 69,
"saturation_steps": 8
},
- "url": "",
"usb": {
"device_version": "0.0.1",
"pid": "0x6667",
diff --git a/keyboards/tgr/910/keyboard.json b/keyboards/tgr/910/keyboard.json
index 072eb07ea1..dad6cb8bd0 100644
--- a/keyboards/tgr/910/keyboard.json
+++ b/keyboards/tgr/910/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "TGR-910",
"manufacturer": "Quadcube",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0x5447",
@@ -12,7 +11,6 @@
"backlight": true,
"bootmagic": false,
"command": true,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": false,
diff --git a/keyboards/tgr/910ce/keyboard.json b/keyboards/tgr/910ce/keyboard.json
index 4d70a5b5db..4df67dfc2d 100644
--- a/keyboards/tgr/910ce/keyboard.json
+++ b/keyboards/tgr/910ce/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "910CE",
"manufacturer": "TGR",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0x5447",
@@ -12,7 +11,6 @@
"backlight": true,
"bootmagic": false,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": false,
diff --git a/keyboards/tgr/alice/keyboard.json b/keyboards/tgr/alice/keyboard.json
index d78185106b..c477d52e04 100644
--- a/keyboards/tgr/alice/keyboard.json
+++ b/keyboards/tgr/alice/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Alice",
"manufacturer": "TGR",
- "url": "",
"maintainer": "Felipe Coury",
"usb": {
"vid": "0x20A0",
@@ -12,7 +11,6 @@
"backlight": true,
"bootmagic": true,
"command": true,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": false,
diff --git a/keyboards/tgr/jane/v2/keyboard.json b/keyboards/tgr/jane/v2/keyboard.json
index dc36757eb5..3028064cd1 100644
--- a/keyboards/tgr/jane/v2/keyboard.json
+++ b/keyboards/tgr/jane/v2/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Jane v2",
"manufacturer": "TGR",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0x5447",
@@ -12,7 +11,6 @@
"backlight": true,
"bootmagic": false,
"command": true,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false
diff --git a/keyboards/tgr/jane/v2ce/keyboard.json b/keyboards/tgr/jane/v2ce/keyboard.json
index 107e2dee9e..66dcb9fd25 100644
--- a/keyboards/tgr/jane/v2ce/keyboard.json
+++ b/keyboards/tgr/jane/v2ce/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Jane v2 CE",
"manufacturer": "TGR",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0x5447",
@@ -12,7 +11,6 @@
"backlight": true,
"bootmagic": true,
"command": true,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false
diff --git a/keyboards/tgr/tris/keyboard.json b/keyboards/tgr/tris/keyboard.json
index 7776c7b2c9..13f2eef8a1 100644
--- a/keyboards/tgr/tris/keyboard.json
+++ b/keyboards/tgr/tris/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Tris",
"manufacturer": "TGR",
- "url": "",
"maintainer": "halfenergized",
"usb": {
"vid": "0x5447",
@@ -12,7 +11,6 @@
"backlight": true,
"bootmagic": false,
"command": true,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": false,
diff --git a/keyboards/the_royal/liminal/keyboard.json b/keyboards/the_royal/liminal/keyboard.json
index 0a5bd361e7..2023a8b6e1 100644
--- a/keyboards/the_royal/liminal/keyboard.json
+++ b/keyboards/the_royal/liminal/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Liminal",
"manufacturer": "TheRoyalSweatshirt",
- "url": "",
"maintainer": "TheRoyalSweatshirt",
"usb": {
"vid": "0x4B4B",
@@ -20,7 +19,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": false,
diff --git a/keyboards/the_royal/schwann/keyboard.json b/keyboards/the_royal/schwann/keyboard.json
index 800d45b83a..0db2bc2075 100644
--- a/keyboards/the_royal/schwann/keyboard.json
+++ b/keyboards/the_royal/schwann/keyboard.json
@@ -32,7 +32,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": false,
diff --git a/keyboards/themadnoodle/ncc1701kb/v2/keyboard.json b/keyboards/themadnoodle/ncc1701kb/v2/keyboard.json
index c67262c562..151ec83173 100644
--- a/keyboards/themadnoodle/ncc1701kb/v2/keyboard.json
+++ b/keyboards/themadnoodle/ncc1701kb/v2/keyboard.json
@@ -8,7 +8,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/themadnoodle/noodlepad/info.json b/keyboards/themadnoodle/noodlepad/info.json
index 8ad698df38..dde8ae08a7 100644
--- a/keyboards/themadnoodle/noodlepad/info.json
+++ b/keyboards/themadnoodle/noodlepad/info.json
@@ -9,7 +9,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/themadnoodle/noodlepad_micro/keyboard.json b/keyboards/themadnoodle/noodlepad_micro/keyboard.json
index fe7ab9ea75..c20b70493c 100644
--- a/keyboards/themadnoodle/noodlepad_micro/keyboard.json
+++ b/keyboards/themadnoodle/noodlepad_micro/keyboard.json
@@ -8,7 +8,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/themadnoodle/udon13/keyboard.json b/keyboards/themadnoodle/udon13/keyboard.json
index b0ece11612..10d4bff834 100644
--- a/keyboards/themadnoodle/udon13/keyboard.json
+++ b/keyboards/themadnoodle/udon13/keyboard.json
@@ -8,7 +8,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"encoder": true,
"mousekey": true,
diff --git a/keyboards/theone/keyboard.json b/keyboards/theone/keyboard.json
index 3b4fc99d05..a2eff3c015 100644
--- a/keyboards/theone/keyboard.json
+++ b/keyboards/theone/keyboard.json
@@ -9,7 +9,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"key_lock": true,
"mousekey": true,
diff --git a/keyboards/thepanduuh/degenpad/keyboard.json b/keyboards/thepanduuh/degenpad/keyboard.json
index 7a0edc2124..9fa02bae90 100644
--- a/keyboards/thepanduuh/degenpad/keyboard.json
+++ b/keyboards/thepanduuh/degenpad/keyboard.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"encoder": true,
"extrakey": true,
"mousekey": false,
diff --git a/keyboards/thevankeyboards/bananasplit/keyboard.json b/keyboards/thevankeyboards/bananasplit/keyboard.json
index 1fb7fc5054..b8845f165c 100644
--- a/keyboards/thevankeyboards/bananasplit/keyboard.json
+++ b/keyboards/thevankeyboards/bananasplit/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "BananaSplit 60",
"manufacturer": "TheVan Keyboards",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0xFEAE",
diff --git a/keyboards/thevankeyboards/caravan/keyboard.json b/keyboards/thevankeyboards/caravan/keyboard.json
index a5c00abf4e..5dce31e1ea 100644
--- a/keyboards/thevankeyboards/caravan/keyboard.json
+++ b/keyboards/thevankeyboards/caravan/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Caravan",
"manufacturer": "TheVan Keyboards",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0xFEAE",
diff --git a/keyboards/thevankeyboards/jetvan/keyboard.json b/keyboards/thevankeyboards/jetvan/keyboard.json
index a5a9b96ac8..4d73b04537 100644
--- a/keyboards/thevankeyboards/jetvan/keyboard.json
+++ b/keyboards/thevankeyboards/jetvan/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "JetVan",
"manufacturer": "evangs",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0xFEAE",
@@ -29,7 +28,6 @@
"features": {
"bootmagic": true,
"command": true,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/thevankeyboards/minivan/keyboard.json b/keyboards/thevankeyboards/minivan/keyboard.json
index 53b3e0d89c..547762a7f4 100644
--- a/keyboards/thevankeyboards/minivan/keyboard.json
+++ b/keyboards/thevankeyboards/minivan/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Minivan",
"manufacturer": "Evan Sailer",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0xFEAE",
@@ -18,7 +17,6 @@
"features": {
"bootmagic": true,
"command": true,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/thevankeyboards/roadkit/keyboard.json b/keyboards/thevankeyboards/roadkit/keyboard.json
index e3c282bffe..b6933d677d 100644
--- a/keyboards/thevankeyboards/roadkit/keyboard.json
+++ b/keyboards/thevankeyboards/roadkit/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Roadkit Micro",
"manufacturer": "TheVan Keyboards",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0xFEAE",
@@ -11,7 +10,6 @@
"features": {
"bootmagic": true,
"command": true,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/tkc/california/keyboard.json b/keyboards/tkc/california/keyboard.json
index 465544bc03..304e9fcb8e 100644
--- a/keyboards/tkc/california/keyboard.json
+++ b/keyboards/tkc/california/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "California",
"manufacturer": "TKC",
- "url": "",
"maintainer": "TerryMathews",
"usb": {
"vid": "0x544B",
@@ -12,7 +11,6 @@
"backlight": true,
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/tkc/candybar/lefty/keyboard.json b/keyboards/tkc/candybar/lefty/keyboard.json
index fe8814e54b..46aeefcde3 100644
--- a/keyboards/tkc/candybar/lefty/keyboard.json
+++ b/keyboards/tkc/candybar/lefty/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Candybar",
"manufacturer": "The Key Company",
- "url": "",
"maintainer": "terrymathews",
"usb": {
"vid": "0x544B",
@@ -14,7 +13,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": true
diff --git a/keyboards/tkc/candybar/lefty_r3/keyboard.json b/keyboards/tkc/candybar/lefty_r3/keyboard.json
index b09412ffc9..fc18aa46fe 100644
--- a/keyboards/tkc/candybar/lefty_r3/keyboard.json
+++ b/keyboards/tkc/candybar/lefty_r3/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Candybar",
"manufacturer": "The Key Company",
- "url": "",
"maintainer": "terrymathews",
"usb": {
"vid": "0x544B",
@@ -14,7 +13,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": true
diff --git a/keyboards/tkc/candybar/righty/keyboard.json b/keyboards/tkc/candybar/righty/keyboard.json
index f529ac936f..e351ffd293 100644
--- a/keyboards/tkc/candybar/righty/keyboard.json
+++ b/keyboards/tkc/candybar/righty/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Candybar",
"manufacturer": "The Key Company",
- "url": "",
"maintainer": "terrymathews",
"usb": {
"vid": "0x544B",
@@ -14,7 +13,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": true
diff --git a/keyboards/tkc/candybar/righty_r3/keyboard.json b/keyboards/tkc/candybar/righty_r3/keyboard.json
index 8064672583..15c52701bc 100644
--- a/keyboards/tkc/candybar/righty_r3/keyboard.json
+++ b/keyboards/tkc/candybar/righty_r3/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Candybar",
"manufacturer": "The Key Company",
- "url": "",
"maintainer": "terrymathews",
"usb": {
"vid": "0x544B",
@@ -14,7 +13,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": true
diff --git a/keyboards/tkc/godspeed75/keyboard.json b/keyboards/tkc/godspeed75/keyboard.json
index 48cf06f3ca..9d823c0cf8 100644
--- a/keyboards/tkc/godspeed75/keyboard.json
+++ b/keyboards/tkc/godspeed75/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "GodSpeed75",
"manufacturer": "The Key Company",
- "url": "",
"maintainer": "terrymathews",
"usb": {
"vid": "0x544B",
@@ -29,7 +28,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/tkc/m0lly/keyboard.json b/keyboards/tkc/m0lly/keyboard.json
index ae76f1e6d9..fda904c4f4 100644
--- a/keyboards/tkc/m0lly/keyboard.json
+++ b/keyboards/tkc/m0lly/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "M0lly",
"manufacturer": "The Key Company",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0x544B",
diff --git a/keyboards/tkc/osav2/keyboard.json b/keyboards/tkc/osav2/keyboard.json
index ef4c789797..8e9c685b49 100644
--- a/keyboards/tkc/osav2/keyboard.json
+++ b/keyboards/tkc/osav2/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "OSA v2",
"manufacturer": "The Key Company",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0x544B",
diff --git a/keyboards/tkc/portico/keyboard.json b/keyboards/tkc/portico/keyboard.json
index 29b7d8246b..49efe0a942 100644
--- a/keyboards/tkc/portico/keyboard.json
+++ b/keyboards/tkc/portico/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Portico",
"manufacturer": "TKC",
- "url": "",
"maintainer": "TerryMathews",
"usb": {
"vid": "0x544B",
diff --git a/keyboards/tkc/portico68v2/keyboard.json b/keyboards/tkc/portico68v2/keyboard.json
index 914dee8760..087713f3a2 100644
--- a/keyboards/tkc/portico68v2/keyboard.json
+++ b/keyboards/tkc/portico68v2/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Portico68 v2",
"manufacturer": "TKC",
- "url": "",
"maintainer": "TerryMathews",
"usb": {
"vid": "0x544B",
@@ -63,7 +62,6 @@
"features": {
"bootmagic": true,
"command": true,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/tkc/portico75/keyboard.json b/keyboards/tkc/portico75/keyboard.json
index 4228f20145..1e84f25ebe 100644
--- a/keyboards/tkc/portico75/keyboard.json
+++ b/keyboards/tkc/portico75/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Portico75",
"manufacturer": "TKC",
- "url": "",
"maintainer": "TerryMathews",
"usb": {
"vid": "0x544B",
diff --git a/keyboards/tkc/tkc1800/keyboard.json b/keyboards/tkc/tkc1800/keyboard.json
index 2965c61d83..49c56735e4 100644
--- a/keyboards/tkc/tkc1800/keyboard.json
+++ b/keyboards/tkc/tkc1800/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "TKC1800",
"manufacturer": "The Key Company",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0x544B",
@@ -12,7 +11,6 @@
"backlight": true,
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/tkc/tkl_ab87/keyboard.json b/keyboards/tkc/tkl_ab87/keyboard.json
index c3d14bd8cf..a7bbbc3664 100644
--- a/keyboards/tkc/tkl_ab87/keyboard.json
+++ b/keyboards/tkc/tkl_ab87/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "TKL A/B87",
"manufacturer": "TKC",
- "url": "",
"maintainer": "TerryMathews",
"usb": {
"vid": "0x544B",
@@ -12,7 +11,6 @@
"backlight": true,
"bootmagic": true,
"command": true,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/tmo50/keyboard.json b/keyboards/tmo50/keyboard.json
index dbb79802ca..c7d9170894 100644
--- a/keyboards/tmo50/keyboard.json
+++ b/keyboards/tmo50/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "TMO50",
"manufacturer": "funderburker",
- "url": "",
"maintainer": "funderburker",
"usb": {
"vid": "0xFBFB",
@@ -12,7 +11,6 @@
"backlight": true,
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": true,
diff --git a/keyboards/toad/keyboard.json b/keyboards/toad/keyboard.json
index 073fa6411c..b8177692cc 100644
--- a/keyboards/toad/keyboard.json
+++ b/keyboards/toad/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Toad",
"manufacturer": "farmakon",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0xFEED",
@@ -11,7 +10,6 @@
"features": {
"bootmagic": false,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": true
diff --git a/keyboards/toffee_studio/blueberry/keyboard.json b/keyboards/toffee_studio/blueberry/keyboard.json
index 99a87b0a95..56b0bf2201 100644
--- a/keyboards/toffee_studio/blueberry/keyboard.json
+++ b/keyboards/toffee_studio/blueberry/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Blueberry",
"manufacturer": "Toffee Studio",
- "url": "",
"maintainer": "Toffee Studio",
"usb": {
"vid": "0x1067",
@@ -32,7 +31,6 @@
"features": {
"bootmagic": false,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/tokyokeyboard/alix40/config.h b/keyboards/tokyokeyboard/alix40/config.h
deleted file mode 100644
index 51d446c6d2..0000000000
--- a/keyboards/tokyokeyboard/alix40/config.h
+++ /dev/null
@@ -1,18 +0,0 @@
-/*
-Copyright 2021 quadcube <[email protected]>
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#pragma once
-
-/* Bluetooth */
-#define BATTERY_LEVEL_PIN B6
diff --git a/keyboards/tokyokeyboard/tokyo60/keyboard.json b/keyboards/tokyokeyboard/tokyo60/keyboard.json
index b590946a3a..90734f16af 100644
--- a/keyboards/tokyokeyboard/tokyo60/keyboard.json
+++ b/keyboards/tokyokeyboard/tokyo60/keyboard.json
@@ -13,7 +13,6 @@
"backlight": true,
"bootmagic": true,
"command": true,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": true,
diff --git a/keyboards/tominabox1/adalyn/keyboard.json b/keyboards/tominabox1/adalyn/keyboard.json
index 113ef690ed..ea05cffa88 100644
--- a/keyboards/tominabox1/adalyn/keyboard.json
+++ b/keyboards/tominabox1/adalyn/keyboard.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/tominabox1/bigboy/keyboard.json b/keyboards/tominabox1/bigboy/keyboard.json
index a25189f35e..4e00f6d65a 100644
--- a/keyboards/tominabox1/bigboy/keyboard.json
+++ b/keyboards/tominabox1/bigboy/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "BigBoy",
"manufacturer": "tominabox1",
- "url": "",
"maintainer": "tominabox1",
"usb": {
"vid": "0x7431",
@@ -37,7 +36,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"encoder": true,
"extrakey": true,
"mousekey": true,
diff --git a/keyboards/tominabox1/le_chiffre/info.json b/keyboards/tominabox1/le_chiffre/info.json
index cb4097d61d..c521928adf 100644
--- a/keyboards/tominabox1/le_chiffre/info.json
+++ b/keyboards/tominabox1/le_chiffre/info.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Le Chiffre",
"manufacturer": "tominabox1",
- "url": "",
"maintainer": "tominabox1",
"features": {
"bootmagic": true,
diff --git a/keyboards/tominabox1/littlefoot_lx/rev1/keyboard.json b/keyboards/tominabox1/littlefoot_lx/rev1/keyboard.json
index b021ba9c8d..9ccfb5f27b 100644
--- a/keyboards/tominabox1/littlefoot_lx/rev1/keyboard.json
+++ b/keyboards/tominabox1/littlefoot_lx/rev1/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Littlefoot LX",
"manufacturer": "tominabox1",
- "url": "",
"maintainer": "tominabox1",
"usb": {
"vid": "0x7431",
diff --git a/keyboards/tominabox1/littlefoot_lx/rev2/keyboard.json b/keyboards/tominabox1/littlefoot_lx/rev2/keyboard.json
index fe1cf6e596..38d1d62345 100644
--- a/keyboards/tominabox1/littlefoot_lx/rev2/keyboard.json
+++ b/keyboards/tominabox1/littlefoot_lx/rev2/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Littlefoot LX",
"manufacturer": "tominabox1",
- "url": "",
"maintainer": "tominabox1",
"usb": {
"vid": "0x7431",
diff --git a/keyboards/tominabox1/qaz/keyboard.json b/keyboards/tominabox1/qaz/keyboard.json
index 9e18f0ddf4..d7df86716d 100644
--- a/keyboards/tominabox1/qaz/keyboard.json
+++ b/keyboards/tominabox1/qaz/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "qaz",
"manufacturer": "whydobearsexplod",
- "url": "",
"maintainer": "tominabox1",
"usb": {
"vid": "0x7431",
@@ -31,7 +30,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/tominabox1/underscore33/rev1/keyboard.json b/keyboards/tominabox1/underscore33/rev1/keyboard.json
index 221ecccb04..d13e20a7c6 100644
--- a/keyboards/tominabox1/underscore33/rev1/keyboard.json
+++ b/keyboards/tominabox1/underscore33/rev1/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "underscore33",
"manufacturer": "tominabox1",
- "url": "",
"maintainer": "tominabox1",
"usb": {
"vid": "0x7431",
diff --git a/keyboards/tominabox1/underscore33/rev2/keyboard.json b/keyboards/tominabox1/underscore33/rev2/keyboard.json
index 4375116963..d4b922e240 100644
--- a/keyboards/tominabox1/underscore33/rev2/keyboard.json
+++ b/keyboards/tominabox1/underscore33/rev2/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "underscore33",
"manufacturer": "tominabox1",
- "url": "",
"maintainer": "tominabox1",
"usb": {
"vid": "0x7431",
diff --git a/keyboards/touchpad/keyboard.json b/keyboards/touchpad/keyboard.json
index 5429b5844d..0d2b450782 100644
--- a/keyboards/touchpad/keyboard.json
+++ b/keyboards/touchpad/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "TouchPad",
"manufacturer": "JacoBurge",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0x16D0",
diff --git a/keyboards/tr60w/keyboard.json b/keyboards/tr60w/keyboard.json
index ef483ed2e2..aadc568626 100644
--- a/keyboards/tr60w/keyboard.json
+++ b/keyboards/tr60w/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "TR60W",
"manufacturer": "Triangle Lab",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0xFEED",
@@ -12,7 +11,6 @@
"backlight": true,
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/trainpad/keyboard.json b/keyboards/trainpad/keyboard.json
index e7e74b0e91..79b80b04ce 100644
--- a/keyboards/trainpad/keyboard.json
+++ b/keyboards/trainpad/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "TrainPad",
"manufacturer": "Ananya Kirti",
- "url": "",
"maintainer": "AnanyaKirti",
"usb": {
"vid": "0x416B",
@@ -12,7 +11,6 @@
"bootmagic": true,
"mousekey": true,
"extrakey": true,
- "console": false,
"command": false,
"nkro": false
},
diff --git a/keyboards/trashman/ketch/keyboard.json b/keyboards/trashman/ketch/keyboard.json
index 8f0a638e63..3db7f58ad9 100644
--- a/keyboards/trashman/ketch/keyboard.json
+++ b/keyboards/trashman/ketch/keyboard.json
@@ -31,7 +31,6 @@
"features": {
"bootmagic": false,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/treasure/type9/keyboard.json b/keyboards/treasure/type9/keyboard.json
index 0c1ee1987a..ab7599730f 100644
--- a/keyboards/treasure/type9/keyboard.json
+++ b/keyboards/treasure/type9/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Type-9",
"manufacturer": "Treasure",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0xFEED",
diff --git a/keyboards/treasure/type9s2/keyboard.json b/keyboards/treasure/type9s2/keyboard.json
index 94cc0dec95..dd43c38e8b 100644
--- a/keyboards/treasure/type9s2/keyboard.json
+++ b/keyboards/treasure/type9s2/keyboard.json
@@ -15,7 +15,6 @@
"backlight": true,
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": false
diff --git a/keyboards/treasure/type9s3/keyboard.json b/keyboards/treasure/type9s3/keyboard.json
index cb2bcf3a7a..a285925a46 100644
--- a/keyboards/treasure/type9s3/keyboard.json
+++ b/keyboards/treasure/type9s3/keyboard.json
@@ -7,7 +7,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": true,
@@ -21,7 +20,6 @@
]
},
"processor": "atmega32u2",
- "url": "",
"usb": {
"device_version": "1.0.0",
"pid": "0x5493",
diff --git a/keyboards/trkeyboards/trk1/keyboard.json b/keyboards/trkeyboards/trk1/keyboard.json
index c3190a5eee..851ba638e9 100644
--- a/keyboards/trkeyboards/trk1/keyboard.json
+++ b/keyboards/trkeyboards/trk1/keyboard.json
@@ -12,7 +12,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"encoder": true,
"extrakey": true,
"mousekey": true,
diff --git a/keyboards/trnthsn/e8ghty/info.json b/keyboards/trnthsn/e8ghty/info.json
index ec4e724878..47460abb8d 100644
--- a/keyboards/trnthsn/e8ghty/info.json
+++ b/keyboards/trnthsn/e8ghty/info.json
@@ -6,7 +6,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
@@ -37,7 +36,6 @@
"indicators": {
"caps_lock": "B4"
},
- "url": "",
"usb": {
"vid": "0x5453",
"pid": "0x3830",
diff --git a/keyboards/trnthsn/e8ghtyneo/info.json b/keyboards/trnthsn/e8ghtyneo/info.json
index fef6259d24..e393624ecf 100644
--- a/keyboards/trnthsn/e8ghtyneo/info.json
+++ b/keyboards/trnthsn/e8ghtyneo/info.json
@@ -6,7 +6,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
@@ -40,7 +39,6 @@
"indicators": {
"caps_lock": "B3"
},
- "url": "",
"usb": {
"vid": "0x5453",
"pid": "0x3845",
diff --git a/keyboards/trnthsn/s6xty/keyboard.json b/keyboards/trnthsn/s6xty/keyboard.json
index 3ec2f87f3d..e6c9a1c359 100644
--- a/keyboards/trnthsn/s6xty/keyboard.json
+++ b/keyboards/trnthsn/s6xty/keyboard.json
@@ -7,7 +7,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
@@ -35,7 +34,6 @@
"led_count": 22,
"sleep": true
},
- "url": "",
"usb": {
"device_version": "0.0.1",
"pid": "0x5336",
diff --git a/keyboards/trnthsn/s6xty5neor2/info.json b/keyboards/trnthsn/s6xty5neor2/info.json
index ba20dbc2ba..ca2869778c 100644
--- a/keyboards/trnthsn/s6xty5neor2/info.json
+++ b/keyboards/trnthsn/s6xty5neor2/info.json
@@ -6,7 +6,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
@@ -18,7 +17,6 @@
"indicators": {
"caps_lock": "C13"
},
- "url": "",
"usb": {
"vid": "0x5453",
"pid": "0x4E45",
diff --git a/keyboards/trojan_pinata/model_b/rev0/keyboard.json b/keyboards/trojan_pinata/model_b/rev0/keyboard.json
index 82d712d6fc..20b89fb71c 100644
--- a/keyboards/trojan_pinata/model_b/rev0/keyboard.json
+++ b/keyboards/trojan_pinata/model_b/rev0/keyboard.json
@@ -12,7 +12,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/tunks/ergo33/keyboard.json b/keyboards/tunks/ergo33/keyboard.json
index 2bace9cf00..85304d6153 100644
--- a/keyboards/tunks/ergo33/keyboard.json
+++ b/keyboards/tunks/ergo33/keyboard.json
@@ -28,7 +28,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"encoder": true,
"extrakey": true,
"mousekey": true,
diff --git a/keyboards/tweetydabird/lbs4/keyboard.json b/keyboards/tweetydabird/lbs4/keyboard.json
index 3176520772..709a1a875d 100644
--- a/keyboards/tweetydabird/lbs4/keyboard.json
+++ b/keyboards/tweetydabird/lbs4/keyboard.json
@@ -8,7 +8,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": false,
@@ -36,9 +35,6 @@
},
"rgblight": {
"led_count": 6,
- "hue_steps": 8,
- "saturation_steps": 17,
- "brightness_steps": 17,
"max_brightness": 175,
"animations": {
"alternating": true,
diff --git a/keyboards/tweetydabird/lbs6/keyboard.json b/keyboards/tweetydabird/lbs6/keyboard.json
index 1714e9b6c4..3e5e3e5ef3 100644
--- a/keyboards/tweetydabird/lbs6/keyboard.json
+++ b/keyboards/tweetydabird/lbs6/keyboard.json
@@ -7,7 +7,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false,
@@ -39,9 +38,6 @@
},
"rgblight": {
"led_count": 8,
- "hue_steps": 8,
- "saturation_steps": 17,
- "brightness_steps": 17,
"max_brightness": 200,
"animations": {
"alternating": true,
diff --git a/keyboards/tweetydabird/lotus58/info.json b/keyboards/tweetydabird/lotus58/info.json
index 2c3f85cdd9..dfc75fe407 100644
--- a/keyboards/tweetydabird/lotus58/info.json
+++ b/keyboards/tweetydabird/lotus58/info.json
@@ -7,7 +7,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"encoder": true,
"extrakey": true,
"mousekey": true,
diff --git a/keyboards/ubest/vn/keyboard.json b/keyboards/ubest/vn/keyboard.json
index c50ceebbba..c44824a95b 100644
--- a/keyboards/ubest/vn/keyboard.json
+++ b/keyboards/ubest/vn/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "vn",
"manufacturer": "ubest",
- "url": "",
"maintainer": "mfkiiyd",
"usb": {
"vid": "0x6D66",
@@ -12,7 +11,6 @@
"backlight": true,
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": false,
diff --git a/keyboards/uk78/keyboard.json b/keyboards/uk78/keyboard.json
index 673497ca9c..1a9bbb689d 100644
--- a/keyboards/uk78/keyboard.json
+++ b/keyboards/uk78/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "UK78",
"manufacturer": "UK Keyboards",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0x554B",
@@ -12,7 +11,6 @@
"backlight": true,
"bootmagic": false,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/ungodly/nines/keyboard.json b/keyboards/ungodly/nines/keyboard.json
index 5e5418e14d..0e7ff76b99 100644
--- a/keyboards/ungodly/nines/keyboard.json
+++ b/keyboards/ungodly/nines/keyboard.json
@@ -19,7 +19,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"encoder": true,
"extrakey": true,
"mousekey": true,
diff --git a/keyboards/unicomp/classic_ultracl_post_2013/overnumpad_1xb/board.h b/keyboards/unicomp/classic_ultracl_post_2013/overnumpad_1xb/board.h
new file mode 100644
index 0000000000..5b80eb2230
--- /dev/null
+++ b/keyboards/unicomp/classic_ultracl_post_2013/overnumpad_1xb/board.h
@@ -0,0 +1,8 @@
+// Copyright 2020 Purdea Andrei
+// SPDX-License-Identifier: GPL-2.0-or-later
+#pragma once
+
+#include_next <board.h>
+
+#undef STM32_HSECLK
+#define STM32_HSECLK 16000000U
diff --git a/keyboards/unicomp/classic_ultracl_post_2013/overnumpad_1xb/config.h b/keyboards/unicomp/classic_ultracl_post_2013/overnumpad_1xb/config.h
index 71e60e9cfe..c10d26b9b2 100644
--- a/keyboards/unicomp/classic_ultracl_post_2013/overnumpad_1xb/config.h
+++ b/keyboards/unicomp/classic_ultracl_post_2013/overnumpad_1xb/config.h
@@ -21,8 +21,6 @@
#define SERIAL_NUMBER DEF_SERIAL_NUMBER
#endif
-#define STM32_HSECLK 16000000
-
#define SOLENOID_PIN B5
#define HAPTIC_ENABLE_PIN C13
#define SOLENOID_DEFAULT_DWELL 20
diff --git a/keyboards/unicomp/classic_ultracl_pre_2013/overnumpad_1xb/board.h b/keyboards/unicomp/classic_ultracl_pre_2013/overnumpad_1xb/board.h
new file mode 100644
index 0000000000..5b80eb2230
--- /dev/null
+++ b/keyboards/unicomp/classic_ultracl_pre_2013/overnumpad_1xb/board.h
@@ -0,0 +1,8 @@
+// Copyright 2020 Purdea Andrei
+// SPDX-License-Identifier: GPL-2.0-or-later
+#pragma once
+
+#include_next <board.h>
+
+#undef STM32_HSECLK
+#define STM32_HSECLK 16000000U
diff --git a/keyboards/unicomp/classic_ultracl_pre_2013/overnumpad_1xb/config.h b/keyboards/unicomp/classic_ultracl_pre_2013/overnumpad_1xb/config.h
index 71e60e9cfe..c10d26b9b2 100644
--- a/keyboards/unicomp/classic_ultracl_pre_2013/overnumpad_1xb/config.h
+++ b/keyboards/unicomp/classic_ultracl_pre_2013/overnumpad_1xb/config.h
@@ -21,8 +21,6 @@
#define SERIAL_NUMBER DEF_SERIAL_NUMBER
#endif
-#define STM32_HSECLK 16000000
-
#define SOLENOID_PIN B5
#define HAPTIC_ENABLE_PIN C13
#define SOLENOID_DEFAULT_DWELL 20
diff --git a/keyboards/unicomp/pc122/overnumpad_1xb/board.h b/keyboards/unicomp/pc122/overnumpad_1xb/board.h
new file mode 100644
index 0000000000..5b80eb2230
--- /dev/null
+++ b/keyboards/unicomp/pc122/overnumpad_1xb/board.h
@@ -0,0 +1,8 @@
+// Copyright 2020 Purdea Andrei
+// SPDX-License-Identifier: GPL-2.0-or-later
+#pragma once
+
+#include_next <board.h>
+
+#undef STM32_HSECLK
+#define STM32_HSECLK 16000000U
diff --git a/keyboards/unicomp/pc122/overnumpad_1xb/config.h b/keyboards/unicomp/pc122/overnumpad_1xb/config.h
index 71e60e9cfe..c10d26b9b2 100644
--- a/keyboards/unicomp/pc122/overnumpad_1xb/config.h
+++ b/keyboards/unicomp/pc122/overnumpad_1xb/config.h
@@ -21,8 +21,6 @@
#define SERIAL_NUMBER DEF_SERIAL_NUMBER
#endif
-#define STM32_HSECLK 16000000
-
#define SOLENOID_PIN B5
#define HAPTIC_ENABLE_PIN C13
#define SOLENOID_DEFAULT_DWELL 20
diff --git a/keyboards/unicomp/spacesaver_m_post_2013/overnumpad_1xb/board.h b/keyboards/unicomp/spacesaver_m_post_2013/overnumpad_1xb/board.h
new file mode 100644
index 0000000000..5b80eb2230
--- /dev/null
+++ b/keyboards/unicomp/spacesaver_m_post_2013/overnumpad_1xb/board.h
@@ -0,0 +1,8 @@
+// Copyright 2020 Purdea Andrei
+// SPDX-License-Identifier: GPL-2.0-or-later
+#pragma once
+
+#include_next <board.h>
+
+#undef STM32_HSECLK
+#define STM32_HSECLK 16000000U
diff --git a/keyboards/unicomp/spacesaver_m_post_2013/overnumpad_1xb/config.h b/keyboards/unicomp/spacesaver_m_post_2013/overnumpad_1xb/config.h
index 71e60e9cfe..c10d26b9b2 100644
--- a/keyboards/unicomp/spacesaver_m_post_2013/overnumpad_1xb/config.h
+++ b/keyboards/unicomp/spacesaver_m_post_2013/overnumpad_1xb/config.h
@@ -21,8 +21,6 @@
#define SERIAL_NUMBER DEF_SERIAL_NUMBER
#endif
-#define STM32_HSECLK 16000000
-
#define SOLENOID_PIN B5
#define HAPTIC_ENABLE_PIN C13
#define SOLENOID_DEFAULT_DWELL 20
diff --git a/keyboards/unicomp/spacesaver_m_pre_2013/overnumpad_1xb/board.h b/keyboards/unicomp/spacesaver_m_pre_2013/overnumpad_1xb/board.h
new file mode 100644
index 0000000000..5b80eb2230
--- /dev/null
+++ b/keyboards/unicomp/spacesaver_m_pre_2013/overnumpad_1xb/board.h
@@ -0,0 +1,8 @@
+// Copyright 2020 Purdea Andrei
+// SPDX-License-Identifier: GPL-2.0-or-later
+#pragma once
+
+#include_next <board.h>
+
+#undef STM32_HSECLK
+#define STM32_HSECLK 16000000U
diff --git a/keyboards/unicomp/spacesaver_m_pre_2013/overnumpad_1xb/config.h b/keyboards/unicomp/spacesaver_m_pre_2013/overnumpad_1xb/config.h
index 71e60e9cfe..c10d26b9b2 100644
--- a/keyboards/unicomp/spacesaver_m_pre_2013/overnumpad_1xb/config.h
+++ b/keyboards/unicomp/spacesaver_m_pre_2013/overnumpad_1xb/config.h
@@ -21,8 +21,6 @@
#define SERIAL_NUMBER DEF_SERIAL_NUMBER
#endif
-#define STM32_HSECLK 16000000
-
#define SOLENOID_PIN B5
#define HAPTIC_ENABLE_PIN C13
#define SOLENOID_DEFAULT_DWELL 20
diff --git a/keyboards/unikeyboard/diverge3/keyboard.json b/keyboards/unikeyboard/diverge3/keyboard.json
index 767f44b198..53c5f55fcd 100644
--- a/keyboards/unikeyboard/diverge3/keyboard.json
+++ b/keyboards/unikeyboard/diverge3/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Diverge3",
"manufacturer": "UniKeyboard",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0xFEED",
@@ -12,7 +11,6 @@
"backlight": true,
"bootmagic": false,
"command": true,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false
diff --git a/keyboards/unikeyboard/divergetm2/keyboard.json b/keyboards/unikeyboard/divergetm2/keyboard.json
index 09d481149c..3dc19772fa 100644
--- a/keyboards/unikeyboard/divergetm2/keyboard.json
+++ b/keyboards/unikeyboard/divergetm2/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Diverge TM 2",
"manufacturer": "UniKeyboard",
- "url": "",
"maintainer": "islandman93, xton",
"usb": {
"vid": "0xFEED",
@@ -11,7 +10,6 @@
"features": {
"bootmagic": false,
"command": true,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false
diff --git a/keyboards/unikeyboard/felix/keyboard.json b/keyboards/unikeyboard/felix/keyboard.json
index b55138a15c..5ab1e71c1a 100644
--- a/keyboards/unikeyboard/felix/keyboard.json
+++ b/keyboards/unikeyboard/felix/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Felix",
"manufacturer": "UniKeyboard",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0xFEED",
@@ -12,7 +11,6 @@
"backlight": true,
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/unikorn/keyboard.json b/keyboards/unikorn/keyboard.json
index 1a3c46d691..7ba06098f3 100644
--- a/keyboards/unikorn/keyboard.json
+++ b/keyboards/unikorn/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Unikorn60",
"manufacturer": "Singa x TGR",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0x5354",
@@ -12,7 +11,6 @@
"backlight": true,
"bootmagic": false,
"command": true,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false
diff --git a/keyboards/uranuma/keyboard.json b/keyboards/uranuma/keyboard.json
index b24ce74d9f..670823bda9 100644
--- a/keyboards/uranuma/keyboard.json
+++ b/keyboards/uranuma/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "UraNuma",
"manufacturer": "yohewi",
- "url": "",
"maintainer": "yohewi",
"usb": {
"vid": "0xFEED",
diff --git a/keyboards/utd80/keyboard.json b/keyboards/utd80/keyboard.json
index 41bd35c66a..1167b84da4 100644
--- a/keyboards/utd80/keyboard.json
+++ b/keyboards/utd80/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "UTD80",
"manufacturer": "UTD",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0xFEED",
@@ -12,7 +11,6 @@
"backlight": true,
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": true,
diff --git a/keyboards/v60_type_r/keyboard.json b/keyboards/v60_type_r/keyboard.json
index eba729220a..90c7e9bb88 100644
--- a/keyboards/v60_type_r/keyboard.json
+++ b/keyboards/v60_type_r/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "V60 Type R",
"manufacturer": "KB Paradise",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0x7432",
@@ -15,7 +14,6 @@
"backlight": true,
"bootmagic": false,
"command": true,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false
diff --git a/keyboards/vagrant_10/keyboard.json b/keyboards/vagrant_10/keyboard.json
index 26b68b6923..262bfc6581 100644
--- a/keyboards/vagrant_10/keyboard.json
+++ b/keyboards/vagrant_10/keyboard.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/vertex/angle65/keyboard.json b/keyboards/vertex/angle65/keyboard.json
index ef0aacfef4..3047d82dfa 100644
--- a/keyboards/vertex/angle65/keyboard.json
+++ b/keyboards/vertex/angle65/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "ANGLE65",
"manufacturer": "vertex",
- "url": "",
"maintainer": "EasonQian1, Vertex-kb",
"usb": {
"vid": "0x9954",
diff --git a/keyboards/vertex/angler2/keyboard.json b/keyboards/vertex/angler2/keyboard.json
index 02541f6c86..e55805827b 100644
--- a/keyboards/vertex/angler2/keyboard.json
+++ b/keyboards/vertex/angler2/keyboard.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false,
diff --git a/keyboards/vertex/arc60/keyboard.json b/keyboards/vertex/arc60/keyboard.json
index ab98c446f0..7bca331f44 100644
--- a/keyboards/vertex/arc60/keyboard.json
+++ b/keyboards/vertex/arc60/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "ARC60",
"manufacturer": "vertex",
- "url": "",
"maintainer": "EasonQian1, Vertex-kb",
"usb": {
"vid": "0x8354",
diff --git a/keyboards/vertex/arc60h/keyboard.json b/keyboards/vertex/arc60h/keyboard.json
index e6fed06bc1..684bbb9538 100644
--- a/keyboards/vertex/arc60h/keyboard.json
+++ b/keyboards/vertex/arc60h/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "ARC60H",
"manufacturer": "vertex",
- "url": "",
"maintainer": "EasonQian1, Vertex-kb",
"usb": {
"vid": "0x7374",
diff --git a/keyboards/vertex/cycle7/keyboard.json b/keyboards/vertex/cycle7/keyboard.json
index 9d55b63fec..865e8b604e 100644
--- a/keyboards/vertex/cycle7/keyboard.json
+++ b/keyboards/vertex/cycle7/keyboard.json
@@ -10,7 +10,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/vertex/cycle8/keyboard.json b/keyboards/vertex/cycle8/keyboard.json
index 100c2d21f1..8f90597e87 100644
--- a/keyboards/vertex/cycle8/keyboard.json
+++ b/keyboards/vertex/cycle8/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Cycle8",
"manufacturer": "vertex",
- "url": "",
"maintainer": "Eason",
"usb": {
"vid": "0x8A94",
@@ -12,7 +11,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/viendi8l/keyboard.json b/keyboards/viendi8l/keyboard.json
index f6df59e08b..a96c0926e2 100644
--- a/keyboards/viendi8l/keyboard.json
+++ b/keyboards/viendi8l/keyboard.json
@@ -21,7 +21,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"encoder": true,
"extrakey": true,
"mousekey": true,
diff --git a/keyboards/viktus/at101_bh/keyboard.json b/keyboards/viktus/at101_bh/keyboard.json
index a315288cac..02769b47e3 100644
--- a/keyboards/viktus/at101_bh/keyboard.json
+++ b/keyboards/viktus/at101_bh/keyboard.json
@@ -12,7 +12,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/viktus/minne/keyboard.json b/keyboards/viktus/minne/keyboard.json
index bfb3f8a8a6..e87e2cbbcf 100644
--- a/keyboards/viktus/minne/keyboard.json
+++ b/keyboards/viktus/minne/keyboard.json
@@ -14,7 +14,6 @@
"rgblight": true,
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/viktus/minne_topre/keyboard.json b/keyboards/viktus/minne_topre/keyboard.json
index 6919e7f9cc..5a4186c3bc 100644
--- a/keyboards/viktus/minne_topre/keyboard.json
+++ b/keyboards/viktus/minne_topre/keyboard.json
@@ -13,7 +13,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/viktus/omnikey_bh/keyboard.json b/keyboards/viktus/omnikey_bh/keyboard.json
index 3356bf1eb2..780b91ace3 100644
--- a/keyboards/viktus/omnikey_bh/keyboard.json
+++ b/keyboards/viktus/omnikey_bh/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Omnikey Blackheart",
"manufacturer": "blindassassin111",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0xFEED",
@@ -12,7 +11,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/viktus/osav2/keyboard.json b/keyboards/viktus/osav2/keyboard.json
index 34c2089181..27bbc729d8 100644
--- a/keyboards/viktus/osav2/keyboard.json
+++ b/keyboards/viktus/osav2/keyboard.json
@@ -15,7 +15,6 @@
"rgblight": true,
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/viktus/osav2_numpad/keyboard.json b/keyboards/viktus/osav2_numpad/keyboard.json
index 941d65f367..7e4e19dd68 100644
--- a/keyboards/viktus/osav2_numpad/keyboard.json
+++ b/keyboards/viktus/osav2_numpad/keyboard.json
@@ -14,7 +14,6 @@
"rgblight": true,
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/viktus/osav2_numpad_topre/keyboard.json b/keyboards/viktus/osav2_numpad_topre/keyboard.json
index 55ca939e3f..2b4961aed2 100644
--- a/keyboards/viktus/osav2_numpad_topre/keyboard.json
+++ b/keyboards/viktus/osav2_numpad_topre/keyboard.json
@@ -13,7 +13,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/viktus/osav2_topre/keyboard.json b/keyboards/viktus/osav2_topre/keyboard.json
index 1f2120ed57..d5bbd8b92e 100644
--- a/keyboards/viktus/osav2_topre/keyboard.json
+++ b/keyboards/viktus/osav2_topre/keyboard.json
@@ -13,7 +13,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/viktus/smolka/keyboard.json b/keyboards/viktus/smolka/keyboard.json
index e2cd55a405..f07b1472ca 100644
--- a/keyboards/viktus/smolka/keyboard.json
+++ b/keyboards/viktus/smolka/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Smolka",
"manufacturer": "Viktus Design LLC",
- "url": "",
"maintainer": "jrfhoutx",
"usb": {
"vid": "0x5644",
@@ -11,7 +10,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"encoder": true,
"extrakey": true,
"mousekey": true,
diff --git a/keyboards/viktus/sp111_v2/keyboard.json b/keyboards/viktus/sp111_v2/keyboard.json
index 63c531ee44..79f76f2c90 100644
--- a/keyboards/viktus/sp111_v2/keyboard.json
+++ b/keyboards/viktus/sp111_v2/keyboard.json
@@ -8,7 +8,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/viktus/sp_mini/keyboard.json b/keyboards/viktus/sp_mini/keyboard.json
index 25aa4c9494..0b8854b1b9 100644
--- a/keyboards/viktus/sp_mini/keyboard.json
+++ b/keyboards/viktus/sp_mini/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "SP_Mini",
"manufacturer": "Viktus Design LLC",
- "url": "",
"maintainer": "jrfhoutx",
"usb": {
"vid": "0x5644",
@@ -11,7 +10,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"encoder": true,
"extrakey": true,
"mousekey": false,
diff --git a/keyboards/viktus/styrka/keyboard.json b/keyboards/viktus/styrka/keyboard.json
index 98d46bc81a..ce40b10e1a 100644
--- a/keyboards/viktus/styrka/keyboard.json
+++ b/keyboards/viktus/styrka/keyboard.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": true
diff --git a/keyboards/viktus/styrka_topre/keyboard.json b/keyboards/viktus/styrka_topre/keyboard.json
index 7095a8f484..fc3f044660 100644
--- a/keyboards/viktus/styrka_topre/keyboard.json
+++ b/keyboards/viktus/styrka_topre/keyboard.json
@@ -13,7 +13,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/viktus/vkr94/keyboard.json b/keyboards/viktus/vkr94/keyboard.json
index 31fd8ee1c7..0a41e6bda9 100644
--- a/keyboards/viktus/vkr94/keyboard.json
+++ b/keyboards/viktus/vkr94/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "VKR 94",
"manufacturer": "Viktus Design",
- "url": "",
"maintainer": "BlindAssassin111",
"usb": {
"vid": "0x5644",
@@ -14,7 +13,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/viktus/z150_bh/keyboard.json b/keyboards/viktus/z150_bh/keyboard.json
index 27754da543..b952864f70 100644
--- a/keyboards/viktus/z150_bh/keyboard.json
+++ b/keyboards/viktus/z150_bh/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Z-150 Blackheart",
"manufacturer": "blindassassin111",
- "url": "",
"maintainer": "qmk, blindassassin111",
"usb": {
"vid": "0xFEED",
@@ -12,7 +11,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/vinhcatba/uncertainty/keyboard.json b/keyboards/vinhcatba/uncertainty/keyboard.json
index 5f35a144d8..d2b21a3b5d 100644
--- a/keyboards/vinhcatba/uncertainty/keyboard.json
+++ b/keyboards/vinhcatba/uncertainty/keyboard.json
@@ -15,7 +15,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"wpm": true,
"encoder": true,
"extrakey": true,
@@ -47,10 +46,8 @@
"override_rgb": true
},
"led_count": 14,
- "max_brightness": 255,
"sleep": true
},
- "url": "",
"usb": {
"device_version": "1.0.0",
"pid": "0x0000",
diff --git a/keyboards/vitamins_included/info.json b/keyboards/vitamins_included/info.json
index 60907cdba3..2934c2cb71 100644
--- a/keyboards/vitamins_included/info.json
+++ b/keyboards/vitamins_included/info.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Vitamins Included",
"manufacturer": "Duckle29",
- "url": "",
"maintainer": "Duckle29",
"build": {
"lto": true
@@ -10,7 +9,6 @@
"audio": true,
"bootmagic": false,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": true,
diff --git a/keyboards/vitamins_included/rev2/rev2.c b/keyboards/vitamins_included/rev2/rev2.c
index e445a3da45..28bd73cc75 100644
--- a/keyboards/vitamins_included/rev2/rev2.c
+++ b/keyboards/vitamins_included/rev2/rev2.c
@@ -12,7 +12,7 @@ bool is_keyboard_left(void) {
gpio_set_pin_input(SPLIT_HAND_PIN);
return x;
#elif defined(EE_HANDS)
- return eeprom_read_byte(EECONFIG_HANDEDNESS);
+ return eeconfig_read_handedness();
#endif
return is_keyboard_master();
diff --git a/keyboards/void/voidhhkb_hotswap/keyboard.json b/keyboards/void/voidhhkb_hotswap/keyboard.json
index 460454cc5f..61d2591d95 100644
--- a/keyboards/void/voidhhkb_hotswap/keyboard.json
+++ b/keyboards/void/voidhhkb_hotswap/keyboard.json
@@ -7,7 +7,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
@@ -17,7 +16,6 @@
"rows": ["B11", "B10", "B2", "B1", "B0"]
},
"processor": "STM32F072",
- "url": "",
"usb": {
"device_version": "1.0.0",
"pid": "0x0002",
diff --git a/keyboards/vt40/keyboard.json b/keyboards/vt40/keyboard.json
index 4a8178b8d5..9afb32f7d1 100644
--- a/keyboards/vt40/keyboard.json
+++ b/keyboards/vt40/keyboard.json
@@ -7,7 +7,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"encoder": true,
"extrakey": true,
"mousekey": true,
diff --git a/keyboards/walletburner/cajal/keyboard.json b/keyboards/walletburner/cajal/keyboard.json
index e11c62ec87..3e0b4e785e 100644
--- a/keyboards/walletburner/cajal/keyboard.json
+++ b/keyboards/walletburner/cajal/keyboard.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"encoder": true,
"extrakey": true,
"mousekey": true,
diff --git a/keyboards/walletburner/neuron/keyboard.json b/keyboards/walletburner/neuron/keyboard.json
index 1d9ce89387..e514e8d62b 100644
--- a/keyboards/walletburner/neuron/keyboard.json
+++ b/keyboards/walletburner/neuron/keyboard.json
@@ -31,7 +31,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/waterfowl/keyboard.json b/keyboards/waterfowl/keyboard.json
index 73f62a77eb..9e08da57c0 100644
--- a/keyboards/waterfowl/keyboard.json
+++ b/keyboards/waterfowl/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Waterfowl",
"manufacturer": "CyanDuck",
- "url": "",
"maintainer": "JW2586",
"usb": {
"vid": "0xFEED",
diff --git a/keyboards/wavtype/foundation/keyboard.json b/keyboards/wavtype/foundation/keyboard.json
index 4b1dd1d348..3be6a9ee0d 100644
--- a/keyboards/wavtype/foundation/keyboard.json
+++ b/keyboards/wavtype/foundation/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "foundation",
"manufacturer": "protozoa.studio",
- "url": "",
"maintainer": "wavtype",
"usb": {
"vid": "0x03A7",
@@ -32,7 +31,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false,
diff --git a/keyboards/wavtype/p01_ultra/keyboard.json b/keyboards/wavtype/p01_ultra/keyboard.json
index c44f0bd3bd..899fc805a4 100644
--- a/keyboards/wavtype/p01_ultra/keyboard.json
+++ b/keyboards/wavtype/p01_ultra/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "p01_ultra",
"manufacturer": "wavtype",
- "url": "",
"maintainer": "wavtype",
"usb": {
"vid": "0x03A7",
@@ -31,7 +30,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false,
diff --git a/keyboards/weirdo/geminate60/keyboard.json b/keyboards/weirdo/geminate60/keyboard.json
index 12bc42b30d..c8471db914 100644
--- a/keyboards/weirdo/geminate60/keyboard.json
+++ b/keyboards/weirdo/geminate60/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Geminate60",
"manufacturer": "Weirdo",
- "url": "",
"maintainer": "Weirdo-F",
"usb": {
"vid": "0x7764",
@@ -17,7 +16,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": true,
diff --git a/keyboards/weirdo/kelowna/rgb64/keyboard.json b/keyboards/weirdo/kelowna/rgb64/keyboard.json
index 4822f979fe..149c2375b9 100644
--- a/keyboards/weirdo/kelowna/rgb64/keyboard.json
+++ b/keyboards/weirdo/kelowna/rgb64/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "kelownaRGB64",
"manufacturer": "Weirdo",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0x7764",
@@ -17,7 +16,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": true,
diff --git a/keyboards/weirdo/ls_60/keyboard.json b/keyboards/weirdo/ls_60/keyboard.json
index 7ab1f2f6cb..aa82bcf00c 100644
--- a/keyboards/weirdo/ls_60/keyboard.json
+++ b/keyboards/weirdo/ls_60/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "LS_60",
"manufacturer": "Weirdo",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0x7764",
@@ -17,7 +16,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": true,
diff --git a/keyboards/weirdo/naiping/np64/keyboard.json b/keyboards/weirdo/naiping/np64/keyboard.json
index f620fb1169..7cd14a1bfa 100644
--- a/keyboards/weirdo/naiping/np64/keyboard.json
+++ b/keyboards/weirdo/naiping/np64/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "NP64",
"manufacturer": "Weirdo",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0x7764",
@@ -17,7 +16,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": true,
diff --git a/keyboards/weirdo/naiping/nphhkb/keyboard.json b/keyboards/weirdo/naiping/nphhkb/keyboard.json
index cc791374b4..3bb4bd62ca 100644
--- a/keyboards/weirdo/naiping/nphhkb/keyboard.json
+++ b/keyboards/weirdo/naiping/nphhkb/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "NPhhkb",
"manufacturer": "Weirdo",
- "url": "",
"maintainer": "weirdo-f",
"usb": {
"vid": "0x7764",
@@ -17,7 +16,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": true,
diff --git a/keyboards/weirdo/naiping/npminila/keyboard.json b/keyboards/weirdo/naiping/npminila/keyboard.json
index b4048a52cf..9bb791a2b1 100644
--- a/keyboards/weirdo/naiping/npminila/keyboard.json
+++ b/keyboards/weirdo/naiping/npminila/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "NPminila",
"manufacturer": "Weirdo",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0x7764",
@@ -17,7 +16,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": true,
diff --git a/keyboards/weirdo/tiger910/keyboard.json b/keyboards/weirdo/tiger910/keyboard.json
index ca24561ebd..34bd01970a 100644
--- a/keyboards/weirdo/tiger910/keyboard.json
+++ b/keyboards/weirdo/tiger910/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "tiger910",
"manufacturer": "Weirdo",
- "url": "",
"maintainer": "Weirdo",
"usb": {
"vid": "0x7764",
diff --git a/keyboards/wekey/polaris/keyboard.json b/keyboards/wekey/polaris/keyboard.json
index c3fe12f144..93a56385fd 100644
--- a/keyboards/wekey/polaris/keyboard.json
+++ b/keyboards/wekey/polaris/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Polaris",
"manufacturer": "@wekey",
- "url": "",
"maintainer": "@wekey.dev",
"usb": {
"vid": "0x5559",
@@ -14,7 +13,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/wekey/we27/keyboard.json b/keyboards/wekey/we27/keyboard.json
index d8cb7b0f80..91731cdc39 100644
--- a/keyboards/wekey/we27/keyboard.json
+++ b/keyboards/wekey/we27/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "We27",
"manufacturer": "@wekey",
- "url": "",
"maintainer": "@wekey.dev",
"usb": {
"vid": "0x5559",
diff --git a/keyboards/werk_technica/one/board.h b/keyboards/werk_technica/one/board.h
new file mode 100644
index 0000000000..3ad450d023
--- /dev/null
+++ b/keyboards/werk_technica/one/board.h
@@ -0,0 +1,8 @@
+// Copyright 2022 QMK
+// SPDX-License-Identifier: GPL-2.0-or-later
+#pragma once
+
+#include_next <board.h>
+
+#undef STM32_HSECLK
+#define STM32_HSECLK 16000000U
diff --git a/keyboards/werk_technica/one/config.h b/keyboards/werk_technica/one/config.h
deleted file mode 100644
index 765e70851b..0000000000
--- a/keyboards/werk_technica/one/config.h
+++ /dev/null
@@ -1,7 +0,0 @@
-// Copyright 2022 QMK
-// SPDX-License-Identifier: GPL-2.0-or-later
-
-#pragma once
-
-/* Set HSE clock since it differs from F411 default */
-#define STM32_HSECLK 16000000 \ No newline at end of file
diff --git a/keyboards/werk_technica/one/keyboard.json b/keyboards/werk_technica/one/keyboard.json
index 4933c7fd7c..b856c089df 100644
--- a/keyboards/werk_technica/one/keyboard.json
+++ b/keyboards/werk_technica/one/keyboard.json
@@ -15,7 +15,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"encoder": true,
"extrakey": true,
"mousekey": true,
diff --git a/keyboards/westfoxtrot/aanzee/keyboard.json b/keyboards/westfoxtrot/aanzee/keyboard.json
index 3a15014c4e..72e1447ab1 100644
--- a/keyboards/westfoxtrot/aanzee/keyboard.json
+++ b/keyboards/westfoxtrot/aanzee/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "aanzee",
"manufacturer": "westfoxtrot",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0x21FF",
@@ -12,7 +11,6 @@
"backlight": true,
"bootmagic": false,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": true,
diff --git a/keyboards/westfoxtrot/cyclops/keyboard.json b/keyboards/westfoxtrot/cyclops/keyboard.json
index a74926511d..8c665aa03b 100644
--- a/keyboards/westfoxtrot/cyclops/keyboard.json
+++ b/keyboards/westfoxtrot/cyclops/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "cyclops",
"manufacturer": "westfoxtrot",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0x21FF",
@@ -11,7 +10,6 @@
"features": {
"bootmagic": false,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": true
diff --git a/keyboards/westfoxtrot/cypher/rev1/keyboard.json b/keyboards/westfoxtrot/cypher/rev1/keyboard.json
index 30dcc625de..509ecff384 100644
--- a/keyboards/westfoxtrot/cypher/rev1/keyboard.json
+++ b/keyboards/westfoxtrot/cypher/rev1/keyboard.json
@@ -10,7 +10,6 @@
"backlight": true,
"bootmagic": false,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": true
diff --git a/keyboards/westfoxtrot/cypher/rev5/keyboard.json b/keyboards/westfoxtrot/cypher/rev5/keyboard.json
index 278ff94b06..e9c6f0606e 100644
--- a/keyboards/westfoxtrot/cypher/rev5/keyboard.json
+++ b/keyboards/westfoxtrot/cypher/rev5/keyboard.json
@@ -10,7 +10,6 @@
"backlight": true,
"bootmagic": false,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": true,
diff --git a/keyboards/westfoxtrot/prophet/keyboard.json b/keyboards/westfoxtrot/prophet/keyboard.json
index b431adddae..74bd1b821b 100644
--- a/keyboards/westfoxtrot/prophet/keyboard.json
+++ b/keyboards/westfoxtrot/prophet/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "prophet",
"manufacturer": "westfoxtrot",
- "url": "",
"maintainer": "westfoxtrot",
"usb": {
"vid": "0xFF21",
@@ -11,7 +10,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/wilba_tech/rama_works_m10_b/keyboard.json b/keyboards/wilba_tech/rama_works_m10_b/keyboard.json
index 157baa1c5a..edcf24f62e 100644
--- a/keyboards/wilba_tech/rama_works_m10_b/keyboard.json
+++ b/keyboards/wilba_tech/rama_works_m10_b/keyboard.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": true
diff --git a/keyboards/wilba_tech/rama_works_m50_ax/keyboard.json b/keyboards/wilba_tech/rama_works_m50_ax/keyboard.json
index c44032f97c..82bfe552d5 100644
--- a/keyboards/wilba_tech/rama_works_m50_ax/keyboard.json
+++ b/keyboards/wilba_tech/rama_works_m50_ax/keyboard.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": true
diff --git a/keyboards/wilba_tech/wt60_g/keyboard.json b/keyboards/wilba_tech/wt60_g/keyboard.json
index 526a6a9d72..21a84eff27 100644
--- a/keyboards/wilba_tech/wt60_g/keyboard.json
+++ b/keyboards/wilba_tech/wt60_g/keyboard.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": true
diff --git a/keyboards/wilba_tech/wt60_g2/keyboard.json b/keyboards/wilba_tech/wt60_g2/keyboard.json
index 5f62d9d52b..6bfbe13132 100644
--- a/keyboards/wilba_tech/wt60_g2/keyboard.json
+++ b/keyboards/wilba_tech/wt60_g2/keyboard.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": true
diff --git a/keyboards/wilba_tech/wt60_h1/keyboard.json b/keyboards/wilba_tech/wt60_h1/keyboard.json
index 2832cf3cd7..17a783f316 100644
--- a/keyboards/wilba_tech/wt60_h1/keyboard.json
+++ b/keyboards/wilba_tech/wt60_h1/keyboard.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": true
diff --git a/keyboards/wilba_tech/wt60_h2/keyboard.json b/keyboards/wilba_tech/wt60_h2/keyboard.json
index f48e03940c..ddce1d8b44 100644
--- a/keyboards/wilba_tech/wt60_h2/keyboard.json
+++ b/keyboards/wilba_tech/wt60_h2/keyboard.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": true
diff --git a/keyboards/wilba_tech/wt60_h3/keyboard.json b/keyboards/wilba_tech/wt60_h3/keyboard.json
index 9078fa9242..42cc613dea 100644
--- a/keyboards/wilba_tech/wt60_h3/keyboard.json
+++ b/keyboards/wilba_tech/wt60_h3/keyboard.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": true
diff --git a/keyboards/wilba_tech/wt60_xt/keyboard.json b/keyboards/wilba_tech/wt60_xt/keyboard.json
index ba8e8000db..de8572180d 100644
--- a/keyboards/wilba_tech/wt60_xt/keyboard.json
+++ b/keyboards/wilba_tech/wt60_xt/keyboard.json
@@ -12,7 +12,6 @@
"audio": true,
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": true
diff --git a/keyboards/wilba_tech/wt65_d/keyboard.json b/keyboards/wilba_tech/wt65_d/keyboard.json
index 3754b3788b..2985d5df76 100644
--- a/keyboards/wilba_tech/wt65_d/keyboard.json
+++ b/keyboards/wilba_tech/wt65_d/keyboard.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": true
diff --git a/keyboards/wilba_tech/wt65_f/keyboard.json b/keyboards/wilba_tech/wt65_f/keyboard.json
index fb79856578..29c76d2ac2 100644
--- a/keyboards/wilba_tech/wt65_f/keyboard.json
+++ b/keyboards/wilba_tech/wt65_f/keyboard.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": true
diff --git a/keyboards/wilba_tech/wt65_fx/keyboard.json b/keyboards/wilba_tech/wt65_fx/keyboard.json
index f53332b6af..9907439d63 100644
--- a/keyboards/wilba_tech/wt65_fx/keyboard.json
+++ b/keyboards/wilba_tech/wt65_fx/keyboard.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": true
diff --git a/keyboards/wilba_tech/wt65_g/keyboard.json b/keyboards/wilba_tech/wt65_g/keyboard.json
index e097477074..07cd120bc2 100644
--- a/keyboards/wilba_tech/wt65_g/keyboard.json
+++ b/keyboards/wilba_tech/wt65_g/keyboard.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": true
diff --git a/keyboards/wilba_tech/wt65_g2/keyboard.json b/keyboards/wilba_tech/wt65_g2/keyboard.json
index 8a7862dcbe..e7124f917e 100644
--- a/keyboards/wilba_tech/wt65_g2/keyboard.json
+++ b/keyboards/wilba_tech/wt65_g2/keyboard.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": true
diff --git a/keyboards/wilba_tech/wt65_h1/keyboard.json b/keyboards/wilba_tech/wt65_h1/keyboard.json
index d56321ce5f..60a76351c4 100644
--- a/keyboards/wilba_tech/wt65_h1/keyboard.json
+++ b/keyboards/wilba_tech/wt65_h1/keyboard.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": true
diff --git a/keyboards/wilba_tech/wt65_xt/keyboard.json b/keyboards/wilba_tech/wt65_xt/keyboard.json
index 5331856269..4ab03353c8 100644
--- a/keyboards/wilba_tech/wt65_xt/keyboard.json
+++ b/keyboards/wilba_tech/wt65_xt/keyboard.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": true
diff --git a/keyboards/wilba_tech/wt65_xtx/keyboard.json b/keyboards/wilba_tech/wt65_xtx/keyboard.json
index 7d60043b91..6c15054d65 100644
--- a/keyboards/wilba_tech/wt65_xtx/keyboard.json
+++ b/keyboards/wilba_tech/wt65_xtx/keyboard.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": true
diff --git a/keyboards/wilba_tech/wt70_jb/keyboard.json b/keyboards/wilba_tech/wt70_jb/keyboard.json
index f922810600..1e47da790b 100644
--- a/keyboards/wilba_tech/wt70_jb/keyboard.json
+++ b/keyboards/wilba_tech/wt70_jb/keyboard.json
@@ -34,7 +34,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": true,
diff --git a/keyboards/wilba_tech/wt80_g/keyboard.json b/keyboards/wilba_tech/wt80_g/keyboard.json
index cc148a9fa0..38065aa087 100644
--- a/keyboards/wilba_tech/wt80_g/keyboard.json
+++ b/keyboards/wilba_tech/wt80_g/keyboard.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": true
diff --git a/keyboards/wilba_tech/wt_main.c b/keyboards/wilba_tech/wt_main.c
index 92c43c794d..7e56d98356 100644
--- a/keyboards/wilba_tech/wt_main.c
+++ b/keyboards/wilba_tech/wt_main.c
@@ -33,7 +33,7 @@
// Called from via_init() if VIA_ENABLE
// Called from matrix_init_kb() if not VIA_ENABLE
-void via_init_kb(void)
+void wt_main_init(void)
{
// This checks both an EEPROM reset (from bootmagic lite, keycodes)
// and also firmware build date (from via_eeprom_is_valid())
@@ -64,11 +64,9 @@ void via_init_kb(void)
void matrix_init_kb(void)
{
// If VIA is disabled, we still need to load backlight settings.
- // Call via_init_kb() the same way as via_init(), with setting
- // EEPROM valid afterwards.
+ // Call via_init_kb() the same way as via_init_kb() does.
#ifndef VIA_ENABLE
- via_init_kb();
- via_eeprom_set_valid(true);
+ wt_main_init();
#endif // VIA_ENABLE
matrix_init_user();
@@ -109,6 +107,10 @@ void suspend_wakeup_init_kb(void)
// Moving this to the bottom of this source file is a workaround
// for an intermittent compiler error for Atmel compiler.
#ifdef VIA_ENABLE
+void via_init_kb(void) {
+ wt_main_init();
+}
+
void via_custom_value_command_kb(uint8_t *data, uint8_t length) {
uint8_t *command_id = &(data[0]);
uint8_t *channel_id = &(data[1]);
@@ -159,50 +161,3 @@ void via_set_device_indication(uint8_t value)
}
#endif // VIA_ENABLE
-
-//
-// 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 );
-}
-
-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/wilba_tech/wt_mono_backlight.c b/keyboards/wilba_tech/wt_mono_backlight.c
index 01fefc8ecc..8359aab135 100644
--- a/keyboards/wilba_tech/wt_mono_backlight.c
+++ b/keyboards/wilba_tech/wt_mono_backlight.c
@@ -25,6 +25,8 @@
#include "progmem.h"
#include "eeprom.h"
+#include "nvm_eeprom_eeconfig_internal.h" // expose EEPROM addresses, no appetite to move legacy/deprecated code to nvm
+#include "nvm_eeprom_via_internal.h" // expose EEPROM addresses, no appetite to move legacy/deprecated code to nvm
#include "via.h" // uses EEPROM address, lighting value IDs
#define MONO_BACKLIGHT_CONFIG_EEPROM_ADDR (VIA_EEPROM_CUSTOM_CONFIG_ADDR)
diff --git a/keyboards/wilba_tech/wt_rgb_backlight.c b/keyboards/wilba_tech/wt_rgb_backlight.c
index e52d002060..744bcb262d 100644
--- a/keyboards/wilba_tech/wt_rgb_backlight.c
+++ b/keyboards/wilba_tech/wt_rgb_backlight.c
@@ -66,6 +66,8 @@
#include "quantum/color.h"
#include "eeprom.h"
+#include "nvm_eeprom_eeconfig_internal.h" // expose EEPROM addresses, no appetite to move legacy/deprecated code to nvm
+#include "nvm_eeprom_via_internal.h" // expose EEPROM addresses, no appetite to move legacy/deprecated code to nvm
#include "via.h" // uses EEPROM address, lighting value IDs
#define RGB_BACKLIGHT_CONFIG_EEPROM_ADDR (VIA_EEPROM_CUSTOM_CONFIG_ADDR)
diff --git a/keyboards/willoucom/keypad/keyboard.json b/keyboards/willoucom/keypad/keyboard.json
index dc517ccc16..ede4a18ff5 100644
--- a/keyboards/willoucom/keypad/keyboard.json
+++ b/keyboards/willoucom/keypad/keyboard.json
@@ -7,7 +7,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/windstudio/wind_x/r1/keyboard.json b/keyboards/windstudio/wind_x/r1/keyboard.json
index 1b5f34fe3e..44202e9685 100644
--- a/keyboards/windstudio/wind_x/r1/keyboard.json
+++ b/keyboards/windstudio/wind_x/r1/keyboard.json
@@ -15,7 +15,6 @@
"rows": ["F0", "F1", "D2", "D1", "D0"]
},
"processor": "atmega32u4",
- "url": "",
"usb": {
"device_version": "0.0.1",
"pid": "0x6801",
diff --git a/keyboards/winkeyless/b87/keyboard.json b/keyboards/winkeyless/b87/keyboard.json
index a941445d72..ab7a82056e 100644
--- a/keyboards/winkeyless/b87/keyboard.json
+++ b/keyboards/winkeyless/b87/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "B87",
"manufacturer": "Winkeyless",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0x20A0",
@@ -12,7 +11,6 @@
"backlight": true,
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": false,
diff --git a/keyboards/winkeyless/bface/keyboard.json b/keyboards/winkeyless/bface/keyboard.json
index cc5194ef34..1f9685c98f 100644
--- a/keyboards/winkeyless/bface/keyboard.json
+++ b/keyboards/winkeyless/bface/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "B.face",
"manufacturer": "Winkeyless",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0x20A0",
@@ -12,7 +11,6 @@
"backlight": true,
"bootmagic": false,
"command": true,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false,
diff --git a/keyboards/winkeyless/bmini/keyboard.json b/keyboards/winkeyless/bmini/keyboard.json
index 6fdaf62182..644870e8bc 100644
--- a/keyboards/winkeyless/bmini/keyboard.json
+++ b/keyboards/winkeyless/bmini/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "B.mini",
"manufacturer": "Winkeyless",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0x20A0",
@@ -12,7 +11,6 @@
"backlight": true,
"bootmagic": true,
"command": true,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": false,
diff --git a/keyboards/winkeyless/bminiex/keyboard.json b/keyboards/winkeyless/bminiex/keyboard.json
index 9e213bd1f8..2dc9ccd60d 100644
--- a/keyboards/winkeyless/bminiex/keyboard.json
+++ b/keyboards/winkeyless/bminiex/keyboard.json
@@ -12,7 +12,6 @@
"backlight": true,
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false,
diff --git a/keyboards/winkeys/mini_winni/keyboard.json b/keyboards/winkeys/mini_winni/keyboard.json
index 8f80960f24..e9a3ebca80 100644
--- a/keyboards/winkeys/mini_winni/keyboard.json
+++ b/keyboards/winkeys/mini_winni/keyboard.json
@@ -12,7 +12,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/winry/winry25tc/keyboard.json b/keyboards/winry/winry25tc/keyboard.json
index 9a83aded2c..d2d12854dd 100644
--- a/keyboards/winry/winry25tc/keyboard.json
+++ b/keyboards/winry/winry25tc/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Winry 25tc",
"manufacturer": "SpiderIsland",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0xFEED",
@@ -23,7 +22,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"key_lock": true,
"mousekey": false,
diff --git a/keyboards/winry/winry315/keyboard.json b/keyboards/winry/winry315/keyboard.json
index 81971b339f..cad810e64f 100644
--- a/keyboards/winry/winry315/keyboard.json
+++ b/keyboards/winry/winry315/keyboard.json
@@ -2,7 +2,6 @@
"manufacturer": "Winry",
"keyboard_name": "Winry315",
"maintainer": "sigprof",
- "url": "",
"usb": {
"device_version": "0.0.1",
"pid": "0x0315",
@@ -85,7 +84,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"encoder": true,
"extrakey": true,
"mousekey": true,
diff --git a/keyboards/wolf/frogpad/keyboard.json b/keyboards/wolf/frogpad/keyboard.json
index 061b9221a7..040554a921 100644
--- a/keyboards/wolf/frogpad/keyboard.json
+++ b/keyboards/wolf/frogpad/keyboard.json
@@ -7,7 +7,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/wolf/kuku65/keyboard.json b/keyboards/wolf/kuku65/keyboard.json
index 5146d77d1b..93321a2e0b 100644
--- a/keyboards/wolf/kuku65/keyboard.json
+++ b/keyboards/wolf/kuku65/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "kuku65",
"manufacturer": "ToastyStoemp",
- "url": "",
"maintainer": "ToastyStoemp",
"usb": {
"vid": "0x5453",
diff --git a/keyboards/wolf/m60_b/keyboard.json b/keyboards/wolf/m60_b/keyboard.json
index 474974d383..bd3233871f 100644
--- a/keyboards/wolf/m60_b/keyboard.json
+++ b/keyboards/wolf/m60_b/keyboard.json
@@ -7,7 +7,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
@@ -134,7 +133,6 @@
"max_brightness": 120,
"sleep": true
},
- "url": "",
"usb": {
"device_version": "1.0.0",
"pid": "0x0059",
diff --git a/keyboards/wolf/m6_c/keyboard.json b/keyboards/wolf/m6_c/keyboard.json
index f6f2416902..3d4b326684 100644
--- a/keyboards/wolf/m6_c/keyboard.json
+++ b/keyboards/wolf/m6_c/keyboard.json
@@ -7,7 +7,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false,
@@ -82,7 +81,6 @@
],
"sleep": true
},
- "url": "",
"usb": {
"device_version": "1.0.0",
"pid": "0x0060",
diff --git a/keyboards/wolf/neely65/keyboard.json b/keyboards/wolf/neely65/keyboard.json
index 9a90105b96..07c087b8ac 100644
--- a/keyboards/wolf/neely65/keyboard.json
+++ b/keyboards/wolf/neely65/keyboard.json
@@ -7,7 +7,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
@@ -17,7 +16,6 @@
"rows": ["D5", "D3", "D2", "D1", "D0"]
},
"processor": "atmega32u4",
- "url": "",
"usb": {
"device_version": "1.0.0",
"pid": "0x0071",
diff --git a/keyboards/wolf/ryujin/keyboard.json b/keyboards/wolf/ryujin/keyboard.json
index 8e72cccd9e..f34cebb4f6 100644
--- a/keyboards/wolf/ryujin/keyboard.json
+++ b/keyboards/wolf/ryujin/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Ryujin",
"manufacturer": "Miroticaps",
- "url": "",
"maintainer": "ToastyStoemp",
"usb": {
"vid": "0x5453",
diff --git a/keyboards/wolf/sabre/keyboard.json b/keyboards/wolf/sabre/keyboard.json
index 11b235efe7..02c298a59e 100644
--- a/keyboards/wolf/sabre/keyboard.json
+++ b/keyboards/wolf/sabre/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Sabre",
"manufacturer": "ToastyStoemp",
- "url": "",
"maintainer": "ToastyStoemp",
"usb": {
"vid": "0x5453",
diff --git a/keyboards/wolf/silhouette/keyboard.json b/keyboards/wolf/silhouette/keyboard.json
index 548a89aa19..ba3a637ec8 100644
--- a/keyboards/wolf/silhouette/keyboard.json
+++ b/keyboards/wolf/silhouette/keyboard.json
@@ -7,7 +7,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
@@ -20,7 +19,6 @@
"rows": ["GP27", "GP26", "GP25", "GP13", "GP3"]
},
"processor": "RP2040",
- "url": "",
"usb": {
"device_version": "1.0.0",
"pid": "0x0080",
diff --git a/keyboards/wolf/twilight/keyboard.json b/keyboards/wolf/twilight/keyboard.json
index ed426e85d9..a296c76700 100644
--- a/keyboards/wolf/twilight/keyboard.json
+++ b/keyboards/wolf/twilight/keyboard.json
@@ -7,7 +7,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
@@ -17,7 +16,6 @@
"rows": ["GP28", "GP27", "GP26", "GP25", "GP13", "GP3"]
},
"processor": "RP2040",
- "url": "",
"usb": {
"device_version": "1.0.0",
"pid": "0x0077",
diff --git a/keyboards/wolf/ziggurat/keyboard.json b/keyboards/wolf/ziggurat/keyboard.json
index bb12d5ab2f..800db68b2a 100644
--- a/keyboards/wolf/ziggurat/keyboard.json
+++ b/keyboards/wolf/ziggurat/keyboard.json
@@ -7,7 +7,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
@@ -17,7 +16,6 @@
"rows": ["GP11", "GP10", "GP7", "GP6", "GP23", "GP24", "GP25", "GP26", "GP19", "GP18"]
},
"processor": "RP2040",
- "url": "",
"usb": {
"device_version": "1.0.0",
"pid": "0x0084",
diff --git a/keyboards/wolfmarkclub/wm1/keyboard.json b/keyboards/wolfmarkclub/wm1/keyboard.json
index 0cea5546c8..6b0c896266 100644
--- a/keyboards/wolfmarkclub/wm1/keyboard.json
+++ b/keyboards/wolfmarkclub/wm1/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "WM1",
"manufacturer": "Wolfmark Club",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0xFEED",
diff --git a/keyboards/woodkeys/bigseries/1key/keyboard.json b/keyboards/woodkeys/bigseries/1key/keyboard.json
index 2440b1974b..c3f545e53c 100644
--- a/keyboards/woodkeys/bigseries/1key/keyboard.json
+++ b/keyboards/woodkeys/bigseries/1key/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "BigSeries 1-Key",
"manufacturer": "WoodKeys.click",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0xFEED",
diff --git a/keyboards/woodkeys/bigseries/2key/keyboard.json b/keyboards/woodkeys/bigseries/2key/keyboard.json
index 9c8c34914a..bb4ac4db64 100644
--- a/keyboards/woodkeys/bigseries/2key/keyboard.json
+++ b/keyboards/woodkeys/bigseries/2key/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "BigSeries 2-Key",
"manufacturer": "WoodKeys.click",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0xFEED",
diff --git a/keyboards/woodkeys/bigseries/3key/keyboard.json b/keyboards/woodkeys/bigseries/3key/keyboard.json
index 17870d98ad..35f94cb27f 100644
--- a/keyboards/woodkeys/bigseries/3key/keyboard.json
+++ b/keyboards/woodkeys/bigseries/3key/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "BigSeries 3-Key",
"manufacturer": "WoodKeys.click",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0xFEED",
diff --git a/keyboards/woodkeys/bigseries/4key/keyboard.json b/keyboards/woodkeys/bigseries/4key/keyboard.json
index 1e44fc2375..5637e1ab5a 100644
--- a/keyboards/woodkeys/bigseries/4key/keyboard.json
+++ b/keyboards/woodkeys/bigseries/4key/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "BigSeries 4-Key",
"manufacturer": "WoodKeys.click",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0xFEED",
diff --git a/keyboards/woodkeys/meira/info.json b/keyboards/woodkeys/meira/info.json
index 3ad2918d8e..0b73ffd7e6 100644
--- a/keyboards/woodkeys/meira/info.json
+++ b/keyboards/woodkeys/meira/info.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Meira",
"manufacturer": "WoodKeys.click",
- "url": "",
"maintainer": "colemarkham",
"usb": {
"vid": "0xFEED",
diff --git a/keyboards/woodkeys/scarletbandana/keyboard.json b/keyboards/woodkeys/scarletbandana/keyboard.json
index f6c4342efa..3d9e8c97ad 100644
--- a/keyboards/woodkeys/scarletbandana/keyboard.json
+++ b/keyboards/woodkeys/scarletbandana/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Scarlet Bandana Version IV Mark 2",
"manufacturer": "WoodKeys.click",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0xFEED",
@@ -33,7 +32,6 @@
"audio": true,
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false,
diff --git a/keyboards/work_louder/micro/keyboard.json b/keyboards/work_louder/micro/keyboard.json
index 1b57ca82e8..75789388e5 100644
--- a/keyboards/work_louder/micro/keyboard.json
+++ b/keyboards/work_louder/micro/keyboard.json
@@ -6,7 +6,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
@@ -38,7 +37,6 @@
"hue": 213
},
"brightness_steps": 8,
- "hue_steps": 8,
"led_count": 8,
"max_brightness": 150,
"saturation_steps": 8,
diff --git a/keyboards/work_louder/numpad/keyboard.json b/keyboards/work_louder/numpad/keyboard.json
index bd615c4080..4ec9a8564c 100644
--- a/keyboards/work_louder/numpad/keyboard.json
+++ b/keyboards/work_louder/numpad/keyboard.json
@@ -7,7 +7,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
@@ -99,7 +98,6 @@
"hue": 213
},
"brightness_steps": 8,
- "hue_steps": 8,
"led_count": 8,
"max_brightness": 120,
"saturation_steps": 8,
diff --git a/keyboards/wsk/alpha9/keyboard.json b/keyboards/wsk/alpha9/keyboard.json
index 41b95130c6..891fc09eed 100644
--- a/keyboards/wsk/alpha9/keyboard.json
+++ b/keyboards/wsk/alpha9/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Alpha9",
"manufacturer": "Worldspawn00",
- "url": "",
"maintainer": "Worldspawn00",
"usb": {
"vid": "0x5753",
@@ -11,7 +10,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/wsk/g4m3ralpha/keyboard.json b/keyboards/wsk/g4m3ralpha/keyboard.json
index b5cdb7ce10..4415d8aee5 100644
--- a/keyboards/wsk/g4m3ralpha/keyboard.json
+++ b/keyboards/wsk/g4m3ralpha/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "G4M3Ralpha",
"manufacturer": "Worldspawn00",
- "url": "",
"maintainer": "Worldspawn00",
"usb": {
"vid": "0x5753",
@@ -36,7 +35,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/wsk/houndstooth/keyboard.json b/keyboards/wsk/houndstooth/keyboard.json
index 2be2b36968..dc651e89b5 100644
--- a/keyboards/wsk/houndstooth/keyboard.json
+++ b/keyboards/wsk/houndstooth/keyboard.json
@@ -14,7 +14,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/wsk/jerkin/keyboard.json b/keyboards/wsk/jerkin/keyboard.json
index 43fc8d107d..dca3af2378 100644
--- a/keyboards/wsk/jerkin/keyboard.json
+++ b/keyboards/wsk/jerkin/keyboard.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": false,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": true
diff --git a/keyboards/wsk/kodachi50/keyboard.json b/keyboards/wsk/kodachi50/keyboard.json
index 3f5843fd1a..5888fe00fb 100644
--- a/keyboards/wsk/kodachi50/keyboard.json
+++ b/keyboards/wsk/kodachi50/keyboard.json
@@ -31,7 +31,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/wsk/pain27/keyboard.json b/keyboards/wsk/pain27/keyboard.json
index a01e887e99..02345d04db 100644
--- a/keyboards/wsk/pain27/keyboard.json
+++ b/keyboards/wsk/pain27/keyboard.json
@@ -31,7 +31,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/wsk/sl40/keyboard.json b/keyboards/wsk/sl40/keyboard.json
index aba29855dd..ab592a6967 100644
--- a/keyboards/wsk/sl40/keyboard.json
+++ b/keyboards/wsk/sl40/keyboard.json
@@ -31,7 +31,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/wsk/tkl30/keyboard.json b/keyboards/wsk/tkl30/keyboard.json
index 909f72d4cf..f69d9b5449 100644
--- a/keyboards/wsk/tkl30/keyboard.json
+++ b/keyboards/wsk/tkl30/keyboard.json
@@ -31,7 +31,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/wuque/creek70/keyboard.json b/keyboards/wuque/creek70/keyboard.json
index e7227ace8e..d7b64f88ce 100644
--- a/keyboards/wuque/creek70/keyboard.json
+++ b/keyboards/wuque/creek70/keyboard.json
@@ -8,7 +8,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/wuque/ikki68/keyboard.json b/keyboards/wuque/ikki68/keyboard.json
index d666b0b5de..942e290bd5 100644
--- a/keyboards/wuque/ikki68/keyboard.json
+++ b/keyboards/wuque/ikki68/keyboard.json
@@ -37,7 +37,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/wuque/nemui65/keyboard.json b/keyboards/wuque/nemui65/keyboard.json
index 239fe991bb..3579ec4036 100644
--- a/keyboards/wuque/nemui65/keyboard.json
+++ b/keyboards/wuque/nemui65/keyboard.json
@@ -14,7 +14,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/wuque/tata80/wk/keyboard.json b/keyboards/wuque/tata80/wk/keyboard.json
index 957a635dcb..a078e0b2a3 100644
--- a/keyboards/wuque/tata80/wk/keyboard.json
+++ b/keyboards/wuque/tata80/wk/keyboard.json
@@ -12,7 +12,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": false
diff --git a/keyboards/wuque/tata80/wkl/keyboard.json b/keyboards/wuque/tata80/wkl/keyboard.json
index 4613f97f67..b91a7a5ac4 100644
--- a/keyboards/wuque/tata80/wkl/keyboard.json
+++ b/keyboards/wuque/tata80/wkl/keyboard.json
@@ -12,7 +12,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": false
diff --git a/keyboards/x16/keyboard.json b/keyboards/x16/keyboard.json
index 4d407e5332..17d28e8a5c 100644
--- a/keyboards/x16/keyboard.json
+++ b/keyboards/x16/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "x16",
"manufacturer": "yinxianwei",
- "url": "",
"maintainer": "yinxianwei",
"usb": {
"vid": "0x4B50",
@@ -12,7 +11,6 @@
"backlight": true,
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/xbows/knight/keyboard.json b/keyboards/xbows/knight/keyboard.json
index b675ee1946..ab888e6f23 100644
--- a/keyboards/xbows/knight/keyboard.json
+++ b/keyboards/xbows/knight/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "KNIGHT",
"manufacturer": "X-BOWS",
- "url": "",
"maintainer": "xbows-qmk",
"usb": {
"vid": "0x5842",
@@ -36,7 +35,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/xbows/knight_plus/keyboard.json b/keyboards/xbows/knight_plus/keyboard.json
index 0d1600c614..b1da324626 100644
--- a/keyboards/xbows/knight_plus/keyboard.json
+++ b/keyboards/xbows/knight_plus/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "KNIGHT_PLUS",
"manufacturer": "X-BOWS",
- "url": "",
"maintainer": "xbows-qmk",
"usb": {
"vid": "0x5842",
@@ -36,7 +35,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/xbows/nature/keyboard.json b/keyboards/xbows/nature/keyboard.json
index 6e28c9de30..49c2b323e7 100644
--- a/keyboards/xbows/nature/keyboard.json
+++ b/keyboards/xbows/nature/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "NATURE",
"manufacturer": "X-BOWS",
- "url": "",
"maintainer": "xbows-qmk",
"usb": {
"vid": "0x5842",
@@ -36,7 +35,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/xbows/numpad/keyboard.json b/keyboards/xbows/numpad/keyboard.json
index 070cc3a288..b0bba80ec2 100644
--- a/keyboards/xbows/numpad/keyboard.json
+++ b/keyboards/xbows/numpad/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "NUMPAD",
"manufacturer": "X-BOWS",
- "url": "",
"maintainer": "xbows-qmk",
"usb": {
"vid": "0x5842",
@@ -36,7 +35,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/xbows/ranger/keyboard.json b/keyboards/xbows/ranger/keyboard.json
index 945eaafcba..fc1077d39a 100644
--- a/keyboards/xbows/ranger/keyboard.json
+++ b/keyboards/xbows/ranger/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Ranger",
"manufacturer": "X-BOWS",
- "url": "",
"maintainer": "xbows-qmk",
"usb": {
"vid": "0x5842",
@@ -36,7 +35,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/xbows/woody/keyboard.json b/keyboards/xbows/woody/keyboard.json
index 538354507e..da403bacaf 100644
--- a/keyboards/xbows/woody/keyboard.json
+++ b/keyboards/xbows/woody/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "WOO-DY",
"manufacturer": "X-BOWS",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0xFEED",
diff --git a/keyboards/xelus/dawn60/info.json b/keyboards/xelus/dawn60/info.json
index 2c71fef898..2eca36e46c 100644
--- a/keyboards/xelus/dawn60/info.json
+++ b/keyboards/xelus/dawn60/info.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Dawn60",
"manufacturer": "Xelus",
- "url": "",
"maintainer": "Xelus22",
"usb": {
"vid": "0x5845",
diff --git a/keyboards/xelus/dharma/keyboard.json b/keyboards/xelus/dharma/keyboard.json
index 8d6b746527..83f6d95581 100644
--- a/keyboards/xelus/dharma/keyboard.json
+++ b/keyboards/xelus/dharma/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Dharma",
"manufacturer": "Xelus",
- "url": "",
"maintainer": "Xelus22",
"usb": {
"vid": "0x5845",
@@ -12,7 +11,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/xelus/la_plus/keyboard.json b/keyboards/xelus/la_plus/keyboard.json
index 902364471f..78e16d59dc 100644
--- a/keyboards/xelus/la_plus/keyboard.json
+++ b/keyboards/xelus/la_plus/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "MechaMaker La+",
"manufacturer": "Xelus",
- "url": "",
"maintainer": "Xelus22",
"usb": {
"vid": "0x5845",
diff --git a/keyboards/xelus/la_plus/rgb_matrix_kb.inc b/keyboards/xelus/la_plus/rgb_matrix_kb.inc
index 88dd2ab0a2..93d52ec9d0 100644
--- a/keyboards/xelus/la_plus/rgb_matrix_kb.inc
+++ b/keyboards/xelus/la_plus/rgb_matrix_kb.inc
@@ -31,7 +31,7 @@ static void startup_animation_setleds(effect_params_t* params, bool dots) {
} else if (num == 0 || num == 1 || num == 2) {
return;
} else if (num >= 22) {
- eeprom_read_block(&rgb_matrix_config, EECONFIG_RGB_MATRIX, sizeof(rgb_matrix_config));
+ eeconfig_read_rgb_matrix(&rgb_matrix_config);
rgb_matrix_mode_noeeprom(rgb_matrix_config.mode);
return;
}
diff --git a/keyboards/xelus/ninjin/keyboard.json b/keyboards/xelus/ninjin/keyboard.json
index 2e7b1640df..cf601d8a80 100644
--- a/keyboards/xelus/ninjin/keyboard.json
+++ b/keyboards/xelus/ninjin/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Ninjin",
"manufacturer": "Xelus",
- "url": "",
"maintainer": "Xelus",
"usb": {
"vid": "0x5845",
diff --git a/keyboards/xelus/pachi/mini_32u4/keyboard.json b/keyboards/xelus/pachi/mini_32u4/keyboard.json
index 590b32de6b..78069d56b0 100644
--- a/keyboards/xelus/pachi/mini_32u4/keyboard.json
+++ b/keyboards/xelus/pachi/mini_32u4/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Pachi Mini",
"manufacturer": "Xelus",
- "url": "",
"maintainer": "Xelus22",
"usb": {
"vid": "0x5845",
@@ -11,7 +10,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/xelus/pachi/rev1/keyboard.json b/keyboards/xelus/pachi/rev1/keyboard.json
index 98b59c8641..4dc35075d5 100644
--- a/keyboards/xelus/pachi/rev1/keyboard.json
+++ b/keyboards/xelus/pachi/rev1/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Pachi Rev 1",
"manufacturer": "Xelus",
- "url": "",
"maintainer": "Xelus22",
"usb": {
"vid": "0x5845",
@@ -11,7 +10,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/xelus/pachi/rgb/rev1/keyboard.json b/keyboards/xelus/pachi/rgb/rev1/keyboard.json
index fe88e695be..a27bcae0fc 100644
--- a/keyboards/xelus/pachi/rgb/rev1/keyboard.json
+++ b/keyboards/xelus/pachi/rgb/rev1/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Pachi RGB Rev 1",
"manufacturer": "Xelus",
- "url": "",
"maintainer": "Xelus22",
"usb": {
"vid": "0x5845",
diff --git a/keyboards/xelus/pachi/rgb/rev2/keyboard.json b/keyboards/xelus/pachi/rgb/rev2/keyboard.json
index ea712b78d8..8d97dfe49b 100644
--- a/keyboards/xelus/pachi/rgb/rev2/keyboard.json
+++ b/keyboards/xelus/pachi/rgb/rev2/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Pachi RGB Rev 2",
"manufacturer": "Xelus",
- "url": "",
"maintainer": "Xelus22",
"usb": {
"vid": "0x5845",
diff --git a/keyboards/xelus/rs108/board.h b/keyboards/xelus/rs108/board.h
new file mode 100644
index 0000000000..cce4af40f9
--- /dev/null
+++ b/keyboards/xelus/rs108/board.h
@@ -0,0 +1,8 @@
+// Copyright 2022 Harrison Chan (Xelus)
+// SPDX-License-Identifier: GPL-2.0-or-later
+#pragma once
+
+#include_next <board.h>
+
+#undef STM32_HSECLK
+#define STM32_HSECLK 16000000U
diff --git a/keyboards/xelus/rs108/config.h b/keyboards/xelus/rs108/config.h
index 3d3bc49228..883ed2b9aa 100644
--- a/keyboards/xelus/rs108/config.h
+++ b/keyboards/xelus/rs108/config.h
@@ -28,6 +28,3 @@
// Hardware Defines
#define EARLY_INIT_PERFORM_BOOTLOADER_JUMP TRUE
-
-// HSE CLK
-#define STM32_HSECLK 16000000
diff --git a/keyboards/xelus/rs108/keyboard.json b/keyboards/xelus/rs108/keyboard.json
index 12ffbb3fdc..c524ae09ed 100644
--- a/keyboards/xelus/rs108/keyboard.json
+++ b/keyboards/xelus/rs108/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "RS108",
"manufacturer": "Xelus",
- "url": "",
"maintainer": "xelus22",
"usb": {
"vid": "0x5845",
diff --git a/keyboards/xelus/rs60/info.json b/keyboards/xelus/rs60/info.json
index c36d968d37..a62157826e 100644
--- a/keyboards/xelus/rs60/info.json
+++ b/keyboards/xelus/rs60/info.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "RS60",
"manufacturer": "Xelus",
- "url": "",
"maintainer": "Xelus22",
"usb": {
"vid": "0x5845",
diff --git a/keyboards/xelus/rs60/rev2_0/board.h b/keyboards/xelus/rs60/rev2_0/board.h
new file mode 100644
index 0000000000..cce4af40f9
--- /dev/null
+++ b/keyboards/xelus/rs60/rev2_0/board.h
@@ -0,0 +1,8 @@
+// Copyright 2022 Harrison Chan (Xelus)
+// SPDX-License-Identifier: GPL-2.0-or-later
+#pragma once
+
+#include_next <board.h>
+
+#undef STM32_HSECLK
+#define STM32_HSECLK 16000000U
diff --git a/keyboards/xelus/rs60/rev2_0/config.h b/keyboards/xelus/rs60/rev2_0/config.h
index 3d3bc49228..883ed2b9aa 100644
--- a/keyboards/xelus/rs60/rev2_0/config.h
+++ b/keyboards/xelus/rs60/rev2_0/config.h
@@ -28,6 +28,3 @@
// Hardware Defines
#define EARLY_INIT_PERFORM_BOOTLOADER_JUMP TRUE
-
-// HSE CLK
-#define STM32_HSECLK 16000000
diff --git a/keyboards/xelus/snap96/keyboard.json b/keyboards/xelus/snap96/keyboard.json
index 0be9968c5a..5a5f1d8c42 100644
--- a/keyboards/xelus/snap96/keyboard.json
+++ b/keyboards/xelus/snap96/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Snap96",
"manufacturer": "Xelus",
- "url": "",
"maintainer": "Xelus22",
"usb": {
"vid": "0x5845",
@@ -11,7 +10,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/xelus/trinityxttkl/keyboard.json b/keyboards/xelus/trinityxttkl/keyboard.json
index eea94c5979..c650626e4b 100644
--- a/keyboards/xelus/trinityxttkl/keyboard.json
+++ b/keyboards/xelus/trinityxttkl/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Trinity XT TKL",
"manufacturer": "Xelus",
- "url": "",
"maintainer": "Xelus22",
"usb": {
"vid": "0x5845",
diff --git a/keyboards/xelus/valor/rev1/keyboard.json b/keyboards/xelus/valor/rev1/keyboard.json
index 5b5695f34b..c5a7fe8113 100644
--- a/keyboards/xelus/valor/rev1/keyboard.json
+++ b/keyboards/xelus/valor/rev1/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Valor Rev1",
"manufacturer": "Xelus",
- "url": "",
"maintainer": "Xelus22",
"usb": {
"vid": "0x5845",
@@ -33,7 +32,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/xelus/valor/rev2/keyboard.json b/keyboards/xelus/valor/rev2/keyboard.json
index 21de5fb4a2..451eeb99ff 100644
--- a/keyboards/xelus/valor/rev2/keyboard.json
+++ b/keyboards/xelus/valor/rev2/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Valor Rev2",
"manufacturer": "Xelus",
- "url": "",
"maintainer": "Xelus22",
"usb": {
"vid": "0x5845",
diff --git a/keyboards/xelus/valor/rev3/keyboard.json b/keyboards/xelus/valor/rev3/keyboard.json
index 52954fb784..002cdeff5c 100644
--- a/keyboards/xelus/valor/rev3/keyboard.json
+++ b/keyboards/xelus/valor/rev3/keyboard.json
@@ -45,7 +45,6 @@
"max_brightness": 200,
"saturation_steps": 8
},
- "url": "",
"usb": {
"device_version": "0.0.1",
"pid": "0x5652",
diff --git a/keyboards/xelus/valor_frl_tkl/info.json b/keyboards/xelus/valor_frl_tkl/info.json
index a0b7a70a89..9c909634f7 100644
--- a/keyboards/xelus/valor_frl_tkl/info.json
+++ b/keyboards/xelus/valor_frl_tkl/info.json
@@ -1,6 +1,5 @@
{
"manufacturer": "Xelus",
- "url": "",
"maintainer": "Xelus22",
"usb": {
"vid": "0x5845",
diff --git a/keyboards/xelus/valor_frl_tkl/rev2_0/board.h b/keyboards/xelus/valor_frl_tkl/rev2_0/board.h
new file mode 100644
index 0000000000..cce4af40f9
--- /dev/null
+++ b/keyboards/xelus/valor_frl_tkl/rev2_0/board.h
@@ -0,0 +1,8 @@
+// Copyright 2022 Harrison Chan (Xelus)
+// SPDX-License-Identifier: GPL-2.0-or-later
+#pragma once
+
+#include_next <board.h>
+
+#undef STM32_HSECLK
+#define STM32_HSECLK 16000000U
diff --git a/keyboards/xelus/valor_frl_tkl/rev2_0/keyboard.json b/keyboards/xelus/valor_frl_tkl/rev2_0/keyboard.json
index 36db1d4398..7afc25deee 100644
--- a/keyboards/xelus/valor_frl_tkl/rev2_0/keyboard.json
+++ b/keyboards/xelus/valor_frl_tkl/rev2_0/keyboard.json
@@ -9,7 +9,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/xelus/valor_frl_tkl/rev2_1/board.h b/keyboards/xelus/valor_frl_tkl/rev2_1/board.h
new file mode 100644
index 0000000000..cce4af40f9
--- /dev/null
+++ b/keyboards/xelus/valor_frl_tkl/rev2_1/board.h
@@ -0,0 +1,8 @@
+// Copyright 2022 Harrison Chan (Xelus)
+// SPDX-License-Identifier: GPL-2.0-or-later
+#pragma once
+
+#include_next <board.h>
+
+#undef STM32_HSECLK
+#define STM32_HSECLK 16000000U
diff --git a/keyboards/xelus/valor_frl_tkl/rev2_1/keyboard.json b/keyboards/xelus/valor_frl_tkl/rev2_1/keyboard.json
index 376d73a429..21ef5b6920 100644
--- a/keyboards/xelus/valor_frl_tkl/rev2_1/keyboard.json
+++ b/keyboards/xelus/valor_frl_tkl/rev2_1/keyboard.json
@@ -9,7 +9,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/xelus/xs108/keyboard.json b/keyboards/xelus/xs108/keyboard.json
index 14d442d197..d4a022ce7f 100644
--- a/keyboards/xelus/xs108/keyboard.json
+++ b/keyboards/xelus/xs108/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "XS108",
"manufacturer": "Xelus",
- "url": "",
"maintainer": "xelus22",
"usb": {
"vid": "0x5845",
diff --git a/keyboards/xelus/xs60/hotswap/keyboard.json b/keyboards/xelus/xs60/hotswap/keyboard.json
index 45a5e57542..3cceb144ae 100644
--- a/keyboards/xelus/xs60/hotswap/keyboard.json
+++ b/keyboards/xelus/xs60/hotswap/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "XS60 Hotswap",
"manufacturer": "Xelus",
- "url": "",
"maintainer": "Xelus22",
"usb": {
"vid": "0x5845",
diff --git a/keyboards/xelus/xs60/soldered/keyboard.json b/keyboards/xelus/xs60/soldered/keyboard.json
index 41af87ba7c..8dace88ce8 100644
--- a/keyboards/xelus/xs60/soldered/keyboard.json
+++ b/keyboards/xelus/xs60/soldered/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "XS60 Soldered",
"manufacturer": "Xelus",
- "url": "",
"maintainer": "Xelus22",
"usb": {
"vid": "0x5845",
diff --git a/keyboards/xiaomi/mk02/keyboard.json b/keyboards/xiaomi/mk02/keyboard.json
index 28d5d8a17d..60326a335b 100644
--- a/keyboards/xiaomi/mk02/keyboard.json
+++ b/keyboards/xiaomi/mk02/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "MK02",
"manufacturer": "Xiaomi",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0xFEED",
diff --git a/keyboards/xiudi/xd004/v1/keyboard.json b/keyboards/xiudi/xd004/v1/keyboard.json
index a6211edfec..4a134dd5ef 100644
--- a/keyboards/xiudi/xd004/v1/keyboard.json
+++ b/keyboards/xiudi/xd004/v1/keyboard.json
@@ -13,7 +13,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": false,
diff --git a/keyboards/xiudi/xd60/rev2/keyboard.json b/keyboards/xiudi/xd60/rev2/keyboard.json
index 8e03fdba20..9f25023bb9 100644
--- a/keyboards/xiudi/xd60/rev2/keyboard.json
+++ b/keyboards/xiudi/xd60/rev2/keyboard.json
@@ -7,7 +7,6 @@
"backlight": true,
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/xiudi/xd60/rev3/keyboard.json b/keyboards/xiudi/xd60/rev3/keyboard.json
index 09af3681af..defbd93592 100644
--- a/keyboards/xiudi/xd60/rev3/keyboard.json
+++ b/keyboards/xiudi/xd60/rev3/keyboard.json
@@ -7,7 +7,6 @@
"backlight": true,
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/xiudi/xd68/keyboard.json b/keyboards/xiudi/xd68/keyboard.json
index 620c0b5963..828aa1888d 100644
--- a/keyboards/xiudi/xd68/keyboard.json
+++ b/keyboards/xiudi/xd68/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "XD68",
"manufacturer": "xiudi",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0x7844",
@@ -12,7 +11,6 @@
"backlight": true,
"bootmagic": true,
"command": true,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/xiudi/xd75/keyboard.json b/keyboards/xiudi/xd75/keyboard.json
index df1ec33577..4644c9f826 100644
--- a/keyboards/xiudi/xd75/keyboard.json
+++ b/keyboards/xiudi/xd75/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "XD75",
"manufacturer": "xiudi",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0x7844",
@@ -11,7 +10,6 @@
"features": {
"bootmagic": true,
"command": true,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false,
diff --git a/keyboards/xiudi/xd84/keyboard.json b/keyboards/xiudi/xd84/keyboard.json
index 0411869633..7c9fc32865 100644
--- a/keyboards/xiudi/xd84/keyboard.json
+++ b/keyboards/xiudi/xd84/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "XD84",
"manufacturer": "KPrepublic",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0x7844",
diff --git a/keyboards/xiudi/xd84pro/keyboard.json b/keyboards/xiudi/xd84pro/keyboard.json
index 5388d8f7c2..e5dc56c29b 100644
--- a/keyboards/xiudi/xd84pro/keyboard.json
+++ b/keyboards/xiudi/xd84pro/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "XD84 Pro",
"manufacturer": "KPrepublic",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0x7844",
@@ -12,7 +11,6 @@
"backlight": true,
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": true,
diff --git a/keyboards/xiudi/xd96/keyboard.json b/keyboards/xiudi/xd96/keyboard.json
index df1fd1cfd4..cae3f223b0 100644
--- a/keyboards/xiudi/xd96/keyboard.json
+++ b/keyboards/xiudi/xd96/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "XD96",
"manufacturer": "KPrepublic",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0x7844",
diff --git a/keyboards/xmmx/keyboard.json b/keyboards/xmmx/keyboard.json
index 2e6813520c..12cb6ad0fc 100644
--- a/keyboards/xmmx/keyboard.json
+++ b/keyboards/xmmx/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "XMMX",
"manufacturer": "farmakon",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0xFEED",
@@ -11,7 +10,6 @@
"features": {
"bootmagic": false,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": true
diff --git a/keyboards/xw60/keyboard.json b/keyboards/xw60/keyboard.json
index 3bd11e21c1..5c428f4f5b 100644
--- a/keyboards/xw60/keyboard.json
+++ b/keyboards/xw60/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "XW60",
"manufacturer": "Drclick",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0xFEED",
diff --git a/keyboards/yampad/keyboard.json b/keyboards/yampad/keyboard.json
index 76efef72ad..789565e342 100644
--- a/keyboards/yampad/keyboard.json
+++ b/keyboards/yampad/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Yampad",
"manufacturer": "Mattia Dal Ben",
- "url": "",
"maintainer": "mattdibi",
"usb": {
"vid": "0x5950",
diff --git a/keyboards/yandrstudio/nz64/keyboard.json b/keyboards/yandrstudio/nz64/keyboard.json
index 8169449a10..a017b06f58 100644
--- a/keyboards/yandrstudio/nz64/keyboard.json
+++ b/keyboards/yandrstudio/nz64/keyboard.json
@@ -65,7 +65,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/yandrstudio/zhou65/keyboard.json b/keyboards/yandrstudio/zhou65/keyboard.json
index f15cdfb0a2..1c5f368262 100644
--- a/keyboards/yandrstudio/zhou65/keyboard.json
+++ b/keyboards/yandrstudio/zhou65/keyboard.json
@@ -8,7 +8,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/yatara/drink_me/keyboard.json b/keyboards/yatara/drink_me/keyboard.json
index 970aa4f5d3..523d0d916a 100644
--- a/keyboards/yatara/drink_me/keyboard.json
+++ b/keyboards/yatara/drink_me/keyboard.json
@@ -13,7 +13,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": false,
"mousekey": false,
"nkro": false
diff --git a/keyboards/ydkb/chili/keyboard.json b/keyboards/ydkb/chili/keyboard.json
index 92552d96a3..114b022ac6 100644
--- a/keyboards/ydkb/chili/keyboard.json
+++ b/keyboards/ydkb/chili/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Chili",
"manufacturer": "YDKB",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0x5945",
@@ -12,7 +11,6 @@
"backlight": true,
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/ydkb/just60/keyboard.json b/keyboards/ydkb/just60/keyboard.json
index 586ea80f21..f8bd5a3503 100644
--- a/keyboards/ydkb/just60/keyboard.json
+++ b/keyboards/ydkb/just60/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Just60",
"manufacturer": "YDKB",
- "url": "",
"maintainer": "thinxer",
"usb": {
"vid": "0xFEED",
diff --git a/keyboards/ydkb/yd68/keyboard.json b/keyboards/ydkb/yd68/keyboard.json
index a3542e72c2..bb906ee146 100644
--- a/keyboards/ydkb/yd68/keyboard.json
+++ b/keyboards/ydkb/yd68/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "YD68v2",
"manufacturer": "YANG",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0xFEED",
@@ -11,7 +10,6 @@
"features": {
"bootmagic": false,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false,
diff --git a/keyboards/ydkb/ydpm40/keyboard.json b/keyboards/ydkb/ydpm40/keyboard.json
index b0916f297c..5d016e389b 100644
--- a/keyboards/ydkb/ydpm40/keyboard.json
+++ b/keyboards/ydkb/ydpm40/keyboard.json
@@ -7,7 +7,6 @@
"features": {
"bootmagic": false,
"command": false,
- "console": false,
"extrakey": false,
"mousekey": false,
"nkro": false
@@ -17,7 +16,6 @@
"rows": ["D4", "D5", "D6", "D7"]
},
"processor": "atmega328p",
- "url": "",
"usb": {
"device_version": "1.0.0",
"pid": "0x0240",
diff --git a/keyboards/yeehaw/keyboard.json b/keyboards/yeehaw/keyboard.json
index aa20239c9d..d2555a3201 100644
--- a/keyboards/yeehaw/keyboard.json
+++ b/keyboards/yeehaw/keyboard.json
@@ -39,7 +39,6 @@
"features": {
"bootmagic": false,
"command": false,
- "console": false,
"encoder": true,
"extrakey": true,
"mousekey": false,
diff --git a/keyboards/ymdk/bface/keyboard.json b/keyboards/ymdk/bface/keyboard.json
index 8a0025c01a..42c5ef5461 100644
--- a/keyboards/ymdk/bface/keyboard.json
+++ b/keyboards/ymdk/bface/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "B.face",
"manufacturer": "YMDK",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0x594D",
@@ -12,7 +11,6 @@
"backlight": true,
"bootmagic": false,
"command": true,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false,
diff --git a/keyboards/ymdk/id75/f103/keyboard.json b/keyboards/ymdk/id75/f103/keyboard.json
index 5b1974b3f2..07088ee7cc 100644
--- a/keyboards/ymdk/id75/f103/keyboard.json
+++ b/keyboards/ymdk/id75/f103/keyboard.json
@@ -1,5 +1,4 @@
{
- "manufacturer": "YMDK",
"bootloader": "uf2boot",
"matrix_pins": {
"cols": ["A10", "A9", "A8", "B15", "B14", "B13", "B12", "A5", "A6", "A4", "A3", "A2", "A1", "A0", "A15"],
diff --git a/keyboards/ymdk/id75/info.json b/keyboards/ymdk/id75/info.json
index bbe4d1c73e..e409743abb 100644
--- a/keyboards/ymdk/id75/info.json
+++ b/keyboards/ymdk/id75/info.json
@@ -1,6 +1,8 @@
{
+ "manufacturer": "YMDK",
"keyboard_name": "Idobao x YMDK ID75",
"maintainer": "qmk",
+ "bootloader_instructions": "Press the button on the back of the PCB twice in quick succession.",
"diode_direction": "ROW2COL",
"features": {
"bootmagic": true,
diff --git a/keyboards/ymdk/id75/readme.md b/keyboards/ymdk/id75/readme.md
index 4f7e779458..f94d4c14cf 100644
--- a/keyboards/ymdk/id75/readme.md
+++ b/keyboards/ymdk/id75/readme.md
@@ -8,15 +8,18 @@ A 75-key, 5-row ortholinear keyboard with per-key and underglow RGB LEDs.
* Hardware Supported: [Idobao x YMDK ID75](https://www.aliexpress.com/item/3256804537842097.html). **This is not the same PCB as `idobao/id75` or `ymdk/ymd75`.**
This keyboard has had multiple PCB revisions, some of which may not work with the firmware in this repository. **Check your PCB before flashing.**
* `f103`: (Geehy APM32F103CBT6, uf2boot)
+ * `rp2040`: (RP2040, rp2040)
* Hardware Availability: [YMDK](https://ymdkey.com/products/id75-75-keys-ortholinear-layout-qmk-anodized-aluminum-case-plate-hot-swappable-hot-swap-type-c-pcb-mechanical-keyboard-kit), [AliExpress (YMDK Store)](https://www.aliexpress.com/item/2255800125183974.html), [Amazon](https://www.amazon.com/Ortholinear-Anodized-Aluminum-hot-swappable-Mechanical/dp/B07ZQ8CD88)
Make example for this keyboard (after setting up your build environment):
make ymdk/id75/f103:default
+ make ymdk/id75/rp2040:default
Flashing example for this keyboard:
make ymdk/id75/f103:default:flash
+ make ymdk/id75/rp2040: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).
@@ -30,3 +33,4 @@ Enter the bootloader in 3 ways:
After entering the bootloader through one of the three methods above, the keyboard will appear as a USB mass storage device. If the CLI is unable to find this device, the compiled `.uf2` file can be manually copied to it. The keyboard will reboot on completion with the new firmware loaded.
- `f103`: The volume name is `MT.KEY`.
+- `rp2040`: The volume name is `RPI-RP2`.
diff --git a/keyboards/sofle/keyhive/config.h b/keyboards/ymdk/id75/rp2040/config.h
index cda0be789e..b7a25de160 100644
--- a/keyboards/sofle/keyhive/config.h
+++ b/keyboards/ymdk/id75/rp2040/config.h
@@ -1,6 +1,4 @@
-/* Copyright
- * 2021 solartempest
- * 2021 QMK
+/* 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
@@ -18,6 +16,5 @@
#pragma once
-// OLED settings
-#define OLED_TIMEOUT 80000
-#define OLED_BRIGHTNESS 90
+#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET
+#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_TIMEOUT 500U
diff --git a/keyboards/ymdk/id75/rp2040/keyboard.json b/keyboards/ymdk/id75/rp2040/keyboard.json
new file mode 100644
index 0000000000..f153203cd0
--- /dev/null
+++ b/keyboards/ymdk/id75/rp2040/keyboard.json
@@ -0,0 +1,12 @@
+{
+ "bootloader": "rp2040",
+ "matrix_pins": {
+ "cols": ["GP26", "GP27", "GP4", "GP5", "GP1", "GP23", "GP22", "GP21", "GP28", "GP3", "GP7", "GP12", "GP13", "GP14", "GP15"],
+ "rows": ["GP8", "GP6", "GP19", "GP20", "GP18"]
+ },
+ "processor": "RP2040",
+ "ws2812": {
+ "driver": "vendor",
+ "pin": "GP2"
+ }
+}
diff --git a/keyboards/ymdk/melody96/hotswap/keyboard.json b/keyboards/ymdk/melody96/hotswap/keyboard.json
index 6a00e05050..1b22f1fdee 100644
--- a/keyboards/ymdk/melody96/hotswap/keyboard.json
+++ b/keyboards/ymdk/melody96/hotswap/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Melody96 Hotswap",
"manufacturer": "YMDK",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0x594D",
@@ -17,7 +16,6 @@
"backlight": true,
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/ymdk/melody96/soldered/keyboard.json b/keyboards/ymdk/melody96/soldered/keyboard.json
index dbb2ddc32b..6a47c6c685 100644
--- a/keyboards/ymdk/melody96/soldered/keyboard.json
+++ b/keyboards/ymdk/melody96/soldered/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Melody96 Soldered",
"manufacturer": "YMDK",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0x594D",
diff --git a/keyboards/ymdk/np21/keyboard.json b/keyboards/ymdk/np21/keyboard.json
index a1997161ee..8527fc5596 100644
--- a/keyboards/ymdk/np21/keyboard.json
+++ b/keyboards/ymdk/np21/keyboard.json
@@ -12,7 +12,6 @@
"backlight": true,
"bootmagic": true,
"command": true,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": false,
diff --git a/keyboards/ymdk/np24/u4rgb6/keyboard.json b/keyboards/ymdk/np24/u4rgb6/keyboard.json
index 3dcd9d63b3..cc00595cc1 100644
--- a/keyboards/ymdk/np24/u4rgb6/keyboard.json
+++ b/keyboards/ymdk/np24/u4rgb6/keyboard.json
@@ -11,7 +11,6 @@
"backlight": true,
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": false,
diff --git a/keyboards/ymdk/sp64/keyboard.json b/keyboards/ymdk/sp64/keyboard.json
index bfb140873a..d1d0d8296c 100644
--- a/keyboards/ymdk/sp64/keyboard.json
+++ b/keyboards/ymdk/sp64/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "SP64",
"manufacturer": "YMDK",
- "url": "",
"maintainer": "walston",
"usb": {
"vid": "0x594D",
diff --git a/keyboards/ymdk/wings/keyboard.json b/keyboards/ymdk/wings/keyboard.json
index 30c8439b45..9036872c66 100644
--- a/keyboards/ymdk/wings/keyboard.json
+++ b/keyboards/ymdk/wings/keyboard.json
@@ -12,7 +12,6 @@
"backlight": true,
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/ymdk/wingshs/keyboard.json b/keyboards/ymdk/wingshs/keyboard.json
index 487d61cc2e..252884dc75 100644
--- a/keyboards/ymdk/wingshs/keyboard.json
+++ b/keyboards/ymdk/wingshs/keyboard.json
@@ -12,7 +12,6 @@
"backlight": true,
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/ymdk/yd60mq/info.json b/keyboards/ymdk/yd60mq/info.json
index 1af04be687..11997ba50e 100644
--- a/keyboards/ymdk/yd60mq/info.json
+++ b/keyboards/ymdk/yd60mq/info.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "YD60MQ",
"manufacturer": "YMDK",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0x594D",
@@ -11,7 +10,6 @@
"backlight": true,
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/ymdk/ym68/keyboard.json b/keyboards/ymdk/ym68/keyboard.json
index 5bea9b2e48..a6185e5891 100644
--- a/keyboards/ymdk/ym68/keyboard.json
+++ b/keyboards/ymdk/ym68/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "YM68",
"manufacturer": "YMDK",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0x594D",
@@ -12,7 +11,6 @@
"backlight": true,
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false,
diff --git a/keyboards/ymdk/ymd09/keyboard.json b/keyboards/ymdk/ymd09/keyboard.json
index 571aa8c45f..226502b093 100644
--- a/keyboards/ymdk/ymd09/keyboard.json
+++ b/keyboards/ymdk/ymd09/keyboard.json
@@ -19,7 +19,6 @@
"bootmagic": true,
"mousekey": true,
"extrakey": true,
- "console": false,
"command": false,
"nkro": true,
"rgb_matrix": true
diff --git a/keyboards/ymdk/ymd21/v2/keyboard.json b/keyboards/ymdk/ymd21/v2/keyboard.json
index 3e2e992ccc..7e09f04fdf 100644
--- a/keyboards/ymdk/ymd21/v2/keyboard.json
+++ b/keyboards/ymdk/ymd21/v2/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "YMD21 v2",
"manufacturer": "YMDK",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0x45D4",
@@ -12,7 +11,6 @@
"backlight": true,
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false,
diff --git a/keyboards/ymdk/ymd40/air40/keyboard.json b/keyboards/ymdk/ymd40/air40/keyboard.json
index aaca80156b..0adc965cc7 100644
--- a/keyboards/ymdk/ymd40/air40/keyboard.json
+++ b/keyboards/ymdk/ymd40/air40/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "YMDK Air40",
"manufacturer": "YMDK",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0x45D4",
diff --git a/keyboards/ymdk/ymd40/v2/keyboard.json b/keyboards/ymdk/ymd40/v2/keyboard.json
index 08f5f0a4e3..baecfbb579 100644
--- a/keyboards/ymdk/ymd40/v2/keyboard.json
+++ b/keyboards/ymdk/ymd40/v2/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "YMD40 v2",
"manufacturer": "YMDK",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0x594D",
diff --git a/keyboards/ymdk/ymd67/keyboard.json b/keyboards/ymdk/ymd67/keyboard.json
index 5f9ba275f9..4818a79b50 100644
--- a/keyboards/ymdk/ymd67/keyboard.json
+++ b/keyboards/ymdk/ymd67/keyboard.json
@@ -12,7 +12,6 @@
"backlight": true,
"bootmagic": true,
"command": true,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": true,
diff --git a/keyboards/ymdk/ymd75/rev1/keyboard.json b/keyboards/ymdk/ymd75/rev1/keyboard.json
index f2b664c67f..3c9022ccdb 100644
--- a/keyboards/ymdk/ymd75/rev1/keyboard.json
+++ b/keyboards/ymdk/ymd75/rev1/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "YMD75 / MT84",
"manufacturer": "YMDK",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0x20A0",
@@ -12,7 +11,6 @@
"backlight": true,
"bootmagic": true,
"command": true,
- "console": false,
"extrakey": true,
"key_lock": true,
"mousekey": false,
diff --git a/keyboards/ymdk/ymd75/rev2/keyboard.json b/keyboards/ymdk/ymd75/rev2/keyboard.json
index 272140fd82..8bfebf0207 100644
--- a/keyboards/ymdk/ymd75/rev2/keyboard.json
+++ b/keyboards/ymdk/ymd75/rev2/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "YMD75 / MT84",
"manufacturer": "YMDK",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0x20A0",
@@ -12,7 +11,6 @@
"backlight": true,
"bootmagic": true,
"command": true,
- "console": false,
"extrakey": true,
"key_lock": true,
"mousekey": false,
diff --git a/keyboards/ymdk/ymd75/rev3/keyboard.json b/keyboards/ymdk/ymd75/rev3/keyboard.json
index ae8c20990b..eb5979c566 100644
--- a/keyboards/ymdk/ymd75/rev3/keyboard.json
+++ b/keyboards/ymdk/ymd75/rev3/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "YMD75 / MT84",
"manufacturer": "YMDK",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0x20A0",
@@ -12,7 +11,6 @@
"backlight": true,
"bootmagic": true,
"command": true,
- "console": false,
"extrakey": true,
"key_lock": true,
"mousekey": false,
diff --git a/keyboards/ymdk/ymd75/rev4/iso/keyboard.json b/keyboards/ymdk/ymd75/rev4/iso/keyboard.json
index 180c68beaa..44c43e8d85 100644
--- a/keyboards/ymdk/ymd75/rev4/iso/keyboard.json
+++ b/keyboards/ymdk/ymd75/rev4/iso/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "YMD75 V4",
"manufacturer": "YMDK",
- "url": "",
"maintainer": "zvecr",
"processor": "STM32F103",
"bootloader": "uf2boot",
@@ -19,7 +18,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/ymdk/ymd96/keyboard.json b/keyboards/ymdk/ymd96/keyboard.json
index ed7edd490a..cd5b6509f4 100644
--- a/keyboards/ymdk/ymd96/keyboard.json
+++ b/keyboards/ymdk/ymd96/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "YMD96",
"manufacturer": "YMDK",
- "url": "",
"maintainer": "sparkyman215",
"usb": {
"vid": "0x20A0",
@@ -13,7 +12,6 @@
"backlight": true,
"bootmagic": false,
"command": false,
- "console": false,
"extrakey": true,
"key_lock": true,
"mousekey": false,
diff --git a/keyboards/yncognito/batpad/keyboard.json b/keyboards/yncognito/batpad/keyboard.json
index 06a1f9b090..4d42442b6f 100644
--- a/keyboards/yncognito/batpad/keyboard.json
+++ b/keyboards/yncognito/batpad/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Batpad",
"manufacturer": "Yncognito",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0x7979",
@@ -66,7 +65,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/yoichiro/lunakey_macro/keyboard.json b/keyboards/yoichiro/lunakey_macro/keyboard.json
index 7268dd3143..e5c693e9cd 100644
--- a/keyboards/yoichiro/lunakey_macro/keyboard.json
+++ b/keyboards/yoichiro/lunakey_macro/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Lunakey Macro",
"manufacturer": "yoichiro",
- "url": "",
"maintainer": "Yoichiro Tanaka",
"usb": {
"vid": "0x5954",
@@ -11,7 +10,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": false,
"mousekey": false,
"nkro": false
diff --git a/keyboards/yoichiro/lunakey_mini/keyboard.json b/keyboards/yoichiro/lunakey_mini/keyboard.json
index 177b3afaa6..41503fe598 100644
--- a/keyboards/yoichiro/lunakey_mini/keyboard.json
+++ b/keyboards/yoichiro/lunakey_mini/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Lunakey Mini",
"manufacturer": "yoichiro",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0x5954",
diff --git a/keyboards/yoichiro/lunakey_pico/keyboard.json b/keyboards/yoichiro/lunakey_pico/keyboard.json
index 39070d615a..5f04d1b3f9 100644
--- a/keyboards/yoichiro/lunakey_pico/keyboard.json
+++ b/keyboards/yoichiro/lunakey_pico/keyboard.json
@@ -8,7 +8,6 @@
"bootmagic": false,
"mousekey": true,
"extrakey": true,
- "console": false,
"command": false,
"nkro": false,
"rgblight": true
@@ -41,10 +40,8 @@
"static_gradient": true,
"twinkle": true
},
- "hue_steps": 8,
"saturation_steps": 8,
- "brightness_steps": 8,
- "max_brightness": 255
+ "brightness_steps": 8
},
"split": {
"enabled": true,
diff --git a/keyboards/yushakobo/ergo68/keyboard.json b/keyboards/yushakobo/ergo68/keyboard.json
index bc61e979b7..ac86eae70b 100644
--- a/keyboards/yushakobo/ergo68/keyboard.json
+++ b/keyboards/yushakobo/ergo68/keyboard.json
@@ -14,7 +14,6 @@
"cols": ["F4", "F5", "F6", "F7", "B1", "B3", "B2"],
"rows": ["D4", "C6", "D7", "E6", "B4"]
},
- "url": "",
"usb": {
"vid": "0x3265",
"pid": "0x0011",
diff --git a/keyboards/yushakobo/navpad/10_helix_r/keyboard.json b/keyboards/yushakobo/navpad/10_helix_r/keyboard.json
index e91f96f0ac..89613390c1 100644
--- a/keyboards/yushakobo/navpad/10_helix_r/keyboard.json
+++ b/keyboards/yushakobo/navpad/10_helix_r/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "navpad 1.0 with helix keyboard",
"manufacturer": "yushakobo",
- "url": "",
"maintainer": "yushakobo",
"usb": {
"vid": "0x3265",
diff --git a/keyboards/yushakobo/quick7/keyboard.json b/keyboards/yushakobo/quick7/keyboard.json
index ba4854015b..146397d088 100644
--- a/keyboards/yushakobo/quick7/keyboard.json
+++ b/keyboards/yushakobo/quick7/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "quick7",
"manufacturer": "yushakobo",
- "url": "",
"maintainer": "yushakobo",
"usb": {
"vid": "0x3265",
diff --git a/keyboards/yynmt/dozen0/keyboard.json b/keyboards/yynmt/dozen0/keyboard.json
index 1ad2b13be0..6cdbe0a28d 100644
--- a/keyboards/yynmt/dozen0/keyboard.json
+++ b/keyboards/yynmt/dozen0/keyboard.json
@@ -31,7 +31,6 @@
"features": {
"bootmagic": false,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false,
diff --git a/keyboards/zeix/eden/keyboard.json b/keyboards/zeix/eden/keyboard.json
index 3d44a663b9..76bfdaee2a 100644
--- a/keyboards/zeix/eden/keyboard.json
+++ b/keyboards/zeix/eden/keyboard.json
@@ -13,7 +13,6 @@
"bootmagic": true,
"mousekey": true,
"extrakey": true,
- "console": false,
"command": false,
"nkro": true
},
diff --git a/keyboards/zeix/qwertyqop60hs/keyboard.json b/keyboards/zeix/qwertyqop60hs/keyboard.json
index 6397551ff7..d477dcc44e 100644
--- a/keyboards/zeix/qwertyqop60hs/keyboard.json
+++ b/keyboards/zeix/qwertyqop60hs/keyboard.json
@@ -13,7 +13,6 @@
"bootmagic": true,
"mousekey": true,
"extrakey": true,
- "console": false,
"command": false,
"nkro": true
},
diff --git a/keyboards/zicodia/tklfrlnrlmlao/keyboard.json b/keyboards/zicodia/tklfrlnrlmlao/keyboard.json
index e7c7322f7e..e29f3ca8cb 100644
--- a/keyboards/zicodia/tklfrlnrlmlao/keyboard.json
+++ b/keyboards/zicodia/tklfrlnrlmlao/keyboard.json
@@ -7,7 +7,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/ziggurat/keyboard.json b/keyboards/ziggurat/keyboard.json
index 11ae657256..21ba5772c4 100644
--- a/keyboards/ziggurat/keyboard.json
+++ b/keyboards/ziggurat/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Ziggurat",
"manufacturer": "LaminarWoob",
- "url": "",
"maintainer": "kb-elmo",
"usb": {
"vid": "0x8F5D",
@@ -11,7 +10,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": false
diff --git a/keyboards/zigotica/z12/keyboard.json b/keyboards/zigotica/z12/keyboard.json
index 2d3e92d6e2..d7b2090c57 100644
--- a/keyboards/zigotica/z12/keyboard.json
+++ b/keyboards/zigotica/z12/keyboard.json
@@ -22,7 +22,6 @@
"features": {
"bootmagic": false,
"command": false,
- "console": false,
"encoder": true,
"extrakey": true,
"mousekey": false,
diff --git a/keyboards/ziptyze/lets_split_v3/keyboard.json b/keyboards/ziptyze/lets_split_v3/keyboard.json
index ca53b42240..7d110bd7ff 100644
--- a/keyboards/ziptyze/lets_split_v3/keyboard.json
+++ b/keyboards/ziptyze/lets_split_v3/keyboard.json
@@ -8,7 +8,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"rgb_matrix": true
diff --git a/keyboards/zj68/keyboard.json b/keyboards/zj68/keyboard.json
index 9273b81cd5..f59c5b7fbb 100644
--- a/keyboards/zj68/keyboard.json
+++ b/keyboards/zj68/keyboard.json
@@ -11,7 +11,6 @@
"backlight": true,
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": false,
"nkro": true
diff --git a/keyboards/zlant/keyboard.json b/keyboards/zlant/keyboard.json
index 965a259c3b..4185d22d94 100644
--- a/keyboards/zlant/keyboard.json
+++ b/keyboards/zlant/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Zlant",
"manufacturer": "Matthew Cordier",
- "url": "",
"maintainer": "qmk",
"usb": {
"vid": "0xFEED",
diff --git a/keyboards/zoo/wampus/keyboard.json b/keyboards/zoo/wampus/keyboard.json
index 3e65c50231..9260795690 100644
--- a/keyboards/zoo/wampus/keyboard.json
+++ b/keyboards/zoo/wampus/keyboard.json
@@ -12,7 +12,6 @@
"backlight": true,
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
diff --git a/keyboards/zos/65s/keyboard.json b/keyboards/zos/65s/keyboard.json
index eaf8a97f86..3a47833235 100644
--- a/keyboards/zos/65s/keyboard.json
+++ b/keyboards/zos/65s/keyboard.json
@@ -7,7 +7,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/zsa/moonlander/matrix.c b/keyboards/zsa/moonlander/matrix.c
index 867fa85a66..4e5c120950 100644
--- a/keyboards/zsa/moonlander/matrix.c
+++ b/keyboards/zsa/moonlander/matrix.c
@@ -127,7 +127,7 @@ bool matrix_scan_custom(matrix_row_t current_matrix[]) {
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));
+ data = ((gpio_read_pin(A0) << 0) | (gpio_read_pin(A1) << 1) | (gpio_read_pin(A2) << 2) | (gpio_read_pin(A3) << 3) | (gpio_read_pin(A6) << 4) | (gpio_read_pin(A7) << 5) | (gpio_read_pin(B0) << 6));
// unstrobe row
switch (row) {
case 0:
diff --git a/keyboards/ztboards/after/keyboard.json b/keyboards/ztboards/after/keyboard.json
index 1b02390837..3cccec283a 100644
--- a/keyboards/ztboards/after/keyboard.json
+++ b/keyboards/ztboards/after/keyboard.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"encoder": true,
"extrakey": true,
"mousekey": true,
diff --git a/keyboards/ztboards/noon/keyboard.json b/keyboards/ztboards/noon/keyboard.json
index a3f9912acc..5caf694aaa 100644
--- a/keyboards/ztboards/noon/keyboard.json
+++ b/keyboards/ztboards/noon/keyboard.json
@@ -11,7 +11,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/zvecr/split_blackpill/keyboard.json b/keyboards/zvecr/split_blackpill/keyboard.json
index d22914d3bd..407314b71a 100644
--- a/keyboards/zvecr/split_blackpill/keyboard.json
+++ b/keyboards/zvecr/split_blackpill/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "split_blackpill",
"manufacturer": "zvecr",
- "url": "",
"maintainer": "zvecr",
"usb": {
"vid": "0x5A56",
diff --git a/keyboards/zvecr/zv48/info.json b/keyboards/zvecr/zv48/info.json
index 39a05a61e6..0a6e8f7ae9 100644
--- a/keyboards/zvecr/zv48/info.json
+++ b/keyboards/zvecr/zv48/info.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "zv48",
"manufacturer": "zvecr",
- "url": "",
"maintainer": "zvecr",
"usb": {
"vid": "0x5A56",
diff --git a/keyboards/zwag/zwag75/keyboard.json b/keyboards/zwag/zwag75/keyboard.json
index 03b97cefc8..08ea4b6e56 100644
--- a/keyboards/zwag/zwag75/keyboard.json
+++ b/keyboards/zwag/zwag75/keyboard.json
@@ -1,7 +1,6 @@
{
"keyboard_name": "Zwag75",
"manufacturer": "Zwag.gg",
- "url": "",
"maintainer": "DeskDaily",
"usb": {
"vid": "0x5102",
@@ -19,7 +18,6 @@
"bootmagic": true,
"mousekey": true,
"extrakey": true,
- "console": false,
"command": false,
"nkro": false,
"rgblight": true
diff --git a/keyboards/zwerg/keyboard.json b/keyboards/zwerg/keyboard.json
index a039d0fa39..6ec594a472 100644
--- a/keyboards/zwerg/keyboard.json
+++ b/keyboards/zwerg/keyboard.json
@@ -10,7 +10,6 @@
"features": {
"bootmagic": true,
"command": false,
- "console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
diff --git a/keyboards/zykrah/fuyu/keyboard.json b/keyboards/zykrah/fuyu/keyboard.json
index 01053d4821..9fe6e6ed34 100644
--- a/keyboards/zykrah/fuyu/keyboard.json
+++ b/keyboards/zykrah/fuyu/keyboard.json
@@ -13,7 +13,6 @@
"bootmagic": false,
"mousekey": true,
"extrakey": true,
- "console": false,
"command": false,
"nkro": true,
"rgb_matrix": true
diff --git a/keyboards/zykrah/slime88/keyboard.json b/keyboards/zykrah/slime88/keyboard.json
index 8b15524cca..d0538facf5 100644
--- a/keyboards/zykrah/slime88/keyboard.json
+++ b/keyboards/zykrah/slime88/keyboard.json
@@ -13,7 +13,6 @@
"bootmagic": true,
"mousekey": true,
"extrakey": true,
- "console": false,
"command": false,
"nkro": true
},
diff --git a/layouts/community/75_ansi/layout.json b/layouts/community/75_ansi/layout.json
index 4b7c5a0d88..72be23b486 100644
--- a/layouts/community/75_ansi/layout.json
+++ b/layouts/community/75_ansi/layout.json
@@ -3,4 +3,4 @@
[{w:1.5},"","","","","","","","","","","","","",{w:1.5},"",""],
[{w:1.75},"","","","","","","","","","","","",{w:2.25},"",""],
[{w:2.25},"","","","","","","","","","","",{w:1.75},"","",""],
-[{w:1.25},"",{w:1.25},"",{w:1.25},"",{w:6.25},"","","","","","",""] \ No newline at end of file
+[{w:1.25},"",{w:1.25},"",{w:1.25},"",{w:6.25},"","","","","","",""]
diff --git a/layouts/community/ortho_1x4/layout.json b/layouts/community/ortho_1x4/layout.json
index 6103c7e248..833ff19d4f 100644
--- a/layouts/community/ortho_1x4/layout.json
+++ b/layouts/community/ortho_1x4/layout.json
@@ -1 +1 @@
-["","","",""] \ No newline at end of file
+["","","",""]
diff --git a/layouts/community/ortho_4x12/layout.json b/layouts/community/ortho_4x12/layout.json
index 9439b6e0be..961b080642 100644
--- a/layouts/community/ortho_4x12/layout.json
+++ b/layouts/community/ortho_4x12/layout.json
@@ -1,4 +1,4 @@
["","","","","","","","","","","",""],
["","","","","","","","","","","",""],
["","","","","","","","","","","",""],
-["","","","","","","","","","","",""] \ No newline at end of file
+["","","","","","","","","","","",""]
diff --git a/layouts/default/60_ansi_arrow/layout.json b/layouts/default/60_ansi_arrow/layout.json
index 7fc631c3d1..163107fda4 100644
--- a/layouts/default/60_ansi_arrow/layout.json
+++ b/layouts/default/60_ansi_arrow/layout.json
@@ -3,4 +3,4 @@
[{w:1.75},"","","","","","","","","","","","",{w:2.25},""],
[{w:2.25},"","","","","","","","","","",{w:1.75},"","",""],
[{w:1.25},"",{w:1.25},"",{w:1.25},"",{w:6.25},"","","","","",""]
- \ No newline at end of file
+
diff --git a/layouts/default/ortho_5x5/readme.md b/layouts/default/ortho_5x5/readme.md
index 3dd75765d1..2922976d3a 100644
--- a/layouts/default/ortho_5x5/readme.md
+++ b/layouts/default/ortho_5x5/readme.md
@@ -1,3 +1,3 @@
# ortho_5x5
- LAYOUT_ortho_5x5 \ No newline at end of file
+ LAYOUT_ortho_5x5
diff --git a/lib/pico-sdk b/lib/pico-sdk
-Subproject a3398d8d3a772f37fef44a74743a1de69770e9c
+Subproject d0c5cac430cc955b65efa0e899748853d9a8092
diff --git a/lib/python/qmk/cli/__init__.py b/lib/python/qmk/cli/__init__.py
index 3f2ba9ce3c..26905ec134 100644
--- a/lib/python/qmk/cli/__init__.py
+++ b/lib/python/qmk/cli/__init__.py
@@ -58,7 +58,6 @@ subcommands = [
'qmk.cli.generate.keyboard_c',
'qmk.cli.generate.keyboard_h',
'qmk.cli.generate.keycodes',
- 'qmk.cli.generate.keycodes_tests',
'qmk.cli.generate.keymap_h',
'qmk.cli.generate.make_dependencies',
'qmk.cli.generate.rgb_breathe_table',
@@ -215,7 +214,7 @@ if sys.version_info[0] != 3 or sys.version_info[1] < 9:
milc_version = __VERSION__.split('.')
-if int(milc_version[0]) < 2 and int(milc_version[1]) < 4:
+if int(milc_version[0]) < 2 and int(milc_version[1]) < 9:
requirements = Path('requirements.txt').resolve()
_eprint(f'Your MILC library is too old! Please upgrade: python3 -m pip install -U -r {str(requirements)}')
diff --git a/lib/python/qmk/cli/generate/community_modules.py b/lib/python/qmk/cli/generate/community_modules.py
index 23678a2fb5..e12daccf1c 100644
--- a/lib/python/qmk/cli/generate/community_modules.py
+++ b/lib/python/qmk/cli/generate/community_modules.py
@@ -8,7 +8,7 @@ import qmk.path
from qmk.info import get_modules
from qmk.keyboard import keyboard_completer, keyboard_folder
from qmk.commands import dump_lines
-from qmk.constants import GPL2_HEADER_C_LIKE, GENERATED_HEADER_C_LIKE
+from qmk.constants import GPL2_HEADER_C_LIKE, GENERATED_HEADER_C_LIKE, GPL2_HEADER_SH_LIKE, GENERATED_HEADER_SH_LIKE
from qmk.community_modules import module_api_list, load_module_jsons, find_module_path
@@ -121,6 +121,69 @@ def _render_core_implementation(api, modules):
return lines
+def _generate_features_rules(features_dict):
+ lines = []
+ for feature, enabled in features_dict.items():
+ feature = feature.upper()
+ enabled = 'yes' if enabled else 'no'
+ lines.append(f'{feature}_ENABLE={enabled}')
+ return lines
+
+
+def _generate_modules_rules(keyboard, filename):
+ lines = []
+ modules = get_modules(keyboard, filename)
+ if len(modules) > 0:
+ lines.append('')
+ lines.append('OPT_DEFS += -DCOMMUNITY_MODULES_ENABLE=TRUE')
+ for module in modules:
+ module_path = qmk.path.unix_style_path(find_module_path(module))
+ if not module_path:
+ raise FileNotFoundError(f"Module '{module}' not found.")
+ lines.append('')
+ lines.append(f'COMMUNITY_MODULES += {module_path.name}') # use module_path here instead of module as it may be a subdirectory
+ lines.append(f'OPT_DEFS += -DCOMMUNITY_MODULE_{module_path.name.upper()}_ENABLE=TRUE')
+ lines.append(f'COMMUNITY_MODULE_PATHS += {module_path}')
+ lines.append(f'VPATH += {module_path}')
+ lines.append(f'SRC += $(wildcard {module_path}/{module_path.name}.c)')
+ lines.append(f'MODULE_NAME_{module_path.name.upper()} := {module_path.name}')
+ lines.append(f'MODULE_PATH_{module_path.name.upper()} := {module_path}')
+ lines.append(f'-include {module_path}/rules.mk')
+
+ module_jsons = load_module_jsons(modules)
+ for module_json in module_jsons:
+ if 'features' in module_json:
+ lines.append('')
+ lines.append(f'# Module: {module_json["module_name"]}')
+ lines.extend(_generate_features_rules(module_json['features']))
+ return lines
+
+
[email protected]('-o', '--output', arg_only=True, type=qmk.path.normpath, help='File to write to')
[email protected]('-q', '--quiet', arg_only=True, action='store_true', help="Quiet mode, only output error messages")
[email protected]('-e', '--escape', arg_only=True, action='store_true', help="Escape spaces in quiet mode")
[email protected]('-kb', '--keyboard', arg_only=True, type=keyboard_folder, completer=keyboard_completer, help='Keyboard to generate rules.mk for.')
[email protected]('filename', nargs='?', arg_only=True, type=qmk.path.FileType('r'), completer=FilesCompleter('.json'), help='A configurator export JSON to be compiled and flashed or a pre-compiled binary firmware file (bin/hex) to be flashed.')
[email protected]('Creates a community_modules_rules_mk from a keymap.json file.')
+def generate_community_modules_rules_mk(cli):
+
+ rules_mk_lines = [GPL2_HEADER_SH_LIKE, GENERATED_HEADER_SH_LIKE]
+
+ rules_mk_lines.extend(_generate_modules_rules(cli.args.keyboard, cli.args.filename))
+
+ # Show the results
+ dump_lines(cli.args.output, rules_mk_lines)
+
+ if cli.args.output:
+ if cli.args.quiet:
+ if cli.args.escape:
+ print(cli.args.output.as_posix().replace(' ', '\\ '))
+ else:
+ print(cli.args.output)
+ else:
+ cli.log.info('Wrote rules.mk to %s.', cli.args.output)
+
+
@cli.argument('-o', '--output', arg_only=True, type=qmk.path.normpath, help='File to write to')
@cli.argument('-q', '--quiet', arg_only=True, action='store_true', help="Quiet mode, only output error messages")
@cli.argument('-kb', '--keyboard', arg_only=True, type=keyboard_folder, completer=keyboard_completer, help='Keyboard to generate community_modules.h for.')
diff --git a/lib/python/qmk/cli/generate/keycodes_tests.py b/lib/python/qmk/cli/generate/keycodes_tests.py
deleted file mode 100644
index 453b4693a7..0000000000
--- a/lib/python/qmk/cli/generate/keycodes_tests.py
+++ /dev/null
@@ -1,39 +0,0 @@
-"""Used by the make system to generate a keycode lookup table from keycodes_{version}.json
-"""
-from milc import cli
-
-from qmk.constants import GPL2_HEADER_C_LIKE, GENERATED_HEADER_C_LIKE
-from qmk.commands import dump_lines
-from qmk.path import normpath
-from qmk.keycodes import load_spec
-
-
-def _generate_defines(lines, keycodes):
- lines.append('')
- lines.append('std::map<uint16_t, std::string> KEYCODE_ID_TABLE = {')
- for key, value in keycodes["keycodes"].items():
- lines.append(f' {{{value.get("key")}, "{value.get("key")}"}},')
- lines.append('};')
-
-
[email protected]('-v', '--version', arg_only=True, required=True, help='Version of keycodes to generate.')
[email protected]('-o', '--output', arg_only=True, type=normpath, help='File to write to')
[email protected]('-q', '--quiet', arg_only=True, action='store_true', help="Quiet mode, only output error messages")
[email protected]('Used by the make system to generate a keycode lookup table from keycodes_{version}.json', hidden=True)
-def generate_keycodes_tests(cli):
- """Generates a keycode to identifier lookup table for unit test output.
- """
-
- # Build the keycodes.h file.
- keycodes_h_lines = [GPL2_HEADER_C_LIKE, GENERATED_HEADER_C_LIKE, '// clang-format off']
- keycodes_h_lines.append('extern "C" {\n#include <keycode.h>\n}')
- keycodes_h_lines.append('#include <map>')
- keycodes_h_lines.append('#include <string>')
- keycodes_h_lines.append('#include <cstdint>')
-
- keycodes = load_spec(cli.args.version)
-
- _generate_defines(keycodes_h_lines, keycodes)
-
- # Show the results
- dump_lines(cli.args.output, keycodes_h_lines, cli.args.quiet)
diff --git a/lib/python/qmk/cli/generate/rules_mk.py b/lib/python/qmk/cli/generate/rules_mk.py
index ef4101d77f..358a22fd1d 100755
--- a/lib/python/qmk/cli/generate/rules_mk.py
+++ b/lib/python/qmk/cli/generate/rules_mk.py
@@ -6,13 +6,12 @@ from dotty_dict import dotty
from argcomplete.completers import FilesCompleter
from milc import cli
-from qmk.info import info_json, get_modules
+from qmk.info import info_json
from qmk.json_schema import json_load
from qmk.keyboard import keyboard_completer, keyboard_folder
from qmk.commands import dump_lines, parse_configurator_json
-from qmk.path import normpath, unix_style_path, FileType
+from qmk.path import normpath, FileType
from qmk.constants import GPL2_HEADER_SH_LIKE, GENERATED_HEADER_SH_LIKE
-from qmk.community_modules import find_module_path, load_module_jsons
def generate_rule(rules_key, rules_value):
@@ -56,33 +55,6 @@ def generate_features_rules(features_dict):
return lines
-def generate_modules_rules(keyboard, filename):
- lines = []
- modules = get_modules(keyboard, filename)
- if len(modules) > 0:
- lines.append('')
- lines.append('OPT_DEFS += -DCOMMUNITY_MODULES_ENABLE=TRUE')
- for module in modules:
- module_path = unix_style_path(find_module_path(module))
- if not module_path:
- raise FileNotFoundError(f"Module '{module}' not found.")
- lines.append('')
- lines.append(f'COMMUNITY_MODULES += {module_path.name}') # use module_path here instead of module as it may be a subdirectory
- lines.append(f'OPT_DEFS += -DCOMMUNITY_MODULE_{module_path.name.upper()}_ENABLE=TRUE')
- lines.append(f'COMMUNITY_MODULE_PATHS += {module_path}')
- lines.append(f'VPATH += {module_path}')
- lines.append(f'SRC += $(wildcard {module_path}/{module_path.name}.c)')
- lines.append(f'-include {module_path}/rules.mk')
-
- module_jsons = load_module_jsons(modules)
- for module_json in module_jsons:
- if 'features' in module_json:
- lines.append('')
- lines.append(f'# Module: {module_json["module_name"]}')
- lines.extend(generate_features_rules(module_json['features']))
- return lines
-
-
@cli.argument('filename', nargs='?', arg_only=True, type=FileType('r'), completer=FilesCompleter('.json'), help='A configurator export JSON to be compiled and flashed or a pre-compiled binary firmware file (bin/hex) to be flashed.')
@cli.argument('-o', '--output', arg_only=True, type=normpath, help='File to write to')
@cli.argument('-q', '--quiet', arg_only=True, action='store_true', help="Quiet mode, only output error messages")
@@ -133,8 +105,6 @@ def generate_rules_mk(cli):
if converter:
rules_mk_lines.append(generate_rule('CONVERT_TO', converter))
- rules_mk_lines.extend(generate_modules_rules(cli.args.keyboard, cli.args.filename))
-
# Show the results
dump_lines(cli.args.output, rules_mk_lines)
diff --git a/lib/python/qmk/cli/lint.py b/lib/python/qmk/cli/lint.py
index bcf905f579..e2c76e4465 100644
--- a/lib/python/qmk/cli/lint.py
+++ b/lib/python/qmk/cli/lint.py
@@ -26,7 +26,7 @@ def _list_defaultish_keymaps(kb):
defaultish.extend(INVALID_KM_NAMES)
keymaps = set()
- for x in list_keymaps(kb):
+ for x in list_keymaps(kb, include_userspace=False):
if x in defaultish or x.startswith('default'):
keymaps.add(x)
@@ -171,6 +171,14 @@ def _handle_invalid_features(kb, info):
return ok
+def _handle_invalid_config(kb, info):
+ """Check for invalid keyboard level config
+ """
+ if info.get('url') == "":
+ cli.log.warning(f'{kb}: Invalid keyboard level config detected - Optional field "url" should not be empty.')
+ return True
+
+
def _chibios_conf_includenext_check(target):
"""Check the ChibiOS conf.h for the correct inclusion of the next conf.h
"""
@@ -255,6 +263,9 @@ def keyboard_check(kb): # noqa C901
if not _handle_invalid_features(kb, kb_info):
ok = False
+ if not _handle_invalid_config(kb, kb_info):
+ ok = False
+
invalid_files = git_get_ignored_files(f'keyboards/{kb}/')
for file in invalid_files:
if 'keymap' in file:
diff --git a/lib/python/qmk/cli/new/keymap.py b/lib/python/qmk/cli/new/keymap.py
index 8b7160f5f2..16865ceb00 100755
--- a/lib/python/qmk/cli/new/keymap.py
+++ b/lib/python/qmk/cli/new/keymap.py
@@ -1,10 +1,12 @@
"""This script automates the copying of the default keymap into your own keymap.
"""
import re
+import json
import shutil
+from pathlib import Path
from milc import cli
-from milc.questions import question
+from milc.questions import question, choice
from qmk.constants import HAS_QMK_USERSPACE, QMK_USERSPACE
from qmk.path import is_keyboard, keymaps, keymap
@@ -12,6 +14,34 @@ from qmk.git import git_get_username
from qmk.decorators import automagic_keyboard, automagic_keymap
from qmk.keyboard import keyboard_completer, keyboard_folder
from qmk.userspace import UserspaceDefs
+from qmk.json_schema import json_load
+from qmk.json_encoders import KeymapJSONEncoder
+from qmk.info import info_json
+
+
+def _list_available_converters(kb_name):
+ """Search for converters that can be applied to a given keyboard
+ """
+ if not is_keyboard(kb_name):
+ return None
+
+ info = info_json(kb_name)
+ pin_compatible = info.get('pin_compatible')
+ if not pin_compatible:
+ return None
+
+ return sorted(folder.name.split('_to_')[-1] for folder in Path('platforms').glob(f'*/converters/{pin_compatible}_to_*'))
+
+
+def _set_converter(file, converter):
+ """add/overwrite any existing converter specified in keymap.json
+ """
+ json_data = json_load(file) if file.exists() else {}
+
+ json_data['converter'] = converter
+
+ output = json.dumps(json_data, cls=KeymapJSONEncoder, sort_keys=True)
+ file.write_text(output + '\n', encoding='utf-8')
def validate_keymap_name(name):
@@ -37,8 +67,28 @@ Keymap name? """
return question(prompt, default=git_get_username())
+def prompt_converter(kb_name):
+ prompt = """
+{fg_yellow}Configure Development Board{style_reset_all}
+For more information, see:
+https://docs.qmk.fm/feature_converters
+
+Use converter? """
+
+ converters = _list_available_converters(kb_name)
+ if not converters:
+ return None
+
+ choices = ['No (default)', *converters]
+
+ answer = choice(prompt, options=choices, default=0)
+ return None if choices.index(answer) == 0 else answer
+
+
@cli.argument('-kb', '--keyboard', type=keyboard_folder, completer=keyboard_completer, help='Specify keyboard name. Example: 1upkeyboards/1up60hse')
@cli.argument('-km', '--keymap', help='Specify the name for the new keymap directory')
[email protected]('--converter', help='Specify the name of a converter to configure')
[email protected]('--skip-converter', arg_only=True, action='store_true', help='Skip converter')
@cli.subcommand('Creates a new keymap for the keyboard of your choosing')
@automagic_keyboard
@automagic_keymap
@@ -51,6 +101,7 @@ def new_keymap(cli):
# ask for user input if keyboard or keymap was not provided in the command line
kb_name = cli.config.new_keymap.keyboard if cli.config.new_keymap.keyboard else prompt_keyboard()
user_name = cli.config.new_keymap.keymap if cli.config.new_keymap.keymap else prompt_user()
+ converter = cli.config.new_keymap.converter if cli.args.skip_converter or cli.config.new_keymap.converter else prompt_converter(kb_name)
# check directories
if not is_keyboard(kb_name):
@@ -77,6 +128,9 @@ def new_keymap(cli):
# create user directory with default keymap files
shutil.copytree(keymap_path_default, keymap_path_new, symlinks=True)
+ if converter:
+ _set_converter(keymap_path_new / 'keymap.json', converter)
+
# end message to user
cli.log.info(f'{{fg_green}}Created a new keymap called {{fg_cyan}}{user_name}{{fg_green}} in: {{fg_cyan}}{keymap_path_new}.{{fg_reset}}')
cli.log.info(f"Compile a firmware with your new keymap by typing: {{fg_yellow}}qmk compile -kb {kb_name} -km {user_name}{{fg_reset}}.")
diff --git a/lib/python/qmk/info.py b/lib/python/qmk/info.py
index 93eba7376a..d95fd3d799 100644
--- a/lib/python/qmk/info.py
+++ b/lib/python/qmk/info.py
@@ -1066,23 +1066,13 @@ def get_modules(keyboard, keymap_filename):
"""
modules = []
+ kb_info_json = info_json(keyboard)
+ modules.extend(kb_info_json.get('modules', []))
+
if keymap_filename:
keymap_json = parse_configurator_json(keymap_filename)
if keymap_json:
- kb = keymap_json.get('keyboard', None)
- if not kb:
- kb = keyboard
-
- if kb:
- kb_info_json = info_json(kb)
- if kb_info_json:
- modules.extend(kb_info_json.get('modules', []))
-
modules.extend(keymap_json.get('modules', []))
- elif keyboard:
- kb_info_json = info_json(keyboard)
- modules.extend(kb_info_json.get('modules', []))
-
return list(dict.fromkeys(modules)) # remove dupes
diff --git a/lib/python/qmk/json_encoders.py b/lib/python/qmk/json_encoders.py
index e83a381d52..e8bcf48996 100755
--- a/lib/python/qmk/json_encoders.py
+++ b/lib/python/qmk/json_encoders.py
@@ -250,12 +250,14 @@ class CommunityModuleJSONEncoder(QMKJSONEncoder):
return '00module_name'
if key == 'maintainer':
return '01maintainer'
+ if key == 'license':
+ return '02license'
if key == 'url':
- return '02url'
+ return '03url'
if key == 'features':
- return '03features'
+ return '04features'
if key == 'keycodes':
- return '04keycodes'
+ return '05keycodes'
elif self.indentation_level == 3: # keycodes
if key == 'key':
return '00key'
diff --git a/lib/python/qmk/keymap.py b/lib/python/qmk/keymap.py
index 8e36461722..b7138aa4a1 100644
--- a/lib/python/qmk/keymap.py
+++ b/lib/python/qmk/keymap.py
@@ -399,7 +399,7 @@ def is_keymap_target(keyboard, keymap):
return False
-def list_keymaps(keyboard, c=True, json=True, additional_files=None, fullpath=False):
+def list_keymaps(keyboard, c=True, json=True, additional_files=None, fullpath=False, include_userspace=True):
"""List the available keymaps for a keyboard.
Args:
@@ -418,14 +418,19 @@ def list_keymaps(keyboard, c=True, json=True, additional_files=None, fullpath=Fa
fullpath
When set to True the full path of the keymap relative to the `qmk_firmware` root will be provided.
+ include_userspace
+ When set to True, also search userspace for available keymaps
+
Returns:
a sorted list of valid keymap names.
"""
names = set()
+ has_userspace = HAS_QMK_USERSPACE and include_userspace
+
# walk up the directory tree until keyboards_dir
# and collect all directories' name with keymap.c file in it
- for search_dir in [QMK_FIRMWARE, QMK_USERSPACE] if HAS_QMK_USERSPACE else [QMK_FIRMWARE]:
+ for search_dir in [QMK_FIRMWARE, QMK_USERSPACE] if has_userspace else [QMK_FIRMWARE]:
keyboards_dir = search_dir / Path('keyboards')
kb_path = keyboards_dir / keyboard
@@ -443,7 +448,7 @@ def list_keymaps(keyboard, c=True, json=True, additional_files=None, fullpath=Fa
info = info_json(keyboard)
community_parents = list(Path('layouts').glob('*/'))
- if HAS_QMK_USERSPACE and (Path(QMK_USERSPACE) / "layouts").exists():
+ if has_userspace and (Path(QMK_USERSPACE) / "layouts").exists():
community_parents.append(Path(QMK_USERSPACE) / "layouts")
for community_parent in community_parents:
diff --git a/modules/qmk/hello_world/qmk_module.json b/modules/qmk/hello_world/qmk_module.json
index fd855a6e23..bbd00f3fcc 100644
--- a/modules/qmk/hello_world/qmk_module.json
+++ b/modules/qmk/hello_world/qmk_module.json
@@ -1,6 +1,7 @@
{
"module_name": "Hello World",
"maintainer": "QMK Maintainers",
+ "license": "GPL-2.0-or-later",
"features": {
"console": true,
"deferred_exec": true
diff --git a/modules/qmk/super_alt_tab/qmk_module.json b/modules/qmk/super_alt_tab/qmk_module.json
index 002f7fb69e..142613a23e 100644
--- a/modules/qmk/super_alt_tab/qmk_module.json
+++ b/modules/qmk/super_alt_tab/qmk_module.json
@@ -1,6 +1,7 @@
{
"module_name": "Super Alt Tab",
"maintainer": "QMK Maintainers",
+ "license": "GPL-2.0-or-later",
"keycodes": [
{
"key": "COMMUNITY_MODULE_SUPER_ALT_TAB",
diff --git a/platforms/avr/drivers/i2c_master.c b/platforms/avr/drivers/i2c_master.c
index 64083d862a..9136f4a7b9 100644
--- a/platforms/avr/drivers/i2c_master.c
+++ b/platforms/avr/drivers/i2c_master.c
@@ -315,4 +315,4 @@ __attribute__((weak)) i2c_status_t i2c_ping_address(uint8_t address, uint16_t ti
i2c_status_t status = i2c_start(address, timeout);
i2c_stop();
return status;
-} \ No newline at end of file
+}
diff --git a/platforms/chibios/boards/BONSAI_C4/configs/board.h b/platforms/chibios/boards/BONSAI_C4/configs/board.h
index 372b9bb8bc..81c80b2773 100644
--- a/platforms/chibios/boards/BONSAI_C4/configs/board.h
+++ b/platforms/chibios/boards/BONSAI_C4/configs/board.h
@@ -17,4 +17,4 @@
#include_next <board.h>
-#undef STM32_HSE_BYPASS \ No newline at end of file
+#undef STM32_HSE_BYPASS
diff --git a/platforms/chibios/boards/BONSAI_C4/configs/config.h b/platforms/chibios/boards/BONSAI_C4/configs/config.h
index e933cd6fd1..e0e95eda25 100644
--- a/platforms/chibios/boards/BONSAI_C4/configs/config.h
+++ b/platforms/chibios/boards/BONSAI_C4/configs/config.h
@@ -87,4 +87,4 @@
#ifndef USB_VBUS_PIN
# define USB_VBUS_PIN PAL_LINE(GPIOA, 9)
-#endif \ No newline at end of file
+#endif
diff --git a/platforms/chibios/boards/BONSAI_C4/configs/halconf.h b/platforms/chibios/boards/BONSAI_C4/configs/halconf.h
index 6bab6fbcff..55bafe5cfa 100644
--- a/platforms/chibios/boards/BONSAI_C4/configs/halconf.h
+++ b/platforms/chibios/boards/BONSAI_C4/configs/halconf.h
@@ -46,4 +46,4 @@
# define SPI_USE_WAIT TRUE
#endif
-#include_next <halconf.h> \ No newline at end of file
+#include_next <halconf.h>
diff --git a/platforms/chibios/boards/GENERIC_STM32_F405XG/board/board.mk b/platforms/chibios/boards/GENERIC_STM32_F405XG/board/board.mk
index 6c837bb8ee..00cc9b20b2 100644
--- a/platforms/chibios/boards/GENERIC_STM32_F405XG/board/board.mk
+++ b/platforms/chibios/boards/GENERIC_STM32_F405XG/board/board.mk
@@ -6,4 +6,4 @@ BOARDINC = $(CHIBIOS)/os/hal/boards/ST_STM32F4_DISCOVERY
# Shared variables
ALLCSRC += $(BOARDSRC)
-ALLINC += $(BOARDINC) \ No newline at end of file
+ALLINC += $(BOARDINC)
diff --git a/platforms/chibios/boards/GENERIC_STM32_F407XE/board/board.mk b/platforms/chibios/boards/GENERIC_STM32_F407XE/board/board.mk
index 6c837bb8ee..00cc9b20b2 100644
--- a/platforms/chibios/boards/GENERIC_STM32_F407XE/board/board.mk
+++ b/platforms/chibios/boards/GENERIC_STM32_F407XE/board/board.mk
@@ -6,4 +6,4 @@ BOARDINC = $(CHIBIOS)/os/hal/boards/ST_STM32F4_DISCOVERY
# Shared variables
ALLCSRC += $(BOARDSRC)
-ALLINC += $(BOARDINC) \ No newline at end of file
+ALLINC += $(BOARDINC)
diff --git a/platforms/chibios/boards/GENERIC_STM32_F407XE/configs/board.h b/platforms/chibios/boards/GENERIC_STM32_F407XE/configs/board.h
index a0d53d86e7..c2f25db810 100644
--- a/platforms/chibios/boards/GENERIC_STM32_F407XE/configs/board.h
+++ b/platforms/chibios/boards/GENERIC_STM32_F407XE/configs/board.h
@@ -21,4 +21,4 @@
#include_next <board.h>
-#undef STM32_HSE_BYPASS \ No newline at end of file
+#undef STM32_HSE_BYPASS
diff --git a/platforms/chibios/boards/GENERIC_STM32_G474XE/configs/config.h b/platforms/chibios/boards/GENERIC_STM32_G474XE/configs/config.h
index eb74d68e85..da0a634bb5 100644
--- a/platforms/chibios/boards/GENERIC_STM32_G474XE/configs/config.h
+++ b/platforms/chibios/boards/GENERIC_STM32_G474XE/configs/config.h
@@ -27,4 +27,4 @@
#if 0
#define STM32_BOOTLOADER_DUAL_BANK TRUE
#define STM32_BOOTLOADER_DUAL_BANK_GPIO B7
-#endif \ No newline at end of file
+#endif
diff --git a/platforms/chibios/boards/GENERIC_WB32_F3G71XX/configs/chconf.h b/platforms/chibios/boards/GENERIC_WB32_F3G71XX/configs/chconf.h
index e4afddb6a5..fa0b6f11d0 100644
--- a/platforms/chibios/boards/GENERIC_WB32_F3G71XX/configs/chconf.h
+++ b/platforms/chibios/boards/GENERIC_WB32_F3G71XX/configs/chconf.h
@@ -23,4 +23,4 @@
#define CH_CFG_ST_TIMEDELTA 0
-#include_next <chconf.h> \ No newline at end of file
+#include_next <chconf.h>
diff --git a/platforms/chibios/boards/GENERIC_WB32_FQ95XX/configs/chconf.h b/platforms/chibios/boards/GENERIC_WB32_FQ95XX/configs/chconf.h
index e4afddb6a5..fa0b6f11d0 100644
--- a/platforms/chibios/boards/GENERIC_WB32_FQ95XX/configs/chconf.h
+++ b/platforms/chibios/boards/GENERIC_WB32_FQ95XX/configs/chconf.h
@@ -23,4 +23,4 @@
#define CH_CFG_ST_TIMEDELTA 0
-#include_next <chconf.h> \ No newline at end of file
+#include_next <chconf.h>
diff --git a/platforms/chibios/boards/SIPEED_LONGAN_NANO/configs/chconf.h b/platforms/chibios/boards/SIPEED_LONGAN_NANO/configs/chconf.h
index 6e5adb0fe1..ca0348e4e0 100644
--- a/platforms/chibios/boards/SIPEED_LONGAN_NANO/configs/chconf.h
+++ b/platforms/chibios/boards/SIPEED_LONGAN_NANO/configs/chconf.h
@@ -20,4 +20,4 @@
struct _reent;
#endif
-#include_next <chconf.h> \ No newline at end of file
+#include_next <chconf.h>
diff --git a/platforms/chibios/bootloaders/stm32duino.c b/platforms/chibios/bootloaders/stm32duino.c
index e2db7fa16c..cc3f6be2df 100644
--- a/platforms/chibios/bootloaders/stm32duino.c
+++ b/platforms/chibios/bootloaders/stm32duino.c
@@ -25,4 +25,4 @@ __attribute__((weak)) void bootloader_jump(void) {
__attribute__((weak)) void mcu_reset(void) {
BKP->DR10 = RTC_BOOTLOADER_JUST_UPLOADED;
NVIC_SystemReset();
-} \ No newline at end of file
+}
diff --git a/platforms/chibios/converters/promicro_to_bonsai_c4/_pin_defs.h b/platforms/chibios/converters/promicro_to_bonsai_c4/_pin_defs.h
index 7e6b8ddaf2..deb0628ef8 100644
--- a/platforms/chibios/converters/promicro_to_bonsai_c4/_pin_defs.h
+++ b/platforms/chibios/converters/promicro_to_bonsai_c4/_pin_defs.h
@@ -37,4 +37,4 @@
// If this is undesirable, either B0 or B5 can be redefined by
// using #undef and #define to change its assignment
#define B0 PAL_LINE(GPIOB, 2)
-#define D5 PAL_LINE(GPIOB, 2) \ No newline at end of file
+#define D5 PAL_LINE(GPIOB, 2)
diff --git a/platforms/chibios/converters/promicro_to_bonsai_c4/post_converter.mk b/platforms/chibios/converters/promicro_to_bonsai_c4/post_converter.mk
index 5f49b17f8a..beefb9de23 100644
--- a/platforms/chibios/converters/promicro_to_bonsai_c4/post_converter.mk
+++ b/platforms/chibios/converters/promicro_to_bonsai_c4/post_converter.mk
@@ -2,4 +2,4 @@ BACKLIGHT_DRIVER ?= pwm
WS2812_DRIVER ?= pwm
SERIAL_DRIVER ?= usart
FLASH_DRIVER ?= spi
-EEPROM_DRIVER ?= spi \ No newline at end of file
+EEPROM_DRIVER ?= spi
diff --git a/platforms/chibios/drivers/i2c_master.c b/platforms/chibios/drivers/i2c_master.c
index 1d7fe27633..20850859b5 100644
--- a/platforms/chibios/drivers/i2c_master.c
+++ b/platforms/chibios/drivers/i2c_master.c
@@ -206,4 +206,4 @@ __attribute__((weak)) i2c_status_t i2c_ping_address(uint8_t address, uint16_t ti
// 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_read_register(address, 0, &data, sizeof(data), timeout);
-} \ No newline at end of file
+}
diff --git a/platforms/chibios/drivers/usbpd_stm32g4.c b/platforms/chibios/drivers/usbpd_stm32g4.c
index 21b8f6db95..7603b5627b 100644
--- a/platforms/chibios/drivers/usbpd_stm32g4.c
+++ b/platforms/chibios/drivers/usbpd_stm32g4.c
@@ -76,4 +76,4 @@ __attribute__((weak)) usbpd_allowance_t usbpd_get_allowance(void) {
}
return USBPD_500MA;
-} \ No newline at end of file
+}
diff --git a/platforms/chibios/errno.h b/platforms/chibios/errno.h
new file mode 100644
index 0000000000..a411ed9821
--- /dev/null
+++ b/platforms/chibios/errno.h
@@ -0,0 +1,13 @@
+// Copyright 2025 Nick Brassel (@tzarc)
+// SPDX-License-Identifier: GPL-2.0-or-later
+#pragma once
+#include_next <errno.h>
+
+// Newer versions of picolibc don't seem to provide `__errno_r(r)` in the header file, but is used by ChibiOS.
+#ifndef __errno_r
+# ifdef __REENT_ERRNO
+# define __errno_r(r) _REENT_ERRNO(r)
+# else
+# define __errno_r(r) (errno)
+# endif
+#endif
diff --git a/platforms/chibios/platform.c b/platforms/chibios/platform.c
index d4a229f278..e559f178cd 100644
--- a/platforms/chibios/platform.c
+++ b/platforms/chibios/platform.c
@@ -19,4 +19,4 @@
void platform_setup(void) {
halInit();
chSysInit();
-} \ No newline at end of file
+}
diff --git a/platforms/test/platform.c b/platforms/test/platform.c
index 8ddceeda8f..3e35b4fe4c 100644
--- a/platforms/test/platform.c
+++ b/platforms/test/platform.c
@@ -18,4 +18,4 @@
void platform_setup(void) {
// do nothing
-} \ No newline at end of file
+}
diff --git a/quantum/action.c b/quantum/action.c
index be85192d25..dd82c9ec99 100644
--- a/quantum/action.c
+++ b/quantum/action.c
@@ -281,6 +281,9 @@ void process_record(keyrecord_t *record) {
if (IS_NOEVENT(record->event)) {
return;
}
+#ifdef FLOW_TAP_TERM
+ flow_tap_update_last_event(record);
+#endif // FLOW_TAP_TERM
if (!process_record_quantum(record)) {
#ifndef NO_ACTION_ONESHOT
@@ -1183,6 +1186,23 @@ bool is_tap_action(action_t action) {
return false;
}
+uint16_t get_tap_keycode(uint16_t keycode) {
+ switch (keycode) {
+ case QK_MOD_TAP ... QK_MOD_TAP_MAX:
+ return QK_MOD_TAP_GET_TAP_KEYCODE(keycode);
+ case QK_LAYER_TAP ... QK_LAYER_TAP_MAX:
+ return QK_LAYER_TAP_GET_TAP_KEYCODE(keycode);
+ case QK_SWAP_HANDS ... QK_SWAP_HANDS_MAX:
+ // IS_SWAP_HANDS_KEYCODE() tests for the special action keycodes
+ // like SH_TOGG, SH_TT, ..., which overlap the SH_T(kc) range.
+ if (!IS_SWAP_HANDS_KEYCODE(keycode)) {
+ return QK_SWAP_HANDS_GET_TAP_KEYCODE(keycode);
+ }
+ break;
+ }
+ return keycode;
+}
+
/** \brief Debug print (FIXME: Needs better description)
*
* FIXME: Needs documentation.
diff --git a/quantum/action.h b/quantum/action.h
index 7596688f31..7616486c6d 100644
--- a/quantum/action.h
+++ b/quantum/action.h
@@ -128,6 +128,12 @@ void layer_switch(uint8_t new_layer);
bool is_tap_record(keyrecord_t *record);
bool is_tap_action(action_t action);
+/**
+ * Given an MT or LT keycode, returns the tap keycode. Otherwise returns the
+ * original keycode unchanged.
+ */
+uint16_t get_tap_keycode(uint16_t keycode);
+
#ifndef NO_ACTION_TAPPING
void process_record_tap_hint(keyrecord_t *record);
#endif
diff --git a/quantum/action_tapping.c b/quantum/action_tapping.c
index e42a98554d..3e391d1526 100644
--- a/quantum/action_tapping.c
+++ b/quantum/action_tapping.c
@@ -4,7 +4,9 @@
#include "action.h"
#include "action_layer.h"
#include "action_tapping.h"
+#include "action_util.h"
#include "keycode.h"
+#include "quantum_keycodes.h"
#include "timer.h"
#ifndef NO_ACTION_TAPPING
@@ -49,9 +51,7 @@ __attribute__((weak)) bool get_permissive_hold(uint16_t keycode, keyrecord_t *re
}
# endif
-# if defined(CHORDAL_HOLD)
-extern const char chordal_hold_layout[MATRIX_ROWS][MATRIX_COLS] PROGMEM;
-
+# if defined(CHORDAL_HOLD) || defined(FLOW_TAP_TERM)
# define REGISTERED_TAPS_SIZE 8
// Array of tap-hold keys that have been settled as tapped but not yet released.
static keypos_t registered_taps[REGISTERED_TAPS_SIZE] = {};
@@ -66,6 +66,14 @@ static void registered_taps_del_index(uint8_t i);
/** Logs the registered_taps array for debugging. */
static void debug_registered_taps(void);
+static bool is_mt_or_lt(uint16_t keycode) {
+ return IS_QK_MOD_TAP(keycode) || IS_QK_LAYER_TAP(keycode);
+}
+# endif // defined(CHORDAL_HOLD) || defined(FLOW_TAP_TERM)
+
+# if defined(CHORDAL_HOLD)
+extern const char chordal_hold_layout[MATRIX_ROWS][MATRIX_COLS] PROGMEM;
+
/** \brief Finds which queued events should be held according to Chordal Hold.
*
* In a situation with multiple unsettled tap-hold key presses, scan the queue
@@ -82,10 +90,6 @@ static void waiting_buffer_chordal_hold_taps_until(keypos_t key);
/** \brief Processes and pops buffered events until the first tap-hold event. */
static void waiting_buffer_process_regular(void);
-
-static bool is_mt_or_lt(uint16_t keycode) {
- return IS_QK_MOD_TAP(keycode) || IS_QK_LAYER_TAP(keycode);
-}
# endif // CHORDAL_HOLD
# ifdef HOLD_ON_OTHER_KEY_PRESS_PER_KEY
@@ -98,6 +102,13 @@ __attribute__((weak)) bool get_hold_on_other_key_press(uint16_t keycode, keyreco
# include "process_auto_shift.h"
# endif
+# if defined(FLOW_TAP_TERM)
+static uint32_t flow_tap_prev_time = 0;
+static uint16_t flow_tap_prev_keycode = KC_NO;
+
+static bool flow_tap_key_if_within_term(keyrecord_t *record);
+# endif // defined(FLOW_TAP_TERM)
+
static keyrecord_t tapping_key = {};
static keyrecord_t waiting_buffer[WAITING_BUFFER_SIZE] = {};
static uint8_t waiting_buffer_head = 0;
@@ -205,7 +216,7 @@ void action_tapping_process(keyrecord_t record) {
bool process_tapping(keyrecord_t *keyp) {
const keyevent_t event = keyp->event;
-# if defined(CHORDAL_HOLD)
+# if defined(CHORDAL_HOLD) || defined(FLOW_TAP_TERM)
if (!event.pressed) {
const int8_t i = registered_tap_find(event.key);
if (i != -1) {
@@ -217,7 +228,7 @@ bool process_tapping(keyrecord_t *keyp) {
debug_registered_taps();
}
}
-# endif // CHORDAL_HOLD
+# endif // defined(CHORDAL_HOLD) || defined(FLOW_TAP_TERM)
// state machine is in the "reset" state, no tapping key is to be
// processed
@@ -227,6 +238,13 @@ bool process_tapping(keyrecord_t *keyp) {
} else if (event.pressed && is_tap_record(keyp)) {
// the currently pressed key is a tapping key, therefore transition
// into the "pressed" tapping key state
+
+# if defined(FLOW_TAP_TERM)
+ if (flow_tap_key_if_within_term(keyp)) {
+ return true;
+ }
+# endif // defined(FLOW_TAP_TERM)
+
ac_dprintf("Tapping: Start(Press tap key).\n");
tapping_key = *keyp;
process_record_tap_hint(&tapping_key);
@@ -538,6 +556,13 @@ bool process_tapping(keyrecord_t *keyp) {
return true;
} else if (is_tap_record(keyp)) {
// Sequential tap can be interfered with other tap key.
+# if defined(FLOW_TAP_TERM)
+ if (flow_tap_key_if_within_term(keyp)) {
+ tapping_key = (keyrecord_t){0};
+ debug_tapping_key();
+ return true;
+ }
+# endif // defined(FLOW_TAP_TERM)
ac_dprintf("Tapping: Start with interfering other tap.\n");
tapping_key = *keyp;
waiting_buffer_scan_tap();
@@ -655,28 +680,7 @@ void waiting_buffer_scan_tap(void) {
}
}
-# ifdef CHORDAL_HOLD
-__attribute__((weak)) bool get_chordal_hold(uint16_t tap_hold_keycode, keyrecord_t *tap_hold_record, uint16_t other_keycode, keyrecord_t *other_record) {
- return get_chordal_hold_default(tap_hold_record, other_record);
-}
-
-bool get_chordal_hold_default(keyrecord_t *tap_hold_record, keyrecord_t *other_record) {
- if (tap_hold_record->event.type != KEY_EVENT || other_record->event.type != KEY_EVENT) {
- return true; // Return true on combos or other non-key events.
- }
-
- char tap_hold_hand = chordal_hold_handedness(tap_hold_record->event.key);
- if (tap_hold_hand == '*') {
- return true;
- }
- char other_hand = chordal_hold_handedness(other_record->event.key);
- return other_hand == '*' || tap_hold_hand != other_hand;
-}
-
-__attribute__((weak)) char chordal_hold_handedness(keypos_t key) {
- return (char)pgm_read_byte(&chordal_hold_layout[key.row][key.col]);
-}
-
+# if defined(CHORDAL_HOLD) || defined(FLOW_TAP_TERM)
static void registered_taps_add(keypos_t key) {
if (num_registered_taps >= REGISTERED_TAPS_SIZE) {
ac_dprintf("TAPS OVERFLOW: CLEAR ALL STATES\n");
@@ -714,6 +718,30 @@ static void debug_registered_taps(void) {
ac_dprintf("}\n");
}
+# endif // defined(CHORDAL_HOLD) || defined(FLOW_TAP_TERM)
+
+# ifdef CHORDAL_HOLD
+__attribute__((weak)) bool get_chordal_hold(uint16_t tap_hold_keycode, keyrecord_t *tap_hold_record, uint16_t other_keycode, keyrecord_t *other_record) {
+ return get_chordal_hold_default(tap_hold_record, other_record);
+}
+
+bool get_chordal_hold_default(keyrecord_t *tap_hold_record, keyrecord_t *other_record) {
+ if (tap_hold_record->event.type != KEY_EVENT || other_record->event.type != KEY_EVENT) {
+ return true; // Return true on combos or other non-key events.
+ }
+
+ char tap_hold_hand = chordal_hold_handedness(tap_hold_record->event.key);
+ if (tap_hold_hand == '*') {
+ return true;
+ }
+ char other_hand = chordal_hold_handedness(other_record->event.key);
+ return other_hand == '*' || tap_hold_hand != other_hand;
+}
+
+__attribute__((weak)) char chordal_hold_handedness(keypos_t key) {
+ return (char)pgm_read_byte(&chordal_hold_layout[key.row][key.col]);
+}
+
static uint8_t waiting_buffer_find_chordal_hold_tap(void) {
keyrecord_t *prev = &tapping_key;
uint16_t prev_keycode = get_record_keycode(&tapping_key, false);
@@ -761,6 +789,95 @@ static void waiting_buffer_process_regular(void) {
}
# endif // CHORDAL_HOLD
+# ifdef FLOW_TAP_TERM
+void flow_tap_update_last_event(keyrecord_t *record) {
+ // Don't update while a tap-hold key is unsettled.
+ if (waiting_buffer_tail != waiting_buffer_head || (tapping_key.event.pressed && tapping_key.tap.count == 0)) {
+ return;
+ }
+ const uint16_t keycode = get_record_keycode(record, false);
+ // Ignore releases of modifiers and held layer switches.
+ if (!record->event.pressed) {
+ switch (keycode) {
+ case MODIFIER_KEYCODE_RANGE:
+ case QK_MOMENTARY ... QK_MOMENTARY_MAX:
+ case QK_LAYER_TAP_TOGGLE ... QK_LAYER_TAP_TOGGLE_MAX:
+# ifndef NO_ACTION_ONESHOT // Ignore one-shot keys.
+ case QK_ONE_SHOT_MOD ... QK_ONE_SHOT_MOD_MAX:
+ case QK_ONE_SHOT_LAYER ... QK_ONE_SHOT_LAYER_MAX:
+# endif // NO_ACTION_ONESHOT
+# ifdef TRI_LAYER_ENABLE // Ignore Tri Layer keys.
+ case QK_TRI_LAYER_LOWER:
+ case QK_TRI_LAYER_UPPER:
+# endif // TRI_LAYER_ENABLE
+ return;
+ case QK_MODS ... QK_MODS_MAX:
+ if (QK_MODS_GET_BASIC_KEYCODE(keycode) == KC_NO) {
+ return;
+ }
+ break;
+ case QK_MOD_TAP ... QK_MOD_TAP_MAX:
+ case QK_LAYER_TAP ... QK_LAYER_TAP_MAX:
+ if (record->tap.count == 0) {
+ return;
+ }
+ break;
+ }
+ }
+
+ flow_tap_prev_keycode = keycode;
+ flow_tap_prev_time = timer_read32();
+}
+
+static bool flow_tap_key_if_within_term(keyrecord_t *record) {
+ const uint16_t keycode = get_record_keycode(record, false);
+ if (is_mt_or_lt(keycode)) {
+ const uint32_t idle_time = timer_elapsed32(flow_tap_prev_time);
+ uint16_t term = get_flow_tap_term(keycode, record, flow_tap_prev_keycode);
+ if (term > 500) {
+ term = 500;
+ }
+ if (idle_time < 500 && idle_time < term) {
+ debug_event(record->event);
+ ac_dprintf(" within flow tap term (%u < %u) considered a tap\n", (int16_t)idle_time, term);
+ record->tap.count = 1;
+ registered_taps_add(record->event.key);
+ debug_registered_taps();
+ process_record(record);
+ return true;
+ }
+ }
+ return false;
+}
+
+// By default, enable Flow Tap for the keys in the main alphas area and Space.
+// This should work reasonably even if the layout is remapped on the host to an
+// alt layout or international layout (e.g. Dvorak or AZERTY), where these same
+// key positions are mostly used for typing letters.
+__attribute__((weak)) bool is_flow_tap_key(uint16_t keycode) {
+ if ((get_mods() & (MOD_MASK_CG | MOD_BIT_LALT)) != 0) {
+ return false; // Disable Flow Tap on hotkeys.
+ }
+ switch (get_tap_keycode(keycode)) {
+ case KC_SPC:
+ case KC_A ... KC_Z:
+ case KC_DOT:
+ case KC_COMM:
+ case KC_SCLN:
+ case KC_SLSH:
+ return true;
+ }
+ return false;
+}
+
+__attribute__((weak)) uint16_t get_flow_tap_term(uint16_t keycode, keyrecord_t *record, uint16_t prev_keycode) {
+ if (is_flow_tap_key(keycode) && is_flow_tap_key(prev_keycode)) {
+ return FLOW_TAP_TERM;
+ }
+ return 0;
+}
+# endif // FLOW_TAP_TERM
+
/** \brief Logs tapping key if ACTION_DEBUG is enabled. */
static void debug_tapping_key(void) {
ac_dprintf("TAPPING_KEY=");
diff --git a/quantum/action_tapping.h b/quantum/action_tapping.h
index c3c7b999ec..0cf4aa1200 100644
--- a/quantum/action_tapping.h
+++ b/quantum/action_tapping.h
@@ -111,6 +111,66 @@ char chordal_hold_handedness(keypos_t key);
extern const char chordal_hold_layout[MATRIX_ROWS][MATRIX_COLS] PROGMEM;
#endif
+#ifdef FLOW_TAP_TERM
+/**
+ * Callback to specify the keys where Flow Tap is enabled.
+ *
+ * Flow Tap is constrained to certain keys by the following rule: this callback
+ * is called for both the tap-hold key *and* the key press immediately preceding
+ * it. If the callback returns true for both keycodes, Flow Tap is enabled.
+ *
+ * The default implementation of this callback corresponds to
+ *
+ * bool is_flow_tap_key(uint16_t keycode) {
+ * switch (get_tap_keycode(keycode)) {
+ * case KC_SPC:
+ * case KC_A ... KC_Z:
+ * case KC_DOT:
+ * case KC_COMM:
+ * case KC_SCLN:
+ * case KC_SLSH:
+ * return true;
+ * }
+ * return false;
+ * }
+ *
+ * @param keycode Keycode of the key.
+ * @return Whether to enable Flow Tap for this key.
+ */
+bool is_flow_tap_key(uint16_t keycode);
+
+/**
+ * Callback to customize Flow Tap filtering.
+ *
+ * Flow Tap acts only when key events are closer together than this time.
+ *
+ * Return a time of 0 to disable filtering. In this way, Flow Tap may be
+ * disabled for certain tap-hold keys, or when following certain previous keys.
+ *
+ * The default implementation of this callback is
+ *
+ * uint16_t get_flow_tap_term(uint16_t keycode, keyrecord_t* record,
+ * uint16_t prev_keycode) {
+ * if (is_flow_tap_key(keycode) && is_flow_tap_key(prev_keycode)) {
+ * return g_flow_tap_term;
+ * }
+ * return 0;
+ * }
+ *
+ * NOTE: If both `is_flow_tap_key()` and `get_flow_tap_term()` are defined, then
+ * `get_flow_tap_term()` takes precedence.
+ *
+ * @param keycode Keycode of the tap-hold key.
+ * @param record keyrecord_t of the tap-hold event.
+ * @param prev_keycode Keycode of the previously pressed key.
+ * @return Time in milliseconds.
+ */
+uint16_t get_flow_tap_term(uint16_t keycode, keyrecord_t *record, uint16_t prev_keycode);
+
+/** Updates the Flow Tap last key and timer. */
+void flow_tap_update_last_event(keyrecord_t *record);
+#endif // FLOW_TAP_TERM
+
#ifdef DYNAMIC_TAPPING_TERM_ENABLE
extern uint16_t g_tapping_term;
#endif
diff --git a/quantum/action_util.c b/quantum/action_util.c
index c0dc4f3822..9fe17f2124 100644
--- a/quantum/action_util.c
+++ b/quantum/action_util.c
@@ -220,7 +220,7 @@ bool is_oneshot_layer_active(void) {
void oneshot_set(bool active) {
if (keymap_config.oneshot_enable != active) {
keymap_config.oneshot_enable = active;
- eeconfig_update_keymap(keymap_config.raw);
+ eeconfig_update_keymap(&keymap_config);
clear_oneshot_layer_state(ONESHOT_OTHER_KEY_PRESSED);
dprintf("Oneshot: active: %d\n", active);
}
diff --git a/quantum/audio/audio.c b/quantum/audio/audio.c
index 2cc3c2d661..4e223f0c9a 100644
--- a/quantum/audio/audio.c
+++ b/quantum/audio/audio.c
@@ -149,14 +149,14 @@ void audio_driver_start(void) {
}
void eeconfig_update_audio_current(void) {
- eeconfig_update_audio(audio_config.raw);
+ eeconfig_update_audio(&audio_config);
}
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);
+ eeconfig_update_audio(&audio_config);
}
void audio_init(void) {
@@ -164,7 +164,7 @@ void audio_init(void) {
return;
}
- audio_config.raw = eeconfig_read_audio();
+ eeconfig_read_audio(&audio_config);
if (!audio_config.valid) {
dprintf("audio_init audio_config.valid = 0. Write default values to EEPROM.\n");
eeconfig_update_audio_default();
@@ -196,7 +196,7 @@ void audio_toggle(void) {
stop_all_notes();
}
audio_config.enable ^= 1;
- eeconfig_update_audio(audio_config.raw);
+ eeconfig_update_audio(&audio_config);
if (audio_config.enable) {
audio_on_user();
} else {
@@ -206,7 +206,7 @@ void audio_toggle(void) {
void audio_on(void) {
audio_config.enable = 1;
- eeconfig_update_audio(audio_config.raw);
+ eeconfig_update_audio(&audio_config);
audio_on_user();
PLAY_SONG(audio_on_song);
}
@@ -217,7 +217,7 @@ void audio_off(void) {
wait_ms(100);
audio_stop_all();
audio_config.enable = 0;
- eeconfig_update_audio(audio_config.raw);
+ eeconfig_update_audio(&audio_config);
}
bool audio_is_on(void) {
diff --git a/quantum/audio/audio.h b/quantum/audio/audio.h
index 054331d6f3..93dc6f62b1 100644
--- a/quantum/audio/audio.h
+++ b/quantum/audio/audio.h
@@ -28,7 +28,7 @@
# include "audio_dac.h"
#endif
-typedef union {
+typedef union audio_config_t {
uint8_t raw;
struct {
bool enable : 1;
diff --git a/quantum/backlight/backlight.c b/quantum/backlight/backlight.c
index eb64dd71e8..a7d2a45a51 100644
--- a/quantum/backlight/backlight.c
+++ b/quantum/backlight/backlight.c
@@ -16,7 +16,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#include "backlight.h"
-#include "eeprom.h"
#include "eeconfig.h"
#include "debug.h"
@@ -55,7 +54,7 @@ static void backlight_check_config(void) {
* FIXME: needs doc
*/
void backlight_init(void) {
- backlight_config.raw = eeconfig_read_backlight();
+ eeconfig_read_backlight(&backlight_config);
if (!backlight_config.valid) {
dprintf("backlight_init backlight_config.valid = 0. Write default values to EEPROM.\n");
eeconfig_update_backlight_default();
@@ -74,7 +73,7 @@ void backlight_increase(void) {
backlight_config.level++;
}
backlight_config.enable = 1;
- eeconfig_update_backlight(backlight_config.raw);
+ eeconfig_update_backlight(&backlight_config);
dprintf("backlight increase: %u\n", backlight_config.level);
backlight_set(backlight_config.level);
}
@@ -87,7 +86,7 @@ void backlight_decrease(void) {
if (backlight_config.level > 0) {
backlight_config.level--;
backlight_config.enable = !!backlight_config.level;
- eeconfig_update_backlight(backlight_config.raw);
+ eeconfig_update_backlight(&backlight_config);
}
dprintf("backlight decrease: %u\n", backlight_config.level);
backlight_set(backlight_config.level);
@@ -116,7 +115,7 @@ void backlight_enable(void) {
backlight_config.enable = true;
if (backlight_config.raw == 1) // enabled but level == 0
backlight_config.level = 1;
- eeconfig_update_backlight(backlight_config.raw);
+ eeconfig_update_backlight(&backlight_config);
dprintf("backlight enable\n");
backlight_set(backlight_config.level);
}
@@ -129,7 +128,7 @@ void backlight_disable(void) {
if (!backlight_config.enable) return; // do nothing if backlight is already off
backlight_config.enable = false;
- eeconfig_update_backlight(backlight_config.raw);
+ eeconfig_update_backlight(&backlight_config);
dprintf("backlight disable\n");
backlight_set(0);
}
@@ -152,7 +151,7 @@ void backlight_step(void) {
backlight_config.level = 0;
}
backlight_config.enable = !!backlight_config.level;
- eeconfig_update_backlight(backlight_config.raw);
+ eeconfig_update_backlight(&backlight_config);
dprintf("backlight step: %u\n", backlight_config.level);
backlight_set(backlight_config.level);
}
@@ -173,19 +172,11 @@ void backlight_level_noeeprom(uint8_t level) {
*/
void backlight_level(uint8_t level) {
backlight_level_noeeprom(level);
- eeconfig_update_backlight(backlight_config.raw);
-}
-
-uint8_t eeconfig_read_backlight(void) {
- return eeprom_read_byte(EECONFIG_BACKLIGHT);
-}
-
-void eeconfig_update_backlight(uint8_t val) {
- eeprom_update_byte(EECONFIG_BACKLIGHT, val);
+ eeconfig_update_backlight(&backlight_config);
}
void eeconfig_update_backlight_current(void) {
- eeconfig_update_backlight(backlight_config.raw);
+ eeconfig_update_backlight(&backlight_config);
}
void eeconfig_update_backlight_default(void) {
@@ -193,7 +184,7 @@ void eeconfig_update_backlight_default(void) {
backlight_config.enable = BACKLIGHT_DEFAULT_ON;
backlight_config.breathing = BACKLIGHT_DEFAULT_BREATHING;
backlight_config.level = BACKLIGHT_DEFAULT_LEVEL;
- eeconfig_update_backlight(backlight_config.raw);
+ eeconfig_update_backlight(&backlight_config);
}
/** \brief Get backlight level
@@ -226,7 +217,7 @@ void backlight_enable_breathing(void) {
if (backlight_config.breathing) return; // do nothing if breathing is already on
backlight_config.breathing = true;
- eeconfig_update_backlight(backlight_config.raw);
+ eeconfig_update_backlight(&backlight_config);
dprintf("backlight breathing enable\n");
breathing_enable();
}
@@ -239,7 +230,7 @@ void backlight_disable_breathing(void) {
if (!backlight_config.breathing) return; // do nothing if breathing is already off
backlight_config.breathing = false;
- eeconfig_update_backlight(backlight_config.raw);
+ eeconfig_update_backlight(&backlight_config);
dprintf("backlight breathing disable\n");
breathing_disable();
}
diff --git a/quantum/backlight/backlight.h b/quantum/backlight/backlight.h
index c34fb5858d..561c7f8a94 100644
--- a/quantum/backlight/backlight.h
+++ b/quantum/backlight/backlight.h
@@ -34,7 +34,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
# define BREATHING_PERIOD 6
#endif
-typedef union {
+typedef union backlight_config_t {
uint8_t raw;
struct {
bool enable : 1;
@@ -58,10 +58,8 @@ void backlight_level_noeeprom(uint8_t level);
void backlight_level(uint8_t level);
uint8_t get_backlight_level(void);
-uint8_t eeconfig_read_backlight(void);
-void eeconfig_update_backlight(uint8_t val);
-void eeconfig_update_backlight_current(void);
-void eeconfig_update_backlight_default(void);
+void eeconfig_update_backlight_current(void);
+void eeconfig_update_backlight_default(void);
// implementation specific
void backlight_init_ports(void);
diff --git a/quantum/command.c b/quantum/command.c
index 024d96917d..96b637f842 100644
--- a/quantum/command.c
+++ b/quantum/command.c
@@ -246,7 +246,7 @@ static void print_eeconfig(void) {
xprintf("eeconfig:\ndefault_layer: %u\n", eeconfig_read_default_layer());
debug_config_t dc;
- dc.raw = eeconfig_read_debug();
+ eeconfig_read_debug(&dc);
xprintf(/* clang-format off */
"debug_config.raw: %02X\n"
@@ -263,7 +263,7 @@ static void print_eeconfig(void) {
); /* clang-format on */
keymap_config_t kc;
- kc.raw = eeconfig_read_keymap();
+ eeconfig_read_keymap(&kc);
xprintf(/* clang-format off */
"keymap_config.raw: %02X\n"
@@ -296,7 +296,7 @@ static void print_eeconfig(void) {
# ifdef BACKLIGHT_ENABLE
backlight_config_t bc;
- bc.raw = eeconfig_read_backlight();
+ eeconfig_read_backlight(&bc);
xprintf(/* clang-format off */
"backlight_config"
diff --git a/quantum/connection/connection.c b/quantum/connection/connection.c
new file mode 100644
index 0000000000..c7f3c4b424
--- /dev/null
+++ b/quantum/connection/connection.c
@@ -0,0 +1,147 @@
+// Copyright 2025 QMK
+// SPDX-License-Identifier: GPL-2.0-or-later
+#include "connection.h"
+#include "eeconfig.h"
+#include "usb_util.h"
+#include "util.h"
+
+// ======== DEPRECATED DEFINES - DO NOT USE ========
+#ifdef OUTPUT_DEFAULT
+# undef CONNECTION_HOST_DEFAULT
+# define CONNECTION_HOST_DEFAULT OUTPUT_DEFAULT
+#endif
+
+__attribute__((weak)) void set_output_user(uint8_t output) {}
+// ========
+
+#ifdef BLUETOOTH_ENABLE
+# ifdef BLUETOOTH_BLUEFRUIT_LE
+# include "bluefruit_le.h"
+# define bluetooth_is_connected() bluefruit_le_is_connected()
+# else
+// TODO: drivers should check if BT is connected here
+# define bluetooth_is_connected() true
+# endif
+#endif
+
+#define CONNECTION_HOST_INVALID 0xFF
+
+#ifndef CONNECTION_HOST_DEFAULT
+# define CONNECTION_HOST_DEFAULT CONNECTION_HOST_AUTO
+#endif
+
+static const connection_host_t host_candidates[] = {
+ CONNECTION_HOST_AUTO,
+ CONNECTION_HOST_USB,
+#ifdef BLUETOOTH_ENABLE
+ CONNECTION_HOST_BLUETOOTH,
+#endif
+#if 0
+ CONNECTION_HOST_2P4GHZ,
+#endif
+};
+
+#define HOST_CANDIDATES_COUNT ARRAY_SIZE(host_candidates)
+
+static connection_config_t config = {.desired_host = CONNECTION_HOST_INVALID};
+
+void eeconfig_update_connection_default(void) {
+ config.desired_host = CONNECTION_HOST_DEFAULT;
+
+ eeconfig_update_connection(&config);
+}
+
+void connection_init(void) {
+ eeconfig_read_connection(&config);
+ if (config.desired_host == CONNECTION_HOST_INVALID) {
+ eeconfig_update_connection_default();
+ }
+}
+
+__attribute__((weak)) void connection_host_changed_user(connection_host_t host) {}
+__attribute__((weak)) void connection_host_changed_kb(connection_host_t host) {}
+
+static void handle_host_changed(void) {
+ connection_host_changed_user(config.desired_host);
+ connection_host_changed_kb(config.desired_host);
+
+ // TODO: Remove deprecated callback
+ set_output_user(config.desired_host);
+}
+
+void connection_set_host_noeeprom(connection_host_t host) {
+ if (config.desired_host == host) {
+ return;
+ }
+
+ config.desired_host = host;
+
+ handle_host_changed();
+}
+
+void connection_set_host(connection_host_t host) {
+ connection_set_host_noeeprom(host);
+
+ eeconfig_update_connection(&config);
+}
+
+void connection_next_host_noeeprom(void) {
+ uint8_t next = 0;
+ for (uint8_t i = 0; i < HOST_CANDIDATES_COUNT; i++) {
+ if (host_candidates[i] == config.desired_host) {
+ next = i == HOST_CANDIDATES_COUNT - 1 ? 0 : i + 1;
+ break;
+ }
+ }
+
+ connection_set_host_noeeprom(host_candidates[next]);
+}
+
+void connection_next_host(void) {
+ connection_next_host_noeeprom();
+
+ eeconfig_update_connection(&config);
+}
+
+void connection_prev_host_noeeprom(void) {
+ uint8_t next = 0;
+ for (uint8_t i = 0; i < HOST_CANDIDATES_COUNT; i++) {
+ if (host_candidates[i] == config.desired_host) {
+ next = i == 0 ? HOST_CANDIDATES_COUNT - 1 : i - 1;
+ break;
+ }
+ }
+
+ connection_set_host_noeeprom(host_candidates[next]);
+}
+
+void connection_prev_host(void) {
+ connection_prev_host_noeeprom();
+
+ eeconfig_update_connection(&config);
+}
+
+connection_host_t connection_get_host_raw(void) {
+ return config.desired_host;
+}
+
+connection_host_t connection_auto_detect_host(void) {
+ if (usb_connected_state()) {
+ return CONNECTION_HOST_USB;
+ }
+
+#ifdef BLUETOOTH_ENABLE
+ if (bluetooth_is_connected()) {
+ return CONNECTION_HOST_BLUETOOTH;
+ }
+#endif
+
+ return CONNECTION_HOST_NONE;
+}
+
+connection_host_t connection_get_host(void) {
+ if (config.desired_host == CONNECTION_HOST_AUTO) {
+ return connection_auto_detect_host();
+ }
+ return config.desired_host;
+}
diff --git a/quantum/connection/connection.h b/quantum/connection/connection.h
new file mode 100644
index 0000000000..e403141fae
--- /dev/null
+++ b/quantum/connection/connection.h
@@ -0,0 +1,110 @@
+// Copyright 2025 QMK
+// SPDX-License-Identifier: GPL-2.0-or-later
+#pragma once
+
+#include <stdint.h>
+#include "util.h"
+
+/**
+ * \enum connection_host_t
+ *
+ * An enumeration of the possible hosts.
+ */
+typedef enum connection_host_t {
+ CONNECTION_HOST_AUTO,
+
+ CONNECTION_HOST_NONE,
+ CONNECTION_HOST_USB,
+ CONNECTION_HOST_BLUETOOTH,
+ CONNECTION_HOST_2P4GHZ
+} connection_host_t;
+
+/**
+ * \union connection_config_t
+ *
+ * Configuration structure for the connection subsystem.
+ */
+typedef union connection_config_t {
+ uint8_t raw;
+ connection_host_t desired_host : 8;
+} PACKED connection_config_t;
+
+_Static_assert(sizeof(connection_config_t) == sizeof(uint8_t), "Connection EECONFIG out of spec.");
+
+/**
+ * \brief Initialize the subsystem.
+ *
+ * This function must be called only once, before any of the below functions can be called.
+ */
+void connection_init(void);
+
+/**
+ * \brief Get currently configured host. Does not resolve 'CONNECTION_HOST_AUTO'.
+ *
+ * \return 'connection_host_t' of the configured host.
+ */
+connection_host_t connection_get_host_raw(void);
+
+/**
+ * \brief Get current active host.
+ *
+ * \return 'connection_host_t' of the configured host.
+ */
+connection_host_t connection_auto_detect_host(void);
+
+/**
+ * \brief Get currently configured host. Resolves 'CONNECTION_HOST_AUTO' using 'connection_auto_detect_host()'.
+ *
+ * \return 'connection_host_t' of the configured host.
+ */
+connection_host_t connection_get_host(void);
+
+/**
+ * \brief Get current host. New state is not written to EEPROM.
+ *
+ * \param host The host to configure.
+ */
+void connection_set_host_noeeprom(connection_host_t host);
+
+/**
+ * \brief Get current host.
+ *
+ * \param host The host to configure.
+ */
+void connection_set_host(connection_host_t host);
+
+/**
+ * \brief Move to the next potential host. New state is not written to EEPROM.
+ *
+ */
+void connection_next_host_noeeprom(void);
+
+/**
+ * \brief Move to the next potential host.
+ *
+ */
+void connection_next_host(void);
+
+/**
+ * \brief Move to the previous potential host. New state is not written to EEPROM.
+ *
+ */
+void connection_prev_host_noeeprom(void);
+
+/**
+ * \brief Move to the previous potential host.
+ *
+ */
+void connection_prev_host(void);
+
+/**
+ * \brief user hook called when changing configured host
+ *
+ */
+void connection_host_changed_user(connection_host_t host);
+
+/**
+ * \brief keyboard hook called when changing configured host
+ *
+ */
+void connection_host_changed_kb(connection_host_t host);
diff --git a/quantum/dynamic_keymap.c b/quantum/dynamic_keymap.c
index beb7f9d18f..59027fb694 100644
--- a/quantum/dynamic_keymap.c
+++ b/quantum/dynamic_keymap.c
@@ -1,4 +1,5 @@
/* Copyright 2017 Jason Williams (Wilba)
+ * Copyright 2024-2025 Nick Brassel (@tzarc)
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -17,18 +18,9 @@
#include "dynamic_keymap.h"
#include "keymap_introspection.h"
#include "action.h"
-#include "eeprom.h"
-#include "progmem.h"
#include "send_string.h"
#include "keycodes.h"
-
-#ifdef VIA_ENABLE
-# include "via.h"
-# define DYNAMIC_KEYMAP_EEPROM_START (VIA_EEPROM_CONFIG_END)
-#else
-# include "eeconfig.h"
-# define DYNAMIC_KEYMAP_EEPROM_START (EECONFIG_SIZE)
-#endif
+#include "nvm_dynamic_keymap.h"
#ifdef ENCODER_ENABLE
# include "encoder.h"
@@ -36,67 +28,6 @@
# define NUM_ENCODERS 0
#endif
-#ifndef DYNAMIC_KEYMAP_LAYER_COUNT
-# define DYNAMIC_KEYMAP_LAYER_COUNT 4
-#endif
-
-#ifndef DYNAMIC_KEYMAP_MACRO_COUNT
-# define DYNAMIC_KEYMAP_MACRO_COUNT 16
-#endif
-
-#ifndef TOTAL_EEPROM_BYTE_COUNT
-# error Unknown total EEPROM size. Cannot derive maximum for dynamic keymaps.
-#endif
-
-#ifndef DYNAMIC_KEYMAP_EEPROM_MAX_ADDR
-# define DYNAMIC_KEYMAP_EEPROM_MAX_ADDR (TOTAL_EEPROM_BYTE_COUNT - 1)
-#endif
-
-#if DYNAMIC_KEYMAP_EEPROM_MAX_ADDR > (TOTAL_EEPROM_BYTE_COUNT - 1)
-# pragma message STR(DYNAMIC_KEYMAP_EEPROM_MAX_ADDR) " > " STR((TOTAL_EEPROM_BYTE_COUNT - 1))
-# error DYNAMIC_KEYMAP_EEPROM_MAX_ADDR is configured to use more space than what is available for the selected EEPROM driver
-#endif
-
-// Due to usage of uint16_t check for max 65535
-#if DYNAMIC_KEYMAP_EEPROM_MAX_ADDR > 65535
-# pragma message STR(DYNAMIC_KEYMAP_EEPROM_MAX_ADDR) " > 65535"
-# error DYNAMIC_KEYMAP_EEPROM_MAX_ADDR must be less than 65536
-#endif
-
-// If DYNAMIC_KEYMAP_EEPROM_ADDR not explicitly defined in config.h,
-#ifndef DYNAMIC_KEYMAP_EEPROM_ADDR
-# define DYNAMIC_KEYMAP_EEPROM_ADDR DYNAMIC_KEYMAP_EEPROM_START
-#endif
-
-// Dynamic encoders starts after dynamic keymaps
-#ifndef DYNAMIC_KEYMAP_ENCODER_EEPROM_ADDR
-# define DYNAMIC_KEYMAP_ENCODER_EEPROM_ADDR (DYNAMIC_KEYMAP_EEPROM_ADDR + (DYNAMIC_KEYMAP_LAYER_COUNT * MATRIX_ROWS * MATRIX_COLS * 2))
-#endif
-
-// Dynamic macro starts after dynamic encoders, but only when using ENCODER_MAP
-#ifdef ENCODER_MAP_ENABLE
-# ifndef DYNAMIC_KEYMAP_MACRO_EEPROM_ADDR
-# define DYNAMIC_KEYMAP_MACRO_EEPROM_ADDR (DYNAMIC_KEYMAP_ENCODER_EEPROM_ADDR + (DYNAMIC_KEYMAP_LAYER_COUNT * NUM_ENCODERS * 2 * 2))
-# endif // DYNAMIC_KEYMAP_MACRO_EEPROM_ADDR
-#else // ENCODER_MAP_ENABLE
-# ifndef DYNAMIC_KEYMAP_MACRO_EEPROM_ADDR
-# define DYNAMIC_KEYMAP_MACRO_EEPROM_ADDR (DYNAMIC_KEYMAP_ENCODER_EEPROM_ADDR)
-# endif // DYNAMIC_KEYMAP_MACRO_EEPROM_ADDR
-#endif // ENCODER_MAP_ENABLE
-
-// Sanity check that dynamic keymaps fit in available EEPROM
-// If there's not 100 bytes available for macros, then something is wrong.
-// The keyboard should override DYNAMIC_KEYMAP_LAYER_COUNT to reduce it,
-// or DYNAMIC_KEYMAP_EEPROM_MAX_ADDR to increase it, *only if* the microcontroller has
-// more than the default.
-_Static_assert((DYNAMIC_KEYMAP_EEPROM_MAX_ADDR) - (DYNAMIC_KEYMAP_MACRO_EEPROM_ADDR) >= 100, "Dynamic keymaps are configured to use more EEPROM than is available.");
-
-// Dynamic macros are stored after the keymaps and use what is available
-// up to and including DYNAMIC_KEYMAP_EEPROM_MAX_ADDR.
-#ifndef DYNAMIC_KEYMAP_MACRO_EEPROM_SIZE
-# define DYNAMIC_KEYMAP_MACRO_EEPROM_SIZE (DYNAMIC_KEYMAP_EEPROM_MAX_ADDR - DYNAMIC_KEYMAP_MACRO_EEPROM_ADDR + 1)
-#endif
-
#ifndef DYNAMIC_KEYMAP_MACRO_DELAY
# define DYNAMIC_KEYMAP_MACRO_DELAY TAP_CODE_DELAY
#endif
@@ -105,52 +36,28 @@ uint8_t dynamic_keymap_get_layer_count(void) {
return DYNAMIC_KEYMAP_LAYER_COUNT;
}
-void *dynamic_keymap_key_to_eeprom_address(uint8_t layer, uint8_t row, uint8_t column) {
- // TODO: optimize this with some left shifts
- return ((void *)DYNAMIC_KEYMAP_EEPROM_ADDR) + (layer * MATRIX_ROWS * MATRIX_COLS * 2) + (row * MATRIX_COLS * 2) + (column * 2);
-}
-
uint16_t dynamic_keymap_get_keycode(uint8_t layer, uint8_t row, uint8_t column) {
- if (layer >= DYNAMIC_KEYMAP_LAYER_COUNT || row >= MATRIX_ROWS || column >= MATRIX_COLS) return KC_NO;
- void *address = dynamic_keymap_key_to_eeprom_address(layer, row, column);
- // Big endian, so we can read/write EEPROM directly from host if we want
- uint16_t keycode = eeprom_read_byte(address) << 8;
- keycode |= eeprom_read_byte(address + 1);
- return keycode;
+ return nvm_dynamic_keymap_read_keycode(layer, row, column);
}
void dynamic_keymap_set_keycode(uint8_t layer, uint8_t row, uint8_t column, uint16_t keycode) {
- if (layer >= DYNAMIC_KEYMAP_LAYER_COUNT || row >= MATRIX_ROWS || column >= MATRIX_COLS) return;
- void *address = dynamic_keymap_key_to_eeprom_address(layer, row, column);
- // Big endian, so we can read/write EEPROM directly from host if we want
- eeprom_update_byte(address, (uint8_t)(keycode >> 8));
- eeprom_update_byte(address + 1, (uint8_t)(keycode & 0xFF));
+ nvm_dynamic_keymap_update_keycode(layer, row, column, keycode);
}
#ifdef ENCODER_MAP_ENABLE
-void *dynamic_keymap_encoder_to_eeprom_address(uint8_t layer, uint8_t encoder_id) {
- return ((void *)DYNAMIC_KEYMAP_ENCODER_EEPROM_ADDR) + (layer * NUM_ENCODERS * 2 * 2) + (encoder_id * 2 * 2);
-}
-
uint16_t dynamic_keymap_get_encoder(uint8_t layer, uint8_t encoder_id, bool clockwise) {
- if (layer >= DYNAMIC_KEYMAP_LAYER_COUNT || encoder_id >= NUM_ENCODERS) return KC_NO;
- void *address = dynamic_keymap_encoder_to_eeprom_address(layer, encoder_id);
- // Big endian, so we can read/write EEPROM directly from host if we want
- uint16_t keycode = ((uint16_t)eeprom_read_byte(address + (clockwise ? 0 : 2))) << 8;
- keycode |= eeprom_read_byte(address + (clockwise ? 0 : 2) + 1);
- return keycode;
+ return nvm_dynamic_keymap_read_encoder(layer, encoder_id, clockwise);
}
void dynamic_keymap_set_encoder(uint8_t layer, uint8_t encoder_id, bool clockwise, uint16_t keycode) {
- if (layer >= DYNAMIC_KEYMAP_LAYER_COUNT || encoder_id >= NUM_ENCODERS) return;
- void *address = dynamic_keymap_encoder_to_eeprom_address(layer, encoder_id);
- // Big endian, so we can read/write EEPROM directly from host if we want
- eeprom_update_byte(address + (clockwise ? 0 : 2), (uint8_t)(keycode >> 8));
- eeprom_update_byte(address + (clockwise ? 0 : 2) + 1, (uint8_t)(keycode & 0xFF));
+ nvm_dynamic_keymap_update_encoder(layer, encoder_id, clockwise, keycode);
}
#endif // ENCODER_MAP_ENABLE
void dynamic_keymap_reset(void) {
+ // Erase the keymaps, if necessary.
+ nvm_dynamic_keymap_erase();
+
// Reset the keymaps in EEPROM to what is in flash.
for (int layer = 0; layer < DYNAMIC_KEYMAP_LAYER_COUNT; layer++) {
for (int row = 0; row < MATRIX_ROWS; row++) {
@@ -168,31 +75,11 @@ void dynamic_keymap_reset(void) {
}
void dynamic_keymap_get_buffer(uint16_t offset, uint16_t size, uint8_t *data) {
- uint16_t dynamic_keymap_eeprom_size = DYNAMIC_KEYMAP_LAYER_COUNT * MATRIX_ROWS * MATRIX_COLS * 2;
- void * source = (void *)(DYNAMIC_KEYMAP_EEPROM_ADDR + offset);
- uint8_t *target = data;
- for (uint16_t i = 0; i < size; i++) {
- if (offset + i < dynamic_keymap_eeprom_size) {
- *target = eeprom_read_byte(source);
- } else {
- *target = 0x00;
- }
- source++;
- target++;
- }
+ nvm_dynamic_keymap_read_buffer(offset, size, data);
}
void dynamic_keymap_set_buffer(uint16_t offset, uint16_t size, uint8_t *data) {
- uint16_t dynamic_keymap_eeprom_size = DYNAMIC_KEYMAP_LAYER_COUNT * MATRIX_ROWS * MATRIX_COLS * 2;
- void * target = (void *)(DYNAMIC_KEYMAP_EEPROM_ADDR + offset);
- uint8_t *source = data;
- for (uint16_t i = 0; i < size; i++) {
- if (offset + i < dynamic_keymap_eeprom_size) {
- eeprom_update_byte(target, *source);
- }
- source++;
- target++;
- }
+ nvm_dynamic_keymap_update_buffer(offset, size, data);
}
uint16_t keycode_at_keymap_location(uint8_t layer_num, uint8_t row, uint8_t column) {
@@ -216,53 +103,38 @@ uint8_t dynamic_keymap_macro_get_count(void) {
}
uint16_t dynamic_keymap_macro_get_buffer_size(void) {
- return DYNAMIC_KEYMAP_MACRO_EEPROM_SIZE;
+ return (uint16_t)nvm_dynamic_keymap_macro_size();
}
void dynamic_keymap_macro_get_buffer(uint16_t offset, uint16_t size, uint8_t *data) {
- void * source = (void *)(DYNAMIC_KEYMAP_MACRO_EEPROM_ADDR + offset);
- uint8_t *target = data;
- for (uint16_t i = 0; i < size; i++) {
- if (offset + i < DYNAMIC_KEYMAP_MACRO_EEPROM_SIZE) {
- *target = eeprom_read_byte(source);
- } else {
- *target = 0x00;
- }
- source++;
- target++;
- }
+ nvm_dynamic_keymap_macro_read_buffer(offset, size, data);
}
void dynamic_keymap_macro_set_buffer(uint16_t offset, uint16_t size, uint8_t *data) {
- void * target = (void *)(DYNAMIC_KEYMAP_MACRO_EEPROM_ADDR + offset);
- uint8_t *source = data;
- for (uint16_t i = 0; i < size; i++) {
- if (offset + i < DYNAMIC_KEYMAP_MACRO_EEPROM_SIZE) {
- eeprom_update_byte(target, *source);
- }
- source++;
- target++;
- }
+ nvm_dynamic_keymap_macro_update_buffer(offset, size, data);
}
-typedef struct send_string_eeprom_state_t {
- const uint8_t *ptr;
-} send_string_eeprom_state_t;
+static uint8_t dynamic_keymap_read_byte(uint32_t offset) {
+ uint8_t d;
+ nvm_dynamic_keymap_macro_read_buffer(offset, 1, &d);
+ return d;
+}
-char send_string_get_next_eeprom(void *arg) {
- send_string_eeprom_state_t *state = (send_string_eeprom_state_t *)arg;
- char ret = eeprom_read_byte(state->ptr);
- state->ptr++;
+typedef struct send_string_nvm_state_t {
+ uint32_t offset;
+} send_string_nvm_state_t;
+
+char send_string_get_next_nvm(void *arg) {
+ send_string_nvm_state_t *state = (send_string_nvm_state_t *)arg;
+ char ret = dynamic_keymap_read_byte(state->offset);
+ state->offset++;
return ret;
}
void dynamic_keymap_macro_reset(void) {
- void *p = (void *)(DYNAMIC_KEYMAP_MACRO_EEPROM_ADDR);
- void *end = (void *)(DYNAMIC_KEYMAP_MACRO_EEPROM_ADDR + DYNAMIC_KEYMAP_MACRO_EEPROM_SIZE);
- while (p != end) {
- eeprom_update_byte(p, 0);
- ++p;
- }
+ // Erase the macros, if necessary.
+ nvm_dynamic_keymap_macro_erase();
+ nvm_dynamic_keymap_macro_reset();
}
void dynamic_keymap_macro_send(uint8_t id) {
@@ -274,27 +146,26 @@ void dynamic_keymap_macro_send(uint8_t id) {
// If it's not zero, then we are in the middle
// of buffer writing, possibly an aborted buffer
// write. So do nothing.
- void *p = (void *)(DYNAMIC_KEYMAP_MACRO_EEPROM_ADDR + DYNAMIC_KEYMAP_MACRO_EEPROM_SIZE - 1);
- if (eeprom_read_byte(p) != 0) {
+ if (dynamic_keymap_read_byte(nvm_dynamic_keymap_macro_size() - 1) != 0) {
return;
}
// Skip N null characters
// p will then point to the Nth macro
- p = (void *)(DYNAMIC_KEYMAP_MACRO_EEPROM_ADDR);
- void *end = (void *)(DYNAMIC_KEYMAP_MACRO_EEPROM_ADDR + DYNAMIC_KEYMAP_MACRO_EEPROM_SIZE);
+ uint32_t offset = 0;
+ uint32_t end = nvm_dynamic_keymap_macro_size();
while (id > 0) {
// If we are past the end of the buffer, then there is
// no Nth macro in the buffer.
- if (p == end) {
+ if (offset == end) {
return;
}
- if (eeprom_read_byte(p) == 0) {
+ if (dynamic_keymap_read_byte(offset) == 0) {
--id;
}
- ++p;
+ ++offset;
}
- send_string_eeprom_state_t state = {p};
- send_string_with_delay_impl(send_string_get_next_eeprom, &state, DYNAMIC_KEYMAP_MACRO_DELAY);
+ send_string_nvm_state_t state = {.offset = 0};
+ send_string_with_delay_impl(send_string_get_next_nvm, &state, DYNAMIC_KEYMAP_MACRO_DELAY);
}
diff --git a/quantum/dynamic_keymap.h b/quantum/dynamic_keymap.h
index 806342efa3..f1d8077b12 100644
--- a/quantum/dynamic_keymap.h
+++ b/quantum/dynamic_keymap.h
@@ -18,8 +18,15 @@
#include <stdint.h>
#include <stdbool.h>
+#ifndef DYNAMIC_KEYMAP_LAYER_COUNT
+# define DYNAMIC_KEYMAP_LAYER_COUNT 4
+#endif
+
+#ifndef DYNAMIC_KEYMAP_MACRO_COUNT
+# define DYNAMIC_KEYMAP_MACRO_COUNT 16
+#endif
+
uint8_t dynamic_keymap_get_layer_count(void);
-void * dynamic_keymap_key_to_eeprom_address(uint8_t layer, uint8_t row, uint8_t column);
uint16_t dynamic_keymap_get_keycode(uint8_t layer, uint8_t row, uint8_t column);
void dynamic_keymap_set_keycode(uint8_t layer, uint8_t row, uint8_t column, uint16_t keycode);
#ifdef ENCODER_MAP_ENABLE
diff --git a/quantum/eeconfig.c b/quantum/eeconfig.c
index e27f604f12..1e8cfd758a 100644
--- a/quantum/eeconfig.c
+++ b/quantum/eeconfig.c
@@ -1,355 +1,355 @@
#include <string.h>
#include <stdint.h>
#include <stdbool.h>
-#include "eeprom.h"
+#include "debug.h"
#include "eeconfig.h"
+#include "action_layer.h"
+#include "nvm_eeconfig.h"
+#include "keycode_config.h"
-#if defined(EEPROM_DRIVER)
-# include "eeprom_driver.h"
-#endif
+#ifdef BACKLIGHT_ENABLE
+# include "backlight.h"
+#endif // BACKLIGHT_ENABLE
+
+#ifdef AUDIO_ENABLE
+# include "audio.h"
+#endif // AUDIO_ENABLE
+
+#ifdef RGBLIGHT_ENABLE
+# include "rgblight.h"
+#endif // RGBLIGHT_ENABLE
+
+#ifdef RGB_MATRIX_ENABLE
+# include "rgb_matrix_types.h"
+#endif // RGB_MATRIX_ENABLE
+
+#ifdef LED_MATRIX_ENABLE
+# include "led_matrix_types.h"
+#endif // LED_MATRIX_ENABLE
-#if defined(HAPTIC_ENABLE)
+#ifdef UNICODE_COMMON_ENABLE
+# include "unicode.h"
+#endif // UNICODE_COMMON_ENABLE
+
+#ifdef HAPTIC_ENABLE
# include "haptic.h"
-#endif
+#endif // HAPTIC_ENABLE
-#if defined(VIA_ENABLE)
+#ifdef CONNECTION_ENABLE
+# include "connection.h"
+#endif // CONNECTION_ENABLE
+
+#ifdef VIA_ENABLE
bool via_eeprom_is_valid(void);
void via_eeprom_set_valid(bool valid);
void eeconfig_init_via(void);
-#endif
-
-_Static_assert((intptr_t)EECONFIG_HANDEDNESS == 14, "EEPROM handedness offset is incorrect");
+#else
+void dynamic_keymap_reset(void);
+#endif // VIA_ENABLE
-/** \brief eeconfig enable
- *
- * FIXME: needs doc
- */
__attribute__((weak)) void eeconfig_init_user(void) {
#if (EECONFIG_USER_DATA_SIZE) == 0
// Reset user EEPROM value to blank, rather than to a set value
eeconfig_update_user(0);
-#endif
+#endif // (EECONFIG_USER_DATA_SIZE) == 0
}
__attribute__((weak)) void eeconfig_init_kb(void) {
#if (EECONFIG_KB_DATA_SIZE) == 0
// Reset Keyboard EEPROM value to blank, rather than to a set value
eeconfig_update_kb(0);
-#endif
+#endif // (EECONFIG_KB_DATA_SIZE) == 0
eeconfig_init_user();
}
-/*
- * FIXME: needs doc
- */
void eeconfig_init_quantum(void) {
-#if defined(EEPROM_DRIVER)
- eeprom_driver_format(false);
-#endif
+ nvm_eeconfig_erase();
+
+ eeconfig_enable();
+
+ debug_config_t debug_config = {0};
+ eeconfig_update_debug(&debug_config);
- eeprom_update_word(EECONFIG_MAGIC, EECONFIG_MAGIC_NUMBER);
- eeprom_update_byte(EECONFIG_DEBUG, 0);
default_layer_state = (layer_state_t)1 << 0;
eeconfig_update_default_layer(default_layer_state);
- // 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, 0);
- eeprom_update_dword(EECONFIG_RGBLIGHT, 0);
- eeprom_update_byte(EECONFIG_RGBLIGHT_EXTENDED, 0);
- eeprom_update_byte(EECONFIG_UNICODEMODE, 0);
- eeprom_update_byte(EECONFIG_STENOMODE, 0);
- eeprom_write_qword(EECONFIG_RGB_MATRIX, 0);
- eeprom_update_dword(EECONFIG_HAPTIC, 0);
-#if defined(HAPTIC_ENABLE)
- haptic_reset();
+
+ keymap_config_t keymap_config = {
+ .swap_control_capslock = false,
+ .capslock_to_control = false,
+ .swap_lalt_lgui = false,
+ .swap_ralt_rgui = false,
+ .no_gui = false,
+ .swap_grave_esc = false,
+ .swap_backslash_backspace = false,
+ .nkro = false,
+ .swap_lctl_lgui = false,
+ .swap_rctl_rgui = false,
+ .oneshot_enable = true, // Enable oneshot by default
+ .swap_escape_capslock = false,
+ .autocorrect_enable = true, // Enable autocorrect by default
+ };
+ eeconfig_update_keymap(&keymap_config);
+
+#ifdef BACKLIGHT_ENABLE
+ backlight_config_t backlight_config = {0};
+ eeconfig_update_backlight(&backlight_config);
+#endif // BACKLIGHT_ENABLE
+
+#ifdef AUDIO_ENABLE
+ audio_config_t audio_config = {0};
+ eeconfig_update_audio(&audio_config);
+#endif // AUDIO_ENABLE
+
+#ifdef RGBLIGHT_ENABLE
+ extern void eeconfig_update_rgblight_default(void);
+ eeconfig_update_rgblight_default();
+#endif // RGBLIGHT_ENABLE
+
+#ifdef UNICODE_COMMON_ENABLE
+ unicode_config_t unicode_config = {0};
+ eeconfig_update_unicode_mode(&unicode_config);
+#endif // UNICODE_COMMON_ENABLE
+
+#ifdef STENO_ENABLE
+ eeconfig_update_steno_mode(0);
+#endif // STENO_ENABLE
+
+#ifdef RGB_MATRIX_ENABLE
+ extern void eeconfig_update_rgb_matrix_default(void);
+ eeconfig_update_rgb_matrix_default();
#endif
+#ifdef LED_MATRIX_ENABLE
+ extern void eeconfig_update_led_matrix_default(void);
+ eeconfig_update_led_matrix_default();
+#endif // LED_MATRIX_ENABLE
+
+#ifdef HAPTIC_ENABLE
+ haptic_config_t haptic_config = {0};
+ eeconfig_update_haptic(&haptic_config);
+ haptic_reset();
+#endif // HAPTIC_ENABLE
+
+#ifdef CONNECTION_ENABLE
+ extern void eeconfig_update_connection_default(void);
+ eeconfig_update_connection_default();
+#endif // CONNECTION_ENABLE
+
#if (EECONFIG_KB_DATA_SIZE) > 0
eeconfig_init_kb_datablock();
-#endif
+#endif // (EECONFIG_KB_DATA_SIZE) > 0
#if (EECONFIG_USER_DATA_SIZE) > 0
eeconfig_init_user_datablock();
-#endif
+#endif // (EECONFIG_USER_DATA_SIZE) > 0
#if defined(VIA_ENABLE)
// Invalidate VIA eeprom config, and then reset.
- // Just in case if power is lost mid init, this makes sure that it pets
+ // Just in case if power is lost mid init, this makes sure that it gets
// properly re-initialized.
- via_eeprom_set_valid(false);
eeconfig_init_via();
+#elif defined(DYNAMIC_KEYMAP_ENABLE)
+ dynamic_keymap_reset();
#endif
eeconfig_init_kb();
+
+#ifdef RGB_MATRIX_ENABLE
+ extern void eeconfig_force_flush_rgb_matrix(void);
+ eeconfig_force_flush_rgb_matrix();
+#endif // RGB_MATRIX_ENABLE
+#ifdef LED_MATRIX_ENABLE
+ extern void eeconfig_force_flush_led_matrix(void);
+ eeconfig_force_flush_led_matrix();
+#endif // LED_MATRIX_ENABLE
}
-/** \brief eeconfig initialization
- *
- * FIXME: needs doc
- */
void eeconfig_init(void) {
eeconfig_init_quantum();
}
-/** \brief eeconfig enable
- *
- * FIXME: needs doc
- */
void eeconfig_enable(void) {
- eeprom_update_word(EECONFIG_MAGIC, EECONFIG_MAGIC_NUMBER);
+ nvm_eeconfig_enable();
}
-/** \brief eeconfig disable
- *
- * FIXME: needs doc
- */
void eeconfig_disable(void) {
-#if defined(EEPROM_DRIVER)
- eeprom_driver_format(false);
-#endif
- eeprom_update_word(EECONFIG_MAGIC, EECONFIG_MAGIC_NUMBER_OFF);
+ nvm_eeconfig_disable();
}
-/** \brief eeconfig is enabled
- *
- * FIXME: needs doc
- */
bool eeconfig_is_enabled(void) {
- bool is_eeprom_enabled = (eeprom_read_word(EECONFIG_MAGIC) == EECONFIG_MAGIC_NUMBER);
+ bool is_eeprom_enabled = nvm_eeconfig_is_enabled();
#ifdef VIA_ENABLE
if (is_eeprom_enabled) {
is_eeprom_enabled = via_eeprom_is_valid();
}
-#endif
+#endif // VIA_ENABLE
return is_eeprom_enabled;
}
-/** \brief eeconfig is disabled
- *
- * FIXME: needs doc
- */
bool eeconfig_is_disabled(void) {
- bool is_eeprom_disabled = (eeprom_read_word(EECONFIG_MAGIC) == EECONFIG_MAGIC_NUMBER_OFF);
+ bool is_eeprom_disabled = nvm_eeconfig_is_disabled();
#ifdef VIA_ENABLE
if (!is_eeprom_disabled) {
is_eeprom_disabled = !via_eeprom_is_valid();
}
-#endif
+#endif // VIA_ENABLE
return is_eeprom_disabled;
}
-/** \brief eeconfig read debug
- *
- * FIXME: needs doc
- */
-uint8_t eeconfig_read_debug(void) {
- return eeprom_read_byte(EECONFIG_DEBUG);
+void eeconfig_read_debug(debug_config_t *debug_config) {
+ nvm_eeconfig_read_debug(debug_config);
}
-/** \brief eeconfig update debug
- *
- * FIXME: needs doc
- */
-void eeconfig_update_debug(uint8_t val) {
- eeprom_update_byte(EECONFIG_DEBUG, val);
+void eeconfig_update_debug(const debug_config_t *debug_config) {
+ nvm_eeconfig_update_debug(debug_config);
}
-/** \brief eeconfig read default layer
- *
- * FIXME: needs doc
- */
layer_state_t eeconfig_read_default_layer(void) {
- uint8_t val = eeprom_read_byte(EECONFIG_DEFAULT_LAYER);
-
-#ifdef DEFAULT_LAYER_STATE_IS_VALUE_NOT_BITMASK
- // stored as a layer number, so convert back to bitmask
- return 1 << val;
-#else
- // stored as 8-bit-wide bitmask, so read the value directly - handling padding to 16/32 bit layer_state_t
- return val;
-#endif
+ return nvm_eeconfig_read_default_layer();
}
-/** \brief eeconfig update default layer
- *
- * FIXME: needs doc
- */
void eeconfig_update_default_layer(layer_state_t state) {
-#ifdef DEFAULT_LAYER_STATE_IS_VALUE_NOT_BITMASK
- // stored as a layer number, so only store the highest layer
- uint8_t val = get_highest_layer(state);
-#else
- // stored as 8-bit-wide bitmask, so write the value directly - handling truncation from 16/32 bit layer_state_t
- uint8_t val = state;
-#endif
+ nvm_eeconfig_update_default_layer(state);
+}
- eeprom_update_byte(EECONFIG_DEFAULT_LAYER, val);
+void eeconfig_read_keymap(keymap_config_t *keymap_config) {
+ nvm_eeconfig_read_keymap(keymap_config);
+}
+void eeconfig_update_keymap(const keymap_config_t *keymap_config) {
+ nvm_eeconfig_update_keymap(keymap_config);
+}
+
+#ifdef AUDIO_ENABLE
+void eeconfig_read_audio(audio_config_t *audio_config) {
+ nvm_eeconfig_read_audio(audio_config);
+}
+void eeconfig_update_audio(const audio_config_t *audio_config) {
+ nvm_eeconfig_update_audio(audio_config);
+}
+#endif // AUDIO_ENABLE
+
+#ifdef UNICODE_COMMON_ENABLE
+void eeconfig_read_unicode_mode(unicode_config_t *unicode_config) {
+ return nvm_eeconfig_read_unicode_mode(unicode_config);
+}
+void eeconfig_update_unicode_mode(const unicode_config_t *unicode_config) {
+ nvm_eeconfig_update_unicode_mode(unicode_config);
+}
+#endif // UNICODE_COMMON_ENABLE
+
+#ifdef BACKLIGHT_ENABLE
+void eeconfig_read_backlight(backlight_config_t *backlight_config) {
+ nvm_eeconfig_read_backlight(backlight_config);
+}
+void eeconfig_update_backlight(const backlight_config_t *backlight_config) {
+ nvm_eeconfig_update_backlight(backlight_config);
}
+#endif // BACKLIGHT_ENABLE
-/** \brief eeconfig read keymap
- *
- * FIXME: needs doc
- */
-uint16_t eeconfig_read_keymap(void) {
- return eeprom_read_word(EECONFIG_KEYMAP);
+#ifdef STENO_ENABLE
+uint8_t eeconfig_read_steno_mode(void) {
+ return nvm_eeconfig_read_steno_mode();
}
-/** \brief eeconfig update keymap
- *
- * FIXME: needs doc
- */
-void eeconfig_update_keymap(uint16_t val) {
- eeprom_update_word(EECONFIG_KEYMAP, val);
+void eeconfig_update_steno_mode(uint8_t val) {
+ nvm_eeconfig_update_steno_mode(val);
}
+#endif // STENO_ENABLE
-/** \brief eeconfig read audio
- *
- * FIXME: needs doc
- */
-uint8_t eeconfig_read_audio(void) {
- return eeprom_read_byte(EECONFIG_AUDIO);
+#ifdef RGB_MATRIX_ENABLE
+void eeconfig_read_rgb_matrix(rgb_config_t *rgb_matrix_config) {
+ nvm_eeconfig_read_rgb_matrix(rgb_matrix_config);
}
-/** \brief eeconfig update audio
- *
- * FIXME: needs doc
- */
-void eeconfig_update_audio(uint8_t val) {
- eeprom_update_byte(EECONFIG_AUDIO, val);
+void eeconfig_update_rgb_matrix(const rgb_config_t *rgb_matrix_config) {
+ nvm_eeconfig_update_rgb_matrix(rgb_matrix_config);
}
+#endif // RGB_MATRIX_ENABLE
+
+#ifdef LED_MATRIX_ENABLE
+void eeconfig_read_led_matrix(led_eeconfig_t *led_matrix_config) {
+ nvm_eeconfig_read_led_matrix(led_matrix_config);
+}
+void eeconfig_update_led_matrix(const led_eeconfig_t *led_matrix_config) {
+ nvm_eeconfig_update_led_matrix(led_matrix_config);
+}
+#endif // LED_MATRIX_ENABLE
+
+#ifdef RGBLIGHT_ENABLE
+void eeconfig_read_rgblight(rgblight_config_t *rgblight_config) {
+ nvm_eeconfig_read_rgblight(rgblight_config);
+}
+void eeconfig_update_rgblight(const rgblight_config_t *rgblight_config) {
+ nvm_eeconfig_update_rgblight(rgblight_config);
+}
+#endif // RGBLIGHT_ENABLE
#if (EECONFIG_KB_DATA_SIZE) == 0
-/** \brief eeconfig read kb
- *
- * FIXME: needs doc
- */
uint32_t eeconfig_read_kb(void) {
- return eeprom_read_dword(EECONFIG_KEYBOARD);
+ return nvm_eeconfig_read_kb();
}
-/** \brief eeconfig update kb
- *
- * FIXME: needs doc
- */
void eeconfig_update_kb(uint32_t val) {
- eeprom_update_dword(EECONFIG_KEYBOARD, val);
+ nvm_eeconfig_update_kb(val);
}
#endif // (EECONFIG_KB_DATA_SIZE) == 0
#if (EECONFIG_USER_DATA_SIZE) == 0
-/** \brief eeconfig read user
- *
- * FIXME: needs doc
- */
uint32_t eeconfig_read_user(void) {
- return eeprom_read_dword(EECONFIG_USER);
+ return nvm_eeconfig_read_user();
}
-/** \brief eeconfig update user
- *
- * FIXME: needs doc
- */
void eeconfig_update_user(uint32_t val) {
- eeprom_update_dword(EECONFIG_USER, val);
+ nvm_eeconfig_update_user(val);
}
#endif // (EECONFIG_USER_DATA_SIZE) == 0
-/** \brief eeconfig read haptic
- *
- * FIXME: needs doc
- */
-uint32_t eeconfig_read_haptic(void) {
- return eeprom_read_dword(EECONFIG_HAPTIC);
-}
-/** \brief eeconfig update haptic
- *
- * FIXME: needs doc
- */
-void eeconfig_update_haptic(uint32_t val) {
- eeprom_update_dword(EECONFIG_HAPTIC, val);
-}
-
-/** \brief eeconfig read split handedness
- *
- * FIXME: needs doc
- */
+#ifdef HAPTIC_ENABLE
+void eeconfig_read_haptic(haptic_config_t *haptic_config) {
+ nvm_eeconfig_read_haptic(haptic_config);
+}
+void eeconfig_update_haptic(const haptic_config_t *haptic_config) {
+ nvm_eeconfig_update_haptic(haptic_config);
+}
+#endif // HAPTIC_ENABLE
+
+#ifdef CONNECTION_ENABLE
+void eeconfig_read_connection(connection_config_t *config) {
+ nvm_eeconfig_read_connection(config);
+}
+void eeconfig_update_connection(const connection_config_t *config) {
+ nvm_eeconfig_update_connection(config);
+}
+#endif // CONNECTION_ENABLE
+
bool eeconfig_read_handedness(void) {
- return !!eeprom_read_byte(EECONFIG_HANDEDNESS);
+ return nvm_eeconfig_read_handedness();
}
-/** \brief eeconfig update split handedness
- *
- * FIXME: needs doc
- */
void eeconfig_update_handedness(bool val) {
- eeprom_update_byte(EECONFIG_HANDEDNESS, !!val);
+ nvm_eeconfig_update_handedness(val);
}
#if (EECONFIG_KB_DATA_SIZE) > 0
-/** \brief eeconfig assert keyboard data block version
- *
- * FIXME: needs doc
- */
bool eeconfig_is_kb_datablock_valid(void) {
- return eeprom_read_dword(EECONFIG_KEYBOARD) == (EECONFIG_KB_DATA_VERSION);
-}
-/** \brief eeconfig read keyboard data block
- *
- * FIXME: needs doc
- */
-void eeconfig_read_kb_datablock(void *data) {
- if (eeconfig_is_kb_datablock_valid()) {
- eeprom_read_block(data, EECONFIG_KB_DATABLOCK, (EECONFIG_KB_DATA_SIZE));
- } else {
- memset(data, 0, (EECONFIG_KB_DATA_SIZE));
- }
+ return nvm_eeconfig_is_kb_datablock_valid();
+}
+uint32_t eeconfig_read_kb_datablock(void *data, uint32_t offset, uint32_t length) {
+ return nvm_eeconfig_read_kb_datablock(data, offset, length);
+}
+uint32_t eeconfig_update_kb_datablock(const void *data, uint32_t offset, uint32_t length) {
+ return nvm_eeconfig_update_kb_datablock(data, offset, length);
}
-/** \brief eeconfig update keyboard data block
- *
- * FIXME: needs doc
- */
-void eeconfig_update_kb_datablock(const void *data) {
- eeprom_update_dword(EECONFIG_KEYBOARD, (EECONFIG_KB_DATA_VERSION));
- eeprom_update_block(data, EECONFIG_KB_DATABLOCK, (EECONFIG_KB_DATA_SIZE));
-}
-/** \brief eeconfig init keyboard data block
- *
- * FIXME: needs doc
- */
__attribute__((weak)) void eeconfig_init_kb_datablock(void) {
- uint8_t dummy_kb[(EECONFIG_KB_DATA_SIZE)] = {0};
- eeconfig_update_kb_datablock(dummy_kb);
+ nvm_eeconfig_init_kb_datablock();
}
#endif // (EECONFIG_KB_DATA_SIZE) > 0
#if (EECONFIG_USER_DATA_SIZE) > 0
-/** \brief eeconfig assert user data block version
- *
- * FIXME: needs doc
- */
bool eeconfig_is_user_datablock_valid(void) {
- return eeprom_read_dword(EECONFIG_USER) == (EECONFIG_USER_DATA_VERSION);
-}
-/** \brief eeconfig read user data block
- *
- * FIXME: needs doc
- */
-void eeconfig_read_user_datablock(void *data) {
- if (eeconfig_is_user_datablock_valid()) {
- eeprom_read_block(data, EECONFIG_USER_DATABLOCK, (EECONFIG_USER_DATA_SIZE));
- } else {
- memset(data, 0, (EECONFIG_USER_DATA_SIZE));
- }
+ return nvm_eeconfig_is_user_datablock_valid();
+}
+uint32_t eeconfig_read_user_datablock(void *data, uint32_t offset, uint32_t length) {
+ return nvm_eeconfig_read_user_datablock(data, offset, length);
+}
+uint32_t eeconfig_update_user_datablock(const void *data, uint32_t offset, uint32_t length) {
+ return nvm_eeconfig_update_user_datablock(data, offset, length);
}
-/** \brief eeconfig update user data block
- *
- * FIXME: needs doc
- */
-void eeconfig_update_user_datablock(const void *data) {
- eeprom_update_dword(EECONFIG_USER, (EECONFIG_USER_DATA_VERSION));
- eeprom_update_block(data, EECONFIG_USER_DATABLOCK, (EECONFIG_USER_DATA_SIZE));
-}
-/** \brief eeconfig init user data block
- *
- * FIXME: needs doc
- */
__attribute__((weak)) void eeconfig_init_user_datablock(void) {
- uint8_t dummy_user[(EECONFIG_USER_DATA_SIZE)] = {0};
- eeconfig_update_user_datablock(dummy_user);
+ nvm_eeconfig_init_user_datablock();
}
#endif // (EECONFIG_USER_DATA_SIZE) > 0
diff --git a/quantum/eeconfig.h b/quantum/eeconfig.h
index 11cf1ccbca..d4d8d957be 100644
--- a/quantum/eeconfig.h
+++ b/quantum/eeconfig.h
@@ -19,59 +19,9 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include <stdint.h>
#include <stdbool.h>
-#include <stddef.h> // offsetof
-#include "eeprom.h"
-#include "util.h"
+#include <stddef.h> // offsetof
#include "action_layer.h" // layer_state_t
-#ifndef EECONFIG_MAGIC_NUMBER
-# define EECONFIG_MAGIC_NUMBER (uint16_t)0xFEE5 // When changing, decrement this value to avoid future re-init issues
-#endif
-#define EECONFIG_MAGIC_NUMBER_OFF (uint16_t)0xFFFF
-
-// Dummy struct only used to calculate offsets
-typedef struct PACKED {
- uint16_t magic;
- uint8_t debug;
- uint8_t default_layer;
- uint16_t keymap;
- uint8_t backlight;
- uint8_t audio;
- uint32_t rgblight;
- uint8_t unicode;
- uint8_t steno;
- uint8_t handedness;
- uint32_t keyboard;
- uint32_t user;
- union { // Mutually exclusive
- uint32_t led_matrix;
- uint64_t rgb_matrix;
- };
- uint32_t haptic;
- uint8_t rgblight_ext;
-} eeprom_core_t;
-
-/* EEPROM parameter address */
-#define EECONFIG_MAGIC (uint16_t *)(offsetof(eeprom_core_t, magic))
-#define EECONFIG_DEBUG (uint8_t *)(offsetof(eeprom_core_t, debug))
-#define EECONFIG_DEFAULT_LAYER (uint8_t *)(offsetof(eeprom_core_t, default_layer))
-#define EECONFIG_KEYMAP (uint16_t *)(offsetof(eeprom_core_t, keymap))
-#define EECONFIG_BACKLIGHT (uint8_t *)(offsetof(eeprom_core_t, backlight))
-#define EECONFIG_AUDIO (uint8_t *)(offsetof(eeprom_core_t, audio))
-#define EECONFIG_RGBLIGHT (uint32_t *)(offsetof(eeprom_core_t, rgblight))
-#define EECONFIG_UNICODEMODE (uint8_t *)(offsetof(eeprom_core_t, unicode))
-#define EECONFIG_STENOMODE (uint8_t *)(offsetof(eeprom_core_t, steno))
-#define EECONFIG_HANDEDNESS (uint8_t *)(offsetof(eeprom_core_t, handedness))
-#define EECONFIG_KEYBOARD (uint32_t *)(offsetof(eeprom_core_t, keyboard))
-#define EECONFIG_USER (uint32_t *)(offsetof(eeprom_core_t, user))
-#define EECONFIG_LED_MATRIX (uint32_t *)(offsetof(eeprom_core_t, led_matrix))
-#define EECONFIG_RGB_MATRIX (uint64_t *)(offsetof(eeprom_core_t, rgb_matrix))
-#define EECONFIG_HAPTIC (uint32_t *)(offsetof(eeprom_core_t, haptic))
-#define EECONFIG_RGBLIGHT_EXTENDED (uint8_t *)(offsetof(eeprom_core_t, rgblight_ext))
-
-// Size of EEPROM being used for core data storage
-#define EECONFIG_BASE_SIZE ((uint8_t)sizeof(eeprom_core_t))
-
// Size of EEPROM dedicated to keyboard- and user-specific data
#ifndef EECONFIG_KB_DATA_SIZE
# define EECONFIG_KB_DATA_SIZE 0
@@ -86,12 +36,6 @@ typedef struct PACKED {
# define EECONFIG_USER_DATA_VERSION (EECONFIG_USER_DATA_SIZE)
#endif
-#define EECONFIG_KB_DATABLOCK ((uint8_t *)(EECONFIG_BASE_SIZE))
-#define EECONFIG_USER_DATABLOCK ((uint8_t *)((EECONFIG_BASE_SIZE) + (EECONFIG_KB_DATA_SIZE)))
-
-// Size of EEPROM being used, other code can refer to this for available EEPROM
-#define EECONFIG_SIZE ((EECONFIG_BASE_SIZE) + (EECONFIG_KB_DATA_SIZE) + (EECONFIG_USER_DATA_SIZE))
-
/* debug bit */
#define EECONFIG_DEBUG_ENABLE (1 << 0)
#define EECONFIG_DEBUG_MATRIX (1 << 1)
@@ -117,22 +61,59 @@ void eeconfig_init_kb(void);
void eeconfig_init_user(void);
void eeconfig_enable(void);
-
void eeconfig_disable(void);
-uint8_t eeconfig_read_debug(void);
-void eeconfig_update_debug(uint8_t val);
+typedef union debug_config_t debug_config_t;
+void eeconfig_read_debug(debug_config_t *debug_config) __attribute__((nonnull));
+void eeconfig_update_debug(const debug_config_t *debug_config) __attribute__((nonnull));
layer_state_t eeconfig_read_default_layer(void);
-void eeconfig_update_default_layer(layer_state_t val);
+void eeconfig_update_default_layer(layer_state_t state);
-uint16_t eeconfig_read_keymap(void);
-void eeconfig_update_keymap(uint16_t val);
+typedef union keymap_config_t keymap_config_t;
+void eeconfig_read_keymap(keymap_config_t *keymap_config) __attribute__((nonnull));
+void eeconfig_update_keymap(const keymap_config_t *keymap_config) __attribute__((nonnull));
#ifdef AUDIO_ENABLE
-uint8_t eeconfig_read_audio(void);
-void eeconfig_update_audio(uint8_t val);
-#endif
+typedef union audio_config_t audio_config_t;
+void eeconfig_read_audio(audio_config_t *audio_config) __attribute__((nonnull));
+void eeconfig_update_audio(const audio_config_t *audio_config) __attribute__((nonnull));
+#endif // AUDIO_ENABLE
+
+#ifdef UNICODE_COMMON_ENABLE
+typedef union unicode_config_t unicode_config_t;
+void eeconfig_read_unicode_mode(unicode_config_t *unicode_config) __attribute__((nonnull));
+void eeconfig_update_unicode_mode(const unicode_config_t *unicode_config) __attribute__((nonnull));
+#endif // UNICODE_COMMON_ENABLE
+
+#ifdef BACKLIGHT_ENABLE
+typedef union backlight_config_t backlight_config_t;
+void eeconfig_read_backlight(backlight_config_t *backlight_config) __attribute__((nonnull));
+void eeconfig_update_backlight(const backlight_config_t *backlight_config) __attribute__((nonnull));
+#endif // BACKLIGHT_ENABLE
+
+#ifdef STENO_ENABLE
+uint8_t eeconfig_read_steno_mode(void);
+void eeconfig_update_steno_mode(uint8_t val);
+#endif // STENO_ENABLE
+
+#ifdef RGB_MATRIX_ENABLE
+typedef union rgb_config_t rgb_config_t;
+void eeconfig_read_rgb_matrix(rgb_config_t *rgb_matrix_config) __attribute__((nonnull));
+void eeconfig_update_rgb_matrix(const rgb_config_t *rgb_matrix_config) __attribute__((nonnull));
+#endif // RGB_MATRIX_ENABLE
+
+#ifdef LED_MATRIX_ENABLE
+typedef union led_eeconfig_t led_eeconfig_t;
+void eeconfig_read_led_matrix(led_eeconfig_t *led_matrix_config) __attribute__((nonnull));
+void eeconfig_update_led_matrix(const led_eeconfig_t *led_matrix_config) __attribute__((nonnull));
+#endif // LED_MATRIX_ENABLE
+
+#ifdef RGBLIGHT_ENABLE
+typedef union rgblight_config_t rgblight_config_t;
+void eeconfig_read_rgblight(rgblight_config_t *rgblight_config) __attribute__((nonnull));
+void eeconfig_update_rgblight(const rgblight_config_t *rgblight_config) __attribute__((nonnull));
+#endif // RGBLIGHT_ENABLE
#if (EECONFIG_KB_DATA_SIZE) == 0
uint32_t eeconfig_read_kb(void);
@@ -145,31 +126,42 @@ void eeconfig_update_user(uint32_t val);
#endif // (EECONFIG_USER_DATA_SIZE) == 0
#ifdef HAPTIC_ENABLE
-uint32_t eeconfig_read_haptic(void);
-void eeconfig_update_haptic(uint32_t val);
+typedef union haptic_config_t haptic_config_t;
+void eeconfig_read_haptic(haptic_config_t *haptic_config) __attribute__((nonnull));
+void eeconfig_update_haptic(const haptic_config_t *haptic_config) __attribute__((nonnull));
+#endif
+
+#ifdef CONNECTION_ENABLE
+typedef union connection_config_t connection_config_t;
+void eeconfig_read_connection(connection_config_t *config);
+void eeconfig_update_connection(const connection_config_t *config);
#endif
bool eeconfig_read_handedness(void);
void eeconfig_update_handedness(bool val);
#if (EECONFIG_KB_DATA_SIZE) > 0
-bool eeconfig_is_kb_datablock_valid(void);
-void eeconfig_read_kb_datablock(void *data);
-void eeconfig_update_kb_datablock(const void *data);
-void eeconfig_init_kb_datablock(void);
+bool eeconfig_is_kb_datablock_valid(void);
+uint32_t eeconfig_read_kb_datablock(void *data, uint32_t offset, uint32_t length) __attribute__((nonnull));
+uint32_t eeconfig_update_kb_datablock(const void *data, uint32_t offset, uint32_t length) __attribute__((nonnull));
+void eeconfig_init_kb_datablock(void);
+# define eeconfig_read_kb_datablock_field(__object, __field) eeconfig_read_kb_datablock(&(__object.__field), offsetof(typeof(__object), __field), sizeof(__object.__field))
+# define eeconfig_update_kb_datablock_field(__object, __field) eeconfig_update_kb_datablock(&(__object.__field), offsetof(typeof(__object), __field), sizeof(__object.__field))
#endif // (EECONFIG_KB_DATA_SIZE) > 0
#if (EECONFIG_USER_DATA_SIZE) > 0
-bool eeconfig_is_user_datablock_valid(void);
-void eeconfig_read_user_datablock(void *data);
-void eeconfig_update_user_datablock(const void *data);
-void eeconfig_init_user_datablock(void);
+bool eeconfig_is_user_datablock_valid(void);
+uint32_t eeconfig_read_user_datablock(void *data, uint32_t offset, uint32_t length) __attribute__((nonnull));
+uint32_t eeconfig_update_user_datablock(const void *data, uint32_t offset, uint32_t length) __attribute__((nonnull));
+void eeconfig_init_user_datablock(void);
+# define eeconfig_read_user_datablock_field(__object, __field) eeconfig_read_user_datablock(&(__object.__field), offsetof(__object, __field), sizeof(__object.__field))
+# define eeconfig_update_user_datablock_field(__object, __field) eeconfig_update_user_datablock(&(__object.__field), offsetof(__object, __field), sizeof(__object.__field))
#endif // (EECONFIG_USER_DATA_SIZE) > 0
// Any "checked" debounce variant used requires implementation of:
// -- bool eeconfig_check_valid_##name(void)
// -- void eeconfig_post_flush_##name(void)
-#define EECONFIG_DEBOUNCE_HELPER_CHECKED(name, offset, config) \
+#define EECONFIG_DEBOUNCE_HELPER_CHECKED(name, config) \
static uint8_t dirty_##name = false; \
\
bool eeconfig_check_valid_##name(void); \
@@ -178,13 +170,13 @@ void eeconfig_init_user_datablock(void);
static inline void eeconfig_init_##name(void) { \
dirty_##name = true; \
if (eeconfig_check_valid_##name()) { \
- eeprom_read_block(&config, offset, sizeof(config)); \
+ eeconfig_read_##name(&config); \
dirty_##name = false; \
} \
} \
static inline void eeconfig_flush_##name(bool force) { \
if (force || dirty_##name) { \
- eeprom_update_block(&config, offset, sizeof(config)); \
+ eeconfig_update_##name(&config); \
eeconfig_post_flush_##name(); \
dirty_##name = false; \
} \
@@ -206,10 +198,10 @@ void eeconfig_init_user_datablock(void);
} \
}
-#define EECONFIG_DEBOUNCE_HELPER(name, offset, config) \
- EECONFIG_DEBOUNCE_HELPER_CHECKED(name, offset, config) \
- \
- bool eeconfig_check_valid_##name(void) { \
- return true; \
- } \
+#define EECONFIG_DEBOUNCE_HELPER(name, config) \
+ EECONFIG_DEBOUNCE_HELPER_CHECKED(name, config) \
+ \
+ bool eeconfig_check_valid_##name(void) { \
+ return true; \
+ } \
void eeconfig_post_flush_##name(void) {}
diff --git a/quantum/haptic.c b/quantum/haptic.c
index 81bad469b3..8a743480ff 100644
--- a/quantum/haptic.c
+++ b/quantum/haptic.c
@@ -67,7 +67,7 @@ void haptic_init(void) {
if (!eeconfig_is_enabled()) {
eeconfig_init();
}
- haptic_config.raw = eeconfig_read_haptic();
+ eeconfig_read_haptic(&haptic_config);
#ifdef HAPTIC_SOLENOID
solenoid_set_dwell(haptic_config.dwell);
#endif
@@ -122,13 +122,13 @@ void eeconfig_debug_haptic(void) {
void haptic_enable(void) {
set_haptic_config_enable(true);
dprintf("haptic_config.enable = %u\n", haptic_config.enable);
- eeconfig_update_haptic(haptic_config.raw);
+ eeconfig_update_haptic(&haptic_config);
}
void haptic_disable(void) {
set_haptic_config_enable(false);
dprintf("haptic_config.enable = %u\n", haptic_config.enable);
- eeconfig_update_haptic(haptic_config.raw);
+ eeconfig_update_haptic(&haptic_config);
}
void haptic_toggle(void) {
@@ -137,14 +137,14 @@ void haptic_toggle(void) {
} else {
haptic_enable();
}
- eeconfig_update_haptic(haptic_config.raw);
+ eeconfig_update_haptic(&haptic_config);
}
void haptic_feedback_toggle(void) {
haptic_config.feedback++;
if (haptic_config.feedback >= HAPTIC_FEEDBACK_MAX) haptic_config.feedback = KEY_PRESS;
dprintf("haptic_config.feedback = %u\n", !haptic_config.feedback);
- eeconfig_update_haptic(haptic_config.raw);
+ eeconfig_update_haptic(&haptic_config);
}
void haptic_buzz_toggle(void) {
@@ -225,26 +225,26 @@ void haptic_reset(void) {
haptic_config.dwell = 0;
haptic_config.buzz = 0;
#endif
- eeconfig_update_haptic(haptic_config.raw);
+ eeconfig_update_haptic(&haptic_config);
dprintf("haptic_config.feedback = %u\n", haptic_config.feedback);
dprintf("haptic_config.mode = %u\n", haptic_config.mode);
}
void haptic_set_feedback(uint8_t feedback) {
haptic_config.feedback = feedback;
- eeconfig_update_haptic(haptic_config.raw);
+ eeconfig_update_haptic(&haptic_config);
dprintf("haptic_config.feedback = %u\n", haptic_config.feedback);
}
void haptic_set_mode(uint8_t mode) {
haptic_config.mode = mode;
- eeconfig_update_haptic(haptic_config.raw);
+ eeconfig_update_haptic(&haptic_config);
dprintf("haptic_config.mode = %u\n", haptic_config.mode);
}
void haptic_set_amplitude(uint8_t amp) {
haptic_config.amplitude = amp;
- eeconfig_update_haptic(haptic_config.raw);
+ eeconfig_update_haptic(&haptic_config);
dprintf("haptic_config.amplitude = %u\n", haptic_config.amplitude);
#ifdef HAPTIC_DRV2605L
drv2605l_amplitude(amp);
@@ -253,13 +253,13 @@ void haptic_set_amplitude(uint8_t amp) {
void haptic_set_buzz(uint8_t buzz) {
haptic_config.buzz = buzz;
- eeconfig_update_haptic(haptic_config.raw);
+ eeconfig_update_haptic(&haptic_config);
dprintf("haptic_config.buzz = %u\n", haptic_config.buzz);
}
void haptic_set_dwell(uint8_t dwell) {
haptic_config.dwell = dwell;
- eeconfig_update_haptic(haptic_config.raw);
+ eeconfig_update_haptic(&haptic_config);
dprintf("haptic_config.dwell = %u\n", haptic_config.dwell);
}
@@ -291,7 +291,7 @@ uint8_t haptic_get_dwell(void) {
void haptic_enable_continuous(void) {
haptic_config.cont = 1;
dprintf("haptic_config.cont = %u\n", haptic_config.cont);
- eeconfig_update_haptic(haptic_config.raw);
+ eeconfig_update_haptic(&haptic_config);
#ifdef HAPTIC_DRV2605L
drv2605l_rtp_init();
#endif
@@ -300,7 +300,7 @@ void haptic_enable_continuous(void) {
void haptic_disable_continuous(void) {
haptic_config.cont = 0;
dprintf("haptic_config.cont = %u\n", haptic_config.cont);
- eeconfig_update_haptic(haptic_config.raw);
+ eeconfig_update_haptic(&haptic_config);
#ifdef HAPTIC_DRV2605L
drv2605l_write(DRV2605L_REG_MODE, 0x00);
#endif
diff --git a/quantum/haptic.h b/quantum/haptic.h
index b283d5d268..e27f546d40 100644
--- a/quantum/haptic.h
+++ b/quantum/haptic.h
@@ -28,7 +28,7 @@
#endif
/* EEPROM config settings */
-typedef union {
+typedef union haptic_config_t {
uint32_t raw;
struct {
bool enable : 1;
diff --git a/quantum/keyboard.c b/quantum/keyboard.c
index ad740de4b3..be51190a87 100644
--- a/quantum/keyboard.c
+++ b/quantum/keyboard.c
@@ -122,6 +122,9 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#ifdef SPLIT_KEYBOARD
# include "split_util.h"
#endif
+#ifdef BATTERY_DRIVER
+# include "battery.h"
+#endif
#ifdef BLUETOOTH_ENABLE
# include "bluetooth.h"
#endif
@@ -143,6 +146,9 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#ifdef LAYER_LOCK_ENABLE
# include "layer_lock.h"
#endif
+#ifdef CONNECTION_ENABLE
+# include "connection.h"
+#endif
static uint32_t last_input_modification_time = 0;
uint32_t last_input_activity_time(void) {
@@ -429,8 +435,8 @@ void quantum_init(void) {
}
/* init globals */
- debug_config.raw = eeconfig_read_debug();
- keymap_config.raw = eeconfig_read_keymap();
+ eeconfig_read_debug(&debug_config);
+ eeconfig_read_keymap(&keymap_config);
#ifdef BOOTMAGIC_ENABLE
bootmagic();
@@ -462,6 +468,9 @@ void keyboard_init(void) {
#endif
matrix_init();
quantum_init();
+#ifdef CONNECTION_ENABLE
+ connection_init();
+#endif
led_init_ports();
#ifdef BACKLIGHT_ENABLE
backlight_init_ports();
@@ -501,7 +510,7 @@ void keyboard_init(void) {
#endif
#if defined(NKRO_ENABLE) && defined(FORCE_NKRO)
keymap_config.nkro = 1;
- eeconfig_update_keymap(keymap_config.raw);
+ eeconfig_update_keymap(&keymap_config);
#endif
#ifdef DIP_SWITCH_ENABLE
dip_switch_init();
@@ -522,6 +531,9 @@ void keyboard_init(void) {
// init after split init
pointing_device_init();
#endif
+#ifdef BATTERY_DRIVER
+ battery_init();
+#endif
#ifdef BLUETOOTH_ENABLE
bluetooth_init();
#endif
@@ -782,6 +794,10 @@ void keyboard_task(void) {
joystick_task();
#endif
+#ifdef BATTERY_DRIVER
+ battery_task();
+#endif
+
#ifdef BLUETOOTH_ENABLE
bluetooth_task();
#endif
diff --git a/quantum/keycode_config.h b/quantum/keycode_config.h
index d1352c302e..529cd0e127 100644
--- a/quantum/keycode_config.h
+++ b/quantum/keycode_config.h
@@ -28,7 +28,7 @@ uint16_t keycode_config(uint16_t keycode);
uint8_t mod_config(uint8_t mod);
/* NOTE: Not portable. Bit field order depends on implementation */
-typedef union {
+typedef union keymap_config_t {
uint16_t raw;
struct {
bool swap_control_capslock : 1;
diff --git a/quantum/keycode_string.c b/quantum/keycode_string.c
new file mode 100644
index 0000000000..18044f2ef6
--- /dev/null
+++ b/quantum/keycode_string.c
@@ -0,0 +1,564 @@
+// Copyright 2024-2025 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.
+
+#include "keycode_string.h"
+
+#include <string.h>
+#include "bitwise.h"
+#include "keycode.h"
+#include "progmem.h"
+#include "quantum_keycodes.h"
+#include "util.h"
+
+typedef int_fast8_t index_t;
+
+// clang-format off
+/** Packs a 7-char keycode name, ignoring the third char, as 3 words. */
+#define KEYCODE_NAME7(c0, c1, unused_c2, c3, c4, c5, c6) \
+ ((uint16_t)c0) | (((uint16_t)c1) << 8), \
+ ((uint16_t)c3) | (((uint16_t)c4) << 8), \
+ ((uint16_t)c5) | (((uint16_t)c6) << 8)
+
+/**
+ * @brief Names of some common keycodes.
+ *
+ * Each (keycode, name) entry is stored flat in 8 bytes in PROGMEM. Names in
+ * this table must be at most 7 chars long and have an underscore '_' for the
+ * third char. This underscore is assumed and not actually stored.
+ *
+ * To save memory, feature-specific key entries are ifdef'd to include them only
+ * when their feature is enabled.
+ */
+static const uint16_t common_names[] PROGMEM = {
+ KC_TRNS, KEYCODE_NAME7('K', 'C', '_', 'T', 'R', 'N', 'S'),
+ KC_ENT , KEYCODE_NAME7('K', 'C', '_', 'E', 'N', 'T', 0 ),
+ KC_ESC , KEYCODE_NAME7('K', 'C', '_', 'E', 'S', 'C', 0 ),
+ KC_BSPC, KEYCODE_NAME7('K', 'C', '_', 'B', 'S', 'P', 'C'),
+ KC_TAB , KEYCODE_NAME7('K', 'C', '_', 'T', 'A', 'B', 0 ),
+ KC_SPC , KEYCODE_NAME7('K', 'C', '_', 'S', 'P', 'C', 0 ),
+ KC_MINS, KEYCODE_NAME7('K', 'C', '_', 'M', 'I', 'N', 'S'),
+ KC_EQL , KEYCODE_NAME7('K', 'C', '_', 'E', 'Q', 'L', 0 ),
+ KC_LBRC, KEYCODE_NAME7('K', 'C', '_', 'L', 'B', 'R', 'C'),
+ KC_RBRC, KEYCODE_NAME7('K', 'C', '_', 'R', 'B', 'R', 'C'),
+ KC_BSLS, KEYCODE_NAME7('K', 'C', '_', 'B', 'S', 'L', 'S'),
+ KC_NUHS, KEYCODE_NAME7('K', 'C', '_', 'N', 'U', 'H', 'S'),
+ KC_SCLN, KEYCODE_NAME7('K', 'C', '_', 'S', 'C', 'L', 'N'),
+ KC_QUOT, KEYCODE_NAME7('K', 'C', '_', 'Q', 'U', 'O', 'T'),
+ KC_GRV , KEYCODE_NAME7('K', 'C', '_', 'G', 'R', 'V', 0 ),
+ KC_COMM, KEYCODE_NAME7('K', 'C', '_', 'C', 'O', 'M', 'M'),
+ KC_DOT , KEYCODE_NAME7('K', 'C', '_', 'D', 'O', 'T', 0 ),
+ KC_SLSH, KEYCODE_NAME7('K', 'C', '_', 'S', 'L', 'S', 'H'),
+ KC_CAPS, KEYCODE_NAME7('K', 'C', '_', 'C', 'A', 'P', 'S'),
+ KC_PSCR, KEYCODE_NAME7('K', 'C', '_', 'P', 'S', 'C', 'R'),
+ KC_PAUS, KEYCODE_NAME7('K', 'C', '_', 'P', 'A', 'U', 'S'),
+ KC_INS , KEYCODE_NAME7('K', 'C', '_', 'I', 'N', 'S', 0 ),
+ KC_HOME, KEYCODE_NAME7('K', 'C', '_', 'H', 'O', 'M', 'E'),
+ KC_PGUP, KEYCODE_NAME7('K', 'C', '_', 'P', 'G', 'U', 'P'),
+ KC_DEL , KEYCODE_NAME7('K', 'C', '_', 'D', 'E', 'L', 0 ),
+ KC_END , KEYCODE_NAME7('K', 'C', '_', 'E', 'N', 'D', 0 ),
+ KC_PGDN, KEYCODE_NAME7('K', 'C', '_', 'P', 'G', 'D', 'N'),
+ KC_RGHT, KEYCODE_NAME7('K', 'C', '_', 'R', 'G', 'H', 'T'),
+ KC_LEFT, KEYCODE_NAME7('K', 'C', '_', 'L', 'E', 'F', 'T'),
+ KC_DOWN, KEYCODE_NAME7('K', 'C', '_', 'D', 'O', 'W', 'N'),
+ KC_UP , KEYCODE_NAME7('K', 'C', '_', 'U', 'P', 0 , 0 ),
+ KC_NUBS, KEYCODE_NAME7('K', 'C', '_', 'N', 'U', 'B', 'S'),
+ KC_HYPR, KEYCODE_NAME7('K', 'C', '_', 'H', 'Y', 'P', 'R'),
+ KC_MEH , KEYCODE_NAME7('K', 'C', '_', 'M', 'E', 'H', 0 ),
+#ifdef EXTRAKEY_ENABLE
+ KC_WHOM, KEYCODE_NAME7('K', 'C', '_', 'W', 'H', 'O', 'M'),
+ KC_WBAK, KEYCODE_NAME7('K', 'C', '_', 'W', 'B', 'A', 'K'),
+ KC_WFWD, KEYCODE_NAME7('K', 'C', '_', 'W', 'F', 'W', 'D'),
+ KC_WSTP, KEYCODE_NAME7('K', 'C', '_', 'W', 'S', 'T', 'P'),
+ KC_WREF, KEYCODE_NAME7('K', 'C', '_', 'W', 'R', 'E', 'F'),
+ KC_MNXT, KEYCODE_NAME7('K', 'C', '_', 'M', 'N', 'X', 'T'),
+ KC_MPRV, KEYCODE_NAME7('K', 'C', '_', 'M', 'P', 'R', 'V'),
+ KC_MPLY, KEYCODE_NAME7('K', 'C', '_', 'M', 'P', 'L', 'Y'),
+ KC_MUTE, KEYCODE_NAME7('K', 'C', '_', 'M', 'U', 'T', 'E'),
+ KC_VOLU, KEYCODE_NAME7('K', 'C', '_', 'V', 'O', 'L', 'U'),
+ KC_VOLD, KEYCODE_NAME7('K', 'C', '_', 'V', 'O', 'L', 'D'),
+#endif // EXTRAKEY_ENABLE
+#ifdef MOUSEKEY_ENABLE
+ MS_LEFT, KEYCODE_NAME7('M', 'S', '_', 'L', 'E', 'F', 'T'),
+ MS_RGHT, KEYCODE_NAME7('M', 'S', '_', 'R', 'G', 'H', 'T'),
+ MS_UP , KEYCODE_NAME7('M', 'S', '_', 'U', 'P', 0 , 0 ),
+ MS_DOWN, KEYCODE_NAME7('M', 'S', '_', 'D', 'O', 'W', 'N'),
+ MS_WHLL, KEYCODE_NAME7('M', 'S', '_', 'W', 'H', 'L', 'L'),
+ MS_WHLR, KEYCODE_NAME7('M', 'S', '_', 'W', 'H', 'L', 'R'),
+ MS_WHLU, KEYCODE_NAME7('M', 'S', '_', 'W', 'H', 'L', 'U'),
+ MS_WHLD, KEYCODE_NAME7('M', 'S', '_', 'W', 'H', 'L', 'D'),
+#endif // MOUSEKEY_ENABLE
+#ifdef SWAP_HANDS_ENABLE
+ SH_ON , KEYCODE_NAME7('S', 'H', '_', 'O', 'N', 0 , 0 ),
+ SH_OFF , KEYCODE_NAME7('S', 'H', '_', 'O', 'F', 'F', 0 ),
+ SH_MON , KEYCODE_NAME7('S', 'H', '_', 'M', 'O', 'N', 0 ),
+ SH_MOFF, KEYCODE_NAME7('S', 'H', '_', 'M', 'O', 'F', 'F'),
+ SH_TOGG, KEYCODE_NAME7('S', 'H', '_', 'T', 'O', 'G', 'G'),
+ SH_TT , KEYCODE_NAME7('S', 'H', '_', 'T', 'T', 0 , 0 ),
+# if !defined(NO_ACTION_ONESHOT)
+ SH_OS , KEYCODE_NAME7('S', 'H', '_', 'O', 'S', 0 , 0 ),
+# endif // !defined(NO_ACTION_ONESHOT)
+#endif // SWAP_HANDS_ENABLE
+#ifdef LEADER_ENABLE
+ QK_LEAD, KEYCODE_NAME7('Q', 'K', '_', 'L', 'E', 'A', 'D'),
+#endif // LEADER_ENABLE
+#ifdef KEY_LOCK_ENABLE
+ QK_LOCK, KEYCODE_NAME7('Q', 'K', '_', 'L', 'O', 'C', 'K'),
+#endif // KEY_LOCK_ENABLE
+#ifdef TRI_LAYER_ENABLE
+ TL_LOWR, KEYCODE_NAME7('T', 'L', '_', 'L', 'O', 'W', 'R'),
+ TL_UPPR, KEYCODE_NAME7('T', 'L', '_', 'U', 'P', 'P', 'R'),
+#endif // TRI_LAYER_ENABLE
+#ifdef GRAVE_ESC_ENABLE
+ QK_GESC, KEYCODE_NAME7('Q', 'K', '_', 'G', 'E', 'S', 'C'),
+#endif // GRAVE_ESC_ENABLE
+#ifdef CAPS_WORD_ENABLE
+ CW_TOGG, KEYCODE_NAME7('C', 'W', '_', 'T', 'O', 'G', 'G'),
+#endif // CAPS_WORD_ENABLE
+#ifdef SECURE_ENABLE
+ SE_LOCK, KEYCODE_NAME7('S', 'E', '_', 'L', 'O', 'C', 'K'),
+ SE_UNLK, KEYCODE_NAME7('S', 'E', '_', 'U', 'N', 'L', 'K'),
+ SE_TOGG, KEYCODE_NAME7('S', 'E', '_', 'T', 'O', 'G', 'G'),
+ SE_REQ , KEYCODE_NAME7('S', 'E', '_', 'R', 'E', 'Q', 0 ),
+#endif // SECURE_ENABLE
+#ifdef LAYER_LOCK_ENABLE
+ QK_LLCK, KEYCODE_NAME7('Q', 'K', '_', 'L', 'L', 'C', 'K'),
+#endif // LAYER_LOCK_ENABLE
+ EE_CLR , KEYCODE_NAME7('E', 'E', '_', 'C', 'L', 'R', 0 ),
+ QK_BOOT, KEYCODE_NAME7('Q', 'K', '_', 'B', 'O', 'O', 'T'),
+ DB_TOGG, KEYCODE_NAME7('D', 'B', '_', 'T', 'O', 'G', 'G'),
+};
+// clang-format on
+
+/** Users can override this to define names of additional keycodes. */
+__attribute__((weak)) const keycode_string_name_t* keycode_string_names_data_user = NULL;
+__attribute__((weak)) uint16_t keycode_string_names_size_user = 0;
+/** Keyboard vendors can override this to define names of additional keycodes. */
+__attribute__((weak)) const keycode_string_name_t* keycode_string_names_data_kb = NULL;
+__attribute__((weak)) uint16_t keycode_string_names_size_kb = 0;
+/** Names of the 4 mods on each hand. */
+static const char mod_names[] PROGMEM = "CTL\0SFT\0ALT\0GUI";
+/** Internal buffer for holding a stringified keycode. */
+static char buffer[32];
+#define BUFFER_MAX_LEN (sizeof(buffer) - 1)
+static index_t buffer_len;
+
+/** Finds the name of a keycode in `common_names` or returns NULL. */
+static const char* search_common_names(uint16_t keycode) {
+ static uint8_t buffer[8];
+
+ for (int_fast16_t offset = 0; offset < ARRAY_SIZE(common_names); offset += 4) {
+ if (keycode == pgm_read_word(common_names + offset)) {
+ const uint16_t w0 = pgm_read_word(common_names + offset + 1);
+ const uint16_t w1 = pgm_read_word(common_names + offset + 2);
+ const uint16_t w2 = pgm_read_word(common_names + offset + 3);
+ buffer[0] = (uint8_t)w0;
+ buffer[1] = (uint8_t)(w0 >> 8);
+ buffer[2] = '_';
+ buffer[3] = (uint8_t)w1;
+ buffer[4] = (uint8_t)(w1 >> 8);
+ buffer[5] = (uint8_t)w2;
+ buffer[6] = (uint8_t)(w2 >> 8);
+ buffer[7] = 0;
+ return (const char*)buffer;
+ }
+ }
+
+ return NULL;
+}
+
+/**
+ * @brief Finds the name of a keycode in table or returns NULL.
+ *
+ * @param data Pointer to table to be searched.
+ * @param size Numer of entries in the table.
+ * @return Name string for the keycode, or NULL if not found.
+ */
+static const char* search_table(const keycode_string_name_t* data, uint16_t size, uint16_t keycode) {
+ if (data != NULL) {
+ for (uint16_t i = 0; i < size; ++i) {
+ if (data[i].keycode == keycode) {
+ return data[i].name;
+ }
+ }
+ }
+ return NULL;
+}
+
+/** Formats `number` in `base`, either 10 or 16. */
+static char* number_string(uint16_t number, int8_t base) {
+ static char result[7];
+ result[sizeof(result) - 1] = '\0';
+ index_t i = sizeof(result) - 1;
+ do {
+ const uint8_t digit = number % base;
+ number /= base;
+ result[--i] = (digit < 10) ? (char)(digit + UINT8_C('0')) : (char)(digit + (UINT8_C('A') - 10));
+ } while (number > 0 && i > 0);
+
+ if (base == 16 && i >= 2) {
+ result[--i] = 'x';
+ result[--i] = '0';
+ }
+ return result + i;
+}
+
+/** Appends `str` to `buffer`, truncating if the result would overflow. */
+static void append(const char* str) {
+ char* dest = buffer + buffer_len;
+ index_t i;
+ for (i = 0; buffer_len + i < BUFFER_MAX_LEN && str[i]; ++i) {
+ dest[i] = str[i];
+ }
+ buffer_len += i;
+ buffer[buffer_len] = '\0';
+}
+
+/** Same as append(), but where `str` is a PROGMEM string. */
+static void append_P(const char* str) {
+ char* dest = buffer + buffer_len;
+ index_t i;
+ for (i = 0; buffer_len + i < BUFFER_MAX_LEN; ++i) {
+ const char c = pgm_read_byte(&str[i]);
+ if (c == '\0') {
+ break;
+ }
+ dest[i] = c;
+ }
+ buffer_len += i;
+ buffer[buffer_len] = '\0';
+}
+
+/** Appends a single char to `buffer` if there is space. */
+static void append_char(char c) {
+ if (buffer_len < BUFFER_MAX_LEN) {
+ buffer[buffer_len] = c;
+ buffer[++buffer_len] = '\0';
+ }
+}
+
+/** Formats `number` in `base`, either 10 or 16, and appends it to `buffer`. */
+static void append_number(uint16_t number, int8_t base) {
+ append(number_string(number, base));
+}
+
+/** Stringifies 5-bit mods and appends it to `buffer`. */
+static void append_5_bit_mods(uint8_t mods) {
+ const bool is_rhs = mods > 15;
+ const uint8_t csag = mods & 15;
+ if (csag != 0 && (csag & (csag - 1)) == 0) { // One mod is set.
+ append_P(PSTR("MOD_"));
+ append_char(is_rhs ? 'R' : 'L');
+ append_P(&mod_names[4 * biton(csag)]);
+ } else { // Fallback: write the mod as a hex value.
+ append_number(mods, 16);
+ }
+}
+
+/**
+ * @brief Writes a keycode of the format `name` + "(" + `param` + ")".
+ * @note `name` is a PROGMEM string, `param` is not.
+ */
+static void append_unary_keycode(const char* name, const char* param) {
+ append_P(name);
+ append_char('(');
+ append(param);
+ append_char(')');
+}
+
+/**
+ * @brief Writes a keycode of the format `name` + `number`.
+ * @note `name` is a PROGMEM string.
+ */
+static void append_numbered_keycode(const char* name, uint16_t number) {
+ append_P(name);
+ append_number(number, 10);
+}
+
+/** Stringifies `keycode` and appends it to `buffer`. */
+static void append_keycode(uint16_t keycode) {
+ // In case there is overlap among tables, search `keycode_string_names_user`
+ // first so that it takes precedence.
+ const char* keycode_name = search_table(keycode_string_names_data_user, keycode_string_names_size_user, keycode);
+ if (keycode_name) {
+ append(keycode_name);
+ return;
+ }
+ keycode_name = search_table(keycode_string_names_data_kb, keycode_string_names_size_kb, keycode);
+ if (keycode_name) {
+ append(keycode_name);
+ return;
+ }
+ keycode_name = search_common_names(keycode);
+ if (keycode_name) {
+ append(keycode_name);
+ return;
+ }
+
+ if (keycode <= 255) { // Basic keycodes.
+ switch (keycode) {
+ // Modifiers KC_LSFT, KC_RCTL, etc.
+ case MODIFIER_KEYCODE_RANGE: {
+ const uint8_t i = keycode - KC_LCTL;
+ const bool is_rhs = i > 3;
+ append_P(PSTR("KC_"));
+ append_char(is_rhs ? 'R' : 'L');
+ append_P(&mod_names[4 * (i & 3)]);
+ }
+ return;
+
+ // Letters A-Z.
+ case KC_A ... KC_Z:
+ append_P(PSTR("KC_"));
+ append_char((char)(keycode + (UINT8_C('A') - KC_A)));
+ return;
+
+ // Digits 0-9 (NOTE: Unlike the ASCII order, KC_0 comes *after* KC_9.)
+ case KC_1 ... KC_0:
+ append_numbered_keycode(PSTR("KC_"), (keycode - (KC_1 - 1)) % 10);
+ return;
+
+ // Keypad digits.
+ case KC_KP_1 ... KC_KP_0:
+ append_numbered_keycode(PSTR("KC_KP_"), (keycode - (KC_KP_1 - 1)) % 10);
+ return;
+
+ // Function keys. F1-F12 and F13-F24 are coded in separate ranges.
+ case KC_F1 ... KC_F12:
+ append_numbered_keycode(PSTR("KC_F"), keycode - (KC_F1 - 1));
+ return;
+
+ case KC_F13 ... KC_F24:
+ append_numbered_keycode(PSTR("KC_F"), keycode - (KC_F13 - 13));
+ return;
+ }
+ }
+
+ // clang-format off
+ switch (keycode) {
+ // A modified keycode, like S(KC_1) for Shift + 1 = !. This implementation
+ // only covers modified keycodes where one modifier is applied, e.g. a
+ // Ctrl + Shift + kc or Hyper + kc keycode is not formatted.
+ case QK_MODS ... QK_MODS_MAX: {
+ uint8_t mods = QK_MODS_GET_MODS(keycode);
+ const bool is_rhs = mods > 15;
+ mods &= 15;
+ if (mods != 0 && (mods & (mods - 1)) == 0) { // One mod is set.
+ const char* name = &mod_names[4 * biton(mods)];
+ if (is_rhs) {
+ append_char('R');
+ append_P(name);
+ } else {
+ append_char(pgm_read_byte(&name[0]));
+ }
+ append_char('(');
+ append_keycode(QK_MODS_GET_BASIC_KEYCODE(keycode));
+ append_char(')');
+ return;
+ }
+ } break;
+
+#if !defined(NO_ACTION_ONESHOT)
+ case QK_ONE_SHOT_MOD ... QK_ONE_SHOT_MOD_MAX: // One-shot mod OSM(mod) key.
+ append_P(PSTR("OSM("));
+ append_5_bit_mods(QK_ONE_SHOT_MOD_GET_MODS(keycode));
+ append_char(')');
+ return;
+#endif // !defined(NO_ACTION_ONESHOT)
+
+ // Various layer switch keys.
+ case QK_LAYER_TAP ... QK_LAYER_TAP_MAX: // Layer-tap LT(layer,kc) key.
+ append_P(PSTR("LT("));
+ append_number(QK_LAYER_TAP_GET_LAYER(keycode), 10);
+ append_char(',');
+ append_keycode(QK_LAYER_TAP_GET_TAP_KEYCODE(keycode));
+ append_char(')');
+ return;
+
+ case QK_LAYER_MOD ... QK_LAYER_MOD_MAX: // LM(layer,mod) key.
+ append_P(PSTR("LM("));
+ append_number(QK_LAYER_MOD_GET_LAYER(keycode), 10);
+ append_char(',');
+ append_5_bit_mods(QK_LAYER_MOD_GET_MODS(keycode));
+ append_char(')');
+ return;
+
+ case QK_TO ... QK_TO_MAX: // TO(layer) key.
+ append_unary_keycode(PSTR("TO"), number_string(QK_TO_GET_LAYER(keycode), 10));
+ return;
+
+ case QK_MOMENTARY ... QK_MOMENTARY_MAX: // MO(layer) key.
+ append_unary_keycode(PSTR("MO"), number_string(QK_MOMENTARY_GET_LAYER(keycode), 10));
+ return;
+
+ case QK_DEF_LAYER ... QK_DEF_LAYER_MAX: // DF(layer) key.
+ append_unary_keycode(PSTR("DF"), number_string(QK_DEF_LAYER_GET_LAYER(keycode), 10));
+ return;
+
+ case QK_TOGGLE_LAYER ... QK_TOGGLE_LAYER_MAX: // TG(layer) key.
+ append_unary_keycode(PSTR("TG"), number_string(QK_TOGGLE_LAYER_GET_LAYER(keycode), 10));
+ return;
+
+#if !defined(NO_ACTION_ONESHOT)
+ case QK_ONE_SHOT_LAYER ... QK_ONE_SHOT_LAYER_MAX: // OSL(layer) key.
+ append_unary_keycode(PSTR("OSL"), number_string(QK_ONE_SHOT_LAYER_GET_LAYER(keycode), 10));
+ return;
+#endif // !defined(NO_ACTION_ONESHOT)
+
+ case QK_LAYER_TAP_TOGGLE ... QK_LAYER_TAP_TOGGLE_MAX: // TT(layer) key.
+ append_unary_keycode(PSTR("TT"), number_string(QK_LAYER_TAP_TOGGLE_GET_LAYER(keycode), 10));
+ return;
+
+ case QK_PERSISTENT_DEF_LAYER ... QK_PERSISTENT_DEF_LAYER_MAX: // PDF(layer) key.
+ append_unary_keycode(PSTR("PDF"), number_string(QK_PERSISTENT_DEF_LAYER_GET_LAYER(keycode), 10));
+ return;
+
+ // Mod-tap MT(mod,kc) key. This implementation formats the MT keys where
+ // one modifier is applied. For MT keys with multiple modifiers, the mod
+ // arg is written numerically as a hex code.
+ case QK_MOD_TAP ... QK_MOD_TAP_MAX: {
+ uint8_t mods = QK_MOD_TAP_GET_MODS(keycode);
+ const bool is_rhs = mods > 15;
+ const uint8_t csag = mods & 15;
+ if (csag != 0 && (csag & (csag - 1)) == 0) { // One mod is set.
+ append_char(is_rhs ? 'R' : 'L');
+ append_P(&mod_names[4 * biton(csag)]);
+ append_P(PSTR("_T("));
+ } else if (mods == MOD_HYPR) {
+ append_P(PSTR("HYPR_T("));
+ } else if (mods == MOD_MEH) {
+ append_P(PSTR("MEH_T("));
+ } else {
+ append_P(PSTR("MT("));
+ append_number(mods, 16);
+ append_char(',');
+ }
+ append_keycode(QK_MOD_TAP_GET_TAP_KEYCODE(keycode));
+ append_char(')');
+ } return;
+
+ case QK_TAP_DANCE ... QK_TAP_DANCE_MAX: // Tap dance TD(i) key.
+ append_unary_keycode(PSTR("TD"), number_string(QK_TAP_DANCE_GET_INDEX(keycode), 10));
+ return;
+
+#ifdef UNICODE_ENABLE
+ case QK_UNICODE ... QK_UNICODE_MAX: // Unicode UC(codepoint) key.
+ append_unary_keycode(PSTR("UC"), number_string(QK_UNICODE_GET_CODE_POINT(keycode), 16));
+ return;
+#elif defined(UNICODEMAP_ENABLE)
+ case QK_UNICODEMAP ... QK_UNICODEMAP_MAX: // Unicode Map UM(i) key.
+ append_unary_keycode(PSTR("UM"), number_string(QK_UNICODEMAP_GET_INDEX(keycode), 10));
+ return;
+
+ case QK_UNICODEMAP_PAIR ... QK_UNICODEMAP_PAIR_MAX: { // UP(i,j) key.
+ const uint8_t i = QK_UNICODEMAP_PAIR_GET_UNSHIFTED_INDEX(keycode);
+ const uint8_t j = QK_UNICODEMAP_PAIR_GET_SHIFTED_INDEX(keycode);
+ append_P(PSTR("UP("));
+ append_number(i, 10);
+ append_char(',');
+ append_number(j, 10);
+ append_char(')');
+ } return;
+#endif
+#ifdef MOUSEKEY_ENABLE
+ case MS_BTN1 ... MS_BTN8: // Mouse button keycode.
+ append_numbered_keycode(PSTR("MS_BTN"), keycode - (MS_BTN1 - 1));
+ return;
+#endif // MOUSEKEY_ENABLE
+#ifdef SWAP_HANDS_ENABLE
+ case QK_SWAP_HANDS ... QK_SWAP_HANDS_MAX: // Swap Hands SH_T(kc) key.
+ if (!IS_SWAP_HANDS_KEYCODE(keycode)) {
+ append_P(PSTR("SH_T("));
+ append_keycode(QK_SWAP_HANDS_GET_TAP_KEYCODE(keycode));
+ append_char(')');
+ return;
+ }
+ break;
+#endif // SWAP_HANDS_ENABLE
+#ifdef JOYSTICK_ENABLE
+ case JOYSTICK_KEYCODE_RANGE: // Joystick JS_ key.
+ append_numbered_keycode(PSTR("JS_"), keycode - JS_0);
+ return;
+#endif // JOYSTICK_ENABLE
+#ifdef PROGRAMMABLE_BUTTON_ENABLE
+ case PROGRAMMABLE_BUTTON_KEYCODE_RANGE: // Programmable button PB_ key.
+ append_numbered_keycode(PSTR("PB_"), keycode - (PB_1 - 1));
+ return;
+#endif // PROGRAMMABLE_BUTTON_ENABLE
+
+ case MACRO_KEYCODE_RANGE: // Macro range MC_ keycode.
+ append_numbered_keycode(PSTR("MC_"), keycode - MC_0);
+ return;
+
+ case KB_KEYCODE_RANGE: // Keyboard range keycode.
+ append_numbered_keycode(PSTR("QK_KB_"), keycode - QK_KB_0);
+ return;
+
+ case USER_KEYCODE_RANGE: // User range keycode.
+ append_numbered_keycode(PSTR("QK_USER_"), keycode - QK_USER_0);
+ return;
+
+ // It would take a nontrivial amount of string data to cover some
+ // feature-specific keycodes, such as those for MIDI and lighting. As a
+ // fallback while still providing some information, we stringify
+ // remaining keys in known code ranges as "QK_<feature>+<number>".
+#ifdef MAGIC_ENABLE
+ case MAGIC_KEYCODE_RANGE:
+ append_numbered_keycode(PSTR("QK_MAGIC+"), keycode - QK_MAGIC);
+ return;
+#endif // MAGIC_ENABLE
+#ifdef MIDI_ENABLE
+ case MIDI_KEYCODE_RANGE:
+ append_numbered_keycode(PSTR("QK_MIDI+"), keycode - QK_MIDI);
+ return;
+#endif // MIDI_ENABLE
+#ifdef SEQUENCER_ENABLE
+ case SEQUENCER_KEYCODE_RANGE:
+ append_numbered_keycode(PSTR("QK_SEQUENCER+"), keycode - QK_SEQUENCER);
+ return;
+#endif // SEQUENCER_ENABLE
+#ifdef AUDIO_ENABLE
+ case AUDIO_KEYCODE_RANGE:
+ append_numbered_keycode(PSTR("QK_AUDIO+"), keycode - QK_AUDIO);
+ return;
+#endif // AUDIO_ENABLE
+#if defined(BACKLIGHT_ENABLE) || defined(LED_MATRIX_ENABLE) || defined(RGBLIGHT_ENABLED) || defined(RGB_MATRIX_ENABLE) // Lighting-related features.
+ case QK_LIGHTING ... QK_LIGHTING_MAX:
+ append_numbered_keycode(PSTR("QK_LIGHTING+"), keycode - QK_LIGHTING);
+ return;
+#endif // defined(BACKLIGHT_ENABLE) || defined(LED_MATRIX_ENABLE) || defined(RGBLIGHT_ENABLED) || defined(RGB_MATRIX_ENABLE)
+#ifdef STENO_ENABLE
+ case STENO_KEYCODE_RANGE:
+ append_numbered_keycode(PSTR("QK_STENO+"), keycode - QK_STENO);
+ return;
+#endif // AUDIO_ENABLE
+#ifdef BLUETOOTH_ENABLE
+ case CONNECTION_KEYCODE_RANGE:
+ append_numbered_keycode(PSTR("QK_CONNECTION+"), keycode - QK_CONNECTION);
+ return;
+#endif // BLUETOOTH_ENABLE
+ case QUANTUM_KEYCODE_RANGE:
+ append_numbered_keycode(PSTR("QK_QUANTUM+"), keycode - QK_QUANTUM);
+ return;
+ }
+ // clang-format on
+
+ append_number(keycode, 16); // Fallback: write keycode as hex value.
+}
+
+const char* get_keycode_string(uint16_t keycode) {
+ buffer_len = 0;
+ buffer[0] = '\0';
+ append_keycode(keycode);
+ return buffer;
+}
diff --git a/quantum/keycode_string.h b/quantum/keycode_string.h
new file mode 100644
index 0000000000..1315613a80
--- /dev/null
+++ b/quantum/keycode_string.h
@@ -0,0 +1,134 @@
+// Copyright 2024-2025 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.
+
+#pragma once
+
+#include <stdint.h>
+
+#if KEYCODE_STRING_ENABLE
+
+/**
+ * @brief Formats a QMK keycode as a human-readable string.
+ *
+ * Given a keycode, like `KC_A`, this function returns a formatted string, like
+ * "KC_A". This is useful for debugging and diagnostics so that keys are more
+ * easily identified than they would be by raw numerical codes.
+ *
+ * @note The returned char* string should be used right away. The string memory
+ * is reused and will be overwritten by the next call to `keycode_string()`.
+ *
+ * Many common QMK keycodes are understood by this function, but not all.
+ * Recognized keycodes include:
+ *
+ * - Most basic keycodes, including letters `KC_A` - `KC_Z`, digits `KC_0` -
+ * `KC_9`, function keys `KC_F1` - `KC_F24`, and modifiers like `KC_LSFT`.
+ *
+ * - Modified basic keycodes, like `S(KC_1)` (Shift + 1 = !).
+ *
+ * - `MO`, `TO`, `TG`, `OSL`, `LM(layer,mod)`, `LT(layer,kc)` layer switches.
+ *
+ * - One-shot mod `OSM(mod)` keycodes.
+ *
+ * - Mod-tap `MT(mod, kc)` keycodes.
+ *
+ * - Tap dance keycodes `TD(i)`.
+ *
+ * - Swap hands keycodes `SH_T(kc)`, `SH_TOGG`, etc.
+ *
+ * - Joystick keycodes `JS_n`.
+ *
+ * - Programmable button keycodes `PB_n`.
+ *
+ * - Unicode `UC(codepoint)` and Unicode Map `UM(i)` and `UP(i,j)` keycodes.
+ *
+ * - Keyboard range keycodes `QK_KB_*`.
+ *
+ * - User range (SAFE_RANGE) keycodes `QK_USER_*`.
+ *
+ * Keycodes involving mods like `OSM`, `LM`, `MT` are fully supported only where
+ * a single mod is applied.
+ *
+ * Unrecognized keycodes are printed numerically as hex values like `0x1ABC`.
+ *
+ * Optionally, use `keycode_string_names_user` or `keycode_string_names_kb` to
+ * define names for additional keycodes or override how any of the above are
+ * formatted.
+ *
+ * @param keycode QMK keycode.
+ * @return Stringified keycode.
+ */
+const char* get_keycode_string(uint16_t keycode);
+
+/** Defines a human-readable name for a keycode. */
+typedef struct {
+ uint16_t keycode;
+ const char* name;
+} keycode_string_name_t;
+
+// clang-format off
+/**
+ * @brief Defines names for additional keycodes for `get_keycode_string()`.
+ *
+ * Define `KEYCODE_STRING_NAMES_USER` in your keymap.c to add names for
+ * additional keycodes to `keycode_string()`. This table may also be used to
+ * override how `keycode_string()` formats a keycode. For example, supposing
+ * keymap.c defines `MYMACRO1` and `MYMACRO2` as custom keycodes:
+ *
+ * KEYCODE_STRING_NAMES_USER(
+ * KEYCODE_STRING_NAME(MYMACRO1),
+ * KEYCODE_STRING_NAME(MYMACRO2),
+ * KEYCODE_STRING_NAME(KC_EXLM),
+ * );
+ *
+ * The above defines names for `MYMACRO1` and `MYMACRO2`, and overrides
+ * `KC_EXLM` to format as "KC_EXLM" instead of the default "S(KC_1)".
+ */
+# define KEYCODE_STRING_NAMES_USER(...) \
+ static const keycode_string_name_t keycode_string_names_user[] = {__VA_ARGS__}; \
+ uint16_t keycode_string_names_size_user = \
+ sizeof(keycode_string_names_user) / sizeof(keycode_string_name_t); \
+ const keycode_string_name_t* keycode_string_names_data_user = \
+ keycode_string_names_user
+
+/** Same as above, but defines keycode string names at the keyboard level. */
+# define KEYCODE_STRING_NAMES_KB(...) \
+ static const keycode_string_name_t keycode_string_names_kb[] = {__VA_ARGS__}; \
+ uint16_t keycode_string_names_size_kb = \
+ sizeof(keycode_string_names_kb) / sizeof(keycode_string_name_t); \
+ const keycode_string_name_t* keycode_string_names_data_kb = \
+ keycode_string_names_kb
+
+/** Helper to define a keycode_string_name_t. */
+# define KEYCODE_STRING_NAME(kc) \
+ { (kc), #kc }
+// clang-format on
+
+extern const keycode_string_name_t* keycode_string_names_data_user;
+extern uint16_t keycode_string_names_size_user;
+extern const keycode_string_name_t* keycode_string_names_data_kb;
+extern uint16_t keycode_string_names_size_kb;
+
+#else
+
+// When keycode_string is disabled, fall back to printing keycodes numerically
+// as decimal values, using get_u16_str() from quantum.c.
+# define get_keycode_string(kc) get_u16_str(kc, ' ')
+
+const char* get_u16_str(uint16_t curr_num, char curr_pad);
+
+# define KEYCODE_STRING_NAMES_USER(...)
+# define KEYCODE_STRING_NAMES_KB(...)
+# define KEYCODE_STRING_NAME(kc)
+
+#endif // KEYCODE_STRING_ENABLE
diff --git a/quantum/led_matrix/led_matrix.c b/quantum/led_matrix/led_matrix.c
index 58263c62e3..f9d76e2776 100644
--- a/quantum/led_matrix/led_matrix.c
+++ b/quantum/led_matrix/led_matrix.c
@@ -19,7 +19,6 @@
#include "led_matrix.h"
#include "progmem.h"
-#include "eeprom.h"
#include "eeconfig.h"
#include "keyboard.h"
#include "sync_timer.h"
@@ -86,9 +85,9 @@ static last_hit_t last_hit_buffer;
const uint8_t k_led_matrix_split[2] = LED_MATRIX_SPLIT;
#endif
-EECONFIG_DEBOUNCE_HELPER(led_matrix, EECONFIG_LED_MATRIX, led_matrix_eeconfig);
+EECONFIG_DEBOUNCE_HELPER(led_matrix, led_matrix_eeconfig);
-void eeconfig_update_led_matrix(void) {
+void eeconfig_force_flush_led_matrix(void) {
eeconfig_flush_led_matrix(true);
}
diff --git a/quantum/led_matrix/led_matrix.h b/quantum/led_matrix/led_matrix.h
index a3468a2003..0006d487e9 100644
--- a/quantum/led_matrix/led_matrix.h
+++ b/quantum/led_matrix/led_matrix.h
@@ -115,7 +115,7 @@ enum led_matrix_effects {
};
void eeconfig_update_led_matrix_default(void);
-void eeconfig_update_led_matrix(void);
+void eeconfig_force_flush_led_matrix(void);
void eeconfig_debug_led_matrix(void);
uint8_t led_matrix_map_row_column_to_led_kb(uint8_t row, uint8_t column, uint8_t *led_i);
diff --git a/quantum/led_matrix/led_matrix_types.h b/quantum/led_matrix/led_matrix_types.h
index 5a516ceb10..810420f46f 100644
--- a/quantum/led_matrix/led_matrix_types.h
+++ b/quantum/led_matrix/led_matrix_types.h
@@ -71,7 +71,7 @@ typedef struct PACKED {
uint8_t flags[LED_MATRIX_LED_COUNT];
} led_config_t;
-typedef union {
+typedef union led_eeconfig_t {
uint32_t raw;
struct PACKED {
uint8_t enable : 2;
diff --git a/quantum/logging/debug.h b/quantum/logging/debug.h
index b0d9b9a10e..6675680ec7 100644
--- a/quantum/logging/debug.h
+++ b/quantum/logging/debug.h
@@ -28,7 +28,7 @@ extern "C" {
/*
* Debug output control
*/
-typedef union {
+typedef union debug_config_t {
struct {
bool enable : 1;
bool matrix : 1;
diff --git a/quantum/nvm/eeprom/nvm_dynamic_keymap.c b/quantum/nvm/eeprom/nvm_dynamic_keymap.c
new file mode 100644
index 0000000000..5f514acc1a
--- /dev/null
+++ b/quantum/nvm/eeprom/nvm_dynamic_keymap.c
@@ -0,0 +1,193 @@
+// Copyright 2024 Nick Brassel (@tzarc)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#include "keycodes.h"
+#include "eeprom.h"
+#include "dynamic_keymap.h"
+#include "nvm_dynamic_keymap.h"
+#include "nvm_eeprom_eeconfig_internal.h"
+#include "nvm_eeprom_via_internal.h"
+
+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+
+#ifdef ENCODER_ENABLE
+# include "encoder.h"
+#endif
+
+#ifdef VIA_ENABLE
+# include "via.h"
+# define DYNAMIC_KEYMAP_EEPROM_START (VIA_EEPROM_CONFIG_END)
+#else
+# define DYNAMIC_KEYMAP_EEPROM_START (EECONFIG_SIZE)
+#endif
+
+#ifndef DYNAMIC_KEYMAP_EEPROM_MAX_ADDR
+# define DYNAMIC_KEYMAP_EEPROM_MAX_ADDR (TOTAL_EEPROM_BYTE_COUNT - 1)
+#endif
+
+_Static_assert(DYNAMIC_KEYMAP_EEPROM_MAX_ADDR <= (TOTAL_EEPROM_BYTE_COUNT - 1), "DYNAMIC_KEYMAP_EEPROM_MAX_ADDR is configured to use more space than what is available for the selected EEPROM driver");
+
+// Due to usage of uint16_t check for max 65535
+_Static_assert(DYNAMIC_KEYMAP_EEPROM_MAX_ADDR <= 65535, "DYNAMIC_KEYMAP_EEPROM_MAX_ADDR must be less than 65536");
+
+// If DYNAMIC_KEYMAP_EEPROM_ADDR not explicitly defined in config.h,
+#ifndef DYNAMIC_KEYMAP_EEPROM_ADDR
+# define DYNAMIC_KEYMAP_EEPROM_ADDR DYNAMIC_KEYMAP_EEPROM_START
+#endif
+
+// Dynamic encoders starts after dynamic keymaps
+#ifndef DYNAMIC_KEYMAP_ENCODER_EEPROM_ADDR
+# define DYNAMIC_KEYMAP_ENCODER_EEPROM_ADDR (DYNAMIC_KEYMAP_EEPROM_ADDR + (DYNAMIC_KEYMAP_LAYER_COUNT * MATRIX_ROWS * MATRIX_COLS * 2))
+#endif
+
+// Dynamic macro starts after dynamic encoders, but only when using ENCODER_MAP
+#ifdef ENCODER_MAP_ENABLE
+# ifndef DYNAMIC_KEYMAP_MACRO_EEPROM_ADDR
+# define DYNAMIC_KEYMAP_MACRO_EEPROM_ADDR (DYNAMIC_KEYMAP_ENCODER_EEPROM_ADDR + (DYNAMIC_KEYMAP_LAYER_COUNT * NUM_ENCODERS * 2 * 2))
+# endif // DYNAMIC_KEYMAP_MACRO_EEPROM_ADDR
+#else // ENCODER_MAP_ENABLE
+# ifndef DYNAMIC_KEYMAP_MACRO_EEPROM_ADDR
+# define DYNAMIC_KEYMAP_MACRO_EEPROM_ADDR (DYNAMIC_KEYMAP_ENCODER_EEPROM_ADDR)
+# endif // DYNAMIC_KEYMAP_MACRO_EEPROM_ADDR
+#endif // ENCODER_MAP_ENABLE
+
+// Sanity check that dynamic keymaps fit in available EEPROM
+// If there's not 100 bytes available for macros, then something is wrong.
+// The keyboard should override DYNAMIC_KEYMAP_LAYER_COUNT to reduce it,
+// or DYNAMIC_KEYMAP_EEPROM_MAX_ADDR to increase it, *only if* the microcontroller has
+// more than the default.
+_Static_assert((DYNAMIC_KEYMAP_EEPROM_MAX_ADDR) - (DYNAMIC_KEYMAP_MACRO_EEPROM_ADDR) >= 100, "Dynamic keymaps are configured to use more EEPROM than is available.");
+
+#ifndef TOTAL_EEPROM_BYTE_COUNT
+# error Unknown total EEPROM size. Cannot derive maximum for dynamic keymaps.
+#endif
+// Dynamic macros are stored after the keymaps and use what is available
+// up to and including DYNAMIC_KEYMAP_EEPROM_MAX_ADDR.
+#ifndef DYNAMIC_KEYMAP_MACRO_EEPROM_SIZE
+# define DYNAMIC_KEYMAP_MACRO_EEPROM_SIZE (DYNAMIC_KEYMAP_EEPROM_MAX_ADDR - DYNAMIC_KEYMAP_MACRO_EEPROM_ADDR + 1)
+#endif
+
+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+
+void nvm_dynamic_keymap_erase(void) {
+ // No-op, nvm_eeconfig_erase() will have already erased EEPROM if necessary.
+}
+
+void nvm_dynamic_keymap_macro_erase(void) {
+ // No-op, nvm_eeconfig_erase() will have already erased EEPROM if necessary.
+}
+
+static inline void *dynamic_keymap_key_to_eeprom_address(uint8_t layer, uint8_t row, uint8_t column) {
+ return ((void *)DYNAMIC_KEYMAP_EEPROM_ADDR) + (layer * MATRIX_ROWS * MATRIX_COLS * 2) + (row * MATRIX_COLS * 2) + (column * 2);
+}
+
+uint16_t nvm_dynamic_keymap_read_keycode(uint8_t layer, uint8_t row, uint8_t column) {
+ if (layer >= DYNAMIC_KEYMAP_LAYER_COUNT || row >= MATRIX_ROWS || column >= MATRIX_COLS) return KC_NO;
+ void *address = dynamic_keymap_key_to_eeprom_address(layer, row, column);
+ // Big endian, so we can read/write EEPROM directly from host if we want
+ uint16_t keycode = eeprom_read_byte(address) << 8;
+ keycode |= eeprom_read_byte(address + 1);
+ return keycode;
+}
+
+void nvm_dynamic_keymap_update_keycode(uint8_t layer, uint8_t row, uint8_t column, uint16_t keycode) {
+ if (layer >= DYNAMIC_KEYMAP_LAYER_COUNT || row >= MATRIX_ROWS || column >= MATRIX_COLS) return;
+ void *address = dynamic_keymap_key_to_eeprom_address(layer, row, column);
+ // Big endian, so we can read/write EEPROM directly from host if we want
+ eeprom_update_byte(address, (uint8_t)(keycode >> 8));
+ eeprom_update_byte(address + 1, (uint8_t)(keycode & 0xFF));
+}
+
+#ifdef ENCODER_MAP_ENABLE
+static void *dynamic_keymap_encoder_to_eeprom_address(uint8_t layer, uint8_t encoder_id) {
+ return ((void *)DYNAMIC_KEYMAP_ENCODER_EEPROM_ADDR) + (layer * NUM_ENCODERS * 2 * 2) + (encoder_id * 2 * 2);
+}
+
+uint16_t nvm_dynamic_keymap_read_encoder(uint8_t layer, uint8_t encoder_id, bool clockwise) {
+ if (layer >= DYNAMIC_KEYMAP_LAYER_COUNT || encoder_id >= NUM_ENCODERS) return KC_NO;
+ void *address = dynamic_keymap_encoder_to_eeprom_address(layer, encoder_id);
+ // Big endian, so we can read/write EEPROM directly from host if we want
+ uint16_t keycode = ((uint16_t)eeprom_read_byte(address + (clockwise ? 0 : 2))) << 8;
+ keycode |= eeprom_read_byte(address + (clockwise ? 0 : 2) + 1);
+ return keycode;
+}
+
+void nvm_dynamic_keymap_update_encoder(uint8_t layer, uint8_t encoder_id, bool clockwise, uint16_t keycode) {
+ if (layer >= DYNAMIC_KEYMAP_LAYER_COUNT || encoder_id >= NUM_ENCODERS) return;
+ void *address = dynamic_keymap_encoder_to_eeprom_address(layer, encoder_id);
+ // Big endian, so we can read/write EEPROM directly from host if we want
+ eeprom_update_byte(address + (clockwise ? 0 : 2), (uint8_t)(keycode >> 8));
+ eeprom_update_byte(address + (clockwise ? 0 : 2) + 1, (uint8_t)(keycode & 0xFF));
+}
+#endif // ENCODER_MAP_ENABLE
+
+void nvm_dynamic_keymap_read_buffer(uint32_t offset, uint32_t size, uint8_t *data) {
+ uint32_t dynamic_keymap_eeprom_size = DYNAMIC_KEYMAP_LAYER_COUNT * MATRIX_ROWS * MATRIX_COLS * 2;
+ void * source = (void *)(uintptr_t)(DYNAMIC_KEYMAP_EEPROM_ADDR + offset);
+ uint8_t *target = data;
+ for (uint32_t i = 0; i < size; i++) {
+ if (offset + i < dynamic_keymap_eeprom_size) {
+ *target = eeprom_read_byte(source);
+ } else {
+ *target = 0x00;
+ }
+ source++;
+ target++;
+ }
+}
+
+void nvm_dynamic_keymap_update_buffer(uint32_t offset, uint32_t size, uint8_t *data) {
+ uint32_t dynamic_keymap_eeprom_size = DYNAMIC_KEYMAP_LAYER_COUNT * MATRIX_ROWS * MATRIX_COLS * 2;
+ void * target = (void *)(uintptr_t)(DYNAMIC_KEYMAP_EEPROM_ADDR + offset);
+ uint8_t *source = data;
+ for (uint32_t i = 0; i < size; i++) {
+ if (offset + i < dynamic_keymap_eeprom_size) {
+ eeprom_update_byte(target, *source);
+ }
+ source++;
+ target++;
+ }
+}
+
+uint32_t nvm_dynamic_keymap_macro_size(void) {
+ return DYNAMIC_KEYMAP_MACRO_EEPROM_SIZE;
+}
+
+void nvm_dynamic_keymap_macro_read_buffer(uint32_t offset, uint32_t size, uint8_t *data) {
+ void * source = (void *)(uintptr_t)(DYNAMIC_KEYMAP_MACRO_EEPROM_ADDR + offset);
+ uint8_t *target = data;
+ for (uint16_t i = 0; i < size; i++) {
+ if (offset + i < DYNAMIC_KEYMAP_MACRO_EEPROM_SIZE) {
+ *target = eeprom_read_byte(source);
+ } else {
+ *target = 0x00;
+ }
+ source++;
+ target++;
+ }
+}
+
+void nvm_dynamic_keymap_macro_update_buffer(uint32_t offset, uint32_t size, uint8_t *data) {
+ void * target = (void *)(uintptr_t)(DYNAMIC_KEYMAP_MACRO_EEPROM_ADDR + offset);
+ uint8_t *source = data;
+ for (uint16_t i = 0; i < size; i++) {
+ if (offset + i < DYNAMIC_KEYMAP_MACRO_EEPROM_SIZE) {
+ eeprom_update_byte(target, *source);
+ }
+ source++;
+ target++;
+ }
+}
+
+void nvm_dynamic_keymap_macro_reset(void) {
+ void * start = (void *)(uintptr_t)(DYNAMIC_KEYMAP_MACRO_EEPROM_ADDR);
+ void * end = (void *)(uintptr_t)(DYNAMIC_KEYMAP_MACRO_EEPROM_ADDR + DYNAMIC_KEYMAP_MACRO_EEPROM_SIZE);
+ long remaining = end - start;
+ uint8_t dummy[16] = {0};
+ for (int i = 0; i < DYNAMIC_KEYMAP_MACRO_EEPROM_SIZE; i += sizeof(dummy)) {
+ int this_loop = remaining < sizeof(dummy) ? remaining : sizeof(dummy);
+ eeprom_update_block(dummy, start, this_loop);
+ start += this_loop;
+ remaining -= this_loop;
+ }
+}
diff --git a/quantum/nvm/eeprom/nvm_eeconfig.c b/quantum/nvm/eeprom/nvm_eeconfig.c
new file mode 100644
index 0000000000..d9495d2753
--- /dev/null
+++ b/quantum/nvm/eeprom/nvm_eeconfig.c
@@ -0,0 +1,305 @@
+// Copyright 2024 Nick Brassel (@tzarc)
+// SPDX-License-Identifier: GPL-2.0-or-later
+#include <string.h>
+#include "nvm_eeconfig.h"
+#include "nvm_eeprom_eeconfig_internal.h"
+#include "util.h"
+#include "eeconfig.h"
+#include "debug.h"
+#include "eeprom.h"
+#include "keycode_config.h"
+
+#ifdef EEPROM_DRIVER
+# include "eeprom_driver.h"
+#endif
+
+#ifdef AUDIO_ENABLE
+# include "audio.h"
+#endif
+
+#ifdef BACKLIGHT_ENABLE
+# include "backlight.h"
+#endif
+
+#ifdef RGBLIGHT_ENABLE
+# include "rgblight.h"
+#endif
+
+#ifdef RGB_MATRIX_ENABLE
+# include "rgb_matrix_types.h"
+#endif
+
+#ifdef LED_MATRIX_ENABLE
+# include "led_matrix_types.h"
+#endif
+
+#ifdef UNICODE_COMMON_ENABLE
+# include "unicode.h"
+#endif
+
+#ifdef HAPTIC_ENABLE
+# include "haptic.h"
+#endif
+
+#ifdef CONNECTION_ENABLE
+# include "connection.h"
+#endif
+
+void nvm_eeconfig_erase(void) {
+#ifdef EEPROM_DRIVER
+ eeprom_driver_format(false);
+#endif // EEPROM_DRIVER
+}
+
+bool nvm_eeconfig_is_enabled(void) {
+ return eeprom_read_word(EECONFIG_MAGIC) == EECONFIG_MAGIC_NUMBER;
+}
+
+bool nvm_eeconfig_is_disabled(void) {
+ return eeprom_read_word(EECONFIG_MAGIC) == EECONFIG_MAGIC_NUMBER_OFF;
+}
+
+void nvm_eeconfig_enable(void) {
+ eeprom_update_word(EECONFIG_MAGIC, EECONFIG_MAGIC_NUMBER);
+}
+
+void nvm_eeconfig_disable(void) {
+#if defined(EEPROM_DRIVER)
+ eeprom_driver_format(false);
+#endif
+ eeprom_update_word(EECONFIG_MAGIC, EECONFIG_MAGIC_NUMBER_OFF);
+}
+
+void nvm_eeconfig_read_debug(debug_config_t *debug_config) {
+ debug_config->raw = eeprom_read_byte(EECONFIG_DEBUG);
+}
+void nvm_eeconfig_update_debug(const debug_config_t *debug_config) {
+ eeprom_update_byte(EECONFIG_DEBUG, debug_config->raw);
+}
+
+layer_state_t nvm_eeconfig_read_default_layer(void) {
+ uint8_t val = eeprom_read_byte(EECONFIG_DEFAULT_LAYER);
+#ifdef DEFAULT_LAYER_STATE_IS_VALUE_NOT_BITMASK
+ // stored as a layer number, so convert back to bitmask
+ return (layer_state_t)1 << val;
+#else
+ // stored as 8-bit-wide bitmask, so read the value directly - handling padding to 16/32 bit layer_state_t
+ return (layer_state_t)val;
+#endif
+}
+void nvm_eeconfig_update_default_layer(layer_state_t state) {
+#ifdef DEFAULT_LAYER_STATE_IS_VALUE_NOT_BITMASK
+ // stored as a layer number, so only store the highest layer
+ uint8_t val = get_highest_layer(state);
+#else
+ // stored as 8-bit-wide bitmask, so write the value directly - handling truncation from 16/32 bit layer_state_t
+ uint8_t val = (uint8_t)state;
+#endif
+ eeprom_update_byte(EECONFIG_DEFAULT_LAYER, val);
+}
+
+void nvm_eeconfig_read_keymap(keymap_config_t *keymap_config) {
+ keymap_config->raw = eeprom_read_word(EECONFIG_KEYMAP);
+}
+void nvm_eeconfig_update_keymap(const keymap_config_t *keymap_config) {
+ eeprom_update_word(EECONFIG_KEYMAP, keymap_config->raw);
+}
+
+#ifdef AUDIO_ENABLE
+void nvm_eeconfig_read_audio(audio_config_t *audio_config) {
+ audio_config->raw = eeprom_read_byte(EECONFIG_AUDIO);
+}
+void nvm_eeconfig_update_audio(const audio_config_t *audio_config) {
+ eeprom_update_byte(EECONFIG_AUDIO, audio_config->raw);
+}
+#endif // AUDIO_ENABLE
+
+#ifdef UNICODE_COMMON_ENABLE
+void nvm_eeconfig_read_unicode_mode(unicode_config_t *unicode_config) {
+ unicode_config->raw = eeprom_read_byte(EECONFIG_UNICODEMODE);
+}
+void nvm_eeconfig_update_unicode_mode(const unicode_config_t *unicode_config) {
+ eeprom_update_byte(EECONFIG_UNICODEMODE, unicode_config->raw);
+}
+#endif // UNICODE_COMMON_ENABLE
+
+#ifdef BACKLIGHT_ENABLE
+void nvm_eeconfig_read_backlight(backlight_config_t *backlight_config) {
+ backlight_config->raw = eeprom_read_byte(EECONFIG_BACKLIGHT);
+}
+void nvm_eeconfig_update_backlight(const backlight_config_t *backlight_config) {
+ eeprom_update_byte(EECONFIG_BACKLIGHT, backlight_config->raw);
+}
+#endif // BACKLIGHT_ENABLE
+
+#ifdef STENO_ENABLE
+uint8_t nvm_eeconfig_read_steno_mode(void) {
+ return eeprom_read_byte(EECONFIG_STENOMODE);
+}
+void nvm_eeconfig_update_steno_mode(uint8_t val) {
+ eeprom_update_byte(EECONFIG_STENOMODE, val);
+}
+#endif // STENO_ENABLE
+
+#ifdef RGBLIGHT_ENABLE
+#endif // RGBLIGHT_ENABLE
+
+#ifdef RGB_MATRIX_ENABLE
+void nvm_eeconfig_read_rgb_matrix(rgb_config_t *rgb_matrix_config) {
+ eeprom_read_block(rgb_matrix_config, EECONFIG_RGB_MATRIX, sizeof(rgb_config_t));
+}
+void nvm_eeconfig_update_rgb_matrix(const rgb_config_t *rgb_matrix_config) {
+ eeprom_update_block(rgb_matrix_config, EECONFIG_RGB_MATRIX, sizeof(rgb_config_t));
+}
+#endif // RGB_MATRIX_ENABLE
+
+#ifdef LED_MATRIX_ENABLE
+void nvm_eeconfig_read_led_matrix(led_eeconfig_t *led_matrix_config) {
+ eeprom_read_block(led_matrix_config, EECONFIG_LED_MATRIX, sizeof(led_eeconfig_t));
+}
+void nvm_eeconfig_update_led_matrix(const led_eeconfig_t *led_matrix_config) {
+ eeprom_update_block(led_matrix_config, EECONFIG_LED_MATRIX, sizeof(led_eeconfig_t));
+}
+#endif // LED_MATRIX_ENABLE
+
+#ifdef RGBLIGHT_ENABLE
+void nvm_eeconfig_read_rgblight(rgblight_config_t *rgblight_config) {
+ rgblight_config->raw = eeprom_read_dword(EECONFIG_RGBLIGHT);
+ rgblight_config->raw |= ((uint64_t)eeprom_read_byte(EECONFIG_RGBLIGHT_EXTENDED) << 32);
+}
+void nvm_eeconfig_update_rgblight(const rgblight_config_t *rgblight_config) {
+ eeprom_update_dword(EECONFIG_RGBLIGHT, rgblight_config->raw & 0xFFFFFFFF);
+ eeprom_update_byte(EECONFIG_RGBLIGHT_EXTENDED, (rgblight_config->raw >> 32) & 0xFF);
+}
+#endif // RGBLIGHT_ENABLE
+
+#if (EECONFIG_KB_DATA_SIZE) == 0
+uint32_t nvm_eeconfig_read_kb(void) {
+ return eeprom_read_dword(EECONFIG_KEYBOARD);
+}
+void nvm_eeconfig_update_kb(uint32_t val) {
+ eeprom_update_dword(EECONFIG_KEYBOARD, val);
+}
+#endif // (EECONFIG_KB_DATA_SIZE) == 0
+
+#if (EECONFIG_USER_DATA_SIZE) == 0
+uint32_t nvm_eeconfig_read_user(void) {
+ return eeprom_read_dword(EECONFIG_USER);
+}
+void nvm_eeconfig_update_user(uint32_t val) {
+ eeprom_update_dword(EECONFIG_USER, val);
+}
+#endif // (EECONFIG_USER_DATA_SIZE) == 0
+
+#ifdef HAPTIC_ENABLE
+void nvm_eeconfig_read_haptic(haptic_config_t *haptic_config) {
+ haptic_config->raw = eeprom_read_dword(EECONFIG_HAPTIC);
+}
+void nvm_eeconfig_update_haptic(const haptic_config_t *haptic_config) {
+ eeprom_update_dword(EECONFIG_HAPTIC, haptic_config->raw);
+}
+#endif // HAPTIC_ENABLE
+
+#ifdef CONNECTION_ENABLE
+void nvm_eeconfig_read_connection(connection_config_t *config) {
+ config->raw = eeprom_read_byte(EECONFIG_CONNECTION);
+}
+void nvm_eeconfig_update_connection(const connection_config_t *config) {
+ eeprom_update_byte(EECONFIG_CONNECTION, config->raw);
+}
+#endif // CONNECTION_ENABLE
+
+bool nvm_eeconfig_read_handedness(void) {
+ return !!eeprom_read_byte(EECONFIG_HANDEDNESS);
+}
+void nvm_eeconfig_update_handedness(bool val) {
+ eeprom_update_byte(EECONFIG_HANDEDNESS, !!val);
+}
+
+#if (EECONFIG_KB_DATA_SIZE) > 0
+
+bool nvm_eeconfig_is_kb_datablock_valid(void) {
+ return eeprom_read_dword(EECONFIG_KEYBOARD) == (EECONFIG_KB_DATA_VERSION);
+}
+
+uint32_t nvm_eeconfig_read_kb_datablock(void *data, uint32_t offset, uint32_t length) {
+ if (eeconfig_is_kb_datablock_valid()) {
+ void *ee_start = (void *)(uintptr_t)(EECONFIG_KB_DATABLOCK + offset);
+ void *ee_end = (void *)(uintptr_t)(EECONFIG_KB_DATABLOCK + MIN(EECONFIG_KB_DATA_SIZE, offset + length));
+ eeprom_read_block(data, ee_start, ee_end - ee_start);
+ return ee_end - ee_start;
+ } else {
+ memset(data, 0, length);
+ return length;
+ }
+}
+
+uint32_t nvm_eeconfig_update_kb_datablock(const void *data, uint32_t offset, uint32_t length) {
+ eeprom_update_dword(EECONFIG_KEYBOARD, (EECONFIG_KB_DATA_VERSION));
+
+ void *ee_start = (void *)(uintptr_t)(EECONFIG_KB_DATABLOCK + offset);
+ void *ee_end = (void *)(uintptr_t)(EECONFIG_KB_DATABLOCK + MIN(EECONFIG_KB_DATA_SIZE, offset + length));
+ eeprom_update_block(data, ee_start, ee_end - ee_start);
+ return ee_end - ee_start;
+}
+
+void nvm_eeconfig_init_kb_datablock(void) {
+ eeprom_update_dword(EECONFIG_KEYBOARD, (EECONFIG_KB_DATA_VERSION));
+
+ void * start = (void *)(uintptr_t)(EECONFIG_KB_DATABLOCK);
+ void * end = (void *)(uintptr_t)(EECONFIG_KB_DATABLOCK + EECONFIG_KB_DATA_SIZE);
+ long remaining = end - start;
+ uint8_t dummy[16] = {0};
+ for (int i = 0; i < EECONFIG_KB_DATA_SIZE; i += sizeof(dummy)) {
+ int this_loop = remaining < sizeof(dummy) ? remaining : sizeof(dummy);
+ eeprom_update_block(dummy, start, this_loop);
+ start += this_loop;
+ remaining -= this_loop;
+ }
+}
+
+#endif // (EECONFIG_KB_DATA_SIZE) > 0
+
+#if (EECONFIG_USER_DATA_SIZE) > 0
+
+bool nvm_eeconfig_is_user_datablock_valid(void) {
+ return eeprom_read_dword(EECONFIG_USER) == (EECONFIG_USER_DATA_VERSION);
+}
+
+uint32_t nvm_eeconfig_read_user_datablock(void *data, uint32_t offset, uint32_t length) {
+ if (eeconfig_is_user_datablock_valid()) {
+ void *ee_start = (void *)(uintptr_t)(EECONFIG_USER_DATABLOCK + offset);
+ void *ee_end = (void *)(uintptr_t)(EECONFIG_USER_DATABLOCK + MIN(EECONFIG_USER_DATA_SIZE, offset + length));
+ eeprom_read_block(data, ee_start, ee_end - ee_start);
+ return ee_end - ee_start;
+ } else {
+ memset(data, 0, length);
+ return length;
+ }
+}
+
+uint32_t nvm_eeconfig_update_user_datablock(const void *data, uint32_t offset, uint32_t length) {
+ eeprom_update_dword(EECONFIG_USER, (EECONFIG_USER_DATA_VERSION));
+
+ void *ee_start = (void *)(uintptr_t)(EECONFIG_USER_DATABLOCK + offset);
+ void *ee_end = (void *)(uintptr_t)(EECONFIG_USER_DATABLOCK + MIN(EECONFIG_USER_DATA_SIZE, offset + length));
+ eeprom_update_block(data, ee_start, ee_end - ee_start);
+ return ee_end - ee_start;
+}
+
+void nvm_eeconfig_init_user_datablock(void) {
+ eeprom_update_dword(EECONFIG_USER, (EECONFIG_USER_DATA_VERSION));
+
+ void * start = (void *)(uintptr_t)(EECONFIG_USER_DATABLOCK);
+ void * end = (void *)(uintptr_t)(EECONFIG_USER_DATABLOCK + EECONFIG_USER_DATA_SIZE);
+ long remaining = end - start;
+ uint8_t dummy[16] = {0};
+ for (int i = 0; i < EECONFIG_USER_DATA_SIZE; i += sizeof(dummy)) {
+ int this_loop = remaining < sizeof(dummy) ? remaining : sizeof(dummy);
+ eeprom_update_block(dummy, start, this_loop);
+ start += this_loop;
+ remaining -= this_loop;
+ }
+}
+
+#endif // (EECONFIG_USER_DATA_SIZE) > 0
diff --git a/quantum/nvm/eeprom/nvm_eeprom_eeconfig_internal.h b/quantum/nvm/eeprom/nvm_eeprom_eeconfig_internal.h
new file mode 100644
index 0000000000..41b76f1f65
--- /dev/null
+++ b/quantum/nvm/eeprom/nvm_eeprom_eeconfig_internal.h
@@ -0,0 +1,61 @@
+// Copyright 2024 Nick Brassel (@tzarc)
+// SPDX-License-Identifier: GPL-2.0-or-later
+#pragma once
+
+#include <stdint.h>
+#include <stddef.h> // offsetof
+#include "eeconfig.h"
+#include "util.h"
+
+// Dummy struct only used to calculate offsets
+typedef struct PACKED {
+ uint16_t magic;
+ uint8_t debug;
+ uint8_t default_layer;
+ uint16_t keymap;
+ uint8_t backlight;
+ uint8_t audio;
+ uint32_t rgblight;
+ uint8_t unicode;
+ uint8_t steno;
+ uint8_t handedness;
+ uint32_t keyboard;
+ uint32_t user;
+ union { // Mutually exclusive
+ uint32_t led_matrix;
+ uint64_t rgb_matrix;
+ };
+ uint32_t haptic;
+ uint8_t rgblight_ext;
+ uint8_t connection;
+} eeprom_core_t;
+
+/* EEPROM parameter address */
+#define EECONFIG_MAGIC (uint16_t *)(offsetof(eeprom_core_t, magic))
+#define EECONFIG_DEBUG (uint8_t *)(offsetof(eeprom_core_t, debug))
+#define EECONFIG_DEFAULT_LAYER (uint8_t *)(offsetof(eeprom_core_t, default_layer))
+#define EECONFIG_KEYMAP (uint16_t *)(offsetof(eeprom_core_t, keymap))
+#define EECONFIG_BACKLIGHT (uint8_t *)(offsetof(eeprom_core_t, backlight))
+#define EECONFIG_AUDIO (uint8_t *)(offsetof(eeprom_core_t, audio))
+#define EECONFIG_RGBLIGHT (uint32_t *)(offsetof(eeprom_core_t, rgblight))
+#define EECONFIG_UNICODEMODE (uint8_t *)(offsetof(eeprom_core_t, unicode))
+#define EECONFIG_STENOMODE (uint8_t *)(offsetof(eeprom_core_t, steno))
+#define EECONFIG_HANDEDNESS (uint8_t *)(offsetof(eeprom_core_t, handedness))
+#define EECONFIG_KEYBOARD (uint32_t *)(offsetof(eeprom_core_t, keyboard))
+#define EECONFIG_USER (uint32_t *)(offsetof(eeprom_core_t, user))
+#define EECONFIG_LED_MATRIX (uint32_t *)(offsetof(eeprom_core_t, led_matrix))
+#define EECONFIG_RGB_MATRIX (uint64_t *)(offsetof(eeprom_core_t, rgb_matrix))
+#define EECONFIG_HAPTIC (uint32_t *)(offsetof(eeprom_core_t, haptic))
+#define EECONFIG_RGBLIGHT_EXTENDED (uint8_t *)(offsetof(eeprom_core_t, rgblight_ext))
+#define EECONFIG_CONNECTION (uint8_t *)(offsetof(eeprom_core_t, connection))
+
+// Size of EEPROM being used for core data storage
+#define EECONFIG_BASE_SIZE ((uint8_t)sizeof(eeprom_core_t))
+
+#define EECONFIG_KB_DATABLOCK ((uint8_t *)(EECONFIG_BASE_SIZE))
+#define EECONFIG_USER_DATABLOCK ((uint8_t *)((EECONFIG_BASE_SIZE) + (EECONFIG_KB_DATA_SIZE)))
+
+// Size of EEPROM being used, other code can refer to this for available EEPROM
+#define EECONFIG_SIZE ((EECONFIG_BASE_SIZE) + (EECONFIG_KB_DATA_SIZE) + (EECONFIG_USER_DATA_SIZE))
+
+_Static_assert((intptr_t)EECONFIG_HANDEDNESS == 14, "EEPROM handedness offset is incorrect");
diff --git a/quantum/nvm/eeprom/nvm_eeprom_via_internal.h b/quantum/nvm/eeprom/nvm_eeprom_via_internal.h
new file mode 100644
index 0000000000..bf0d38e2ac
--- /dev/null
+++ b/quantum/nvm/eeprom/nvm_eeprom_via_internal.h
@@ -0,0 +1,22 @@
+// Copyright 2024 Nick Brassel (@tzarc)
+// SPDX-License-Identifier: GPL-2.0-or-later
+#pragma once
+
+// Keyboard level code can change where VIA stores the magic.
+// The magic is the build date YYMMDD encoded as BCD in 3 bytes,
+// thus installing firmware built on a different date to the one
+// already installed can be detected and the EEPROM data is reset.
+// The only reason this is important is in case EEPROM usage changes
+// and the EEPROM was not explicitly reset by bootmagic lite.
+#ifndef VIA_EEPROM_MAGIC_ADDR
+# define VIA_EEPROM_MAGIC_ADDR (EECONFIG_SIZE)
+#endif
+
+#define VIA_EEPROM_LAYOUT_OPTIONS_ADDR (VIA_EEPROM_MAGIC_ADDR + 3)
+
+// The end of the EEPROM memory used by VIA
+// By default, dynamic keymaps will start at this if there is no
+// custom config
+#define VIA_EEPROM_CUSTOM_CONFIG_ADDR (VIA_EEPROM_LAYOUT_OPTIONS_ADDR + VIA_EEPROM_LAYOUT_OPTIONS_SIZE)
+
+#define VIA_EEPROM_CONFIG_END (VIA_EEPROM_CUSTOM_CONFIG_ADDR + VIA_EEPROM_CUSTOM_CONFIG_SIZE)
diff --git a/quantum/nvm/eeprom/nvm_via.c b/quantum/nvm/eeprom/nvm_via.c
new file mode 100644
index 0000000000..5372791fb7
--- /dev/null
+++ b/quantum/nvm/eeprom/nvm_via.c
@@ -0,0 +1,77 @@
+// Copyright 2024 Nick Brassel (@tzarc)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#include "eeprom.h"
+#include "util.h"
+#include "via.h"
+#include "nvm_via.h"
+#include "nvm_eeprom_eeconfig_internal.h"
+#include "nvm_eeprom_via_internal.h"
+
+void nvm_via_erase(void) {
+ // No-op, nvm_eeconfig_erase() will have already erased EEPROM if necessary.
+}
+
+void nvm_via_read_magic(uint8_t *magic0, uint8_t *magic1, uint8_t *magic2) {
+ if (magic0) {
+ *magic0 = eeprom_read_byte((void *)VIA_EEPROM_MAGIC_ADDR + 0);
+ }
+
+ if (magic1) {
+ *magic1 = eeprom_read_byte((void *)VIA_EEPROM_MAGIC_ADDR + 1);
+ }
+
+ if (magic2) {
+ *magic2 = eeprom_read_byte((void *)VIA_EEPROM_MAGIC_ADDR + 2);
+ }
+}
+
+void nvm_via_update_magic(uint8_t magic0, uint8_t magic1, uint8_t magic2) {
+ eeprom_update_byte((void *)VIA_EEPROM_MAGIC_ADDR + 0, magic0);
+ eeprom_update_byte((void *)VIA_EEPROM_MAGIC_ADDR + 1, magic1);
+ eeprom_update_byte((void *)VIA_EEPROM_MAGIC_ADDR + 2, magic2);
+}
+
+uint32_t nvm_via_read_layout_options(void) {
+ uint32_t value = 0;
+ // Start at the most significant byte
+ void *source = (void *)(VIA_EEPROM_LAYOUT_OPTIONS_ADDR);
+ for (uint8_t i = 0; i < VIA_EEPROM_LAYOUT_OPTIONS_SIZE; i++) {
+ value = value << 8;
+ value |= eeprom_read_byte(source);
+ source++;
+ }
+ return value;
+}
+
+void nvm_via_update_layout_options(uint32_t val) {
+ // Start at the least significant byte
+ void *target = (void *)(VIA_EEPROM_LAYOUT_OPTIONS_ADDR + VIA_EEPROM_LAYOUT_OPTIONS_SIZE - 1);
+ for (uint8_t i = 0; i < VIA_EEPROM_LAYOUT_OPTIONS_SIZE; i++) {
+ eeprom_update_byte(target, val & 0xFF);
+ val = val >> 8;
+ target--;
+ }
+}
+
+uint32_t nvm_via_read_custom_config(void *buf, uint32_t offset, uint32_t length) {
+#if VIA_EEPROM_CUSTOM_CONFIG_SIZE > 0
+ void *ee_start = (void *)(uintptr_t)(VIA_EEPROM_CUSTOM_CONFIG_ADDR + offset);
+ void *ee_end = (void *)(uintptr_t)(VIA_EEPROM_CUSTOM_CONFIG_ADDR + MIN(VIA_EEPROM_CUSTOM_CONFIG_SIZE, offset + length));
+ eeprom_read_block(buf, ee_start, ee_end - ee_start);
+ return ee_end - ee_start;
+#else
+ return 0;
+#endif
+}
+
+uint32_t nvm_via_update_custom_config(const void *buf, uint32_t offset, uint32_t length) {
+#if VIA_EEPROM_CUSTOM_CONFIG_SIZE > 0
+ void *ee_start = (void *)(uintptr_t)(VIA_EEPROM_CUSTOM_CONFIG_ADDR + offset);
+ void *ee_end = (void *)(uintptr_t)(VIA_EEPROM_CUSTOM_CONFIG_ADDR + MIN(VIA_EEPROM_CUSTOM_CONFIG_SIZE, offset + length));
+ eeprom_update_block(buf, ee_start, ee_end - ee_start);
+ return ee_end - ee_start;
+#else
+ return 0;
+#endif
+}
diff --git a/quantum/nvm/nvm_dynamic_keymap.h b/quantum/nvm/nvm_dynamic_keymap.h
new file mode 100644
index 0000000000..d6e4aaee51
--- /dev/null
+++ b/quantum/nvm/nvm_dynamic_keymap.h
@@ -0,0 +1,27 @@
+// Copyright 2024 Nick Brassel (@tzarc)
+// SPDX-License-Identifier: GPL-2.0-or-later
+#pragma once
+
+#include <stdint.h>
+#include <stdbool.h>
+
+void nvm_dynamic_keymap_erase(void);
+void nvm_dynamic_keymap_macro_erase(void);
+
+uint16_t nvm_dynamic_keymap_read_keycode(uint8_t layer, uint8_t row, uint8_t column);
+void nvm_dynamic_keymap_update_keycode(uint8_t layer, uint8_t row, uint8_t column, uint16_t keycode);
+
+#ifdef ENCODER_MAP_ENABLE
+uint16_t nvm_dynamic_keymap_read_encoder(uint8_t layer, uint8_t encoder_id, bool clockwise);
+void nvm_dynamic_keymap_update_encoder(uint8_t layer, uint8_t encoder_id, bool clockwise, uint16_t keycode);
+#endif // ENCODER_MAP_ENABLE
+
+void nvm_dynamic_keymap_read_buffer(uint32_t offset, uint32_t size, uint8_t *data);
+void nvm_dynamic_keymap_update_buffer(uint32_t offset, uint32_t size, uint8_t *data);
+
+uint32_t nvm_dynamic_keymap_macro_size(void);
+
+void nvm_dynamic_keymap_macro_read_buffer(uint32_t offset, uint32_t size, uint8_t *data);
+void nvm_dynamic_keymap_macro_update_buffer(uint32_t offset, uint32_t size, uint8_t *data);
+
+void nvm_dynamic_keymap_macro_reset(void);
diff --git a/quantum/nvm/nvm_eeconfig.h b/quantum/nvm/nvm_eeconfig.h
new file mode 100644
index 0000000000..40827361ca
--- /dev/null
+++ b/quantum/nvm/nvm_eeconfig.h
@@ -0,0 +1,111 @@
+// Copyright 2024 Nick Brassel (@tzarc)
+// SPDX-License-Identifier: GPL-2.0-or-later
+#pragma once
+
+#include <stdint.h>
+#include <stdbool.h>
+#include "action_layer.h" // layer_state_t
+
+#ifndef EECONFIG_MAGIC_NUMBER
+# define EECONFIG_MAGIC_NUMBER (uint16_t)0xFEE3 // When changing, decrement this value to avoid future re-init issues
+#endif
+#define EECONFIG_MAGIC_NUMBER_OFF (uint16_t)0xFFFF
+
+void nvm_eeconfig_erase(void);
+
+bool nvm_eeconfig_is_enabled(void);
+bool nvm_eeconfig_is_disabled(void);
+
+void nvm_eeconfig_enable(void);
+void nvm_eeconfig_disable(void);
+
+typedef union debug_config_t debug_config_t;
+void nvm_eeconfig_read_debug(debug_config_t *debug_config);
+void nvm_eeconfig_update_debug(const debug_config_t *debug_config);
+
+layer_state_t nvm_eeconfig_read_default_layer(void);
+void nvm_eeconfig_update_default_layer(layer_state_t state);
+
+typedef union keymap_config_t keymap_config_t;
+void nvm_eeconfig_read_keymap(keymap_config_t *keymap_config);
+void nvm_eeconfig_update_keymap(const keymap_config_t *keymap_config);
+
+#ifdef AUDIO_ENABLE
+typedef union audio_config_t audio_config_t;
+void nvm_eeconfig_read_audio(audio_config_t *audio_config);
+void nvm_eeconfig_update_audio(const audio_config_t *audio_config);
+#endif // AUDIO_ENABLE
+
+#ifdef UNICODE_COMMON_ENABLE
+typedef union unicode_config_t unicode_config_t;
+void nvm_eeconfig_read_unicode_mode(unicode_config_t *unicode_config);
+void nvm_eeconfig_update_unicode_mode(const unicode_config_t *unicode_config);
+#endif // UNICODE_COMMON_ENABLE
+
+#ifdef BACKLIGHT_ENABLE
+typedef union backlight_config_t backlight_config_t;
+void nvm_eeconfig_read_backlight(backlight_config_t *backlight_config);
+void nvm_eeconfig_update_backlight(const backlight_config_t *backlight_config);
+#endif // BACKLIGHT_ENABLE
+
+#ifdef STENO_ENABLE
+uint8_t nvm_eeconfig_read_steno_mode(void);
+void nvm_eeconfig_update_steno_mode(uint8_t val);
+#endif // STENO_ENABLE
+
+#ifdef RGB_MATRIX_ENABLE
+typedef union rgb_config_t rgb_config_t;
+void nvm_eeconfig_read_rgb_matrix(rgb_config_t *rgb_matrix_config);
+void nvm_eeconfig_update_rgb_matrix(const rgb_config_t *rgb_matrix_config);
+#endif
+
+#ifdef LED_MATRIX_ENABLE
+typedef union led_eeconfig_t led_eeconfig_t;
+void nvm_eeconfig_read_led_matrix(led_eeconfig_t *led_matrix_config);
+void nvm_eeconfig_update_led_matrix(const led_eeconfig_t *led_matrix_config);
+#endif // LED_MATRIX_ENABLE
+
+#ifdef RGBLIGHT_ENABLE
+typedef union rgblight_config_t rgblight_config_t;
+void nvm_eeconfig_read_rgblight(rgblight_config_t *rgblight_config);
+void nvm_eeconfig_update_rgblight(const rgblight_config_t *rgblight_config);
+#endif // RGBLIGHT_ENABLE
+
+#if (EECONFIG_KB_DATA_SIZE) == 0
+uint32_t nvm_eeconfig_read_kb(void);
+void nvm_eeconfig_update_kb(uint32_t val);
+#endif // (EECONFIG_KB_DATA_SIZE) == 0
+
+#if (EECONFIG_USER_DATA_SIZE) == 0
+uint32_t nvm_eeconfig_read_user(void);
+void nvm_eeconfig_update_user(uint32_t val);
+#endif // (EECONFIG_USER_DATA_SIZE) == 0
+
+#ifdef HAPTIC_ENABLE
+typedef union haptic_config_t haptic_config_t;
+void nvm_eeconfig_read_haptic(haptic_config_t *haptic_config);
+void nvm_eeconfig_update_haptic(const haptic_config_t *haptic_config);
+#endif // HAPTIC_ENABLE
+
+#ifdef CONNECTION_ENABLE
+typedef union connection_config_t connection_config_t;
+void nvm_eeconfig_read_connection(connection_config_t *config);
+void nvm_eeconfig_update_connection(const connection_config_t *config);
+#endif // CONNECTION_ENABLE
+
+bool nvm_eeconfig_read_handedness(void);
+void nvm_eeconfig_update_handedness(bool val);
+
+#if (EECONFIG_KB_DATA_SIZE) > 0
+bool nvm_eeconfig_is_kb_datablock_valid(void);
+uint32_t nvm_eeconfig_read_kb_datablock(void *data, uint32_t offset, uint32_t length);
+uint32_t nvm_eeconfig_update_kb_datablock(const void *data, uint32_t offset, uint32_t length);
+void nvm_eeconfig_init_kb_datablock(void);
+#endif // (EECONFIG_KB_DATA_SIZE) > 0
+
+#if (EECONFIG_USER_DATA_SIZE) > 0
+bool nvm_eeconfig_is_user_datablock_valid(void);
+uint32_t nvm_eeconfig_read_user_datablock(void *data, uint32_t offset, uint32_t length);
+uint32_t nvm_eeconfig_update_user_datablock(const void *data, uint32_t offset, uint32_t length);
+void nvm_eeconfig_init_user_datablock(void);
+#endif // (EECONFIG_USER_DATA_SIZE) > 0
diff --git a/quantum/nvm/nvm_via.h b/quantum/nvm/nvm_via.h
new file mode 100644
index 0000000000..90c5e67421
--- /dev/null
+++ b/quantum/nvm/nvm_via.h
@@ -0,0 +1,17 @@
+// Copyright 2024 Nick Brassel (@tzarc)
+// SPDX-License-Identifier: GPL-2.0-or-later
+#pragma once
+
+#include <stdint.h>
+#include <stdbool.h>
+
+void nvm_via_erase(void);
+
+void nvm_via_read_magic(uint8_t *magic0, uint8_t *magic1, uint8_t *magic2);
+void nvm_via_update_magic(uint8_t magic0, uint8_t magic1, uint8_t magic2);
+
+uint32_t nvm_via_read_layout_options(void);
+void nvm_via_update_layout_options(uint32_t val);
+
+uint32_t nvm_via_read_custom_config(void *buf, uint32_t offset, uint32_t length);
+uint32_t nvm_via_update_custom_config(const void *buf, uint32_t offset, uint32_t length);
diff --git a/quantum/nvm/readme.md b/quantum/nvm/readme.md
new file mode 100644
index 0000000000..0731695e92
--- /dev/null
+++ b/quantum/nvm/readme.md
@@ -0,0 +1,30 @@
+# Non-volatile Memory - Data Repositories
+
+This area is intentionally structured in the following way:
+
+```
+╰- quantum
+ ╰- nvm
+ ├- readme.md
+ ├- rules.mk
+ |
+ ├- nvm_eeconfig.h
+ ├- nvm_<<system>>.h
+ |
+ ├- eeprom
+ | ├- nvm_eeconfig.c
+ | ├- nvm_<<system>>.c
+ | ╰- ...
+ |
+ ├- <<another provider>>
+ | ├- nvm_eeconfig.c
+ | ├- nvm_<<system>>.c
+ | ╰- ...
+ ╰- ...
+```
+
+At the base `nvm` level, for every QMK core system which requires persistence there must be a corresponding `nvm_<<system>>.h` header file. This provides the data repository API to the "owner" system, and allows the underlying data persistence mechanism to be abstracted away from upper code. Any conversion to/from a `.raw` field should occur inside the `nvm_<<system>>.c` layer, with the API using values, such as structs or unions exposed to the rest of QMK.
+
+Each `nvm` "provider" is a corresponding child directory consisting of its name, such as `eeprom`, and corresponding `nvm_<<system>>.c` implementation files which provide the concrete implementation of the upper `nvm_<<system>>.h`.
+
+New systems requiring persistence can add the corresponding `nvm_<<system>>.h` file, and in most circumstances must also implement equivalent `nvm_<<system>>.c` files for every `nvm` provider. If persistence is not possible for that system, a `nvm_<<system>>.c` file with simple stubs which ignore writes and provide sane defaults must be used instead. \ No newline at end of file
diff --git a/quantum/nvm/rules.mk b/quantum/nvm/rules.mk
new file mode 100644
index 0000000000..c9c1fabfd4
--- /dev/null
+++ b/quantum/nvm/rules.mk
@@ -0,0 +1,31 @@
+# Copyright 2024 Nick Brassel (@tzarc)
+# SPDX-License-Identifier: GPL-2.0-or-later
+
+VPATH += $(QUANTUM_DIR)/nvm
+
+VALID_NVM_DRIVERS := eeprom custom none
+
+NVM_DRIVER ?= eeprom
+
+ifeq ($(filter $(NVM_DRIVER),$(VALID_NVM_DRIVERS)),)
+ $(call CATASTROPHIC_ERROR,Invalid NVM_DRIVER,NVM_DRIVER="$(NVM_DRIVER)" is not a valid NVM driver)
+else
+
+ # If we don't want one, fake it with transient eeprom.
+ ifeq ($(NVM_DRIVER),none)
+ NVM_DRIVER := eeprom
+ EEPROM_DRIVER := transient
+ endif
+
+ NVM_DRIVER_UPPER := $(shell echo $(NVM_DRIVER) | tr '[:lower:]' '[:upper:]')
+ NVM_DRIVER_LOWER := $(shell echo $(NVM_DRIVER) | tr '[:upper:]' '[:lower:]')
+
+ OPT_DEFS += -DNVM_DRIVER_$(NVM_DRIVER_UPPER) -DNVM_DRIVER="$(NVM_DRIVER)"
+
+ ifneq ("$(wildcard $(QUANTUM_DIR)/nvm/$(NVM_DRIVER_LOWER))","")
+ COMMON_VPATH += $(QUANTUM_DIR)/nvm/$(NVM_DRIVER_LOWER)
+ endif
+
+ QUANTUM_SRC += nvm_eeconfig.c
+
+endif
diff --git a/quantum/os_detection.h b/quantum/os_detection.h
index 98a8e805e4..e9e7b25f1d 100644
--- a/quantum/os_detection.h
+++ b/quantum/os_detection.h
@@ -43,6 +43,9 @@ void slave_update_detected_host_os(os_variant_t os);
#endif
#ifdef OS_DETECTION_DEBUG_ENABLE
+# if defined(DYNAMIC_KEYMAP_ENABLE) || defined(VIA_ENABLE)
+# error Cannot enable OS Detection debug mode simultaneously with DYNAMIC_KEYMAP or VIA
+# endif
void print_stored_setups(void);
void store_setups_in_eeprom(void);
#endif
diff --git a/quantum/pointing_device/pointing_device.c b/quantum/pointing_device/pointing_device.c
index cac2875fc8..5ee65c9c61 100644
--- a/quantum/pointing_device/pointing_device.c
+++ b/quantum/pointing_device/pointing_device.c
@@ -25,6 +25,10 @@
# include "mousekey.h"
#endif
+#ifdef POINTING_DEVICE_HIRES_SCROLL_ENABLE
+# include "usb_descriptor_common.h"
+#endif
+
#if (defined(POINTING_DEVICE_ROTATION_90) + defined(POINTING_DEVICE_ROTATION_180) + defined(POINTING_DEVICE_ROTATION_270)) > 1
# error More than one rotation selected. This is not supported.
#endif
@@ -78,6 +82,9 @@ uint16_t pointing_device_get_shared_cpi(void) {
static report_mouse_t local_mouse_report = {};
static bool pointing_device_force_send = false;
+#ifdef POINTING_DEVICE_HIRES_SCROLL_ENABLE
+static uint16_t hires_scroll_resolution;
+#endif
#define POINTING_DEVICE_DRIVER_CONCAT(name) name##_pointing_device_driver
#define POINTING_DEVICE_DRIVER(name) POINTING_DEVICE_DRIVER_CONCAT(name)
@@ -176,6 +183,12 @@ __attribute__((weak)) void pointing_device_init(void) {
# endif
#endif
}
+#ifdef POINTING_DEVICE_HIRES_SCROLL_ENABLE
+ hires_scroll_resolution = POINTING_DEVICE_HIRES_SCROLL_MULTIPLIER;
+ for (int i = 0; i < POINTING_DEVICE_HIRES_SCROLL_EXPONENT; i++) {
+ hires_scroll_resolution *= 10;
+ }
+#endif
pointing_device_init_kb();
pointing_device_init_user();
@@ -404,10 +417,10 @@ void pointing_device_set_cpi_on_side(bool left, uint16_t cpi) {
* @return mouse_hv_report_t clamped value
*/
static inline mouse_hv_report_t pointing_device_hv_clamp(hv_clamp_range_t value) {
- if (value < HV_REPORT_MIN) {
- return HV_REPORT_MIN;
- } else if (value > HV_REPORT_MAX) {
- return HV_REPORT_MAX;
+ if (value < MOUSE_REPORT_HV_MIN) {
+ return MOUSE_REPORT_HV_MIN;
+ } else if (value > MOUSE_REPORT_HV_MAX) {
+ return MOUSE_REPORT_HV_MAX;
} else {
return value;
}
@@ -420,10 +433,10 @@ static inline mouse_hv_report_t pointing_device_hv_clamp(hv_clamp_range_t value)
* @return mouse_xy_report_t clamped value
*/
static inline mouse_xy_report_t pointing_device_xy_clamp(xy_clamp_range_t value) {
- if (value < XY_REPORT_MIN) {
- return XY_REPORT_MIN;
- } else if (value > XY_REPORT_MAX) {
- return XY_REPORT_MAX;
+ if (value < MOUSE_REPORT_XY_MIN) {
+ return MOUSE_REPORT_XY_MIN;
+ } else if (value > MOUSE_REPORT_XY_MAX) {
+ return MOUSE_REPORT_XY_MAX;
} else {
return value;
}
@@ -523,3 +536,9 @@ __attribute__((weak)) void pointing_device_keycode_handler(uint16_t keycode, boo
pointing_device_send();
}
}
+
+#ifdef POINTING_DEVICE_HIRES_SCROLL_ENABLE
+uint16_t pointing_device_get_hires_scroll_resolution(void) {
+ return hires_scroll_resolution;
+}
+#endif \ No newline at end of file
diff --git a/quantum/pointing_device/pointing_device.h b/quantum/pointing_device/pointing_device.h
index 72188c977d..d8b583c87e 100644
--- a/quantum/pointing_device/pointing_device.h
+++ b/quantum/pointing_device/pointing_device.h
@@ -92,27 +92,19 @@ typedef enum {
} pointing_device_buttons_t;
#ifdef MOUSE_EXTENDED_REPORT
-# define XY_REPORT_MIN INT16_MIN
-# define XY_REPORT_MAX INT16_MAX
typedef int32_t xy_clamp_range_t;
#else
-# define XY_REPORT_MIN INT8_MIN
-# define XY_REPORT_MAX INT8_MAX
typedef int16_t xy_clamp_range_t;
#endif
#ifdef WHEEL_EXTENDED_REPORT
-# define HV_REPORT_MIN INT16_MIN
-# define HV_REPORT_MAX INT16_MAX
typedef int32_t hv_clamp_range_t;
#else
-# define HV_REPORT_MIN INT8_MIN
-# define HV_REPORT_MAX INT8_MAX
typedef int16_t hv_clamp_range_t;
#endif
#define CONSTRAIN_HID(amt) ((amt) < INT8_MIN ? INT8_MIN : ((amt) > INT8_MAX ? INT8_MAX : (amt)))
-#define CONSTRAIN_HID_XY(amt) ((amt) < XY_REPORT_MIN ? XY_REPORT_MIN : ((amt) > XY_REPORT_MAX ? XY_REPORT_MAX : (amt)))
+#define CONSTRAIN_HID_XY(amt) ((amt) < MOUSE_REPORT_XY_MIN ? MOUSE_REPORT_XY_MIN : ((amt) > MOUSE_REPORT_XY_MAX ? MOUSE_REPORT_XY_MAX : (amt)))
void pointing_device_init(void);
bool pointing_device_task(void);
@@ -130,6 +122,10 @@ uint8_t pointing_device_handle_buttons(uint8_t buttons, bool pressed, poi
report_mouse_t pointing_device_adjust_by_defines(report_mouse_t mouse_report);
void pointing_device_keycode_handler(uint16_t keycode, bool pressed);
+#ifdef POINTING_DEVICE_HIRES_SCROLL_ENABLE
+uint16_t pointing_device_get_hires_scroll_resolution(void);
+#endif
+
#if defined(SPLIT_POINTING_ENABLE)
void pointing_device_set_shared_report(report_mouse_t report);
uint16_t pointing_device_get_shared_cpi(void);
diff --git a/quantum/process_keycode/process_autocorrect.c b/quantum/process_keycode/process_autocorrect.c
index b7f9132acf..0cde520778 100644
--- a/quantum/process_keycode/process_autocorrect.c
+++ b/quantum/process_keycode/process_autocorrect.c
@@ -38,7 +38,7 @@ bool autocorrect_is_enabled(void) {
*/
void autocorrect_enable(void) {
keymap_config.autocorrect_enable = true;
- eeconfig_update_keymap(keymap_config.raw);
+ eeconfig_update_keymap(&keymap_config);
}
/**
@@ -48,7 +48,7 @@ void autocorrect_enable(void) {
void autocorrect_disable(void) {
keymap_config.autocorrect_enable = false;
typo_buffer_size = 0;
- eeconfig_update_keymap(keymap_config.raw);
+ eeconfig_update_keymap(&keymap_config);
}
/**
@@ -58,7 +58,7 @@ void autocorrect_disable(void) {
void autocorrect_toggle(void) {
keymap_config.autocorrect_enable = !keymap_config.autocorrect_enable;
typo_buffer_size = 0;
- eeconfig_update_keymap(keymap_config.raw);
+ eeconfig_update_keymap(&keymap_config);
}
/**
diff --git a/quantum/process_keycode/process_caps_word.c b/quantum/process_keycode/process_caps_word.c
index b8fb868c6d..8ab66cc521 100644
--- a/quantum/process_keycode/process_caps_word.c
+++ b/quantum/process_keycode/process_caps_word.c
@@ -160,8 +160,13 @@ bool process_caps_word(uint16_t keycode, keyrecord_t* record) {
case QK_TOGGLE_LAYER ... QK_TOGGLE_LAYER_MAX:
case QK_LAYER_TAP_TOGGLE ... QK_LAYER_TAP_TOGGLE_MAX:
case QK_ONE_SHOT_LAYER ... QK_ONE_SHOT_LAYER_MAX:
+#ifdef TRI_LAYER_ENABLE // Ignore Tri Layer keys.
case QK_TRI_LAYER_LOWER ... QK_TRI_LAYER_UPPER:
- // Ignore AltGr.
+#endif // TRI_LAYER_ENABLE
+#ifdef LAYER_LOCK_ENABLE // Ignore Layer Lock key.
+ case QK_LAYER_LOCK:
+#endif // LAYER_LOCK_ENABLE
+ // Ignore AltGr.
case KC_RALT:
case OSM(MOD_RALT):
return true;
diff --git a/quantum/process_keycode/process_clicky.c b/quantum/process_keycode/process_clicky.c
index 82000db9b3..f50761268a 100644
--- a/quantum/process_keycode/process_clicky.c
+++ b/quantum/process_keycode/process_clicky.c
@@ -66,17 +66,17 @@ void clicky_freq_reset(void) {
void clicky_toggle(void) {
audio_config.clicky_enable ^= 1;
- eeconfig_update_audio(audio_config.raw);
+ eeconfig_update_audio(&audio_config);
}
void clicky_on(void) {
audio_config.clicky_enable = 1;
- eeconfig_update_audio(audio_config.raw);
+ eeconfig_update_audio(&audio_config);
}
void clicky_off(void) {
audio_config.clicky_enable = 0;
- eeconfig_update_audio(audio_config.raw);
+ eeconfig_update_audio(&audio_config);
}
bool is_clicky_on(void) {
diff --git a/quantum/process_keycode/process_connection.c b/quantum/process_keycode/process_connection.c
index b0e230d680..501529ede7 100644
--- a/quantum/process_keycode/process_connection.c
+++ b/quantum/process_keycode/process_connection.c
@@ -1,24 +1,34 @@
// Copyright 2024 Nick Brassel (@tzarc)
// SPDX-License-Identifier: GPL-2.0-or-later
-#include "outputselect.h"
+#include "connection.h"
#include "process_connection.h"
bool process_connection(uint16_t keycode, keyrecord_t *record) {
if (record->event.pressed) {
switch (keycode) {
case QK_OUTPUT_NEXT:
- set_output(OUTPUT_AUTO); // This should cycle through the outputs going forward. Ensure `docs/keycodes.md`, `docs/features/bluetooth.md` are updated when it does.
+ connection_next_host();
+ return false;
+ case QK_OUTPUT_PREV:
+ connection_prev_host();
+ return false;
+
+ case QK_OUTPUT_AUTO:
+ connection_set_host(CONNECTION_HOST_AUTO);
+ return false;
+ case QK_OUTPUT_NONE:
+ connection_set_host(CONNECTION_HOST_NONE);
return false;
case QK_OUTPUT_USB:
- set_output(OUTPUT_USB);
+ connection_set_host(CONNECTION_HOST_USB);
return false;
case QK_OUTPUT_BLUETOOTH:
- set_output(OUTPUT_BLUETOOTH);
+ connection_set_host(CONNECTION_HOST_BLUETOOTH);
return false;
-
- case QK_OUTPUT_PREV:
- case QK_OUTPUT_NONE:
case QK_OUTPUT_2P4GHZ:
+ connection_set_host(CONNECTION_HOST_2P4GHZ);
+ return false;
+
case QK_BLUETOOTH_PROFILE_NEXT:
case QK_BLUETOOTH_PROFILE_PREV:
case QK_BLUETOOTH_UNPAIR:
diff --git a/quantum/process_keycode/process_leader.c b/quantum/process_keycode/process_leader.c
index ca017a577d..a5466c513c 100644
--- a/quantum/process_keycode/process_leader.c
+++ b/quantum/process_keycode/process_leader.c
@@ -22,11 +22,7 @@ bool process_leader(uint16_t keycode, keyrecord_t *record) {
if (record->event.pressed) {
if (leader_sequence_active() && !leader_sequence_timed_out()) {
#ifndef LEADER_KEY_STRICT_KEY_PROCESSING
- if (IS_QK_MOD_TAP(keycode)) {
- keycode = QK_MOD_TAP_GET_TAP_KEYCODE(keycode);
- } else if (IS_QK_LAYER_TAP(keycode)) {
- keycode = QK_LAYER_TAP_GET_TAP_KEYCODE(keycode);
- }
+ keycode = get_tap_keycode(keycode);
#endif
if (!leader_sequence_add(keycode)) {
diff --git a/quantum/process_keycode/process_magic.c b/quantum/process_keycode/process_magic.c
index 3b35884d68..d5280105de 100644
--- a/quantum/process_keycode/process_magic.c
+++ b/quantum/process_keycode/process_magic.c
@@ -47,7 +47,7 @@ bool process_magic(uint16_t keycode, keyrecord_t *record) {
if (record->event.pressed) {
if (IS_MAGIC_KEYCODE(keycode)) {
/* keymap config */
- keymap_config.raw = eeconfig_read_keymap();
+ eeconfig_read_keymap(&keymap_config);
switch (keycode) {
case QK_MAGIC_SWAP_CONTROL_CAPS_LOCK:
keymap_config.swap_control_capslock = true;
@@ -187,7 +187,7 @@ bool process_magic(uint16_t keycode, keyrecord_t *record) {
break;
}
- eeconfig_update_keymap(keymap_config.raw);
+ eeconfig_update_keymap(&keymap_config);
clear_keyboard(); // clear to prevent stuck keys
return false;
diff --git a/quantum/process_keycode/process_repeat_key.c b/quantum/process_keycode/process_repeat_key.c
index 73f4ddedcf..fdeed4f466 100644
--- a/quantum/process_keycode/process_repeat_key.c
+++ b/quantum/process_keycode/process_repeat_key.c
@@ -41,7 +41,10 @@ static bool remember_last_key(uint16_t keycode, keyrecord_t* record, uint8_t* re
#ifdef TRI_LAYER_ENABLE // Ignore Tri Layer keys.
case QK_TRI_LAYER_LOWER:
case QK_TRI_LAYER_UPPER:
-#endif // TRI_LAYER_ENABLE
+#endif // TRI_LAYER_ENABLE
+#ifdef LAYER_LOCK_ENABLE // Ignore Layer Lock key.
+ case QK_LAYER_LOCK:
+#endif // LAYER_LOCK_ENABLE
return false;
// Ignore hold events on tap-hold keys.
diff --git a/quantum/process_keycode/process_steno.c b/quantum/process_keycode/process_steno.c
index c491d6f1d8..4789461352 100644
--- a/quantum/process_keycode/process_steno.c
+++ b/quantum/process_keycode/process_steno.c
@@ -20,9 +20,6 @@
#ifdef VIRTSER_ENABLE
# include "virtser.h"
#endif
-#ifdef STENO_ENABLE_ALL
-# include "eeprom.h"
-#endif
// All steno keys that have been pressed to form this chord,
// stored in MAX_STROKE_SIZE groups of 8-bit arrays.
@@ -128,13 +125,13 @@ static const uint16_t combinedmap_second[] PROGMEM = {STN_S2, STN_KL, STN_WL, ST
#ifdef STENO_ENABLE_ALL
void steno_init(void) {
- mode = eeprom_read_byte(EECONFIG_STENOMODE);
+ mode = eeconfig_read_steno_mode();
}
void steno_set_mode(steno_mode_t new_mode) {
steno_clear_chord();
mode = new_mode;
- eeprom_update_byte(EECONFIG_STENOMODE, mode);
+ eeconfig_update_steno_mode(mode);
}
#endif // STENO_ENABLE_ALL
diff --git a/quantum/quantum.c b/quantum/quantum.c
index adb14d64b6..0bb6ee0a91 100644
--- a/quantum/quantum.c
+++ b/quantum/quantum.c
@@ -20,7 +20,7 @@
# include "process_backlight.h"
#endif
-#ifdef BLUETOOTH_ENABLE
+#ifdef CONNECTION_ENABLE
# include "process_connection.h"
#endif
@@ -436,7 +436,7 @@ bool process_record_quantum(keyrecord_t *record) {
#ifdef LAYER_LOCK_ENABLE
process_layer_lock(keycode, record) &&
#endif
-#ifdef BLUETOOTH_ENABLE
+#ifdef CONNECTION_ENABLE
process_connection(keycode, record) &&
#endif
true)) {
diff --git a/quantum/quantum.h b/quantum/quantum.h
index 59a415ead4..3a994e9a03 100644
--- a/quantum/quantum.h
+++ b/quantum/quantum.h
@@ -39,6 +39,7 @@
#include "keymap_common.h"
#include "quantum_keycodes.h"
#include "keycode_config.h"
+#include "keycode_string.h"
#include "action_layer.h"
#include "eeconfig.h"
#include "bootloader.h"
diff --git a/quantum/rgb_matrix/animations/rgb_matrix_effects.inc b/quantum/rgb_matrix/animations/rgb_matrix_effects.inc
index a02238a2d1..e8b7a2bcde 100644
--- a/quantum/rgb_matrix/animations/rgb_matrix_effects.inc
+++ b/quantum/rgb_matrix/animations/rgb_matrix_effects.inc
@@ -42,4 +42,4 @@
#include "starlight_anim.h"
#include "starlight_dual_sat_anim.h"
#include "starlight_dual_hue_anim.h"
-#include "riverflow_anim.h" \ No newline at end of file
+#include "riverflow_anim.h"
diff --git a/quantum/rgb_matrix/rgb_matrix.c b/quantum/rgb_matrix/rgb_matrix.c
index 484d177546..3fc9085f06 100644
--- a/quantum/rgb_matrix/rgb_matrix.c
+++ b/quantum/rgb_matrix/rgb_matrix.c
@@ -18,7 +18,6 @@
#include "rgb_matrix.h"
#include "progmem.h"
-#include "eeprom.h"
#include "eeconfig.h"
#include "keyboard.h"
#include "sync_timer.h"
@@ -88,9 +87,9 @@ static last_hit_t last_hit_buffer;
const uint8_t k_rgb_matrix_split[2] = RGB_MATRIX_SPLIT;
#endif
-EECONFIG_DEBOUNCE_HELPER(rgb_matrix, EECONFIG_RGB_MATRIX, rgb_matrix_config);
+EECONFIG_DEBOUNCE_HELPER(rgb_matrix, rgb_matrix_config);
-void eeconfig_update_rgb_matrix(void) {
+void eeconfig_force_flush_rgb_matrix(void) {
eeconfig_flush_rgb_matrix(true);
}
diff --git a/quantum/rgb_matrix/rgb_matrix.h b/quantum/rgb_matrix/rgb_matrix.h
index 33f7e06a63..e00e3927c7 100644
--- a/quantum/rgb_matrix/rgb_matrix.h
+++ b/quantum/rgb_matrix/rgb_matrix.h
@@ -140,7 +140,7 @@ enum rgb_matrix_effects {
};
void eeconfig_update_rgb_matrix_default(void);
-void eeconfig_update_rgb_matrix(void);
+void eeconfig_force_flush_rgb_matrix(void);
uint8_t rgb_matrix_map_row_column_to_led_kb(uint8_t row, uint8_t column, uint8_t *led_i);
uint8_t rgb_matrix_map_row_column_to_led(uint8_t row, uint8_t column, uint8_t *led_i);
@@ -215,7 +215,7 @@ void rgb_matrix_set_flags_noeeprom(led_flags_t flags);
void rgb_matrix_update_pwm_buffers(void);
#ifndef RGBLIGHT_ENABLE
-# define eeconfig_update_rgblight_current eeconfig_update_rgb_matrix
+# define eeconfig_update_rgblight_current eeconfig_force_flush_rgb_matrix
# define rgblight_reload_from_eeprom rgb_matrix_reload_from_eeprom
# define rgblight_toggle rgb_matrix_toggle
# define rgblight_toggle_noeeprom rgb_matrix_toggle_noeeprom
diff --git a/quantum/rgb_matrix/rgb_matrix_types.h b/quantum/rgb_matrix/rgb_matrix_types.h
index 0834a7067c..62005ebea9 100644
--- a/quantum/rgb_matrix/rgb_matrix_types.h
+++ b/quantum/rgb_matrix/rgb_matrix_types.h
@@ -73,7 +73,7 @@ typedef struct PACKED {
uint8_t flags[RGB_MATRIX_LED_COUNT];
} led_config_t;
-typedef union {
+typedef union rgb_config_t {
uint64_t raw;
struct PACKED {
uint8_t enable : 2;
diff --git a/quantum/rgblight/rgblight.c b/quantum/rgblight/rgblight.c
index ddccc9bae3..83f97c8114 100644
--- a/quantum/rgblight/rgblight.c
+++ b/quantum/rgblight/rgblight.c
@@ -24,9 +24,7 @@
#include "util.h"
#include "led_tables.h"
#include <lib/lib8tion/lib8tion.h>
-#ifdef EEPROM_ENABLE
-# include "eeprom.h"
-#endif
+#include "eeconfig.h"
#ifdef RGBLIGHT_SPLIT
/* for split keyboard */
@@ -176,24 +174,9 @@ void rgblight_check_config(void) {
}
}
-uint64_t eeconfig_read_rgblight(void) {
-#ifdef EEPROM_ENABLE
- return (uint64_t)((eeprom_read_dword(EECONFIG_RGBLIGHT)) | ((uint64_t)eeprom_read_byte(EECONFIG_RGBLIGHT_EXTENDED) << 32));
-#else
- return 0;
-#endif
-}
-
-void eeconfig_update_rgblight(uint64_t val) {
-#ifdef EEPROM_ENABLE
- rgblight_check_config();
- eeprom_update_dword(EECONFIG_RGBLIGHT, val & 0xFFFFFFFF);
- eeprom_update_byte(EECONFIG_RGBLIGHT_EXTENDED, (val >> 32) & 0xFF);
-#endif
-}
-
void eeconfig_update_rgblight_current(void) {
- eeconfig_update_rgblight(rgblight_config.raw);
+ rgblight_check_config();
+ eeconfig_update_rgblight(&rgblight_config);
}
void eeconfig_update_rgblight_default(void) {
@@ -205,7 +188,7 @@ void eeconfig_update_rgblight_default(void) {
rgblight_config.val = RGBLIGHT_DEFAULT_VAL;
rgblight_config.speed = RGBLIGHT_DEFAULT_SPD;
RGBLIGHT_SPLIT_SET_CHANGE_MODEHSVS;
- eeconfig_update_rgblight(rgblight_config.raw);
+ eeconfig_update_rgblight(&rgblight_config);
}
void eeconfig_debug_rgblight(void) {
@@ -228,12 +211,12 @@ void rgblight_init(void) {
}
dprintf("rgblight_init start!\n");
- rgblight_config.raw = eeconfig_read_rgblight();
+ eeconfig_read_rgblight(&rgblight_config);
RGBLIGHT_SPLIT_SET_CHANGE_MODEHSVS;
if (!rgblight_config.mode) {
dprintf("rgblight_init rgblight_config.mode = 0. Write default values to EEPROM.\n");
eeconfig_update_rgblight_default();
- rgblight_config.raw = eeconfig_read_rgblight();
+ eeconfig_read_rgblight(&rgblight_config);
}
rgblight_check_config();
@@ -252,7 +235,7 @@ void rgblight_init(void) {
void rgblight_reload_from_eeprom(void) {
/* Reset back to what we have in eeprom */
- rgblight_config.raw = eeconfig_read_rgblight();
+ eeconfig_read_rgblight(&rgblight_config);
RGBLIGHT_SPLIT_SET_CHANGE_MODEHSVS;
rgblight_check_config();
eeconfig_debug_rgblight(); // display current eeprom values
@@ -341,7 +324,7 @@ void rgblight_mode_eeprom_helper(uint8_t mode, bool write_to_eeprom) {
}
RGBLIGHT_SPLIT_SET_CHANGE_MODE;
if (write_to_eeprom) {
- eeconfig_update_rgblight(rgblight_config.raw);
+ eeconfig_update_rgblight(&rgblight_config);
dprintf("rgblight mode [EEPROM]: %u\n", rgblight_config.mode);
} else {
dprintf("rgblight mode [NOEEPROM]: %u\n", rgblight_config.mode);
@@ -386,7 +369,7 @@ void rgblight_toggle_noeeprom(void) {
void rgblight_enable(void) {
rgblight_config.enable = 1;
// No need to update EEPROM here. rgblight_mode() will do that, actually
- // eeconfig_update_rgblight(rgblight_config.raw);
+ // eeconfig_update_rgblight(&rgblight_config);
dprintf("rgblight enable [EEPROM]: rgblight_config.enable = %u\n", rgblight_config.enable);
rgblight_mode(rgblight_config.mode);
}
@@ -399,7 +382,7 @@ void rgblight_enable_noeeprom(void) {
void rgblight_disable(void) {
rgblight_config.enable = 0;
- eeconfig_update_rgblight(rgblight_config.raw);
+ eeconfig_update_rgblight(&rgblight_config);
dprintf("rgblight disable [EEPROM]: rgblight_config.enable = %u\n", rgblight_config.enable);
rgblight_timer_disable();
RGBLIGHT_SPLIT_SET_CHANGE_MODE;
@@ -487,7 +470,7 @@ void rgblight_increase_speed_helper(bool write_to_eeprom) {
if (rgblight_config.speed < 3) rgblight_config.speed++;
// RGBLIGHT_SPLIT_SET_CHANGE_HSVS; // NEED?
if (write_to_eeprom) {
- eeconfig_update_rgblight(rgblight_config.raw);
+ eeconfig_update_rgblight(&rgblight_config);
}
}
void rgblight_increase_speed(void) {
@@ -501,7 +484,7 @@ void rgblight_decrease_speed_helper(bool write_to_eeprom) {
if (rgblight_config.speed > 0) rgblight_config.speed--;
// RGBLIGHT_SPLIT_SET_CHANGE_HSVS; // NEED??
if (write_to_eeprom) {
- eeconfig_update_rgblight(rgblight_config.raw);
+ eeconfig_update_rgblight(&rgblight_config);
}
}
void rgblight_decrease_speed(void) {
@@ -585,7 +568,7 @@ void rgblight_sethsv_eeprom_helper(uint8_t hue, uint8_t sat, uint8_t val, bool w
rgblight_config.sat = sat;
rgblight_config.val = val;
if (write_to_eeprom) {
- eeconfig_update_rgblight(rgblight_config.raw);
+ eeconfig_update_rgblight(&rgblight_config);
dprintf("rgblight set hsv [EEPROM]: %u,%u,%u\n", rgblight_config.hue, rgblight_config.sat, rgblight_config.val);
} else {
dprintf("rgblight set hsv [NOEEPROM]: %u,%u,%u\n", rgblight_config.hue, rgblight_config.sat, rgblight_config.val);
@@ -608,7 +591,7 @@ uint8_t rgblight_get_speed(void) {
void rgblight_set_speed_eeprom_helper(uint8_t speed, bool write_to_eeprom) {
rgblight_config.speed = speed;
if (write_to_eeprom) {
- eeconfig_update_rgblight(rgblight_config.raw);
+ eeconfig_update_rgblight(&rgblight_config);
dprintf("rgblight set speed [EEPROM]: %u\n", rgblight_config.speed);
} else {
dprintf("rgblight set speed [NOEEPROM]: %u\n", rgblight_config.speed);
diff --git a/quantum/rgblight/rgblight.h b/quantum/rgblight/rgblight.h
index f4b6e621e4..f5fd450d4c 100644
--- a/quantum/rgblight/rgblight.h
+++ b/quantum/rgblight/rgblight.h
@@ -168,7 +168,6 @@ enum RGBLIGHT_EFFECT_MODE {
#include <stdbool.h>
#include "rgblight_drivers.h"
#include "progmem.h"
-#include "eeconfig.h"
#include "color.h"
#ifdef RGBLIGHT_LAYERS
@@ -248,7 +247,7 @@ extern const uint16_t RGBLED_RGBTEST_INTERVALS[1] PROGMEM;
extern const uint8_t RGBLED_TWINKLE_INTERVALS[3] PROGMEM;
extern bool is_rgblight_initialized;
-typedef union {
+typedef union rgblight_config_t {
uint64_t raw;
struct {
bool enable : 1;
@@ -370,8 +369,6 @@ void rgblight_suspend(void);
void rgblight_wakeup(void);
uint64_t rgblight_read_qword(void);
void rgblight_update_qword(uint64_t qword);
-uint64_t eeconfig_read_rgblight(void);
-void eeconfig_update_rgblight(uint64_t val);
void eeconfig_update_rgblight_current(void);
void eeconfig_update_rgblight_default(void);
void eeconfig_debug_rgblight(void);
diff --git a/quantum/split_common/split_util.h b/quantum/split_common/split_util.h
index f83b05b6a6..6f4c4dc660 100644
--- a/quantum/split_common/split_util.h
+++ b/quantum/split_common/split_util.h
@@ -15,4 +15,4 @@ bool is_transport_connected(void);
void split_watchdog_update(bool done);
void split_watchdog_task(void);
-bool split_watchdog_check(void); \ No newline at end of file
+bool split_watchdog_check(void);
diff --git a/quantum/unicode/unicode.c b/quantum/unicode/unicode.c
index 78a4cad585..dff1d43fb4 100644
--- a/quantum/unicode/unicode.c
+++ b/quantum/unicode/unicode.c
@@ -16,7 +16,6 @@
#include "unicode.h"
-#include "eeprom.h"
#include "eeconfig.h"
#include "action.h"
#include "action_util.h"
@@ -136,7 +135,7 @@ static void unicode_play_song(uint8_t mode) {
#endif
void unicode_input_mode_init(void) {
- unicode_config.raw = eeprom_read_byte(EECONFIG_UNICODEMODE);
+ eeconfig_read_unicode_mode(&unicode_config);
#if UNICODE_SELECTED_MODES != -1
# if UNICODE_CYCLE_PERSIST
// Find input_mode in selected modes
@@ -165,7 +164,7 @@ uint8_t get_unicode_input_mode(void) {
}
static void persist_unicode_input_mode(void) {
- eeprom_update_byte(EECONFIG_UNICODEMODE, unicode_config.input_mode);
+ eeconfig_update_unicode_mode(&unicode_config);
}
void set_unicode_input_mode(uint8_t mode) {
diff --git a/quantum/unicode/unicode.h b/quantum/unicode/unicode.h
index 90a54c8b18..f19d803335 100644
--- a/quantum/unicode/unicode.h
+++ b/quantum/unicode/unicode.h
@@ -26,7 +26,7 @@
* \{
*/
-typedef union {
+typedef union unicode_config_t {
uint8_t raw;
struct {
uint8_t input_mode : 8;
diff --git a/quantum/via.c b/quantum/via.c
index 643d7aa3c3..3682b4ab2b 100644
--- a/quantum/via.c
+++ b/quantum/via.c
@@ -26,12 +26,12 @@
#include "raw_hid.h"
#include "dynamic_keymap.h"
-#include "eeprom.h"
#include "eeconfig.h"
#include "matrix.h"
#include "timer.h"
#include "wait.h"
#include "version.h" // for QMK_BUILDDATE used in EEPROM magic
+#include "nvm_via.h"
#if defined(AUDIO_ENABLE)
# include "audio.h"
@@ -65,20 +65,26 @@ bool via_eeprom_is_valid(void) {
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);
+ uint8_t ee_magic0;
+ uint8_t ee_magic1;
+ uint8_t ee_magic2;
+ nvm_via_read_magic(&ee_magic0, &ee_magic1, &ee_magic2);
+
+ return ee_magic0 == magic0 && ee_magic1 == magic1 && ee_magic2 == 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);
+ if (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);
+ nvm_via_update_magic(magic0, magic1, magic2);
+ } else {
+ nvm_via_update_magic(0xFF, 0xFF, 0xFF);
+ }
}
// Override this at the keyboard code level to check
@@ -104,6 +110,8 @@ void via_init(void) {
}
void eeconfig_init_via(void) {
+ // Erase any NVM storage if necessary
+ nvm_via_erase();
// set the magic number to false, in case this gets interrupted
via_eeprom_set_valid(false);
// This resets the layout options
@@ -119,29 +127,24 @@ void eeconfig_init_via(void) {
// This is generalized so the layout options EEPROM usage can be
// variable, between 1 and 4 bytes.
uint32_t via_get_layout_options(void) {
- uint32_t value = 0;
- // Start at the most significant byte
- void *source = (void *)(VIA_EEPROM_LAYOUT_OPTIONS_ADDR);
- for (uint8_t i = 0; i < VIA_EEPROM_LAYOUT_OPTIONS_SIZE; i++) {
- value = value << 8;
- value |= eeprom_read_byte(source);
- source++;
- }
- return value;
+ return nvm_via_read_layout_options();
}
__attribute__((weak)) void via_set_layout_options_kb(uint32_t value) {}
void via_set_layout_options(uint32_t value) {
via_set_layout_options_kb(value);
- // Start at the least significant byte
- void *target = (void *)(VIA_EEPROM_LAYOUT_OPTIONS_ADDR + VIA_EEPROM_LAYOUT_OPTIONS_SIZE - 1);
- for (uint8_t i = 0; i < VIA_EEPROM_LAYOUT_OPTIONS_SIZE; i++) {
- eeprom_update_byte(target, value & 0xFF);
- value = value >> 8;
- target--;
- }
+ nvm_via_update_layout_options(value);
+}
+
+#if VIA_EEPROM_CUSTOM_CONFIG_SIZE > 0
+uint32_t via_read_custom_config(void *buf, uint32_t offset, uint32_t length) {
+ return nvm_via_read_custom_config(buf, offset, length);
+}
+uint32_t via_update_custom_config(const void *buf, uint32_t offset, uint32_t length) {
+ return nvm_via_update_custom_config(buf, offset, length);
}
+#endif
#if defined(AUDIO_ENABLE)
float via_device_indication_song[][2] = SONG(STARTUP_SOUND);
@@ -715,7 +718,7 @@ void via_qmk_rgb_matrix_set_value(uint8_t *data) {
}
void via_qmk_rgb_matrix_save(void) {
- eeconfig_update_rgb_matrix();
+ eeconfig_force_flush_rgb_matrix();
}
#endif // RGB_MATRIX_ENABLE
@@ -794,7 +797,7 @@ void via_qmk_led_matrix_set_value(uint8_t *data) {
}
void via_qmk_led_matrix_save(void) {
- eeconfig_update_led_matrix();
+ eeconfig_force_flush_led_matrix();
}
#endif // LED_MATRIX_ENABLE
@@ -861,7 +864,7 @@ void via_qmk_audio_set_value(uint8_t *data) {
}
void via_qmk_audio_save(void) {
- eeconfig_update_audio(audio_config.raw);
+ eeconfig_update_audio(&audio_config);
}
#endif // QMK_AUDIO_ENABLE
diff --git a/quantum/via.h b/quantum/via.h
index 01d4c48b37..9f0eef10f7 100644
--- a/quantum/via.h
+++ b/quantum/via.h
@@ -16,21 +16,8 @@
#pragma once
-#include "eeconfig.h" // for EECONFIG_SIZE
#include "action.h"
-// Keyboard level code can change where VIA stores the magic.
-// The magic is the build date YYMMDD encoded as BCD in 3 bytes,
-// thus installing firmware built on a different date to the one
-// already installed can be detected and the EEPROM data is reset.
-// The only reason this is important is in case EEPROM usage changes
-// and the EEPROM was not explicitly reset by bootmagic lite.
-#ifndef VIA_EEPROM_MAGIC_ADDR
-# define VIA_EEPROM_MAGIC_ADDR (EECONFIG_SIZE)
-#endif
-
-#define VIA_EEPROM_LAYOUT_OPTIONS_ADDR (VIA_EEPROM_MAGIC_ADDR + 3)
-
// Changing the layout options size after release will invalidate EEPROM,
// but this is something that should be set correctly on initial implementation.
// 1 byte is enough for most uses (i.e. 8 binary states, or 6 binary + 1 ternary/quaternary )
@@ -46,17 +33,10 @@
# define VIA_EEPROM_LAYOUT_OPTIONS_DEFAULT 0x00000000
#endif
-// The end of the EEPROM memory used by VIA
-// By default, dynamic keymaps will start at this if there is no
-// custom config
-#define VIA_EEPROM_CUSTOM_CONFIG_ADDR (VIA_EEPROM_LAYOUT_OPTIONS_ADDR + VIA_EEPROM_LAYOUT_OPTIONS_SIZE)
-
#ifndef VIA_EEPROM_CUSTOM_CONFIG_SIZE
# define VIA_EEPROM_CUSTOM_CONFIG_SIZE 0
#endif
-#define VIA_EEPROM_CONFIG_END (VIA_EEPROM_CUSTOM_CONFIG_ADDR + VIA_EEPROM_CUSTOM_CONFIG_SIZE)
-
// This is changed only when the command IDs change,
// so VIA Configurator can detect compatible firmware.
#define VIA_PROTOCOL_VERSION 0x000C
@@ -160,6 +140,11 @@ uint32_t via_get_layout_options(void);
void via_set_layout_options(uint32_t value);
void via_set_layout_options_kb(uint32_t value);
+#if VIA_EEPROM_CUSTOM_CONFIG_SIZE > 0
+uint32_t via_read_custom_config(void *buf, uint32_t offset, uint32_t length);
+uint32_t via_update_custom_config(const void *buf, uint32_t offset, uint32_t length);
+#endif
+
// Used by VIA to tell a device to flash LEDs (or do something else) when that
// device becomes the active device being configured, on startup or switching
// between devices.
@@ -202,4 +187,4 @@ void via_qmk_audio_command(uint8_t *data, uint8_t length);
void via_qmk_audio_set_value(uint8_t *data);
void via_qmk_audio_get_value(uint8_t *data);
void via_qmk_audio_save(void);
-#endif \ No newline at end of file
+#endif
diff --git a/quantum/wear_leveling/tests/rules.mk b/quantum/wear_leveling/tests/rules.mk
index 4d7a964049..f5f36e5b6e 100644
--- a/quantum/wear_leveling/tests/rules.mk
+++ b/quantum/wear_leveling/tests/rules.mk
@@ -63,4 +63,4 @@ wear_leveling_8byte_SRC := \
$(wear_leveling_common_SRC) \
$(QUANTUM_PATH)/wear_leveling/tests/wear_leveling_8byte.cpp
wear_leveling_8byte_INC := \
- $(wear_leveling_common_INC) \ No newline at end of file
+ $(wear_leveling_common_INC)
diff --git a/readme.md b/readme.md
index 62aed12066..e5c0d41b7b 100644
--- a/readme.md
+++ b/readme.md
@@ -1,3 +1,7 @@
+# THIS IS THE DEVELOP BRANCH
+
+Warning- This is the `develop` branch of QMK Firmware. You may encounter broken code here. Please see [Breaking Changes](https://docs.qmk.fm/#/breaking_changes) for more information.
+
# Quantum Mechanical Keyboard Firmware
[![Current Version](https://img.shields.io/github/tag/qmk/qmk_firmware.svg)](https://github.com/qmk/qmk_firmware/tags)
diff --git a/requirements.txt b/requirements.txt
index fbee51ee57..68b05d64e6 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -6,7 +6,7 @@ dotty-dict
hid
hjson
jsonschema>=4
-milc>=1.4.2
+milc>=1.9.0
pygments
pyserial
pyusb
diff --git a/tests/basic/test_keycode_util.cpp b/tests/basic/test_keycode_util.cpp
deleted file mode 100644
index 693334676e..0000000000
--- a/tests/basic/test_keycode_util.cpp
+++ /dev/null
@@ -1,52 +0,0 @@
-// Copyright 2022 Stefan Kerkmann
-// SPDX-License-Identifier: GPL-2.0-or-later
-
-#include "test_common.hpp"
-
-class KeycodeToIdentifierSuite : public ::testing::TestWithParam<std::pair<std::uint16_t, std::string>> {};
-
-TEST_P(KeycodeToIdentifierSuite, ConversionTests) {
- ASSERT_EQ(get_keycode_identifier_or_default(GetParam().first), GetParam().second);
-}
-
-INSTANTIATE_TEST_CASE_P(ConversionTestsP, KeycodeToIdentifierSuite,
- // clang-format off
-::testing::Values(
- // Goto layer
- std::make_pair(TO(0), "TO(0)"),
- std::make_pair(TO(0x1F), "TO(31)"),
- // Momentary switch layer
- std::make_pair(MO(0), "MO(0)"),
- std::make_pair(MO(0x1F), "MO(31)"),
- // Set default layer
- std::make_pair(DF(0), "DF(0)"),
- std::make_pair(DF(0x1F), "DF(31)"),
- // Toggle layer
- std::make_pair(TG(0), "TG(0)"),
- std::make_pair(TG(0x1F), "TG(31)"),
- // One-shot layer
- std::make_pair(OSL(0), "OSL(0)"),
- std::make_pair(OSL(0x1F), "OSL(31)"),
- // One-shot mod
- std::make_pair(OSM(MOD_LSFT), "OSM(MOD_LSFT)"),
- std::make_pair(OSM(MOD_LSFT | MOD_LCTL), "OSM(MOD_LCTL | MOD_LSFT)"),
- // Layer Mod
- std::make_pair(LM(0, MOD_LSFT), "LM(0, MOD_LSFT)"),
- std::make_pair(LM(0xF, MOD_LSFT), "LM(15, MOD_LSFT)"),
- std::make_pair(LM(0xF, MOD_LSFT | MOD_LCTL), "LM(15, MOD_LCTL | MOD_LSFT)"),
- // Layer tap toggle
- std::make_pair(TT(0), "TT(0)"),
- std::make_pair(TT(0x1F), "TT(31)"),
- // Layer tap
- std::make_pair(LT(0, KC_A), "LT(0, KC_A)"),
- std::make_pair(LT(0xF, KC_SPACE), "LT(15, KC_SPACE)"),
- std::make_pair(LT(1, KC_SPC), "LT(1, KC_SPACE)"),
- // Mod tap
- std::make_pair(MT(MOD_LCTL, KC_A), "MT(MOD_LCTL, KC_A)"),
- std::make_pair(MT(MOD_LCTL | MOD_LSFT, KC_A), "MT(MOD_LCTL | MOD_LSFT, KC_A)"),
- std::make_pair(ALT_T(KC_TAB), "MT(MOD_LALT, KC_TAB)"),
- // Mods
- std::make_pair(LCTL(KC_A), "QK_MODS(KC_A, QK_LCTL)"),
- std::make_pair(HYPR(KC_SPACE), "QK_MODS(KC_SPACE, QK_LCTL | QK_LSFT | QK_LALT | QK_LGUI)")
-));
-// clang-format on
diff --git a/tests/basic/test_one_shot_keys.cpp b/tests/basic/test_one_shot_keys.cpp
index 92db52f811..4784c86694 100644
--- a/tests/basic/test_one_shot_keys.cpp
+++ b/tests/basic/test_one_shot_keys.cpp
@@ -686,4 +686,4 @@ TEST_F(OneShot, OSLWithLongModTapKeyAndRegularKey) {
regular_key.release();
run_one_scan_loop();
VERIFY_AND_CLEAR(driver);
-} \ No newline at end of file
+}
diff --git a/tests/caps_word/test.mk b/tests/caps_word/test.mk
index 2509b01858..6d5664aa05 100644
--- a/tests/caps_word/test.mk
+++ b/tests/caps_word/test.mk
@@ -15,5 +15,7 @@
CAPS_WORD_ENABLE = yes
COMMAND_ENABLE = no
+LAYER_LOCK_ENABLE = yes
SPACE_CADET_ENABLE = yes
+TRI_LAYER_ENABLE = yes
diff --git a/tests/caps_word/test_caps_word.cpp b/tests/caps_word/test_caps_word.cpp
index 28d86e9324..4b58790915 100644
--- a/tests/caps_word/test_caps_word.cpp
+++ b/tests/caps_word/test_caps_word.cpp
@@ -156,21 +156,22 @@ TEST_F(CapsWord, IdleTimeout) {
// Turn on Caps Word and tap "A".
caps_word_on();
tap_key(key_a);
-
VERIFY_AND_CLEAR(driver);
+ EXPECT_EMPTY_REPORT(driver);
idle_for(CAPS_WORD_IDLE_TIMEOUT);
run_one_scan_loop();
+ VERIFY_AND_CLEAR(driver);
// Caps Word should be off and mods should be clear.
EXPECT_EQ(is_caps_word_on(), false);
EXPECT_EQ(get_mods() | get_weak_mods(), 0);
- EXPECT_EMPTY_REPORT(driver).Times(AnyNumber());
// Expect unshifted "A".
EXPECT_REPORT(driver, (KC_A));
+ EXPECT_EMPTY_REPORT(driver);
tap_key(key_a);
-
+ run_one_scan_loop();
VERIFY_AND_CLEAR(driver);
}
@@ -244,6 +245,7 @@ TEST_F(CapsWord, ShiftsAltGrSymbols) {
// clang-format off
EXPECT_CALL(driver, send_keyboard_mock(AnyOf(
KeyboardReport(),
+ KeyboardReport(KC_LSFT),
KeyboardReport(KC_RALT),
KeyboardReport(KC_LSFT, KC_RALT))))
.Times(AnyNumber());
@@ -259,6 +261,9 @@ TEST_F(CapsWord, ShiftsAltGrSymbols) {
tap_key(key_a);
run_one_scan_loop();
key_altgr.release();
+ run_one_scan_loop();
+
+ idle_for(CAPS_WORD_IDLE_TIMEOUT);
VERIFY_AND_CLEAR(driver);
}
@@ -274,6 +279,7 @@ TEST_F(CapsWord, ShiftsModTapAltGrSymbols) {
// clang-format off
EXPECT_CALL(driver, send_keyboard_mock(AnyOf(
KeyboardReport(),
+ KeyboardReport(KC_LSFT),
KeyboardReport(KC_RALT),
KeyboardReport(KC_LSFT, KC_RALT))))
.Times(AnyNumber());
@@ -289,8 +295,11 @@ TEST_F(CapsWord, ShiftsModTapAltGrSymbols) {
tap_key(key_a);
run_one_scan_loop();
key_altgr_t.release();
-
+ run_one_scan_loop();
EXPECT_TRUE(is_caps_word_on());
+
+ idle_for(CAPS_WORD_IDLE_TIMEOUT);
+
VERIFY_AND_CLEAR(driver);
}
@@ -535,7 +544,11 @@ TEST_P(CapsWordDoubleTapShift, Activation) {
// machine at this point. This due to imperfect test isolation which can't
// reset the caps word double shift timer on test case setup.
idle_for(CAPS_WORD_IDLE_TIMEOUT);
+
+ EXPECT_REPORT(driver, (KC_ESC));
+ EXPECT_EMPTY_REPORT(driver);
tap_key(esc);
+ VERIFY_AND_CLEAR(driver);
}
// Double tap doesn't count if another key is pressed between the taps.
@@ -589,6 +602,7 @@ TEST_P(CapsWordDoubleTapShift, SlowTaps) {
EXPECT_EQ(is_caps_word_on(), false); // Caps Word is still off.
clear_oneshot_mods();
+ send_keyboard_report();
VERIFY_AND_CLEAR(driver);
}
@@ -626,7 +640,7 @@ TEST_F(CapsWord, IgnoresOSLHold) {
run_one_scan_loop();
tap_key(key_b);
key_osl.release();
- run_one_scan_loop();
+ idle_for(CAPS_WORD_IDLE_TIMEOUT + 1);
VERIFY_AND_CLEAR(driver);
}
@@ -645,15 +659,39 @@ TEST_F(CapsWord, IgnoresOSLTap) {
KeyboardReport(),
KeyboardReport(KC_LSFT))))
.Times(AnyNumber());
+ // clang-format on
EXPECT_REPORT(driver, (KC_LSFT, KC_B));
caps_word_on();
tap_key(key_osl);
tap_key(key_b);
- run_one_scan_loop();
+ idle_for(CAPS_WORD_IDLE_TIMEOUT);
+
+ VERIFY_AND_CLEAR(driver);
+}
+
+TEST_F(CapsWord, IgnoresLayerLockKey) {
+ TestDriver driver;
+ KeymapKey key_llock(0, 1, 0, QK_LAYER_LOCK);
+ KeymapKey key_b(0, 0, 0, KC_B);
+ set_keymap({key_llock, key_b});
+
+ // Allow any number of reports with no keys or only modifiers.
+ // clang-format off
+ EXPECT_CALL(driver, send_keyboard_mock(AnyOf(
+ KeyboardReport(),
+ KeyboardReport(KC_LSFT))))
+ .Times(AnyNumber());
+ // clang-format on
+
+ EXPECT_REPORT(driver, (KC_LSFT, KC_B));
+ caps_word_on();
+
+ tap_key(key_llock);
+ tap_key(key_b);
+ idle_for(CAPS_WORD_IDLE_TIMEOUT);
VERIFY_AND_CLEAR(driver);
}
-// clang-format on
} // namespace
diff --git a/tests/combo/combo_repress/test_combo.cpp b/tests/combo/combo_repress/test_combo.cpp
index 1488d5c1bd..b1a2d36cb3 100644
--- a/tests/combo/combo_repress/test_combo.cpp
+++ b/tests/combo/combo_repress/test_combo.cpp
@@ -2,9 +2,9 @@
// SPDX-License-Identifier: GPL-2.0-or-later
#include "keyboard_report_util.hpp"
-#include "quantum.h"
#include "keycode.h"
#include "test_common.h"
+#include "test_common.hpp"
#include "test_driver.hpp"
#include "test_fixture.hpp"
#include "test_keymap_key.hpp"
diff --git a/tests/combo/test_combo.cpp b/tests/combo/test_combo.cpp
index ac852f9d16..d78ec55990 100644
--- a/tests/combo/test_combo.cpp
+++ b/tests/combo/test_combo.cpp
@@ -3,7 +3,6 @@
// SPDX-License-Identifier: GPL-2.0-or-later
#include "keyboard_report_util.hpp"
-#include "quantum.h"
#include "keycode.h"
#include "test_common.h"
#include "test_driver.hpp"
diff --git a/keyboards/xelus/valor_frl_tkl/rev2_0/config.h b/tests/keycode_string/config.h
index b085b99d88..7fc76d7c2e 100644
--- a/keyboards/xelus/valor_frl_tkl/rev2_0/config.h
+++ b/tests/keycode_string/config.h
@@ -1,4 +1,4 @@
-/* Copyright 2022 Harrison Chan (Xelus)
+/* Copyright 2017 Fred Sundvik
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -16,4 +16,4 @@
#pragma once
-#define STM32_HSECLK 16000000
+#include "test_common.h"
diff --git a/tests/keycode_string/test.mk b/tests/keycode_string/test.mk
new file mode 100644
index 0000000000..aa255a1b6b
--- /dev/null
+++ b/tests/keycode_string/test.mk
@@ -0,0 +1,22 @@
+# Copyright 2025 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.
+
+EXTRAKEY_ENABLE = yes
+KEYCODE_STRING_ENABLE = yes
+KEY_LOCK_ENABLE = yes
+MAGIC_ENABLE = yes
+MOUSEKEY_ENABLE = yes
+PROGRAMMABLE_BUTTON_ENABLE = yes
+SECURE_ENABLE = yes
+SWAP_HANDS_ENABLE = yes
diff --git a/tests/keycode_string/test_keycode_string.cpp b/tests/keycode_string/test_keycode_string.cpp
new file mode 100644
index 0000000000..e1dec70e7a
--- /dev/null
+++ b/tests/keycode_string/test_keycode_string.cpp
@@ -0,0 +1,153 @@
+// Copyright 2025 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.
+
+#include <iostream>
+
+#include "test_common.hpp"
+
+enum {
+ MYMACRO1 = SAFE_RANGE,
+ MYMACRO2,
+};
+
+// clang-format off
+extern "C" {
+
+KEYCODE_STRING_NAMES_KB(
+ KEYCODE_STRING_NAME(MYMACRO1),
+);
+
+KEYCODE_STRING_NAMES_USER(
+ KEYCODE_STRING_NAME(MYMACRO2),
+ KEYCODE_STRING_NAME(KC_EXLM),
+);
+
+const keypos_t PROGMEM hand_swap_config[MATRIX_ROWS][MATRIX_COLS] = {
+ {{9, 0}, {8, 0}, {7, 0}, {6, 0}, {5, 0}, {4, 0}, {3, 0}, {2, 0}, {1, 0}, {0, 0}},
+ {{9, 1}, {8, 1}, {7, 1}, {6, 1}, {5, 1}, {4, 1}, {3, 1}, {2, 1}, {1, 1}, {0, 1}},
+ {{9, 2}, {8, 2}, {7, 2}, {6, 2}, {5, 2}, {4, 2}, {3, 2}, {2, 2}, {1, 2}, {0, 2}},
+ {{9, 3}, {8, 3}, {7, 3}, {6, 3}, {5, 3}, {4, 3}, {3, 3}, {2, 3}, {1, 3}, {0, 3}},
+};
+
+} // extern "C"
+// clang-format on
+
+class KeycodeStringTest : public TestFixture {};
+
+TEST_F(KeycodeStringTest, get_keycode_string) {
+ struct TestParams {
+ uint16_t keycode;
+ std::string expected;
+ };
+ for (const auto [keycode, expected] : std::vector<TestParams>({
+ {KC_TRNS, "KC_TRNS"},
+ {KC_ESC, "KC_ESC"},
+ {KC_A, "KC_A"},
+ {KC_Z, "KC_Z"},
+ {KC_0, "KC_0"},
+ {KC_9, "KC_9"},
+ {KC_KP_0, "KC_KP_0"},
+ {KC_KP_9, "KC_KP_9"},
+ {KC_LBRC, "KC_LBRC"},
+ {KC_NUHS, "KC_NUHS"},
+ {KC_NUBS, "KC_NUBS"},
+ {KC_CAPS, "KC_CAPS"},
+ {DB_TOGG, "DB_TOGG"},
+ {KC_LCTL, "KC_LCTL"},
+ {KC_LSFT, "KC_LSFT"},
+ {KC_RALT, "KC_RALT"},
+ {KC_RGUI, "KC_RGUI"},
+ {KC_UP, "KC_UP"},
+ {KC_HYPR, "KC_HYPR"},
+ {KC_MEH, "KC_MEH"},
+ // F1-F24 keycodes.
+ {KC_F1, "KC_F1"},
+ {KC_F12, "KC_F12"},
+ {KC_F13, "KC_F13"},
+ {KC_F24, "KC_F24"},
+ // Macro keycodes.
+ {MC_0, "MC_0"},
+ {MC_31, "MC_31"},
+ // Keyboard range keycodes.
+ {QK_KB_0, "QK_KB_0"},
+ {QK_KB_31, "QK_KB_31"},
+ // User range keycodes.
+ {QK_USER_2, "QK_USER_2"},
+ {QK_USER_31, "QK_USER_31"},
+ // Modified keycodes.
+ {KC_COLN, "S(KC_SCLN)"},
+ {C(KC_PGUP), "C(KC_PGUP)"},
+ {RALT(KC_BSPC), "RALT(KC_BSPC)"},
+ // One-shot mods.
+ {OSM(MOD_LSFT), "OSM(MOD_LSFT)"},
+ {OSM(MOD_RGUI), "OSM(MOD_RGUI)"},
+ {OSM(MOD_RCTL | MOD_RGUI), "OSM(0x19)"},
+ // Layer switch keycodes.
+ {DF(2), "DF(2)"},
+ {PDF(12), "PDF(12)"},
+ {MO(3), "MO(3)"},
+ {TO(0), "TO(0)"},
+ {TT(1), "TT(1)"},
+ {TG(3), "TG(3)"},
+ {OSL(3), "OSL(3)"},
+ {LM(3, MOD_RALT), "LM(3,MOD_RALT)"},
+ {LT(15, KC_QUOT), "LT(15,KC_QUOT)"},
+ // Tap dance keycodes.
+ {TD(0), "TD(0)"},
+ {TD(31), "TD(31)"},
+ // Mod-tap keycodes.
+ {LSFT_T(KC_ENT), "LSFT_T(KC_ENT)"},
+ {RCTL_T(KC_RGHT), "RCTL_T(KC_RGHT)"},
+ {HYPR_T(KC_GRV), "HYPR_T(KC_GRV)"},
+ {MEH_T(KC_EQL), "MEH_T(KC_EQL)"},
+ {RSA_T(KC_LBRC), "MT(0x16,KC_LBRC)"},
+ // Extrakey keycodes.
+ {KC_WBAK, "KC_WBAK"},
+ {KC_WFWD, "KC_WFWD"},
+ {KC_WREF, "KC_WREF"},
+ {KC_VOLU, "KC_VOLU"},
+ {KC_VOLD, "KC_VOLD"},
+ // Mouse Key keycodes.
+ {MS_LEFT, "MS_LEFT"},
+ {MS_RGHT, "MS_RGHT"},
+ {MS_UP, "MS_UP"},
+ {MS_WHLU, "MS_WHLU"},
+ {MS_WHLD, "MS_WHLD"},
+ {MS_BTN1, "MS_BTN1"},
+ {MS_BTN8, "MS_BTN8"},
+ // Swap Hands keycodes.
+ {SH_MON, "SH_MON"},
+ {SH_TOGG, "SH_TOGG"},
+ {SH_T(KC_PSCR), "SH_T(KC_PSCR)"},
+ // Secure keycodes.
+ {SE_LOCK, "SE_LOCK"},
+ {SE_UNLK, "SE_UNLK"},
+ {SE_TOGG, "SE_TOGG"},
+ {SE_REQ, "SE_REQ"},
+ // Programmable button keycodes.
+ {PB_1, "PB_1"},
+ {PB_32, "PB_32"},
+ // Magic button keycodes.
+ {QK_MAGIC + 7, "QK_MAGIC+7"},
+ // Quantum keycodes.
+ {QK_LOCK, "QK_LOCK"},
+ {QK_QUANTUM + 7, "QK_QUANTUM+7"},
+ // Custom keycode names.
+ {MYMACRO1, "MYMACRO1"},
+ {MYMACRO2, "MYMACRO2"},
+ {KC_EXLM, "KC_EXLM"},
+ })) {
+ EXPECT_EQ(get_keycode_string(keycode), expected) << "where keycode = 0x" << std::hex << keycode;
+ }
+}
diff --git a/tests/no_tapping/no_action_tapping/test.mk b/tests/no_tapping/no_action_tapping/test.mk
index 29690d1adf..6ec384609c 100644
--- a/tests/no_tapping/no_action_tapping/test.mk
+++ b/tests/no_tapping/no_action_tapping/test.mk
@@ -15,4 +15,4 @@
# --------------------------------------------------------------------------------
# Keep this file, even if it is empty, as a marker that this folder contains tests
-# -------------------------------------------------------------------------------- \ No newline at end of file
+# --------------------------------------------------------------------------------
diff --git a/tests/no_tapping/no_mod_tap_mods/test.mk b/tests/no_tapping/no_mod_tap_mods/test.mk
index 29690d1adf..6ec384609c 100644
--- a/tests/no_tapping/no_mod_tap_mods/test.mk
+++ b/tests/no_tapping/no_mod_tap_mods/test.mk
@@ -15,4 +15,4 @@
# --------------------------------------------------------------------------------
# Keep this file, even if it is empty, as a marker that this folder contains tests
-# -------------------------------------------------------------------------------- \ No newline at end of file
+# --------------------------------------------------------------------------------
diff --git a/tests/repeat_key/alt_repeat_key/test_alt_repeat_key.cpp b/tests/repeat_key/alt_repeat_key/test_alt_repeat_key.cpp
index ae525acb45..e2eed3dbb6 100644
--- a/tests/repeat_key/alt_repeat_key/test_alt_repeat_key.cpp
+++ b/tests/repeat_key/alt_repeat_key/test_alt_repeat_key.cpp
@@ -210,7 +210,7 @@ TEST_F(AltRepeatKey, GetAltRepeatKeyKeycode) {
{MO(1), 0, KC_NO},
// clang-format on
})) {
- SCOPED_TRACE(std::string("Input keycode: ") + get_keycode_identifier_or_default(params.keycode));
+ SCOPED_TRACE(std::string("Input keycode: ") + get_keycode_string(params.keycode));
set_last_keycode(params.keycode);
set_last_mods(params.mods);
diff --git a/tests/repeat_key/test.mk b/tests/repeat_key/test.mk
index aec8ff3bfb..186207ffc2 100644
--- a/tests/repeat_key/test.mk
+++ b/tests/repeat_key/test.mk
@@ -16,3 +16,4 @@
REPEAT_KEY_ENABLE = yes
AUTO_SHIFT_ENABLE = yes
+LAYER_LOCK_ENABLE = yes
diff --git a/tests/repeat_key/test_repeat_key.cpp b/tests/repeat_key/test_repeat_key.cpp
index eee44fc104..ed5d618761 100644
--- a/tests/repeat_key/test_repeat_key.cpp
+++ b/tests/repeat_key/test_repeat_key.cpp
@@ -751,4 +751,37 @@ TEST_F(RepeatKey, RepeatKeyInvoke) {
testing::Mock::VerifyAndClearExpectations(&driver);
}
+// Check that mods and Layer Lock are not remembered.
+TEST_F(RepeatKey, IgnoredKeys) {
+ TestDriver driver;
+ KeymapKey regular_key(0, 0, 0, KC_A);
+ KeymapKey key_repeat(0, 1, 0, QK_REP);
+ KeymapKey key_lsft(0, 2, 0, KC_LSFT);
+ KeymapKey key_lctl(0, 3, 0, KC_LCTL);
+ KeymapKey key_llck(0, 4, 0, QK_LAYER_LOCK);
+ set_keymap({regular_key, key_repeat, key_lsft, key_lctl, key_llck});
+
+ // Allow any number of empty reports.
+ EXPECT_EMPTY_REPORT(driver).Times(AnyNumber());
+ {
+ InSequence seq;
+ EXPECT_REPORT(driver, (KC_A));
+ EXPECT_REPORT(driver, (KC_LSFT));
+ EXPECT_REPORT(driver, (KC_LCTL));
+ EXPECT_REPORT(driver, (KC_A));
+ EXPECT_REPORT(driver, (KC_A));
+ }
+
+ tap_key(regular_key); // Taps the KC_A key.
+
+ // Tap Shift, Ctrl, and Layer Lock keys, which should not be remembered.
+ tap_keys(key_lsft, key_lctl, key_llck);
+ EXPECT_KEYCODE_EQ(get_last_keycode(), KC_A);
+
+ // Tapping the Repeat Key should still reproduce KC_A.
+ tap_keys(key_repeat, key_repeat);
+
+ testing::Mock::VerifyAndClearExpectations(&driver);
+}
+
} // namespace
diff --git a/keyboards/xelus/valor_frl_tkl/rev2_1/config.h b/tests/tap_hold_configurations/flow_tap/config.h
index b085b99d88..d6f385d8d4 100644
--- a/keyboards/xelus/valor_frl_tkl/rev2_1/config.h
+++ b/tests/tap_hold_configurations/flow_tap/config.h
@@ -1,4 +1,5 @@
-/* Copyright 2022 Harrison Chan (Xelus)
+/* Copyright 2022 Vladislav Kucheriavykh
+ * Copyright 2025 Google LLC
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -16,4 +17,7 @@
#pragma once
-#define STM32_HSECLK 16000000
+#include "test_common.h"
+
+#define FLOW_TAP_TERM 150
+#define PERMISSIVE_HOLD
diff --git a/tests/tap_hold_configurations/flow_tap/test.mk b/tests/tap_hold_configurations/flow_tap/test.mk
new file mode 100644
index 0000000000..81ba8da66d
--- /dev/null
+++ b/tests/tap_hold_configurations/flow_tap/test.mk
@@ -0,0 +1,18 @@
+# Copyright 2022 Vladislav Kucheriavykh
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+COMBO_ENABLE = yes
+
+INTROSPECTION_KEYMAP_C = test_keymap.c
diff --git a/tests/tap_hold_configurations/flow_tap/test_keymap.c b/tests/tap_hold_configurations/flow_tap/test_keymap.c
new file mode 100644
index 0000000000..4dfe5e4cb6
--- /dev/null
+++ b/tests/tap_hold_configurations/flow_tap/test_keymap.c
@@ -0,0 +1,23 @@
+// Copyright 2025 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.
+
+#include "quantum.h"
+
+uint16_t const mt_lt_combo[] = {SFT_T(KC_X), LT(1, KC_Y), COMBO_END};
+
+// clang-format off
+combo_t key_combos[] = {
+ COMBO(mt_lt_combo, KC_Z),
+};
+// clang-format on
diff --git a/tests/tap_hold_configurations/flow_tap/test_tap_hold.cpp b/tests/tap_hold_configurations/flow_tap/test_tap_hold.cpp
new file mode 100644
index 0000000000..a4233f0d57
--- /dev/null
+++ b/tests/tap_hold_configurations/flow_tap/test_tap_hold.cpp
@@ -0,0 +1,642 @@
+// Copyright 2025 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.
+
+#include "keyboard_report_util.hpp"
+#include "keycode.h"
+#include "test_common.hpp"
+#include "action_tapping.h"
+#include "test_fixture.hpp"
+#include "test_keymap_key.hpp"
+
+using testing::_;
+using testing::AnyNumber;
+using testing::InSequence;
+
+class FlowTapTest : public TestFixture {};
+
+// Test an input of quick distinct taps. All should be settled as tapped.
+TEST_F(FlowTapTest, distinct_taps) {
+ TestDriver driver;
+ InSequence s;
+ auto regular_key = KeymapKey(0, 0, 0, KC_A);
+ auto mod_tap_key1 = KeymapKey(0, 1, 0, SFT_T(KC_B));
+ auto mod_tap_key2 = KeymapKey(0, 2, 0, CTL_T(KC_C));
+ auto mod_tap_key3 = KeymapKey(0, 3, 0, ALT_T(KC_D));
+
+ set_keymap({regular_key, mod_tap_key1, mod_tap_key2, mod_tap_key3});
+
+ // Tap regular key.
+ EXPECT_REPORT(driver, (KC_A));
+ EXPECT_EMPTY_REPORT(driver);
+ tap_key(regular_key, FLOW_TAP_TERM + 1);
+ VERIFY_AND_CLEAR(driver);
+
+ // Tap mod-tap 1.
+ EXPECT_REPORT(driver, (KC_B));
+ mod_tap_key1.press();
+ run_one_scan_loop();
+ VERIFY_AND_CLEAR(driver);
+
+ EXPECT_EMPTY_REPORT(driver);
+ idle_for(FLOW_TAP_TERM + 1);
+ mod_tap_key1.release();
+ run_one_scan_loop();
+ VERIFY_AND_CLEAR(driver);
+
+ // Tap mod-tap 2.
+ EXPECT_REPORT(driver, (KC_C));
+ mod_tap_key2.press();
+ run_one_scan_loop();
+ VERIFY_AND_CLEAR(driver);
+
+ EXPECT_EMPTY_REPORT(driver);
+ idle_for(FLOW_TAP_TERM + 1);
+ mod_tap_key2.release();
+ run_one_scan_loop();
+ VERIFY_AND_CLEAR(driver);
+
+ // Tap mod-tap 3.
+ EXPECT_REPORT(driver, (KC_D));
+ mod_tap_key3.press();
+ run_one_scan_loop();
+ VERIFY_AND_CLEAR(driver);
+
+ EXPECT_EMPTY_REPORT(driver);
+ idle_for(FLOW_TAP_TERM + 1);
+ mod_tap_key3.release();
+ idle_for(FLOW_TAP_TERM + 1); // Pause between taps.
+ VERIFY_AND_CLEAR(driver);
+
+ // Tap mod-tap 1.
+ EXPECT_NO_REPORT(driver);
+ mod_tap_key1.press();
+ run_one_scan_loop();
+ VERIFY_AND_CLEAR(driver);
+
+ EXPECT_REPORT(driver, (KC_B));
+ EXPECT_EMPTY_REPORT(driver);
+ idle_for(FLOW_TAP_TERM + 1);
+ mod_tap_key1.release();
+ run_one_scan_loop();
+ VERIFY_AND_CLEAR(driver);
+
+ // Tap mod-tap 2.
+ EXPECT_REPORT(driver, (KC_C));
+ mod_tap_key2.press();
+ run_one_scan_loop();
+ VERIFY_AND_CLEAR(driver);
+
+ EXPECT_EMPTY_REPORT(driver);
+ idle_for(FLOW_TAP_TERM + 1);
+ mod_tap_key2.release();
+ idle_for(FLOW_TAP_TERM + 1);
+ VERIFY_AND_CLEAR(driver);
+}
+
+// By default, Flow Tap is disabled when mods other than Shift and AltGr are on.
+TEST_F(FlowTapTest, hotkey_taps) {
+ TestDriver driver;
+ InSequence s;
+ auto ctrl_key = KeymapKey(0, 0, 0, KC_LCTL);
+ auto shft_key = KeymapKey(0, 1, 0, KC_LSFT);
+ auto alt_key = KeymapKey(0, 2, 0, KC_LALT);
+ auto gui_key = KeymapKey(0, 3, 0, KC_LGUI);
+ auto regular_key = KeymapKey(0, 4, 0, KC_A);
+ auto mod_tap_key = KeymapKey(0, 5, 0, RCTL_T(KC_B));
+
+ set_keymap({ctrl_key, shft_key, alt_key, gui_key, regular_key, mod_tap_key});
+
+ for (KeymapKey* mod_key : {&ctrl_key, &alt_key, &gui_key}) {
+ // Hold mod key.
+ EXPECT_REPORT(driver, (mod_key->code));
+ mod_key->press();
+ run_one_scan_loop();
+
+ // Tap regular key.
+ EXPECT_REPORT(driver, (mod_key->code, KC_A));
+ regular_key.press();
+ run_one_scan_loop();
+ VERIFY_AND_CLEAR(driver);
+
+ EXPECT_REPORT(driver, (mod_key->code));
+ regular_key.release();
+ run_one_scan_loop();
+ VERIFY_AND_CLEAR(driver);
+
+ // Press mod-tap, where Flow Tap is disabled due to the held mod.
+ EXPECT_REPORT(driver, (mod_key->code, KC_RCTL));
+ mod_tap_key.press();
+ idle_for(TAPPING_TERM + 1);
+ VERIFY_AND_CLEAR(driver);
+
+ // Release mod-tap.
+ EXPECT_REPORT(driver, (mod_key->code));
+ mod_tap_key.release();
+ run_one_scan_loop();
+
+ // Release mod key.
+ EXPECT_EMPTY_REPORT(driver);
+ mod_key->release();
+ run_one_scan_loop();
+ VERIFY_AND_CLEAR(driver);
+ }
+
+ // Hold Shift key.
+ EXPECT_REPORT(driver, (KC_LSFT));
+ shft_key.press();
+ run_one_scan_loop();
+
+ // Tap regular key.
+ EXPECT_REPORT(driver, (KC_LSFT, KC_A));
+ regular_key.press();
+ run_one_scan_loop();
+ VERIFY_AND_CLEAR(driver);
+
+ EXPECT_REPORT(driver, (KC_LSFT));
+ regular_key.release();
+ run_one_scan_loop();
+ VERIFY_AND_CLEAR(driver);
+
+ // Press mod-tap, where Flow Tap applies to settle as tapped.
+ EXPECT_REPORT(driver, (KC_LSFT, KC_B));
+ mod_tap_key.press();
+ idle_for(TAPPING_TERM + 1);
+ VERIFY_AND_CLEAR(driver);
+
+ // Release mod-tap.
+ EXPECT_REPORT(driver, (KC_LSFT));
+ mod_tap_key.release();
+ run_one_scan_loop();
+
+ // Release Shift key.
+ EXPECT_EMPTY_REPORT(driver);
+ shft_key.release();
+ run_one_scan_loop();
+ VERIFY_AND_CLEAR(driver);
+}
+
+// Test input with two mod-taps in a rolled press quickly after a regular key.
+TEST_F(FlowTapTest, rolled_press) {
+ TestDriver driver;
+ InSequence s;
+ auto regular_key = KeymapKey(0, 0, 0, KC_A);
+ auto mod_tap_key1 = KeymapKey(0, 1, 0, SFT_T(KC_B));
+ auto mod_tap_key2 = KeymapKey(0, 2, 0, CTL_T(KC_C));
+
+ set_keymap({regular_key, mod_tap_key1, mod_tap_key2});
+
+ // Tap regular key.
+ EXPECT_REPORT(driver, (KC_A));
+ EXPECT_EMPTY_REPORT(driver);
+ tap_key(regular_key);
+ VERIFY_AND_CLEAR(driver);
+
+ // Press mod-tap key 1 quickly after regular key. The mod-tap should settle
+ // immediately as tapped, sending `KC_B`.
+ EXPECT_REPORT(driver, (KC_B));
+ mod_tap_key1.press();
+ run_one_scan_loop();
+ VERIFY_AND_CLEAR(driver);
+
+ // Press mod-tap key 2 quickly.
+ EXPECT_REPORT(driver, (KC_B, KC_C));
+ mod_tap_key2.press();
+ run_one_scan_loop();
+ VERIFY_AND_CLEAR(driver);
+
+ // Hold for longer than the tapping term.
+ EXPECT_NO_REPORT(driver);
+ idle_for(TAPPING_TERM + 1);
+ VERIFY_AND_CLEAR(driver);
+
+ // Release mod-tap keys.
+ EXPECT_REPORT(driver, (KC_C));
+ EXPECT_EMPTY_REPORT(driver);
+ mod_tap_key1.release();
+ run_one_scan_loop();
+ mod_tap_key2.release();
+ run_one_scan_loop();
+ VERIFY_AND_CLEAR(driver);
+}
+
+TEST_F(FlowTapTest, long_flow_tap_settled_as_held) {
+ TestDriver driver;
+ InSequence s;
+ auto regular_key = KeymapKey(0, 0, 0, KC_A);
+ auto mod_tap_key = KeymapKey(0, 1, 0, SFT_T(KC_B));
+
+ set_keymap({regular_key, mod_tap_key});
+
+ // Tap regular key.
+ EXPECT_REPORT(driver, (KC_A));
+ EXPECT_EMPTY_REPORT(driver);
+ tap_key(regular_key);
+ VERIFY_AND_CLEAR(driver);
+
+ EXPECT_NO_REPORT(driver);
+ idle_for(FLOW_TAP_TERM + 1);
+ VERIFY_AND_CLEAR(driver);
+
+ // Press mod-tap key.
+ EXPECT_NO_REPORT(driver);
+ mod_tap_key.press();
+ run_one_scan_loop();
+ VERIFY_AND_CLEAR(driver);
+
+ // Hold for the tapping term.
+ EXPECT_REPORT(driver, (KC_LSFT));
+ idle_for(TAPPING_TERM);
+ VERIFY_AND_CLEAR(driver);
+
+ // Release mod-tap key.
+ EXPECT_EMPTY_REPORT(driver);
+ mod_tap_key.release();
+ run_one_scan_loop();
+ VERIFY_AND_CLEAR(driver);
+}
+
+TEST_F(FlowTapTest, holding_multiple_mod_taps) {
+ TestDriver driver;
+ InSequence s;
+ auto regular_key = KeymapKey(0, 0, 0, KC_A);
+ auto mod_tap_key1 = KeymapKey(0, 1, 0, SFT_T(KC_B));
+ auto mod_tap_key2 = KeymapKey(0, 2, 0, CTL_T(KC_C));
+
+ set_keymap({regular_key, mod_tap_key1, mod_tap_key2});
+
+ // Tap regular key.
+ EXPECT_REPORT(driver, (KC_A));
+ EXPECT_EMPTY_REPORT(driver);
+ tap_key(regular_key);
+ VERIFY_AND_CLEAR(driver);
+
+ EXPECT_NO_REPORT(driver);
+ idle_for(FLOW_TAP_TERM + 1);
+ VERIFY_AND_CLEAR(driver);
+
+ // Press mod-tap keys.
+ EXPECT_NO_REPORT(driver);
+ mod_tap_key1.press();
+ run_one_scan_loop();
+ mod_tap_key2.press();
+ idle_for(TAPPING_TERM - 5); // Hold almost until tapping term.
+ VERIFY_AND_CLEAR(driver);
+
+ // Press regular key.
+ EXPECT_REPORT(driver, (KC_LSFT));
+ EXPECT_REPORT(driver, (KC_LSFT, KC_LCTL));
+ EXPECT_REPORT(driver, (KC_LSFT, KC_LCTL, KC_A));
+ regular_key.press();
+ idle_for(10);
+ VERIFY_AND_CLEAR(driver);
+
+ // Release keys.
+ EXPECT_REPORT(driver, (KC_LSFT, KC_LCTL));
+ EXPECT_REPORT(driver, (KC_LCTL));
+ EXPECT_EMPTY_REPORT(driver);
+ regular_key.release();
+ run_one_scan_loop();
+ mod_tap_key1.release();
+ run_one_scan_loop();
+ mod_tap_key2.release();
+ run_one_scan_loop();
+ VERIFY_AND_CLEAR(driver);
+}
+
+TEST_F(FlowTapTest, holding_mod_tap_with_regular_mod) {
+ TestDriver driver;
+ InSequence s;
+ auto regular_key = KeymapKey(0, 0, 0, KC_A);
+ auto mod_key = KeymapKey(0, 1, 0, KC_LSFT);
+ auto mod_tap_key = KeymapKey(0, 2, 0, CTL_T(KC_C));
+
+ set_keymap({regular_key, mod_key, mod_tap_key});
+
+ // Tap regular key.
+ EXPECT_REPORT(driver, (KC_A));
+ EXPECT_EMPTY_REPORT(driver);
+ tap_key(regular_key);
+ VERIFY_AND_CLEAR(driver);
+
+ EXPECT_NO_REPORT(driver);
+ idle_for(FLOW_TAP_TERM + 1);
+ VERIFY_AND_CLEAR(driver);
+
+ // Press mod and mod-tap keys.
+ EXPECT_REPORT(driver, (KC_LSFT));
+ mod_key.press();
+ run_one_scan_loop();
+ mod_tap_key.press();
+ idle_for(TAPPING_TERM - 5); // Hold almost until tapping term.
+ VERIFY_AND_CLEAR(driver);
+
+ // Press regular key.
+ EXPECT_REPORT(driver, (KC_LSFT, KC_LCTL));
+ EXPECT_REPORT(driver, (KC_LSFT, KC_LCTL, KC_A));
+ regular_key.press();
+ idle_for(10);
+ VERIFY_AND_CLEAR(driver);
+
+ // Release keys.
+ EXPECT_REPORT(driver, (KC_LSFT, KC_LCTL));
+ EXPECT_REPORT(driver, (KC_LCTL));
+ EXPECT_EMPTY_REPORT(driver);
+ regular_key.release();
+ run_one_scan_loop();
+ mod_key.release();
+ run_one_scan_loop();
+ mod_tap_key.release();
+ run_one_scan_loop();
+ VERIFY_AND_CLEAR(driver);
+}
+
+TEST_F(FlowTapTest, layer_tap_key) {
+ TestDriver driver;
+ InSequence s;
+ auto regular_key = KeymapKey(0, 0, 0, KC_A);
+ auto layer_tap_key = KeymapKey(0, 1, 0, LT(1, KC_B));
+ auto regular_key2 = KeymapKey(1, 0, 0, KC_C);
+
+ set_keymap({regular_key, layer_tap_key, regular_key2});
+
+ // Tap regular key.
+ EXPECT_REPORT(driver, (KC_A));
+ EXPECT_EMPTY_REPORT(driver);
+ tap_key(regular_key);
+ VERIFY_AND_CLEAR(driver);
+
+ // Press layer-tap key, quickly after the regular key.
+ EXPECT_REPORT(driver, (KC_B));
+ layer_tap_key.press();
+ run_one_scan_loop();
+ VERIFY_AND_CLEAR(driver);
+
+ EXPECT_NO_REPORT(driver);
+ idle_for(TAPPING_TERM + 1);
+ VERIFY_AND_CLEAR(driver);
+
+ // Release layer-tap key.
+ EXPECT_EMPTY_REPORT(driver);
+ layer_tap_key.release();
+ run_one_scan_loop();
+
+ // Tap regular key.
+ EXPECT_REPORT(driver, (KC_A));
+ EXPECT_EMPTY_REPORT(driver);
+ tap_key(regular_key);
+ VERIFY_AND_CLEAR(driver);
+
+ EXPECT_NO_REPORT(driver);
+ idle_for(FLOW_TAP_TERM + 1);
+ VERIFY_AND_CLEAR(driver);
+
+ // Press layer-tap key, slowly after the regular key.
+ EXPECT_NO_REPORT(driver);
+ layer_tap_key.press();
+ run_one_scan_loop();
+ VERIFY_AND_CLEAR(driver);
+
+ EXPECT_NO_REPORT(driver);
+ idle_for(TAPPING_TERM + 1);
+ EXPECT_EQ(layer_state, 1 << 1);
+ VERIFY_AND_CLEAR(driver);
+
+ // Tap regular key2.
+ EXPECT_REPORT(driver, (KC_C));
+ EXPECT_EMPTY_REPORT(driver);
+ tap_key(regular_key);
+ VERIFY_AND_CLEAR(driver);
+
+ // Release layer-tap key.
+ EXPECT_NO_REPORT(driver);
+ layer_tap_key.release();
+ run_one_scan_loop();
+ VERIFY_AND_CLEAR(driver);
+}
+
+TEST_F(FlowTapTest, layer_tap_ignored_with_disabled_key) {
+ TestDriver driver;
+ InSequence s;
+ auto no_key = KeymapKey(0, 0, 0, KC_NO);
+ auto regular_key = KeymapKey(1, 0, 0, KC_ESC);
+ auto layer_tap_key = KeymapKey(0, 1, 0, LT(1, KC_A));
+ auto mod_tap_key = KeymapKey(0, 2, 0, CTL_T(KC_B));
+
+ set_keymap({no_key, regular_key, layer_tap_key, mod_tap_key});
+
+ EXPECT_REPORT(driver, (KC_ESC));
+ EXPECT_EMPTY_REPORT(driver);
+ layer_tap_key.press();
+ idle_for(TAPPING_TERM + 1);
+ tap_key(regular_key);
+ layer_tap_key.release();
+ run_one_scan_loop();
+ VERIFY_AND_CLEAR(driver);
+
+ EXPECT_REPORT(driver, (KC_LCTL));
+ mod_tap_key.press();
+ idle_for(TAPPING_TERM + 1);
+ VERIFY_AND_CLEAR(driver);
+
+ EXPECT_EMPTY_REPORT(driver);
+ mod_tap_key.release();
+ run_one_scan_loop();
+ VERIFY_AND_CLEAR(driver);
+}
+
+TEST_F(FlowTapTest, layer_tap_ignored_with_disabled_key_complex) {
+ TestDriver driver;
+ InSequence s;
+ auto regular_key1 = KeymapKey(0, 0, 0, KC_Q);
+ auto layer_tap_key = KeymapKey(0, 1, 0, LT(1, KC_SPC));
+ auto mod_tap_key1 = KeymapKey(0, 2, 0, CTL_T(KC_T));
+ // Place RALT_T(KC_I), where Flow Tap is enabled, in the same position on
+ // layer 0 as KC_RGHT, where Flow Tap is disabled. This tests that Flow Tap
+ // tracks the keycode from the correct layer.
+ auto mod_tap_key2 = KeymapKey(0, 3, 0, RALT_T(KC_I));
+ auto regular_key2 = KeymapKey(1, 3, 0, KC_RGHT);
+
+ set_keymap({regular_key1, layer_tap_key, mod_tap_key1, mod_tap_key2, regular_key2});
+
+ // Tap regular key 1.
+ EXPECT_REPORT(driver, (KC_Q));
+ EXPECT_EMPTY_REPORT(driver);
+ tap_key(regular_key1);
+ idle_for(FLOW_TAP_TERM + 1);
+ VERIFY_AND_CLEAR(driver);
+
+ // Hold layer-tap key.
+ EXPECT_NO_REPORT(driver);
+ layer_tap_key.press();
+ run_one_scan_loop();
+ // idle_for(TAPPING_TERM + 1);
+ VERIFY_AND_CLEAR(driver);
+
+ // Tap regular key 2.
+ EXPECT_REPORT(driver, (KC_RGHT));
+ EXPECT_EMPTY_REPORT(driver);
+ tap_key(regular_key2);
+ VERIFY_AND_CLEAR(driver);
+
+ // Release layer-tap key.
+ EXPECT_NO_REPORT(driver);
+ layer_tap_key.release();
+ run_one_scan_loop();
+ VERIFY_AND_CLEAR(driver);
+
+ // Quickly hold mod-tap key 1.
+ EXPECT_NO_REPORT(driver);
+ mod_tap_key1.press();
+ run_one_scan_loop();
+ VERIFY_AND_CLEAR(driver);
+
+ EXPECT_REPORT(driver, (KC_LCTL));
+ EXPECT_REPORT(driver, (KC_LCTL, KC_Q));
+ EXPECT_REPORT(driver, (KC_LCTL));
+ tap_key(regular_key1);
+ VERIFY_AND_CLEAR(driver);
+
+ EXPECT_EMPTY_REPORT(driver);
+ mod_tap_key1.release();
+ run_one_scan_loop();
+ VERIFY_AND_CLEAR(driver);
+}
+
+TEST_F(FlowTapTest, layer_tap_ignored_with_enabled_key) {
+ TestDriver driver;
+ InSequence s;
+ auto no_key = KeymapKey(0, 0, 0, KC_NO);
+ auto regular_key = KeymapKey(1, 0, 0, KC_C);
+ auto layer_tap_key = KeymapKey(0, 1, 0, LT(1, KC_A));
+ auto mod_tap_key = KeymapKey(0, 2, 0, CTL_T(KC_B));
+
+ set_keymap({no_key, regular_key, layer_tap_key, mod_tap_key});
+
+ EXPECT_REPORT(driver, (KC_C));
+ EXPECT_EMPTY_REPORT(driver);
+ layer_tap_key.press();
+ idle_for(TAPPING_TERM + 1);
+ tap_key(regular_key);
+ layer_tap_key.release();
+ run_one_scan_loop();
+ VERIFY_AND_CLEAR(driver);
+
+ EXPECT_REPORT(driver, (KC_B));
+ mod_tap_key.press();
+ run_one_scan_loop();
+ VERIFY_AND_CLEAR(driver);
+
+ EXPECT_EMPTY_REPORT(driver);
+ idle_for(TAPPING_TERM + 1);
+ mod_tap_key.release();
+ run_one_scan_loop();
+ VERIFY_AND_CLEAR(driver);
+}
+
+TEST_F(FlowTapTest, combo_key) {
+ TestDriver driver;
+ InSequence s;
+ auto regular_key = KeymapKey(0, 0, 0, KC_A);
+ auto mod_tap_key = KeymapKey(0, 1, 0, SFT_T(KC_X));
+ auto layer_tap_key = KeymapKey(0, 2, 0, LT(1, KC_Y));
+
+ set_keymap({regular_key, mod_tap_key, layer_tap_key});
+
+ // Tap regular key.
+ EXPECT_REPORT(driver, (KC_A));
+ EXPECT_EMPTY_REPORT(driver);
+ tap_key(regular_key);
+ VERIFY_AND_CLEAR(driver);
+
+ // Press combo keys quickly after regular key.
+ EXPECT_REPORT(driver, (KC_Z));
+ EXPECT_EMPTY_REPORT(driver);
+ tap_combo({mod_tap_key, layer_tap_key});
+ VERIFY_AND_CLEAR(driver);
+
+ // Press mod-tap key quickly.
+ EXPECT_REPORT(driver, (KC_X));
+ mod_tap_key.press();
+ idle_for(TAPPING_TERM + 1);
+ VERIFY_AND_CLEAR(driver);
+
+ // Release mod-tap key.
+ EXPECT_EMPTY_REPORT(driver);
+ mod_tap_key.release();
+ run_one_scan_loop();
+ VERIFY_AND_CLEAR(driver);
+}
+
+TEST_F(FlowTapTest, oneshot_mod_key) {
+ TestDriver driver;
+ InSequence s;
+ auto regular_key = KeymapKey(0, 0, 0, KC_A);
+ auto osm_key = KeymapKey(0, 1, 0, OSM(MOD_LSFT));
+
+ set_keymap({regular_key, osm_key});
+
+ // Tap regular key.
+ EXPECT_REPORT(driver, (KC_A));
+ EXPECT_EMPTY_REPORT(driver);
+ tap_key(regular_key);
+ VERIFY_AND_CLEAR(driver);
+
+ // Tap OSM, tap regular key.
+ EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport(KC_LSFT))).Times(AnyNumber());
+ EXPECT_REPORT(driver, (KC_LSFT, KC_A));
+ EXPECT_EMPTY_REPORT(driver);
+ tap_key(osm_key);
+ tap_key(regular_key);
+ VERIFY_AND_CLEAR(driver);
+
+ // Nested press of OSM and regular keys.
+ EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport(KC_LSFT))).Times(AnyNumber());
+ EXPECT_REPORT(driver, (KC_LSFT, KC_A));
+ EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport(KC_LSFT))).Times(AnyNumber());
+ EXPECT_EMPTY_REPORT(driver);
+ osm_key.press();
+ run_one_scan_loop();
+ tap_key(regular_key);
+ osm_key.release();
+ run_one_scan_loop();
+ VERIFY_AND_CLEAR(driver);
+}
+
+TEST_F(FlowTapTest, quick_tap) {
+ TestDriver driver;
+ InSequence s;
+ auto mod_tap_key = KeymapKey(0, 1, 0, SFT_T(KC_A));
+
+ set_keymap({mod_tap_key});
+
+ EXPECT_REPORT(driver, (KC_A));
+ EXPECT_EMPTY_REPORT(driver);
+ tap_key(mod_tap_key);
+ VERIFY_AND_CLEAR(driver);
+
+ EXPECT_REPORT(driver, (KC_A));
+ mod_tap_key.press();
+ run_one_scan_loop();
+ VERIFY_AND_CLEAR(driver);
+
+ EXPECT_NO_REPORT(driver);
+ idle_for(TAPPING_TERM + 1);
+ VERIFY_AND_CLEAR(driver);
+
+ // Release mod-tap key.
+ EXPECT_EMPTY_REPORT(driver);
+ mod_tap_key.release();
+ run_one_scan_loop();
+ VERIFY_AND_CLEAR(driver);
+}
diff --git a/tests/test_common/build.mk b/tests/test_common/build.mk
index d7423bc78a..385da7adf9 100644
--- a/tests/test_common/build.mk
+++ b/tests/test_common/build.mk
@@ -14,3 +14,4 @@
# along with this program. If not, see <http://www.gnu.org/licenses/>.
CUSTOM_MATRIX=yes
+KEYCODE_STRING_ENABLE = yes
diff --git a/tests/test_common/keyboard_report_util.cpp b/tests/test_common/keyboard_report_util.cpp
index 18e0574277..5e40323669 100644
--- a/tests/test_common/keyboard_report_util.cpp
+++ b/tests/test_common/keyboard_report_util.cpp
@@ -19,6 +19,10 @@
#include <vector>
#include <algorithm>
+extern "C" {
+#include "keycode_string.h"
+}
+
using namespace testing;
extern std::map<uint16_t, std::string> KEYCODE_ID_TABLE;
@@ -72,7 +76,7 @@ std::ostream& operator<<(std::ostream& os, const report_keyboard_t& report) {
os << "(";
for (auto key = keys.cbegin(); key != keys.cend();) {
- os << KEYCODE_ID_TABLE.at(*key);
+ os << get_keycode_string(*key);
key++;
if (key != keys.cend()) {
os << ", ";
@@ -82,7 +86,7 @@ std::ostream& operator<<(std::ostream& os, const report_keyboard_t& report) {
os << ") [";
for (auto mod = mods.cbegin(); mod != mods.cend();) {
- os << KEYCODE_ID_TABLE.at(*mod);
+ os << get_keycode_string(*mod);
mod++;
if (mod != mods.cend()) {
os << ", ";
diff --git a/tests/test_common/keycode_table.cpp b/tests/test_common/keycode_table.cpp
deleted file mode 100644
index 26d0919619..0000000000
--- a/tests/test_common/keycode_table.cpp
+++ /dev/null
@@ -1,767 +0,0 @@
-// Copyright 2025 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"
-*******************************************************************************/
-
-// clang-format off
-extern "C" {
-#include <keycode.h>
-}
-#include <map>
-#include <string>
-#include <cstdint>
-
-std::map<uint16_t, std::string> KEYCODE_ID_TABLE = {
- {KC_NO, "KC_NO"},
- {KC_TRANSPARENT, "KC_TRANSPARENT"},
- {KC_A, "KC_A"},
- {KC_B, "KC_B"},
- {KC_C, "KC_C"},
- {KC_D, "KC_D"},
- {KC_E, "KC_E"},
- {KC_F, "KC_F"},
- {KC_G, "KC_G"},
- {KC_H, "KC_H"},
- {KC_I, "KC_I"},
- {KC_J, "KC_J"},
- {KC_K, "KC_K"},
- {KC_L, "KC_L"},
- {KC_M, "KC_M"},
- {KC_N, "KC_N"},
- {KC_O, "KC_O"},
- {KC_P, "KC_P"},
- {KC_Q, "KC_Q"},
- {KC_R, "KC_R"},
- {KC_S, "KC_S"},
- {KC_T, "KC_T"},
- {KC_U, "KC_U"},
- {KC_V, "KC_V"},
- {KC_W, "KC_W"},
- {KC_X, "KC_X"},
- {KC_Y, "KC_Y"},
- {KC_Z, "KC_Z"},
- {KC_1, "KC_1"},
- {KC_2, "KC_2"},
- {KC_3, "KC_3"},
- {KC_4, "KC_4"},
- {KC_5, "KC_5"},
- {KC_6, "KC_6"},
- {KC_7, "KC_7"},
- {KC_8, "KC_8"},
- {KC_9, "KC_9"},
- {KC_0, "KC_0"},
- {KC_ENTER, "KC_ENTER"},
- {KC_ESCAPE, "KC_ESCAPE"},
- {KC_BACKSPACE, "KC_BACKSPACE"},
- {KC_TAB, "KC_TAB"},
- {KC_SPACE, "KC_SPACE"},
- {KC_MINUS, "KC_MINUS"},
- {KC_EQUAL, "KC_EQUAL"},
- {KC_LEFT_BRACKET, "KC_LEFT_BRACKET"},
- {KC_RIGHT_BRACKET, "KC_RIGHT_BRACKET"},
- {KC_BACKSLASH, "KC_BACKSLASH"},
- {KC_NONUS_HASH, "KC_NONUS_HASH"},
- {KC_SEMICOLON, "KC_SEMICOLON"},
- {KC_QUOTE, "KC_QUOTE"},
- {KC_GRAVE, "KC_GRAVE"},
- {KC_COMMA, "KC_COMMA"},
- {KC_DOT, "KC_DOT"},
- {KC_SLASH, "KC_SLASH"},
- {KC_CAPS_LOCK, "KC_CAPS_LOCK"},
- {KC_F1, "KC_F1"},
- {KC_F2, "KC_F2"},
- {KC_F3, "KC_F3"},
- {KC_F4, "KC_F4"},
- {KC_F5, "KC_F5"},
- {KC_F6, "KC_F6"},
- {KC_F7, "KC_F7"},
- {KC_F8, "KC_F8"},
- {KC_F9, "KC_F9"},
- {KC_F10, "KC_F10"},
- {KC_F11, "KC_F11"},
- {KC_F12, "KC_F12"},
- {KC_PRINT_SCREEN, "KC_PRINT_SCREEN"},
- {KC_SCROLL_LOCK, "KC_SCROLL_LOCK"},
- {KC_PAUSE, "KC_PAUSE"},
- {KC_INSERT, "KC_INSERT"},
- {KC_HOME, "KC_HOME"},
- {KC_PAGE_UP, "KC_PAGE_UP"},
- {KC_DELETE, "KC_DELETE"},
- {KC_END, "KC_END"},
- {KC_PAGE_DOWN, "KC_PAGE_DOWN"},
- {KC_RIGHT, "KC_RIGHT"},
- {KC_LEFT, "KC_LEFT"},
- {KC_DOWN, "KC_DOWN"},
- {KC_UP, "KC_UP"},
- {KC_NUM_LOCK, "KC_NUM_LOCK"},
- {KC_KP_SLASH, "KC_KP_SLASH"},
- {KC_KP_ASTERISK, "KC_KP_ASTERISK"},
- {KC_KP_MINUS, "KC_KP_MINUS"},
- {KC_KP_PLUS, "KC_KP_PLUS"},
- {KC_KP_ENTER, "KC_KP_ENTER"},
- {KC_KP_1, "KC_KP_1"},
- {KC_KP_2, "KC_KP_2"},
- {KC_KP_3, "KC_KP_3"},
- {KC_KP_4, "KC_KP_4"},
- {KC_KP_5, "KC_KP_5"},
- {KC_KP_6, "KC_KP_6"},
- {KC_KP_7, "KC_KP_7"},
- {KC_KP_8, "KC_KP_8"},
- {KC_KP_9, "KC_KP_9"},
- {KC_KP_0, "KC_KP_0"},
- {KC_KP_DOT, "KC_KP_DOT"},
- {KC_NONUS_BACKSLASH, "KC_NONUS_BACKSLASH"},
- {KC_APPLICATION, "KC_APPLICATION"},
- {KC_KB_POWER, "KC_KB_POWER"},
- {KC_KP_EQUAL, "KC_KP_EQUAL"},
- {KC_F13, "KC_F13"},
- {KC_F14, "KC_F14"},
- {KC_F15, "KC_F15"},
- {KC_F16, "KC_F16"},
- {KC_F17, "KC_F17"},
- {KC_F18, "KC_F18"},
- {KC_F19, "KC_F19"},
- {KC_F20, "KC_F20"},
- {KC_F21, "KC_F21"},
- {KC_F22, "KC_F22"},
- {KC_F23, "KC_F23"},
- {KC_F24, "KC_F24"},
- {KC_EXECUTE, "KC_EXECUTE"},
- {KC_HELP, "KC_HELP"},
- {KC_MENU, "KC_MENU"},
- {KC_SELECT, "KC_SELECT"},
- {KC_STOP, "KC_STOP"},
- {KC_AGAIN, "KC_AGAIN"},
- {KC_UNDO, "KC_UNDO"},
- {KC_CUT, "KC_CUT"},
- {KC_COPY, "KC_COPY"},
- {KC_PASTE, "KC_PASTE"},
- {KC_FIND, "KC_FIND"},
- {KC_KB_MUTE, "KC_KB_MUTE"},
- {KC_KB_VOLUME_UP, "KC_KB_VOLUME_UP"},
- {KC_KB_VOLUME_DOWN, "KC_KB_VOLUME_DOWN"},
- {KC_LOCKING_CAPS_LOCK, "KC_LOCKING_CAPS_LOCK"},
- {KC_LOCKING_NUM_LOCK, "KC_LOCKING_NUM_LOCK"},
- {KC_LOCKING_SCROLL_LOCK, "KC_LOCKING_SCROLL_LOCK"},
- {KC_KP_COMMA, "KC_KP_COMMA"},
- {KC_KP_EQUAL_AS400, "KC_KP_EQUAL_AS400"},
- {KC_INTERNATIONAL_1, "KC_INTERNATIONAL_1"},
- {KC_INTERNATIONAL_2, "KC_INTERNATIONAL_2"},
- {KC_INTERNATIONAL_3, "KC_INTERNATIONAL_3"},
- {KC_INTERNATIONAL_4, "KC_INTERNATIONAL_4"},
- {KC_INTERNATIONAL_5, "KC_INTERNATIONAL_5"},
- {KC_INTERNATIONAL_6, "KC_INTERNATIONAL_6"},
- {KC_INTERNATIONAL_7, "KC_INTERNATIONAL_7"},
- {KC_INTERNATIONAL_8, "KC_INTERNATIONAL_8"},
- {KC_INTERNATIONAL_9, "KC_INTERNATIONAL_9"},
- {KC_LANGUAGE_1, "KC_LANGUAGE_1"},
- {KC_LANGUAGE_2, "KC_LANGUAGE_2"},
- {KC_LANGUAGE_3, "KC_LANGUAGE_3"},
- {KC_LANGUAGE_4, "KC_LANGUAGE_4"},
- {KC_LANGUAGE_5, "KC_LANGUAGE_5"},
- {KC_LANGUAGE_6, "KC_LANGUAGE_6"},
- {KC_LANGUAGE_7, "KC_LANGUAGE_7"},
- {KC_LANGUAGE_8, "KC_LANGUAGE_8"},
- {KC_LANGUAGE_9, "KC_LANGUAGE_9"},
- {KC_ALTERNATE_ERASE, "KC_ALTERNATE_ERASE"},
- {KC_SYSTEM_REQUEST, "KC_SYSTEM_REQUEST"},
- {KC_CANCEL, "KC_CANCEL"},
- {KC_CLEAR, "KC_CLEAR"},
- {KC_PRIOR, "KC_PRIOR"},
- {KC_RETURN, "KC_RETURN"},
- {KC_SEPARATOR, "KC_SEPARATOR"},
- {KC_OUT, "KC_OUT"},
- {KC_OPER, "KC_OPER"},
- {KC_CLEAR_AGAIN, "KC_CLEAR_AGAIN"},
- {KC_CRSEL, "KC_CRSEL"},
- {KC_EXSEL, "KC_EXSEL"},
- {KC_SYSTEM_POWER, "KC_SYSTEM_POWER"},
- {KC_SYSTEM_SLEEP, "KC_SYSTEM_SLEEP"},
- {KC_SYSTEM_WAKE, "KC_SYSTEM_WAKE"},
- {KC_AUDIO_MUTE, "KC_AUDIO_MUTE"},
- {KC_AUDIO_VOL_UP, "KC_AUDIO_VOL_UP"},
- {KC_AUDIO_VOL_DOWN, "KC_AUDIO_VOL_DOWN"},
- {KC_MEDIA_NEXT_TRACK, "KC_MEDIA_NEXT_TRACK"},
- {KC_MEDIA_PREV_TRACK, "KC_MEDIA_PREV_TRACK"},
- {KC_MEDIA_STOP, "KC_MEDIA_STOP"},
- {KC_MEDIA_PLAY_PAUSE, "KC_MEDIA_PLAY_PAUSE"},
- {KC_MEDIA_SELECT, "KC_MEDIA_SELECT"},
- {KC_MEDIA_EJECT, "KC_MEDIA_EJECT"},
- {KC_MAIL, "KC_MAIL"},
- {KC_CALCULATOR, "KC_CALCULATOR"},
- {KC_MY_COMPUTER, "KC_MY_COMPUTER"},
- {KC_WWW_SEARCH, "KC_WWW_SEARCH"},
- {KC_WWW_HOME, "KC_WWW_HOME"},
- {KC_WWW_BACK, "KC_WWW_BACK"},
- {KC_WWW_FORWARD, "KC_WWW_FORWARD"},
- {KC_WWW_STOP, "KC_WWW_STOP"},
- {KC_WWW_REFRESH, "KC_WWW_REFRESH"},
- {KC_WWW_FAVORITES, "KC_WWW_FAVORITES"},
- {KC_MEDIA_FAST_FORWARD, "KC_MEDIA_FAST_FORWARD"},
- {KC_MEDIA_REWIND, "KC_MEDIA_REWIND"},
- {KC_BRIGHTNESS_UP, "KC_BRIGHTNESS_UP"},
- {KC_BRIGHTNESS_DOWN, "KC_BRIGHTNESS_DOWN"},
- {KC_CONTROL_PANEL, "KC_CONTROL_PANEL"},
- {KC_ASSISTANT, "KC_ASSISTANT"},
- {KC_MISSION_CONTROL, "KC_MISSION_CONTROL"},
- {KC_LAUNCHPAD, "KC_LAUNCHPAD"},
- {QK_MOUSE_CURSOR_UP, "QK_MOUSE_CURSOR_UP"},
- {QK_MOUSE_CURSOR_DOWN, "QK_MOUSE_CURSOR_DOWN"},
- {QK_MOUSE_CURSOR_LEFT, "QK_MOUSE_CURSOR_LEFT"},
- {QK_MOUSE_CURSOR_RIGHT, "QK_MOUSE_CURSOR_RIGHT"},
- {QK_MOUSE_BUTTON_1, "QK_MOUSE_BUTTON_1"},
- {QK_MOUSE_BUTTON_2, "QK_MOUSE_BUTTON_2"},
- {QK_MOUSE_BUTTON_3, "QK_MOUSE_BUTTON_3"},
- {QK_MOUSE_BUTTON_4, "QK_MOUSE_BUTTON_4"},
- {QK_MOUSE_BUTTON_5, "QK_MOUSE_BUTTON_5"},
- {QK_MOUSE_BUTTON_6, "QK_MOUSE_BUTTON_6"},
- {QK_MOUSE_BUTTON_7, "QK_MOUSE_BUTTON_7"},
- {QK_MOUSE_BUTTON_8, "QK_MOUSE_BUTTON_8"},
- {QK_MOUSE_WHEEL_UP, "QK_MOUSE_WHEEL_UP"},
- {QK_MOUSE_WHEEL_DOWN, "QK_MOUSE_WHEEL_DOWN"},
- {QK_MOUSE_WHEEL_LEFT, "QK_MOUSE_WHEEL_LEFT"},
- {QK_MOUSE_WHEEL_RIGHT, "QK_MOUSE_WHEEL_RIGHT"},
- {QK_MOUSE_ACCELERATION_0, "QK_MOUSE_ACCELERATION_0"},
- {QK_MOUSE_ACCELERATION_1, "QK_MOUSE_ACCELERATION_1"},
- {QK_MOUSE_ACCELERATION_2, "QK_MOUSE_ACCELERATION_2"},
- {KC_LEFT_CTRL, "KC_LEFT_CTRL"},
- {KC_LEFT_SHIFT, "KC_LEFT_SHIFT"},
- {KC_LEFT_ALT, "KC_LEFT_ALT"},
- {KC_LEFT_GUI, "KC_LEFT_GUI"},
- {KC_RIGHT_CTRL, "KC_RIGHT_CTRL"},
- {KC_RIGHT_SHIFT, "KC_RIGHT_SHIFT"},
- {KC_RIGHT_ALT, "KC_RIGHT_ALT"},
- {KC_RIGHT_GUI, "KC_RIGHT_GUI"},
- {QK_SWAP_HANDS_TOGGLE, "QK_SWAP_HANDS_TOGGLE"},
- {QK_SWAP_HANDS_TAP_TOGGLE, "QK_SWAP_HANDS_TAP_TOGGLE"},
- {QK_SWAP_HANDS_MOMENTARY_ON, "QK_SWAP_HANDS_MOMENTARY_ON"},
- {QK_SWAP_HANDS_MOMENTARY_OFF, "QK_SWAP_HANDS_MOMENTARY_OFF"},
- {QK_SWAP_HANDS_OFF, "QK_SWAP_HANDS_OFF"},
- {QK_SWAP_HANDS_ON, "QK_SWAP_HANDS_ON"},
- {QK_SWAP_HANDS_ONE_SHOT, "QK_SWAP_HANDS_ONE_SHOT"},
- {QK_MAGIC_SWAP_CONTROL_CAPS_LOCK, "QK_MAGIC_SWAP_CONTROL_CAPS_LOCK"},
- {QK_MAGIC_UNSWAP_CONTROL_CAPS_LOCK, "QK_MAGIC_UNSWAP_CONTROL_CAPS_LOCK"},
- {QK_MAGIC_TOGGLE_CONTROL_CAPS_LOCK, "QK_MAGIC_TOGGLE_CONTROL_CAPS_LOCK"},
- {QK_MAGIC_CAPS_LOCK_AS_CONTROL_OFF, "QK_MAGIC_CAPS_LOCK_AS_CONTROL_OFF"},
- {QK_MAGIC_CAPS_LOCK_AS_CONTROL_ON, "QK_MAGIC_CAPS_LOCK_AS_CONTROL_ON"},
- {QK_MAGIC_SWAP_LALT_LGUI, "QK_MAGIC_SWAP_LALT_LGUI"},
- {QK_MAGIC_UNSWAP_LALT_LGUI, "QK_MAGIC_UNSWAP_LALT_LGUI"},
- {QK_MAGIC_SWAP_RALT_RGUI, "QK_MAGIC_SWAP_RALT_RGUI"},
- {QK_MAGIC_UNSWAP_RALT_RGUI, "QK_MAGIC_UNSWAP_RALT_RGUI"},
- {QK_MAGIC_GUI_ON, "QK_MAGIC_GUI_ON"},
- {QK_MAGIC_GUI_OFF, "QK_MAGIC_GUI_OFF"},
- {QK_MAGIC_TOGGLE_GUI, "QK_MAGIC_TOGGLE_GUI"},
- {QK_MAGIC_SWAP_GRAVE_ESC, "QK_MAGIC_SWAP_GRAVE_ESC"},
- {QK_MAGIC_UNSWAP_GRAVE_ESC, "QK_MAGIC_UNSWAP_GRAVE_ESC"},
- {QK_MAGIC_SWAP_BACKSLASH_BACKSPACE, "QK_MAGIC_SWAP_BACKSLASH_BACKSPACE"},
- {QK_MAGIC_UNSWAP_BACKSLASH_BACKSPACE, "QK_MAGIC_UNSWAP_BACKSLASH_BACKSPACE"},
- {QK_MAGIC_TOGGLE_BACKSLASH_BACKSPACE, "QK_MAGIC_TOGGLE_BACKSLASH_BACKSPACE"},
- {QK_MAGIC_NKRO_ON, "QK_MAGIC_NKRO_ON"},
- {QK_MAGIC_NKRO_OFF, "QK_MAGIC_NKRO_OFF"},
- {QK_MAGIC_TOGGLE_NKRO, "QK_MAGIC_TOGGLE_NKRO"},
- {QK_MAGIC_SWAP_ALT_GUI, "QK_MAGIC_SWAP_ALT_GUI"},
- {QK_MAGIC_UNSWAP_ALT_GUI, "QK_MAGIC_UNSWAP_ALT_GUI"},
- {QK_MAGIC_TOGGLE_ALT_GUI, "QK_MAGIC_TOGGLE_ALT_GUI"},
- {QK_MAGIC_SWAP_LCTL_LGUI, "QK_MAGIC_SWAP_LCTL_LGUI"},
- {QK_MAGIC_UNSWAP_LCTL_LGUI, "QK_MAGIC_UNSWAP_LCTL_LGUI"},
- {QK_MAGIC_SWAP_RCTL_RGUI, "QK_MAGIC_SWAP_RCTL_RGUI"},
- {QK_MAGIC_UNSWAP_RCTL_RGUI, "QK_MAGIC_UNSWAP_RCTL_RGUI"},
- {QK_MAGIC_SWAP_CTL_GUI, "QK_MAGIC_SWAP_CTL_GUI"},
- {QK_MAGIC_UNSWAP_CTL_GUI, "QK_MAGIC_UNSWAP_CTL_GUI"},
- {QK_MAGIC_TOGGLE_CTL_GUI, "QK_MAGIC_TOGGLE_CTL_GUI"},
- {QK_MAGIC_EE_HANDS_LEFT, "QK_MAGIC_EE_HANDS_LEFT"},
- {QK_MAGIC_EE_HANDS_RIGHT, "QK_MAGIC_EE_HANDS_RIGHT"},
- {QK_MAGIC_SWAP_ESCAPE_CAPS_LOCK, "QK_MAGIC_SWAP_ESCAPE_CAPS_LOCK"},
- {QK_MAGIC_UNSWAP_ESCAPE_CAPS_LOCK, "QK_MAGIC_UNSWAP_ESCAPE_CAPS_LOCK"},
- {QK_MAGIC_TOGGLE_ESCAPE_CAPS_LOCK, "QK_MAGIC_TOGGLE_ESCAPE_CAPS_LOCK"},
- {QK_MIDI_ON, "QK_MIDI_ON"},
- {QK_MIDI_OFF, "QK_MIDI_OFF"},
- {QK_MIDI_TOGGLE, "QK_MIDI_TOGGLE"},
- {QK_MIDI_NOTE_C_0, "QK_MIDI_NOTE_C_0"},
- {QK_MIDI_NOTE_C_SHARP_0, "QK_MIDI_NOTE_C_SHARP_0"},
- {QK_MIDI_NOTE_D_0, "QK_MIDI_NOTE_D_0"},
- {QK_MIDI_NOTE_D_SHARP_0, "QK_MIDI_NOTE_D_SHARP_0"},
- {QK_MIDI_NOTE_E_0, "QK_MIDI_NOTE_E_0"},
- {QK_MIDI_NOTE_F_0, "QK_MIDI_NOTE_F_0"},
- {QK_MIDI_NOTE_F_SHARP_0, "QK_MIDI_NOTE_F_SHARP_0"},
- {QK_MIDI_NOTE_G_0, "QK_MIDI_NOTE_G_0"},
- {QK_MIDI_NOTE_G_SHARP_0, "QK_MIDI_NOTE_G_SHARP_0"},
- {QK_MIDI_NOTE_A_0, "QK_MIDI_NOTE_A_0"},
- {QK_MIDI_NOTE_A_SHARP_0, "QK_MIDI_NOTE_A_SHARP_0"},
- {QK_MIDI_NOTE_B_0, "QK_MIDI_NOTE_B_0"},
- {QK_MIDI_NOTE_C_1, "QK_MIDI_NOTE_C_1"},
- {QK_MIDI_NOTE_C_SHARP_1, "QK_MIDI_NOTE_C_SHARP_1"},
- {QK_MIDI_NOTE_D_1, "QK_MIDI_NOTE_D_1"},
- {QK_MIDI_NOTE_D_SHARP_1, "QK_MIDI_NOTE_D_SHARP_1"},
- {QK_MIDI_NOTE_E_1, "QK_MIDI_NOTE_E_1"},
- {QK_MIDI_NOTE_F_1, "QK_MIDI_NOTE_F_1"},
- {QK_MIDI_NOTE_F_SHARP_1, "QK_MIDI_NOTE_F_SHARP_1"},
- {QK_MIDI_NOTE_G_1, "QK_MIDI_NOTE_G_1"},
- {QK_MIDI_NOTE_G_SHARP_1, "QK_MIDI_NOTE_G_SHARP_1"},
- {QK_MIDI_NOTE_A_1, "QK_MIDI_NOTE_A_1"},
- {QK_MIDI_NOTE_A_SHARP_1, "QK_MIDI_NOTE_A_SHARP_1"},
- {QK_MIDI_NOTE_B_1, "QK_MIDI_NOTE_B_1"},
- {QK_MIDI_NOTE_C_2, "QK_MIDI_NOTE_C_2"},
- {QK_MIDI_NOTE_C_SHARP_2, "QK_MIDI_NOTE_C_SHARP_2"},
- {QK_MIDI_NOTE_D_2, "QK_MIDI_NOTE_D_2"},
- {QK_MIDI_NOTE_D_SHARP_2, "QK_MIDI_NOTE_D_SHARP_2"},
- {QK_MIDI_NOTE_E_2, "QK_MIDI_NOTE_E_2"},
- {QK_MIDI_NOTE_F_2, "QK_MIDI_NOTE_F_2"},
- {QK_MIDI_NOTE_F_SHARP_2, "QK_MIDI_NOTE_F_SHARP_2"},
- {QK_MIDI_NOTE_G_2, "QK_MIDI_NOTE_G_2"},
- {QK_MIDI_NOTE_G_SHARP_2, "QK_MIDI_NOTE_G_SHARP_2"},
- {QK_MIDI_NOTE_A_2, "QK_MIDI_NOTE_A_2"},
- {QK_MIDI_NOTE_A_SHARP_2, "QK_MIDI_NOTE_A_SHARP_2"},
- {QK_MIDI_NOTE_B_2, "QK_MIDI_NOTE_B_2"},
- {QK_MIDI_NOTE_C_3, "QK_MIDI_NOTE_C_3"},
- {QK_MIDI_NOTE_C_SHARP_3, "QK_MIDI_NOTE_C_SHARP_3"},
- {QK_MIDI_NOTE_D_3, "QK_MIDI_NOTE_D_3"},
- {QK_MIDI_NOTE_D_SHARP_3, "QK_MIDI_NOTE_D_SHARP_3"},
- {QK_MIDI_NOTE_E_3, "QK_MIDI_NOTE_E_3"},
- {QK_MIDI_NOTE_F_3, "QK_MIDI_NOTE_F_3"},
- {QK_MIDI_NOTE_F_SHARP_3, "QK_MIDI_NOTE_F_SHARP_3"},
- {QK_MIDI_NOTE_G_3, "QK_MIDI_NOTE_G_3"},
- {QK_MIDI_NOTE_G_SHARP_3, "QK_MIDI_NOTE_G_SHARP_3"},
- {QK_MIDI_NOTE_A_3, "QK_MIDI_NOTE_A_3"},
- {QK_MIDI_NOTE_A_SHARP_3, "QK_MIDI_NOTE_A_SHARP_3"},
- {QK_MIDI_NOTE_B_3, "QK_MIDI_NOTE_B_3"},
- {QK_MIDI_NOTE_C_4, "QK_MIDI_NOTE_C_4"},
- {QK_MIDI_NOTE_C_SHARP_4, "QK_MIDI_NOTE_C_SHARP_4"},
- {QK_MIDI_NOTE_D_4, "QK_MIDI_NOTE_D_4"},
- {QK_MIDI_NOTE_D_SHARP_4, "QK_MIDI_NOTE_D_SHARP_4"},
- {QK_MIDI_NOTE_E_4, "QK_MIDI_NOTE_E_4"},
- {QK_MIDI_NOTE_F_4, "QK_MIDI_NOTE_F_4"},
- {QK_MIDI_NOTE_F_SHARP_4, "QK_MIDI_NOTE_F_SHARP_4"},
- {QK_MIDI_NOTE_G_4, "QK_MIDI_NOTE_G_4"},
- {QK_MIDI_NOTE_G_SHARP_4, "QK_MIDI_NOTE_G_SHARP_4"},
- {QK_MIDI_NOTE_A_4, "QK_MIDI_NOTE_A_4"},
- {QK_MIDI_NOTE_A_SHARP_4, "QK_MIDI_NOTE_A_SHARP_4"},
- {QK_MIDI_NOTE_B_4, "QK_MIDI_NOTE_B_4"},
- {QK_MIDI_NOTE_C_5, "QK_MIDI_NOTE_C_5"},
- {QK_MIDI_NOTE_C_SHARP_5, "QK_MIDI_NOTE_C_SHARP_5"},
- {QK_MIDI_NOTE_D_5, "QK_MIDI_NOTE_D_5"},
- {QK_MIDI_NOTE_D_SHARP_5, "QK_MIDI_NOTE_D_SHARP_5"},
- {QK_MIDI_NOTE_E_5, "QK_MIDI_NOTE_E_5"},
- {QK_MIDI_NOTE_F_5, "QK_MIDI_NOTE_F_5"},
- {QK_MIDI_NOTE_F_SHARP_5, "QK_MIDI_NOTE_F_SHARP_5"},
- {QK_MIDI_NOTE_G_5, "QK_MIDI_NOTE_G_5"},
- {QK_MIDI_NOTE_G_SHARP_5, "QK_MIDI_NOTE_G_SHARP_5"},
- {QK_MIDI_NOTE_A_5, "QK_MIDI_NOTE_A_5"},
- {QK_MIDI_NOTE_A_SHARP_5, "QK_MIDI_NOTE_A_SHARP_5"},
- {QK_MIDI_NOTE_B_5, "QK_MIDI_NOTE_B_5"},
- {QK_MIDI_OCTAVE_N2, "QK_MIDI_OCTAVE_N2"},
- {QK_MIDI_OCTAVE_N1, "QK_MIDI_OCTAVE_N1"},
- {QK_MIDI_OCTAVE_0, "QK_MIDI_OCTAVE_0"},
- {QK_MIDI_OCTAVE_1, "QK_MIDI_OCTAVE_1"},
- {QK_MIDI_OCTAVE_2, "QK_MIDI_OCTAVE_2"},
- {QK_MIDI_OCTAVE_3, "QK_MIDI_OCTAVE_3"},
- {QK_MIDI_OCTAVE_4, "QK_MIDI_OCTAVE_4"},
- {QK_MIDI_OCTAVE_5, "QK_MIDI_OCTAVE_5"},
- {QK_MIDI_OCTAVE_6, "QK_MIDI_OCTAVE_6"},
- {QK_MIDI_OCTAVE_7, "QK_MIDI_OCTAVE_7"},
- {QK_MIDI_OCTAVE_DOWN, "QK_MIDI_OCTAVE_DOWN"},
- {QK_MIDI_OCTAVE_UP, "QK_MIDI_OCTAVE_UP"},
- {QK_MIDI_TRANSPOSE_N6, "QK_MIDI_TRANSPOSE_N6"},
- {QK_MIDI_TRANSPOSE_N5, "QK_MIDI_TRANSPOSE_N5"},
- {QK_MIDI_TRANSPOSE_N4, "QK_MIDI_TRANSPOSE_N4"},
- {QK_MIDI_TRANSPOSE_N3, "QK_MIDI_TRANSPOSE_N3"},
- {QK_MIDI_TRANSPOSE_N2, "QK_MIDI_TRANSPOSE_N2"},
- {QK_MIDI_TRANSPOSE_N1, "QK_MIDI_TRANSPOSE_N1"},
- {QK_MIDI_TRANSPOSE_0, "QK_MIDI_TRANSPOSE_0"},
- {QK_MIDI_TRANSPOSE_1, "QK_MIDI_TRANSPOSE_1"},
- {QK_MIDI_TRANSPOSE_2, "QK_MIDI_TRANSPOSE_2"},
- {QK_MIDI_TRANSPOSE_3, "QK_MIDI_TRANSPOSE_3"},
- {QK_MIDI_TRANSPOSE_4, "QK_MIDI_TRANSPOSE_4"},
- {QK_MIDI_TRANSPOSE_5, "QK_MIDI_TRANSPOSE_5"},
- {QK_MIDI_TRANSPOSE_6, "QK_MIDI_TRANSPOSE_6"},
- {QK_MIDI_TRANSPOSE_DOWN, "QK_MIDI_TRANSPOSE_DOWN"},
- {QK_MIDI_TRANSPOSE_UP, "QK_MIDI_TRANSPOSE_UP"},
- {QK_MIDI_VELOCITY_0, "QK_MIDI_VELOCITY_0"},
- {QK_MIDI_VELOCITY_1, "QK_MIDI_VELOCITY_1"},
- {QK_MIDI_VELOCITY_2, "QK_MIDI_VELOCITY_2"},
- {QK_MIDI_VELOCITY_3, "QK_MIDI_VELOCITY_3"},
- {QK_MIDI_VELOCITY_4, "QK_MIDI_VELOCITY_4"},
- {QK_MIDI_VELOCITY_5, "QK_MIDI_VELOCITY_5"},
- {QK_MIDI_VELOCITY_6, "QK_MIDI_VELOCITY_6"},
- {QK_MIDI_VELOCITY_7, "QK_MIDI_VELOCITY_7"},
- {QK_MIDI_VELOCITY_8, "QK_MIDI_VELOCITY_8"},
- {QK_MIDI_VELOCITY_9, "QK_MIDI_VELOCITY_9"},
- {QK_MIDI_VELOCITY_10, "QK_MIDI_VELOCITY_10"},
- {QK_MIDI_VELOCITY_DOWN, "QK_MIDI_VELOCITY_DOWN"},
- {QK_MIDI_VELOCITY_UP, "QK_MIDI_VELOCITY_UP"},
- {QK_MIDI_CHANNEL_1, "QK_MIDI_CHANNEL_1"},
- {QK_MIDI_CHANNEL_2, "QK_MIDI_CHANNEL_2"},
- {QK_MIDI_CHANNEL_3, "QK_MIDI_CHANNEL_3"},
- {QK_MIDI_CHANNEL_4, "QK_MIDI_CHANNEL_4"},
- {QK_MIDI_CHANNEL_5, "QK_MIDI_CHANNEL_5"},
- {QK_MIDI_CHANNEL_6, "QK_MIDI_CHANNEL_6"},
- {QK_MIDI_CHANNEL_7, "QK_MIDI_CHANNEL_7"},
- {QK_MIDI_CHANNEL_8, "QK_MIDI_CHANNEL_8"},
- {QK_MIDI_CHANNEL_9, "QK_MIDI_CHANNEL_9"},
- {QK_MIDI_CHANNEL_10, "QK_MIDI_CHANNEL_10"},
- {QK_MIDI_CHANNEL_11, "QK_MIDI_CHANNEL_11"},
- {QK_MIDI_CHANNEL_12, "QK_MIDI_CHANNEL_12"},
- {QK_MIDI_CHANNEL_13, "QK_MIDI_CHANNEL_13"},
- {QK_MIDI_CHANNEL_14, "QK_MIDI_CHANNEL_14"},
- {QK_MIDI_CHANNEL_15, "QK_MIDI_CHANNEL_15"},
- {QK_MIDI_CHANNEL_16, "QK_MIDI_CHANNEL_16"},
- {QK_MIDI_CHANNEL_DOWN, "QK_MIDI_CHANNEL_DOWN"},
- {QK_MIDI_CHANNEL_UP, "QK_MIDI_CHANNEL_UP"},
- {QK_MIDI_ALL_NOTES_OFF, "QK_MIDI_ALL_NOTES_OFF"},
- {QK_MIDI_SUSTAIN, "QK_MIDI_SUSTAIN"},
- {QK_MIDI_PORTAMENTO, "QK_MIDI_PORTAMENTO"},
- {QK_MIDI_SOSTENUTO, "QK_MIDI_SOSTENUTO"},
- {QK_MIDI_SOFT, "QK_MIDI_SOFT"},
- {QK_MIDI_LEGATO, "QK_MIDI_LEGATO"},
- {QK_MIDI_MODULATION, "QK_MIDI_MODULATION"},
- {QK_MIDI_MODULATION_SPEED_DOWN, "QK_MIDI_MODULATION_SPEED_DOWN"},
- {QK_MIDI_MODULATION_SPEED_UP, "QK_MIDI_MODULATION_SPEED_UP"},
- {QK_MIDI_PITCH_BEND_DOWN, "QK_MIDI_PITCH_BEND_DOWN"},
- {QK_MIDI_PITCH_BEND_UP, "QK_MIDI_PITCH_BEND_UP"},
- {QK_SEQUENCER_ON, "QK_SEQUENCER_ON"},
- {QK_SEQUENCER_OFF, "QK_SEQUENCER_OFF"},
- {QK_SEQUENCER_TOGGLE, "QK_SEQUENCER_TOGGLE"},
- {QK_SEQUENCER_TEMPO_DOWN, "QK_SEQUENCER_TEMPO_DOWN"},
- {QK_SEQUENCER_TEMPO_UP, "QK_SEQUENCER_TEMPO_UP"},
- {QK_SEQUENCER_RESOLUTION_DOWN, "QK_SEQUENCER_RESOLUTION_DOWN"},
- {QK_SEQUENCER_RESOLUTION_UP, "QK_SEQUENCER_RESOLUTION_UP"},
- {QK_SEQUENCER_STEPS_ALL, "QK_SEQUENCER_STEPS_ALL"},
- {QK_SEQUENCER_STEPS_CLEAR, "QK_SEQUENCER_STEPS_CLEAR"},
- {QK_JOYSTICK_BUTTON_0, "QK_JOYSTICK_BUTTON_0"},
- {QK_JOYSTICK_BUTTON_1, "QK_JOYSTICK_BUTTON_1"},
- {QK_JOYSTICK_BUTTON_2, "QK_JOYSTICK_BUTTON_2"},
- {QK_JOYSTICK_BUTTON_3, "QK_JOYSTICK_BUTTON_3"},
- {QK_JOYSTICK_BUTTON_4, "QK_JOYSTICK_BUTTON_4"},
- {QK_JOYSTICK_BUTTON_5, "QK_JOYSTICK_BUTTON_5"},
- {QK_JOYSTICK_BUTTON_6, "QK_JOYSTICK_BUTTON_6"},
- {QK_JOYSTICK_BUTTON_7, "QK_JOYSTICK_BUTTON_7"},
- {QK_JOYSTICK_BUTTON_8, "QK_JOYSTICK_BUTTON_8"},
- {QK_JOYSTICK_BUTTON_9, "QK_JOYSTICK_BUTTON_9"},
- {QK_JOYSTICK_BUTTON_10, "QK_JOYSTICK_BUTTON_10"},
- {QK_JOYSTICK_BUTTON_11, "QK_JOYSTICK_BUTTON_11"},
- {QK_JOYSTICK_BUTTON_12, "QK_JOYSTICK_BUTTON_12"},
- {QK_JOYSTICK_BUTTON_13, "QK_JOYSTICK_BUTTON_13"},
- {QK_JOYSTICK_BUTTON_14, "QK_JOYSTICK_BUTTON_14"},
- {QK_JOYSTICK_BUTTON_15, "QK_JOYSTICK_BUTTON_15"},
- {QK_JOYSTICK_BUTTON_16, "QK_JOYSTICK_BUTTON_16"},
- {QK_JOYSTICK_BUTTON_17, "QK_JOYSTICK_BUTTON_17"},
- {QK_JOYSTICK_BUTTON_18, "QK_JOYSTICK_BUTTON_18"},
- {QK_JOYSTICK_BUTTON_19, "QK_JOYSTICK_BUTTON_19"},
- {QK_JOYSTICK_BUTTON_20, "QK_JOYSTICK_BUTTON_20"},
- {QK_JOYSTICK_BUTTON_21, "QK_JOYSTICK_BUTTON_21"},
- {QK_JOYSTICK_BUTTON_22, "QK_JOYSTICK_BUTTON_22"},
- {QK_JOYSTICK_BUTTON_23, "QK_JOYSTICK_BUTTON_23"},
- {QK_JOYSTICK_BUTTON_24, "QK_JOYSTICK_BUTTON_24"},
- {QK_JOYSTICK_BUTTON_25, "QK_JOYSTICK_BUTTON_25"},
- {QK_JOYSTICK_BUTTON_26, "QK_JOYSTICK_BUTTON_26"},
- {QK_JOYSTICK_BUTTON_27, "QK_JOYSTICK_BUTTON_27"},
- {QK_JOYSTICK_BUTTON_28, "QK_JOYSTICK_BUTTON_28"},
- {QK_JOYSTICK_BUTTON_29, "QK_JOYSTICK_BUTTON_29"},
- {QK_JOYSTICK_BUTTON_30, "QK_JOYSTICK_BUTTON_30"},
- {QK_JOYSTICK_BUTTON_31, "QK_JOYSTICK_BUTTON_31"},
- {QK_PROGRAMMABLE_BUTTON_1, "QK_PROGRAMMABLE_BUTTON_1"},
- {QK_PROGRAMMABLE_BUTTON_2, "QK_PROGRAMMABLE_BUTTON_2"},
- {QK_PROGRAMMABLE_BUTTON_3, "QK_PROGRAMMABLE_BUTTON_3"},
- {QK_PROGRAMMABLE_BUTTON_4, "QK_PROGRAMMABLE_BUTTON_4"},
- {QK_PROGRAMMABLE_BUTTON_5, "QK_PROGRAMMABLE_BUTTON_5"},
- {QK_PROGRAMMABLE_BUTTON_6, "QK_PROGRAMMABLE_BUTTON_6"},
- {QK_PROGRAMMABLE_BUTTON_7, "QK_PROGRAMMABLE_BUTTON_7"},
- {QK_PROGRAMMABLE_BUTTON_8, "QK_PROGRAMMABLE_BUTTON_8"},
- {QK_PROGRAMMABLE_BUTTON_9, "QK_PROGRAMMABLE_BUTTON_9"},
- {QK_PROGRAMMABLE_BUTTON_10, "QK_PROGRAMMABLE_BUTTON_10"},
- {QK_PROGRAMMABLE_BUTTON_11, "QK_PROGRAMMABLE_BUTTON_11"},
- {QK_PROGRAMMABLE_BUTTON_12, "QK_PROGRAMMABLE_BUTTON_12"},
- {QK_PROGRAMMABLE_BUTTON_13, "QK_PROGRAMMABLE_BUTTON_13"},
- {QK_PROGRAMMABLE_BUTTON_14, "QK_PROGRAMMABLE_BUTTON_14"},
- {QK_PROGRAMMABLE_BUTTON_15, "QK_PROGRAMMABLE_BUTTON_15"},
- {QK_PROGRAMMABLE_BUTTON_16, "QK_PROGRAMMABLE_BUTTON_16"},
- {QK_PROGRAMMABLE_BUTTON_17, "QK_PROGRAMMABLE_BUTTON_17"},
- {QK_PROGRAMMABLE_BUTTON_18, "QK_PROGRAMMABLE_BUTTON_18"},
- {QK_PROGRAMMABLE_BUTTON_19, "QK_PROGRAMMABLE_BUTTON_19"},
- {QK_PROGRAMMABLE_BUTTON_20, "QK_PROGRAMMABLE_BUTTON_20"},
- {QK_PROGRAMMABLE_BUTTON_21, "QK_PROGRAMMABLE_BUTTON_21"},
- {QK_PROGRAMMABLE_BUTTON_22, "QK_PROGRAMMABLE_BUTTON_22"},
- {QK_PROGRAMMABLE_BUTTON_23, "QK_PROGRAMMABLE_BUTTON_23"},
- {QK_PROGRAMMABLE_BUTTON_24, "QK_PROGRAMMABLE_BUTTON_24"},
- {QK_PROGRAMMABLE_BUTTON_25, "QK_PROGRAMMABLE_BUTTON_25"},
- {QK_PROGRAMMABLE_BUTTON_26, "QK_PROGRAMMABLE_BUTTON_26"},
- {QK_PROGRAMMABLE_BUTTON_27, "QK_PROGRAMMABLE_BUTTON_27"},
- {QK_PROGRAMMABLE_BUTTON_28, "QK_PROGRAMMABLE_BUTTON_28"},
- {QK_PROGRAMMABLE_BUTTON_29, "QK_PROGRAMMABLE_BUTTON_29"},
- {QK_PROGRAMMABLE_BUTTON_30, "QK_PROGRAMMABLE_BUTTON_30"},
- {QK_PROGRAMMABLE_BUTTON_31, "QK_PROGRAMMABLE_BUTTON_31"},
- {QK_PROGRAMMABLE_BUTTON_32, "QK_PROGRAMMABLE_BUTTON_32"},
- {QK_AUDIO_ON, "QK_AUDIO_ON"},
- {QK_AUDIO_OFF, "QK_AUDIO_OFF"},
- {QK_AUDIO_TOGGLE, "QK_AUDIO_TOGGLE"},
- {QK_AUDIO_CLICKY_TOGGLE, "QK_AUDIO_CLICKY_TOGGLE"},
- {QK_AUDIO_CLICKY_ON, "QK_AUDIO_CLICKY_ON"},
- {QK_AUDIO_CLICKY_OFF, "QK_AUDIO_CLICKY_OFF"},
- {QK_AUDIO_CLICKY_UP, "QK_AUDIO_CLICKY_UP"},
- {QK_AUDIO_CLICKY_DOWN, "QK_AUDIO_CLICKY_DOWN"},
- {QK_AUDIO_CLICKY_RESET, "QK_AUDIO_CLICKY_RESET"},
- {QK_MUSIC_ON, "QK_MUSIC_ON"},
- {QK_MUSIC_OFF, "QK_MUSIC_OFF"},
- {QK_MUSIC_TOGGLE, "QK_MUSIC_TOGGLE"},
- {QK_MUSIC_MODE_NEXT, "QK_MUSIC_MODE_NEXT"},
- {QK_AUDIO_VOICE_NEXT, "QK_AUDIO_VOICE_NEXT"},
- {QK_AUDIO_VOICE_PREVIOUS, "QK_AUDIO_VOICE_PREVIOUS"},
- {QK_STENO_BOLT, "QK_STENO_BOLT"},
- {QK_STENO_GEMINI, "QK_STENO_GEMINI"},
- {QK_STENO_COMB, "QK_STENO_COMB"},
- {QK_STENO_COMB_MAX, "QK_STENO_COMB_MAX"},
- {QK_MACRO_0, "QK_MACRO_0"},
- {QK_MACRO_1, "QK_MACRO_1"},
- {QK_MACRO_2, "QK_MACRO_2"},
- {QK_MACRO_3, "QK_MACRO_3"},
- {QK_MACRO_4, "QK_MACRO_4"},
- {QK_MACRO_5, "QK_MACRO_5"},
- {QK_MACRO_6, "QK_MACRO_6"},
- {QK_MACRO_7, "QK_MACRO_7"},
- {QK_MACRO_8, "QK_MACRO_8"},
- {QK_MACRO_9, "QK_MACRO_9"},
- {QK_MACRO_10, "QK_MACRO_10"},
- {QK_MACRO_11, "QK_MACRO_11"},
- {QK_MACRO_12, "QK_MACRO_12"},
- {QK_MACRO_13, "QK_MACRO_13"},
- {QK_MACRO_14, "QK_MACRO_14"},
- {QK_MACRO_15, "QK_MACRO_15"},
- {QK_MACRO_16, "QK_MACRO_16"},
- {QK_MACRO_17, "QK_MACRO_17"},
- {QK_MACRO_18, "QK_MACRO_18"},
- {QK_MACRO_19, "QK_MACRO_19"},
- {QK_MACRO_20, "QK_MACRO_20"},
- {QK_MACRO_21, "QK_MACRO_21"},
- {QK_MACRO_22, "QK_MACRO_22"},
- {QK_MACRO_23, "QK_MACRO_23"},
- {QK_MACRO_24, "QK_MACRO_24"},
- {QK_MACRO_25, "QK_MACRO_25"},
- {QK_MACRO_26, "QK_MACRO_26"},
- {QK_MACRO_27, "QK_MACRO_27"},
- {QK_MACRO_28, "QK_MACRO_28"},
- {QK_MACRO_29, "QK_MACRO_29"},
- {QK_MACRO_30, "QK_MACRO_30"},
- {QK_MACRO_31, "QK_MACRO_31"},
- {QK_OUTPUT_AUTO, "QK_OUTPUT_AUTO"},
- {QK_OUTPUT_NEXT, "QK_OUTPUT_NEXT"},
- {QK_OUTPUT_PREV, "QK_OUTPUT_PREV"},
- {QK_OUTPUT_NONE, "QK_OUTPUT_NONE"},
- {QK_OUTPUT_USB, "QK_OUTPUT_USB"},
- {QK_OUTPUT_2P4GHZ, "QK_OUTPUT_2P4GHZ"},
- {QK_OUTPUT_BLUETOOTH, "QK_OUTPUT_BLUETOOTH"},
- {QK_BLUETOOTH_PROFILE_NEXT, "QK_BLUETOOTH_PROFILE_NEXT"},
- {QK_BLUETOOTH_PROFILE_PREV, "QK_BLUETOOTH_PROFILE_PREV"},
- {QK_BLUETOOTH_UNPAIR, "QK_BLUETOOTH_UNPAIR"},
- {QK_BLUETOOTH_PROFILE1, "QK_BLUETOOTH_PROFILE1"},
- {QK_BLUETOOTH_PROFILE2, "QK_BLUETOOTH_PROFILE2"},
- {QK_BLUETOOTH_PROFILE3, "QK_BLUETOOTH_PROFILE3"},
- {QK_BLUETOOTH_PROFILE4, "QK_BLUETOOTH_PROFILE4"},
- {QK_BLUETOOTH_PROFILE5, "QK_BLUETOOTH_PROFILE5"},
- {QK_BACKLIGHT_ON, "QK_BACKLIGHT_ON"},
- {QK_BACKLIGHT_OFF, "QK_BACKLIGHT_OFF"},
- {QK_BACKLIGHT_TOGGLE, "QK_BACKLIGHT_TOGGLE"},
- {QK_BACKLIGHT_DOWN, "QK_BACKLIGHT_DOWN"},
- {QK_BACKLIGHT_UP, "QK_BACKLIGHT_UP"},
- {QK_BACKLIGHT_STEP, "QK_BACKLIGHT_STEP"},
- {QK_BACKLIGHT_TOGGLE_BREATHING, "QK_BACKLIGHT_TOGGLE_BREATHING"},
- {QK_LED_MATRIX_ON, "QK_LED_MATRIX_ON"},
- {QK_LED_MATRIX_OFF, "QK_LED_MATRIX_OFF"},
- {QK_LED_MATRIX_TOGGLE, "QK_LED_MATRIX_TOGGLE"},
- {QK_LED_MATRIX_MODE_NEXT, "QK_LED_MATRIX_MODE_NEXT"},
- {QK_LED_MATRIX_MODE_PREVIOUS, "QK_LED_MATRIX_MODE_PREVIOUS"},
- {QK_LED_MATRIX_BRIGHTNESS_UP, "QK_LED_MATRIX_BRIGHTNESS_UP"},
- {QK_LED_MATRIX_BRIGHTNESS_DOWN, "QK_LED_MATRIX_BRIGHTNESS_DOWN"},
- {QK_LED_MATRIX_SPEED_UP, "QK_LED_MATRIX_SPEED_UP"},
- {QK_LED_MATRIX_SPEED_DOWN, "QK_LED_MATRIX_SPEED_DOWN"},
- {QK_UNDERGLOW_TOGGLE, "QK_UNDERGLOW_TOGGLE"},
- {QK_UNDERGLOW_MODE_NEXT, "QK_UNDERGLOW_MODE_NEXT"},
- {QK_UNDERGLOW_MODE_PREVIOUS, "QK_UNDERGLOW_MODE_PREVIOUS"},
- {QK_UNDERGLOW_HUE_UP, "QK_UNDERGLOW_HUE_UP"},
- {QK_UNDERGLOW_HUE_DOWN, "QK_UNDERGLOW_HUE_DOWN"},
- {QK_UNDERGLOW_SATURATION_UP, "QK_UNDERGLOW_SATURATION_UP"},
- {QK_UNDERGLOW_SATURATION_DOWN, "QK_UNDERGLOW_SATURATION_DOWN"},
- {QK_UNDERGLOW_VALUE_UP, "QK_UNDERGLOW_VALUE_UP"},
- {QK_UNDERGLOW_VALUE_DOWN, "QK_UNDERGLOW_VALUE_DOWN"},
- {QK_UNDERGLOW_SPEED_UP, "QK_UNDERGLOW_SPEED_UP"},
- {QK_UNDERGLOW_SPEED_DOWN, "QK_UNDERGLOW_SPEED_DOWN"},
- {RGB_MODE_PLAIN, "RGB_MODE_PLAIN"},
- {RGB_MODE_BREATHE, "RGB_MODE_BREATHE"},
- {RGB_MODE_RAINBOW, "RGB_MODE_RAINBOW"},
- {RGB_MODE_SWIRL, "RGB_MODE_SWIRL"},
- {RGB_MODE_SNAKE, "RGB_MODE_SNAKE"},
- {RGB_MODE_KNIGHT, "RGB_MODE_KNIGHT"},
- {RGB_MODE_XMAS, "RGB_MODE_XMAS"},
- {RGB_MODE_GRADIENT, "RGB_MODE_GRADIENT"},
- {RGB_MODE_RGBTEST, "RGB_MODE_RGBTEST"},
- {RGB_MODE_TWINKLE, "RGB_MODE_TWINKLE"},
- {QK_RGB_MATRIX_ON, "QK_RGB_MATRIX_ON"},
- {QK_RGB_MATRIX_OFF, "QK_RGB_MATRIX_OFF"},
- {QK_RGB_MATRIX_TOGGLE, "QK_RGB_MATRIX_TOGGLE"},
- {QK_RGB_MATRIX_MODE_NEXT, "QK_RGB_MATRIX_MODE_NEXT"},
- {QK_RGB_MATRIX_MODE_PREVIOUS, "QK_RGB_MATRIX_MODE_PREVIOUS"},
- {QK_RGB_MATRIX_HUE_UP, "QK_RGB_MATRIX_HUE_UP"},
- {QK_RGB_MATRIX_HUE_DOWN, "QK_RGB_MATRIX_HUE_DOWN"},
- {QK_RGB_MATRIX_SATURATION_UP, "QK_RGB_MATRIX_SATURATION_UP"},
- {QK_RGB_MATRIX_SATURATION_DOWN, "QK_RGB_MATRIX_SATURATION_DOWN"},
- {QK_RGB_MATRIX_VALUE_UP, "QK_RGB_MATRIX_VALUE_UP"},
- {QK_RGB_MATRIX_VALUE_DOWN, "QK_RGB_MATRIX_VALUE_DOWN"},
- {QK_RGB_MATRIX_SPEED_UP, "QK_RGB_MATRIX_SPEED_UP"},
- {QK_RGB_MATRIX_SPEED_DOWN, "QK_RGB_MATRIX_SPEED_DOWN"},
- {QK_BOOTLOADER, "QK_BOOTLOADER"},
- {QK_REBOOT, "QK_REBOOT"},
- {QK_DEBUG_TOGGLE, "QK_DEBUG_TOGGLE"},
- {QK_CLEAR_EEPROM, "QK_CLEAR_EEPROM"},
- {QK_MAKE, "QK_MAKE"},
- {QK_AUTO_SHIFT_DOWN, "QK_AUTO_SHIFT_DOWN"},
- {QK_AUTO_SHIFT_UP, "QK_AUTO_SHIFT_UP"},
- {QK_AUTO_SHIFT_REPORT, "QK_AUTO_SHIFT_REPORT"},
- {QK_AUTO_SHIFT_ON, "QK_AUTO_SHIFT_ON"},
- {QK_AUTO_SHIFT_OFF, "QK_AUTO_SHIFT_OFF"},
- {QK_AUTO_SHIFT_TOGGLE, "QK_AUTO_SHIFT_TOGGLE"},
- {QK_GRAVE_ESCAPE, "QK_GRAVE_ESCAPE"},
- {QK_VELOCIKEY_TOGGLE, "QK_VELOCIKEY_TOGGLE"},
- {QK_SPACE_CADET_LEFT_CTRL_PARENTHESIS_OPEN, "QK_SPACE_CADET_LEFT_CTRL_PARENTHESIS_OPEN"},
- {QK_SPACE_CADET_RIGHT_CTRL_PARENTHESIS_CLOSE, "QK_SPACE_CADET_RIGHT_CTRL_PARENTHESIS_CLOSE"},
- {QK_SPACE_CADET_LEFT_SHIFT_PARENTHESIS_OPEN, "QK_SPACE_CADET_LEFT_SHIFT_PARENTHESIS_OPEN"},
- {QK_SPACE_CADET_RIGHT_SHIFT_PARENTHESIS_CLOSE, "QK_SPACE_CADET_RIGHT_SHIFT_PARENTHESIS_CLOSE"},
- {QK_SPACE_CADET_LEFT_ALT_PARENTHESIS_OPEN, "QK_SPACE_CADET_LEFT_ALT_PARENTHESIS_OPEN"},
- {QK_SPACE_CADET_RIGHT_ALT_PARENTHESIS_CLOSE, "QK_SPACE_CADET_RIGHT_ALT_PARENTHESIS_CLOSE"},
- {QK_SPACE_CADET_RIGHT_SHIFT_ENTER, "QK_SPACE_CADET_RIGHT_SHIFT_ENTER"},
- {QK_UNICODE_MODE_NEXT, "QK_UNICODE_MODE_NEXT"},
- {QK_UNICODE_MODE_PREVIOUS, "QK_UNICODE_MODE_PREVIOUS"},
- {QK_UNICODE_MODE_MACOS, "QK_UNICODE_MODE_MACOS"},
- {QK_UNICODE_MODE_LINUX, "QK_UNICODE_MODE_LINUX"},
- {QK_UNICODE_MODE_WINDOWS, "QK_UNICODE_MODE_WINDOWS"},
- {QK_UNICODE_MODE_BSD, "QK_UNICODE_MODE_BSD"},
- {QK_UNICODE_MODE_WINCOMPOSE, "QK_UNICODE_MODE_WINCOMPOSE"},
- {QK_UNICODE_MODE_EMACS, "QK_UNICODE_MODE_EMACS"},
- {QK_HAPTIC_ON, "QK_HAPTIC_ON"},
- {QK_HAPTIC_OFF, "QK_HAPTIC_OFF"},
- {QK_HAPTIC_TOGGLE, "QK_HAPTIC_TOGGLE"},
- {QK_HAPTIC_RESET, "QK_HAPTIC_RESET"},
- {QK_HAPTIC_FEEDBACK_TOGGLE, "QK_HAPTIC_FEEDBACK_TOGGLE"},
- {QK_HAPTIC_BUZZ_TOGGLE, "QK_HAPTIC_BUZZ_TOGGLE"},
- {QK_HAPTIC_MODE_NEXT, "QK_HAPTIC_MODE_NEXT"},
- {QK_HAPTIC_MODE_PREVIOUS, "QK_HAPTIC_MODE_PREVIOUS"},
- {QK_HAPTIC_CONTINUOUS_TOGGLE, "QK_HAPTIC_CONTINUOUS_TOGGLE"},
- {QK_HAPTIC_CONTINUOUS_UP, "QK_HAPTIC_CONTINUOUS_UP"},
- {QK_HAPTIC_CONTINUOUS_DOWN, "QK_HAPTIC_CONTINUOUS_DOWN"},
- {QK_HAPTIC_DWELL_UP, "QK_HAPTIC_DWELL_UP"},
- {QK_HAPTIC_DWELL_DOWN, "QK_HAPTIC_DWELL_DOWN"},
- {QK_COMBO_ON, "QK_COMBO_ON"},
- {QK_COMBO_OFF, "QK_COMBO_OFF"},
- {QK_COMBO_TOGGLE, "QK_COMBO_TOGGLE"},
- {QK_DYNAMIC_MACRO_RECORD_START_1, "QK_DYNAMIC_MACRO_RECORD_START_1"},
- {QK_DYNAMIC_MACRO_RECORD_START_2, "QK_DYNAMIC_MACRO_RECORD_START_2"},
- {QK_DYNAMIC_MACRO_RECORD_STOP, "QK_DYNAMIC_MACRO_RECORD_STOP"},
- {QK_DYNAMIC_MACRO_PLAY_1, "QK_DYNAMIC_MACRO_PLAY_1"},
- {QK_DYNAMIC_MACRO_PLAY_2, "QK_DYNAMIC_MACRO_PLAY_2"},
- {QK_LEADER, "QK_LEADER"},
- {QK_LOCK, "QK_LOCK"},
- {QK_ONE_SHOT_ON, "QK_ONE_SHOT_ON"},
- {QK_ONE_SHOT_OFF, "QK_ONE_SHOT_OFF"},
- {QK_ONE_SHOT_TOGGLE, "QK_ONE_SHOT_TOGGLE"},
- {QK_KEY_OVERRIDE_TOGGLE, "QK_KEY_OVERRIDE_TOGGLE"},
- {QK_KEY_OVERRIDE_ON, "QK_KEY_OVERRIDE_ON"},
- {QK_KEY_OVERRIDE_OFF, "QK_KEY_OVERRIDE_OFF"},
- {QK_SECURE_LOCK, "QK_SECURE_LOCK"},
- {QK_SECURE_UNLOCK, "QK_SECURE_UNLOCK"},
- {QK_SECURE_TOGGLE, "QK_SECURE_TOGGLE"},
- {QK_SECURE_REQUEST, "QK_SECURE_REQUEST"},
- {QK_DYNAMIC_TAPPING_TERM_PRINT, "QK_DYNAMIC_TAPPING_TERM_PRINT"},
- {QK_DYNAMIC_TAPPING_TERM_UP, "QK_DYNAMIC_TAPPING_TERM_UP"},
- {QK_DYNAMIC_TAPPING_TERM_DOWN, "QK_DYNAMIC_TAPPING_TERM_DOWN"},
- {QK_CAPS_WORD_TOGGLE, "QK_CAPS_WORD_TOGGLE"},
- {QK_AUTOCORRECT_ON, "QK_AUTOCORRECT_ON"},
- {QK_AUTOCORRECT_OFF, "QK_AUTOCORRECT_OFF"},
- {QK_AUTOCORRECT_TOGGLE, "QK_AUTOCORRECT_TOGGLE"},
- {QK_TRI_LAYER_LOWER, "QK_TRI_LAYER_LOWER"},
- {QK_TRI_LAYER_UPPER, "QK_TRI_LAYER_UPPER"},
- {QK_REPEAT_KEY, "QK_REPEAT_KEY"},
- {QK_ALT_REPEAT_KEY, "QK_ALT_REPEAT_KEY"},
- {QK_LAYER_LOCK, "QK_LAYER_LOCK"},
- {QK_KB_0, "QK_KB_0"},
- {QK_KB_1, "QK_KB_1"},
- {QK_KB_2, "QK_KB_2"},
- {QK_KB_3, "QK_KB_3"},
- {QK_KB_4, "QK_KB_4"},
- {QK_KB_5, "QK_KB_5"},
- {QK_KB_6, "QK_KB_6"},
- {QK_KB_7, "QK_KB_7"},
- {QK_KB_8, "QK_KB_8"},
- {QK_KB_9, "QK_KB_9"},
- {QK_KB_10, "QK_KB_10"},
- {QK_KB_11, "QK_KB_11"},
- {QK_KB_12, "QK_KB_12"},
- {QK_KB_13, "QK_KB_13"},
- {QK_KB_14, "QK_KB_14"},
- {QK_KB_15, "QK_KB_15"},
- {QK_KB_16, "QK_KB_16"},
- {QK_KB_17, "QK_KB_17"},
- {QK_KB_18, "QK_KB_18"},
- {QK_KB_19, "QK_KB_19"},
- {QK_KB_20, "QK_KB_20"},
- {QK_KB_21, "QK_KB_21"},
- {QK_KB_22, "QK_KB_22"},
- {QK_KB_23, "QK_KB_23"},
- {QK_KB_24, "QK_KB_24"},
- {QK_KB_25, "QK_KB_25"},
- {QK_KB_26, "QK_KB_26"},
- {QK_KB_27, "QK_KB_27"},
- {QK_KB_28, "QK_KB_28"},
- {QK_KB_29, "QK_KB_29"},
- {QK_KB_30, "QK_KB_30"},
- {QK_KB_31, "QK_KB_31"},
- {QK_USER_0, "QK_USER_0"},
- {QK_USER_1, "QK_USER_1"},
- {QK_USER_2, "QK_USER_2"},
- {QK_USER_3, "QK_USER_3"},
- {QK_USER_4, "QK_USER_4"},
- {QK_USER_5, "QK_USER_5"},
- {QK_USER_6, "QK_USER_6"},
- {QK_USER_7, "QK_USER_7"},
- {QK_USER_8, "QK_USER_8"},
- {QK_USER_9, "QK_USER_9"},
- {QK_USER_10, "QK_USER_10"},
- {QK_USER_11, "QK_USER_11"},
- {QK_USER_12, "QK_USER_12"},
- {QK_USER_13, "QK_USER_13"},
- {QK_USER_14, "QK_USER_14"},
- {QK_USER_15, "QK_USER_15"},
- {QK_USER_16, "QK_USER_16"},
- {QK_USER_17, "QK_USER_17"},
- {QK_USER_18, "QK_USER_18"},
- {QK_USER_19, "QK_USER_19"},
- {QK_USER_20, "QK_USER_20"},
- {QK_USER_21, "QK_USER_21"},
- {QK_USER_22, "QK_USER_22"},
- {QK_USER_23, "QK_USER_23"},
- {QK_USER_24, "QK_USER_24"},
- {QK_USER_25, "QK_USER_25"},
- {QK_USER_26, "QK_USER_26"},
- {QK_USER_27, "QK_USER_27"},
- {QK_USER_28, "QK_USER_28"},
- {QK_USER_29, "QK_USER_29"},
- {QK_USER_30, "QK_USER_30"},
- {QK_USER_31, "QK_USER_31"},
-};
diff --git a/tests/test_common/keycode_util.cpp b/tests/test_common/keycode_util.cpp
deleted file mode 100644
index 539cab819a..0000000000
--- a/tests/test_common/keycode_util.cpp
+++ /dev/null
@@ -1,130 +0,0 @@
-#include "keycode_util.hpp"
-#include <cstdint>
-extern "C" {
-#include "action_code.h"
-#include "keycode.h"
-#include "quantum_keycodes.h"
-#include "util.h"
-}
-#include <string>
-#include <iomanip>
-#include <map>
-
-extern std::map<uint16_t, std::string> KEYCODE_ID_TABLE;
-
-std::string get_mods(uint8_t mods) {
- std::stringstream s;
- if ((mods & MOD_RCTL) == MOD_RCTL) {
- s << XSTR(MOD_RCTL) << " | ";
- } else if ((mods & MOD_LCTL) == MOD_LCTL) {
- s << XSTR(MOD_LCTL) << " | ";
- }
-
- if ((mods & MOD_RSFT) == MOD_RSFT) {
- s << XSTR(MOD_RSFT) << " | ";
- } else if ((mods & MOD_LSFT) == MOD_LSFT) {
- s << XSTR(MOD_LSFT) << " | ";
- }
-
- if ((mods & MOD_RALT) == MOD_RALT) {
- s << XSTR(MOD_RALT) << " | ";
- } else if ((mods & MOD_LALT) == MOD_LALT) {
- s << XSTR(MOD_LALT) << " | ";
- }
-
- if ((mods & MOD_RGUI) == MOD_RGUI) {
- s << XSTR(MOD_RGUI) << " | ";
- } else if ((mods & MOD_LGUI) == MOD_LGUI) {
- s << XSTR(MOD_LGUI) << " | ";
- }
-
- auto _mods = s.str();
-
- if (_mods.size()) {
- _mods.resize(_mods.size() - 3);
- }
-
- return std::string(_mods);
-}
-
-std::string get_qk_mods(uint16_t keycode) {
- std::stringstream s;
- if ((keycode & QK_RCTL) == QK_RCTL) {
- s << XSTR(QK_RCTL) << " | ";
- } else if ((keycode & QK_LCTL) == QK_LCTL) {
- s << XSTR(QK_LCTL) << " | ";
- }
-
- if ((keycode & QK_RSFT) == QK_RSFT) {
- s << XSTR(QK_RSFT) << " | ";
- } else if ((keycode & QK_LSFT) == QK_LSFT) {
- s << XSTR(QK_LSFT) << " | ";
- }
-
- if ((keycode & QK_RALT) == QK_RALT) {
- s << XSTR(QK_RALT) << " | ";
- } else if ((keycode & QK_LALT) == QK_LALT) {
- s << XSTR(QK_LALT) << " | ";
- }
-
- if ((keycode & QK_RGUI) == QK_RGUI) {
- s << XSTR(QK_RGUI) << " | ";
- } else if ((keycode & QK_LGUI) == QK_LGUI) {
- s << XSTR(QK_LGUI) << " | ";
- }
-
- auto _mods = s.str();
-
- if (_mods.size()) {
- _mods.resize(_mods.size() - 3);
- }
-
- return std::string(_mods);
-}
-
-std::string generate_identifier(uint16_t kc) {
- std::stringstream s;
- if (IS_QK_MOD_TAP(kc)) {
- s << "MT(" << get_mods(QK_MOD_TAP_GET_MODS(kc)) << ", " << KEYCODE_ID_TABLE.at(kc & 0xFF) << ")";
- } else if (IS_QK_LAYER_TAP(kc)) {
- s << "LT(" << +QK_LAYER_TAP_GET_LAYER(kc) << ", " << KEYCODE_ID_TABLE.at(kc & 0xFF) << ")";
- } else if (IS_QK_TO(kc)) {
- s << "TO(" << +QK_TO_GET_LAYER(kc) << ")";
- } else if (IS_QK_MOMENTARY(kc)) {
- s << "MO(" << +QK_MOMENTARY_GET_LAYER(kc) << ")";
- } else if (IS_QK_DEF_LAYER(kc)) {
- s << "DF(" << +QK_DEF_LAYER_GET_LAYER(kc) << ")";
- } else if (IS_QK_PERSISTENT_DEF_LAYER(kc)) {
- s << "PDF(" << +QK_PERSISTENT_DEF_LAYER_GET_LAYER(kc) << ")";
- } else if (IS_QK_TOGGLE_LAYER(kc)) {
- s << "TG(" << +QK_TOGGLE_LAYER_GET_LAYER(kc) << ")";
- } else if (IS_QK_LAYER_TAP_TOGGLE(kc)) {
- s << "TT(" << +QK_LAYER_TAP_TOGGLE_GET_LAYER(kc) << ")";
- } else if (IS_QK_ONE_SHOT_LAYER(kc)) {
- s << "OSL(" << +QK_ONE_SHOT_LAYER_GET_LAYER(kc) << ")";
- } else if (IS_QK_LAYER_MOD(kc)) {
- s << "LM(" << +QK_LAYER_MOD_GET_LAYER(kc) << ", " << get_mods(QK_LAYER_MOD_GET_MODS(kc)) << ")";
- } else if (IS_QK_ONE_SHOT_MOD(kc)) {
- s << "OSM(" << get_mods(QK_ONE_SHOT_MOD_GET_MODS(kc)) << ")";
- } else if (IS_QK_MODS(kc)) {
- s << "QK_MODS(" << KEYCODE_ID_TABLE.at(QK_MODS_GET_BASIC_KEYCODE(kc)) << ", " << get_qk_mods(kc) << ")";
- } else if (IS_QK_TAP_DANCE(kc)) {
- s << "TD(" << +(kc & 0xFF) << ")";
- } else {
- // Fallback - we didn't found any matching keycode, generate the hex representation.
- s << "unknown keycode: 0x" << std::hex << kc << ". Add conversion to " << XSTR(generate_identifier);
- }
-
- return std::string(s.str());
-}
-
-std::string get_keycode_identifier_or_default(uint16_t keycode) {
- auto identifier = KEYCODE_ID_TABLE.find(keycode);
- if (identifier != KEYCODE_ID_TABLE.end()) {
- return identifier->second;
- }
-
- KEYCODE_ID_TABLE[keycode] = generate_identifier(keycode);
-
- return KEYCODE_ID_TABLE[keycode];
-}
diff --git a/tests/test_common/keycode_util.hpp b/tests/test_common/keycode_util.hpp
deleted file mode 100644
index 3143ab364e..0000000000
--- a/tests/test_common/keycode_util.hpp
+++ /dev/null
@@ -1,6 +0,0 @@
-#pragma once
-
-#include <cstdint>
-#include <string>
-
-std::string get_keycode_identifier_or_default(uint16_t keycode);
diff --git a/tests/test_common/test_driver.hpp b/tests/test_common/test_driver.hpp
index fea8225953..5c36c80dfc 100644
--- a/tests/test_common/test_driver.hpp
+++ b/tests/test_common/test_driver.hpp
@@ -20,7 +20,9 @@
#include <stdint.h>
#include "host.h"
#include "keyboard_report_util.hpp"
-#include "keycode_util.hpp"
+extern "C" {
+#include "keycode_string.h"
+}
#include "test_logger.hpp"
class TestDriver {
@@ -146,11 +148,11 @@ class TestDriver {
/** @brief Tests whether keycode `actual` is equal to `expected`. */
#define EXPECT_KEYCODE_EQ(actual, expected) EXPECT_THAT((actual), KeycodeEq((expected)))
-MATCHER_P(KeycodeEq, expected_keycode, "is equal to " + testing::PrintToString(expected_keycode) + ", keycode " + get_keycode_identifier_or_default(expected_keycode)) {
+MATCHER_P(KeycodeEq, expected_keycode, "is equal to " + testing::PrintToString(expected_keycode) + ", keycode " + get_keycode_string(expected_keycode)) {
if (arg == expected_keycode) {
return true;
}
- *result_listener << "keycode " << get_keycode_identifier_or_default(arg);
+ *result_listener << "keycode " << get_keycode_string(arg);
return false;
}
diff --git a/tests/test_common/test_fixture.cpp b/tests/test_common/test_fixture.cpp
index 81806b0e6d..00084721d6 100644
--- a/tests/test_common/test_fixture.cpp
+++ b/tests/test_common/test_fixture.cpp
@@ -46,7 +46,7 @@ void TestFixture::SetUpTestCase() {
// The following is enough to bootstrap the values set in main
eeconfig_init_quantum();
- eeconfig_update_debug(debug_config.raw);
+ eeconfig_update_debug(&debug_config);
TestDriver driver;
keyboard_init();
diff --git a/tests/test_common/test_keymap_key.hpp b/tests/test_common/test_keymap_key.hpp
index 37b4c827e4..ba2c2912e3 100644
--- a/tests/test_common/test_keymap_key.hpp
+++ b/tests/test_common/test_keymap_key.hpp
@@ -18,10 +18,10 @@
#include <cstddef>
#include <string>
-#include "keycode_util.hpp"
extern "C" {
#include "keyboard.h"
#include "test_matrix.h"
+#include "keycode_string.h"
}
#include <cassert>
@@ -29,11 +29,11 @@ extern "C" {
typedef uint8_t layer_t;
struct KeymapKey {
- KeymapKey(layer_t layer, uint8_t col, uint8_t row, uint16_t keycode) : layer(layer), position({.col = col, .row = row}), code(keycode), report_code(keycode), name(get_keycode_identifier_or_default(keycode)) {
+ KeymapKey(layer_t layer, uint8_t col, uint8_t row, uint16_t keycode) : layer(layer), position({.col = col, .row = row}), code(keycode), report_code(keycode), name(get_keycode_string(keycode)) {
validate();
}
- KeymapKey(layer_t layer, uint8_t col, uint8_t row, uint16_t keycode, uint16_t report_code) : layer(layer), position({.col = col, .row = row}), code(keycode), report_code(report_code), name{get_keycode_identifier_or_default(keycode)} {
+ KeymapKey(layer_t layer, uint8_t col, uint8_t row, uint16_t keycode, uint16_t report_code) : layer(layer), position({.col = col, .row = row}), code(keycode), report_code(report_code), name{get_keycode_string(keycode)} {
validate();
}
diff --git a/tmk_core/protocol/chibios/chibios.c b/tmk_core/protocol/chibios/chibios.c
index cf948154f9..d752f3746b 100644
--- a/tmk_core/protocol/chibios/chibios.c
+++ b/tmk_core/protocol/chibios/chibios.c
@@ -134,8 +134,6 @@ void protocol_setup(void) {
// chThdCreateStatic(waThread1, sizeof(waThread1), NORMALPRIO, Thread1, NULL);
}
-static host_driver_t *driver = NULL;
-
void protocol_pre_init(void) {
/* Init USB */
usb_event_queue_init();
@@ -146,18 +144,11 @@ void protocol_pre_init(void) {
#endif
/* Wait until USB is active */
- while (true) {
-#if defined(USB_WAIT_FOR_ENUMERATION)
- if (USB_DRIVER.state == USB_ACTIVE) {
- driver = &chibios_driver;
- break;
- }
-#else
- driver = &chibios_driver;
- break;
-#endif
+#ifdef USB_WAIT_FOR_ENUMERATION
+ while (USB_DRIVER.state != USB_ACTIVE) {
wait_ms(50);
}
+#endif
/* Do need to wait here!
* Otherwise the next print might start a transfer on console EP
@@ -170,7 +161,7 @@ void protocol_pre_init(void) {
}
void protocol_post_init(void) {
- host_set_driver(driver);
+ host_set_driver(&chibios_driver);
}
void protocol_pre_task(void) {
diff --git a/tmk_core/protocol/host.c b/tmk_core/protocol/host.c
index df805c827c..453952049f 100644
--- a/tmk_core/protocol/host.c
+++ b/tmk_core/protocol/host.c
@@ -31,8 +31,11 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#endif
#ifdef BLUETOOTH_ENABLE
+# ifndef CONNECTION_ENABLE
+# error CONNECTION_ENABLE required and not enabled
+# endif
+# include "connection.h"
# include "bluetooth.h"
-# include "outputselect.h"
#endif
#ifdef NKRO_ENABLE
@@ -74,7 +77,7 @@ led_t host_keyboard_led_state(void) {
/* send report */
void host_keyboard_send(report_keyboard_t *report) {
#ifdef BLUETOOTH_ENABLE
- if (where_to_send() == OUTPUT_BLUETOOTH) {
+ if (connection_get_host() == CONNECTION_HOST_BLUETOOTH) {
bluetooth_send_keyboard(report);
return;
}
@@ -111,7 +114,7 @@ void host_nkro_send(report_nkro_t *report) {
void host_mouse_send(report_mouse_t *report) {
#ifdef BLUETOOTH_ENABLE
- if (where_to_send() == OUTPUT_BLUETOOTH) {
+ if (connection_get_host() == CONNECTION_HOST_BLUETOOTH) {
bluetooth_send_mouse(report);
return;
}
@@ -147,7 +150,7 @@ void host_consumer_send(uint16_t usage) {
last_consumer_usage = usage;
#ifdef BLUETOOTH_ENABLE
- if (where_to_send() == OUTPUT_BLUETOOTH) {
+ if (connection_get_host() == CONNECTION_HOST_BLUETOOTH) {
bluetooth_send_consumer(usage);
return;
}
diff --git a/tmk_core/protocol/report.h b/tmk_core/protocol/report.h
index d854f51d5c..9053b0bb3f 100644
--- a/tmk_core/protocol/report.h
+++ b/tmk_core/protocol/report.h
@@ -194,14 +194,22 @@ typedef struct {
} PACKED report_programmable_button_t;
#ifdef MOUSE_EXTENDED_REPORT
+# define MOUSE_REPORT_XY_MIN INT16_MIN
+# define MOUSE_REPORT_XY_MAX INT16_MAX
typedef int16_t mouse_xy_report_t;
#else
+# define MOUSE_REPORT_XY_MIN INT8_MIN
+# define MOUSE_REPORT_XY_MAX INT8_MAX
typedef int8_t mouse_xy_report_t;
#endif
#ifdef WHEEL_EXTENDED_REPORT
+# define MOUSE_REPORT_HV_MIN INT16_MIN
+# define MOUSE_REPORT_HV_MAX INT16_MAX
typedef int16_t mouse_hv_report_t;
#else
+# define MOUSE_REPORT_HV_MIN INT8_MIN
+# define MOUSE_REPORT_HV_MAX INT8_MAX
typedef int8_t mouse_hv_report_t;
#endif
diff --git a/tmk_core/protocol/usb_descriptor.c b/tmk_core/protocol/usb_descriptor.c
index c7fb660b65..ceab9eef9a 100644
--- a/tmk_core/protocol/usb_descriptor.c
+++ b/tmk_core/protocol/usb_descriptor.c
@@ -165,6 +165,24 @@ const USB_Descriptor_HIDReport_Datatype_t PROGMEM SharedReport[] = {
# endif
HID_RI_INPUT(8, HID_IOF_DATA | HID_IOF_VARIABLE | HID_IOF_RELATIVE),
+# ifdef POINTING_DEVICE_HIRES_SCROLL_ENABLE
+ HID_RI_COLLECTION(8, 0x02),
+ // Feature report and padding (1 byte)
+ HID_RI_USAGE(8, 0x48), // Resolution Multiplier
+ HID_RI_REPORT_COUNT(8, 0x01),
+ HID_RI_REPORT_SIZE(8, 0x02),
+ HID_RI_LOGICAL_MINIMUM(8, 0x00),
+ HID_RI_LOGICAL_MAXIMUM(8, 0x01),
+ HID_RI_PHYSICAL_MINIMUM(8, 1),
+ HID_RI_PHYSICAL_MAXIMUM(8, POINTING_DEVICE_HIRES_SCROLL_MULTIPLIER),
+ HID_RI_UNIT_EXPONENT(8, POINTING_DEVICE_HIRES_SCROLL_EXPONENT),
+ HID_RI_FEATURE(8, HID_IOF_DATA | HID_IOF_VARIABLE | HID_IOF_ABSOLUTE),
+ HID_RI_PHYSICAL_MINIMUM(8, 0x00),
+ HID_RI_PHYSICAL_MAXIMUM(8, 0x00),
+ HID_RI_REPORT_SIZE(8, 0x06),
+ HID_RI_FEATURE(8, HID_IOF_CONSTANT),
+# endif
+
// Vertical wheel (1 or 2 bytes)
HID_RI_USAGE(8, 0x38), // Wheel
# ifndef WHEEL_EXTENDED_REPORT
@@ -179,6 +197,7 @@ const USB_Descriptor_HIDReport_Datatype_t PROGMEM SharedReport[] = {
HID_RI_REPORT_SIZE(8, 0x10),
# endif
HID_RI_INPUT(8, HID_IOF_DATA | HID_IOF_VARIABLE | HID_IOF_RELATIVE),
+
// Horizontal wheel (1 or 2 bytes)
HID_RI_USAGE_PAGE(8, 0x0C),// Consumer
HID_RI_USAGE(16, 0x0238), // AC Pan
@@ -194,6 +213,11 @@ const USB_Descriptor_HIDReport_Datatype_t PROGMEM SharedReport[] = {
HID_RI_REPORT_SIZE(8, 0x10),
# endif
HID_RI_INPUT(8, HID_IOF_DATA | HID_IOF_VARIABLE | HID_IOF_RELATIVE),
+
+# ifdef POINTING_DEVICE_HIRES_SCROLL_ENABLE
+ HID_RI_END_COLLECTION(0),
+# endif
+
HID_RI_END_COLLECTION(0),
HID_RI_END_COLLECTION(0),
# ifndef MOUSE_SHARED_EP
diff --git a/tmk_core/protocol/usb_descriptor_common.h b/tmk_core/protocol/usb_descriptor_common.h
index 909c230a99..f782d83fbc 100644
--- a/tmk_core/protocol/usb_descriptor_common.h
+++ b/tmk_core/protocol/usb_descriptor_common.h
@@ -32,3 +32,23 @@
#ifndef RAW_USAGE_ID
# define RAW_USAGE_ID 0x61
#endif
+
+/////////////////////
+// Hires Scroll Defaults
+
+#ifdef POINTING_DEVICE_HIRES_SCROLL_ENABLE
+# ifdef POINTING_DEVICE_HIRES_SCROLL_MULTIPLIER
+# if POINTING_DEVICE_HIRES_SCROLL_MULTIPLIER > 127 || POINTING_DEVICE_HIRES_SCROLL_MULTIPLIER < 1
+# error "POINTING_DEVICE_HIRES_SCROLL_MULTIPLIER must be between 1 and 127, inclusive!"
+# endif
+# else
+# define POINTING_DEVICE_HIRES_SCROLL_MULTIPLIER 120
+# endif
+# ifdef POINTING_DEVICE_HIRES_SCROLL_EXPONENT
+# if POINTING_DEVICE_HIRES_SCROLL_EXPONENT > 127 || POINTING_DEVICE_HIRES_SCROLL_EXPONENT < 0
+# error "POINTING_DEVICE_HIRES_SCROLL_EXPONENT must be between 0 and 127, inclusive!"
+# endif
+# else
+# define POINTING_DEVICE_HIRES_SCROLL_EXPONENT 0
+# endif
+#endif \ No newline at end of file
diff --git a/tmk_core/protocol/vusb/vusb.c b/tmk_core/protocol/vusb/vusb.c
index fdbfcc17dc..56cf82e5a6 100644
--- a/tmk_core/protocol/vusb/vusb.c
+++ b/tmk_core/protocol/vusb/vusb.c
@@ -520,6 +520,24 @@ const PROGMEM uchar shared_hid_report[] = {
# endif
0x81, 0x06, // Input (Data, Variable, Relative)
+# ifdef POINTING_DEVICE_HIRES_SCROLL_ENABLE
+ // Feature report and padding (1 byte)
+ 0xA1, 0x02, // Collection (Logical)
+ 0x09, 0x48, // Usage (Resolution Multiplier)
+ 0x95, 0x01, // Report Count (1)
+ 0x75, 0x02, // Report Size (2)
+ 0x15, 0x00, // Logical Minimum (0)
+ 0x25, 0x01, // Logical Maximum (1)
+ 0x35, 0x01, // Physical Minimum (1)
+ 0x45, POINTING_DEVICE_HIRES_SCROLL_MULTIPLIER, // Physical Maximum (POINTING_DEVICE_HIRES_SCROLL_MULTIPLIER)
+ 0x55, POINTING_DEVICE_HIRES_SCROLL_EXPONENT, // Unit Exponent (POINTING_DEVICE_HIRES_SCROLL_EXPONENT)
+ 0xB1, 0x02, // Feature (Data, Variable, Absolute)
+ 0x35, 0x00, // Physical Minimum (0)
+ 0x45, 0x00, // Physical Maximum (0)
+ 0x75, 0x06, // Report Size (6)
+ 0xB1, 0x03, // Feature (Constant)
+# endif
+
// Vertical wheel (1 or 2 bytes)
0x09, 0x38, // Usage (Wheel)
# ifndef WHEEL_EXTENDED_REPORT
@@ -534,6 +552,7 @@ const PROGMEM uchar shared_hid_report[] = {
0x75, 0x10, // Report Size (16)
# endif
0x81, 0x06, // Input (Data, Variable, Relative)
+
// Horizontal wheel (1 or 2 bytes)
0x05, 0x0C, // Usage Page (Consumer)
0x0A, 0x38, 0x02, // Usage (AC Pan)
@@ -549,8 +568,13 @@ const PROGMEM uchar shared_hid_report[] = {
0x75, 0x10, // Report Size (16)
# endif
0x81, 0x06, // Input (Data, Variable, Relative)
- 0xC0, // End Collection
- 0xC0, // End Collection
+
+# ifdef POINTING_DEVICE_HIRES_SCROLL_ENABLE
+ 0xC0, // End Collection
+# endif
+
+ 0xC0, // End Collection
+ 0xC0, // End Collection
#endif
#ifdef EXTRAKEY_ENABLE
diff --git a/users/_example/_example.c b/users/_example/_example.c
index 8e0778b122..5f9580d8e9 100644
--- a/users/_example/_example.c
+++ b/users/_example/_example.c
@@ -2,4 +2,4 @@
void my_custom_function(void) {
-} \ No newline at end of file
+}
diff --git a/users/_example/_example.h b/users/_example/_example.h
index f7c7990257..72907d06d7 100644
--- a/users/_example/_example.h
+++ b/users/_example/_example.h
@@ -5,4 +5,4 @@
void my_custom_function(void);
-#endif \ No newline at end of file
+#endif
diff --git a/users/_example/readme.md b/users/_example/readme.md
index fdea33b67a..d6ead7efd2 100644
--- a/users/_example/readme.md
+++ b/users/_example/readme.md
@@ -11,4 +11,4 @@ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>. \ No newline at end of file
+along with this program. If not, see <http://www.gnu.org/licenses/>.
diff --git a/users/_example/rules.mk b/users/_example/rules.mk
index 250adc3d0d..af076dd7fe 100644
--- a/users/_example/rules.mk
+++ b/users/_example/rules.mk
@@ -1 +1 @@
-SRC += _example.c \ No newline at end of file
+SRC += _example.c
diff --git a/users/readme.md b/users/readme.md
index d8f14d8beb..8a490c28ce 100644
--- a/users/readme.md
+++ b/users/readme.md
@@ -1,3 +1,3 @@
# User space
-This is a place for users to put code that they might use between keyboards. If you build the keymap `mine`, `/users/mine/rules.mk` will be included in your build, and `/users/mine/` will be in your path - keep these things in mind when naming your files and referencing them from other places. \ No newline at end of file
+This is a place for users to put code that they might use between keyboards. If you build the keymap `mine`, `/users/mine/rules.mk` will be included in your build, and `/users/mine/` will be in your path - keep these things in mind when naming your files and referencing them from other places.
diff --git a/util/regen.sh b/util/regen.sh
index ab03018893..df40444f80 100755
--- a/util/regen.sh
+++ b/util/regen.sh
@@ -3,7 +3,6 @@ set -e
qmk generate-rgb-breathe-table -o quantum/rgblight/rgblight_breathe_table.h
qmk generate-keycodes --version latest -o quantum/keycodes.h
-qmk generate-keycodes-tests --version latest -o tests/test_common/keycode_table.cpp
for lang in $(find data/constants/keycodes/extras/ -type f -exec basename '{}' \; | sed "s/keycodes_\(.*\)_[0-9].*/\1/"); do
qmk generate-keycode-extras --version latest --lang $lang -o quantum/keymap_extras/keymap_$lang.h
diff --git a/util/usb_detach/usb_detach.c b/util/usb_detach/usb_detach.c
index 786ab5e674..8047c37ba3 100644
--- a/util/usb_detach/usb_detach.c
+++ b/util/usb_detach/usb_detach.c
@@ -31,4 +31,4 @@ int main(int argc, char**argv)
printf ("usage: %s /dev/bus/usb/BUS/DEVICE\n",argv[0]);
printf("Release all interfaces of this usb device for usage in virtualisation\n");
}
-} \ No newline at end of file
+}