Age | Commit message (Collapse) | Author |
|
- Dump key buffer when combos are disabled.
- Recursive calls to `dump_key_buffer` need to start dumping the buffer
from index i+1 to avoid possible infinite loops.
- Handle combo key releases even though combo processing is disabled.
|
|
|
|
* Add support for STM32F407x MCUs.
* Removing STMF407 MCU variation
* Update quantum/mcu_selection.mk
Remove options for dfu flashing
Co-authored-by: Ryan <fauxpark@gmail.com>
* DISABLE STM32_USB_USE_OTG1
* Update platforms/chibios/GENERIC_STM32_F407XE/configs/mcuconf.h
Co-authored-by: Drashna Jaelre <drashna@live.com>
* Update platforms/chibios/GENERIC_STM32_F407XE/configs/mcuconf.h
Co-authored-by: thomas.pollak <thomas.pollak@dynatrace.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Nick Brassel <nick@tzarc.org>
|
|
* quantum/command.c: coalesce `print()`s in `command_common_help()` & `print_version()`
Also undo some damage by clang-format in b624f32f94
* quantum/command.c: replace `print(…); print_{,val_}{dec,hex}*(…);` sequences with single `xprintf(…)`
`print_{dec,hex}*(…)` are just `#define`s for `xprintf(…)` anyway.
Each additional `xprintf(…)` costs ~8 bytes: the call instructions,
plus an additional NUL terminator.
This _really_ adds up: this commit saves 814 bytes on my ATmega32.
* quantum/command.c: optimise `mousekey_console()` for size & legibility
Made various tweaks to the interface, but still functionally identical.
Assume `KC_1`…`KC_0` to be contiguous, and removed `numkey2num(…)` entirely.
It was exported in `command.h` by 1a0bac8bcc for no obvious reason, before
which it was `static`. I doubt anyone uses it.
`mousekey_console()` is now enabled regardless of `MK_3_SPEED`.
Needs fleshing out for things other than the X11 variant though.
This commit saves 638 bytes on my ATmega32.
|
|
* 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
|
|
|
|
* Avoid name conflicts with usb_hid Arduino code
* Fix tests
|
|
* Combo processing improvements.
Now it is possible to use ModTap and LayerTap keys as part of combos.
Overlapping combos also don't trigger all the combos, just exactly the
one that you press.
New settings:
- COMBO_MUST_HOLD_MODS
- COMBO_MOD_TERM
- COMBO_TERM_PER_COMBO
- COMBO_MUST_HOLD_PER_COMBO
- COMBO_STRICT_TIMER
- COMBO_NO_TIMER
* Remove the size flags from combo_t struct boolean members.
This in the end actually saves space as the members are accessed so many
times. The amount of operations needed to access the bits uses more
memory than setting the size saves.
* Fix `process_combo_key_release` not called correctly with tap-only combos
* Fix not passing a pointer when NO_ACTION_TAPPING is defined.
* Docs for `COMBO_ONLY_FROM_LAYER`
* Update docs/feature_combo.md
Co-authored-by: precondition <57645186+precondition@users.noreply.github.com>
* Update quantum/process_keycode/process_combo.c
Co-authored-by: precondition <57645186+precondition@users.noreply.github.com>
* Add `EXTRA_SHORT_COMBOS` option.
Stuff combo's `disabled` and `active` flags into `state`. Possibly can
save some space.
* Add more examples and clarify things with dict management system.
- Simple examples now has a combo that has modifiers included.
- The slightly more advanced examples now are actually more advanced
instead of just `tap_code16(<modded-keycode>)`.
- Added a note that `COMBO_ACTION`s are not needed anymore as you can
just use custom keycodes.
- Added a note that the `g/keymap_combo.h` macros use the
`process_combo_event` function and that it is not usable in one's
keymap afterwards.
* Update docs/feature_combo.md
Co-authored-by: precondition <57645186+precondition@users.noreply.github.com>
* Update docs/feature_combo.md
Co-authored-by: precondition <57645186+precondition@users.noreply.github.com>
* Update docs/feature_combo.md
Co-authored-by: precondition <57645186+precondition@users.noreply.github.com>
* Update docs/feature_combo.md
Co-authored-by: precondition <57645186+precondition@users.noreply.github.com>
* Update docs/feature_combo.md
Co-authored-by: precondition <57645186+precondition@users.noreply.github.com>
* Change "the" combo action example to "email" example.
* Update docs/feature_combo.md
Co-authored-by: precondition <57645186+precondition@users.noreply.github.com>
* Fix sneaky infinite loop with `combo_disable()`
No need to call `dump_key_buffer` when disabling combos because the
buffer is either being dumped if a combo-key was pressed, or the buffer is empty
if a non-combo-key is pressed.
* Update docs/feature_combo.md
Co-authored-by: precondition <57645186+precondition@users.noreply.github.com>
* Update docs/feature_combo.md
Co-authored-by: precondition <57645186+precondition@users.noreply.github.com>
Co-authored-by: precondition <57645186+precondition@users.noreply.github.com>
Co-authored-by: Drashna Jaelre <drashna@live.com>
|
|
|
|
* Add bootloader section to keyboard template
* Apply suggestions from code review
Co-authored-by: Ryan <fauxpark@gmail.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
|
|
|
|
* Fix overflow in WPM calculations.
First, the "fresh" WPM calculation could end up being up to 12000 (with
default `WPM_ESTIMATED_WORD_SIZE`) if keys were pressed more or less
simultaneously. This value has now been clamped down to 255, in effect
clamping WPM to its max value of 255.
Second, with `WPM_ALLOW_COUNT_REGRESSION` enabled, it was possible to
regress the WPM below 0 (i.e. to 255) by just repeatedly pressing
backspace.
* Fix WPM being limited to 235 due to float/int logic.
|
|
* move print/debug files to quantum
* Update comments
|
|
* Unconditionally call led_init_ports
* Another call to led_init_ports
|
|
* [BUG] Fix Key Override includes
* simplify includes
|
|
* Minor tidy up of key overrides
* Update quantum/quantum.c
* Update quantum/quantum.c
|
|
|
|
* Align AW20216 driver
* Update drivers/awinic/aw20216.h
Co-authored-by: Ryan <fauxpark@gmail.com>
* Review comments
* formatting fixes
* stop if start failed?
* review comments
Co-authored-by: Ryan <fauxpark@gmail.com>
|
|
|
|
|
|
|
|
|
|
This takes up about 700 bytes of space, and needs to be swapped to
opt-in, rather than opt-out. Build failures in general on AVR due to the
scarcity of available flash. People can re-enable it by adding to their
keymap's config.h files:
```
#define RGBLIGHT_EFFECT_TWINKLE
```
|
|
Add guard `RGBLIGHT_LAYERS_RETAIN_VAL` to retain the currently used val
when applying lighting layers.
|
|
|
|
* Adds Swedish Mac ISO and ANSI keymaps
* Replaces NBSP with space
* Adds missing keys
* Remove duplicates
* Remove duplicates
* Update quantum/keymap_extras/keymap_swedish_osx_iso.h
Co-authored-by: Ryan <fauxpark@gmail.com>
* Update quantum/keymap_extras/keymap_swedish_osx_iso.h
Co-authored-by: Ryan <fauxpark@gmail.com>
* Update quantum/keymap_extras/keymap_swedish_osx_iso.h
Co-authored-by: Ryan <fauxpark@gmail.com>
* Update quantum/keymap_extras/keymap_swedish_osx_iso.h
Co-authored-by: Ryan <fauxpark@gmail.com>
* Change case and remove whitespace
* Update quantum/keymap_extras/keymap_swedish_osx_ansi.h
Co-authored-by: Ryan <fauxpark@gmail.com>
* Update quantum/keymap_extras/keymap_swedish_osx_ansi.h
Co-authored-by: Ryan <fauxpark@gmail.com>
* Update quantum/keymap_extras/keymap_swedish_osx_ansi.h
Co-authored-by: Ryan <fauxpark@gmail.com>
* Update quantum/keymap_extras/keymap_swedish_osx_iso.h
Co-authored-by: Ryan <fauxpark@gmail.com>
* Update quantum/keymap_extras/keymap_swedish_osx_iso.h
Co-authored-by: Ryan <fauxpark@gmail.com>
* Update quantum/keymap_extras/keymap_swedish_osx_iso.h
Co-authored-by: Ryan <fauxpark@gmail.com>
* Update quantum/keymap_extras/keymap_swedish_osx_iso.h
Co-authored-by: Ryan <fauxpark@gmail.com>
* Update quantum/keymap_extras/keymap_swedish_osx_iso.h
Co-authored-by: Ryan <fauxpark@gmail.com>
* Update quantum/keymap_extras/keymap_swedish_osx_iso.h
Co-authored-by: Ryan <fauxpark@gmail.com>
* Update quantum/keymap_extras/keymap_swedish_osx_ansi.h
Co-authored-by: Ryan <fauxpark@gmail.com>
* Update quantum/keymap_extras/keymap_swedish_osx_ansi.h
Co-authored-by: Ryan <fauxpark@gmail.com>
* Fix uppercase
* Update quantum/keymap_extras/keymap_swedish_osx_ansi.h
Co-authored-by: Ryan <fauxpark@gmail.com>
* Update quantum/keymap_extras/keymap_swedish_osx_ansi.h
Co-authored-by: Ryan <fauxpark@gmail.com>
* Update quantum/keymap_extras/keymap_swedish_osx_ansi.h
Co-authored-by: Ryan <fauxpark@gmail.com>
* Add specific files for Swedish Pro
* Update quantum/keymap_extras/keymap_swedish_osx_iso.h
Co-authored-by: Ryan <fauxpark@gmail.com>
* Update quantum/keymap_extras/keymap_swedish_osx_iso.h
Co-authored-by: Ryan <fauxpark@gmail.com>
* Update quantum/keymap_extras/keymap_swedish_osx_ansi.h
Co-authored-by: Ryan <fauxpark@gmail.com>
* Update quantum/keymap_extras/keymap_swedish_osx_ansi.h
Co-authored-by: Ryan <fauxpark@gmail.com>
* Update quantum/keymap_extras/keymap_swedish_osx_ansi.h
Co-authored-by: Ryan <fauxpark@gmail.com>
* Update quantum/keymap_extras/keymap_swedish_osx_ansi.h
Remove whitespace
Co-authored-by: Ryan <fauxpark@gmail.com>
* Update quantum/keymap_extras/keymap_swedish_osx_ansi.h
Co-authored-by: Ryan <fauxpark@gmail.com>
* Update quantum/keymap_extras/keymap_swedish_pro_osx_ansi.h
Co-authored-by: Ryan <fauxpark@gmail.com>
* Update quantum/keymap_extras/keymap_swedish_osx_iso.h
Co-authored-by: Ryan <fauxpark@gmail.com>
* Update quantum/keymap_extras/keymap_swedish_osx_iso.h
Co-authored-by: Ryan <fauxpark@gmail.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
quantum.h (#13555)
|
|
* initial commit
* removed changes to write_pwm_buffer
* backward compatbility added
* fixed issue with backward compatibility
* documentation update
* removed unneccessary comment. branched from master
* updated per comments #13457
* removed blank line
* cformat on diff files
|
|
|
|
The prototype of matrix_output_unselect_delay() has been changed as follows.
```c
void matrix_output_unselect_delay(uint8_t line, bool key_pressed);
```
Currently, no keyboard seems to be redefining `matrix_output_unselect_delay()`, so there is no change in the system behavior.
With this change, the keyboard level code can get some optimization hints, for example, the following.
```c
void matrix_output_unselect_delay(uint8_t line, bool key_pressed) {
/* If none of the keys are pressed,
* there is no need to wait for time for the next line. */
if (key_pressed) {
#ifdef MATRIX_IO_DELAY
# if MATRIX_IO_DELAY > 0
wait_us(MATRIX_IO_DELAY);
# endif
#else
wait_us(30);
#endif
}
}
```
|
|
Two occurrences of `MATRIX_ROWS` weren't properly changed to
`ROWS_PER_HAND` in #13330, causing a crash during boot on at least my
Ergodox Infinity (including #13481).
|
|
|
|
|
|
* added support for inverting the hand pin for split keyboards
* Added docs about SPLIT_HAND_LOW_IS_LEFT
* Update docs/feature_split_keyboard.md
bring #define for split hand pin low for left half name in line with grid pin define
Co-authored-by: Joel Challis <git@zvecr.com>
* Update quantum/split_common/split_util.c
update split hand pin low is left name to match split hand grid define
Co-authored-by: Joel Challis <git@zvecr.com>
Co-authored-by: Joel Challis <git@zvecr.com>
|
|
|
|
Co-authored-by: Nick Brassel <nick@tzarc.org>
|
|
|
|
|
|
|
|
|
|
|
|
* Adds support for STM32L412xB, STM32L422xB.
* Add to list of supported MCUs.
* Disable SPI1 by default.
|
|
|