1 ////////////////////////////////////////////////////////////////////////////////
2 //    Scorched3D (c) 2000-2011
3 //
4 //    This file is part of Scorched3D.
5 //
6 //    Scorched3D is free software; you can redistribute it and/or modify
7 //    it under the terms of the GNU General Public License as published by
8 //    the Free Software Foundation; either version 2 of the License, or
9 //    (at your option) any later version.
10 //
11 //    Scorched3D is distributed in the hope that it will be useful,
12 //    but WITHOUT ANY WARRANTY; without even the implied warranty of
13 //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14 //    GNU General Public License for more details.
15 //
16 //    You should have received a copy of the GNU General Public License along
17 //    with this program; if not, write to the Free Software Foundation, Inc.,
18 //    51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
19 ////////////////////////////////////////////////////////////////////////////////
20 
21 #include <wx/defs.h>
22 #include <SDL/SDL_keysym.h>
23 
24 struct KeyTranslationWx
25 {
26 	const char *keyName;
27 	unsigned int keySym;
28 	unsigned int wxKeySym;
29 } KeyTranslationTableWx [] =
30 {
31     "UNKNOWN", SDLK_UNKNOWN, 0,
32     "FIRST", SDLK_FIRST, 0,
33     "BACKSPACE", SDLK_BACKSPACE, WXK_BACK,
34     "TAB", SDLK_TAB,  WXK_TAB,
35     "CLEAR", SDLK_CLEAR, WXK_CLEAR,
36     "RETURN", SDLK_RETURN, WXK_RETURN,
37     "PAUSE", SDLK_PAUSE, WXK_PAUSE,
38     "ESCAPE", SDLK_ESCAPE, WXK_ESCAPE,
39     "SPACE", SDLK_SPACE, WXK_SPACE,
40     "EXCLAIM", SDLK_EXCLAIM, '!',
41     "QUOTEDBL", SDLK_QUOTEDBL, '"',
42 	"HASH", SDLK_HASH, '#',
43     "DOLLAR", SDLK_DOLLAR, '$',
44     "AMPERSAND", SDLK_AMPERSAND, '&',
45     "QUOTE", SDLK_QUOTE, '\'',
46     "LEFTPAREN", SDLK_LEFTPAREN, '[',
47     "RIGHTPAREN", SDLK_RIGHTPAREN, ']',
48     "ASTERISK", SDLK_ASTERISK, '*',
49     "PLUS", SDLK_PLUS, '+',
50     "COMMA", SDLK_COMMA, ',',
51     "MINUS", SDLK_MINUS, '-',
52     "PERIOD", SDLK_PERIOD, '.',
53     "SLASH", SDLK_SLASH, '/',
54     "0", SDLK_0, '0',
55     "1", SDLK_1, '1',
56     "2", SDLK_2, '2',
57     "3", SDLK_3, '3',
58     "4", SDLK_4, '4',
59     "5", SDLK_5, '5',
60     "6", SDLK_6, '6',
61     "7", SDLK_7, '7',
62     "8", SDLK_8, '8',
63     "9", SDLK_9, '9',
64     "COLON", SDLK_COLON, ':',
65     "SEMICOLON", SDLK_SEMICOLON, ';',
66     "LESS", SDLK_LESS, '<',
67     "EQUALS", SDLK_EQUALS, '=',
68     "GREATER", SDLK_GREATER, '>',
69     "QUESTION", SDLK_QUESTION, '?',
70     "AT", SDLK_AT, '@',
71     "LEFTBRACKET", SDLK_LEFTBRACKET, '(',
72     "BACKSLASH", SDLK_BACKSLASH, '\\',
73     "RIGHTBRACKET", SDLK_RIGHTBRACKET, ')',
74     "CARET", SDLK_CARET, '\'',
75     "UNDERSCORE", SDLK_UNDERSCORE, '_',
76     "BACKQUOTE", SDLK_BACKQUOTE, '`',
77     "a", SDLK_a, 'A',
78     "b", SDLK_b, 'B',
79     "c", SDLK_c, 'C',
80     "d", SDLK_d, 'D',
81     "e", SDLK_e, 'E',
82     "f", SDLK_f, 'F',
83     "g", SDLK_g, 'G',
84     "h", SDLK_h, 'H',
85     "i", SDLK_i, 'I',
86     "j", SDLK_j, 'J',
87     "k", SDLK_k, 'K',
88     "l", SDLK_l, 'L',
89     "m", SDLK_m, 'M',
90     "n", SDLK_n, 'N',
91     "o", SDLK_o, 'O',
92     "p", SDLK_p, 'P',
93     "q", SDLK_q, 'Q',
94     "r", SDLK_r, 'R',
95     "s", SDLK_s, 'S',
96     "t", SDLK_t, 'T',
97     "u", SDLK_u, 'U',
98     "v", SDLK_v, 'V',
99     "w", SDLK_w, 'W',
100     "x", SDLK_x, 'X',
101     "y", SDLK_y, 'Y',
102     "z", SDLK_z, 'Z',
103     "DELETE", SDLK_DELETE, WXK_DELETE,
104     "WORLD_0", SDLK_WORLD_0, 0,
105     "WORLD_1", SDLK_WORLD_1, 0,
106     "WORLD_2", SDLK_WORLD_2, 0,
107     "WORLD_3", SDLK_WORLD_3, 0,
108     "WORLD_4", SDLK_WORLD_4, 0,
109     "WORLD_5", SDLK_WORLD_5, 0,
110     "WORLD_6", SDLK_WORLD_6, 0,
111     "WORLD_7", SDLK_WORLD_7, 0,
112     "WORLD_8", SDLK_WORLD_8, 0,
113     "WORLD_9", SDLK_WORLD_9, 0,
114     "WORLD_10", SDLK_WORLD_10, 0,
115     "WORLD_11", SDLK_WORLD_11, 0,
116     "WORLD_12", SDLK_WORLD_12, 0,
117     "WORLD_13", SDLK_WORLD_13, 0,
118     "WORLD_14", SDLK_WORLD_14, 0,
119     "WORLD_15", SDLK_WORLD_15, 0,
120     "WORLD_16", SDLK_WORLD_16, 0,
121     "WORLD_17", SDLK_WORLD_17, 0,
122     "WORLD_18", SDLK_WORLD_18, 0,
123     "WORLD_19", SDLK_WORLD_19, 0,
124     "WORLD_20", SDLK_WORLD_20, 0,
125     "WORLD_21", SDLK_WORLD_21, 0,
126     "WORLD_22", SDLK_WORLD_22, 0,
127     "WORLD_23", SDLK_WORLD_23, 0,
128     "WORLD_24", SDLK_WORLD_24, 0,
129     "WORLD_25", SDLK_WORLD_25, 0,
130     "WORLD_26", SDLK_WORLD_26, 0,
131     "WORLD_27", SDLK_WORLD_27, 0,
132     "WORLD_28", SDLK_WORLD_28, 0,
133     "WORLD_29", SDLK_WORLD_29, 0,
134     "WORLD_30", SDLK_WORLD_30, 0,
135     "WORLD_31", SDLK_WORLD_31, 0,
136     "WORLD_32", SDLK_WORLD_32, 0,
137     "WORLD_33", SDLK_WORLD_33, 0,
138     "WORLD_34", SDLK_WORLD_34, 0,
139     "WORLD_35", SDLK_WORLD_35, 0,
140     "WORLD_36", SDLK_WORLD_36, 0,
141     "WORLD_37", SDLK_WORLD_37, 0,
142     "WORLD_38", SDLK_WORLD_38, 0,
143     "WORLD_39", SDLK_WORLD_39, 0,
144     "WORLD_40", SDLK_WORLD_40, 0,
145     "WORLD_41", SDLK_WORLD_41, 0,
146     "WORLD_42", SDLK_WORLD_42, 0,
147     "WORLD_43", SDLK_WORLD_43, 0,
148     "WORLD_44", SDLK_WORLD_44, 0,
149     "WORLD_45", SDLK_WORLD_45, 0,
150     "WORLD_46", SDLK_WORLD_46, 0,
151     "WORLD_47", SDLK_WORLD_47, 0,
152     "WORLD_48", SDLK_WORLD_48, 0,
153     "WORLD_49", SDLK_WORLD_49, 0,
154     "WORLD_50", SDLK_WORLD_50, 0,
155     "WORLD_51", SDLK_WORLD_51, 0,
156     "WORLD_52", SDLK_WORLD_52, 0,
157     "WORLD_53", SDLK_WORLD_53, 0,
158     "WORLD_54", SDLK_WORLD_54, 0,
159     "WORLD_55", SDLK_WORLD_55, 0,
160     "WORLD_56", SDLK_WORLD_56, 0,
161     "WORLD_57", SDLK_WORLD_57, 0,
162     "WORLD_58", SDLK_WORLD_58, 0,
163     "WORLD_59", SDLK_WORLD_59, 0,
164     "WORLD_60", SDLK_WORLD_60, 0,
165     "WORLD_61", SDLK_WORLD_61, 0,
166     "WORLD_62", SDLK_WORLD_62, 0,
167     "WORLD_63", SDLK_WORLD_63, 0,
168     "WORLD_64", SDLK_WORLD_64, 0,
169     "WORLD_65", SDLK_WORLD_65, 0,
170     "WORLD_66", SDLK_WORLD_66, 0,
171     "WORLD_67", SDLK_WORLD_67, 0,
172     "WORLD_68", SDLK_WORLD_68, 0,
173     "WORLD_69", SDLK_WORLD_69, 0,
174     "WORLD_70", SDLK_WORLD_70, 0,
175     "WORLD_71", SDLK_WORLD_71, 0,
176     "WORLD_72", SDLK_WORLD_72, 0,
177     "WORLD_73", SDLK_WORLD_73, 0,
178     "WORLD_74", SDLK_WORLD_74, 0,
179     "WORLD_75", SDLK_WORLD_75, 0,
180     "WORLD_76", SDLK_WORLD_76, 0,
181     "WORLD_77", SDLK_WORLD_77, 0,
182     "WORLD_78", SDLK_WORLD_78, 0,
183     "WORLD_79", SDLK_WORLD_79, 0,
184     "WORLD_80", SDLK_WORLD_80, 0,
185     "WORLD_81", SDLK_WORLD_81, 0,
186     "WORLD_82", SDLK_WORLD_82, 0,
187     "WORLD_83", SDLK_WORLD_83, 0,
188     "WORLD_84", SDLK_WORLD_84, 0,
189     "WORLD_85", SDLK_WORLD_85, 0,
190     "WORLD_86", SDLK_WORLD_86, 0,
191     "WORLD_87", SDLK_WORLD_87, 0,
192     "WORLD_88", SDLK_WORLD_88, 0,
193     "WORLD_89", SDLK_WORLD_89, 0,
194     "WORLD_90", SDLK_WORLD_90, 0,
195     "WORLD_91", SDLK_WORLD_91, 0,
196     "WORLD_92", SDLK_WORLD_92, 0,
197     "WORLD_93", SDLK_WORLD_93, 0,
198     "WORLD_94", SDLK_WORLD_94, 0,
199     "WORLD_95", SDLK_WORLD_95, 0,
200     "KP0", SDLK_KP0, WXK_NUMPAD0,
201     "KP1", SDLK_KP1, WXK_NUMPAD1,
202     "KP2", SDLK_KP2, WXK_NUMPAD2,
203     "KP3", SDLK_KP3, WXK_NUMPAD3,
204     "KP4", SDLK_KP4, WXK_NUMPAD4,
205     "KP5", SDLK_KP5, WXK_NUMPAD5,
206     "KP6", SDLK_KP6, WXK_NUMPAD6,
207     "KP7", SDLK_KP7, WXK_NUMPAD7,
208     "KP8", SDLK_KP8, WXK_NUMPAD8,
209     "KP9", SDLK_KP9, WXK_NUMPAD9,
210     "KP_PERIOD", SDLK_KP_PERIOD, WXK_NUMPAD_DECIMAL,
211     "KP_DIVIDE", SDLK_KP_DIVIDE, WXK_NUMPAD_DIVIDE,
212     "KP_MULTIPLY", SDLK_KP_MULTIPLY, WXK_NUMPAD_MULTIPLY,
213     "KP_MINUS", SDLK_KP_MINUS, WXK_NUMPAD_SUBTRACT,
214     "KP_PLUS", SDLK_KP_PLUS, WXK_NUMPAD_ADD,
215     "KP_ENTER", SDLK_KP_ENTER, WXK_NUMPAD_ENTER,
216     "KP_EQUALS", SDLK_KP_EQUALS, WXK_NUMPAD_EQUAL,
217     "UP", SDLK_UP, WXK_UP,
218     "DOWN", SDLK_DOWN, WXK_DOWN,
219     "RIGHT", SDLK_RIGHT, WXK_RIGHT,
220     "LEFT", SDLK_LEFT, WXK_LEFT,
221     "INSERT", SDLK_INSERT, WXK_INSERT,
222     "HOME", SDLK_HOME, WXK_HOME,
223     "END", SDLK_END, WXK_END,
224     "PAGEUP", SDLK_PAGEUP, WXK_PAGEUP,
225     "PAGEDOWN", SDLK_PAGEDOWN, WXK_PAGEDOWN,
226     "F1", SDLK_F1, WXK_F1,
227     "F2", SDLK_F2, WXK_F2,
228     "F3", SDLK_F3, WXK_F3,
229     "F4", SDLK_F4, WXK_F4,
230     "F5", SDLK_F5, WXK_F5,
231     "F6", SDLK_F6, WXK_F6,
232     "F7", SDLK_F7, WXK_F7,
233     "F8", SDLK_F8, WXK_F8,
234     "F9", SDLK_F9, WXK_F9,
235     "F10", SDLK_F10, WXK_F10,
236     "F11", SDLK_F11, WXK_F11,
237     "F12", SDLK_F12, WXK_F12,
238     "F13", SDLK_F13, WXK_F13,
239     "F14", SDLK_F14, WXK_F14,
240     "F15", SDLK_F15, WXK_F15,
241     "NUMLOCK", SDLK_NUMLOCK, WXK_NUMLOCK,
242     "CAPSLOCK", SDLK_CAPSLOCK, WXK_CAPITAL,
243     "SCROLLOCK", SDLK_SCROLLOCK, WXK_SCROLL,
244     "RSHIFT", SDLK_RSHIFT, 0,
245     "LSHIFT", SDLK_LSHIFT, WXK_SHIFT,
246     "RCTRL", SDLK_RCTRL, 0,
247     "LCTRL", SDLK_LCTRL, WXK_CONTROL,
248     "RALT", SDLK_RALT, WXK_ALT,
249     "LALT", SDLK_LALT, WXK_MENU,
250     "RMETA", SDLK_RMETA, 0,
251     "LMETA", SDLK_LMETA, 0,
252     "LSUPER", SDLK_LSUPER, 0,
253     "RSUPER", SDLK_RSUPER, 0,
254     "MODE", SDLK_MODE, 0,
255     "COMPOSE", SDLK_COMPOSE, 0,
256     "HELP", SDLK_HELP, WXK_HELP,
257     "PRINT", SDLK_PRINT, WXK_PRINT,
258     "SYSREQ", SDLK_SYSREQ, 0,
259     "BREAK", SDLK_BREAK, 0,
260     "MENU", SDLK_MENU, WXK_MENU,
261     "POWER", SDLK_POWER, 0,
262     "EURO", SDLK_EURO, 0,
263     "UNDO", SDLK_UNDO, 0,
264     "LAST", SDLK_LAST, 0
265 };
266