diff options
Diffstat (limited to 'quantum/debounce/sym_eager_pk.c')
| -rw-r--r-- | quantum/debounce/sym_eager_pk.c | 7 | 
1 files changed, 6 insertions, 1 deletions
| diff --git a/quantum/debounce/sym_eager_pk.c b/quantum/debounce/sym_eager_pk.c index fe3e88bb06..f736d1645c 100644 --- a/quantum/debounce/sym_eager_pk.c +++ b/quantum/debounce/sym_eager_pk.c @@ -49,6 +49,7 @@ static debounce_counter_t *debounce_counters;  static fast_timer_t        last_time;  static bool                counters_need_update;  static bool                matrix_need_update; +static bool                cooked_changed;  #    define DEBOUNCE_ELAPSED 0 @@ -71,8 +72,9 @@ void debounce_free(void) {      debounce_counters = NULL;  } -void debounce(matrix_row_t raw[], matrix_row_t cooked[], uint8_t num_rows, bool changed) { +bool debounce(matrix_row_t raw[], matrix_row_t cooked[], uint8_t num_rows, bool changed) {      bool updated_last = false; +    cooked_changed    = false;      if (counters_need_update) {          fast_timer_t now          = timer_read_fast(); @@ -96,6 +98,8 @@ void debounce(matrix_row_t raw[], matrix_row_t cooked[], uint8_t num_rows, bool          transfer_matrix_values(raw, cooked, num_rows);      } + +    return cooked_changed;  }  // If the current time is > debounce counter, set the counter to enable input. @@ -132,6 +136,7 @@ static void transfer_matrix_values(matrix_row_t raw[], matrix_row_t cooked[], ui                      *debounce_pointer    = DEBOUNCE;                      counters_need_update = true;                      existing_row ^= col_mask; // flip the bit. +                    cooked_changed = true;                  }              }              debounce_pointer++; | 
