diff options
author | dexter93 <d3xter93@gmail.com> | 2023-06-08 04:01:45 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-06-08 02:01:45 +0100 |
commit | 90ea9e447adb16151974c8d29c18bbb140bde9dc (patch) | |
tree | 9bad379c498fdcff6104c9573cfa8c25b9a3e9fa /quantum/debounce/asym_eager_defer_pk.c | |
parent | a059d121fa17026ab55106fd9ee4b4ea8159a183 (diff) |
Reset `matrix_need_update` properly in eager debouncing algorithms (#21154)
The `matrix_need_update` variable needs to be reset to `false` in
`transfer_matrix_values()`, otherwise that function continues to be
invoked for every scanning loop (forever with `sym_eager_pk` and
`sym_eager_pk`, or until some key gets released with
`asym_eager_defer_pk`), and the scanning rate gets much lower because of
all that useless work.
Co-authored-by: Sergey Vlasov <sigprof@gmail.com>
Diffstat (limited to 'quantum/debounce/asym_eager_defer_pk.c')
-rw-r--r-- | quantum/debounce/asym_eager_defer_pk.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/quantum/debounce/asym_eager_defer_pk.c b/quantum/debounce/asym_eager_defer_pk.c index 4745c6f465..0f7640a80c 100644 --- a/quantum/debounce/asym_eager_defer_pk.c +++ b/quantum/debounce/asym_eager_defer_pk.c @@ -144,6 +144,8 @@ static void update_debounce_counters_and_transfer_if_expired(matrix_row_t raw[], static void transfer_matrix_values(matrix_row_t raw[], matrix_row_t cooked[], uint8_t num_rows) { debounce_counter_t *debounce_pointer = debounce_counters; + matrix_need_update = false; + for (uint8_t row = 0; row < num_rows; row++) { matrix_row_t delta = raw[row] ^ cooked[row]; for (uint8_t col = 0; col < MATRIX_COLS; col++) { |