aboutsummaryrefslogtreecommitdiff
path: root/matrix.h
diff options
context:
space:
mode:
Diffstat (limited to 'matrix.h')
-rw-r--r--matrix.h32
1 files changed, 32 insertions, 0 deletions
diff --git a/matrix.h b/matrix.h
new file mode 100644
index 000000000..1bcd0915f
--- /dev/null
+++ b/matrix.h
@@ -0,0 +1,32 @@
1#ifndef MATRIX_H
2#define MATRIX_H
3
4#include <stdbool.h>
5
6/* number of matrix rows */
7uint8_t matrix_rows(void);
8/* number of matrix columns */
9uint8_t matrix_cols(void);
10/* intialize matrix for scaning. should be called once. */
11void matrix_init(void);
12/* scan all key states on matrix */
13uint8_t matrix_scan(void);
14/* whether modified from previous scan. used after matrix_scan. */
15bool matrix_is_modified(void);
16/* whether ghosting occur on matrix. */
17bool matrix_has_ghost(void);
18/* whether a swtich is on */
19bool matrix_is_on(uint8_t row, uint8_t col);
20/* matrix state on row */
21#if (MATRIX_COLS <= 8)
22uint8_t matrix_get_row(uint8_t row);
23#else
24uint16_t matrix_get_row(uint8_t row);
25#endif
26/* count keys pressed */
27uint8_t matrix_key_count(void);
28/* print matrix for debug */
29void matrix_print(void);
30
31
32#endif