summaryrefslogtreecommitdiff
path: root/matrix_skel.h
diff options
context:
space:
mode:
authortmk <nobody@nowhere>2011-01-06 15:18:55 +0900
committertmk <nobody@nowhere>2011-01-06 15:33:08 +0900
commitfd49c69d1a173b9d273b2b53eb6a22eda920223a (patch)
tree46c6a012a5ecba881fbd78ad7ccb9051e493340e /matrix_skel.h
parent590235d4bc92d1de4c17b96ae54f4daee8c3db2a (diff)
added config option: MATRIX_HAS_GHOST and fixed some on matrix.c
ADD: Build option: MATRIX_HAS_GHOST to enable ghost blocking logic. FIX: choose matrix buffer type(uint8_t/uint16_t) automatically depending on column size in matrix.c. FIX: use uint8_t insted of int in matrix.c.
Diffstat (limited to 'matrix_skel.h')
-rw-r--r--matrix_skel.h16
1 files changed, 10 insertions, 6 deletions
diff --git a/matrix_skel.h b/matrix_skel.h
index 59c4eca11a..2379ce44ab 100644
--- a/matrix_skel.h
+++ b/matrix_skel.h
@@ -4,23 +4,27 @@
#include <stdbool.h>
/* 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(int row, int col);
+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 */
-int matrix_key_count(void);
+uint8_t matrix_key_count(void);
/* print matrix for debug */
void matrix_print(void);