diff options
author | alex-ong <the.onga@gmail.com> | 2019-01-26 23:18:24 +1100 |
---|---|---|
committer | alex-ong <the.onga@gmail.com> | 2019-01-26 23:18:24 +1100 |
commit | 10cc4235155d0a039faf2dc5c2b1ebe513952c3c (patch) | |
tree | 09abdca940d3db9ea13faf19d3d37f9a41720d2d /quantum/debounce | |
parent | cce8dfab394a643fd6d0250bc8a80a721703a154 (diff) |
Malloc array in debounce_eager_pk, since split keyboards only use MATRIX_ROWS/2.
Diffstat (limited to 'quantum/debounce')
-rw-r--r-- | quantum/debounce/debounce_eager_pk.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/quantum/debounce/debounce_eager_pk.c b/quantum/debounce/debounce_eager_pk.c index f1457496e9..af11362efc 100644 --- a/quantum/debounce/debounce_eager_pk.c +++ b/quantum/debounce/debounce_eager_pk.c @@ -21,6 +21,7 @@ No further inputs are accepted until DEBOUNCE milliseconds have occurred. #include "debounce.h" #include "matrix.h" #include "timer.h" +#include <stdlib.h> #ifndef DEBOUNCE #define DEBOUNCE 5 @@ -39,7 +40,7 @@ No further inputs are accepted until DEBOUNCE milliseconds have occurred. #define debounce_counter_t uint8_t -static debounce_counter_t debounce_counters[MATRIX_ROWS*MATRIX_COLS]; +static debounce_counter_t *debounce_counters; #define DEBOUNCE_ELAPSED 251 #define MAX_DEBOUNCE (DEBOUNCE_ELAPSED - 1) @@ -47,10 +48,12 @@ static debounce_counter_t debounce_counters[MATRIX_ROWS*MATRIX_COLS]; void update_debounce_counters(uint8_t num_rows, uint8_t current_time); void transfer_matrix_values(matrix_row_t raw[], matrix_row_t cooked[], uint8_t num_rows, uint8_t current_time); +//we use num_rows rather than MATRIX_ROWS to support split keyboards void debounce_init(uint8_t num_rows) { + debounce_counters = (debounce_counter_t*)malloc(num_rows*MATRIX_COLS * sizeof(debounce_counter_t)); int i = 0; - for (uint8_t r = 0; r < MATRIX_ROWS; r++) + for (uint8_t r = 0; r < num_rows; r++) { for (uint8_t c = 0; c < MATRIX_COLS; c++) { |