#pragma once #include struct Keycode { uint8_t key; uint8_t flags; }; #define KC_FLAG_KEY_DOWN 0x01 #define KC_FLAG_KEY_UP 0x02 #define KC_FLAG_ERROR 0x04 #define KEY_NONE 0x00 #define KEY_UNKNOWN 0x01 #define KEY_ESCAPE 0x10 #define KEY_1 0x11 #define KEY_2 0x12 #define KEY_3 0x13 #define KEY_4 0x14 #define KEY_5 0x15 #define KEY_6 0x16 #define KEY_7 0x17 #define KEY_8 0x18 #define KEY_9 0x19 #define KEY_0 0x1A #define KEY_MINUS 0x1B #define KEY_EQUAL 0x1C #define KEY_BACKSPACE 0x1D #define KEY_L_SHIFT 0x1E #define KEY_R_SHIFT 0x1F #define KEY_TAB 0x20 #define KEY_Q 0x21 #define KEY_W 0x22 #define KEY_E 0x23 #define KEY_R 0x24 #define KEY_T 0x25 #define KEY_Y 0x26 #define KEY_U 0x27 #define KEY_I 0x28 #define KEY_O 0x29 #define KEY_P 0x2A #define KEY_L_BRACE 0x2B #define KEY_R_BRACE 0x2C #define KEY_BACKSLASH 0x2D #define KEY_L_CTRL 0x2E #define KEY_R_CTRL 0x2F #define KEY_CAPS_LOCK 0x30 #define KEY_A 0x31 #define KEY_S 0x32 #define KEY_D 0x33 #define KEY_F 0x34 #define KEY_G 0x35 #define KEY_H 0x36 #define KEY_J 0x37 #define KEY_K 0x38 #define KEY_L 0x39 #define KEY_SEMICOLON 0x3A #define KEY_QUOTE 0x3B #define KEY_ENTER 0x3C #define KEY_MENU 0x3D #define KEY_L_ALT 0x3E #define KEY_R_ALT 0x3F #define KEY_SPACE 0x40 #define KEY_Z 0x41 #define KEY_X 0x42 #define KEY_C 0x43 #define KEY_V 0x44 #define KEY_B 0x45 #define KEY_N 0x46 #define KEY_M 0x47 #define KEY_COMMA 0x48 #define KEY_PERIOD 0x49 #define KEY_SLASH 0x4A #define KEY_BACKTICK 0x4B #define KEY_NUM_LOCK 0x4C #define KEY_SCROLL_LOCK 0x4D #define KEY_L_META 0x4E #define KEY_R_META 0x4F #define KEY_NP_SLASH 0x50 #define KEY_NP_7 0x51 #define KEY_NP_8 0x52 #define KEY_NP_9 0x53 #define KEY_NP_ASTERISK 0x54 #define KEY_NP_4 0x55 #define KEY_NP_5 0x56 #define KEY_NP_6 0x57 #define KEY_NP_MINUS 0x58 #define KEY_NP_1 0x59 #define KEY_NP_2 0x5A #define KEY_NP_3 0x5B #define KEY_NP_PLUS 0x5C #define KEY_NP_0 0x5D #define KEY_NP_PERIOD 0x5E #define KEY_NP_ENTER 0x5F #define KEY_PRINT_SCREEN 0x60 #define KEY_PAUSE 0x61 #define KEY_INSERT 0x62 #define KEY_HOME 0x63 #define KEY_PAGE_UP 0x64 #define KEY_DELETE 0x65 #define KEY_END 0x66 #define KEY_PAGE_DOWN 0x67 #define KEY_UP 0x68 #define KEY_DOWN 0x69 #define KEY_LEFT 0x6A #define KEY_RIGHT 0x6B // #define _ 0x6C // #define _ 0x6D // #define _ 0x6E // #define _ 0x6F #define KEY_F1 0x70 #define KEY_F2 0x71 #define KEY_F3 0x72 #define KEY_F4 0x73 #define KEY_F5 0x74 #define KEY_F6 0x75 #define KEY_F7 0x76 #define KEY_F8 0x77 #define KEY_F9 0x78 #define KEY_F10 0x79 #define KEY_F11 0x7A #define KEY_F12 0x7B // #define _ 0x7C // #define _ 0x7D // #define _ 0x7E // #define _ 0x7F