qmk/quantum/debounce
フィルターペーパー 4bd5c033c3
Refactor debounce algorithm with static allocation (#25515)
* 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>
2025-09-07 13:34:05 +01:00
..
tests Refactor debounce algorithm with static allocation (#25515) 2025-09-07 13:34:05 +01:00
asym_eager_defer_pk.c Refactor debounce algorithm with static allocation (#25515) 2025-09-07 13:34:05 +01:00
none.c Refactor debounce algorithm with static allocation (#25515) 2025-09-07 13:34:05 +01:00
sym_defer_g.c Refactor debounce algorithm with static allocation (#25515) 2025-09-07 13:34:05 +01:00
sym_defer_pk.c Refactor debounce algorithm with static allocation (#25515) 2025-09-07 13:34:05 +01:00
sym_defer_pr.c Refactor debounce algorithm with static allocation (#25515) 2025-09-07 13:34:05 +01:00
sym_eager_pk.c Refactor debounce algorithm with static allocation (#25515) 2025-09-07 13:34:05 +01:00
sym_eager_pr.c Refactor debounce algorithm with static allocation (#25515) 2025-09-07 13:34:05 +01:00