diff options
author | tmk <nobody@nowhere> | 2010-10-24 01:17:26 +0900 |
---|---|---|
committer | tmk <nobody@nowhere> | 2010-10-24 01:17:26 +0900 |
commit | 06eb50be07ff16e4bfb046e4773185d9bcf048e9 (patch) | |
tree | 86a8fb688282004893eedd28641f8300c9d812d1 /hhkb/matrix.c | |
parent | 9d7979931e0037fc5ddc77a2cb895eb055501f34 (diff) |
hhkb: refactored
Diffstat (limited to 'hhkb/matrix.c')
-rw-r--r-- | hhkb/matrix.c | 36 |
1 files changed, 34 insertions, 2 deletions
diff --git a/hhkb/matrix.c b/hhkb/matrix.c index 3034a63612..a1917793e7 100644 --- a/hhkb/matrix.c +++ b/hhkb/matrix.c @@ -31,6 +31,19 @@ static uint8_t _matrix0[MATRIX_ROWS]; static uint8_t _matrix1[MATRIX_ROWS]; +static bool matrix_has_ghost_in_row(int row); + + +inline +int matrix_rows(void) { + return MATRIX_ROWS; +} + +inline +int matrix_cols(void) { + return MATRIX_COLS; +} + // this must be called once before matrix_scan. void matrix_init(void) { @@ -48,7 +61,7 @@ void matrix_init(void) matrix_prev = _matrix1; } -uint8_t matrix_scan(void) +int matrix_scan(void) { uint8_t *tmp; @@ -82,10 +95,29 @@ bool matrix_is_modified(void) { return false; } +inline bool matrix_has_ghost(void) { return false; } -bool matrix_has_ghost_in_row(uint8_t row) { +inline +uint16_t matrix_get_row(int row) { + return matrix[row]; +} + +void matrix_print(void) { + print("\nr/c 01234567\n"); + for (int row = 0; row < matrix_rows(); row++) { + phex(row); print(": "); + pbin_reverse(matrix_get_row(row)); + if (matrix_has_ghost_in_row(row)) { + print(" <ghost"); + } + print("\n"); + } +} + +inline +static bool matrix_has_ghost_in_row(int row) { return false; } |