#include "keyCodes.h" const std::unordered_map sdlToCustom = { { SDLK_SPACE, Space }, { SDLK_QUOTE, Apostrophe }, { SDLK_COMMA, Comma }, { SDLK_MINUS, Minus }, { SDLK_PERIOD, Period }, { SDLK_SLASH, Slash }, { SDLK_0, D0 }, { SDLK_1, D1 }, { SDLK_2, D2 }, { SDLK_3, D3 }, { SDLK_4, D4 }, { SDLK_5, D5 }, { SDLK_6, D6 }, { SDLK_7, D7 }, { SDLK_8, D8 }, { SDLK_9, D9 }, { SDLK_SEMICOLON, Semicolon }, { SDLK_EQUALS, Equal }, { SDLK_a, A }, { SDLK_b, B }, { SDLK_c, C }, { SDLK_d, D }, { SDLK_e, E }, { SDLK_f, F }, { SDLK_g, G }, { SDLK_h, H }, { SDLK_i, I }, { SDLK_j, J }, { SDLK_k, K }, { SDLK_l, L }, { SDLK_m, M }, { SDLK_n, N }, { SDLK_o, O }, { SDLK_p, P }, { SDLK_q, Q }, { SDLK_r, R }, { SDLK_s, S }, { SDLK_t, T }, { SDLK_u, U }, { SDLK_v, V }, { SDLK_w, W }, { SDLK_x, X }, { SDLK_y, Y }, { SDLK_z, Z }, { SDLK_LEFTBRACKET, LeftBracket }, { SDLK_BACKSLASH, Backslash }, { SDLK_RIGHTBRACKET, RightBracket }, { SDLK_BACKQUOTE, GraveAccent }, { SDLK_ESCAPE, Escape }, { SDLK_RETURN, Enter }, { SDLK_TAB, Tab }, { SDLK_BACKSPACE, Backspace }, { SDLK_INSERT, Insert }, { SDLK_DELETE, Delete }, { SDLK_RIGHT, Right }, { SDLK_LEFT, Left }, { SDLK_DOWN, Down }, { SDLK_UP, Up }, { SDLK_PAGEUP, PageUp }, { SDLK_PAGEDOWN, PageDown }, { SDLK_HOME, Home }, { SDLK_END, End }, { SDLK_CAPSLOCK, CapsLock }, { SDLK_SCROLLLOCK, ScrollLock }, { SDLK_NUMLOCKCLEAR, NumLock }, { SDLK_PRINTSCREEN, PrintScreen }, { SDLK_PAUSE, Pause }, { SDLK_F1, F1 }, { SDLK_F2, F2 }, { SDLK_F3, F3 }, { SDLK_F4, F4 }, { SDLK_F5, F5 }, { SDLK_F6, F6 }, { SDLK_F7, F7 }, { SDLK_F8, F8 }, { SDLK_F9, F9 }, { SDLK_F10, F10 }, { SDLK_F11, F11 }, { SDLK_F12, F12 }, { SDLK_F13, F13 }, { SDLK_F14, F14 }, { SDLK_F15, F15 }, { SDLK_F16, F16 }, { SDLK_F17, F17 }, { SDLK_F18, F18 }, { SDLK_F19, F19 }, { SDLK_F20, F20 }, { SDLK_F21, F21 }, { SDLK_F22, F22 }, { SDLK_F23, F23 }, { SDLK_F24, F24 }, { SDLK_KP_0, KP0 }, { SDLK_KP_1, KP1 }, { SDLK_KP_2, KP2 }, { SDLK_KP_3, KP3 }, { SDLK_KP_4, KP4 }, { SDLK_KP_5, KP5 }, { SDLK_KP_6, KP6 }, { SDLK_KP_7, KP7 }, { SDLK_KP_8, KP8 }, { SDLK_KP_9, KP9 }, { SDLK_KP_DECIMAL, KPDecimal }, { SDLK_KP_DIVIDE, KPDivide }, { SDLK_KP_MULTIPLY, KPMultiply }, { SDLK_KP_MINUS, KPSubtract }, { SDLK_KP_PLUS, KPAdd }, { SDLK_KP_ENTER, KPEnter }, { SDLK_KP_EQUALS, KPEqual }, { SDLK_LSHIFT, LeftShift }, { SDLK_LCTRL, LeftControl }, { SDLK_LALT, LeftAlt }, { SDLK_LGUI, LeftSuper }, { SDLK_RSHIFT, RightShift }, { SDLK_RCTRL, RightControl }, { SDLK_RALT, RightAlt }, { SDLK_RGUI, RightSuper }, { SDLK_MENU, Menu } }; Keycode getCustomKey(SDL_Keycode sdlKey) { auto it = sdlToCustom.find(sdlKey); if (it != sdlToCustom.end()) { return it->second; } return 0; }