FPLBase
An open source project by
FPL.
|
Keyboard key codes used by FPLBase, which correspond to a key press's value, as mapped by the current operating system. This is ideal for character-dependent controls. More...
Keyboard key codes used by FPLBase, which correspond to a key press's value, as mapped by the current operating system. This is ideal for character-dependent controls.
For example, let's imagine a game that requires the a
key to be pressed to trigger a
for attack. If a player mapped a given key (a
), on the physical keyboard, to produce the German a-umlaut (รค
), then this key would no longer produce the FPLK_a
keycode (but it would still produce the FPL_SCANCODE_A
, which may not be what the user expects).
Let's pretend they now have mapped F1
to generate the actual a
keystroke. They would expect to press F1
to generate the a
keystroke for attack, which would correctly correspond to the FPLK_a
keycode, but would generate the incorrect scancode FPL_SCANCODE_F1
.
Typedefs | |
typedef int32_t | fplbase::FPL_Keycode |
Enumerations | |
enum | { FPLK_UNKNOWN = 0, FPLK_RETURN = '\r', FPLK_ESCAPE = '\033', FPLK_BACKSPACE = '\b', FPLK_TAB = '\t', FPLK_SPACE = ' ', FPLK_EXCLAIM = '!', FPLK_QUOTEDBL = '"', FPLK_HASH = '#', FPLK_PERCENT = '', FPLK_DOLLAR = '$', FPLK_AMPERSAND = '&', FPLK_QUOTE = '\'', FPLK_LEFTPAREN = '(', FPLK_RIGHTPAREN = ')', FPLK_ASTERISK = '*', FPLK_PLUS = '+', FPLK_COMMA = ',', FPLK_MINUS = '-', FPLK_PERIOD = '.', FPLK_SLASH = '/', FPLK_0 = '0', FPLK_1 = '1', FPLK_2 = '2', FPLK_3 = '3', FPLK_4 = '4', FPLK_5 = '5', FPLK_6 = '6', FPLK_7 = '7', FPLK_8 = '8', FPLK_9 = '9', FPLK_COLON = ':', FPLK_SEMICOLON = ';', FPLK_LESS = '<', FPLK_EQUALS = '=', FPLK_GREATER = '>', FPLK_QUESTION = '?', FPLK_AT = '@', FPLK_LEFTBRACKET = '[', FPLK_BACKSLASH = '\\', FPLK_RIGHTBRACKET = ']', FPLK_CARET = '^', FPLK_UNDERSCORE = '_', FPLK_BACKQUOTE = '`', FPLK_a = 'a', FPLK_b = 'b', FPLK_c = 'c', FPLK_d = 'd', FPLK_e = 'e', FPLK_f = 'f', FPLK_g = 'g', FPLK_h = 'h', FPLK_i = 'i', FPLK_j = 'j', FPLK_k = 'k', FPLK_l = 'l', FPLK_m = 'm', FPLK_n = 'n', FPLK_o = 'o', FPLK_p = 'p', FPLK_q = 'q', FPLK_r = 'r', FPLK_s = 's', FPLK_t = 't', FPLK_u = 'u', FPLK_v = 'v', FPLK_w = 'w', FPLK_x = 'x', FPLK_y = 'y', FPLK_z = 'z', FPLK_CAPSLOCK = FPL_SCANCODE_TO_KEYCODE(FPL_SCANCODE_CAPSLOCK), FPLK_F1 = FPL_SCANCODE_TO_KEYCODE(FPL_SCANCODE_F1), FPLK_F2 = FPL_SCANCODE_TO_KEYCODE(FPL_SCANCODE_F2), FPLK_F3 = FPL_SCANCODE_TO_KEYCODE(FPL_SCANCODE_F3), FPLK_F4 = FPL_SCANCODE_TO_KEYCODE(FPL_SCANCODE_F4), FPLK_F5 = FPL_SCANCODE_TO_KEYCODE(FPL_SCANCODE_F5), FPLK_F6 = FPL_SCANCODE_TO_KEYCODE(FPL_SCANCODE_F6), FPLK_F7 = FPL_SCANCODE_TO_KEYCODE(FPL_SCANCODE_F7), FPLK_F8 = FPL_SCANCODE_TO_KEYCODE(FPL_SCANCODE_F8), FPLK_F9 = FPL_SCANCODE_TO_KEYCODE(FPL_SCANCODE_F9), FPLK_F10 = FPL_SCANCODE_TO_KEYCODE(FPL_SCANCODE_F10), FPLK_F11 = FPL_SCANCODE_TO_KEYCODE(FPL_SCANCODE_F11), FPLK_F12 = FPL_SCANCODE_TO_KEYCODE(FPL_SCANCODE_F12), FPLK_PRINTSCREEN = FPL_SCANCODE_TO_KEYCODE(FPL_SCANCODE_PRINTSCREEN), FPLK_SCROLLLOCK = FPL_SCANCODE_TO_KEYCODE(FPL_SCANCODE_SCROLLLOCK), FPLK_PAUSE = FPL_SCANCODE_TO_KEYCODE(FPL_SCANCODE_PAUSE), FPLK_INSERT = FPL_SCANCODE_TO_KEYCODE(FPL_SCANCODE_INSERT), FPLK_HOME = FPL_SCANCODE_TO_KEYCODE(FPL_SCANCODE_HOME), FPLK_PAGEUP = FPL_SCANCODE_TO_KEYCODE(FPL_SCANCODE_PAGEUP), FPLK_DELETE = '\177', FPLK_END = FPL_SCANCODE_TO_KEYCODE(FPL_SCANCODE_END), FPLK_PAGEDOWN = FPL_SCANCODE_TO_KEYCODE(FPL_SCANCODE_PAGEDOWN), FPLK_RIGHT = FPL_SCANCODE_TO_KEYCODE(FPL_SCANCODE_RIGHT), FPLK_LEFT = FPL_SCANCODE_TO_KEYCODE(FPL_SCANCODE_LEFT), FPLK_DOWN = FPL_SCANCODE_TO_KEYCODE(FPL_SCANCODE_DOWN), FPLK_UP = FPL_SCANCODE_TO_KEYCODE(FPL_SCANCODE_UP), FPLK_NUMLOCKCLEAR = FPL_SCANCODE_TO_KEYCODE(FPL_SCANCODE_NUMLOCKCLEAR), FPLK_KP_DIVIDE = FPL_SCANCODE_TO_KEYCODE(FPL_SCANCODE_KP_DIVIDE), FPLK_KP_MULTIPLY = FPL_SCANCODE_TO_KEYCODE(FPL_SCANCODE_KP_MULTIPLY), FPLK_KP_MINUS = FPL_SCANCODE_TO_KEYCODE(FPL_SCANCODE_KP_MINUS), FPLK_KP_PLUS = FPL_SCANCODE_TO_KEYCODE(FPL_SCANCODE_KP_PLUS), FPLK_KP_ENTER = FPL_SCANCODE_TO_KEYCODE(FPL_SCANCODE_KP_ENTER), FPLK_KP_1 = FPL_SCANCODE_TO_KEYCODE(FPL_SCANCODE_KP_1), FPLK_KP_2 = FPL_SCANCODE_TO_KEYCODE(FPL_SCANCODE_KP_2), FPLK_KP_3 = FPL_SCANCODE_TO_KEYCODE(FPL_SCANCODE_KP_3), FPLK_KP_4 = FPL_SCANCODE_TO_KEYCODE(FPL_SCANCODE_KP_4), FPLK_KP_5 = FPL_SCANCODE_TO_KEYCODE(FPL_SCANCODE_KP_5), FPLK_KP_6 = FPL_SCANCODE_TO_KEYCODE(FPL_SCANCODE_KP_6), FPLK_KP_7 = FPL_SCANCODE_TO_KEYCODE(FPL_SCANCODE_KP_7), FPLK_KP_8 = FPL_SCANCODE_TO_KEYCODE(FPL_SCANCODE_KP_8), FPLK_KP_9 = FPL_SCANCODE_TO_KEYCODE(FPL_SCANCODE_KP_9), FPLK_KP_0 = FPL_SCANCODE_TO_KEYCODE(FPL_SCANCODE_KP_0), FPLK_KP_PERIOD = FPL_SCANCODE_TO_KEYCODE(FPL_SCANCODE_KP_PERIOD), FPLK_APPLICATION = FPL_SCANCODE_TO_KEYCODE(FPL_SCANCODE_APPLICATION), FPLK_POWER = FPL_SCANCODE_TO_KEYCODE(FPL_SCANCODE_POWER), FPLK_KP_EQUALS = FPL_SCANCODE_TO_KEYCODE(FPL_SCANCODE_KP_EQUALS), FPLK_F13 = FPL_SCANCODE_TO_KEYCODE(FPL_SCANCODE_F13), FPLK_F14 = FPL_SCANCODE_TO_KEYCODE(FPL_SCANCODE_F14), FPLK_F15 = FPL_SCANCODE_TO_KEYCODE(FPL_SCANCODE_F15), FPLK_F16 = FPL_SCANCODE_TO_KEYCODE(FPL_SCANCODE_F16), FPLK_F17 = FPL_SCANCODE_TO_KEYCODE(FPL_SCANCODE_F17), FPLK_F18 = FPL_SCANCODE_TO_KEYCODE(FPL_SCANCODE_F18), FPLK_F19 = FPL_SCANCODE_TO_KEYCODE(FPL_SCANCODE_F19), FPLK_F20 = FPL_SCANCODE_TO_KEYCODE(FPL_SCANCODE_F20), FPLK_F21 = FPL_SCANCODE_TO_KEYCODE(FPL_SCANCODE_F21), FPLK_F22 = FPL_SCANCODE_TO_KEYCODE(FPL_SCANCODE_F22), FPLK_F23 = FPL_SCANCODE_TO_KEYCODE(FPL_SCANCODE_F23), FPLK_F24 = FPL_SCANCODE_TO_KEYCODE(FPL_SCANCODE_F24), FPLK_EXECUTE = FPL_SCANCODE_TO_KEYCODE(FPL_SCANCODE_EXECUTE), FPLK_HELP = FPL_SCANCODE_TO_KEYCODE(FPL_SCANCODE_HELP), FPLK_MENU = FPL_SCANCODE_TO_KEYCODE(FPL_SCANCODE_MENU), FPLK_SELECT = FPL_SCANCODE_TO_KEYCODE(FPL_SCANCODE_SELECT), FPLK_STOP = FPL_SCANCODE_TO_KEYCODE(FPL_SCANCODE_STOP), FPLK_AGAIN = FPL_SCANCODE_TO_KEYCODE(FPL_SCANCODE_AGAIN), FPLK_UNDO = FPL_SCANCODE_TO_KEYCODE(FPL_SCANCODE_UNDO), FPLK_CUT = FPL_SCANCODE_TO_KEYCODE(FPL_SCANCODE_CUT), FPLK_COPY = FPL_SCANCODE_TO_KEYCODE(FPL_SCANCODE_COPY), FPLK_PASTE = FPL_SCANCODE_TO_KEYCODE(FPL_SCANCODE_PASTE), FPLK_FIND = FPL_SCANCODE_TO_KEYCODE(FPL_SCANCODE_FIND), FPLK_MUTE = FPL_SCANCODE_TO_KEYCODE(FPL_SCANCODE_MUTE), FPLK_VOLUMEUP = FPL_SCANCODE_TO_KEYCODE(FPL_SCANCODE_VOLUMEUP), FPLK_VOLUMEDOWN = FPL_SCANCODE_TO_KEYCODE(FPL_SCANCODE_VOLUMEDOWN), FPLK_KP_COMMA = FPL_SCANCODE_TO_KEYCODE(FPL_SCANCODE_KP_COMMA), FPLK_KP_EQUALSAS400 = FPL_SCANCODE_TO_KEYCODE(FPL_SCANCODE_KP_EQUALSAS400), FPLK_ALTERASE = FPL_SCANCODE_TO_KEYCODE(FPL_SCANCODE_ALTERASE), FPLK_SYSREQ = FPL_SCANCODE_TO_KEYCODE(FPL_SCANCODE_SYSREQ), FPLK_CANCEL = FPL_SCANCODE_TO_KEYCODE(FPL_SCANCODE_CANCEL), FPLK_CLEAR = FPL_SCANCODE_TO_KEYCODE(FPL_SCANCODE_CLEAR), FPLK_PRIOR = FPL_SCANCODE_TO_KEYCODE(FPL_SCANCODE_PRIOR), FPLK_RETURN2 = FPL_SCANCODE_TO_KEYCODE(FPL_SCANCODE_RETURN2), FPLK_SEPARATOR = FPL_SCANCODE_TO_KEYCODE(FPL_SCANCODE_SEPARATOR), FPLK_OUT = FPL_SCANCODE_TO_KEYCODE(FPL_SCANCODE_OUT), FPLK_OPER = FPL_SCANCODE_TO_KEYCODE(FPL_SCANCODE_OPER), FPLK_CLEARAGAIN = FPL_SCANCODE_TO_KEYCODE(FPL_SCANCODE_CLEARAGAIN), FPLK_CRSEL = FPL_SCANCODE_TO_KEYCODE(FPL_SCANCODE_CRSEL), FPLK_EXSEL = FPL_SCANCODE_TO_KEYCODE(FPL_SCANCODE_EXSEL), FPLK_KP_00 = FPL_SCANCODE_TO_KEYCODE(FPL_SCANCODE_KP_00), FPLK_KP_000 = FPL_SCANCODE_TO_KEYCODE(FPL_SCANCODE_KP_000), FPLK_THOUSANDSSEPARATOR, FPLK_DECIMALSEPARATOR, FPLK_CURRENCYUNIT = FPL_SCANCODE_TO_KEYCODE(FPL_SCANCODE_CURRENCYUNIT), FPLK_CURRENCYSUBUNIT = FPL_SCANCODE_TO_KEYCODE(FPL_SCANCODE_CURRENCYSUBUNIT), FPLK_KP_LEFTPAREN = FPL_SCANCODE_TO_KEYCODE(FPL_SCANCODE_KP_LEFTPAREN), FPLK_KP_RIGHTPAREN = FPL_SCANCODE_TO_KEYCODE(FPL_SCANCODE_KP_RIGHTPAREN), FPLK_KP_LEFTBRACE = FPL_SCANCODE_TO_KEYCODE(FPL_SCANCODE_KP_LEFTBRACE), FPLK_KP_RIGHTBRACE = FPL_SCANCODE_TO_KEYCODE(FPL_SCANCODE_KP_RIGHTBRACE), FPLK_KP_TAB = FPL_SCANCODE_TO_KEYCODE(FPL_SCANCODE_KP_TAB), FPLK_KP_BACKSPACE = FPL_SCANCODE_TO_KEYCODE(FPL_SCANCODE_KP_BACKSPACE), FPLK_KP_A = FPL_SCANCODE_TO_KEYCODE(FPL_SCANCODE_KP_A), FPLK_KP_B = FPL_SCANCODE_TO_KEYCODE(FPL_SCANCODE_KP_B), FPLK_KP_C = FPL_SCANCODE_TO_KEYCODE(FPL_SCANCODE_KP_C), FPLK_KP_D = FPL_SCANCODE_TO_KEYCODE(FPL_SCANCODE_KP_D), FPLK_KP_E = FPL_SCANCODE_TO_KEYCODE(FPL_SCANCODE_KP_E), FPLK_KP_F = FPL_SCANCODE_TO_KEYCODE(FPL_SCANCODE_KP_F), FPLK_KP_XOR = FPL_SCANCODE_TO_KEYCODE(FPL_SCANCODE_KP_XOR), FPLK_KP_POWER = FPL_SCANCODE_TO_KEYCODE(FPL_SCANCODE_KP_POWER), FPLK_KP_PERCENT = FPL_SCANCODE_TO_KEYCODE(FPL_SCANCODE_KP_PERCENT), FPLK_KP_LESS = FPL_SCANCODE_TO_KEYCODE(FPL_SCANCODE_KP_LESS), FPLK_KP_GREATER = FPL_SCANCODE_TO_KEYCODE(FPL_SCANCODE_KP_GREATER), FPLK_KP_AMPERSAND = FPL_SCANCODE_TO_KEYCODE(FPL_SCANCODE_KP_AMPERSAND), FPLK_KP_DBLAMPERSAND = FPL_SCANCODE_TO_KEYCODE(FPL_SCANCODE_KP_DBLAMPERSAND), FPLK_KP_VERTICALBAR = FPL_SCANCODE_TO_KEYCODE(FPL_SCANCODE_KP_VERTICALBAR), FPLK_KP_DBLVERTICALBAR, FPLK_KP_COLON = FPL_SCANCODE_TO_KEYCODE(FPL_SCANCODE_KP_COLON), FPLK_KP_HASH = FPL_SCANCODE_TO_KEYCODE(FPL_SCANCODE_KP_HASH), FPLK_KP_SPACE = FPL_SCANCODE_TO_KEYCODE(FPL_SCANCODE_KP_SPACE), FPLK_KP_AT = FPL_SCANCODE_TO_KEYCODE(FPL_SCANCODE_KP_AT), FPLK_KP_EXCLAM = FPL_SCANCODE_TO_KEYCODE(FPL_SCANCODE_KP_EXCLAM), FPLK_KP_MEMSTORE = FPL_SCANCODE_TO_KEYCODE(FPL_SCANCODE_KP_MEMSTORE), FPLK_KP_MEMRECALL = FPL_SCANCODE_TO_KEYCODE(FPL_SCANCODE_KP_MEMRECALL), FPLK_KP_MEMCLEAR = FPL_SCANCODE_TO_KEYCODE(FPL_SCANCODE_KP_MEMCLEAR), FPLK_KP_MEMADD = FPL_SCANCODE_TO_KEYCODE(FPL_SCANCODE_KP_MEMADD), FPLK_KP_MEMSUBTRACT = FPL_SCANCODE_TO_KEYCODE(FPL_SCANCODE_KP_MEMSUBTRACT), FPLK_KP_MEMMULTIPLY = FPL_SCANCODE_TO_KEYCODE(FPL_SCANCODE_KP_MEMMULTIPLY), FPLK_KP_MEMDIVIDE = FPL_SCANCODE_TO_KEYCODE(FPL_SCANCODE_KP_MEMDIVIDE), FPLK_KP_PLUSMINUS = FPL_SCANCODE_TO_KEYCODE(FPL_SCANCODE_KP_PLUSMINUS), FPLK_KP_CLEAR = FPL_SCANCODE_TO_KEYCODE(FPL_SCANCODE_KP_CLEAR), FPLK_KP_CLEARENTRY = FPL_SCANCODE_TO_KEYCODE(FPL_SCANCODE_KP_CLEARENTRY), FPLK_KP_BINARY = FPL_SCANCODE_TO_KEYCODE(FPL_SCANCODE_KP_BINARY), FPLK_KP_OCTAL = FPL_SCANCODE_TO_KEYCODE(FPL_SCANCODE_KP_OCTAL), FPLK_KP_DECIMAL = FPL_SCANCODE_TO_KEYCODE(FPL_SCANCODE_KP_DECIMAL), FPLK_KP_HEXADECIMAL = FPL_SCANCODE_TO_KEYCODE(FPL_SCANCODE_KP_HEXADECIMAL), FPLK_LCTRL = FPL_SCANCODE_TO_KEYCODE(FPL_SCANCODE_LCTRL), FPLK_LSHIFT = FPL_SCANCODE_TO_KEYCODE(FPL_SCANCODE_LSHIFT), FPLK_LALT = FPL_SCANCODE_TO_KEYCODE(FPL_SCANCODE_LALT), FPLK_LGUI = FPL_SCANCODE_TO_KEYCODE(FPL_SCANCODE_LGUI), FPLK_RCTRL = FPL_SCANCODE_TO_KEYCODE(FPL_SCANCODE_RCTRL), FPLK_RSHIFT = FPL_SCANCODE_TO_KEYCODE(FPL_SCANCODE_RSHIFT), FPLK_RALT = FPL_SCANCODE_TO_KEYCODE(FPL_SCANCODE_RALT), FPLK_RGUI = FPL_SCANCODE_TO_KEYCODE(FPL_SCANCODE_RGUI), FPLK_MODE = FPL_SCANCODE_TO_KEYCODE(FPL_SCANCODE_MODE), FPLK_AUDIONEXT = FPL_SCANCODE_TO_KEYCODE(FPL_SCANCODE_AUDIONEXT), FPLK_AUDIOPREV = FPL_SCANCODE_TO_KEYCODE(FPL_SCANCODE_AUDIOPREV), FPLK_AUDIOSTOP = FPL_SCANCODE_TO_KEYCODE(FPL_SCANCODE_AUDIOSTOP), FPLK_AUDIOPLAY = FPL_SCANCODE_TO_KEYCODE(FPL_SCANCODE_AUDIOPLAY), FPLK_AUDIOMUTE = FPL_SCANCODE_TO_KEYCODE(FPL_SCANCODE_AUDIOMUTE), FPLK_MEDIASELECT = FPL_SCANCODE_TO_KEYCODE(FPL_SCANCODE_MEDIASELECT), FPLK_WWW = FPL_SCANCODE_TO_KEYCODE(FPL_SCANCODE_WWW), FPLK_MAIL = FPL_SCANCODE_TO_KEYCODE(FPL_SCANCODE_MAIL), FPLK_CALCULATOR = FPL_SCANCODE_TO_KEYCODE(FPL_SCANCODE_CALCULATOR), FPLK_COMPUTER = FPL_SCANCODE_TO_KEYCODE(FPL_SCANCODE_COMPUTER), FPLK_AC_SEARCH = FPL_SCANCODE_TO_KEYCODE(FPL_SCANCODE_AC_SEARCH), FPLK_AC_HOME = FPL_SCANCODE_TO_KEYCODE(FPL_SCANCODE_AC_HOME), FPLK_AC_BACK = FPL_SCANCODE_TO_KEYCODE(FPL_SCANCODE_AC_BACK), FPLK_AC_FORWARD = FPL_SCANCODE_TO_KEYCODE(FPL_SCANCODE_AC_FORWARD), FPLK_AC_STOP = FPL_SCANCODE_TO_KEYCODE(FPL_SCANCODE_AC_STOP), FPLK_AC_REFRESH = FPL_SCANCODE_TO_KEYCODE(FPL_SCANCODE_AC_REFRESH), FPLK_AC_BOOKMARKS = FPL_SCANCODE_TO_KEYCODE(FPL_SCANCODE_AC_BOOKMARKS), FPLK_BRIGHTNESSDOWN = FPL_SCANCODE_TO_KEYCODE(FPL_SCANCODE_BRIGHTNESSDOWN), FPLK_BRIGHTNESSUP = FPL_SCANCODE_TO_KEYCODE(FPL_SCANCODE_BRIGHTNESSUP), FPLK_DISPLAYSWITCH = FPL_SCANCODE_TO_KEYCODE(FPL_SCANCODE_DISPLAYSWITCH), FPLK_KBDILLUMTOGGLE = FPL_SCANCODE_TO_KEYCODE(FPL_SCANCODE_KBDILLUMTOGGLE), FPLK_KBDILLUMDOWN = FPL_SCANCODE_TO_KEYCODE(FPL_SCANCODE_KBDILLUMDOWN), FPLK_KBDILLUMUP = FPL_SCANCODE_TO_KEYCODE(FPL_SCANCODE_KBDILLUMUP), FPLK_EJECT = FPL_SCANCODE_TO_KEYCODE(FPL_SCANCODE_EJECT), FPLK_SLEEP = FPL_SCANCODE_TO_KEYCODE(FPL_SCANCODE_SLEEP) } |
enum | fplbase::FPL_Keymod { FPL_KMOD_NONE = 0x0000, FPL_KMOD_LSHIFT = 0x0001, FPL_KMOD_RSHIFT = 0x0002, FPL_KMOD_LCTRL = 0x0040, FPL_KMOD_RCTRL = 0x0080, FPL_KMOD_LALT = 0x0100, FPL_KMOD_RALT = 0x0200, FPL_KMOD_LGUI = 0x0400, FPL_KMOD_RGUI = 0x0800, FPL_KMOD_NUM = 0x1000, FPL_KMOD_CAPS = 0x2000, FPL_KMOD_MODE = 0x4000, FPL_KMOD_RESERVED = 0x8000 } |
Enumeration of valid key mods (possibly OR'd together). | |