mirror of
https://github.com/Keychron/qmk_firmware.git
synced 2024-11-24 09:27:36 +06:00
329c130202
7 Commits
Author | SHA1 | Message | Date | |
---|---|---|---|---|
James Young
|
4b453dca92
|
Remove MIDI Configuration boilerplate (#11151)
* 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> |
||
James Young
|
a03aa301de
|
Remove Full Bootmagic (#13846)
* 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 |
||
Drashna Jaelre
|
7161d65070
|
Remove FAUXCLICKY feature (deprecated) (#11829) | ||
Carsten Rose
|
29fcd5418a
|
[Keyboard] Add support for idobao id80 iso layout (#11246)
* add support for idobao id80 iso layout * This change is required as there is a logic bug on the board that C7 (capslock) is inverted thus lowercase is with light on. Mind the ! in the write to the pin. * Apply suggestions from code review All fine for me, thanks for the additional information! Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> * move device information to separate config.h for id80 iso and ansi * commit via keymap similar to default. There is a problem with mapping compiling vor via, resulting in KC_ENT residing on KC_PGDN. Switching off via support in rules.mk makes the keyboard behave fine * change KC_BSLS to KC_NUHS as this is an iso board Co-authored-by: Carsten <modebm@gmail.com> Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> |
||
James Young
|
c66df16644
|
2020 November 28 Breaking Changes Update (#11053)
* Branch point for 2020 November 28 Breaking Change * Remove matrix_col_t to allow MATRIX_ROWS > 32 (#10183) * Add support for soft serial to ATmega32U2 (#10204) * Change MIDI velocity implementation to allow direct control of velocity value (#9940) * Add ability to build a subset of all keyboards based on platform. * Actually use eeprom_driver_init(). * Make bootloader_jump weak for ChibiOS. (#10417) * Joystick 16-bit support (#10439) * Per-encoder resolutions (#10259) * Share button state from mousekey to pointing_device (#10179) * Add hotfix for chibios keyboards not wake (#10088) * Add advanced/efficient RGB Matrix Indicators (#8564) * Naming change. * Support for STM32 GPIOF,G,H,I,J,K (#10206) * Add milc as a dependency and remove the installed milc (#10563) * ChibiOS upgrade: early init conversions (#10214) * ChibiOS upgrade: configuration file migrator (#9952) * Haptic and solenoid cleanup (#9700) * XD75 cleanup (#10524) * OLED display update interval support (#10388) * Add definition based on currently-selected serial driver. (#10716) * New feature: Retro Tapping per key (#10622) * Allow for modification of output RGB values when using rgblight/rgb_matrix. (#10638) * Add housekeeping task callbacks so that keyboards/keymaps are capable of executing code for each main loop iteration. (#10530) * Rescale both ChibiOS and AVR backlighting. * Reduce Helix keyboard build variation (#8669) * Minor change to behavior allowing display updates to continue between task ticks (#10750) * Some GPIO manipulations in matrix.c change to atomic. (#10491) * qmk cformat (#10767) * [Keyboard] Update the Speedo firmware for v3.0 (#10657) * Maartenwut/Maarten namechange to evyd13/Evy (#10274) * [quantum] combine repeated lines of code (#10837) * Add step sequencer feature (#9703) * aeboards/ext65 refactor (#10820) * Refactor xelus/dawn60 for Rev2 later (#10584) * add DEBUG_MATRIX_SCAN_RATE_ENABLE to common_features.mk (#10824) * [Core] Added `add_oneshot_mods` & `del_oneshot_mods` (#10549) * update chibios os usb for the otg driver (#8893) * Remove HD44780 References, Part 4 (#10735) * [Keyboard] Add Valor FRL TKL (+refactor) (#10512) * Fix cursor position bug in oled_write_raw functions (#10800) * Fixup version.h writing when using SKIP_VERSION=yes (#10972) * Allow for certain code in the codebase assuming length of string. (#10974) * Add AT90USB support for serial.c (#10706) * Auto shift: support repeats and early registration (#9826) * Rename ledmatrix.h to match .c file (#7949) * Split RGB_MATRIX_ENABLE into _ENABLE and _DRIVER (#10231) * Split LED_MATRIX_ENABLE into _ENABLE and _DRIVER (#10840) * Merge point for 2020 Nov 28 Breaking Change |
||
zeriyoshi
|
0f0530c5a4
|
Fix IDOBAO ID80 board configurations. (#9796)
* Fix IDOBAO 80 disable console and LEDs. * Re-enabling to IDOBAO80s underglow rgb light * fix define legacy declarements |
||
Sergey Vlasov
|
17bda000f3
|
[Keyboard] Add IDOBAO ID80 (#8728)
* id80: New keyboard (IDOBAO ID80) Add initial support for the IDOBAO ID80 keyboard. Most source files were generated by the KBFirmware JSON to QMK Parser (https://noroadsleft.github.io/kbf_qmk_converter/) based on the ID80.json file provided by the keyboard vendor. The only change to rules.mk was to set `COMMAND_ENABLE = no` to make the compiled firmware fit into the available flash space. * id80: Update default keymap to match stock Update the Fn layer in the default keymap to match the stock firmware which was actually flashed into the PCB. * id80: Add Caps Lock indicator support Although the KBFirmware JSON includes information about the MCU pins used for keyboard indicator LEDs, the KBF to QMK converter does not generate the required code automatically. Implement the LED handling code, and at the same time switch from the older `led_set_kb` API to the newer `led_update_kb`. * id80: Remove placeholder functions The provided skeletons for `matrix_scan_kb` and `process_record_kb` did not do anything useful, so remove them. * id80: Use Esc as the Bootmagic Lite activation key The Esc key is not at the (0, 0) position in the ID80 matrix, therefore setting `BOOTMAGIC_LITE_ROW` and `BOOTMAGIC_LITE_COLUMN` is required to use the Esc key for Bootmagic Lite. * id80: Update info.json Replace info.json generated by the KBF to QMK converter with another version generated using http://www.keyboard-layout-editor.com/ and the KLE raw to QMK info.json converter (https://qmk.fm/converter/). The updated info.json has the correct physical layout (the distance between the function key row and the main block is actually 0.25U, but the vendor-provided ID80.json had 0.5U there) and correct key labels (using the stock layout instead of raw matrix locations and pin names). * id80: Enable NKRO The default keymap is updated to have NK_TOGG at Fn+N, like most other keyboards which have NKRO enabled. * id80: Use unique USB vendor/product ID Having an unique USB vendor/product ID is required for VIA support. The vendor ID value is the same as for the `idobo` (ID75) keyboard. * id80: Fix right modifiers in the default keymap For some reason the default keymap converted from the vendor-supplied JSON had the right Shift, Alt and Ctrl keys mapped to the left side modifier keycodes. * id80: Remove empty row 6 (F0) from matrix The matrix layout which was defined in the vendor-supplied ID80.json file had 12 rows which corresponded to the left and right parts of the 6 physical rows. However, the row 6 of the matrix (connected to the F0 pin), which corresponded to the right part of the physical bottom row, was completely empty (all 9 keys of the bottom row were placed in the matrix row for the left part). Keeping this row in the matrix just wastes resources; in particular, when the VIA support is enabled, having a 9×12 matrix with 4 layers leaves only 122 bytes available for dynamic macros, which is less than the recommended minimum of 128 bytes. Removing the unused row reduces the matrix size to 9×11, which leaves 194 bytes of EEPROM space for dynamic macros. * id80: Update row numbers in the LAYOUT macro Update row numbers in the names of the LAYOUT macro parameters after removing a row in the middle. * id80: Set RGBLED_NUM to 20 to match the actual PCB The vendor-supplied ID80.json file specified that the PCB should have 28 RGB LEDs in the chain. However, the actual PCB that was shipped from AliExpress had 20 LEDs in the chain (16 underglow LEDs, and then 4 more LEDs on top of the PCB, to the right of the Enter key location). Update RGBLED_NUM to match the actual PCB. |