adds some debug flags for GDB support
This commit is contained in:
@ -7,44 +7,47 @@
|
||||
|
||||
#define KEYB_CMD_RETRIES 3
|
||||
|
||||
#define KEYB_CMD_SET_LEDS (0xED)
|
||||
#define KEYB_CMD_ECHO (0xEE)
|
||||
#define KEYB_CMD_DO_SCAN_CODE (0xF0)
|
||||
#define KEYB_CMD_IDENTIFY_KEYB (0xF2)
|
||||
#define KEYB_CMD_SET_TYPEMATIC (0xF3)
|
||||
#define KEYB_CMD_ENABLE_SCANNING (0xF4)
|
||||
#define KEYB_CMD_DISABLE_SCANNING (0xF5)
|
||||
#define KEYB_CMD_SET_DEFAULT_PARAMS (0xF6)
|
||||
#define KEYB_CMD_TYPEMATIC_AUTOREPEAT_3 (0xF7)
|
||||
#define KEYB_CMD_ALL_MAKE_RELEASE_3 (0xF8)
|
||||
#define KEYB_CMD_MAKE_ONLY_3 (0xF9)
|
||||
#define KEYB_CMD_TYPE_AUTOREPEAT_MAKE_RELEASE_3 (0xFA)
|
||||
#define KEYB_CMD_KEY_TYPEMATIC_AUTOREPEAT_3 (0xFB)
|
||||
#define KEYB_CMD_KEY_MAKE_RELEASE_3 (0xFC)
|
||||
#define KEYB_CMD_KEY_MAKE_3 (0xFD)
|
||||
#define KEYB_RESEND_LAST_BYTE (0xFE)
|
||||
#define KEYB_RESET_SELF_TEST (0xFF)
|
||||
|
||||
typedef enum {
|
||||
KEYB_CMD_SET_LEDS = 0xED,
|
||||
KEYB_CMD_ECHO = 0xEE,
|
||||
KEYB_CMD_DO_SCAN_CODE = 0xF0,
|
||||
KEYB_CMD_IDENTIFY_KEYB = 0xF2,
|
||||
KEYB_CMD_SET_TYPEMATIC = 0xF3,
|
||||
KEYB_CMD_ENABLE_SCANNING = 0xF4,
|
||||
KEYB_CMD_DISABLE_SCANNING = 0xF5,
|
||||
KEYB_CMD_SET_DEFAULT_PARAMS = 0xF6,
|
||||
KEYB_CMD_TYPEMATIC_AUTOREPEAT_3 = 0xF7,
|
||||
KEYB_CMD_ALL_MAKE_RELEASE_3 = 0xF8,
|
||||
KEYB_CMD_MAKE_ONLY_3 = 0xF9,
|
||||
KEYB_CMD_TYPE_AUTOREPEAT_MAKE_RELEASE_3 = 0xFA,
|
||||
KEYB_CMD_KEY_TYPEMATIC_AUTOREPEAT_3 = 0xFB,
|
||||
KEYB_CMD_KEY_MAKE_RELEASE_3 = 0xFC,
|
||||
KEYB_CMD_KEY_MAKE_3 = 0xFD,
|
||||
KEYB_RESEND_LAST_BYTE = 0xFE,
|
||||
KEYB_RESET_SELF_TEST = 0xFF
|
||||
} keyb_cmd_t;
|
||||
|
||||
#define KEYB_LED_SCRL_LCK (1 << 0)
|
||||
#define KEYB_LED_NUM_LCK (1 << 1)
|
||||
#define KEYB_LED_CAP_LCK (1 << 2)
|
||||
|
||||
|
||||
// TODO investigate
|
||||
#define KEYB_GET_SCAN_SET (0x00)
|
||||
#define KEYB_SET_SCAN_1 (0x01)
|
||||
#define KEYB_SET_SCAN_2 (0x02)
|
||||
#define KEYB_SET_SCAN_3 (0x03)
|
||||
|
||||
|
||||
#define KEYB_RESP_ERR (0x00)
|
||||
#define KEYB_RESP_SELF_TEST_PASSED (0xAA)
|
||||
#define KEYB_RESP_ECHO (0xEE)
|
||||
#define KEYB_RESP_ACK (0xFA)
|
||||
#define KEYB_RESP_SELF_TEST_FAILED (0xFC)
|
||||
#define KEYB_RESP_SELF_TEST_FAILED_TWO (0xFD)
|
||||
#define KEYB_RESP_RESEND (0xFE)
|
||||
#define KEYB_RESP_ERR_TWO (0xFF)
|
||||
|
||||
typedef enum {
|
||||
KEYB_RESP_ERR = 0x00,
|
||||
KEYB_RESP_SELF_TEST_PASSED = 0xAA,
|
||||
KEYB_RESP_ECHO = 0xEE,
|
||||
KEYB_RESP_ACK = 0xFA,
|
||||
KEYB_RESP_SELF_TEST_FAILED = 0xFC,
|
||||
KEYB_RESP_SELF_TEST_FAILED_TWO = 0xFD,
|
||||
KEYB_RESP_RESEND = 0xFE,
|
||||
KEYB_RESP_ERR_TWO = 0xFF
|
||||
} keyb_resp_t;
|
||||
|
||||
#define STATUS_FLAG_RSHIFT (1 << 0)
|
||||
#define STATUS_FLAG_LSHIFT (1 << 1)
|
||||
@ -121,6 +124,9 @@ typedef struct {
|
||||
|
||||
struct keyboard_state {
|
||||
bool ready;
|
||||
|
||||
bool waiting_for_commands;
|
||||
|
||||
uint8_t leds;
|
||||
uint8_t flags;
|
||||
};
|
||||
|
Reference in New Issue
Block a user