X-Git-Url: https://git.friedersdorff.com/?a=blobdiff_plain;f=keyboard%2Fhbkb%2Fmatrix.c;h=ee32312d9a2de3431618c3a3ca550f62e8490b6b;hb=3eeb7ca9f94e872606a1d14bf1639fbca95c6ab0;hp=d7c06636420532ebe84bb229ac08a48b22964a3e;hpb=81706d1130fdc3c0d6d110f4d8665c47ffd7fb59;p=max%2Ftmk_keyboard.git
diff --git a/keyboard/hbkb/matrix.c b/keyboard/hbkb/matrix.c
index d7c06636..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<