#error "MATRIX_COLS: invalid value"
#endif
+#if (MATRIX_ROWS <= 8)
+typedef uint8_t matrix_col_t;
+#elif (MATRIX_ROWS <= 16)
+typedef uint16_t matrix_col_t;
+#elif (MATRIX_ROWS <= 32)
+typedef uint32_t matrix_col_t;
+#else
+#error "MATRIX_ROWS: invalid value"
+#endif
+
#define MATRIX_IS_ON(row, col) (matrix_get_row(row) && (1<<col))
uint8_t matrix_scan(void);
/* whether modified from previous scan. used after matrix_scan. */
bool matrix_is_modified(void) __attribute__ ((deprecated));
-/* whether a swtich is on */
+/* whether a switch is on */
bool matrix_is_on(uint8_t row, uint8_t col);
/* matrix state on row */
matrix_row_t matrix_get_row(uint8_t row);
void matrix_init_user(void);
void matrix_scan_user(void);
+#ifdef I2C_SPLIT
+ void slave_matrix_init(void);
+ uint8_t slave_matrix_scan(void);
+#endif
+
#ifdef __cplusplus
}
#endif