#ifndef ANKI_INPUT_KEY_CODES_H #define ANKI_INPUT_KEY_CODES_H namespace anki { /// Keyboard scancodes taken from SDL enum KeyCode { KC_UNKNOWN = 0, KC_RETURN = '\r', KC_ESCAPE = '\033', KC_BACKSPACE = '\b', KC_TAB = '\t', KC_SPACE = ' ', KC_EXCLAIM = '!', KC_QUOTEDBL = '"', KC_HASH = '#', KC_PERCENT = '%', KC_DOLLAR = '$', KC_AMPERSAND = '&', KC_QUOTE = '\'', KC_LEFTPAREN = '(', KC_RIGHTPAREN = ')', KC_ASTERISK = '*', KC_PLUS = '+', KC_COMMA = ',', KC_MINUS = '-', KC_PERIOD = '.', KC_SLASH = '/', KC_0 = '0', KC_1 = '1', KC_2 = '2', KC_3 = '3', KC_4 = '4', KC_5 = '5', KC_6 = '6', KC_7 = '7', KC_8 = '8', KC_9 = '9', KC_COLON = ':', KC_SEMICOLON = ';', KC_LESS = '<', KC_EQUALS = '=', KC_GREATER = '>', KC_QUESTION = '?', KC_AT = '@', KC_LEFTBRACKET = '[', KC_BACKSLASH = '\\', KC_RIGHTBRACKET = ']', KC_CARET = '^', KC_UNDERSCORE = '_', KC_BACKQUOTE = '`', KC_A = 'a', KC_B = 'b', KC_C = 'c', KC_D = 'd', KC_E = 'e', KC_F = 'f', KC_G = 'g', KC_H = 'h', KC_I = 'i', KC_J = 'j', KC_K = 'k', KC_L = 'l', KC_M = 'm', KC_N = 'n', KC_O = 'o', KC_P = 'p', KC_Q = 'q', KC_R = 'r', KC_S = 's', KC_T = 't', KC_U = 'u', KC_V = 'v', KC_W = 'w', KC_X = 'x', KC_Y = 'y', KC_Z = 'z', KC_CAPSLOCK, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PRINTSCREEN, KC_SCROLLLOCK, KC_PAUSE, KC_INSERT, KC_HOME, KC_PAGEUP, KC_DELETE = '\177', KC_END, KC_PAGEDOWN, KC_RIGHT, KC_LEFT, KC_DOWN, KC_UP, KC_NUMLOCKCLEAR, KC_KP_DIVIDE, KC_KP_MULTIPLY, KC_KP_MINUS, KC_KP_PLUS, KC_KP_ENTER, KC_KP_1, KC_KP_2, KC_KP_3, KC_KP_4, KC_KP_5, KC_KP_6, KC_KP_7, KC_KP_8, KC_KP_9, KC_KP_0, KC_KP_PERIOD, KC_APPLICATION, KC_POWER, KC_KP_EQUALS, KC_F13, KC_F14, KC_F15, KC_F16, KC_F17, KC_F18, KC_F19, KC_F20, KC_F21, KC_F22, KC_F23, KC_F24, KC_EXECUTE, KC_HELP, KC_MENU, KC_SELECT, KC_STOP, KC_AGAIN, KC_UNDO, KC_CUT, KC_COPY, KC_PASTE, KC_FIND, KC_MUTE, KC_VOLUMEUP, KC_VOLUMEDOWN, KC_KP_COMMA, KC_KP_EQUALSAS400, KC_ALTERASE, KC_SYSREQ, KC_CANCEL, KC_CLEAR, KC_PRIOR, KC_RETURN2, KC_SEPARATOR, KC_OUT, KC_OPER, KC_CLEARAGAIN, KC_CRSEL, KC_EXSEL, KC_KP_00, KC_KP_000, KC_THOUSANDSSEPARATOR, KC_DECIMALSEPARATOR, KC_CURRENCYUNIT, KC_CURRENCYSUBUNIT, KC_KP_LEFTPAREN, KC_KP_RIGHTPAREN, KC_KP_LEFTBRACE, KC_KP_RIGHTBRACE, KC_KP_TAB, KC_KP_BACKSPACE, KC_KP_A, KC_KP_B, KC_KP_C, KC_KP_D, KC_KP_E, KC_KP_F, KC_KP_XOR, KC_KP_POWER, KC_KP_PERCENT, KC_KP_LESS, KC_KP_GREATER, KC_KP_AMPERSAND, KC_KP_DBLAMPERSAND, KC_KP_VERTICALBAR, KC_KP_DBLVERTICALBAR, KC_KP_COLON, KC_KP_HASH, KC_KP_SPACE, KC_KP_AT, KC_KP_EXCLAM, KC_KP_MEMSTORE, KC_KP_MEMRECALL, KC_KP_MEMCLEAR, KC_KP_MEMADD, KC_KP_MEMSUBTRACT, KC_KP_MEMMULTIPLY, KC_KP_MEMDIVIDE, KC_KP_PLUSMINUS, KC_KP_CLEAR, KC_KP_CLEARENTRY, KC_KP_BINARY, KC_KP_OCTAL, KC_KP_DECIMAL, KC_KP_HEXADECIMAL, KC_LCTRL, KC_LSHIFT, KC_LALT, KC_LGUI, KC_RCTRL, KC_RSHIFT, KC_RALT, KC_RGUI, KC_MODE, KC_AUDIONEXT, KC_AUDIOPREV, KC_AUDIOSTOP, KC_AUDIOPLAY, KC_AUDIOMUTE, KC_MEDIASELECT, KC_WWW, KC_MAIL, KC_CALCULATOR, KC_COMPUTER, KC_AC_SEARCH, KC_AC_HOME, KC_AC_BACK, KC_AC_FORWARD, KC_AC_STOP, KC_AC_REFRESH, KC_AC_BOOKMARKS, KC_BRIGHTNESSDOWN, KC_BRIGHTNESSUP, KC_DISPLAYSWITCH, KC_KBDILLUMTOGGLE, KC_KBDILLUMDOWN, KC_KBDILLUMUP, KC_EJECT, KC_SLEEP, KC_COUNT }; } // end namespace anki #endif