1 #pragma once 2 3 #include "Common/Data/Collections/ConstMap.h" 4 #include <map> 5 6 // TODO: Add any missing keys 7 static const std::map<int, int> KeyMapRawSDLtoNative = InitConstMap<int, int> 8 (SDLK_UNKNOWN, NKCODE_UNKNOWN) 9 (SDLK_p, NKCODE_P) 10 (SDLK_o, NKCODE_O) 11 (SDLK_i, NKCODE_I) 12 (SDLK_u, NKCODE_U) 13 (SDLK_y, NKCODE_Y) 14 (SDLK_t, NKCODE_T) 15 (SDLK_r, NKCODE_R) 16 (SDLK_e, NKCODE_E) 17 (SDLK_w, NKCODE_W) 18 (SDLK_q, NKCODE_Q) 19 (SDLK_l, NKCODE_L) 20 (SDLK_k, NKCODE_K) 21 (SDLK_j, NKCODE_J) 22 (SDLK_h, NKCODE_H) 23 (SDLK_g, NKCODE_G) 24 (SDLK_f, NKCODE_F) 25 (SDLK_d, NKCODE_D) 26 (SDLK_s, NKCODE_S) 27 (SDLK_a, NKCODE_A) 28 (SDLK_m, NKCODE_M) 29 (SDLK_n, NKCODE_N) 30 (SDLK_b, NKCODE_B) 31 (SDLK_v, NKCODE_V) 32 (SDLK_c, NKCODE_C) 33 (SDLK_x, NKCODE_X) 34 (SDLK_z, NKCODE_Z) 35 (SDLK_COMMA, NKCODE_COMMA) 36 (SDLK_PERIOD, NKCODE_PERIOD) 37 (SDLK_LALT, NKCODE_ALT_LEFT) 38 (SDLK_RALT, NKCODE_ALT_RIGHT) 39 (SDLK_LSHIFT, NKCODE_SHIFT_LEFT) 40 (SDLK_RSHIFT, NKCODE_SHIFT_RIGHT) 41 (SDLK_TAB, NKCODE_TAB) 42 (SDLK_SPACE, NKCODE_SPACE) 43 (SDLK_RETURN, NKCODE_ENTER) 44 (SDLK_MINUS, NKCODE_MINUS) 45 (SDLK_EQUALS, NKCODE_EQUALS) 46 (SDLK_LEFTBRACKET, NKCODE_LEFT_BRACKET) 47 (SDLK_RIGHTBRACKET, NKCODE_RIGHT_BRACKET) 48 (SDLK_BACKSLASH, NKCODE_BACKSLASH) 49 (SDLK_SEMICOLON, NKCODE_SEMICOLON) 50 (SDLK_QUOTE, NKCODE_APOSTROPHE) 51 (SDLK_SLASH, NKCODE_SLASH) 52 (SDLK_AT, NKCODE_AT) 53 (SDLK_PLUS, NKCODE_PLUS) 54 (SDLK_PAGEUP, NKCODE_PAGE_UP) 55 (SDLK_PAGEDOWN, NKCODE_PAGE_DOWN) 56 (SDLK_ESCAPE, NKCODE_ESCAPE) 57 (SDLK_BACKSPACE, NKCODE_DEL) 58 (SDLK_DELETE, NKCODE_FORWARD_DEL) 59 (SDLK_LCTRL, NKCODE_CTRL_LEFT) 60 (SDLK_RCTRL, NKCODE_CTRL_RIGHT) 61 (SDLK_CAPSLOCK, NKCODE_CAPS_LOCK) 62 (SDLK_HOME, NKCODE_MOVE_HOME) 63 (SDLK_END, NKCODE_MOVE_END) 64 (SDLK_INSERT, NKCODE_INSERT) 65 (SDLK_KP_0, NKCODE_NUMPAD_0) 66 (SDLK_KP_1, NKCODE_NUMPAD_1) 67 (SDLK_KP_2, NKCODE_NUMPAD_2) 68 (SDLK_KP_3, NKCODE_NUMPAD_3) 69 (SDLK_KP_4, NKCODE_NUMPAD_4) 70 (SDLK_KP_5, NKCODE_NUMPAD_5) 71 (SDLK_KP_6, NKCODE_NUMPAD_6) 72 (SDLK_KP_7, NKCODE_NUMPAD_7) 73 (SDLK_KP_8, NKCODE_NUMPAD_8) 74 (SDLK_KP_9, NKCODE_NUMPAD_9) 75 (SDLK_KP_DIVIDE, NKCODE_NUMPAD_DIVIDE) 76 (SDLK_KP_MULTIPLY, NKCODE_NUMPAD_MULTIPLY) 77 (SDLK_KP_MINUS, NKCODE_NUMPAD_SUBTRACT) 78 (SDLK_KP_PLUS, NKCODE_NUMPAD_ADD) 79 (SDLK_KP_PERIOD, NKCODE_NUMPAD_DOT) 80 (SDLK_KP_ENTER, NKCODE_NUMPAD_ENTER) 81 (SDLK_KP_EQUALS, NKCODE_NUMPAD_EQUALS) 82 (SDLK_BACKQUOTE, NKCODE_GRAVE) 83 (SDLK_1, NKCODE_1) 84 (SDLK_2, NKCODE_2) 85 (SDLK_3, NKCODE_3) 86 (SDLK_4, NKCODE_4) 87 (SDLK_5, NKCODE_5) 88 (SDLK_6, NKCODE_6) 89 (SDLK_7, NKCODE_7) 90 (SDLK_8, NKCODE_8) 91 (SDLK_9, NKCODE_9) 92 (SDLK_0, NKCODE_0) 93 (SDLK_F1, NKCODE_F1) 94 (SDLK_F2, NKCODE_F2) 95 (SDLK_F3, NKCODE_F3) 96 (SDLK_F4, NKCODE_F4) 97 (SDLK_F5, NKCODE_F5) 98 (SDLK_F6, NKCODE_F6) 99 (SDLK_F7, NKCODE_F7) 100 (SDLK_F8, NKCODE_F8) 101 (SDLK_F9, NKCODE_F9) 102 (SDLK_F10, NKCODE_F10) 103 (SDLK_F11, NKCODE_F11) 104 (SDLK_F12, NKCODE_F12) 105 (SDLK_LEFT, NKCODE_DPAD_LEFT) 106 (SDLK_UP, NKCODE_DPAD_UP) 107 (SDLK_RIGHT, NKCODE_DPAD_RIGHT) 108 (SDLK_DOWN, NKCODE_DPAD_DOWN) 109 (SDLK_PAUSE, NKCODE_BREAK) 110 ('|', NKCODE_EXT_PIPE) 111 ('{', NKCODE_LEFTBRACE) 112 ('}', NKCODE_RIGHTBRACE) 113 (191, NKCODE_START_QUESTION) 114 (SDLK_APPLICATION, NKCODE_MENU); 115 116