keymat.h (519B)
1 #pragma once 2 3 #include "util.h" 4 5 #include <stdint.h> 6 7 #define KEY_ROWS_HALF 4 8 #define KEY_ROWS (KEY_ROWS_HALF * 2) 9 #define KEY_COLS 6 10 #define KEY_COUNT (KEY_ROWS * KEY_COLS) 11 12 #define KEYMAT_HALF(keymat, side) ((side) == LEFT ? &(keymat)[0] : &(keymat)[KEY_ROWS_HALF]) 13 14 void keymat_init(void); 15 bool keymat_scan(void); 16 uint32_t keymat_encode_half(int side); 17 void keymat_decode_half(int side, uint32_t mask); 18 19 void keymat_debug(void); 20 21 extern bool keymat_prev[KEY_ROWS][KEY_COLS]; 22 extern bool keymat[KEY_ROWS][KEY_COLS]; 23