diff options
Diffstat (limited to 'common/keyboard.h')
| -rw-r--r-- | common/keyboard.h | 14 |
1 files changed, 4 insertions, 10 deletions
diff --git a/common/keyboard.h b/common/keyboard.h index e1cab3119..78cb24034 100644 --- a/common/keyboard.h +++ b/common/keyboard.h | |||
| @@ -30,12 +30,6 @@ extern "C" { | |||
| 30 | typedef struct { | 30 | typedef struct { |
| 31 | uint8_t col; | 31 | uint8_t col; |
| 32 | uint8_t row; | 32 | uint8_t row; |
| 33 | } keypos_t; | ||
| 34 | |||
| 35 | // TODO: need raw? keypos_t -> key_t? | ||
| 36 | typedef union { | ||
| 37 | uint16_t raw; | ||
| 38 | keypos_t pos; | ||
| 39 | } key_t; | 33 | } key_t; |
| 40 | 34 | ||
| 41 | /* key event */ | 35 | /* key event */ |
| @@ -46,20 +40,20 @@ typedef struct { | |||
| 46 | } keyevent_t; | 40 | } keyevent_t; |
| 47 | 41 | ||
| 48 | /* equivalent test of key_t */ | 42 | /* equivalent test of key_t */ |
| 49 | #define KEYEQ(keya, keyb) ((keya).raw == (keyb).raw) | 43 | #define KEYEQ(keya, keyb) ((keya).row == (keyb).row && (keya).col == (keyb).col) |
| 50 | 44 | ||
| 51 | /* (time == 0) means no event and assumes matrix has no 255 line. */ | 45 | /* (time == 0) means no event and assumes matrix has no 255 line. */ |
| 52 | #define IS_NOEVENT(event) ((event).time == 0 || ((event).key.pos.row == 255 && (event).key.pos.col == 255)) | 46 | #define IS_NOEVENT(event) ((event).time == 0 || ((event).key.row == 255 && (event).key.col == 255)) |
| 53 | 47 | ||
| 54 | #define NOEVENT (keyevent_t){ \ | 48 | #define NOEVENT (keyevent_t){ \ |
| 55 | .key.pos = (keypos_t){ .row = 255, .col = 255 }, \ | 49 | .key = (key_t){ .row = 255, .col = 255 }, \ |
| 56 | .pressed = false, \ | 50 | .pressed = false, \ |
| 57 | .time = 0 \ | 51 | .time = 0 \ |
| 58 | } | 52 | } |
| 59 | 53 | ||
| 60 | /* tick event */ | 54 | /* tick event */ |
| 61 | #define TICK (keyevent_t){ \ | 55 | #define TICK (keyevent_t){ \ |
| 62 | .key.pos = (keypos_t){ .row = 255, .col = 255 }, \ | 56 | .key = (key_t){ .row = 255, .col = 255 }, \ |
| 63 | .pressed = false, \ | 57 | .pressed = false, \ |
| 64 | .time = (timer_read() | 1) \ | 58 | .time = (timer_read() | 1) \ |
| 65 | } | 59 | } |
