X-Git-Url: https://git.friedersdorff.com/?a=blobdiff_plain;f=keyboard%2Fhbkb%2Fmatrix.c;h=ee32312d9a2de3431618c3a3ca550f62e8490b6b;hb=caf7b4e68a597dec1ab23b98838ca0509c318962;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<