From 10cc4235155d0a039faf2dc5c2b1ebe513952c3c Mon Sep 17 00:00:00 2001 From: alex-ong Date: Sat, 26 Jan 2019 23:18:24 +1100 Subject: Malloc array in debounce_eager_pk, since split keyboards only use MATRIX_ROWS/2. --- quantum/debounce/debounce_eager_pk.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'quantum/debounce') diff --git a/quantum/debounce/debounce_eager_pk.c b/quantum/debounce/debounce_eager_pk.c index f1457496e..af11362ef 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 #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++) { -- cgit v1.2.3-24-g4f1b