summaryrefslogtreecommitdiff
path: root/quantum/debounce/none.c
AgeCommit message (Collapse)AuthorFilesLines
2025-10-19Debounce: Deprecate num_rows parameter (#25632)フィルターペーパー1-3/+3
2025-09-07Refactor debounce algorithm with static allocation (#25515)フィルターペーパー1-2/+0
* 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>
2023-09-25[Enhancement] Improvements for debounce test coverage + bug fixes for ↵Andre Brait1-2/+8
sym_defer_g and sym_eager_pr (#21667) Co-authored-by: Nebuleon <2391500+Nebuleon@users.noreply.github.com>
2023-07-09debounce: remove direct `quantum.h` includes (#21480)Ryan1-3/+1
2022-07-07Make debounce() signal changes in the cooked matrix as return value (#17554)Stefan Kerkmann1-4/+7
2021-11-29[Core] Remove matrix_is_modified() and debounce_is_active() (#15349)Stefan Kerkmann1-2/+0
2021-06-09Avoid 8-bit timer overflows in debounce algorithms (#12240)Simon Arlott1-0/+31
* Add fast_timer_t that is 16-bit or 32-bit based on architecture A 16-bit timer will overflow sooner but be faster to compare on AVR. * Avoid 8-bit timer overflows in debounce algorithms Count down remaining elapsed time instead of trying to do 8-bit timer comparisons. Add a "none" implementation that is automatically used if DEBOUNCE is 0 otherwise it will break the _pk/_pr count down. * Avoid unnecessary polling of the entire matrix in sym_eager_pk The matrix only needs to be updated when a debounce timer expires. * Avoid unnecessary polling of the entire matrix in sym_eager_pr The matrix only needs to be updated when a debounce timer expires. The use of the "needed_update" variable is trying to do what "matrix_need_update" was added to fix but didn't work because it only applied when all keys finished debouncing. * Fix sym_defer_g timing inconsistency compared to other debounce algorithms DEBOUNCE=5 should process the key after 5ms, not 6ms * Add debounce tests