-
-
Notifications
You must be signed in to change notification settings - Fork 39.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Allocation-free debouncing #22241
base: develop
Are you sure you want to change the base?
Allocation-free debouncing #22241
Conversation
66826cd
to
06002bd
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ROWS_PER_HAND
is defined in the following matrix.c
files, but has the same value so does not emit an error:
halfcliff
keychron/q10
keychron/q12
keychron/q1v2
keychron/q3
keychron/q5
keychron/q6
keychron/q65
keychron/v1 (errors because it's actually `MATRIX_ROWS` instead of `(MATRIX_ROWS)`)
keychron/v10
keychron/v3
keychron/v5
keychron/v6
nullbitsco/snap
sekigon/grs_70ec
whale/sk/v3
These boards may be an issue because they have ROWS_PER_HAND
defined as (MATRIX_ROWS / 2)
but are not marked as split keyboards:
handwired/dygma/raise
keyboardio/model01
moonlander
06002bd
to
5022453
Compare
I've removed the definition of For the 3 keyboards which define Pinging the maintainers/author of the respective keyboard firmwares, maybe they are able to help with this issue @drashna @ibash @abrasive |
54212ee
to
66fd5f3
Compare
Thank you for your contribution! |
Hi @NilsIrl sorry for the delay. The raise keyboard firmware is a fork of keyboardio, so whatever is done for that keyboard should probably be done for the raise too. |
num_rows is always ROWS_PER_HAND so it is safe to rely on the value of ROWS_PER_HAND.
c0e4374
to
c903b00
Compare
Allocate memory for debouncing algorithms statically.
Description
Some keyboards do not support memory allocation and this commit makes it possible to use debouncing algorithms that previously required allocation on those keyboards.
The
num_rows
variable was added todebounce_init
anddebounce
to support split keyboards but the value passed to those functions is alwaysROWS_PER_HAND
so it is safe to use theROWS_PER_HAND
macro instead similarly to howMATRIX_COLS
is assumed to be correct.Beyond changes to
quantum
, some of thekeyboards
had to be updated to support the change of signature, and documentation for custom matrix was also updated.Types of Changes
Checklist