//////////////////////////////////////////////////////////////////////////////// // Scorched3D (c) 2000-2003 // // This file is part of Scorched3D. // // Scorched3D is free software; you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation; either version 2 of the License, or // (at your option) any later version. // // Scorched3D is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // // You should have received a copy of the GNU General Public License // along with Scorched3D; if not, write to the Free Software // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA //////////////////////////////////////////////////////////////////////////////// #include #include struct KeyTranslation { const char *keyName; unsigned int keySym; unsigned int wxKeySym; } KeyTranslationTable [] = { "UNKNOWN", SDLK_UNKNOWN, 0, "FIRST", SDLK_FIRST, 0, "BACKSPACE", SDLK_BACKSPACE, WXK_BACK, "TAB", SDLK_TAB, WXK_TAB, "CLEAR", SDLK_CLEAR, WXK_CLEAR, "RETURN", SDLK_RETURN, WXK_RETURN, "PAUSE", SDLK_PAUSE, WXK_PAUSE, "ESCAPE", SDLK_ESCAPE, WXK_ESCAPE, "SPACE", SDLK_SPACE, WXK_SPACE, "EXCLAIM", SDLK_EXCLAIM, '!', "QUOTEDBL", SDLK_QUOTEDBL, '"', "HASH", SDLK_HASH, '#', "DOLLAR", SDLK_DOLLAR, '$', "AMPERSAND", SDLK_AMPERSAND, '&', "QUOTE", SDLK_QUOTE, '\'', "LEFTPAREN", SDLK_LEFTPAREN, '[', "RIGHTPAREN", SDLK_RIGHTPAREN, ']', "ASTERISK", SDLK_ASTERISK, '*', "PLUS", SDLK_PLUS, '+', "COMMA", SDLK_COMMA, ',', "MINUS", SDLK_MINUS, '-', "PERIOD", SDLK_PERIOD, '.', "SLASH", SDLK_SLASH, '/', "0", SDLK_0, '0', "1", SDLK_1, '1', "2", SDLK_2, '2', "3", SDLK_3, '3', "4", SDLK_4, '4', "5", SDLK_5, '5', "6", SDLK_6, '6', "7", SDLK_7, '7', "8", SDLK_8, '8', "9", SDLK_9, '9', "COLON", SDLK_COLON, ':', "SEMICOLON", SDLK_SEMICOLON, ';', "LESS", SDLK_LESS, '<', "EQUALS", SDLK_EQUALS, '=', "GREATER", SDLK_GREATER, '>', "QUESTION", SDLK_QUESTION, '?', "AT", SDLK_AT, '@', "LEFTBRACKET", SDLK_LEFTBRACKET, '(', "BACKSLASH", SDLK_BACKSLASH, '\\', "RIGHTBRACKET", SDLK_RIGHTBRACKET, ')', "CARET", SDLK_CARET, '\'', "UNDERSCORE", SDLK_UNDERSCORE, '_', "BACKQUOTE", SDLK_BACKQUOTE, '`', "a", SDLK_a, 'A', "b", SDLK_b, 'B', "c", SDLK_c, 'C', "d", SDLK_d, 'D', "e", SDLK_e, 'E', "f", SDLK_f, 'F', "g", SDLK_g, 'G', "h", SDLK_h, 'H', "i", SDLK_i, 'I', "j", SDLK_j, 'J', "k", SDLK_k, 'K', "l", SDLK_l, 'L', "m", SDLK_m, 'M', "n", SDLK_n, 'N', "o", SDLK_o, 'O', "p", SDLK_p, 'P', "q", SDLK_q, 'Q', "r", SDLK_r, 'R', "s", SDLK_s, 'S', "t", SDLK_t, 'T', "u", SDLK_u, 'U', "v", SDLK_v, 'V', "w", SDLK_w, 'W', "x", SDLK_x, 'X', "y", SDLK_y, 'Y', "z", SDLK_z, 'Z', "DELETE", SDLK_DELETE, WXK_DELETE, "WORLD_0", SDLK_WORLD_0, 0, "WORLD_1", SDLK_WORLD_1, 0, "WORLD_2", SDLK_WORLD_2, 0, "WORLD_3", SDLK_WORLD_3, 0, "WORLD_4", SDLK_WORLD_4, 0, "WORLD_5", SDLK_WORLD_5, 0, "WORLD_6", SDLK_WORLD_6, 0, "WORLD_7", SDLK_WORLD_7, 0, "WORLD_8", SDLK_WORLD_8, 0, "WORLD_9", SDLK_WORLD_9, 0, "WORLD_10", SDLK_WORLD_10, 0, "WORLD_11", SDLK_WORLD_11, 0, "WORLD_12", SDLK_WORLD_12, 0, "WORLD_13", SDLK_WORLD_13, 0, "WORLD_14", SDLK_WORLD_14, 0, "WORLD_15", SDLK_WORLD_15, 0, "WORLD_16", SDLK_WORLD_16, 0, "WORLD_17", SDLK_WORLD_17, 0, "WORLD_18", SDLK_WORLD_18, 0, "WORLD_19", SDLK_WORLD_19, 0, "WORLD_20", SDLK_WORLD_20, 0, "WORLD_21", SDLK_WORLD_21, 0, "WORLD_22", SDLK_WORLD_22, 0, "WORLD_23", SDLK_WORLD_23, 0, "WORLD_24", SDLK_WORLD_24, 0, "WORLD_25", SDLK_WORLD_25, 0, "WORLD_26", SDLK_WORLD_26, 0, "WORLD_27", SDLK_WORLD_27, 0, "WORLD_28", SDLK_WORLD_28, 0, "WORLD_29", SDLK_WORLD_29, 0, "WORLD_30", SDLK_WORLD_30, 0, "WORLD_31", SDLK_WORLD_31, 0, "WORLD_32", SDLK_WORLD_32, 0, "WORLD_33", SDLK_WORLD_33, 0, "WORLD_34", SDLK_WORLD_34, 0, "WORLD_35", SDLK_WORLD_35, 0, "WORLD_36", SDLK_WORLD_36, 0, "WORLD_37", SDLK_WORLD_37, 0, "WORLD_38", SDLK_WORLD_38, 0, "WORLD_39", SDLK_WORLD_39, 0, "WORLD_40", SDLK_WORLD_40, 0, "WORLD_41", SDLK_WORLD_41, 0, "WORLD_42", SDLK_WORLD_42, 0, "WORLD_43", SDLK_WORLD_43, 0, "WORLD_44", SDLK_WORLD_44, 0, "WORLD_45", SDLK_WORLD_45, 0, "WORLD_46", SDLK_WORLD_46, 0, "WORLD_47", SDLK_WORLD_47, 0, "WORLD_48", SDLK_WORLD_48, 0, "WORLD_49", SDLK_WORLD_49, 0, "WORLD_50", SDLK_WORLD_50, 0, "WORLD_51", SDLK_WORLD_51, 0, "WORLD_52", SDLK_WORLD_52, 0, "WORLD_53", SDLK_WORLD_53, 0, "WORLD_54", SDLK_WORLD_54, 0, "WORLD_55", SDLK_WORLD_55, 0, "WORLD_56", SDLK_WORLD_56, 0, "WORLD_57", SDLK_WORLD_57, 0, "WORLD_58", SDLK_WORLD_58, 0, "WORLD_59", SDLK_WORLD_59, 0, "WORLD_60", SDLK_WORLD_60, 0, "WORLD_61", SDLK_WORLD_61, 0, "WORLD_62", SDLK_WORLD_62, 0, "WORLD_63", SDLK_WORLD_63, 0, "WORLD_64", SDLK_WORLD_64, 0, "WORLD_65", SDLK_WORLD_65, 0, "WORLD_66", SDLK_WORLD_66, 0, "WORLD_67", SDLK_WORLD_67, 0, "WORLD_68", SDLK_WORLD_68, 0, "WORLD_69", SDLK_WORLD_69, 0, "WORLD_70", SDLK_WORLD_70, 0, "WORLD_71", SDLK_WORLD_71, 0, "WORLD_72", SDLK_WORLD_72, 0, "WORLD_73", SDLK_WORLD_73, 0, "WORLD_74", SDLK_WORLD_74, 0, "WORLD_75", SDLK_WORLD_75, 0, "WORLD_76", SDLK_WORLD_76, 0, "WORLD_77", SDLK_WORLD_77, 0, "WORLD_78", SDLK_WORLD_78, 0, "WORLD_79", SDLK_WORLD_79, 0, "WORLD_80", SDLK_WORLD_80, 0, "WORLD_81", SDLK_WORLD_81, 0, "WORLD_82", SDLK_WORLD_82, 0, "WORLD_83", SDLK_WORLD_83, 0, "WORLD_84", SDLK_WORLD_84, 0, "WORLD_85", SDLK_WORLD_85, 0, "WORLD_86", SDLK_WORLD_86, 0, "WORLD_87", SDLK_WORLD_87, 0, "WORLD_88", SDLK_WORLD_88, 0, "WORLD_89", SDLK_WORLD_89, 0, "WORLD_90", SDLK_WORLD_90, 0, "WORLD_91", SDLK_WORLD_91, 0, "WORLD_92", SDLK_WORLD_92, 0, "WORLD_93", SDLK_WORLD_93, 0, "WORLD_94", SDLK_WORLD_94, 0, "WORLD_95", SDLK_WORLD_95, 0, "KP0", SDLK_KP0, WXK_NUMPAD0, "KP1", SDLK_KP1, WXK_NUMPAD1, "KP2", SDLK_KP2, WXK_NUMPAD2, "KP3", SDLK_KP3, WXK_NUMPAD3, "KP4", SDLK_KP4, WXK_NUMPAD4, "KP5", SDLK_KP5, WXK_NUMPAD5, "KP6", SDLK_KP6, WXK_NUMPAD6, "KP7", SDLK_KP7, WXK_NUMPAD7, "KP8", SDLK_KP8, WXK_NUMPAD8, "KP9", SDLK_KP9, WXK_NUMPAD9, "KP_PERIOD", SDLK_KP_PERIOD, WXK_NUMPAD_DECIMAL, "KP_DIVIDE", SDLK_KP_DIVIDE, WXK_NUMPAD_DIVIDE, "KP_MULTIPLY", SDLK_KP_MULTIPLY, WXK_NUMPAD_MULTIPLY, "KP_MINUS", SDLK_KP_MINUS, WXK_NUMPAD_SUBTRACT, "KP_PLUS", SDLK_KP_PLUS, WXK_NUMPAD_ADD, "KP_ENTER", SDLK_KP_ENTER, WXK_NUMPAD_ENTER, "KP_EQUALS", SDLK_KP_EQUALS, WXK_NUMPAD_EQUAL, "UP", SDLK_UP, WXK_UP, "DOWN", SDLK_DOWN, WXK_DOWN, "RIGHT", SDLK_RIGHT, WXK_RIGHT, "LEFT", SDLK_LEFT, WXK_LEFT, "INSERT", SDLK_INSERT, WXK_INSERT, "HOME", SDLK_HOME, WXK_HOME, "END", SDLK_END, WXK_END, "PAGEUP", SDLK_PAGEUP, WXK_PAGEUP, "PAGEDOWN", SDLK_PAGEDOWN, WXK_PAGEDOWN, "F1", SDLK_F1, WXK_F1, "F2", SDLK_F2, WXK_F2, "F3", SDLK_F3, WXK_F3, "F4", SDLK_F4, WXK_F4, "F5", SDLK_F5, WXK_F5, "F6", SDLK_F6, WXK_F6, "F7", SDLK_F7, WXK_F7, "F8", SDLK_F8, WXK_F8, "F9", SDLK_F9, WXK_F9, "F10", SDLK_F10, WXK_F10, "F11", SDLK_F11, WXK_F11, "F12", SDLK_F12, WXK_F12, "F13", SDLK_F13, WXK_F13, "F14", SDLK_F14, WXK_F14, "F15", SDLK_F15, WXK_F15, "NUMLOCK", SDLK_NUMLOCK, WXK_NUMLOCK, "CAPSLOCK", SDLK_CAPSLOCK, WXK_CAPITAL, "SCROLLOCK", SDLK_SCROLLOCK, WXK_SCROLL, "RSHIFT", SDLK_RSHIFT, 0, "LSHIFT", SDLK_LSHIFT, WXK_SHIFT, "RCTRL", SDLK_RCTRL, 0, "LCTRL", SDLK_LCTRL, WXK_CONTROL, "RALT", SDLK_RALT, WXK_ALT, "LALT", SDLK_LALT, WXK_MENU, "RMETA", SDLK_RMETA, 0, "LMETA", SDLK_LMETA, 0, "LSUPER", SDLK_LSUPER, 0, "RSUPER", SDLK_RSUPER, 0, "MODE", SDLK_MODE, 0, "COMPOSE", SDLK_COMPOSE, 0, "HELP", SDLK_HELP, WXK_HELP, "PRINT", SDLK_PRINT, WXK_PRINT, "SYSREQ", SDLK_SYSREQ, 0, "BREAK", SDLK_BREAK, 0, "MENU", SDLK_MENU, WXK_MENU, "POWER", SDLK_POWER, 0, "EURO", SDLK_EURO, 0, "UNDO", SDLK_UNDO, 0, "LAST", SDLK_LAST, 0 };