From: Alex Ong Date: Sat, 26 Jan 2019 01:13:19 +0000 (+1100) Subject: DO NOT USE Merge branch 'master' into debounce_refactor X-Git-Url: https://git.donarmstrong.com/?a=commitdiff_plain;h=c9ba618654417ec115809a031d315f8327c79ad4;p=qmk_firmware.git DO NOT USE Merge branch 'master' into debounce_refactor Merged, however now there are two debounce.h and debounce.c to mess around with and coalesce. # Conflicts: # quantum/matrix.c --- c9ba618654417ec115809a031d315f8327c79ad4 diff --cc quantum/matrix.c index 292171490,49a184569..71292db51 --- a/quantum/matrix.c +++ b/quantum/matrix.c @@@ -52,9 -51,11 +51,10 @@@ static const pin_t col_pins[MATRIX_COLS #endif /* matrix state(1:on, 0:off) */ - static matrix_row_t matrix[MATRIX_ROWS]; + static matrix_row_t raw_matrix[MATRIX_ROWS]; + static matrix_row_t matrix[MATRIX_ROWS]; - #if (DIODE_DIRECTION == COL2ROW) static void init_cols(void); static bool read_cols_on_row(matrix_row_t current_matrix[], uint8_t current_row); @@@ -128,26 -155,29 +130,30 @@@ void matrix_init(void) uint8_t matrix_scan(void) { + bool changed = false; #if (DIODE_DIRECTION == COL2ROW) - // Set row, read cols - for (uint8_t current_row = 0; current_row < MATRIX_ROWS; current_row++) { - read_cols_on_row(matrix, current_row); - } + // Set row, read cols + for (uint8_t current_row = 0; current_row < MATRIX_ROWS; current_row++) { + changed |= read_cols_on_row(raw_matrix, current_row); + } #elif (DIODE_DIRECTION == ROW2COL) - // Set col, read rows - for (uint8_t current_col = 0; current_col < MATRIX_COLS; current_col++) { - read_rows_on_col(matrix, current_col); - } + // Set col, read rows + for (uint8_t current_col = 0; current_col < MATRIX_COLS; current_col++) { + changed |= read_rows_on_col(raw_matrix, current_col); + } #endif - matrix_scan_quantum(); - return 1; + debounce(raw_matrix, matrix, MATRIX_ROWS, changed); + + matrix_scan_quantum(); + return 1; } +//Deprecated. bool matrix_is_modified(void) { + if (debounce_active()) return false; return true; }