aboutsummaryrefslogtreecommitdiffstats
path: root/quantum
Commit message (Collapse)AuthorAgeFilesLines
* Restructure Pixel Rain interval code (#25516)フィルターペーパー2025-09-101-9/+16
| | | | Co-authored-by: Joel Challis <git@zvecr.com>
* Refactor debounce algorithm with static allocation (#25515)フィルターペーパー2025-09-079-397/+371
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Refactor debounce counters with direct indexing * Refactor code to use array indexing for debounce_counters * Use global MATRIX_ROW_SHIFTER macro * Refactor debounce algorithm with static allocation * Converted arrays to static allocation * Standardised use of MATRIX_ROWS_PER_HAND for array sizing * Added Doxygen comments for primary debounce functions * Removed debounce_free() * Rewrite sym_defer_pr * Modernise code using sym_defer_pk as template * Format consistency with other current algorithms * Use shorter SPDX-License-Identifier * Remove ChibiOS core memory manager guard * Keep type definition within DEBOUNCE guard * Add change log * Minor optimisation refactor * Pre-calculate row_offset in per-key matrix loops * Add inline compiler hints * Improve readability with blank lines * Limit elapsed time to the maximum debounce value * Apply suggestions from code review Declare counters with "DEBOUNCE_ELAPSED" Co-authored-by: Joel Challis <git@zvecr.com> * Update change log to new breaking change date --------- Co-authored-by: Joel Challis <git@zvecr.com>
* Simplify hue calculation in raindrops animation (#25587)フィルターペーパー2025-09-061-7/+2
|
* Simplify tap_code16_delay (#25595)フィルターペーパー2025-09-061-3/+1
| | | | * Replaced for-loop with single wait_ms(delay) call * Improve code consistency with tap_code_delay
* Refactor battery driver (#25550)Joel Challis2025-08-177-3/+200
|
* Add MATRIX_ROWS_PER_HAND definition (#25513)フィルターペーパー2025-07-253-32/+30
|
* Relocate `AUDIO_INIT_DELAY` implementation (#25491)Joel Challis2025-07-143-19/+26
|
* Clamp reactive offset value (#25489)フィルターペーパー2025-07-132-0/+2
| | | * Avoids underflow of the unsigned 8-bit
* Remove deprecated `RGB_` and Mouse keycodes (#25444)Ryan2025-07-111-53/+0
| | | | | | | | | * Remove deprecated `RGB_` and Mouse keycodes * Update old mouse keycodes, 0-9/A-M * Update old mouse keycodes, N-Z & layouts * Missed some stuff
* Compilation fixes for `-fno-common` (#25436)Joel Challis2025-07-071-2/+3
|
* Deprecate some nonstandard mod & mod-tap keycode aliases (#25437)Ryan2025-07-062-13/+11
|
* Merge remote-tracking branch 'origin/master' into developQMK Bot2025-07-061-0/+35
|\
| * Add short aliases for `OSM()` (#25443)Ryan2025-07-061-0/+35
| |
* | Refactor Starlight Smooth matrix effect (#25442)フィルターペーパー2025-07-061-1/+1
| |
* | Mitigate VIA keylogger security issues (#25414)Joel Challis2025-06-291-0/+8
| | | | | | Co-authored-by: Nick Brassel <nick@tzarc.org>
* | Merge remote-tracking branch 'origin/master' into developQMK Bot2025-06-282-47/+77
|\|
| * Clean up mod & mod-tap shortcuts (#25399)Ryan2025-06-282-47/+77
| |
* | Align sleep_led logic (#25395)Joel Challis2025-06-272-1/+16
| |
* | Add core handling for pointing device failures. (#25315)Dasky2025-06-142-13/+56
| |
* | Merge remote-tracking branch 'origin/master' into developQMK Bot2025-06-091-2/+2
|\|
| * [Bugfix] User eeconfig utility macros (#25350)Pablo Martínez2025-06-091-2/+2
| |
* | Add `{rgb|led}_matrix_get_mode_name()`. (#25344)Nick Brassel2025-06-074-2/+117
| |
* | Remove `process_action_kb` callback (#25331)Joel Challis2025-06-042-9/+5
| |
* | Relocate remaining `process_record_quantum` keycodes (#25328)Joel Challis2025-06-046-75/+134
| |
* | Merge remote-tracking branch 'origin/master' into developQMK Bot2025-06-031-1/+1
|\|
| * Fix dynamic keymap static assert (#25327)Dasky2025-06-031-1/+1
| |
* | Fix quantum.c keycode handling (#25322)Stephen Ostermiller2025-06-021-4/+5
|/
* Fix reference to wrong layer when LM used with right modifiers (#25303)Sergey Radionov2025-05-281-1/+1
|
* Fix dynamic keymap macro only sending first. (#25309)Dasky2025-05-271-1/+1
|
* Add `compiler_support.h` (#25274)Pablo Martínez2025-05-2222-50/+92
|
* [Chore] use {rgblight,rgb_matrix}_hsv_to_rgb overrides (#25271)Stefan Kerkmann2025-05-202-6/+6
|
* Deprecate `usb.force_nkro`/`FORCE_NKRO` (#25262)Joel Challis2025-05-142-1/+6
|
* Fix OS_DETECTION_KEYBOARD_RESET (#25015)Matti Hiljanen2025-05-121-1/+25
| | | | Co-authored-by: Nick Brassel <nick@tzarc.org>
* Enable community modules to define LED matrix and RGB matrix effects. (#25187)Pascal Getreuer2025-05-124-0/+36
| | | | Co-authored-by: Joel Challis <git@zvecr.com>
* [New Feature/Core] New RGB Matrix Animation "Starlight Smooth" (#25203)art-was-here2025-05-122-0/+27
|
* Fix Wear Leveling compilation (#25254)Joel Challis2025-05-122-0/+14
|
* Add raw_hid support to host driver (#25255)Joel Challis2025-05-121-0/+15
|
* Merge remote-tracking branch 'origin/master' into developQMK Bot2025-05-071-1/+1
|\
| * Fixed print statement after enabling 32-bit layers (#25027)dabstractor2025-05-071-1/+1
| |
* | Remove force disable of NKRO when Bluetooth enabled (#25201)Joel Challis2025-05-061-6/+3
| |
* | Bind Bluetooth driver to `host_driver_t` (#25199)Joel Challis2025-05-051-10/+4
| |
* | Generate versions to keycode headers (#25219)Joel Challis2025-05-0573-0/+438
| |
* | Add additional hooks for Community modules (#25050)Drashna Jaelre2025-05-056-1/+51
| |
* | [Core] Enhance Flow Tap to work better for rolls over multiple tap-hold ↵Pascal Getreuer2025-04-281-12/+45
| | | | | | | | | | | | | | | | | | keys. (#25200) * Flow Tap revision for rolling press. * Remove debugging cruft. * Formatting fix.
* | High resolution scrolling (without feature report parsing) (#24423)eynsai2025-04-232-0/+23
| | | | | | | | | | | | | | * hires scrolling without feature report parsing * fix valid range for exponent * fix incorrect minimum exponent value documentation
* | [Bug][Core] Fix for Flow Tap: fix handling of distinct taps and timer ↵Pascal Getreuer2025-04-223-32/+79
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | updates. (#25175) * Flow Tap bug fix. As reported by @amarz45 and @mwpardue, there is a bug where if two tap-hold keys are pressed in distinct taps back to back, then Flow Tap is not applied on the second tap-hold key, but it should be. In a related bug reported by @NikGovorov, if a tap-hold key is held followed by a tap of a tap-hold key, then Flow Tap updates its timer on the release of the held tap-hold key, but it should be ignored. The problem common to both these bugs is that I incorrectly assumed `tapping_key` is cleared to noevent once it is released, when actually `tapping_key` is still maintained for `TAPPING_TERM` ms after release (for Quick Tap). This commit fixes that. Thanks to @amarz45, @mwpardue, and @NikGovorov for reporting! Details: * Logic for converting the current tap-hold event to a tap is extracted to `flow_tap_key_if_within_term()`, which is now invoked also in the post-release "interfered with other tap key" case. This fixes the distinct taps bug. * The Flow Tap timer is now updated at the beginning of each call to `process_record()`, provided that there is no unsettled tap-hold key at that time and that the record is not for a mod or layer switch key. By moving this update logic to `process_record()`, it is conceptually simpler and more robust. * Unit tests extended to cover the reported scenarios. * Fix formatting. * Revision to fix @NikGovorov's scenario. The issue is that when another key is pressed while a layer-tap hasn't been settled yet, the `prev_keycode` remembers the keycode from before the layer switched. This can then enable Flow Tap for the following key when it shouldn't, or vice versa. Thanks to @NikGovorov for reporting! This commit revises Flow Tap in the following ways: * The previous key and timer are both updated from `process_record()`. This is slightly later in the sequence of processing than before, and by this point, a just-settled layer-tap should have taken effect so that the keycode from the correct layer is remembered. * The Flow Tap previous key and timer are updated now also on key release events, except for releases of modifiers and held layer switches. * The Flow Tap previous key and timer are now updated together, for simplicity. This makes the logic easier to think about. * A few additional unit tests, including @NikGovorov's scenario as "layer_tap_ignored_with_disabled_key_complex."
* | Implement connection keycode logic (#25176)Joel Challis2025-04-2110-9/+327
| |
* | Fixup eeconfig lighting reset. (#25166)Nick Brassel2025-04-201-6/+15
| |
* | Allow for disabling EEPROM subsystem entirely. (#25173)Nick Brassel2025-04-196-11/+0
| |
* | Ignore the Layer Lock key in Repeat Key and Caps Word. (#25171)Pascal Getreuer2025-04-192-2/+10
| |