]> git.donarmstrong.com Git - qmk_firmware.git/blobdiff - tmk_core/common/matrix.h
add col type defines
[qmk_firmware.git] / tmk_core / common / matrix.h
index 71153a5f58370831f4a675d5ff17c3d885713f38..e5665bf40a3f52baabfdd8a36d0ef89baf75fa01 100644 (file)
@@ -31,6 +31,16 @@ typedef  uint32_t   matrix_row_t;
 #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))
 
 
@@ -50,7 +60,7 @@ void matrix_init(void);
 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);
@@ -72,6 +82,11 @@ void matrix_scan_kb(void);
 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