<feed xmlns='http://www.w3.org/2005/Atom'>
<title>qmk_sweep_skeletyl/quantum/debounce/tests/debounce_test_common.cpp, branch master</title>
<subtitle>my qmk configs</subtitle>
<id>http://archive.git.mgrote.net/qmk_sweep_skeletyl/atom?h=master</id>
<link rel='self' href='http://archive.git.mgrote.net/qmk_sweep_skeletyl/atom?h=master'/>
<link rel='alternate' type='text/html' href='http://archive.git.mgrote.net/qmk_sweep_skeletyl/'/>
<updated>2025-10-19T02:14:37+00:00</updated>
<entry>
<title>Debounce: Deprecate num_rows parameter (#25632)</title>
<updated>2025-10-19T02:14:37+00:00</updated>
<author>
<name>フィルターペーパー</name>
</author>
<published>2025-10-19T02:14:37+00:00</published>
<link rel='alternate' type='text/html' href='http://archive.git.mgrote.net/qmk_sweep_skeletyl/commit/?id=81df54308687713371ed5fbf4947e38963c7867b'/>
<id>urn:sha1:81df54308687713371ed5fbf4947e38963c7867b</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Refactor debounce algorithm with static allocation (#25515)</title>
<updated>2025-09-07T12:34:05+00:00</updated>
<author>
<name>フィルターペーパー</name>
</author>
<published>2025-09-07T12:34:05+00:00</published>
<link rel='alternate' type='text/html' href='http://archive.git.mgrote.net/qmk_sweep_skeletyl/commit/?id=4bd5c033c3135576010baded53c44720d8030d32'/>
<id>urn:sha1:4bd5c033c3135576010baded53c44720d8030d32</id>
<content type='text'>
* 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 &lt;git@zvecr.com&gt;

* Update change log to new breaking change date

---------

Co-authored-by: Joel Challis &lt;git@zvecr.com&gt;</content>
</entry>
<entry>
<title>[Enhancement] Improvements for debounce test coverage + bug fixes for sym_defer_g and sym_eager_pr (#21667)</title>
<updated>2023-09-25T02:48:55+00:00</updated>
<author>
<name>Andre Brait</name>
</author>
<published>2023-09-25T02:48:55+00:00</published>
<link rel='alternate' type='text/html' href='http://archive.git.mgrote.net/qmk_sweep_skeletyl/commit/?id=960d6e0d7d8007ee826184967dc1edc5ab7b2755'/>
<id>urn:sha1:960d6e0d7d8007ee826184967dc1edc5ab7b2755</id>
<content type='text'>
Co-authored-by: Nebuleon &lt;2391500+Nebuleon@users.noreply.github.com&gt;
</content>
</entry>
<entry>
<title>debounce: remove direct `quantum.h` includes (#21480)</title>
<updated>2023-07-09T01:05:20+00:00</updated>
<author>
<name>Ryan</name>
</author>
<published>2023-07-09T01:05:20+00:00</published>
<link rel='alternate' type='text/html' href='http://archive.git.mgrote.net/qmk_sweep_skeletyl/commit/?id=7457e90887acecc6aea82a4ca738dd85cb25d939'/>
<id>urn:sha1:7457e90887acecc6aea82a4ca738dd85cb25d939</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Make debounce() signal changes in the cooked matrix as return value (#17554)</title>
<updated>2022-07-07T08:00:40+00:00</updated>
<author>
<name>Stefan Kerkmann</name>
</author>
<published>2022-07-07T08:00:40+00:00</published>
<link rel='alternate' type='text/html' href='http://archive.git.mgrote.net/qmk_sweep_skeletyl/commit/?id=8224f62806b66f0825b68fd8c00436ee57a28e9a'/>
<id>urn:sha1:8224f62806b66f0825b68fd8c00436ee57a28e9a</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Format code according to conventions (#16322)</title>
<updated>2022-02-12T18:29:31+00:00</updated>
<author>
<name>QMK Bot</name>
</author>
<published>2022-02-12T18:29:31+00:00</published>
<link rel='alternate' type='text/html' href='http://archive.git.mgrote.net/qmk_sweep_skeletyl/commit/?id=63646e8906e062d1c1de3925cba70c4e3426a855'/>
<id>urn:sha1:63646e8906e062d1c1de3925cba70c4e3426a855</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Manually format develop (#15003)</title>
<updated>2021-11-01T19:18:33+00:00</updated>
<author>
<name>Joel Challis</name>
</author>
<published>2021-11-01T19:18:33+00:00</published>
<link rel='alternate' type='text/html' href='http://archive.git.mgrote.net/qmk_sweep_skeletyl/commit/?id=92385e30cdad61ddfc0461b1ce1340bcb494a68a'/>
<id>urn:sha1:92385e30cdad61ddfc0461b1ce1340bcb494a68a</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Avoid 8-bit timer overflows in debounce algorithms (#12240)</title>
<updated>2021-06-09T07:23:21+00:00</updated>
<author>
<name>Simon Arlott</name>
</author>
<published>2021-06-09T07:23:21+00:00</published>
<link rel='alternate' type='text/html' href='http://archive.git.mgrote.net/qmk_sweep_skeletyl/commit/?id=b829a1d2648abd0751e9d3505554547faf643425'/>
<id>urn:sha1:b829a1d2648abd0751e9d3505554547faf643425</id>
<content type='text'>
* 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</content>
</entry>
</feed>
