44 lines
658 B
C
44 lines
658 B
C
#pragma once
|
|
|
|
/*
|
|
Keys, in order:
|
|
123A 456B 789C *0#D
|
|
*/
|
|
typedef uint8_t Key;
|
|
#define KEY_NONE 255
|
|
#define KEY_A 3
|
|
#define KEY_B 7
|
|
#define KEY_C 11
|
|
#define KEY_D 15
|
|
#define KEY_ASTERISK 12
|
|
#define KEY_HASH 14
|
|
|
|
extern const char *allKeys;
|
|
|
|
bool setupKeyboard();
|
|
|
|
/**
|
|
* Returns pressed key once upon its release
|
|
* or KEY_NONE if no key is pressed
|
|
*
|
|
* NOTE: Only one key can be pressed at a time;
|
|
* if multiple keys are pressed, the behavior is undefined
|
|
*/
|
|
Key handleKeyboard();
|
|
|
|
/**
|
|
* Returns pressed digit or KEY_NONE if the key is not a digit
|
|
*/
|
|
uint8_t getPressedDigit(Key key);
|
|
|
|
|
|
/*
|
|
|
|
1234
|
|
QWER
|
|
ASDF
|
|
ZXCV
|
|
|
|
*/
|
|
Key handleDebugKeyboard(char key);
|