summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--quantum/matrix.c4
-rw-r--r--tmk_core/common/keyboard.c8
2 files changed, 5 insertions, 7 deletions
diff --git a/quantum/matrix.c b/quantum/matrix.c
index 22126aa7ae..d5fd7def8a 100644
--- a/quantum/matrix.c
+++ b/quantum/matrix.c
@@ -37,10 +37,8 @@ static const io_pin_t col_pins[MATRIX_COLS] = MATRIX_COL_PINS;
/* matrix state */
#if DIODE_DIRECTION == COL2ROW
static matrix_row_t matrix[MATRIX_ROWS];
-static matrix_row_t debouncing_matrix[MATRIX_ROWS];
#else
static matrix_col_t matrix[MATRIX_COLS];
-static matrix_col_t debouncing_matrix[MATRIX_COLS];
#endif
static int8_t debouncing_delay = -1;
@@ -99,6 +97,7 @@ void matrix_init(void) {
#if DIODE_DIRECTION == COL2ROW
uint8_t matrix_scan(void) {
+ static matrix_row_t debouncing_matrix[MATRIX_ROWS];
for (int8_t r = MATRIX_ROWS - 1; r >= 0; --r) {
toggle_row(r);
matrix_row_t state = read_cols();
@@ -146,6 +145,7 @@ matrix_row_t matrix_get_row(uint8_t row) {
#else
uint8_t matrix_scan(void) {
+ static matrix_col_t debouncing_matrix[MATRIX_COLS];
for (int8_t c = MATRIX_COLS - 1; c >= 0; --c) {
toggle_col(c);
matrix_col_t state = read_rows();
diff --git a/tmk_core/common/keyboard.c b/tmk_core/common/keyboard.c
index c6d54ae333..bd543c45e1 100644
--- a/tmk_core/common/keyboard.c
+++ b/tmk_core/common/keyboard.c
@@ -96,17 +96,15 @@ void keyboard_init(void) {
/* does routine keyboard jobs */
void keyboard_task(void) {
- static matrix_row_t previous_matrix[MATRIX_ROWS];
-#ifdef MATRIX_HAS_GHOST
- static matrix_row_t deghosting_matrix[MATRIX_ROWS];
-#endif
- static uint8_t led_status = 0;
+ static uint8_t led_status;
matrix_scan();
for (int8_t r = MATRIX_ROWS - 1; r >= 0; --r) {
+ static matrix_row_t previous_matrix[MATRIX_ROWS];
matrix_row_t state = matrix_get_row(r);
matrix_row_t changes = state ^ previous_matrix[r];
if (changes) {
#ifdef MATRIX_HAS_GHOST
+ static matrix_row_t deghosting_matrix[MATRIX_ROWS];
if (is_row_ghosting(r)) {
/* debugs the deghosting mechanism */
/* doesn't update previous_matrix until the ghosting has stopped