cewkomator/firmware/src/keyboard.h

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);