1 |
/* |
2 |
|
3 |
This file fakes some of X11's key handling for the special purpose of running |
4 |
a standalone rdp2vnc (without linking to X11) |
5 |
|
6 |
*/ |
7 |
|
8 |
#include "x11stubs.h" |
9 |
#include <string.h> |
10 |
|
11 |
/* ignored */ |
12 |
int *display; |
13 |
|
14 |
typedef struct |
15 |
{ |
16 |
const char *string; |
17 |
KeySym keysym; |
18 |
} |
19 |
StringToKeysym_t; |
20 |
|
21 |
StringToKeysym_t StringToKeysym[] = { |
22 |
#ifndef KEYSYMFAKE_H |
23 |
{"VoidSymbol", XK_VoidSymbol}, |
24 |
#ifdef XK_MISCELLANY |
25 |
{"BackSpace", XK_BackSpace}, |
26 |
{"Tab", XK_Tab}, |
27 |
{"Linefeed", XK_Linefeed}, |
28 |
{"Clear", XK_Clear}, |
29 |
{"Return", XK_Return}, |
30 |
{"Pause", XK_Pause}, |
31 |
{"Scroll_Lock", XK_Scroll_Lock}, |
32 |
{"Sys_Req", XK_Sys_Req}, |
33 |
{"Escape", XK_Escape}, |
34 |
{"Delete", XK_Delete}, |
35 |
{"Multi_key", XK_Multi_key}, |
36 |
{"SingleCandidate", XK_SingleCandidate}, |
37 |
{"MultipleCandidate", XK_MultipleCandidate}, |
38 |
{"PreviousCandidate", XK_PreviousCandidate}, |
39 |
{"Kanji", XK_Kanji}, |
40 |
{"Muhenkan", XK_Muhenkan}, |
41 |
{"Henkan_Mode", XK_Henkan_Mode}, |
42 |
{"Henkan", XK_Henkan}, |
43 |
{"Romaji", XK_Romaji}, |
44 |
{"Hiragana", XK_Hiragana}, |
45 |
{"Katakana", XK_Katakana}, |
46 |
{"Hiragana_Katakana", XK_Hiragana_Katakana}, |
47 |
{"Zenkaku", XK_Zenkaku}, |
48 |
{"Hankaku", XK_Hankaku}, |
49 |
{"Zenkaku_Hankaku", XK_Zenkaku_Hankaku}, |
50 |
{"Touroku", XK_Touroku}, |
51 |
{"Massyo", XK_Massyo}, |
52 |
{"Kana_Lock", XK_Kana_Lock}, |
53 |
{"Kana_Shift", XK_Kana_Shift}, |
54 |
{"Eisu_Shift", XK_Eisu_Shift}, |
55 |
{"Eisu_toggle", XK_Eisu_toggle}, |
56 |
{"Zen_Koho", XK_Zen_Koho}, |
57 |
{"Mae_Koho", XK_Mae_Koho}, |
58 |
{"Home", XK_Home}, |
59 |
{"Left", XK_Left}, |
60 |
{"Up", XK_Up}, |
61 |
{"Right", XK_Right}, |
62 |
{"Down", XK_Down}, |
63 |
{"Prior", XK_Prior}, |
64 |
{"Page_Up", XK_Page_Up}, |
65 |
{"Next", XK_Next}, |
66 |
{"Page_Down", XK_Page_Down}, |
67 |
{"End", XK_End}, |
68 |
{"Begin", XK_Begin}, |
69 |
{"Select", XK_Select}, |
70 |
{"Print", XK_Print}, |
71 |
{"Execute", XK_Execute}, |
72 |
{"Insert", XK_Insert}, |
73 |
{"Undo", XK_Undo}, |
74 |
{"Redo", XK_Redo}, |
75 |
{"Menu", XK_Menu}, |
76 |
{"Find", XK_Find}, |
77 |
{"Cancel", XK_Cancel}, |
78 |
{"Help", XK_Help}, |
79 |
{"Break", XK_Break}, |
80 |
{"Mode_switch", XK_Mode_switch}, |
81 |
{"script_switch", XK_script_switch}, |
82 |
{"Num_Lock", XK_Num_Lock}, |
83 |
{"KP_Space", XK_KP_Space}, |
84 |
{"KP_Tab", XK_KP_Tab}, |
85 |
{"KP_Enter", XK_KP_Enter}, |
86 |
{"KP_F1", XK_KP_F1}, |
87 |
{"KP_F2", XK_KP_F2}, |
88 |
{"KP_F3", XK_KP_F3}, |
89 |
{"KP_F4", XK_KP_F4}, |
90 |
{"KP_Home", XK_KP_Home}, |
91 |
{"KP_Left", XK_KP_Left}, |
92 |
{"KP_Up", XK_KP_Up}, |
93 |
{"KP_Right", XK_KP_Right}, |
94 |
{"KP_Down", XK_KP_Down}, |
95 |
{"KP_Prior", XK_KP_Prior}, |
96 |
{"KP_Page_Up", XK_KP_Page_Up}, |
97 |
{"KP_Next", XK_KP_Next}, |
98 |
{"KP_Page_Down", XK_KP_Page_Down}, |
99 |
{"KP_End", XK_KP_End}, |
100 |
{"KP_Begin", XK_KP_Begin}, |
101 |
{"KP_Insert", XK_KP_Insert}, |
102 |
{"KP_Delete", XK_KP_Delete}, |
103 |
{"KP_Equal", XK_KP_Equal}, |
104 |
{"KP_Multiply", XK_KP_Multiply}, |
105 |
{"KP_Add", XK_KP_Add}, |
106 |
{"KP_Separator", XK_KP_Separator}, |
107 |
{"KP_Subtract", XK_KP_Subtract}, |
108 |
{"KP_Decimal", XK_KP_Decimal}, |
109 |
{"KP_Divide", XK_KP_Divide}, |
110 |
{"KP_0", XK_KP_0}, |
111 |
{"KP_1", XK_KP_1}, |
112 |
{"KP_2", XK_KP_2}, |
113 |
{"KP_3", XK_KP_3}, |
114 |
{"KP_4", XK_KP_4}, |
115 |
{"KP_5", XK_KP_5}, |
116 |
{"KP_6", XK_KP_6}, |
117 |
{"KP_7", XK_KP_7}, |
118 |
{"KP_8", XK_KP_8}, |
119 |
{"KP_9", XK_KP_9}, |
120 |
{"F1", XK_F1}, |
121 |
{"F2", XK_F2}, |
122 |
{"F3", XK_F3}, |
123 |
{"F4", XK_F4}, |
124 |
{"F5", XK_F5}, |
125 |
{"F6", XK_F6}, |
126 |
{"F7", XK_F7}, |
127 |
{"F8", XK_F8}, |
128 |
{"F9", XK_F9}, |
129 |
{"F10", XK_F10}, |
130 |
{"F11", XK_F11}, |
131 |
{"L1", XK_L1}, |
132 |
{"F12", XK_F12}, |
133 |
{"L2", XK_L2}, |
134 |
{"F13", XK_F13}, |
135 |
{"L3", XK_L3}, |
136 |
{"F14", XK_F14}, |
137 |
{"L4", XK_L4}, |
138 |
{"F15", XK_F15}, |
139 |
{"L5", XK_L5}, |
140 |
{"F16", XK_F16}, |
141 |
{"L6", XK_L6}, |
142 |
{"F17", XK_F17}, |
143 |
{"L7", XK_L7}, |
144 |
{"F18", XK_F18}, |
145 |
{"L8", XK_L8}, |
146 |
{"F19", XK_F19}, |
147 |
{"L9", XK_L9}, |
148 |
{"F20", XK_F20}, |
149 |
{"L10", XK_L10}, |
150 |
{"F21", XK_F21}, |
151 |
{"R1", XK_R1}, |
152 |
{"F22", XK_F22}, |
153 |
{"R2", XK_R2}, |
154 |
{"F23", XK_F23}, |
155 |
{"R3", XK_R3}, |
156 |
{"F24", XK_F24}, |
157 |
{"R4", XK_R4}, |
158 |
{"F25", XK_F25}, |
159 |
{"R5", XK_R5}, |
160 |
{"F26", XK_F26}, |
161 |
{"R6", XK_R6}, |
162 |
{"F27", XK_F27}, |
163 |
{"R7", XK_R7}, |
164 |
{"F28", XK_F28}, |
165 |
{"R8", XK_R8}, |
166 |
{"F29", XK_F29}, |
167 |
{"R9", XK_R9}, |
168 |
{"F30", XK_F30}, |
169 |
{"R10", XK_R10}, |
170 |
{"F31", XK_F31}, |
171 |
{"R11", XK_R11}, |
172 |
{"F32", XK_F32}, |
173 |
{"R12", XK_R12}, |
174 |
{"F33", XK_F33}, |
175 |
{"R13", XK_R13}, |
176 |
{"F34", XK_F34}, |
177 |
{"R14", XK_R14}, |
178 |
{"F35", XK_F35}, |
179 |
{"R15", XK_R15}, |
180 |
{"Shift_L", XK_Shift_L}, |
181 |
{"Shift_R", XK_Shift_R}, |
182 |
{"Control_L", XK_Control_L}, |
183 |
{"Control_R", XK_Control_R}, |
184 |
{"Caps_Lock", XK_Caps_Lock}, |
185 |
{"Shift_Lock", XK_Shift_Lock}, |
186 |
{"Meta_L", XK_Meta_L}, |
187 |
{"Meta_R", XK_Meta_R}, |
188 |
{"Alt_L", XK_Alt_L}, |
189 |
{"Alt_R", XK_Alt_R}, |
190 |
{"Super_L", XK_Super_L}, |
191 |
{"Super_R", XK_Super_R}, |
192 |
{"Hyper_L", XK_Hyper_L}, |
193 |
{"Hyper_R", XK_Hyper_R}, |
194 |
#endif /* XK_MISCELLANY */ |
195 |
#ifdef XK_XKB_KEYS |
196 |
{"ISO_Lock", XK_ISO_Lock}, |
197 |
{"ISO_Level2_Latch", XK_ISO_Level2_Latch}, |
198 |
{"ISO_Level3_Shift", XK_ISO_Level3_Shift}, |
199 |
{"ISO_Level3_Latch", XK_ISO_Level3_Latch}, |
200 |
{"ISO_Level3_Lock", XK_ISO_Level3_Lock}, |
201 |
{"ISO_Group_Shift", XK_ISO_Group_Shift}, |
202 |
{"ISO_Group_Latch", XK_ISO_Group_Latch}, |
203 |
{"ISO_Group_Lock", XK_ISO_Group_Lock}, |
204 |
{"ISO_Next_Group", XK_ISO_Next_Group}, |
205 |
{"ISO_Next_Group_Lock", XK_ISO_Next_Group_Lock}, |
206 |
{"ISO_Prev_Group", XK_ISO_Prev_Group}, |
207 |
{"ISO_Prev_Group_Lock", XK_ISO_Prev_Group_Lock}, |
208 |
{"ISO_First_Group", XK_ISO_First_Group}, |
209 |
{"ISO_First_Group_Lock", XK_ISO_First_Group_Lock}, |
210 |
{"ISO_Last_Group", XK_ISO_Last_Group}, |
211 |
{"ISO_Last_Group_Lock", XK_ISO_Last_Group_Lock}, |
212 |
{"ISO_Left_Tab", XK_ISO_Left_Tab}, |
213 |
{"ISO_Move_Line_Up", XK_ISO_Move_Line_Up}, |
214 |
{"ISO_Move_Line_Down", XK_ISO_Move_Line_Down}, |
215 |
{"ISO_Partial_Line_Up", XK_ISO_Partial_Line_Up}, |
216 |
{"ISO_Partial_Line_Down", XK_ISO_Partial_Line_Down}, |
217 |
{"ISO_Partial_Space_Left", XK_ISO_Partial_Space_Left}, |
218 |
{"ISO_Partial_Space_Right", XK_ISO_Partial_Space_Right}, |
219 |
{"ISO_Set_Margin_Left", XK_ISO_Set_Margin_Left}, |
220 |
{"ISO_Set_Margin_Right", XK_ISO_Set_Margin_Right}, |
221 |
{"ISO_Release_Margin_Left", XK_ISO_Release_Margin_Left}, |
222 |
{"ISO_Release_Margin_Right", XK_ISO_Release_Margin_Right}, |
223 |
{"ISO_Release_Both_Margins", XK_ISO_Release_Both_Margins}, |
224 |
{"ISO_Fast_Cursor_Left", XK_ISO_Fast_Cursor_Left}, |
225 |
{"ISO_Fast_Cursor_Right", XK_ISO_Fast_Cursor_Right}, |
226 |
{"ISO_Fast_Cursor_Up", XK_ISO_Fast_Cursor_Up}, |
227 |
{"ISO_Fast_Cursor_Down", XK_ISO_Fast_Cursor_Down}, |
228 |
{"ISO_Continuous_Underline", XK_ISO_Continuous_Underline}, |
229 |
{"ISO_Discontinuous_Underline", XK_ISO_Discontinuous_Underline}, |
230 |
{"ISO_Emphasize", XK_ISO_Emphasize}, |
231 |
{"ISO_Center_Object", XK_ISO_Center_Object}, |
232 |
{"ISO_Enter", XK_ISO_Enter}, |
233 |
{"dead_grave", XK_dead_grave}, |
234 |
{"dead_acute", XK_dead_acute}, |
235 |
{"dead_circumflex", XK_dead_circumflex}, |
236 |
{"dead_tilde", XK_dead_tilde}, |
237 |
{"dead_macron", XK_dead_macron}, |
238 |
{"dead_breve", XK_dead_breve}, |
239 |
{"dead_abovedot", XK_dead_abovedot}, |
240 |
{"dead_diaeresis", XK_dead_diaeresis}, |
241 |
{"dead_abovering", XK_dead_abovering}, |
242 |
{"dead_doubleacute", XK_dead_doubleacute}, |
243 |
{"dead_caron", XK_dead_caron}, |
244 |
{"dead_cedilla", XK_dead_cedilla}, |
245 |
{"dead_ogonek", XK_dead_ogonek}, |
246 |
{"dead_iota", XK_dead_iota}, |
247 |
{"dead_voiced_sound", XK_dead_voiced_sound}, |
248 |
{"dead_semivoiced_sound", XK_dead_semivoiced_sound}, |
249 |
{"dead_belowdot", XK_dead_belowdot}, |
250 |
{"First_Virtual_Screen", XK_First_Virtual_Screen}, |
251 |
{"Prev_Virtual_Screen", XK_Prev_Virtual_Screen}, |
252 |
{"Next_Virtual_Screen", XK_Next_Virtual_Screen}, |
253 |
{"Last_Virtual_Screen", XK_Last_Virtual_Screen}, |
254 |
{"Terminate_Server", XK_Terminate_Server}, |
255 |
{"AccessX_Enable", XK_AccessX_Enable}, |
256 |
{"AccessX_Feedback_Enable", XK_AccessX_Feedback_Enable}, |
257 |
{"RepeatKeys_Enable", XK_RepeatKeys_Enable}, |
258 |
{"SlowKeys_Enable", XK_SlowKeys_Enable}, |
259 |
{"BounceKeys_Enable", XK_BounceKeys_Enable}, |
260 |
{"StickyKeys_Enable", XK_StickyKeys_Enable}, |
261 |
{"MouseKeys_Enable", XK_MouseKeys_Enable}, |
262 |
{"MouseKeys_Accel_Enable", XK_MouseKeys_Accel_Enable}, |
263 |
{"Overlay1_Enable", XK_Overlay1_Enable}, |
264 |
{"Overlay2_Enable", XK_Overlay2_Enable}, |
265 |
{"AudibleBell_Enable", XK_AudibleBell_Enable}, |
266 |
{"Pointer_Left", XK_Pointer_Left}, |
267 |
{"Pointer_Right", XK_Pointer_Right}, |
268 |
{"Pointer_Up", XK_Pointer_Up}, |
269 |
{"Pointer_Down", XK_Pointer_Down}, |
270 |
{"Pointer_UpLeft", XK_Pointer_UpLeft}, |
271 |
{"Pointer_UpRight", XK_Pointer_UpRight}, |
272 |
{"Pointer_DownLeft", XK_Pointer_DownLeft}, |
273 |
{"Pointer_DownRight", XK_Pointer_DownRight}, |
274 |
{"Pointer_Button_Dflt", XK_Pointer_Button_Dflt}, |
275 |
{"Pointer_Button1", XK_Pointer_Button1}, |
276 |
{"Pointer_Button2", XK_Pointer_Button2}, |
277 |
{"Pointer_Button3", XK_Pointer_Button3}, |
278 |
{"Pointer_Button4", XK_Pointer_Button4}, |
279 |
{"Pointer_Button5", XK_Pointer_Button5}, |
280 |
{"Pointer_DblClick_Dflt", XK_Pointer_DblClick_Dflt}, |
281 |
{"Pointer_DblClick1", XK_Pointer_DblClick1}, |
282 |
{"Pointer_DblClick2", XK_Pointer_DblClick2}, |
283 |
{"Pointer_DblClick3", XK_Pointer_DblClick3}, |
284 |
{"Pointer_DblClick4", XK_Pointer_DblClick4}, |
285 |
{"Pointer_DblClick5", XK_Pointer_DblClick5}, |
286 |
{"Pointer_Drag_Dflt", XK_Pointer_Drag_Dflt}, |
287 |
{"Pointer_Drag1", XK_Pointer_Drag1}, |
288 |
{"Pointer_Drag2", XK_Pointer_Drag2}, |
289 |
{"Pointer_Drag3", XK_Pointer_Drag3}, |
290 |
{"Pointer_Drag4", XK_Pointer_Drag4}, |
291 |
{"Pointer_Drag5", XK_Pointer_Drag5}, |
292 |
{"Pointer_EnableKeys", XK_Pointer_EnableKeys}, |
293 |
{"Pointer_Accelerate", XK_Pointer_Accelerate}, |
294 |
{"Pointer_DfltBtnNext", XK_Pointer_DfltBtnNext}, |
295 |
{"Pointer_DfltBtnPrev", XK_Pointer_DfltBtnPrev}, |
296 |
#endif |
297 |
#ifdef XK_3270 |
298 |
{"3270_Duplicate", XK_3270_Duplicate}, |
299 |
{"3270_FieldMark", XK_3270_FieldMark}, |
300 |
{"3270_Right2", XK_3270_Right2}, |
301 |
{"3270_Left2", XK_3270_Left2}, |
302 |
{"3270_BackTab", XK_3270_BackTab}, |
303 |
{"3270_EraseEOF", XK_3270_EraseEOF}, |
304 |
{"3270_EraseInput", XK_3270_EraseInput}, |
305 |
{"3270_Reset", XK_3270_Reset}, |
306 |
{"3270_Quit", XK_3270_Quit}, |
307 |
{"3270_PA1", XK_3270_PA1}, |
308 |
{"3270_PA2", XK_3270_PA2}, |
309 |
{"3270_PA3", XK_3270_PA3}, |
310 |
{"3270_Test", XK_3270_Test}, |
311 |
{"3270_Attn", XK_3270_Attn}, |
312 |
{"3270_CursorBlink", XK_3270_CursorBlink}, |
313 |
{"3270_AltCursor", XK_3270_AltCursor}, |
314 |
{"3270_KeyClick", XK_3270_KeyClick}, |
315 |
{"3270_Jump", XK_3270_Jump}, |
316 |
{"3270_Ident", XK_3270_Ident}, |
317 |
{"3270_Rule", XK_3270_Rule}, |
318 |
{"3270_Copy", XK_3270_Copy}, |
319 |
{"3270_Play", XK_3270_Play}, |
320 |
{"3270_Setup", XK_3270_Setup}, |
321 |
{"3270_Record", XK_3270_Record}, |
322 |
{"3270_ChangeScreen", XK_3270_ChangeScreen}, |
323 |
{"3270_DeleteWord", XK_3270_DeleteWord}, |
324 |
{"3270_ExSelect", XK_3270_ExSelect}, |
325 |
{"3270_CursorSelect", XK_3270_CursorSelect}, |
326 |
{"3270_PrintScreen", XK_3270_PrintScreen}, |
327 |
{"3270_Enter", XK_3270_Enter}, |
328 |
#endif |
329 |
#ifdef XK_LATIN1 |
330 |
{"space", XK_space}, |
331 |
{"exclam", XK_exclam}, |
332 |
{"quotedbl", XK_quotedbl}, |
333 |
{"numbersign", XK_numbersign}, |
334 |
{"dollar", XK_dollar}, |
335 |
{"percent", XK_percent}, |
336 |
{"ampersand", XK_ampersand}, |
337 |
{"apostrophe", XK_apostrophe}, |
338 |
{"quoteright", XK_quoteright}, |
339 |
{"parenleft", XK_parenleft}, |
340 |
{"parenright", XK_parenright}, |
341 |
{"asterisk", XK_asterisk}, |
342 |
{"plus", XK_plus}, |
343 |
{"comma", XK_comma}, |
344 |
{"minus", XK_minus}, |
345 |
{"period", XK_period}, |
346 |
{"slash", XK_slash}, |
347 |
{"0", XK_0}, |
348 |
{"1", XK_1}, |
349 |
{"2", XK_2}, |
350 |
{"3", XK_3}, |
351 |
{"4", XK_4}, |
352 |
{"5", XK_5}, |
353 |
{"6", XK_6}, |
354 |
{"7", XK_7}, |
355 |
{"8", XK_8}, |
356 |
{"9", XK_9}, |
357 |
{"colon", XK_colon}, |
358 |
{"semicolon", XK_semicolon}, |
359 |
{"less", XK_less}, |
360 |
{"equal", XK_equal}, |
361 |
{"greater", XK_greater}, |
362 |
{"question", XK_question}, |
363 |
{"at", XK_at}, |
364 |
{"A", XK_A}, |
365 |
{"B", XK_B}, |
366 |
{"C", XK_C}, |
367 |
{"D", XK_D}, |
368 |
{"E", XK_E}, |
369 |
{"F", XK_F}, |
370 |
{"G", XK_G}, |
371 |
{"H", XK_H}, |
372 |
{"I", XK_I}, |
373 |
{"J", XK_J}, |
374 |
{"K", XK_K}, |
375 |
{"L", XK_L}, |
376 |
{"M", XK_M}, |
377 |
{"N", XK_N}, |
378 |
{"O", XK_O}, |
379 |
{"P", XK_P}, |
380 |
{"Q", XK_Q}, |
381 |
{"R", XK_R}, |
382 |
{"S", XK_S}, |
383 |
{"T", XK_T}, |
384 |
{"U", XK_U}, |
385 |
{"V", XK_V}, |
386 |
{"W", XK_W}, |
387 |
{"X", XK_X}, |
388 |
{"Y", XK_Y}, |
389 |
{"Z", XK_Z}, |
390 |
{"bracketleft", XK_bracketleft}, |
391 |
{"backslash", XK_backslash}, |
392 |
{"bracketright", XK_bracketright}, |
393 |
{"asciicircum", XK_asciicircum}, |
394 |
{"underscore", XK_underscore}, |
395 |
{"grave", XK_grave}, |
396 |
{"quoteleft", XK_quoteleft}, |
397 |
{"a", XK_a}, |
398 |
{"b", XK_b}, |
399 |
{"c", XK_c}, |
400 |
{"d", XK_d}, |
401 |
{"e", XK_e}, |
402 |
{"f", XK_f}, |
403 |
{"g", XK_g}, |
404 |
{"h", XK_h}, |
405 |
{"i", XK_i}, |
406 |
{"j", XK_j}, |
407 |
{"k", XK_k}, |
408 |
{"l", XK_l}, |
409 |
{"m", XK_m}, |
410 |
{"n", XK_n}, |
411 |
{"o", XK_o}, |
412 |
{"p", XK_p}, |
413 |
{"q", XK_q}, |
414 |
{"r", XK_r}, |
415 |
{"s", XK_s}, |
416 |
{"t", XK_t}, |
417 |
{"u", XK_u}, |
418 |
{"v", XK_v}, |
419 |
{"w", XK_w}, |
420 |
{"x", XK_x}, |
421 |
{"y", XK_y}, |
422 |
{"z", XK_z}, |
423 |
{"braceleft", XK_braceleft}, |
424 |
{"bar", XK_bar}, |
425 |
{"braceright", XK_braceright}, |
426 |
{"asciitilde", XK_asciitilde}, |
427 |
{"nobreakspace", XK_nobreakspace}, |
428 |
{"exclamdown", XK_exclamdown}, |
429 |
{"cent", XK_cent}, |
430 |
{"sterling", XK_sterling}, |
431 |
{"currency", XK_currency}, |
432 |
{"yen", XK_yen}, |
433 |
{"brokenbar", XK_brokenbar}, |
434 |
{"section", XK_section}, |
435 |
{"diaeresis", XK_diaeresis}, |
436 |
{"copyright", XK_copyright}, |
437 |
{"ordfeminine", XK_ordfeminine}, |
438 |
{"guillemotleft", XK_guillemotleft}, |
439 |
{"notsign", XK_notsign}, |
440 |
{"hyphen", XK_hyphen}, |
441 |
{"registered", XK_registered}, |
442 |
{"macron", XK_macron}, |
443 |
{"degree", XK_degree}, |
444 |
{"plusminus", XK_plusminus}, |
445 |
{"twosuperior", XK_twosuperior}, |
446 |
{"threesuperior", XK_threesuperior}, |
447 |
{"acute", XK_acute}, |
448 |
{"mu", XK_mu}, |
449 |
{"paragraph", XK_paragraph}, |
450 |
{"periodcentered", XK_periodcentered}, |
451 |
{"cedilla", XK_cedilla}, |
452 |
{"onesuperior", XK_onesuperior}, |
453 |
{"masculine", XK_masculine}, |
454 |
{"guillemotright", XK_guillemotright}, |
455 |
{"onequarter", XK_onequarter}, |
456 |
{"onehalf", XK_onehalf}, |
457 |
{"threequarters", XK_threequarters}, |
458 |
{"questiondown", XK_questiondown}, |
459 |
{"Agrave", XK_Agrave}, |
460 |
{"Aacute", XK_Aacute}, |
461 |
{"Acircumflex", XK_Acircumflex}, |
462 |
{"Atilde", XK_Atilde}, |
463 |
{"Adiaeresis", XK_Adiaeresis}, |
464 |
{"Aring", XK_Aring}, |
465 |
{"AE", XK_AE}, |
466 |
{"Ccedilla", XK_Ccedilla}, |
467 |
{"Egrave", XK_Egrave}, |
468 |
{"Eacute", XK_Eacute}, |
469 |
{"Ecircumflex", XK_Ecircumflex}, |
470 |
{"Ediaeresis", XK_Ediaeresis}, |
471 |
{"Igrave", XK_Igrave}, |
472 |
{"Iacute", XK_Iacute}, |
473 |
{"Icircumflex", XK_Icircumflex}, |
474 |
{"Idiaeresis", XK_Idiaeresis}, |
475 |
{"ETH", XK_ETH}, |
476 |
{"Eth", XK_Eth}, |
477 |
{"Ntilde", XK_Ntilde}, |
478 |
{"Ograve", XK_Ograve}, |
479 |
{"Oacute", XK_Oacute}, |
480 |
{"Ocircumflex", XK_Ocircumflex}, |
481 |
{"Otilde", XK_Otilde}, |
482 |
{"Odiaeresis", XK_Odiaeresis}, |
483 |
{"multiply", XK_multiply}, |
484 |
{"Ooblique", XK_Ooblique}, |
485 |
{"Ugrave", XK_Ugrave}, |
486 |
{"Uacute", XK_Uacute}, |
487 |
{"Ucircumflex", XK_Ucircumflex}, |
488 |
{"Udiaeresis", XK_Udiaeresis}, |
489 |
{"Yacute", XK_Yacute}, |
490 |
{"THORN", XK_THORN}, |
491 |
{"Thorn", XK_Thorn}, |
492 |
{"ssharp", XK_ssharp}, |
493 |
{"agrave", XK_agrave}, |
494 |
{"aacute", XK_aacute}, |
495 |
{"acircumflex", XK_acircumflex}, |
496 |
{"atilde", XK_atilde}, |
497 |
{"adiaeresis", XK_adiaeresis}, |
498 |
{"aring", XK_aring}, |
499 |
{"ae", XK_ae}, |
500 |
{"ccedilla", XK_ccedilla}, |
501 |
{"egrave", XK_egrave}, |
502 |
{"eacute", XK_eacute}, |
503 |
{"ecircumflex", XK_ecircumflex}, |
504 |
{"ediaeresis", XK_ediaeresis}, |
505 |
{"igrave", XK_igrave}, |
506 |
{"iacute", XK_iacute}, |
507 |
{"icircumflex", XK_icircumflex}, |
508 |
{"idiaeresis", XK_idiaeresis}, |
509 |
{"eth", XK_eth}, |
510 |
{"ntilde", XK_ntilde}, |
511 |
{"ograve", XK_ograve}, |
512 |
{"oacute", XK_oacute}, |
513 |
{"ocircumflex", XK_ocircumflex}, |
514 |
{"otilde", XK_otilde}, |
515 |
{"odiaeresis", XK_odiaeresis}, |
516 |
{"division", XK_division}, |
517 |
{"oslash", XK_oslash}, |
518 |
{"ugrave", XK_ugrave}, |
519 |
{"uacute", XK_uacute}, |
520 |
{"ucircumflex", XK_ucircumflex}, |
521 |
{"udiaeresis", XK_udiaeresis}, |
522 |
{"yacute", XK_yacute}, |
523 |
{"thorn", XK_thorn}, |
524 |
{"ydiaeresis", XK_ydiaeresis}, |
525 |
#endif /* XK_LATIN1 */ |
526 |
#ifdef XK_LATIN2 |
527 |
{"Aogonek", XK_Aogonek}, |
528 |
{"breve", XK_breve}, |
529 |
{"Lstroke", XK_Lstroke}, |
530 |
{"Lcaron", XK_Lcaron}, |
531 |
{"Sacute", XK_Sacute}, |
532 |
{"Scaron", XK_Scaron}, |
533 |
{"Scedilla", XK_Scedilla}, |
534 |
{"Tcaron", XK_Tcaron}, |
535 |
{"Zacute", XK_Zacute}, |
536 |
{"Zcaron", XK_Zcaron}, |
537 |
{"Zabovedot", XK_Zabovedot}, |
538 |
{"aogonek", XK_aogonek}, |
539 |
{"ogonek", XK_ogonek}, |
540 |
{"lstroke", XK_lstroke}, |
541 |
{"lcaron", XK_lcaron}, |
542 |
{"sacute", XK_sacute}, |
543 |
{"caron", XK_caron}, |
544 |
{"scaron", XK_scaron}, |
545 |
{"scedilla", XK_scedilla}, |
546 |
{"tcaron", XK_tcaron}, |
547 |
{"zacute", XK_zacute}, |
548 |
{"doubleacute", XK_doubleacute}, |
549 |
{"zcaron", XK_zcaron}, |
550 |
{"zabovedot", XK_zabovedot}, |
551 |
{"Racute", XK_Racute}, |
552 |
{"Abreve", XK_Abreve}, |
553 |
{"Lacute", XK_Lacute}, |
554 |
{"Cacute", XK_Cacute}, |
555 |
{"Ccaron", XK_Ccaron}, |
556 |
{"Eogonek", XK_Eogonek}, |
557 |
{"Ecaron", XK_Ecaron}, |
558 |
{"Dcaron", XK_Dcaron}, |
559 |
{"Dstroke", XK_Dstroke}, |
560 |
{"Nacute", XK_Nacute}, |
561 |
{"Ncaron", XK_Ncaron}, |
562 |
{"Odoubleacute", XK_Odoubleacute}, |
563 |
{"Rcaron", XK_Rcaron}, |
564 |
{"Uring", XK_Uring}, |
565 |
{"Udoubleacute", XK_Udoubleacute}, |
566 |
{"Tcedilla", XK_Tcedilla}, |
567 |
{"racute", XK_racute}, |
568 |
{"abreve", XK_abreve}, |
569 |
{"lacute", XK_lacute}, |
570 |
{"cacute", XK_cacute}, |
571 |
{"ccaron", XK_ccaron}, |
572 |
{"eogonek", XK_eogonek}, |
573 |
{"ecaron", XK_ecaron}, |
574 |
{"dcaron", XK_dcaron}, |
575 |
{"dstroke", XK_dstroke}, |
576 |
{"nacute", XK_nacute}, |
577 |
{"ncaron", XK_ncaron}, |
578 |
{"odoubleacute", XK_odoubleacute}, |
579 |
{"udoubleacute", XK_udoubleacute}, |
580 |
{"rcaron", XK_rcaron}, |
581 |
{"uring", XK_uring}, |
582 |
{"tcedilla", XK_tcedilla}, |
583 |
{"abovedot", XK_abovedot}, |
584 |
#endif /* XK_LATIN2 */ |
585 |
#ifdef XK_LATIN3 |
586 |
{"Hstroke", XK_Hstroke}, |
587 |
{"Hcircumflex", XK_Hcircumflex}, |
588 |
{"Iabovedot", XK_Iabovedot}, |
589 |
{"Gbreve", XK_Gbreve}, |
590 |
{"Jcircumflex", XK_Jcircumflex}, |
591 |
{"hstroke", XK_hstroke}, |
592 |
{"hcircumflex", XK_hcircumflex}, |
593 |
{"idotless", XK_idotless}, |
594 |
{"gbreve", XK_gbreve}, |
595 |
{"jcircumflex", XK_jcircumflex}, |
596 |
{"Cabovedot", XK_Cabovedot}, |
597 |
{"Ccircumflex", XK_Ccircumflex}, |
598 |
{"Gabovedot", XK_Gabovedot}, |
599 |
{"Gcircumflex", XK_Gcircumflex}, |
600 |
{"Ubreve", XK_Ubreve}, |
601 |
{"Scircumflex", XK_Scircumflex}, |
602 |
{"cabovedot", XK_cabovedot}, |
603 |
{"ccircumflex", XK_ccircumflex}, |
604 |
{"gabovedot", XK_gabovedot}, |
605 |
{"gcircumflex", XK_gcircumflex}, |
606 |
{"ubreve", XK_ubreve}, |
607 |
{"scircumflex", XK_scircumflex}, |
608 |
#endif /* XK_LATIN3 */ |
609 |
#ifdef XK_LATIN4 |
610 |
{"kra", XK_kra}, |
611 |
{"kappa", XK_kappa}, |
612 |
{"Rcedilla", XK_Rcedilla}, |
613 |
{"Itilde", XK_Itilde}, |
614 |
{"Lcedilla", XK_Lcedilla}, |
615 |
{"Emacron", XK_Emacron}, |
616 |
{"Gcedilla", XK_Gcedilla}, |
617 |
{"Tslash", XK_Tslash}, |
618 |
{"rcedilla", XK_rcedilla}, |
619 |
{"itilde", XK_itilde}, |
620 |
{"lcedilla", XK_lcedilla}, |
621 |
{"emacron", XK_emacron}, |
622 |
{"gcedilla", XK_gcedilla}, |
623 |
{"tslash", XK_tslash}, |
624 |
{"ENG", XK_ENG}, |
625 |
{"eng", XK_eng}, |
626 |
{"Amacron", XK_Amacron}, |
627 |
{"Iogonek", XK_Iogonek}, |
628 |
{"Eabovedot", XK_Eabovedot}, |
629 |
{"Imacron", XK_Imacron}, |
630 |
{"Ncedilla", XK_Ncedilla}, |
631 |
{"Omacron", XK_Omacron}, |
632 |
{"Kcedilla", XK_Kcedilla}, |
633 |
{"Uogonek", XK_Uogonek}, |
634 |
{"Utilde", XK_Utilde}, |
635 |
{"Umacron", XK_Umacron}, |
636 |
{"amacron", XK_amacron}, |
637 |
{"iogonek", XK_iogonek}, |
638 |
{"eabovedot", XK_eabovedot}, |
639 |
{"imacron", XK_imacron}, |
640 |
{"ncedilla", XK_ncedilla}, |
641 |
{"omacron", XK_omacron}, |
642 |
{"kcedilla", XK_kcedilla}, |
643 |
{"uogonek", XK_uogonek}, |
644 |
{"utilde", XK_utilde}, |
645 |
{"umacron", XK_umacron}, |
646 |
#endif /* XK_LATIN4 */ |
647 |
#ifdef XK_KATAKANA |
648 |
{"overline", XK_overline}, |
649 |
{"kana_fullstop", XK_kana_fullstop}, |
650 |
{"kana_openingbracket", XK_kana_openingbracket}, |
651 |
{"kana_closingbracket", XK_kana_closingbracket}, |
652 |
{"kana_comma", XK_kana_comma}, |
653 |
{"kana_conjunctive", XK_kana_conjunctive}, |
654 |
{"kana_middledot", XK_kana_middledot}, |
655 |
{"kana_WO", XK_kana_WO}, |
656 |
{"kana_a", XK_kana_a}, |
657 |
{"kana_i", XK_kana_i}, |
658 |
{"kana_u", XK_kana_u}, |
659 |
{"kana_e", XK_kana_e}, |
660 |
{"kana_o", XK_kana_o}, |
661 |
{"kana_ya", XK_kana_ya}, |
662 |
{"kana_yu", XK_kana_yu}, |
663 |
{"kana_yo", XK_kana_yo}, |
664 |
{"kana_tsu", XK_kana_tsu}, |
665 |
{"kana_tu", XK_kana_tu}, |
666 |
{"prolongedsound", XK_prolongedsound}, |
667 |
{"kana_A", XK_kana_A}, |
668 |
{"kana_I", XK_kana_I}, |
669 |
{"kana_U", XK_kana_U}, |
670 |
{"kana_E", XK_kana_E}, |
671 |
{"kana_O", XK_kana_O}, |
672 |
{"kana_KA", XK_kana_KA}, |
673 |
{"kana_KI", XK_kana_KI}, |
674 |
{"kana_KU", XK_kana_KU}, |
675 |
{"kana_KE", XK_kana_KE}, |
676 |
{"kana_KO", XK_kana_KO}, |
677 |
{"kana_SA", XK_kana_SA}, |
678 |
{"kana_SHI", XK_kana_SHI}, |
679 |
{"kana_SU", XK_kana_SU}, |
680 |
{"kana_SE", XK_kana_SE}, |
681 |
{"kana_SO", XK_kana_SO}, |
682 |
{"kana_TA", XK_kana_TA}, |
683 |
{"kana_CHI", XK_kana_CHI}, |
684 |
{"kana_TI", XK_kana_TI}, |
685 |
{"kana_TSU", XK_kana_TSU}, |
686 |
{"kana_TU", XK_kana_TU}, |
687 |
{"kana_TE", XK_kana_TE}, |
688 |
{"kana_TO", XK_kana_TO}, |
689 |
{"kana_NA", XK_kana_NA}, |
690 |
{"kana_NI", XK_kana_NI}, |
691 |
{"kana_NU", XK_kana_NU}, |
692 |
{"kana_NE", XK_kana_NE}, |
693 |
{"kana_NO", XK_kana_NO}, |
694 |
{"kana_HA", XK_kana_HA}, |
695 |
{"kana_HI", XK_kana_HI}, |
696 |
{"kana_FU", XK_kana_FU}, |
697 |
{"kana_HU", XK_kana_HU}, |
698 |
{"kana_HE", XK_kana_HE}, |
699 |
{"kana_HO", XK_kana_HO}, |
700 |
{"kana_MA", XK_kana_MA}, |
701 |
{"kana_MI", XK_kana_MI}, |
702 |
{"kana_MU", XK_kana_MU}, |
703 |
{"kana_ME", XK_kana_ME}, |
704 |
{"kana_MO", XK_kana_MO}, |
705 |
{"kana_YA", XK_kana_YA}, |
706 |
{"kana_YU", XK_kana_YU}, |
707 |
{"kana_YO", XK_kana_YO}, |
708 |
{"kana_RA", XK_kana_RA}, |
709 |
{"kana_RI", XK_kana_RI}, |
710 |
{"kana_RU", XK_kana_RU}, |
711 |
{"kana_RE", XK_kana_RE}, |
712 |
{"kana_RO", XK_kana_RO}, |
713 |
{"kana_WA", XK_kana_WA}, |
714 |
{"kana_N", XK_kana_N}, |
715 |
{"voicedsound", XK_voicedsound}, |
716 |
{"semivoicedsound", XK_semivoicedsound}, |
717 |
{"kana_switch", XK_kana_switch}, |
718 |
#endif /* XK_KATAKANA */ |
719 |
#ifdef XK_ARABIC |
720 |
{"Arabic_comma", XK_Arabic_comma}, |
721 |
{"Arabic_semicolon", XK_Arabic_semicolon}, |
722 |
{"Arabic_question_mark", XK_Arabic_question_mark}, |
723 |
{"Arabic_hamza", XK_Arabic_hamza}, |
724 |
{"Arabic_maddaonalef", XK_Arabic_maddaonalef}, |
725 |
{"Arabic_hamzaonalef", XK_Arabic_hamzaonalef}, |
726 |
{"Arabic_hamzaonwaw", XK_Arabic_hamzaonwaw}, |
727 |
{"Arabic_hamzaunderalef", XK_Arabic_hamzaunderalef}, |
728 |
{"Arabic_hamzaonyeh", XK_Arabic_hamzaonyeh}, |
729 |
{"Arabic_alef", XK_Arabic_alef}, |
730 |
{"Arabic_beh", XK_Arabic_beh}, |
731 |
{"Arabic_tehmarbuta", XK_Arabic_tehmarbuta}, |
732 |
{"Arabic_teh", XK_Arabic_teh}, |
733 |
{"Arabic_theh", XK_Arabic_theh}, |
734 |
{"Arabic_jeem", XK_Arabic_jeem}, |
735 |
{"Arabic_hah", XK_Arabic_hah}, |
736 |
{"Arabic_khah", XK_Arabic_khah}, |
737 |
{"Arabic_dal", XK_Arabic_dal}, |
738 |
{"Arabic_thal", XK_Arabic_thal}, |
739 |
{"Arabic_ra", XK_Arabic_ra}, |
740 |
{"Arabic_zain", XK_Arabic_zain}, |
741 |
{"Arabic_seen", XK_Arabic_seen}, |
742 |
{"Arabic_sheen", XK_Arabic_sheen}, |
743 |
{"Arabic_sad", XK_Arabic_sad}, |
744 |
{"Arabic_dad", XK_Arabic_dad}, |
745 |
{"Arabic_tah", XK_Arabic_tah}, |
746 |
{"Arabic_zah", XK_Arabic_zah}, |
747 |
{"Arabic_ain", XK_Arabic_ain}, |
748 |
{"Arabic_ghain", XK_Arabic_ghain}, |
749 |
{"Arabic_tatweel", XK_Arabic_tatweel}, |
750 |
{"Arabic_feh", XK_Arabic_feh}, |
751 |
{"Arabic_qaf", XK_Arabic_qaf}, |
752 |
{"Arabic_kaf", XK_Arabic_kaf}, |
753 |
{"Arabic_lam", XK_Arabic_lam}, |
754 |
{"Arabic_meem", XK_Arabic_meem}, |
755 |
{"Arabic_noon", XK_Arabic_noon}, |
756 |
{"Arabic_ha", XK_Arabic_ha}, |
757 |
{"Arabic_heh", XK_Arabic_heh}, |
758 |
{"Arabic_waw", XK_Arabic_waw}, |
759 |
{"Arabic_alefmaksura", XK_Arabic_alefmaksura}, |
760 |
{"Arabic_yeh", XK_Arabic_yeh}, |
761 |
{"Arabic_fathatan", XK_Arabic_fathatan}, |
762 |
{"Arabic_dammatan", XK_Arabic_dammatan}, |
763 |
{"Arabic_kasratan", XK_Arabic_kasratan}, |
764 |
{"Arabic_fatha", XK_Arabic_fatha}, |
765 |
{"Arabic_damma", XK_Arabic_damma}, |
766 |
{"Arabic_kasra", XK_Arabic_kasra}, |
767 |
{"Arabic_shadda", XK_Arabic_shadda}, |
768 |
{"Arabic_sukun", XK_Arabic_sukun}, |
769 |
{"Arabic_switch", XK_Arabic_switch}, |
770 |
#endif /* XK_ARABIC */ |
771 |
#ifdef XK_CYRILLIC |
772 |
{"Serbian_dje", XK_Serbian_dje}, |
773 |
{"Macedonia_gje", XK_Macedonia_gje}, |
774 |
{"Cyrillic_io", XK_Cyrillic_io}, |
775 |
{"Ukrainian_ie", XK_Ukrainian_ie}, |
776 |
{"Ukranian_je", XK_Ukranian_je}, |
777 |
{"Macedonia_dse", XK_Macedonia_dse}, |
778 |
{"Ukrainian_i", XK_Ukrainian_i}, |
779 |
{"Ukranian_i", XK_Ukranian_i}, |
780 |
{"Ukrainian_yi", XK_Ukrainian_yi}, |
781 |
{"Ukranian_yi", XK_Ukranian_yi}, |
782 |
{"Cyrillic_je", XK_Cyrillic_je}, |
783 |
{"Serbian_je", XK_Serbian_je}, |
784 |
{"Cyrillic_lje", XK_Cyrillic_lje}, |
785 |
{"Serbian_lje", XK_Serbian_lje}, |
786 |
{"Cyrillic_nje", XK_Cyrillic_nje}, |
787 |
{"Serbian_nje", XK_Serbian_nje}, |
788 |
{"Serbian_tshe", XK_Serbian_tshe}, |
789 |
{"Macedonia_kje", XK_Macedonia_kje}, |
790 |
{"Byelorussian_shortu", XK_Byelorussian_shortu}, |
791 |
{"Cyrillic_dzhe", XK_Cyrillic_dzhe}, |
792 |
{"Serbian_dze", XK_Serbian_dze}, |
793 |
{"numerosign", XK_numerosign}, |
794 |
{"Serbian_DJE", XK_Serbian_DJE}, |
795 |
{"Macedonia_GJE", XK_Macedonia_GJE}, |
796 |
{"Cyrillic_IO", XK_Cyrillic_IO}, |
797 |
{"Ukrainian_IE", XK_Ukrainian_IE}, |
798 |
{"Ukranian_JE", XK_Ukranian_JE}, |
799 |
{"Macedonia_DSE", XK_Macedonia_DSE}, |
800 |
{"Ukrainian_I", XK_Ukrainian_I}, |
801 |
{"Ukranian_I", XK_Ukranian_I}, |
802 |
{"Ukrainian_YI", XK_Ukrainian_YI}, |
803 |
{"Ukranian_YI", XK_Ukranian_YI}, |
804 |
{"Cyrillic_JE", XK_Cyrillic_JE}, |
805 |
{"Serbian_JE", XK_Serbian_JE}, |
806 |
{"Cyrillic_LJE", XK_Cyrillic_LJE}, |
807 |
{"Serbian_LJE", XK_Serbian_LJE}, |
808 |
{"Cyrillic_NJE", XK_Cyrillic_NJE}, |
809 |
{"Serbian_NJE", XK_Serbian_NJE}, |
810 |
{"Serbian_TSHE", XK_Serbian_TSHE}, |
811 |
{"Macedonia_KJE", XK_Macedonia_KJE}, |
812 |
{"Byelorussian_SHORTU", XK_Byelorussian_SHORTU}, |
813 |
{"Cyrillic_DZHE", XK_Cyrillic_DZHE}, |
814 |
{"Serbian_DZE", XK_Serbian_DZE}, |
815 |
{"Cyrillic_yu", XK_Cyrillic_yu}, |
816 |
{"Cyrillic_a", XK_Cyrillic_a}, |
817 |
{"Cyrillic_be", XK_Cyrillic_be}, |
818 |
{"Cyrillic_tse", XK_Cyrillic_tse}, |
819 |
{"Cyrillic_de", XK_Cyrillic_de}, |
820 |
{"Cyrillic_ie", XK_Cyrillic_ie}, |
821 |
{"Cyrillic_ef", XK_Cyrillic_ef}, |
822 |
{"Cyrillic_ghe", XK_Cyrillic_ghe}, |
823 |
{"Cyrillic_ha", XK_Cyrillic_ha}, |
824 |
{"Cyrillic_i", XK_Cyrillic_i}, |
825 |
{"Cyrillic_shorti", XK_Cyrillic_shorti}, |
826 |
{"Cyrillic_ka", XK_Cyrillic_ka}, |
827 |
{"Cyrillic_el", XK_Cyrillic_el}, |
828 |
{"Cyrillic_em", XK_Cyrillic_em}, |
829 |
{"Cyrillic_en", XK_Cyrillic_en}, |
830 |
{"Cyrillic_o", XK_Cyrillic_o}, |
831 |
{"Cyrillic_pe", XK_Cyrillic_pe}, |
832 |
{"Cyrillic_ya", XK_Cyrillic_ya}, |
833 |
{"Cyrillic_er", XK_Cyrillic_er}, |
834 |
{"Cyrillic_es", XK_Cyrillic_es}, |
835 |
{"Cyrillic_te", XK_Cyrillic_te}, |
836 |
{"Cyrillic_u", XK_Cyrillic_u}, |
837 |
{"Cyrillic_zhe", XK_Cyrillic_zhe}, |
838 |
{"Cyrillic_ve", XK_Cyrillic_ve}, |
839 |
{"Cyrillic_softsign", XK_Cyrillic_softsign}, |
840 |
{"Cyrillic_yeru", XK_Cyrillic_yeru}, |
841 |
{"Cyrillic_ze", XK_Cyrillic_ze}, |
842 |
{"Cyrillic_sha", XK_Cyrillic_sha}, |
843 |
{"Cyrillic_e", XK_Cyrillic_e}, |
844 |
{"Cyrillic_shcha", XK_Cyrillic_shcha}, |
845 |
{"Cyrillic_che", XK_Cyrillic_che}, |
846 |
{"Cyrillic_hardsign", XK_Cyrillic_hardsign}, |
847 |
{"Cyrillic_YU", XK_Cyrillic_YU}, |
848 |
{"Cyrillic_A", XK_Cyrillic_A}, |
849 |
{"Cyrillic_BE", XK_Cyrillic_BE}, |
850 |
{"Cyrillic_TSE", XK_Cyrillic_TSE}, |
851 |
{"Cyrillic_DE", XK_Cyrillic_DE}, |
852 |
{"Cyrillic_IE", XK_Cyrillic_IE}, |
853 |
{"Cyrillic_EF", XK_Cyrillic_EF}, |
854 |
{"Cyrillic_GHE", XK_Cyrillic_GHE}, |
855 |
{"Cyrillic_HA", XK_Cyrillic_HA}, |
856 |
{"Cyrillic_I", XK_Cyrillic_I}, |
857 |
{"Cyrillic_SHORTI", XK_Cyrillic_SHORTI}, |
858 |
{"Cyrillic_KA", XK_Cyrillic_KA}, |
859 |
{"Cyrillic_EL", XK_Cyrillic_EL}, |
860 |
{"Cyrillic_EM", XK_Cyrillic_EM}, |
861 |
{"Cyrillic_EN", XK_Cyrillic_EN}, |
862 |
{"Cyrillic_O", XK_Cyrillic_O}, |
863 |
{"Cyrillic_PE", XK_Cyrillic_PE}, |
864 |
{"Cyrillic_YA", XK_Cyrillic_YA}, |
865 |
{"Cyrillic_ER", XK_Cyrillic_ER}, |
866 |
{"Cyrillic_ES", XK_Cyrillic_ES}, |
867 |
{"Cyrillic_TE", XK_Cyrillic_TE}, |
868 |
{"Cyrillic_U", XK_Cyrillic_U}, |
869 |
{"Cyrillic_ZHE", XK_Cyrillic_ZHE}, |
870 |
{"Cyrillic_VE", XK_Cyrillic_VE}, |
871 |
{"Cyrillic_SOFTSIGN", XK_Cyrillic_SOFTSIGN}, |
872 |
{"Cyrillic_YERU", XK_Cyrillic_YERU}, |
873 |
{"Cyrillic_ZE", XK_Cyrillic_ZE}, |
874 |
{"Cyrillic_SHA", XK_Cyrillic_SHA}, |
875 |
{"Cyrillic_E", XK_Cyrillic_E}, |
876 |
{"Cyrillic_SHCHA", XK_Cyrillic_SHCHA}, |
877 |
{"Cyrillic_CHE", XK_Cyrillic_CHE}, |
878 |
{"Cyrillic_HARDSIGN", XK_Cyrillic_HARDSIGN}, |
879 |
#endif /* XK_CYRILLIC */ |
880 |
#ifdef XK_GREEK |
881 |
{"Greek_ALPHAaccent", XK_Greek_ALPHAaccent}, |
882 |
{"Greek_EPSILONaccent", XK_Greek_EPSILONaccent}, |
883 |
{"Greek_ETAaccent", XK_Greek_ETAaccent}, |
884 |
{"Greek_IOTAaccent", XK_Greek_IOTAaccent}, |
885 |
{"Greek_IOTAdieresis", XK_Greek_IOTAdieresis}, |
886 |
{"Greek_OMICRONaccent", XK_Greek_OMICRONaccent}, |
887 |
{"Greek_UPSILONaccent", XK_Greek_UPSILONaccent}, |
888 |
{"Greek_UPSILONdieresis", XK_Greek_UPSILONdieresis}, |
889 |
{"Greek_OMEGAaccent", XK_Greek_OMEGAaccent}, |
890 |
{"Greek_accentdieresis", XK_Greek_accentdieresis}, |
891 |
{"Greek_horizbar", XK_Greek_horizbar}, |
892 |
{"Greek_alphaaccent", XK_Greek_alphaaccent}, |
893 |
{"Greek_epsilonaccent", XK_Greek_epsilonaccent}, |
894 |
{"Greek_etaaccent", XK_Greek_etaaccent}, |
895 |
{"Greek_iotaaccent", XK_Greek_iotaaccent}, |
896 |
{"Greek_iotadieresis", XK_Greek_iotadieresis}, |
897 |
{"Greek_iotaaccentdieresis", XK_Greek_iotaaccentdieresis}, |
898 |
{"Greek_omicronaccent", XK_Greek_omicronaccent}, |
899 |
{"Greek_upsilonaccent", XK_Greek_upsilonaccent}, |
900 |
{"Greek_upsilondieresis", XK_Greek_upsilondieresis}, |
901 |
{"Greek_upsilonaccentdieresis", XK_Greek_upsilonaccentdieresis}, |
902 |
{"Greek_omegaaccent", XK_Greek_omegaaccent}, |
903 |
{"Greek_ALPHA", XK_Greek_ALPHA}, |
904 |
{"Greek_BETA", XK_Greek_BETA}, |
905 |
{"Greek_GAMMA", XK_Greek_GAMMA}, |
906 |
{"Greek_DELTA", XK_Greek_DELTA}, |
907 |
{"Greek_EPSILON", XK_Greek_EPSILON}, |
908 |
{"Greek_ZETA", XK_Greek_ZETA}, |
909 |
{"Greek_ETA", XK_Greek_ETA}, |
910 |
{"Greek_THETA", XK_Greek_THETA}, |
911 |
{"Greek_IOTA", XK_Greek_IOTA}, |
912 |
{"Greek_KAPPA", XK_Greek_KAPPA}, |
913 |
{"Greek_LAMDA", XK_Greek_LAMDA}, |
914 |
{"Greek_LAMBDA", XK_Greek_LAMBDA}, |
915 |
{"Greek_MU", XK_Greek_MU}, |
916 |
{"Greek_NU", XK_Greek_NU}, |
917 |
{"Greek_XI", XK_Greek_XI}, |
918 |
{"Greek_OMICRON", XK_Greek_OMICRON}, |
919 |
{"Greek_PI", XK_Greek_PI}, |
920 |
{"Greek_RHO", XK_Greek_RHO}, |
921 |
{"Greek_SIGMA", XK_Greek_SIGMA}, |
922 |
{"Greek_TAU", XK_Greek_TAU}, |
923 |
{"Greek_UPSILON", XK_Greek_UPSILON}, |
924 |
{"Greek_PHI", XK_Greek_PHI}, |
925 |
{"Greek_CHI", XK_Greek_CHI}, |
926 |
{"Greek_PSI", XK_Greek_PSI}, |
927 |
{"Greek_OMEGA", XK_Greek_OMEGA}, |
928 |
{"Greek_alpha", XK_Greek_alpha}, |
929 |
{"Greek_beta", XK_Greek_beta}, |
930 |
{"Greek_gamma", XK_Greek_gamma}, |
931 |
{"Greek_delta", XK_Greek_delta}, |
932 |
{"Greek_epsilon", XK_Greek_epsilon}, |
933 |
{"Greek_zeta", XK_Greek_zeta}, |
934 |
{"Greek_eta", XK_Greek_eta}, |
935 |
{"Greek_theta", XK_Greek_theta}, |
936 |
{"Greek_iota", XK_Greek_iota}, |
937 |
{"Greek_kappa", XK_Greek_kappa}, |
938 |
{"Greek_lamda", XK_Greek_lamda}, |
939 |
{"Greek_lambda", XK_Greek_lambda}, |
940 |
{"Greek_mu", XK_Greek_mu}, |
941 |
{"Greek_nu", XK_Greek_nu}, |
942 |
{"Greek_xi", XK_Greek_xi}, |
943 |
{"Greek_omicron", XK_Greek_omicron}, |
944 |
{"Greek_pi", XK_Greek_pi}, |
945 |
{"Greek_rho", XK_Greek_rho}, |
946 |
{"Greek_sigma", XK_Greek_sigma}, |
947 |
{"Greek_finalsmallsigma", XK_Greek_finalsmallsigma}, |
948 |
{"Greek_tau", XK_Greek_tau}, |
949 |
{"Greek_upsilon", XK_Greek_upsilon}, |
950 |
{"Greek_phi", XK_Greek_phi}, |
951 |
{"Greek_chi", XK_Greek_chi}, |
952 |
{"Greek_psi", XK_Greek_psi}, |
953 |
{"Greek_omega", XK_Greek_omega}, |
954 |
{"Greek_switch", XK_Greek_switch}, |
955 |
#endif /* XK_GREEK */ |
956 |
#ifdef XK_TECHNICAL |
957 |
{"leftradical", XK_leftradical}, |
958 |
{"topleftradical", XK_topleftradical}, |
959 |
{"horizconnector", XK_horizconnector}, |
960 |
{"topintegral", XK_topintegral}, |
961 |
{"botintegral", XK_botintegral}, |
962 |
{"vertconnector", XK_vertconnector}, |
963 |
{"topleftsqbracket", XK_topleftsqbracket}, |
964 |
{"botleftsqbracket", XK_botleftsqbracket}, |
965 |
{"toprightsqbracket", XK_toprightsqbracket}, |
966 |
{"botrightsqbracket", XK_botrightsqbracket}, |
967 |
{"topleftparens", XK_topleftparens}, |
968 |
{"botleftparens", XK_botleftparens}, |
969 |
{"toprightparens", XK_toprightparens}, |
970 |
{"botrightparens", XK_botrightparens}, |
971 |
{"leftmiddlecurlybrace", XK_leftmiddlecurlybrace}, |
972 |
{"rightmiddlecurlybrace", XK_rightmiddlecurlybrace}, |
973 |
{"topleftsummation", XK_topleftsummation}, |
974 |
{"botleftsummation", XK_botleftsummation}, |
975 |
{"topvertsummationconnector", XK_topvertsummationconnector}, |
976 |
{"botvertsummationconnector", XK_botvertsummationconnector}, |
977 |
{"toprightsummation", XK_toprightsummation}, |
978 |
{"botrightsummation", XK_botrightsummation}, |
979 |
{"rightmiddlesummation", XK_rightmiddlesummation}, |
980 |
{"lessthanequal", XK_lessthanequal}, |
981 |
{"notequal", XK_notequal}, |
982 |
{"greaterthanequal", XK_greaterthanequal}, |
983 |
{"integral", XK_integral}, |
984 |
{"therefore", XK_therefore}, |
985 |
{"variation", XK_variation}, |
986 |
{"infinity", XK_infinity}, |
987 |
{"nabla", XK_nabla}, |
988 |
{"approximate", XK_approximate}, |
989 |
{"similarequal", XK_similarequal}, |
990 |
{"ifonlyif", XK_ifonlyif}, |
991 |
{"implies", XK_implies}, |
992 |
{"identical", XK_identical}, |
993 |
{"radical", XK_radical}, |
994 |
{"includedin", XK_includedin}, |
995 |
{"includes", XK_includes}, |
996 |
{"intersection", XK_intersection}, |
997 |
{"union", XK_union}, |
998 |
{"logicaland", XK_logicaland}, |
999 |
{"logicalor", XK_logicalor}, |
1000 |
{"partialderivative", XK_partialderivative}, |
1001 |
{"function", XK_function}, |
1002 |
{"leftarrow", XK_leftarrow}, |
1003 |
{"uparrow", XK_uparrow}, |
1004 |
{"rightarrow", XK_rightarrow}, |
1005 |
{"downarrow", XK_downarrow}, |
1006 |
#endif /* XK_TECHNICAL */ |
1007 |
#ifdef XK_SPECIAL |
1008 |
{"blank", XK_blank}, |
1009 |
{"soliddiamond", XK_soliddiamond}, |
1010 |
{"checkerboard", XK_checkerboard}, |
1011 |
{"ht", XK_ht}, |
1012 |
{"ff", XK_ff}, |
1013 |
{"cr", XK_cr}, |
1014 |
{"lf", XK_lf}, |
1015 |
{"nl", XK_nl}, |
1016 |
{"vt", XK_vt}, |
1017 |
{"lowrightcorner", XK_lowrightcorner}, |
1018 |
{"uprightcorner", XK_uprightcorner}, |
1019 |
{"upleftcorner", XK_upleftcorner}, |
1020 |
{"lowleftcorner", XK_lowleftcorner}, |
1021 |
{"crossinglines", XK_crossinglines}, |
1022 |
{"horizlinescan1", XK_horizlinescan1}, |
1023 |
{"horizlinescan3", XK_horizlinescan3}, |
1024 |
{"horizlinescan5", XK_horizlinescan5}, |
1025 |
{"horizlinescan7", XK_horizlinescan7}, |
1026 |
{"horizlinescan9", XK_horizlinescan9}, |
1027 |
{"leftt", XK_leftt}, |
1028 |
{"rightt", XK_rightt}, |
1029 |
{"bott", XK_bott}, |
1030 |
{"topt", XK_topt}, |
1031 |
{"vertbar", XK_vertbar}, |
1032 |
#endif /* XK_SPECIAL */ |
1033 |
#ifdef XK_PUBLISHING |
1034 |
{"emspace", XK_emspace}, |
1035 |
{"enspace", XK_enspace}, |
1036 |
{"em3space", XK_em3space}, |
1037 |
{"em4space", XK_em4space}, |
1038 |
{"digitspace", XK_digitspace}, |
1039 |
{"punctspace", XK_punctspace}, |
1040 |
{"thinspace", XK_thinspace}, |
1041 |
{"hairspace", XK_hairspace}, |
1042 |
{"emdash", XK_emdash}, |
1043 |
{"endash", XK_endash}, |
1044 |
{"signifblank", XK_signifblank}, |
1045 |
{"ellipsis", XK_ellipsis}, |
1046 |
{"doubbaselinedot", XK_doubbaselinedot}, |
1047 |
{"onethird", XK_onethird}, |
1048 |
{"twothirds", XK_twothirds}, |
1049 |
{"onefifth", XK_onefifth}, |
1050 |
{"twofifths", XK_twofifths}, |
1051 |
{"threefifths", XK_threefifths}, |
1052 |
{"fourfifths", XK_fourfifths}, |
1053 |
{"onesixth", XK_onesixth}, |
1054 |
{"fivesixths", XK_fivesixths}, |
1055 |
{"careof", XK_careof}, |
1056 |
{"figdash", XK_figdash}, |
1057 |
{"leftanglebracket", XK_leftanglebracket}, |
1058 |
{"decimalpoint", XK_decimalpoint}, |
1059 |
{"rightanglebracket", XK_rightanglebracket}, |
1060 |
{"marker", XK_marker}, |
1061 |
{"oneeighth", XK_oneeighth}, |
1062 |
{"threeeighths", XK_threeeighths}, |
1063 |
{"fiveeighths", XK_fiveeighths}, |
1064 |
{"seveneighths", XK_seveneighths}, |
1065 |
{"trademark", XK_trademark}, |
1066 |
{"signaturemark", XK_signaturemark}, |
1067 |
{"trademarkincircle", XK_trademarkincircle}, |
1068 |
{"leftopentriangle", XK_leftopentriangle}, |
1069 |
{"rightopentriangle", XK_rightopentriangle}, |
1070 |
{"emopencircle", XK_emopencircle}, |
1071 |
{"emopenrectangle", XK_emopenrectangle}, |
1072 |
{"leftsinglequotemark", XK_leftsinglequotemark}, |
1073 |
{"rightsinglequotemark", XK_rightsinglequotemark}, |
1074 |
{"leftdoublequotemark", XK_leftdoublequotemark}, |
1075 |
{"rightdoublequotemark", XK_rightdoublequotemark}, |
1076 |
{"prescription", XK_prescription}, |
1077 |
{"minutes", XK_minutes}, |
1078 |
{"seconds", XK_seconds}, |
1079 |
{"latincross", XK_latincross}, |
1080 |
{"hexagram", XK_hexagram}, |
1081 |
{"filledrectbullet", XK_filledrectbullet}, |
1082 |
{"filledlefttribullet", XK_filledlefttribullet}, |
1083 |
{"filledrighttribullet", XK_filledrighttribullet}, |
1084 |
{"emfilledcircle", XK_emfilledcircle}, |
1085 |
{"emfilledrect", XK_emfilledrect}, |
1086 |
{"enopencircbullet", XK_enopencircbullet}, |
1087 |
{"enopensquarebullet", XK_enopensquarebullet}, |
1088 |
{"openrectbullet", XK_openrectbullet}, |
1089 |
{"opentribulletup", XK_opentribulletup}, |
1090 |
{"opentribulletdown", XK_opentribulletdown}, |
1091 |
{"openstar", XK_openstar}, |
1092 |
{"enfilledcircbullet", XK_enfilledcircbullet}, |
1093 |
{"enfilledsqbullet", XK_enfilledsqbullet}, |
1094 |
{"filledtribulletup", XK_filledtribulletup}, |
1095 |
{"filledtribulletdown", XK_filledtribulletdown}, |
1096 |
{"leftpointer", XK_leftpointer}, |
1097 |
{"rightpointer", XK_rightpointer}, |
1098 |
{"club", XK_club}, |
1099 |
{"diamond", XK_diamond}, |
1100 |
{"heart", XK_heart}, |
1101 |
{"maltesecross", XK_maltesecross}, |
1102 |
{"dagger", XK_dagger}, |
1103 |
{"doubledagger", XK_doubledagger}, |
1104 |
{"checkmark", XK_checkmark}, |
1105 |
{"ballotcross", XK_ballotcross}, |
1106 |
{"musicalsharp", XK_musicalsharp}, |
1107 |
{"musicalflat", XK_musicalflat}, |
1108 |
{"malesymbol", XK_malesymbol}, |
1109 |
{"femalesymbol", XK_femalesymbol}, |
1110 |
{"telephone", XK_telephone}, |
1111 |
{"telephonerecorder", XK_telephonerecorder}, |
1112 |
{"phonographcopyright", XK_phonographcopyright}, |
1113 |
{"caret", XK_caret}, |
1114 |
{"singlelowquotemark", XK_singlelowquotemark}, |
1115 |
{"doublelowquotemark", XK_doublelowquotemark}, |
1116 |
{"cursor", XK_cursor}, |
1117 |
#endif /* XK_PUBLISHING */ |
1118 |
#ifdef XK_APL |
1119 |
{"leftcaret", XK_leftcaret}, |
1120 |
{"rightcaret", XK_rightcaret}, |
1121 |
{"downcaret", XK_downcaret}, |
1122 |
{"upcaret", XK_upcaret}, |
1123 |
{"overbar", XK_overbar}, |
1124 |
{"downtack", XK_downtack}, |
1125 |
{"upshoe", XK_upshoe}, |
1126 |
{"downstile", XK_downstile}, |
1127 |
{"underbar", XK_underbar}, |
1128 |
{"jot", XK_jot}, |
1129 |
{"quad", XK_quad}, |
1130 |
{"uptack", XK_uptack}, |
1131 |
{"circle", XK_circle}, |
1132 |
{"upstile", XK_upstile}, |
1133 |
{"downshoe", XK_downshoe}, |
1134 |
{"rightshoe", XK_rightshoe}, |
1135 |
{"leftshoe", XK_leftshoe}, |
1136 |
{"lefttack", XK_lefttack}, |
1137 |
{"righttack", XK_righttack}, |
1138 |
#endif /* XK_APL */ |
1139 |
#ifdef XK_HEBREW |
1140 |
{"hebrew_doublelowline", XK_hebrew_doublelowline}, |
1141 |
{"hebrew_aleph", XK_hebrew_aleph}, |
1142 |
{"hebrew_bet", XK_hebrew_bet}, |
1143 |
{"hebrew_beth", XK_hebrew_beth}, |
1144 |
{"hebrew_gimel", XK_hebrew_gimel}, |
1145 |
{"hebrew_gimmel", XK_hebrew_gimmel}, |
1146 |
{"hebrew_dalet", XK_hebrew_dalet}, |
1147 |
{"hebrew_daleth", XK_hebrew_daleth}, |
1148 |
{"hebrew_he", XK_hebrew_he}, |
1149 |
{"hebrew_waw", XK_hebrew_waw}, |
1150 |
{"hebrew_zain", XK_hebrew_zain}, |
1151 |
{"hebrew_zayin", XK_hebrew_zayin}, |
1152 |
{"hebrew_chet", XK_hebrew_chet}, |
1153 |
{"hebrew_het", XK_hebrew_het}, |
1154 |
{"hebrew_tet", XK_hebrew_tet}, |
1155 |
{"hebrew_teth", XK_hebrew_teth}, |
1156 |
{"hebrew_yod", XK_hebrew_yod}, |
1157 |
{"hebrew_finalkaph", XK_hebrew_finalkaph}, |
1158 |
{"hebrew_kaph", XK_hebrew_kaph}, |
1159 |
{"hebrew_lamed", XK_hebrew_lamed}, |
1160 |
{"hebrew_finalmem", XK_hebrew_finalmem}, |
1161 |
{"hebrew_mem", XK_hebrew_mem}, |
1162 |
{"hebrew_finalnun", XK_hebrew_finalnun}, |
1163 |
{"hebrew_nun", XK_hebrew_nun}, |
1164 |
{"hebrew_samech", XK_hebrew_samech}, |
1165 |
{"hebrew_samekh", XK_hebrew_samekh}, |
1166 |
{"hebrew_ayin", XK_hebrew_ayin}, |
1167 |
{"hebrew_finalpe", XK_hebrew_finalpe}, |
1168 |
{"hebrew_pe", XK_hebrew_pe}, |
1169 |
{"hebrew_finalzade", XK_hebrew_finalzade}, |
1170 |
{"hebrew_finalzadi", XK_hebrew_finalzadi}, |
1171 |
{"hebrew_zade", XK_hebrew_zade}, |
1172 |
{"hebrew_zadi", XK_hebrew_zadi}, |
1173 |
{"hebrew_qoph", XK_hebrew_qoph}, |
1174 |
{"hebrew_kuf", XK_hebrew_kuf}, |
1175 |
{"hebrew_resh", XK_hebrew_resh}, |
1176 |
{"hebrew_shin", XK_hebrew_shin}, |
1177 |
{"hebrew_taw", XK_hebrew_taw}, |
1178 |
{"hebrew_taf", XK_hebrew_taf}, |
1179 |
{"Hebrew_switch", XK_Hebrew_switch}, |
1180 |
#endif /* XK_HEBREW */ |
1181 |
#ifdef XK_THAI |
1182 |
{"Thai_kokai", XK_Thai_kokai}, |
1183 |
{"Thai_khokhai", XK_Thai_khokhai}, |
1184 |
{"Thai_khokhuat", XK_Thai_khokhuat}, |
1185 |
{"Thai_khokhwai", XK_Thai_khokhwai}, |
1186 |
{"Thai_khokhon", XK_Thai_khokhon}, |
1187 |
{"Thai_khorakhang", XK_Thai_khorakhang}, |
1188 |
{"Thai_ngongu", XK_Thai_ngongu}, |
1189 |
{"Thai_chochan", XK_Thai_chochan}, |
1190 |
{"Thai_choching", XK_Thai_choching}, |
1191 |
{"Thai_chochang", XK_Thai_chochang}, |
1192 |
{"Thai_soso", XK_Thai_soso}, |
1193 |
{"Thai_chochoe", XK_Thai_chochoe}, |
1194 |
{"Thai_yoying", XK_Thai_yoying}, |
1195 |
{"Thai_dochada", XK_Thai_dochada}, |
1196 |
{"Thai_topatak", XK_Thai_topatak}, |
1197 |
{"Thai_thothan", XK_Thai_thothan}, |
1198 |
{"Thai_thonangmontho", XK_Thai_thonangmontho}, |
1199 |
{"Thai_thophuthao", XK_Thai_thophuthao}, |
1200 |
{"Thai_nonen", XK_Thai_nonen}, |
1201 |
{"Thai_dodek", XK_Thai_dodek}, |
1202 |
{"Thai_totao", XK_Thai_totao}, |
1203 |
{"Thai_thothung", XK_Thai_thothung}, |
1204 |
{"Thai_thothahan", XK_Thai_thothahan}, |
1205 |
{"Thai_thothong", XK_Thai_thothong}, |
1206 |
{"Thai_nonu", XK_Thai_nonu}, |
1207 |
{"Thai_bobaimai", XK_Thai_bobaimai}, |
1208 |
{"Thai_popla", XK_Thai_popla}, |
1209 |
{"Thai_phophung", XK_Thai_phophung}, |
1210 |
{"Thai_fofa", XK_Thai_fofa}, |
1211 |
{"Thai_phophan", XK_Thai_phophan}, |
1212 |
{"Thai_fofan", XK_Thai_fofan}, |
1213 |
{"Thai_phosamphao", XK_Thai_phosamphao}, |
1214 |
{"Thai_moma", XK_Thai_moma}, |
1215 |
{"Thai_yoyak", XK_Thai_yoyak}, |
1216 |
{"Thai_rorua", XK_Thai_rorua}, |
1217 |
{"Thai_ru", XK_Thai_ru}, |
1218 |
{"Thai_loling", XK_Thai_loling}, |
1219 |
{"Thai_lu", XK_Thai_lu}, |
1220 |
{"Thai_wowaen", XK_Thai_wowaen}, |
1221 |
{"Thai_sosala", XK_Thai_sosala}, |
1222 |
{"Thai_sorusi", XK_Thai_sorusi}, |
1223 |
{"Thai_sosua", XK_Thai_sosua}, |
1224 |
{"Thai_hohip", XK_Thai_hohip}, |
1225 |
{"Thai_lochula", XK_Thai_lochula}, |
1226 |
{"Thai_oang", XK_Thai_oang}, |
1227 |
{"Thai_honokhuk", XK_Thai_honokhuk}, |
1228 |
{"Thai_paiyannoi", XK_Thai_paiyannoi}, |
1229 |
{"Thai_saraa", XK_Thai_saraa}, |
1230 |
{"Thai_maihanakat", XK_Thai_maihanakat}, |
1231 |
{"Thai_saraaa", XK_Thai_saraaa}, |
1232 |
{"Thai_saraam", XK_Thai_saraam}, |
1233 |
{"Thai_sarai", XK_Thai_sarai}, |
1234 |
{"Thai_saraii", XK_Thai_saraii}, |
1235 |
{"Thai_saraue", XK_Thai_saraue}, |
1236 |
{"Thai_sarauee", XK_Thai_sarauee}, |
1237 |
{"Thai_sarau", XK_Thai_sarau}, |
1238 |
{"Thai_sarauu", XK_Thai_sarauu}, |
1239 |
{"Thai_phinthu", XK_Thai_phinthu}, |
1240 |
{"Thai_maihanakat_maitho", XK_Thai_maihanakat_maitho}, |
1241 |
{"Thai_baht", XK_Thai_baht}, |
1242 |
{"Thai_sarae", XK_Thai_sarae}, |
1243 |
{"Thai_saraae", XK_Thai_saraae}, |
1244 |
{"Thai_sarao", XK_Thai_sarao}, |
1245 |
{"Thai_saraaimaimuan", XK_Thai_saraaimaimuan}, |
1246 |
{"Thai_saraaimaimalai", XK_Thai_saraaimaimalai}, |
1247 |
{"Thai_lakkhangyao", XK_Thai_lakkhangyao}, |
1248 |
{"Thai_maiyamok", XK_Thai_maiyamok}, |
1249 |
{"Thai_maitaikhu", XK_Thai_maitaikhu}, |
1250 |
{"Thai_maiek", XK_Thai_maiek}, |
1251 |
{"Thai_maitho", XK_Thai_maitho}, |
1252 |
{"Thai_maitri", XK_Thai_maitri}, |
1253 |
{"Thai_maichattawa", XK_Thai_maichattawa}, |
1254 |
{"Thai_thanthakhat", XK_Thai_thanthakhat}, |
1255 |
{"Thai_nikhahit", XK_Thai_nikhahit}, |
1256 |
{"Thai_leksun", XK_Thai_leksun}, |
1257 |
{"Thai_leknung", XK_Thai_leknung}, |
1258 |
{"Thai_leksong", XK_Thai_leksong}, |
1259 |
{"Thai_leksam", XK_Thai_leksam}, |
1260 |
{"Thai_leksi", XK_Thai_leksi}, |
1261 |
{"Thai_lekha", XK_Thai_lekha}, |
1262 |
{"Thai_lekhok", XK_Thai_lekhok}, |
1263 |
{"Thai_lekchet", XK_Thai_lekchet}, |
1264 |
{"Thai_lekpaet", XK_Thai_lekpaet}, |
1265 |
{"Thai_lekkao", XK_Thai_lekkao}, |
1266 |
#endif /* XK_THAI */ |
1267 |
#ifdef XK_KOREAN |
1268 |
{"Hangul", XK_Hangul}, |
1269 |
{"Hangul_Start", XK_Hangul_Start}, |
1270 |
{"Hangul_End", XK_Hangul_End}, |
1271 |
{"Hangul_Hanja", XK_Hangul_Hanja}, |
1272 |
{"Hangul_Jamo", XK_Hangul_Jamo}, |
1273 |
{"Hangul_Romaja", XK_Hangul_Romaja}, |
1274 |
{"Hangul_Codeinput", XK_Hangul_Codeinput}, |
1275 |
{"Hangul_Jeonja", XK_Hangul_Jeonja}, |
1276 |
{"Hangul_Banja", XK_Hangul_Banja}, |
1277 |
{"Hangul_PreHanja", XK_Hangul_PreHanja}, |
1278 |
{"Hangul_PostHanja", XK_Hangul_PostHanja}, |
1279 |
{"Hangul_SingleCandidate", XK_Hangul_SingleCandidate}, |
1280 |
{"Hangul_MultipleCandidate", XK_Hangul_MultipleCandidate}, |
1281 |
{"Hangul_PreviousCandidate", XK_Hangul_PreviousCandidate}, |
1282 |
{"Hangul_Special", XK_Hangul_Special}, |
1283 |
{"Hangul_switch", XK_Hangul_switch}, |
1284 |
{"Hangul_Kiyeog", XK_Hangul_Kiyeog}, |
1285 |
{"Hangul_SsangKiyeog", XK_Hangul_SsangKiyeog}, |
1286 |
{"Hangul_KiyeogSios", XK_Hangul_KiyeogSios}, |
1287 |
{"Hangul_Nieun", XK_Hangul_Nieun}, |
1288 |
{"Hangul_NieunJieuj", XK_Hangul_NieunJieuj}, |
1289 |
{"Hangul_NieunHieuh", XK_Hangul_NieunHieuh}, |
1290 |
{"Hangul_Dikeud", XK_Hangul_Dikeud}, |
1291 |
{"Hangul_SsangDikeud", XK_Hangul_SsangDikeud}, |
1292 |
{"Hangul_Rieul", XK_Hangul_Rieul}, |
1293 |
{"Hangul_RieulKiyeog", XK_Hangul_RieulKiyeog}, |
1294 |
{"Hangul_RieulMieum", XK_Hangul_RieulMieum}, |
1295 |
{"Hangul_RieulPieub", XK_Hangul_RieulPieub}, |
1296 |
{"Hangul_RieulSios", XK_Hangul_RieulSios}, |
1297 |
{"Hangul_RieulTieut", XK_Hangul_RieulTieut}, |
1298 |
{"Hangul_RieulPhieuf", XK_Hangul_RieulPhieuf}, |
1299 |
{"Hangul_RieulHieuh", XK_Hangul_RieulHieuh}, |
1300 |
{"Hangul_Mieum", XK_Hangul_Mieum}, |
1301 |
{"Hangul_Pieub", XK_Hangul_Pieub}, |
1302 |
{"Hangul_SsangPieub", XK_Hangul_SsangPieub}, |
1303 |
{"Hangul_PieubSios", XK_Hangul_PieubSios}, |
1304 |
{"Hangul_Sios", XK_Hangul_Sios}, |
1305 |
{"Hangul_SsangSios", XK_Hangul_SsangSios}, |
1306 |
{"Hangul_Ieung", XK_Hangul_Ieung}, |
1307 |
{"Hangul_Jieuj", XK_Hangul_Jieuj}, |
1308 |
{"Hangul_SsangJieuj", XK_Hangul_SsangJieuj}, |
1309 |
{"Hangul_Cieuc", XK_Hangul_Cieuc}, |
1310 |
{"Hangul_Khieuq", XK_Hangul_Khieuq}, |
1311 |
{"Hangul_Tieut", XK_Hangul_Tieut}, |
1312 |
{"Hangul_Phieuf", XK_Hangul_Phieuf}, |
1313 |
{"Hangul_Hieuh", XK_Hangul_Hieuh}, |
1314 |
{"Hangul_A", XK_Hangul_A}, |
1315 |
{"Hangul_AE", XK_Hangul_AE}, |
1316 |
{"Hangul_YA", XK_Hangul_YA}, |
1317 |
{"Hangul_YAE", XK_Hangul_YAE}, |
1318 |
{"Hangul_EO", XK_Hangul_EO}, |
1319 |
{"Hangul_E", XK_Hangul_E}, |
1320 |
{"Hangul_YEO", XK_Hangul_YEO}, |
1321 |
{"Hangul_YE", XK_Hangul_YE}, |
1322 |
{"Hangul_O", XK_Hangul_O}, |
1323 |
{"Hangul_WA", XK_Hangul_WA}, |
1324 |
{"Hangul_WAE", XK_Hangul_WAE}, |
1325 |
{"Hangul_OE", XK_Hangul_OE}, |
1326 |
{"Hangul_YO", XK_Hangul_YO}, |
1327 |
{"Hangul_U", XK_Hangul_U}, |
1328 |
{"Hangul_WEO", XK_Hangul_WEO}, |
1329 |
{"Hangul_WE", XK_Hangul_WE}, |
1330 |
{"Hangul_WI", XK_Hangul_WI}, |
1331 |
{"Hangul_YU", XK_Hangul_YU}, |
1332 |
{"Hangul_EU", XK_Hangul_EU}, |
1333 |
{"Hangul_YI", XK_Hangul_YI}, |
1334 |
{"Hangul_I", XK_Hangul_I}, |
1335 |
{"Hangul_J_Kiyeog", XK_Hangul_J_Kiyeog}, |
1336 |
{"Hangul_J_SsangKiyeog", XK_Hangul_J_SsangKiyeog}, |
1337 |
{"Hangul_J_KiyeogSios", XK_Hangul_J_KiyeogSios}, |
1338 |
{"Hangul_J_Nieun", XK_Hangul_J_Nieun}, |
1339 |
{"Hangul_J_NieunJieuj", XK_Hangul_J_NieunJieuj}, |
1340 |
{"Hangul_J_NieunHieuh", XK_Hangul_J_NieunHieuh}, |
1341 |
{"Hangul_J_Dikeud", XK_Hangul_J_Dikeud}, |
1342 |
{"Hangul_J_Rieul", XK_Hangul_J_Rieul}, |
1343 |
{"Hangul_J_RieulKiyeog", XK_Hangul_J_RieulKiyeog}, |
1344 |
{"Hangul_J_RieulMieum", XK_Hangul_J_RieulMieum}, |
1345 |
{"Hangul_J_RieulPieub", XK_Hangul_J_RieulPieub}, |
1346 |
{"Hangul_J_RieulSios", XK_Hangul_J_RieulSios}, |
1347 |
{"Hangul_J_RieulTieut", XK_Hangul_J_RieulTieut}, |
1348 |
{"Hangul_J_RieulPhieuf", XK_Hangul_J_RieulPhieuf}, |
1349 |
{"Hangul_J_RieulHieuh", XK_Hangul_J_RieulHieuh}, |
1350 |
{"Hangul_J_Mieum", XK_Hangul_J_Mieum}, |
1351 |
{"Hangul_J_Pieub", XK_Hangul_J_Pieub}, |
1352 |
{"Hangul_J_PieubSios", XK_Hangul_J_PieubSios}, |
1353 |
{"Hangul_J_Sios", XK_Hangul_J_Sios}, |
1354 |
{"Hangul_J_SsangSios", XK_Hangul_J_SsangSios}, |
1355 |
{"Hangul_J_Ieung", XK_Hangul_J_Ieung}, |
1356 |
{"Hangul_J_Jieuj", XK_Hangul_J_Jieuj}, |
1357 |
{"Hangul_J_Cieuc", XK_Hangul_J_Cieuc}, |
1358 |
{"Hangul_J_Khieuq", XK_Hangul_J_Khieuq}, |
1359 |
{"Hangul_J_Tieut", XK_Hangul_J_Tieut}, |
1360 |
{"Hangul_J_Phieuf", XK_Hangul_J_Phieuf}, |
1361 |
{"Hangul_J_Hieuh", XK_Hangul_J_Hieuh}, |
1362 |
{"Hangul_RieulYeorinHieuh", XK_Hangul_RieulYeorinHieuh}, |
1363 |
{"Hangul_SunkyeongeumMieum", XK_Hangul_SunkyeongeumMieum}, |
1364 |
{"Hangul_SunkyeongeumPieub", XK_Hangul_SunkyeongeumPieub}, |
1365 |
{"Hangul_PanSios", XK_Hangul_PanSios}, |
1366 |
{"Hangul_KkogjiDalrinIeung", XK_Hangul_KkogjiDalrinIeung}, |
1367 |
{"Hangul_SunkyeongeumPhieuf", XK_Hangul_SunkyeongeumPhieuf}, |
1368 |
{"Hangul_YeorinHieuh", XK_Hangul_YeorinHieuh}, |
1369 |
{"Hangul_AraeA", XK_Hangul_AraeA}, |
1370 |
{"Hangul_AraeAE", XK_Hangul_AraeAE}, |
1371 |
{"Hangul_J_PanSios", XK_Hangul_J_PanSios}, |
1372 |
{"Hangul_J_KkogjiDalrinIeung", XK_Hangul_J_KkogjiDalrinIeung}, |
1373 |
{"Hangul_J_YeorinHieuh", XK_Hangul_J_YeorinHieuh}, |
1374 |
{"Korean_Won", XK_Korean_Won}, |
1375 |
#endif /* XK_KOREAN */ |
1376 |
{"EuroSign", XK_EuroSign}, |
1377 |
#endif |
1378 |
{"NoSymbol", NoSymbol} |
1379 |
}; |
1380 |
|
1381 |
KeySym |
1382 |
XStringToKeysym(const char *str) |
1383 |
{ |
1384 |
int i; |
1385 |
for (i = 0; StringToKeysym[i].keysym != NoSymbol |
1386 |
&& strcmp(StringToKeysym[i].string, str); i++); |
1387 |
return StringToKeysym[i].keysym; |
1388 |
} |
1389 |
|
1390 |
const char * |
1391 |
XKeysymToString(KeySym keysym) |
1392 |
{ |
1393 |
int i; |
1394 |
for (i = 0; StringToKeysym[i].keysym != NoSymbol |
1395 |
&& StringToKeysym[i].keysym != keysym; i++); |
1396 |
return StringToKeysym[i].string; |
1397 |
} |
1398 |
|
1399 |
void |
1400 |
XDisplayKeycodes(Display * display, int *min_keycode, int *max_keycode) |
1401 |
{ |
1402 |
/* VNC keycodes are non-existant */ |
1403 |
*min_keycode = 0xffff; |
1404 |
*max_keycode = 0; |
1405 |
} |