ReactOS  0.4.13-dev-259-g5ca9c9c
x11stubs.c
Go to the documentation of this file.
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;
18 }
20 
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 *
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 }
#define NoSymbol
Definition: x11stubs.h:10
StringToKeysym_t StringToKeysym[]
Definition: x11stubs.c:21
int * display
Definition: x11stubs.c:12
KeySym keysym
Definition: x11stubs.c:17
const char * XKeysymToString(KeySym keysym)
Definition: x11stubs.c:1391
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
Definition: glfuncs.h:248
KeySym XStringToKeysym(const char *str)
Definition: x11stubs.c:1382
const WCHAR * str
void XDisplayKeycodes(Display *display, int *min_keycode, int *max_keycode)
Definition: x11stubs.c:1400
const char * string
Definition: x11stubs.c:16
rfbKeySym KeySym
Definition: x11stubs.h:27
int Display
Definition: x11stubs.h:25
int strcmp(const char *String1, const char *String2)
Definition: utclib.c:469