summaryrefslogtreecommitdiffstats
path: root/keyboards/40percentclub/6lit
Commit message (Collapse)AuthorAgeFilesLines
* Move `SOFT_SERIAL_PIN` to data driven (#19863)Ryan2023-02-172-4/+3
|
* Remove matrix size defines (#19581)Ryan2023-02-171-5/+0
|
* Remove unused RGBLight defines from config.h (#19859)Ryan2023-02-171-8/+0
|
* Migrate `MCU` and `BOOTLOADER` to data-driven (#19529)Ryan2023-02-082-6/+2
|
* Remove unused `GRAVE_ESC_CTRL_OVERRIDE` from config.h (#19752)Ryan2023-02-061-5/+0
|
* Debounce defines cleanup (#19742)Ryan2023-02-031-3/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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
* Remove unused `MATRIX_HAS_GHOST` from config.h (#19726)Ryan2023-02-031-3/+0
|
* Clean up Force NKRO in config.h (#19718)Ryan2023-01-301-21/+0
|
* Remove usages of config_common.h from config.h files. (#19714)Nick Brassel2023-01-311-1/+0
|
* Remove commented out backlight config & stray "backlight levels" (#19703)Ryan2023-01-281-6/+0
|
* Migrate `LAYOUTS` to data driven (#19541)Ryan2023-01-102-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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
* Remove RGBLIGHT_ANIMTION and clean up effect defines for 0-F (#18725)Drashna Jaelre2022-10-151-1/+0
|
* Remove legacy USE_SERIAL define (#18292)Dasky2022-09-061-2/+0
| | | | | * Remove legacy USE_SERIAL define * tidy up missed comments
* Remove `UNUSED_PINS` (#17931)Nick Brassel2022-08-061-1/+0
|
* Remove `NO_ACTION_MACRO` and `NO_ACTION_FUNCTION` from keyboard config.h ↵Ryan2022-03-151-2/+0
| | | | (#16655)
* Move keyboard USB IDs and strings to data driven: 0-9 (#16481)Ryan2022-03-132-8/+7
|
* CLI: Parse USB device version BCD (#14580)Ryan2022-01-171-3/+3
| | | | | * CLI: Parse USB device version BCD * Apply suggestions
* [Keyboard] Add 4x4 and 5x5 40percentclub boards + Unique VIDs (#15465)devilzmods2021-12-211-1/+1
| | | Co-authored-by: Ryan <fauxpark@gmail.com>
* Remove unnecessary backslash-escapes in default keymaps (#15472)Ryan2021-12-142-4/+4
| | | | | | | * Remove unnecessary backslash-escapes in default keymaps * Remove unnecessary backslash-escapes in via keymaps * Remove unnecessary backslash-escapes in default-ish keymaps
* Tidy up NKRO_ENABLE rules (#15382)Ryan2021-12-091-2/+1
|
* Remove empty config.h from default-ish keymaps (#15429)Ryan2021-12-092-38/+0
|
* Tidy up `SLEEP_LED_ENABLE` rules (#15362)Ryan2021-12-011-2/+0
|
* Remove `BOOTMAGIC_ENABLE = lite` option (#15002)James Young2021-11-051-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * remove BOOTMAGIC_ENABLE=lite setting * change keyboard BOOTMAGIC_ENABLE rules Edits keyboard-level instances of `BOOTMAGIC_ENABLE = lite` to `BOOTMAGIC_ENABLE = yes`. * change keyboard BOOTMAGIC_ENABLE inline comments Edits keyboard-level BOOTMAGIC_ENABLE inline comments to "Enable Bootmagic Lite". * change keymap BOOTMAGIC_ENABLE rules Edits keymap-level instances of `BOOTMAGIC_ENABLE = lite` to `BOOTMAGIC_ENABLE = yes`. * change keymap BOOTMAGIC_ENABLE inline comments Edits/adds keymap-level BOOTMAGIC_ENABLE inline comments to read "Enable Bootmagic Lite". * change layout/user BOOTMAGIC_ENABLE rules/comments Edits instances of `BOOTMAGIC_ENABLE = lite` to `BOOTMAGIC_ENABLE = yes`. Edits/adds keymap-level BOOTMAGIC_ENABLE inline comments to read "Enable Bootmagic Lite". * update non-rules.mk BOOTMAGIC_ENABLE references in keyboards/ * remove docs references to Full Bootmagic * convert data-driven Bootmagic Lite instances * remove Bootmagic Lite bodge from data-driven generation * Merge remote-tracking branch 'upstream/develop' into rm/bootmagic-full_q4a * update docs/ja/config_options.md per mtei * update docs/faq_misc.md per mtei Remove remaining Full Bootmagic reference.
* Remove redundant `UNICODE_ENABLE = no` in keyboard-level rules.mk (#14633)Ryan2021-09-301-1/+0
|
* Remove unused `IS_COMMAND()` instances and Magic Key definitions (#14610)James Young2021-09-261-48/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Remove unused IS_COMMAND() instances from keyboard-level config.h, 0-9 * Remove unused IS_COMMAND() instances from keyboard-level config.h, A-B * Remove unused IS_COMMAND() instances from keyboard-level config.h, C-D * Remove unused IS_COMMAND() instances from keyboard-level config.h, E-G * Remove unused IS_COMMAND() instances from keyboard-level config.h, handwired * Remove unused IS_COMMAND() instances from keyboard-level config.h, H-M * Remove unused IS_COMMAND() instances from keyboard-level config.h, N-R * Remove unused IS_COMMAND() instances from keyboard-level config.h, S-Z * Remove unused Magic Key definitions from keyboard-level config.h, 0-9 * Remove unused Magic Key definitions from keyboard-level config.h, A * Remove unused Magic Key definitions from keyboard-level config.h, B * Remove unused Magic Key definitions from keyboard-level config.h, C * Remove unused Magic Key definitions from keyboard-level config.h, D-E * Remove unused Magic Key definitions from keyboard-level config.h, F-H * Remove unused Magic Key definitions from keyboard-level config.h, handwired * Remove unused Magic Key definitions from keyboard-level config.h, I-K * Remove unused Magic Key definitions from keyboard-level config.h, L-M * Remove unused Magic Key definitions from keyboard-level config.h, N-R * Remove unused Magic Key definitions from keyboard-level config.h, S-V * Remove unused Magic Key definitions from keyboard-level config.h, W-Z * Merge remote-tracking branch 'upstream/master' into clean/command_and_magic * Remove remaining unused IS_COMMAND() instances from keyboard-level config.h
* Remove audio pin references in rules.mk (#14532)Ryan2021-09-211-1/+1
|
* Remove backlight pin references in rules.mk (#14513)Ryan2021-09-201-1/+1
|
* Remove BLUETOOTH_ENABLE from keyboard-level rules.mk (#14379)Ryan2021-09-121-1/+0
|
* Remove width, height and key_count from info.json (#14274)Ryan2021-09-121-4/+0
|
* Remove bootloader listings from rules.mk (#14330)Ryan2021-09-101-7/+0
|
* Remove empty override functions (#14312)Ryan2021-09-053-59/+0
| | | | | | | | | | | | | | | | | * Remove empty override functions, 0-9 * Remove empty override functions, A-D * Remove empty override functions, E-H * Remove empty override functions, handwired * Remove empty override functions, I-L * Remove empty override functions, M-P * Remove empty override functions, Q-T * Remove empty override functions, U-Z
* Remove MIDI Configuration boilerplate (#11151)James Young2021-08-162-21/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * remove keyboard-level instances of `MIDI_ENABLE = no` Command: ``` find keyboards/ -type f -name 'rules.mk' -and -not -path '*/keymaps/*' -exec sed -i -e '/^[ #]*MIDI_ENABLE[ \t]*=[ \t]*no/d' {} + ``` Co-Authored-By: Nick Brassel <nick@tzarc.org> * fix case-sensitivity issues on MIDI_ENABLE Change instances of `MIDI_ENABLE = YES` to `MIDI_ENABLE = yes`. Command: ``` find keyboards/ -type f -name 'rules.mk' -and -not -path '*/keymaps/*' -exec sed -i -e 's;MIDI_ENABLE[ \t]*=[ \t]*[Yy][Ee][Ss];MIDI_ENABLE = yes;g' {} + ``` * replace `# MIDI controls` with `# MIDI support` Replace `# MIDI controls` with `# MIDI support` in keyboard-level `rules.mk` files. Command: ``` find keyboards/ -type f -name 'rules.mk' -and -not -path '*/keymaps/*' -exec sed -i -e 's;#[ \t]*MIDI[ \t]*\(controls\|support\).*;# MIDI support;g' {} + ``` * align inline comments Aligns the inline comments to the length used by the QMK AVR rules.mk template. Command: ``` find keyboards/ -type f -name 'rules.mk' -and -not -path '*/keymaps/*' -exec sed -i -e 's;MIDI_ENABLE *= *yes.*;MIDI_ENABLE = yes # MIDI support;g' {} + ``` * remove commented instances of `MIDI_ENABLE` from keyboard `rules.mk` files Commands: ``` find keyboards/ -type f -name 'rules.mk' -and -not -path '*/keymaps/*' -exec sed -i -e 's;#\([ \t]*MIDI_ENABLE\) = yes; \1 = no ;' {} + find keyboards/ -type f -name 'rules.mk' -and -not -path '*/keymaps/*' -exec sed -i -e 's;^\([ \t]*\)\(MIDI_ENABLE = no\);\2\1;' {} + find keyboards/ -type f -name 'rules.mk' -and -not -path '*/keymaps/*' -exec sed -i -e '/^[ #]\+MIDI_ENABLE *= *no/d' {} + ``` * remove MIDI configuration boilerplate from keyboard config.h files Co-authored-by: Nick Brassel <nick@tzarc.org>
* Remove Full Bootmagic (#13846)James Young2021-08-061-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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
* Six Pack and ortho_ layout updates (#13587)Suschman2021-07-191-0/+2
| | | | Co-authored-by: Ryan <fauxpark@gmail.com> Co-authored-by: Suschman <suschman@gmail.com>
* 2021 May 29 Breaking Changes Update (#13034)James Young2021-05-292-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Add Per Key functionality for AutoShift (#11536) * LED Matrix: Reactive effect buffers & advanced indicators (#12588) * [Keyboard] kint36: switch to sym_eager_pk debouncing (#12626) * [Keyboard] kint2pp: reduce input latency by ≈10ms (#12625) * LED Matrix: Split (#12633) * [CI] Format code according to conventions (#12650) * feat: infinite timeout for leader key (#6580) * feat: implement leader_no_timeout logic * docs(leader_key): infinite leader timeout docs * Format code according to conventions (#12680) * Update ADC driver for STM32F1xx, STM32F3xx, STM32F4xx (#12403) * Fix default ADC_RESOLUTION for ADCv3 (and ADCv4) Recent ChibiOS update removed ADC_CFGR1_RES_10BIT from the ADCv3 headers (that macro should not have been there, because ADCv3 has CFGR instead of CFGR1). Fix the default value for ADC_RESOLUTION to use ADC_CFGR_RES_10BITS if it is defined (that name is used for ADCv3 and ADCv4). * Update ADC docs to match the actually used resolution ADC driver for ChibiOS actually uses the 10-bit resolution by default (probably to match AVR); fix the documentation accordingly. Also add both ADC_CFGR_RES_10BITS and ADC_CFGR1_RES_10BIT constants (these names differ according to the ADC implementation in the particular MCU). * Fix pinToMux() for B12 and B13 on STM32F3xx Testing on STM32F303CCT6 revealed that the ADC mux values for B12 and B13 pins were wrong. * Add support for all possible analog pins on STM32F1xx Added ADC mux values for pins A0...A7, B0, B1, C0...C5 on STM32F1xx (they are the same at least for STM32F103x8 and larger F103 devices, and also F102, F105, F107 families). Actually tested on STM32F103C8T6 (therefore pins C0...C5 were not tested). Pins F6...F10, which are present on STM32F103x[C-G] in 144-pin packages, cannot be supported at the moment, because those pins are connected only to ADC3, but the ChibiOS ADC driver for STM32F1xx supports only ADC1. * Add support for all possible analog pins on STM32F4xx Added ADC mux values for pins A0...A7, B0, B1, C0...C5 and optionally F3...F10 (if STM32_ADC_USE_ADC3 is enabled). These mux values are apparently the same for all F4xx devices, except some smaller devices may not have ADC3. Actually tested on STM32F401CCU6, STM32F401CEU6, STM32F411CEU6 (using various WeAct “Blackpill” boards); only pins A0...A7, B0, B1 were tested. Pins F3...F10 are inside `#if STM32_ADC_USE_ADC3` because some devices which don't have ADC3 also don't have the GPIOF port, therefore the code which refers to Fx pins does not compile. * Fix STM32F3xx ADC mux table in documentation The ADC driver documentation had some errors in the mux table for STM32F3xx. Fix this table to match the datasheet and the actual code (mux settings for B12 and B13 were also tested on a real STM32F303CCT6 chip). * Add STM32F1xx ADC pins to the documentation * Add STM32F4xx ADC pins to the documentation * Add initial support for tinyuf2 bootloader (when hosted on F411 blackpill) (#12600) * Add support for jumping to tinyuf2 bootloader. Adds blackpill UF2 example. * Update flashing.md * Update chconf.h * Update config.h * Update halconf.h * Update mcuconf.h * eeprom driver: Refactor where eeprom driver initialisation (and EEPROM emulation initialisation) occurs to make it non-target-specific. (#12671) * Add support for MCU = STM32F446 (#12619) * Add support for MCU = STM32F446 * Update platforms/chibios/GENERIC_STM32_F446XE/configs/config.h * Restore mcuconf.h to the one used by RT-STM32F446RE-NUCLEO64 * stm32f446: update mcuconf.h and board.h for 16MHz operation, with USB enabled, and other peripherals disabled. * Format code according to conventions (#12682) * Format code according to conventions (#12687) * Add STM32L433 and L443 support (#12063) * initial L433 commit * change to XC * fix L433 * disable all peripherals * update system and peripheral clocks * 433 change * use its own board files * revert its own board files * l433 specific change * fix stm32l432xx define * remove duplicate #define * fix bootloader jump * move to L443xx and add i2c2, spi2, usart3 to mcuconf.h * move to L443 * move to L443 * fix sdmmc in mcuconf.h * include STM32L443 * add L443 * Include L443 in compatible microcontrollers * Include L443 in compatible microcontrollers * Update config bootloader jump description * Update ChibiOS define reasoning * Update quantum/mcu_selection.mk * fix git conflict * Updated Function96 with V2 files and removed chconf.h and halconf.h (#12613) * Fix bad PR merge for #6580. (#12721) * Change RGB/LED Matrix to use a simple define for USB suspend (#12697) * [CI] Format code according to conventions (#12731) * Fixing transport's led/rgb matrix suspend state logic (#12770) * [CI] Format code according to conventions (#12772) * Fix comment parsing (#12750) * Added OLED fade out support (#12086) * fix some references to bin/qmk that slipped in (#12832) * Resolve a number of warnings in `qmk generate-api` (#12833) * New command: qmk console (#12828) * stash poc * stash * tidy up implementation * Tidy up slightly for review * Tidy up slightly for review * Bodge environment to make tests pass * Refactor away from asyncio due to windows issues * Filter devices * align vid/pid printing * Add hidapi to the installers * start preparing for multiple hid_listeners * udev rules for hid_listen * refactor to move closer to end state * very basic implementation of the threaded model * refactor how vid/pid/index are supplied and parsed * windows improvements * read the report directly when usage page isn't available * add per-device colors, the choice to show names or numbers, and refactor * add timestamps * Add support for showing bootloaders * tweak the color for bootloaders * Align bootloader disconnect with connect color * add support for showing all bootloaders * fix the pyusb check * tweaks * fix exception * hide a stack trace behind -v * add --no-bootloaders option * add documentation for qmk console * Apply suggestions from code review * pyformat * clean up and flesh out KNOWN_BOOTLOADERS * Remove pointless SERIAL_LINK_ENABLE rules (#12846) * Make Swap Hands use PROGMEM (#12284) This converts the array that the Swap Hands feature uses to use PROGMEM, and to read from that array, as such. Since this array never changes at runtime, there is no reason to