From 7aabf63eb176075641173e8acf4c5ffad21b63b0 Mon Sep 17 00:00:00 2001 From: Tomasz Kramkowski Date: Thu, 25 May 2017 21:32:19 +0100 Subject: usb/keycodes.h: HID key codes --- usb/keycodes.h | 226 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 226 insertions(+) create mode 100644 usb/keycodes.h diff --git a/usb/keycodes.h b/usb/keycodes.h new file mode 100644 index 0000000..b1eec72 --- /dev/null +++ b/usb/keycodes.h @@ -0,0 +1,226 @@ +#ifndef FMK_USB_KEYCODES_H +#define FMK_USB_KEYCODES_H + +enum keycode { + KEY_NONE = 0x00, + KEY_A = 0x04, + KEY_B, + KEY_C, + KEY_D, + KEY_E, + KEY_F, + KEY_G, + KEY_H, + KEY_I, + KEY_J, + KEY_K, + KEY_L, + KEY_M, + KEY_N, + KEY_O, + KEY_P, + KEY_Q, + KEY_R, + KEY_S, + KEY_T, + KEY_U, + KEY_V, + KEY_W, + KEY_X, + KEY_Y, + KEY_Z, + KEY_1, + KEY_2, + KEY_3, + KEY_4, + KEY_5, + KEY_6, + KEY_7, + KEY_8, + KEY_9, + KEY_0, + KEY_ENTER, + KEY_ESCAPE, + KEY_BACKSPACE, + KEY_TAB, + KEY_SPACE, + KEY_MINUS, // '-' + KEY_EQUAL, // '=' + KEY_LSQUARE, // '[' + KEY_RSQUARE, // ']' + KEY_BACKSLASH, // '\' + KEY_NU_NUMBER, // '#' + KEY_SEMICOLON, // ';' + KEY_QUOTE, // ''' + KEY_GRAVE, // '`' + KEY_COMMA, // ',' + KEY_PERIOD, // '.' + KEY_SLASH, // '/' + KEY_CAPSLK, + KEY_F1, + KEY_F2, + KEY_F3, + KEY_F4, + KEY_F5, + KEY_F6, + KEY_F7, + KEY_F8, + KEY_F9, + KEY_F10, + KEY_F11, + KEY_F12, + KEY_PRTSC, + KEY_SRCLK, + KEY_PAUSE, + KEY_INSERT, + KEY_HOME, + KEY_PGUP, + KEY_DELETE, + KEY_END, + KEY_PGDN, + KEY_RIGHT, + KEY_LEFT, + KEY_DOWN, + KEY_UP, + KEY_KP_NUMLK, + KEY_KP_DIV, + KEY_KP_MUL, + KEY_KP_MINUS, + KEY_KP_PLUS, + KEY_KP_ENTER, + KEY_KP_1, + KEY_KP_2, + KEY_KP_3, + KEY_KP_4, + KEY_KP_5, + KEY_KP_6, + KEY_KP_7, + KEY_KP_8, + KEY_KP_9, + KEY_KP_0, + KEY_KP_DECIMAL, + KEY_NU_BACKSLASH, + KEY_APPLICATION, + KEY_POWER, + KEY_KP_EQUAL, + KEY_F13, + KEY_F14, + KEY_F15, + KEY_F16, + KEY_F17, + KEY_F18, + KEY_F19, + KEY_F20, + KEY_F21, + KEY_F22, + KEY_F23, + KEY_F24, + KEY_EXEC, + KEY_HELP, + KEY_MENU, + KEY_SELECT, + KEY_STOP, + KEY_AGAIN, + KEY_UNDO, + KEY_CUT, + KEY_COPY, + KEY_PASTE, + KEY_FIND, + KEY_MUTE, + KEY_VOLUP, + KEY_VOLDN, + KEY_LK_CAPSLK, + KEY_LK_NUMLK, + KEY_LK_SCRLK, + KEY_KP_COMMA, + KEY_KP_EQUALSIGN, + KEY_INT1, + KEY_INT2, + KEY_INT3, + KEY_INT4, + KEY_INT5, + KEY_INT6, + KEY_INT7, + KEY_INT8, + KEY_INT9, + KEY_LANG1, + KEY_LANG2, + KEY_LANG3, + KEY_LANG4, + KEY_LANG5, + KEY_LANG6, + KEY_LANG7, + KEY_LANG8, + KEY_LANG9, + KEY_ALTERASE, + KEY_SYSRQ, + KEY_CANCEL, + KEY_CLEAR, + KEY_PRIOR, + KEY_RETURN, + KEY_SEPARATOR, + KEY_OUT, + KEY_OPER, + KEY_CLEAR_AGAIN, + KEY_CRSEL_PROPS, + KEY_EXSEL, + KEY_KP_00 = 0xb0, + KEY_KP_000, + KEY_THOU_SEP, + KEY_DEC_SEP, + KEY_CURRENCY, + KEY_CURRENCY_SUB, + KEY_KP_LBRACE, // '(' + KEY_KP_RBRACE, // ')' + KEY_KP_LCURL, // '{' + KEY_KP_RCURL, // '}' + KEY_KP_TAB, + KEY_KP_BACKSPACE, + KEY_KP_A, + KEY_KP_B, + KEY_KP_C, + KEY_KP_D, + KEY_KP_E, + KEY_KP_F, + KEY_KP_XOR, + KEY_KP_CARET, + KEY_KP_PERCENT, + KEY_KP_LANGLE, // '<' + KEY_KP_RANGLE, // '>' + KEY_KP_AMP, // '&' + KEY_KP_AMPAMP, // '&&' + KEY_KP_BAR, // '|' + KEY_KP_BARBAR, // '||' + KEY_KP_COLON, // ':' + KEY_KP_NUMBER, // '#' + KEY_KP_SPACE, + KEY_KP_AT, // '@' + KEY_KP_EXCLAM, // '!' + KEY_KP_MSTORE, + KEY_KP_MRECALL, + KEY_KP_MCLEAR, + KEY_KP_MADD, + KEY_KP_MSUB, + KEY_KP_MMUL, + KEY_KP_MDIV, + KEY_KP_PLUS_MINUS, + KEY_KP_CLEAR, + KEY_KP_CLEAR_ENTRY, + KEY_KP_BIN, + KEY_KP_OCT, + KEY_KP_DEC, + KEY_KP_HEX, + KEY_LCTRL = 0xe0, + KEY_LSHIFT, + KEY_LALT, + KEY_LGUI, + KEY_RCTRL, + KEY_RSHIFT, + KEY_RALT, + KEY_RGUI, +}; +_Static_assert(KEY_EXSEL == 0xa4, "Keycodes enum is broken"); +_Static_assert(KEY_KP_HEX == 0xdd, "Keycodes enum is broken"); +_Static_assert(KEY_RGUI == 0xe7, "Keycode enum is broken"); + +#endif /* FMK_USB_KEYCODES_H */ -- cgit v1.2.3-54-g00ecf