diff options
Diffstat (limited to 'keyboard/hhkb/matrix.c')
| -rw-r--r-- | keyboard/hhkb/matrix.c | 38 |
1 files changed, 2 insertions, 36 deletions
diff --git a/keyboard/hhkb/matrix.c b/keyboard/hhkb/matrix.c index f53e36dbe..3d4b1f6c7 100644 --- a/keyboard/hhkb/matrix.c +++ b/keyboard/hhkb/matrix.c | |||
| @@ -35,13 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. | |||
| 35 | # error "Timer resolution(>20us) is not enough for HHKB matrix scan tweak on V-USB." | 35 | # error "Timer resolution(>20us) is not enough for HHKB matrix scan tweak on V-USB." |
| 36 | #endif | 36 | #endif |
| 37 | 37 | ||
| 38 | #if (MATRIX_COLS > 16) | ||
| 39 | # error "MATRIX_COLS must not exceed 16" | ||
| 40 | #endif | ||
| 41 | #if (MATRIX_ROWS > 255) | ||
| 42 | # error "MATRIX_ROWS must not exceed 255" | ||
| 43 | #endif | ||
| 44 | |||
| 45 | 38 | ||
| 46 | // matrix state buffer(1:on, 0:off) | 39 | // matrix state buffer(1:on, 0:off) |
| 47 | static matrix_row_t *matrix; | 40 | static matrix_row_t *matrix; |
| @@ -226,42 +219,15 @@ bool matrix_is_on(uint8_t row, uint8_t col) | |||
| 226 | } | 219 | } |
| 227 | 220 | ||
| 228 | inline | 221 | inline |
| 229 | #if (MATRIX_COLS <= 8) | 222 | matrix_row_t matrix_get_row(uint8_t row) |
| 230 | uint8_t matrix_get_row(uint8_t row) | ||
| 231 | #else | ||
| 232 | uint16_t matrix_get_row(uint8_t row) | ||
| 233 | #endif | ||
| 234 | { | 223 | { |
| 235 | return matrix[row]; | 224 | return matrix[row]; |
| 236 | } | 225 | } |
| 237 | 226 | ||
| 238 | void matrix_print(void) | 227 | void matrix_print(void) |
| 239 | { | 228 | { |
| 240 | #if (MATRIX_COLS <= 8) | ||
| 241 | print("\nr/c 01234567\n"); | 229 | print("\nr/c 01234567\n"); |
| 242 | #else | ||
| 243 | print("\nr/c 0123456789ABCDEF\n"); | ||
| 244 | #endif | ||
| 245 | for (uint8_t row = 0; row < matrix_rows(); row++) { | 230 | for (uint8_t row = 0; row < matrix_rows(); row++) { |
| 246 | phex(row); print(": "); | 231 | xprintf("%02X: %08b\n", row, bitrev(matrix_get_row(row))); |
| 247 | #if (MATRIX_COLS <= 8) | ||
| 248 | pbin_reverse(matrix_get_row(row)); | ||
| 249 | #else | ||
| 250 | pbin_reverse16(matrix_get_row(row)); | ||
| 251 | #endif | ||
| 252 | print("\n"); | ||
| 253 | } | ||
| 254 | } | ||
| 255 | |||
| 256 | uint8_t matrix_key_count(void) | ||
| 257 | { | ||
| 258 | uint8_t count = 0; | ||
| 259 | for (uint8_t i = 0; i < MATRIX_ROWS; i++) { | ||
| 260 | #if (MATRIX_COLS <= 8) | ||
| 261 | count += bitpop(matrix[i]); | ||
| 262 | #else | ||
| 263 | count += bitpop16(matrix[i]); | ||
| 264 | #endif | ||
| 265 | } | 232 | } |
| 266 | return count; | ||
| 267 | } | 233 | } |
