X-Git-Url: https://git.friedersdorff.com/?a=blobdiff_plain;f=keyboard%2Fhbkb%2Fmatrix.c;h=ee32312d9a2de3431618c3a3ca550f62e8490b6b;hb=7860d09914dba5e7d2d6c1c25b62b49d1bbd2591;hp=a24d24b8c3bd5aa5c4cfa8f0370db00054734319;hpb=81d2753ab07890532ea8c4bd6a68de3e5e08ca33;p=max%2Ftmk_keyboard.git diff --git a/keyboard/hbkb/matrix.c b/keyboard/hbkb/matrix.c index a24d24b8..ee32312d 100644 --- a/keyboard/hbkb/matrix.c +++ b/keyboard/hbkb/matrix.c @@ -32,37 +32,19 @@ along with this program. If not, see . * COL: PD0-7 * ROW: PB0-7, PF4-7 */ - -#if (MATRIX_COLS > 16) -# error "MATRIX_COLS must not exceed 16" -#endif -#if (MATRIX_ROWS > 255) -# error "MATRIX_ROWS must not exceed 255" -#endif - - #ifndef DEBOUNCE -# define DEBOUNCE 0 +# define DEBOUNCE 10 #endif static uint8_t debouncing = DEBOUNCE; -// matrix state buffer(1:on, 0:off) -#if (MATRIX_COLS <= 8) -static uint8_t *matrix; -static uint8_t *matrix_prev; -static uint8_t _matrix0[MATRIX_ROWS]; -static uint8_t _matrix1[MATRIX_ROWS]; -#else -static uint16_t *matrix; -static uint16_t *matrix_prev; -static uint16_t _matrix0[MATRIX_ROWS]; -static uint16_t _matrix1[MATRIX_ROWS]; -#endif +/* matrix state(1:on, 0:off) */ +static matrix_row_t matrix[MATRIX_ROWS]; +static matrix_row_t matrix_debouncing[MATRIX_ROWS]; #ifdef MATRIX_HAS_GHOST static bool matrix_has_ghost_in_row(uint8_t row); #endif -static uint8_t read_col(void); +static matrix_row_t read_cols(void); static void unselect_rows(void); static void select_row(uint8_t row); @@ -81,13 +63,6 @@ uint8_t matrix_cols(void) void matrix_init(void) { - print_enable = true; - debug_enable = true; - debug_matrix = true; - debug_keyboard = false; - debug_mouse = false; - print("debug enabled.\n"); - // JTAG disable for PORT F. write JTD bit twice within four cycles. MCUCR |= (1<