cleaned up some log messages, polished up the kb driver a bit, etc
This commit is contained in:
@ -45,13 +45,24 @@
|
||||
#define KEYB_RESP_RESEND (0xFE)
|
||||
#define KEYB_RESP_ERR_TWO (0xFF)
|
||||
|
||||
|
||||
#define STATUS_FLAG_RSHIFT (1 << 0)
|
||||
#define STATUS_FLAG_LSHIFT (1 << 1)
|
||||
#define STATUS_FLAG_CTRL (1 << 2)
|
||||
#define STATUS_FLAG_ALT (1 << 3)
|
||||
#define STATUS_FLAG_SCRL_LOCK (1 << 4)
|
||||
#define STATUS_FLAG_NUM_LOCK (1 << 5)
|
||||
#define STATUS_FLAG_CAPS_LOCK (1 << 6)
|
||||
#define STATUS_FLAG_INSERT (1 << 7)
|
||||
|
||||
typedef enum {
|
||||
KEY_NONE,
|
||||
KEY_ESC = 0x01,
|
||||
KEY_1, KEY_2, KEY_3, KEY_4, KEY_5, KEY_6, KEY_7, KEY_8, KEY_9, KEY_0,
|
||||
KEY_MINUS, KEY_EQUALS,
|
||||
KEY_BACKSPACE, KEY_TAB,
|
||||
KEY_Q, KEY_W, KEY_E, KEY_R, KEY_T, KEY_Y, KEY_U, KEY_I, KEY_O, KEY_P,
|
||||
KEY_LEFT_BRACKET, KEY_RIGHT_BRACKET, KEY_ENTER, KET_LEFT_CTRL,
|
||||
KEY_LEFT_BRACKET, KEY_RIGHT_BRACKET, KEY_ENTER, KEY_LEFT_CTRL,
|
||||
KEY_A, KEY_S, KEY_D, KEY_F, KEY_G, KEY_H, KEY_J, KEY_K, KEY_L,
|
||||
KEY_SEMICOLON, KEY_SINGLE_QUOTE, KEY_BACK_TICK, KEY_LEFT_SHIFT, KEY_BACKSLASH,
|
||||
KEY_Z, KEY_X, KEY_C, KEY_V, KEY_B, KEY_N, KEY_M,
|
||||
@ -78,7 +89,7 @@ typedef enum {
|
||||
KEY_TAB_R,
|
||||
KEY_Q_R, KEY_W_R, KEY_E_R, KEY_R_R, KEY_T_R, KEY_Y_R, KEY_U_R, KEY_I_R, KEY_O_R, KEY_P_R,
|
||||
KEY_LEFT_BRACKET_R, KEY_RIGHT_BRACKET_R,
|
||||
KEY_ENTER_R, KET_LEFT_CTRL_R,
|
||||
KEY_ENTER_R, KEY_LEFT_CTRL_R,
|
||||
KEY_A_R, KEY_S_R, KEY_D_R, KEY_F_R, KEY_G_R, KEY_H_R, KEY_J_R, KEY_K_R, KEY_L_R,
|
||||
KEY_SEMICOLON_R, KEY_SINGLE_QUOTE_R, KEY_BACK_TICK_R, KEY_LEFT_SHIFT_R, KEY_BACKSLASH_R,
|
||||
KEY_Z_R, KEY_X_R, KEY_C_R, KEY_V_R, KEY_B_R, KEY_N_R, KEY_M_R,
|
||||
@ -98,15 +109,20 @@ typedef enum {
|
||||
KEY_KP_PERIOD_R,
|
||||
KEY_F11_R = 0xD7,
|
||||
KEY_F12_R,
|
||||
} kb_key_press_t;
|
||||
} kb_key_code_t;
|
||||
|
||||
struct keypress {
|
||||
kb_key_press_t key_code;
|
||||
uint8_t
|
||||
};
|
||||
#define KEY_PRESS_RELEASE_DIFF (KEY_ESC_R - KEY_ESC)
|
||||
|
||||
typedef struct {
|
||||
kb_key_code_t key_code;
|
||||
uint8_t flags;
|
||||
bool release;
|
||||
} key_press_t ;
|
||||
|
||||
struct keyboard_state {
|
||||
bool ready;
|
||||
uint8_t leds;
|
||||
uint8_t flags;
|
||||
};
|
||||
|
||||
|
||||
@ -116,7 +132,7 @@ void send_kb_commands(void);
|
||||
void queue_kb_command(uint8_t command);
|
||||
|
||||
|
||||
kb_key_press_t decode_scancode(uint8_t scancode);
|
||||
char decode_key_enum(kb_key_press_t keycode);
|
||||
kb_key_code_t decode_scancode(uint8_t scancode);
|
||||
key_press_t do_keypress(kb_key_code_t keycode);
|
||||
|
||||
#endif
|
||||
|
Reference in New Issue
Block a user