X-Git-Url: https://git.friedersdorff.com/?a=blobdiff_plain;f=matrix_skel.h;h=2379ce44ab1fb81ce8c8e6e5d90907dfcdac355e;hb=2b8cd88ab142068eed0a3f230a3de79deb567536;hp=0d483034db1ea239769cf4710d8a5d8f1041a8fa;hpb=06eb50be07ff16e4bfb046e4773185d9bcf048e9;p=max%2Ftmk_keyboard.git diff --git a/matrix_skel.h b/matrix_skel.h index 0d483034..2379ce44 100644 --- a/matrix_skel.h +++ b/matrix_skel.h @@ -1,22 +1,30 @@ #ifndef MATRIX_SKEL_H -#define MATRIX_SKEL_H 1 +#define MATRIX_SKEL_H 1 #include /* number of matrix rows */ -int matrix_rows(void); +uint8_t matrix_rows(void); /* number of matrix columns */ -int matrix_cols(void); +uint8_t matrix_cols(void); /* intialize matrix for scaning. should be called once. */ void matrix_init(void); /* scan all key states on matrix */ -int matrix_scan(void); +uint8_t matrix_scan(void); /* whether modified from previous scan. used after matrix_scan. */ bool matrix_is_modified(void); /* whether ghosting occur on matrix. */ bool matrix_has_ghost(void); +/* whether a swtich is on */ +bool matrix_is_on(uint8_t row, uint8_t col); /* matrix state on row */ -uint16_t matrix_get_row(int row); +#if (MATRIX_COLS <= 8) +uint8_t matrix_get_row(uint8_t row); +#else +uint16_t matrix_get_row(uint8_t row); +#endif +/* count keys pressed */ +uint8_t matrix_key_count(void); /* print matrix for debug */ void matrix_print(void);