#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, KEY_LAYER0 = 0xf00, KEY_LAYER1, }; _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 */