* Clean up `DEBOUNCE` in config.h, 0-9
* Clean up `DEBOUNCE` in config.h, A
* Clean up `DEBOUNCE` in config.h, B
* Clean up `DEBOUNCE` in config.h, C
* Clean up `DEBOUNCE` in config.h, D
* Clean up `DEBOUNCE` in config.h, E
* Clean up `DEBOUNCE` in config.h, F
* Clean up `DEBOUNCE` in config.h, G
* Clean up `DEBOUNCE` in config.h, H
* Clean up `DEBOUNCE` in config.h, handwired
* Clean up `DEBOUNCE` in config.h, I
* Clean up `DEBOUNCE` in config.h, J
* Clean up `DEBOUNCE` in config.h, K
* Clean up `DEBOUNCE` in config.h, L
* Clean up `DEBOUNCE` in config.h, M
* Clean up `DEBOUNCE` in config.h, N
* Clean up `DEBOUNCE` in config.h, O
* Clean up `DEBOUNCE` in config.h, P
* Clean up `DEBOUNCE` in config.h, Q
* Clean up `DEBOUNCE` in config.h, R
* Clean up `DEBOUNCE` in config.h, S
* Clean up `DEBOUNCE` in config.h, T
* Clean up `DEBOUNCE` in config.h, U
* Clean up `DEBOUNCE` in config.h, V
* Clean up `DEBOUNCE` in config.h, W
* Clean up `DEBOUNCE` in config.h, X
* Clean up `DEBOUNCE` in config.h, Y
* Clean up `DEBOUNCE` in config.h, Z
* Remove default debounce from info.json
* Migrate non-default debounce to info.json
* Migrate `LAYOUTS` to data driven, 0-9
* Migrate `LAYOUTS` to data driven, A
* Migrate `LAYOUTS` to data driven, B
* Migrate `LAYOUTS` to data driven, C
* Migrate `LAYOUTS` to data driven, D
* Migrate `LAYOUTS` to data driven, E
* Migrate `LAYOUTS` to data driven, F
* Migrate `LAYOUTS` to data driven, G
* Migrate `LAYOUTS` to data driven, H
* Migrate `LAYOUTS` to data driven, handwired
* Migrate `LAYOUTS` to data driven, I
* Migrate `LAYOUTS` to data driven, J
* Migrate `LAYOUTS` to data driven, K
* Migrate `LAYOUTS` to data driven, L
* Migrate `LAYOUTS` to data driven, M
* Migrate `LAYOUTS` to data driven, N
* Migrate `LAYOUTS` to data driven, O
* Migrate `LAYOUTS` to data driven, P
* Migrate `LAYOUTS` to data driven, Q
* Migrate `LAYOUTS` to data driven, R
* Migrate `LAYOUTS` to data driven, S
* Migrate `LAYOUTS` to data driven, T
* Migrate `LAYOUTS` to data driven, U
* Migrate `LAYOUTS` to data driven, V
* Migrate `LAYOUTS` to data driven, W
* Migrate `LAYOUTS` to data driven, X
* Migrate `LAYOUTS` to data driven, Y
* Migrate `LAYOUTS` to data driven, Z
* Add correct hand_swap_config matrix for planck_rev6 and planck_rev6_drop
* Make sure indentations are consistent
* Make the rev6 hand_swap_config matrix the default, also correct for ez.
* Move hand_swap_config matrix from planck.c to revision subdirectories
* disambiguate Bootmagic rules in keymaps
The files edited by this commit were added at a point in time where `BOOTMAGIC_ENABLE = yes` enabled full Bootmagic.
This commit edits the files to specify that full Bootmagic is intended.
* remove BOOTMAGIC_ENABLE=full setting
* unify commented BOOTMAGIC_ENABLE rules in keyboards
Explicitly sets `BOOTMAGIC_ENABLE = no` in keyboards where the rule was commented out.
Command:
```
find keyboards/ -type f -name 'rules.mk' -and -not -path '*/keymaps/*' -exec sed -i -e 's;#[ \t]*\(BOOTMAGIC_ENABLE\)[ \t=]\+\([a-zA-Z]\+\).*;\1 = no # Virtual DIP switch configuration;g' {} +
```
* remove commented Bootmagic rules from keymap/user level
Command:
```
find keyboards/ layouts/ users/ -type f -name 'rules.mk' -exec sed -i -e '/#.*\(BOOTMAGIC_ENABLE\)[ \t=]\+\([a-z]\+\).*/d' {} +
```
* update keyboard BOOTMAGIC_ENABLE rule formatting
Sets the formatting of BOOTMAGIC_ENABLE rules to `BOOTMAGIC_ENABLE = [value]`, without the inline comments (which will be replaced later).
Command:
```
find keyboards/ -type f -name 'rules.mk' -and -not -path '*/keymaps/*' -exec sed -i -e 's;\(BOOTMAGIC_ENABLE\)[ \t=]\+\([a-z]\+\).*;\1 = \2;g' '{}' +
```
* update keyboards' BOOTMAGIC_ENABLE settings
Updates keyboard `rules.mk` files to use `BOOTMAGIC_ENABLE = lite` where `BOOTMAGIC_ENABLE = full` was being used.
Command:
```
find keyboards/ -type f -name 'rules.mk' -and -not -path '*/keymaps/*' -exec sed -i -e 's;\(BOOTMAGIC_ENABLE = \)full;\1lite;g' '{}' +
```
* update keymap/user BOOTMAGIC_ENABLE settings
Updates keymap/user `rules.mk` files to use `BOOTMAGIC_ENABLE = lite` where `BOOTMAGIC_ENABLE = full` was being used.
Commands:
```
find keyboards/ -type f -name 'rules.mk' -and -path '*/keymaps/*' -exec sed -i -e 's;\(BOOTMAGIC_ENABLE[ \t=]\+\)full;\1lite;g' '{}' +
find layouts/community/ users/ -type f -name 'rules.mk' -exec sed -i -e 's;\(BOOTMAGIC_ENABLE[ \t=]\+\)full;\1lite;g' '{}' +
```
* remove and replace inline comments in keyboards and keymap/user files
Removes and replaces the inline comments, which have been updated to read `Enable Bootmagic Lite`.
Commands:
```
find keyboards/ -type f -name 'rules.mk' -and -path '*/keymaps/*' -exec sed -i -e 's;\(BOOTMAGIC_ENABLE\)[ \t=]\+\([a-z]\+\).*;\1 = \2;g' '{}' +
find layouts/community/ users/ -type f -name 'rules.mk' -exec sed -i -e 's;\(BOOTMAGIC_ENABLE\)[ \t=]\+\([a-z]\+\).*;\1 = \2;g' '{}' +
find keyboards/ layouts/community/ users/ -type f -name 'rules.mk' -exec sed -i -e 's;\(BOOTMAGIC_ENABLE = lite\);\1 # Enable Bootmagic Lite;g' '{}' +
find keyboards/ layouts/community/ users/ -type f -name 'rules.mk' -exec sed -i -e 's;\(BOOTMAGIC_ENABLE = yes\);\1 # Enable Bootmagic Lite;g' '{}' +
find keyboards/ layouts/community/ users/ -type f -name 'rules.mk' -exec sed -i -e 's;\(BOOTMAGIC_ENABLE = no\);\1 # Enable Bootmagic Lite;g' '{}' +
```
* rename improperly named makefiles
Some files intended to be used as makefiles had improper names causing them to not be used as intended when building.
This commit corrects the filenames of the affected files.
* update renamed file with new rule formatting
* update QMK's template files
Updates QMK's `rules.mk` templates to use the new inline comment.
* update QMK Docs
- remove documentation of full Bootmagic
- update links to Bootmagic Lite doc
- add doc for Magic Keycodes
* rules.mk patch for coarse/ixora and coarse/vinta
* error log cleanup: 40percentclub/25
40percentclub/25: Claims to support a community layout that does not exist: ortho_5x5
* error log cleanup: 40percentclub/4x4
☒ 40percentclub/4x4: Claims to support a community layout that does not exist: ortho_4x8
☒ 40percentclub/4x4: Claims to support a community layout that does not exist: ortho_4x16
* error log cleanup: 40percentclub/5x5
☒ 40percentclub/5x5: Claims to support a community layout that does not exist: ortho_5x5
* error log cleanup: 40percentclub/nori
☒ 40percentclub/nori: Claims to support a community layout that does not exist: ortho_4x8
* error log cleanup: barracuda
☒ barracuda: Claims to support a community layout that does not exist: ortho_3x11
* error log cleanup: bpiphany/frosty_flake
☒ keyboards/bpiphany/frosty_flake/frosty_flake.h: LAYOUT_tkl_ansi: Nested layout macro detected. Matrix data not available!
* error log cleanup: bpiphany/pegasushoof/2013
☒ keyboards/bpiphany/pegasushoof/2013/2013.h: LAYOUT_tkl_ansi: Nested layout macro detected. Matrix data not available!
* error cleanup: bpiphany/pegasushoof/2015
☒ keyboards/bpiphany/pegasushoof/2015/2015.h: LAYOUT_tkl_ansi: Nested layout macro detected. Matrix data not available!
☒ keyboards/bpiphany/pegasushoof/2015/2015.h: LAYOUT_tkl_iso: Nested layout macro detected. Matrix data not available!
* error log cleanup: 40percentclub
☒ 40percentclub/25: Claims to support a community layout that does not exist: ortho_5x10
☒ 40percentclub/5x5: Claims to support a community layout that does not exist: ortho_5x10
* error cleanup: converter/usb_usb
☒ keyboards/converter/usb_usb/usb_usb.h: LAYOUT_ansi: Nested layout macro detected. Matrix data not available!
☒ keyboards/converter/usb_usb/usb_usb.h: LAYOUT_iso: Nested layout macro detected. Matrix data not available!
☒ keyboards/converter/usb_usb/usb_usb.h: LAYOUT_jis: Nested layout macro detected. Matrix data not available!
☒ keyboards/converter/usb_usb/usb_usb.h: LAYOUT_ansi: Nested layout macro detected. Matrix data not available!
☒ keyboards/converter/usb_usb/usb_usb.h: LAYOUT_iso: Nested layout macro detected. Matrix data not available!
☒ keyboards/converter/usb_usb/usb_usb.h: LAYOUT_jis: Nested layout macro detected. Matrix data not available!
☒ keyboards/converter/usb_usb/usb_usb.h: LAYOUT_ansi: Nested layout macro detected. Matrix data not available!
☒ keyboards/converter/usb_usb/usb_usb.h: LAYOUT_iso: Nested layout macro detected. Matrix data not available!
☒ keyboards/converter/usb_usb/usb_usb.h: LAYOUT_jis: Nested layout macro detected. Matrix data not available!
* error cleanup: ergo42
☒ ergo42/rev1: Claims to support a community layout that does not exist: ortho_4x14
* error cleanup: handwired/412_64
☒ handwired/412_64: Claims to support a community layout that does not exist: ortho_4x16
* error log cleanup: handwired/tritium_numpad
☒ handwired/tritium_numpad: Claims to support a community layout that does not exist: nontra_6x4
* error log cleanup: handwired/xealous/rev1
☒ handwired/xealous/rev1: Claims to support a community layout that does not exist: split60
* error log cleanup: kbdfans/kbd67/rev2
⚠ kbdfans/kbd67/rev2: info.json uses alias name LAYOUT_65_ansi_blocker_splitbs instead of LAYOUT_65_ansi_blocker_split_bs
* error cleanup: keebio/nyquist
☒ keyboards/keebio/nyquist/nyquist.h: LAYOUT_ortho_4x12: Nested layout macro detected. Matrix data not available!
☒ keyboards/keebio/nyquist/nyquist.h: LAYOUT_ortho_4x12: Nested layout macro detected. Matrix data not available!
☒ keyboards/keebio/nyquist/nyquist.h: LAYOUT_ortho_4x12: Nested layout macro detected. Matrix data not available!
* error cleanup: kindakeyboards/conone65
☒ kindakeyboards/conone65: Claims to support a community layout that does not exist: 65_iso_split_bs
* error cleanup: latinpadble
☒ latinpadble: Claims to support a community layout that does not exist: pad
* error cleanup: masterworks/classy_tkl/rev_a
☒ masterworks/classy_tkl/rev_a: Claims to support a community layout that does not exist: tkl_ansi_wkl
* error cleanup: meira
⚠ meira/featherble: info.json uses alias name LAYOUT_ortho_4x12 instead of LAYOUT
⚠ meira/promicro: info.json uses alias name LAYOUT_ortho_4x12 instead of LAYOUT
* error cleanup: nopunin10did/jabberwocky
⚠ nopunin10did/jabberwocky: MANUFACTURER in config.h is overwriting manufacturer in info.json
* error cleanup: ok60
☒ ok60: Claims to support a community layout that does not exist: 60_ansi_split_bksp_rshift
* error cleanup: ok60
☒ ok60: Claims to support a community layout that does not exist: 60_ansi_split_bksp_rshift
* error cleanup: planck
☒ keyboards/planck/ez/ez.h: LAYOUT_ortho_4x12: Nested layout macro detected. Matrix data not available!
☒ keyboards/planck/ez/ez.h: LAYOUT_ortho_4x12: Nested layout macro detected. Matrix data not available!
⚠ planck/thk: DEBOUNCE in config.h is overwriting debounce in info.json
⚠ planck/thk: DEVICE_VER in config.h is overwriting usb.device_ver in info.json
⚠ planck/thk: DIODE_DIRECTION in config.h is overwriting diode_direction in info.json
⚠ planck/thk: MANUFACTURER in config.h is overwriting manufacturer in info.json
⚠ planck/thk: PRODUCT_ID in config.h is overwriting usb.pid in info.json
⚠ planck/thk: VENDOR_ID in config.h is overwriting usb.vid in info.json
⚠ planck/thk: QMK_ESC_OUTPUT in config.h is overwriting qmk_lufa_bootloader.esc_output in info.json
⚠ planck/thk: QMK_ESC_INPUT in config.h is overwriting qmk_lufa_bootloader.esc_input in info.json
⚠ planck/thk: QMK_LED in config.h is overwriting qmk_lufa_bootloader.led in info.json
⚠ planck/thk: QMK_SPEAKER in config.h is overwriting qmk_lufa_bootloader.speaker in info.json
⚠ planck/thk: Matrix pins are specified in both info.json and config.h, the config.h values win.
⚠ planck/thk: LAYOUTS in rules.mk is overwriting community_layouts in info.json
⚠ planck/thk: Feature mousekey is specified in both info.json and rules.mk, the rules.mk value wins.
⚠ planck/thk: Feature extrakey is specified in both info.json and rules.mk, the rules.mk value wins.
⚠ planck/thk: Feature console is specified in both info.json and rules.mk, the rules.mk value wins.
⚠ planck/thk: Feature command is specified in both info.json and rules.mk, the rules.mk value wins.
⚠ planck/thk: Feature sleep_led is specified in both info.json and rules.mk, the rules.mk value wins.
⚠ planck/thk: Feature nkro is specified in both info.json and rules.mk, the rules.mk value wins.
⚠ planck/thk: Feature backlight is specified in both info.json and rules.mk, the rules.mk value wins.
⚠ planck/thk: Feature rgblight is specified in both info.json and rules.mk, the rules.mk value wins.
⚠ planck/thk: Feature bluetooth is specified in both info.json and rules.mk, the rules.mk value wins.
⚠ planck/thk: Feature audio is specified in both info.json and rules.mk, the rules.mk value wins.
⚠ planck/thk: Feature encoder is specified in both info.json and rules.mk, the rules.mk value wins.
⚠ planck/thk: Feature dip_switch is specified in both info.json and rules.mk, the rules.mk value wins.
⚠ planck/thk: Feature bootmagic_lite is specified in both info.json and rules.mk, the rules.mk value wins.
* error cleanup: primekb/prime_m
☒ primekb/prime_m: Claims to support a community layout that does not exist: ortho_5x6
* error cleanup: rgbkb/sol/rev2
⚠ rgbkb/sol/rev2: RGBLED_NUM->rgblight.led_count: invalid literal for int() with base 10: '(BACKLIGHT_LEDS + FULLHAND_LEDS)'
* error log cleanup: shk9
☒ shk9: Claims to support a community layout that does not exist: ortho_3x3
* error log cleanup: sowbug
⚠ sowbug/68keys: RGBLED_NUM->rgblight.led_count: invalid literal for int() with base 10: 'DRIVER_LED_TOTAL'
⚠ sowbug/ansi_tkl: RGBLED_NUM->rgblight.led_count: invalid literal for int() with base 10: '(DRIVER_LED_TOTAL)'
* error log cleanup: torn
☒ torn: Claims to support a community layout that does not exist: split_3x6_4
* error cleanup: ymdk/np24/u4rgb6
☒ ymdk/np24/u4rgb6: Claims to support a community layout that does not exist: ortho_4x6
* error cleanup: masterworks/classy_tkl/rev_a
☒ masterworks/classy_tkl/rev_a: Claims to support a community layout that does not exist: tkl_iso_wkl
* Set bootloader to stm32-dfu for STM32F303
* Set bootloader to stm32-dfu for STM32F0x2
* Set bootloader to stm32-dfu for STM32F4x1
* Set bootloader to stm32duino for sowbug
* Delete redundant bootloader_defs headers
* Add some missing MCU name comments
* Move APM32 dfu-suffix overrides underneath bootloader
* Remove redundant STM32_BOOTLOADER_ADDRESS defines/rules