egra: and even more faster text rendering
[iv.d.git] / x11 / keysym.d
blob33d08deff7c7c042687fbea9f240624f9ef97523
1 module iv.x11.keysym /*is aliced*/;
3 import iv.alice;
4 import iv.x11.x11 : KeySym;
6 enum XK_VoidSymbol = cast(KeySym)0xffffff; /* Void symbol */
8 enum : KeySym {
9 /*
10 * TTY function keys, cleverly chosen to map to ASCII, for convenience of
11 * programming, but could have been arbitrary (at the cost of lookup
12 * tables in client code).
14 XK_BackSpace = cast(KeySym)0xff08, /* Back space, back char */
15 XK_Tab = cast(KeySym)0xff09,
16 XK_Linefeed = cast(KeySym)0xff0a, /* Linefeed, LF */
17 XK_Clear = cast(KeySym)0xff0b,
18 XK_Return = cast(KeySym)0xff0d, /* Return, enter */
19 XK_Pause = cast(KeySym)0xff13, /* Pause, hold */
20 XK_Scroll_Lock = cast(KeySym)0xff14,
21 XK_Sys_Req = cast(KeySym)0xff15,
22 XK_Escape = cast(KeySym)0xff1b,
23 XK_Delete = cast(KeySym)0xffff, /* Delete, rubout */
25 /* International & multi-key character composition */
26 XK_Multi_key = cast(KeySym)0xff20, /* Multi-key character compose */
27 XK_Codeinput = cast(KeySym)0xff37,
28 XK_SingleCandidate = cast(KeySym)0xff3c,
29 XK_MultipleCandidate = cast(KeySym)0xff3d,
30 XK_PreviousCandidate = cast(KeySym)0xff3e,
32 /* Japanese keyboard support */
33 XK_Kanji = cast(KeySym)0xff21, /* Kanji, Kanji convert */
34 XK_Muhenkan = cast(KeySym)0xff22, /* Cancel Conversion */
35 XK_Henkan_Mode = cast(KeySym)0xff23, /* Start/Stop Conversion */
36 XK_Henkan = cast(KeySym)0xff23, /* Alias for Henkan_Mode */
37 XK_Romaji = cast(KeySym)0xff24, /* to Romaji */
38 XK_Hiragana = cast(KeySym)0xff25, /* to Hiragana */
39 XK_Katakana = cast(KeySym)0xff26, /* to Katakana */
40 XK_Hiragana_Katakana = cast(KeySym)0xff27, /* Hiragana/Katakana toggle */
41 XK_Zenkaku = cast(KeySym)0xff28, /* to Zenkaku */
42 XK_Hankaku = cast(KeySym)0xff29, /* to Hankaku */
43 XK_Zenkaku_Hankaku = cast(KeySym)0xff2a, /* Zenkaku/Hankaku toggle */
44 XK_Touroku = cast(KeySym)0xff2b, /* Add to Dictionary */
45 XK_Massyo = cast(KeySym)0xff2c, /* Delete from Dictionary */
46 XK_Kana_Lock = cast(KeySym)0xff2d, /* Kana Lock */
47 XK_Kana_Shift = cast(KeySym)0xff2e, /* Kana Shift */
48 XK_Eisu_Shift = cast(KeySym)0xff2f, /* Alphanumeric Shift */
49 XK_Eisu_toggle = cast(KeySym)0xff30, /* Alphanumeric toggle */
50 XK_Kanji_Bangou = cast(KeySym)0xff37, /* Codeinput */
51 XK_Zen_Koho = cast(KeySym)0xff3d, /* Multiple/All Candidate(s) */
52 XK_Mae_Koho = cast(KeySym)0xff3e, /* Previous Candidate */
54 /* 0xff31 thru 0xff3f are under XK_KOREAN */
56 /* Cursor control & motion */
57 XK_Home = cast(KeySym)0xff50,
58 XK_Left = cast(KeySym)0xff51, /* Move left, left arrow */
59 XK_Up = cast(KeySym)0xff52, /* Move up, up arrow */
60 XK_Right = cast(KeySym)0xff53, /* Move right, right arrow */
61 XK_Down = cast(KeySym)0xff54, /* Move down, down arrow */
62 XK_Prior = cast(KeySym)0xff55, /* Prior, previous */
63 XK_Page_Up = cast(KeySym)0xff55,
64 XK_Next = cast(KeySym)0xff56, /* Next */
65 XK_Page_Down = cast(KeySym)0xff56,
66 XK_End = cast(KeySym)0xff57, /* EOL */
67 XK_Begin = cast(KeySym)0xff58, /* BOL */
69 /* Misc functions */
70 XK_Select = cast(KeySym)0xff60, /* Select, mark */
71 XK_Print = cast(KeySym)0xff61,
72 XK_Execute = cast(KeySym)0xff62, /* Execute, run, do */
73 XK_Insert = cast(KeySym)0xff63, /* Insert, insert here */
74 XK_Undo = cast(KeySym)0xff65,
75 XK_Redo = cast(KeySym)0xff66, /* Redo, again */
76 XK_Menu = cast(KeySym)0xff67,
77 XK_Find = cast(KeySym)0xff68, /* Find, search */
78 XK_Cancel = cast(KeySym)0xff69, /* Cancel, stop, abort, exit */
79 XK_Help = cast(KeySym)0xff6a, /* Help */
80 XK_break = cast(KeySym)0xff6b,
81 XK_Mode_switch = cast(KeySym)0xff7e, /* Character set switch */
82 XK_script_switch = cast(KeySym)0xff7e, /* Alias for mode_switch */
83 XK_Num_Lock = cast(KeySym)0xff7f,
85 /* Keypad functions, keypad numbers cleverly chosen to map to ASCII */
86 XK_KP_Space = cast(KeySym)0xff80, /* Space */
87 XK_KP_Tab = cast(KeySym)0xff89,
88 XK_KP_Enter = cast(KeySym)0xff8d, /* Enter */
89 XK_KP_F1 = cast(KeySym)0xff91, /* PF1, KP_A, ... */
90 XK_KP_F2 = cast(KeySym)0xff92,
91 XK_KP_F3 = cast(KeySym)0xff93,
92 XK_KP_F4 = cast(KeySym)0xff94,
93 XK_KP_Home = cast(KeySym)0xff95,
94 XK_KP_Left = cast(KeySym)0xff96,
95 XK_KP_Up = cast(KeySym)0xff97,
96 XK_KP_Right = cast(KeySym)0xff98,
97 XK_KP_Down = cast(KeySym)0xff99,
98 XK_KP_Prior = cast(KeySym)0xff9a,
99 XK_KP_Page_Up = cast(KeySym)0xff9a,
100 XK_KP_Next = cast(KeySym)0xff9b,
101 XK_KP_Page_Down = cast(KeySym)0xff9b,
102 XK_KP_End = cast(KeySym)0xff9c,
103 XK_KP_Begin = cast(KeySym)0xff9d,
104 XK_KP_Insert = cast(KeySym)0xff9e,
105 XK_KP_Delete = cast(KeySym)0xff9f,
106 XK_KP_Equal = cast(KeySym)0xffbd, /* Equals */
107 XK_KP_Multiply = cast(KeySym)0xffaa,
108 XK_KP_Add = cast(KeySym)0xffab,
109 XK_KP_Separator = cast(KeySym)0xffac, /* Separator, often comma */
110 XK_KP_Subtract = cast(KeySym)0xffad,
111 XK_KP_Decimal = cast(KeySym)0xffae,
112 XK_KP_Divide = cast(KeySym)0xffaf,
114 XK_KP_0 = cast(KeySym)0xffb0,
115 XK_KP_1 = cast(KeySym)0xffb1,
116 XK_KP_2 = cast(KeySym)0xffb2,
117 XK_KP_3 = cast(KeySym)0xffb3,
118 XK_KP_4 = cast(KeySym)0xffb4,
119 XK_KP_5 = cast(KeySym)0xffb5,
120 XK_KP_6 = cast(KeySym)0xffb6,
121 XK_KP_7 = cast(KeySym)0xffb7,
122 XK_KP_8 = cast(KeySym)0xffb8,
123 XK_KP_9 = cast(KeySym)0xffb9,
126 * Auxiliary functions, note the duplicate definitions for left and right
127 * function keys, Sun keyboards and a few other manufacturers have such
128 * function key groups on the left and/or right sides of the keyboard.
129 * We've not found a keyboard with more than 35 function keys total.
131 XK_F1 = cast(KeySym)0xffbe,
132 XK_F2 = cast(KeySym)0xffbf,
133 XK_F3 = cast(KeySym)0xffc0,
134 XK_F4 = cast(KeySym)0xffc1,
135 XK_F5 = cast(KeySym)0xffc2,
136 XK_F6 = cast(KeySym)0xffc3,
137 XK_F7 = cast(KeySym)0xffc4,
138 XK_F8 = cast(KeySym)0xffc5,
139 XK_F9 = cast(KeySym)0xffc6,
140 XK_F10 = cast(KeySym)0xffc7,
141 XK_F11 = cast(KeySym)0xffc8,
142 XK_L1 = cast(KeySym)0xffc8,
143 XK_F12 = cast(KeySym)0xffc9,
144 XK_L2 = cast(KeySym)0xffc9,
145 XK_F13 = cast(KeySym)0xffca,
146 XK_L3 = cast(KeySym)0xffca,
147 XK_F14 = cast(KeySym)0xffcb,
148 XK_L4 = cast(KeySym)0xffcb,
149 XK_F15 = cast(KeySym)0xffcc,
150 XK_L5 = cast(KeySym)0xffcc,
151 XK_F16 = cast(KeySym)0xffcd,
152 XK_L6 = cast(KeySym)0xffcd,
153 XK_F17 = cast(KeySym)0xffce,
154 XK_L7 = cast(KeySym)0xffce,
155 XK_F18 = cast(KeySym)0xffcf,
156 XK_L8 = cast(KeySym)0xffcf,
157 XK_F19 = cast(KeySym)0xffd0,
158 XK_L9 = cast(KeySym)0xffd0,
159 XK_F20 = cast(KeySym)0xffd1,
160 XK_L10 = cast(KeySym)0xffd1,
161 XK_F21 = cast(KeySym)0xffd2,
162 XK_R1 = cast(KeySym)0xffd2,
163 XK_F22 = cast(KeySym)0xffd3,
164 XK_R2 = cast(KeySym)0xffd3,
165 XK_F23 = cast(KeySym)0xffd4,
166 XK_R3 = cast(KeySym)0xffd4,
167 XK_F24 = cast(KeySym)0xffd5,
168 XK_R4 = cast(KeySym)0xffd5,
169 XK_F25 = cast(KeySym)0xffd6,
170 XK_R5 = cast(KeySym)0xffd6,
171 XK_F26 = cast(KeySym)0xffd7,
172 XK_R6 = cast(KeySym)0xffd7,
173 XK_F27 = cast(KeySym)0xffd8,
174 XK_R7 = cast(KeySym)0xffd8,
175 XK_F28 = cast(KeySym)0xffd9,
176 XK_R8 = cast(KeySym)0xffd9,
177 XK_F29 = cast(KeySym)0xffda,
178 XK_R9 = cast(KeySym)0xffda,
179 XK_F30 = cast(KeySym)0xffdb,
180 XK_R10 = cast(KeySym)0xffdb,
181 XK_F31 = cast(KeySym)0xffdc,
182 XK_R11 = cast(KeySym)0xffdc,
183 XK_F32 = cast(KeySym)0xffdd,
184 XK_R12 = cast(KeySym)0xffdd,
185 XK_F33 = cast(KeySym)0xffde,
186 XK_R13 = cast(KeySym)0xffde,
187 XK_F34 = cast(KeySym)0xffdf,
188 XK_R14 = cast(KeySym)0xffdf,
189 XK_F35 = cast(KeySym)0xffe0,
190 XK_R15 = cast(KeySym)0xffe0,
192 /* Modifiers */
193 XK_Shift_L = cast(KeySym)0xffe1, /* Left shift */
194 XK_Shift_R = cast(KeySym)0xffe2, /* Right shift */
195 XK_Control_L = cast(KeySym)0xffe3, /* Left control */
196 XK_Control_R = cast(KeySym)0xffe4, /* Right control */
197 XK_Caps_Lock = cast(KeySym)0xffe5, /* Caps lock */
198 XK_Shift_Lock = cast(KeySym)0xffe6, /* Shift lock */
200 XK_Meta_L = cast(KeySym)0xffe7, /* Left meta */
201 XK_Meta_R = cast(KeySym)0xffe8, /* Right meta */
202 XK_Alt_L = cast(KeySym)0xffe9, /* Left alt */
203 XK_Alt_R = cast(KeySym)0xffea, /* Right alt */
204 XK_Super_L = cast(KeySym)0xffeb, /* Left super */
205 XK_Super_R = cast(KeySym)0xffec, /* Right super */
206 XK_Hyper_L = cast(KeySym)0xffed, /* Left hyper */
207 XK_Hyper_R = cast(KeySym)0xffee, /* Right hyper */
210 * Keyboard (XKB) Extension function and modifier keys
211 * (from Appendix C of "The X Keyboard Extension: Protocol Specification")
212 * Byte 3 = cast(KeySym)0xfe
214 XK_ISO_Lock = cast(KeySym)0xfe01,
215 XK_ISO_Level2_Latch = cast(KeySym)0xfe02,
216 XK_ISO_Level3_Shift = cast(KeySym)0xfe03,
217 XK_ISO_Level3_Latch = cast(KeySym)0xfe04,
218 XK_ISO_Level3_Lock = cast(KeySym)0xfe05,
219 XK_ISO_Level5_Shift = cast(KeySym)0xfe11,
220 XK_ISO_Level5_Latch = cast(KeySym)0xfe12,
221 XK_ISO_Level5_Lock = cast(KeySym)0xfe13,
222 XK_ISO_Group_Shift = cast(KeySym)0xff7e, /* Alias for mode_switch */
223 XK_ISO_Group_Latch = cast(KeySym)0xfe06,
224 XK_ISO_Group_Lock = cast(KeySym)0xfe07,
225 XK_ISO_Next_Group = cast(KeySym)0xfe08,
226 XK_ISO_Next_Group_Lock = cast(KeySym)0xfe09,
227 XK_ISO_Prev_Group = cast(KeySym)0xfe0a,
228 XK_ISO_Prev_Group_Lock = cast(KeySym)0xfe0b,
229 XK_ISO_First_Group = cast(KeySym)0xfe0c,
230 XK_ISO_First_Group_Lock = cast(KeySym)0xfe0d,
231 XK_ISO_Last_Group = cast(KeySym)0xfe0e,
232 XK_ISO_Last_Group_Lock = cast(KeySym)0xfe0f,
234 XK_ISO_Left_Tab = cast(KeySym)0xfe20,
235 XK_ISO_Move_Line_Up = cast(KeySym)0xfe21,
236 XK_ISO_Move_Line_Down = cast(KeySym)0xfe22,
237 XK_ISO_Partial_Line_Up = cast(KeySym)0xfe23,
238 XK_ISO_Partial_Line_Down = cast(KeySym)0xfe24,
239 XK_ISO_Partial_Space_Left = cast(KeySym)0xfe25,
240 XK_ISO_Partial_Space_Right = cast(KeySym)0xfe26,
241 XK_ISO_Set_Margin_Left = cast(KeySym)0xfe27,
242 XK_ISO_Set_Margin_Right = cast(KeySym)0xfe28,
243 XK_ISO_Release_Margin_Left = cast(KeySym)0xfe29,
244 XK_ISO_Release_Margin_Right = cast(KeySym)0xfe2a,
245 XK_ISO_Release_Both_Margins = cast(KeySym)0xfe2b,
246 XK_ISO_Fast_Cursor_Left = cast(KeySym)0xfe2c,
247 XK_ISO_Fast_Cursor_Right = cast(KeySym)0xfe2d,
248 XK_ISO_Fast_Cursor_Up = cast(KeySym)0xfe2e,
249 XK_ISO_Fast_Cursor_Down = cast(KeySym)0xfe2f,
250 XK_ISO_Continuous_Underline = cast(KeySym)0xfe30,
251 XK_ISO_Discontinuous_Underline = cast(KeySym)0xfe31,
252 XK_ISO_Emphasize = cast(KeySym)0xfe32,
253 XK_ISO_Center_Object = cast(KeySym)0xfe33,
254 XK_ISO_Enter = cast(KeySym)0xfe34,
256 XK_dead_grave = cast(KeySym)0xfe50,
257 XK_dead_acute = cast(KeySym)0xfe51,
258 XK_dead_circumflex = cast(KeySym)0xfe52,
259 XK_dead_tilde = cast(KeySym)0xfe53,
260 XK_dead_perispomeni = cast(KeySym)0xfe53, /* alias for dead_tilde */
261 XK_dead_macron = cast(KeySym)0xfe54,
262 XK_dead_breve = cast(KeySym)0xfe55,
263 XK_dead_abovedot = cast(KeySym)0xfe56,
264 XK_dead_diaeresis = cast(KeySym)0xfe57,
265 XK_dead_abovering = cast(KeySym)0xfe58,
266 XK_dead_doubleacute = cast(KeySym)0xfe59,
267 XK_dead_caron = cast(KeySym)0xfe5a,
268 XK_dead_cedilla = cast(KeySym)0xfe5b,
269 XK_dead_ogonek = cast(KeySym)0xfe5c,
270 XK_dead_iota = cast(KeySym)0xfe5d,
271 XK_dead_voiced_sound = cast(KeySym)0xfe5e,
272 XK_dead_semivoiced_sound = cast(KeySym)0xfe5f,
273 XK_dead_belowdot = cast(KeySym)0xfe60,
274 XK_dead_hook = cast(KeySym)0xfe61,
275 XK_dead_horn = cast(KeySym)0xfe62,
276 XK_dead_stroke = cast(KeySym)0xfe63,
277 XK_dead_abovecomma = cast(KeySym)0xfe64,
278 XK_dead_psili = cast(KeySym)0xfe64, /* alias for dead_abovecomma */
279 XK_dead_abovereversedcomma = cast(KeySym)0xfe65,
280 XK_dead_dasia = cast(KeySym)0xfe65, /* alias for dead_abovereversedcomma */
281 XK_dead_doublegrave = cast(KeySym)0xfe66,
282 XK_dead_belowring = cast(KeySym)0xfe67,
283 XK_dead_belowmacron = cast(KeySym)0xfe68,
284 XK_dead_belowcircumflex = cast(KeySym)0xfe69,
285 XK_dead_belowtilde = cast(KeySym)0xfe6a,
286 XK_dead_belowbreve = cast(KeySym)0xfe6b,
287 XK_dead_belowdiaeresis = cast(KeySym)0xfe6c,
288 XK_dead_invertedbreve = cast(KeySym)0xfe6d,
289 XK_dead_belowcomma = cast(KeySym)0xfe6e,
290 XK_dead_currency = cast(KeySym)0xfe6f,
292 /* dead vowels for universal syllable entry */
293 XK_dead_a = cast(KeySym)0xfe80,
294 XK_dead_A = cast(KeySym)0xfe81,
295 XK_dead_e = cast(KeySym)0xfe82,
296 XK_dead_E = cast(KeySym)0xfe83,
297 XK_dead_i = cast(KeySym)0xfe84,
298 XK_dead_I = cast(KeySym)0xfe85,
299 XK_dead_o = cast(KeySym)0xfe86,
300 XK_dead_O = cast(KeySym)0xfe87,
301 XK_dead_u = cast(KeySym)0xfe88,
302 XK_dead_U = cast(KeySym)0xfe89,
303 XK_dead_small_schwa = cast(KeySym)0xfe8a,
304 XK_dead_capital_schwa = cast(KeySym)0xfe8b,
306 XK_First_Virtual_Screen = cast(KeySym)0xfed0,
307 XK_Prev_Virtual_Screen = cast(KeySym)0xfed1,
308 XK_Next_Virtual_Screen = cast(KeySym)0xfed2,
309 XK_Last_Virtual_Screen = cast(KeySym)0xfed4,
310 XK_Terminate_Server = cast(KeySym)0xfed5,
312 XK_AccessX_Enable = cast(KeySym)0xfe70,
313 XK_AccessX_Feedback_Enable = cast(KeySym)0xfe71,
314 XK_RepeatKeys_Enable = cast(KeySym)0xfe72,
315 XK_SlowKeys_Enable = cast(KeySym)0xfe73,
316 XK_BounceKeys_Enable = cast(KeySym)0xfe74,
317 XK_StickyKeys_Enable = cast(KeySym)0xfe75,
318 XK_MouseKeys_Enable = cast(KeySym)0xfe76,
319 XK_MouseKeys_Accel_Enable = cast(KeySym)0xfe77,
320 XK_Overlay1_Enable = cast(KeySym)0xfe78,
321 XK_Overlay2_Enable = cast(KeySym)0xfe79,
322 XK_AudibleBell_Enable = cast(KeySym)0xfe7a,
324 XK_Pointer_Left = cast(KeySym)0xfee0,
325 XK_Pointer_Right = cast(KeySym)0xfee1,
326 XK_Pointer_Up = cast(KeySym)0xfee2,
327 XK_Pointer_Down = cast(KeySym)0xfee3,
328 XK_Pointer_UpLeft = cast(KeySym)0xfee4,
329 XK_Pointer_UpRight = cast(KeySym)0xfee5,
330 XK_Pointer_DownLeft = cast(KeySym)0xfee6,
331 XK_Pointer_DownRight = cast(KeySym)0xfee7,
332 XK_Pointer_Button_Dflt = cast(KeySym)0xfee8,
333 XK_Pointer_Button1 = cast(KeySym)0xfee9,
334 XK_Pointer_Button2 = cast(KeySym)0xfeea,
335 XK_Pointer_Button3 = cast(KeySym)0xfeeb,
336 XK_Pointer_Button4 = cast(KeySym)0xfeec,
337 XK_Pointer_Button5 = cast(KeySym)0xfeed,
338 XK_Pointer_DblClick_Dflt = cast(KeySym)0xfeee,
339 XK_Pointer_DblClick1 = cast(KeySym)0xfeef,
340 XK_Pointer_DblClick2 = cast(KeySym)0xfef0,
341 XK_Pointer_DblClick3 = cast(KeySym)0xfef1,
342 XK_Pointer_DblClick4 = cast(KeySym)0xfef2,
343 XK_Pointer_DblClick5 = cast(KeySym)0xfef3,
344 XK_Pointer_Drag_Dflt = cast(KeySym)0xfef4,
345 XK_Pointer_Drag1 = cast(KeySym)0xfef5,
346 XK_Pointer_Drag2 = cast(KeySym)0xfef6,
347 XK_Pointer_Drag3 = cast(KeySym)0xfef7,
348 XK_Pointer_Drag4 = cast(KeySym)0xfef8,
349 XK_Pointer_Drag5 = cast(KeySym)0xfefd,
351 XK_Pointer_EnableKeys = cast(KeySym)0xfef9,
352 XK_Pointer_Accelerate = cast(KeySym)0xfefa,
353 XK_Pointer_DfltBtnNext = cast(KeySym)0xfefb,
354 XK_Pointer_DfltBtnPrev = cast(KeySym)0xfefc,
357 * Latin 1
358 * (ISO/IEC 8859-1 = cast(KeySym)Unicode U+0020..U+00FF)
359 * Byte 3 = cast(KeySym)0
361 XK_space = cast(KeySym)0x0020, /* U+0020 SPACE */
362 XK_exclam = cast(KeySym)0x0021, /* U+0021 EXCLAMATION MARK */
363 XK_quotedbl = cast(KeySym)0x0022, /* U+0022 QUOTATION MARK */
364 XK_numbersign = cast(KeySym)0x0023, /* U+0023 NUMBER SIGN */
365 XK_dollar = cast(KeySym)0x0024, /* U+0024 DOLLAR SIGN */
366 XK_percent = cast(KeySym)0x0025, /* U+0025 PERCENT SIGN */
367 XK_ampersand = cast(KeySym)0x0026, /* U+0026 AMPERSAND */
368 XK_apostrophe = cast(KeySym)0x0027, /* U+0027 APOSTROPHE */
369 XK_quoteright = cast(KeySym)0x0027, /* deprecated */
370 XK_parenleft = cast(KeySym)0x0028, /* U+0028 LEFT PARENTHESIS */
371 XK_parenright = cast(KeySym)0x0029, /* U+0029 RIGHT PARENTHESIS */
372 XK_asterisk = cast(KeySym)0x002a, /* U+002A ASTERISK */
373 XK_plus = cast(KeySym)0x002b, /* U+002B PLUS SIGN */
374 XK_comma = cast(KeySym)0x002c, /* U+002C COMMA */
375 XK_minus = cast(KeySym)0x002d, /* U+002D HYPHEN-MINUS */
376 XK_period = cast(KeySym)0x002e, /* U+002E FULL STOP */
377 XK_slash = cast(KeySym)0x002f, /* U+002F SOLIDUS */
378 XK_0 = cast(KeySym)0x0030, /* U+0030 DIGIT ZERO */
379 XK_1 = cast(KeySym)0x0031, /* U+0031 DIGIT ONE */
380 XK_2 = cast(KeySym)0x0032, /* U+0032 DIGIT TWO */
381 XK_3 = cast(KeySym)0x0033, /* U+0033 DIGIT THREE */
382 XK_4 = cast(KeySym)0x0034, /* U+0034 DIGIT FOUR */
383 XK_5 = cast(KeySym)0x0035, /* U+0035 DIGIT FIVE */
384 XK_6 = cast(KeySym)0x0036, /* U+0036 DIGIT SIX */
385 XK_7 = cast(KeySym)0x0037, /* U+0037 DIGIT SEVEN */
386 XK_8 = cast(KeySym)0x0038, /* U+0038 DIGIT EIGHT */
387 XK_9 = cast(KeySym)0x0039, /* U+0039 DIGIT NINE */
388 XK_colon = cast(KeySym)0x003a, /* U+003A COLON */
389 XK_semicolon = cast(KeySym)0x003b, /* U+003B SEMICOLON */
390 XK_less = cast(KeySym)0x003c, /* U+003C LESS-THAN SIGN */
391 XK_equal = cast(KeySym)0x003d, /* U+003D EQUALS SIGN */
392 XK_greater = cast(KeySym)0x003e, /* U+003E GREATER-THAN SIGN */
393 XK_question = cast(KeySym)0x003f, /* U+003F QUESTION MARK */
394 XK_at = cast(KeySym)0x0040, /* U+0040 COMMERCIAL AT */
395 XK_A = cast(KeySym)0x0041, /* U+0041 LATIN CAPITAL LETTER A */
396 XK_B = cast(KeySym)0x0042, /* U+0042 LATIN CAPITAL LETTER B */
397 XK_C = cast(KeySym)0x0043, /* U+0043 LATIN CAPITAL LETTER C */
398 XK_D = cast(KeySym)0x0044, /* U+0044 LATIN CAPITAL LETTER D */
399 XK_E = cast(KeySym)0x0045, /* U+0045 LATIN CAPITAL LETTER E */
400 XK_F = cast(KeySym)0x0046, /* U+0046 LATIN CAPITAL LETTER F */
401 XK_G = cast(KeySym)0x0047, /* U+0047 LATIN CAPITAL LETTER G */
402 XK_H = cast(KeySym)0x0048, /* U+0048 LATIN CAPITAL LETTER H */
403 XK_I = cast(KeySym)0x0049, /* U+0049 LATIN CAPITAL LETTER I */
404 XK_J = cast(KeySym)0x004a, /* U+004A LATIN CAPITAL LETTER J */
405 XK_K = cast(KeySym)0x004b, /* U+004B LATIN CAPITAL LETTER K */
406 XK_L = cast(KeySym)0x004c, /* U+004C LATIN CAPITAL LETTER L */
407 XK_M = cast(KeySym)0x004d, /* U+004D LATIN CAPITAL LETTER M */
408 XK_N = cast(KeySym)0x004e, /* U+004E LATIN CAPITAL LETTER N */
409 XK_O = cast(KeySym)0x004f, /* U+004F LATIN CAPITAL LETTER O */
410 XK_P = cast(KeySym)0x0050, /* U+0050 LATIN CAPITAL LETTER P */
411 XK_Q = cast(KeySym)0x0051, /* U+0051 LATIN CAPITAL LETTER Q */
412 XK_R = cast(KeySym)0x0052, /* U+0052 LATIN CAPITAL LETTER R */
413 XK_S = cast(KeySym)0x0053, /* U+0053 LATIN CAPITAL LETTER S */
414 XK_T = cast(KeySym)0x0054, /* U+0054 LATIN CAPITAL LETTER T */
415 XK_U = cast(KeySym)0x0055, /* U+0055 LATIN CAPITAL LETTER U */
416 XK_V = cast(KeySym)0x0056, /* U+0056 LATIN CAPITAL LETTER V */
417 XK_W = cast(KeySym)0x0057, /* U+0057 LATIN CAPITAL LETTER W */
418 XK_X = cast(KeySym)0x0058, /* U+0058 LATIN CAPITAL LETTER X */
419 XK_Y = cast(KeySym)0x0059, /* U+0059 LATIN CAPITAL LETTER Y */
420 XK_Z = cast(KeySym)0x005a, /* U+005A LATIN CAPITAL LETTER Z */
421 XK_bracketleft = cast(KeySym)0x005b, /* U+005B LEFT SQUARE BRACKET */
422 XK_backslash = cast(KeySym)0x005c, /* U+005C REVERSE SOLIDUS */
423 XK_bracketright = cast(KeySym)0x005d, /* U+005D RIGHT SQUARE BRACKET */
424 XK_asciicircum = cast(KeySym)0x005e, /* U+005E CIRCUMFLEX ACCENT */
425 XK_underscore = cast(KeySym)0x005f, /* U+005F LOW LINE */
426 XK_grave = cast(KeySym)0x0060, /* U+0060 GRAVE ACCENT */
427 XK_quoteleft = cast(KeySym)0x0060, /* deprecated */
428 XK_a = cast(KeySym)0x0061, /* U+0061 LATIN SMALL LETTER A */
429 XK_b = cast(KeySym)0x0062, /* U+0062 LATIN SMALL LETTER B */
430 XK_c = cast(KeySym)0x0063, /* U+0063 LATIN SMALL LETTER C */
431 XK_d = cast(KeySym)0x0064, /* U+0064 LATIN SMALL LETTER D */
432 XK_e = cast(KeySym)0x0065, /* U+0065 LATIN SMALL LETTER E */
433 XK_f = cast(KeySym)0x0066, /* U+0066 LATIN SMALL LETTER F */
434 XK_g = cast(KeySym)0x0067, /* U+0067 LATIN SMALL LETTER G */
435 XK_h = cast(KeySym)0x0068, /* U+0068 LATIN SMALL LETTER H */
436 XK_i = cast(KeySym)0x0069, /* U+0069 LATIN SMALL LETTER I */
437 XK_j = cast(KeySym)0x006a, /* U+006A LATIN SMALL LETTER J */
438 XK_k = cast(KeySym)0x006b, /* U+006B LATIN SMALL LETTER K */
439 XK_l = cast(KeySym)0x006c, /* U+006C LATIN SMALL LETTER L */
440 XK_m = cast(KeySym)0x006d, /* U+006D LATIN SMALL LETTER M */
441 XK_n = cast(KeySym)0x006e, /* U+006E LATIN SMALL LETTER N */
442 XK_o = cast(KeySym)0x006f, /* U+006F LATIN SMALL LETTER O */
443 XK_p = cast(KeySym)0x0070, /* U+0070 LATIN SMALL LETTER P */
444 XK_q = cast(KeySym)0x0071, /* U+0071 LATIN SMALL LETTER Q */
445 XK_r = cast(KeySym)0x0072, /* U+0072 LATIN SMALL LETTER R */
446 XK_s = cast(KeySym)0x0073, /* U+0073 LATIN SMALL LETTER S */
447 XK_t = cast(KeySym)0x0074, /* U+0074 LATIN SMALL LETTER T */
448 XK_u = cast(KeySym)0x0075, /* U+0075 LATIN SMALL LETTER U */
449 XK_v = cast(KeySym)0x0076, /* U+0076 LATIN SMALL LETTER V */
450 XK_w = cast(KeySym)0x0077, /* U+0077 LATIN SMALL LETTER W */
451 XK_x = cast(KeySym)0x0078, /* U+0078 LATIN SMALL LETTER X */
452 XK_y = cast(KeySym)0x0079, /* U+0079 LATIN SMALL LETTER Y */
453 XK_z = cast(KeySym)0x007a, /* U+007A LATIN SMALL LETTER Z */
454 XK_braceleft = cast(KeySym)0x007b, /* U+007B LEFT CURLY BRACKET */
455 XK_bar = cast(KeySym)0x007c, /* U+007C VERTICAL LINE */
456 XK_braceright = cast(KeySym)0x007d, /* U+007D RIGHT CURLY BRACKET */
457 XK_asciitilde = cast(KeySym)0x007e, /* U+007E TILDE */
460 * Cyrillic
461 * Byte 3 = cast(KeySym)6
463 XK_Cyrillic_GHE_bar = cast(KeySym)0x1000492, /* U+0492 CYRILLIC CAPITAL LETTER GHE WITH STROKE */
464 XK_Cyrillic_ghe_bar = cast(KeySym)0x1000493, /* U+0493 CYRILLIC SMALL LETTER GHE WITH STROKE */
465 XK_Cyrillic_ZHE_descender = cast(KeySym)0x1000496, /* U+0496 CYRILLIC CAPITAL LETTER ZHE WITH DESCENDER */
466 XK_Cyrillic_zhe_descender = cast(KeySym)0x1000497, /* U+0497 CYRILLIC SMALL LETTER ZHE WITH DESCENDER */
467 XK_Cyrillic_KA_descender = cast(KeySym)0x100049a, /* U+049A CYRILLIC CAPITAL LETTER KA WITH DESCENDER */
468 XK_Cyrillic_ka_descender = cast(KeySym)0x100049b, /* U+049B CYRILLIC SMALL LETTER KA WITH DESCENDER */
469 XK_Cyrillic_KA_vertstroke = cast(KeySym)0x100049c, /* U+049C CYRILLIC CAPITAL LETTER KA WITH VERTICAL STROKE */
470 XK_Cyrillic_ka_vertstroke = cast(KeySym)0x100049d, /* U+049D CYRILLIC SMALL LETTER KA WITH VERTICAL STROKE */
471 XK_Cyrillic_EN_descender = cast(KeySym)0x10004a2, /* U+04A2 CYRILLIC CAPITAL LETTER EN WITH DESCENDER */
472 XK_Cyrillic_en_descender = cast(KeySym)0x10004a3, /* U+04A3 CYRILLIC SMALL LETTER EN WITH DESCENDER */
473 XK_Cyrillic_U_straight = cast(KeySym)0x10004ae, /* U+04AE CYRILLIC CAPITAL LETTER STRAIGHT U */
474 XK_Cyrillic_u_straight = cast(KeySym)0x10004af, /* U+04AF CYRILLIC SMALL LETTER STRAIGHT U */
475 XK_Cyrillic_U_straight_bar = cast(KeySym)0x10004b0, /* U+04B0 CYRILLIC CAPITAL LETTER STRAIGHT U WITH STROKE */
476 XK_Cyrillic_u_straight_bar = cast(KeySym)0x10004b1, /* U+04B1 CYRILLIC SMALL LETTER STRAIGHT U WITH STROKE */
477 XK_Cyrillic_HA_descender = cast(KeySym)0x10004b2, /* U+04B2 CYRILLIC CAPITAL LETTER HA WITH DESCENDER */
478 XK_Cyrillic_ha_descender = cast(KeySym)0x10004b3, /* U+04B3 CYRILLIC SMALL LETTER HA WITH DESCENDER */
479 XK_Cyrillic_CHE_descender = cast(KeySym)0x10004b6, /* U+04B6 CYRILLIC CAPITAL LETTER CHE WITH DESCENDER */
480 XK_Cyrillic_che_descender = cast(KeySym)0x10004b7, /* U+04B7 CYRILLIC SMALL LETTER CHE WITH DESCENDER */
481 XK_Cyrillic_CHE_vertstroke = cast(KeySym)0x10004b8, /* U+04B8 CYRILLIC CAPITAL LETTER CHE WITH VERTICAL STROKE */
482 XK_Cyrillic_che_vertstroke = cast(KeySym)0x10004b9, /* U+04B9 CYRILLIC SMALL LETTER CHE WITH VERTICAL STROKE */
483 XK_Cyrillic_SHHA = cast(KeySym)0x10004ba, /* U+04BA CYRILLIC CAPITAL LETTER SHHA */
484 XK_Cyrillic_shha = cast(KeySym)0x10004bb, /* U+04BB CYRILLIC SMALL LETTER SHHA */
486 XK_Cyrillic_SCHWA = cast(KeySym)0x10004d8, /* U+04D8 CYRILLIC CAPITAL LETTER SCHWA */
487 XK_Cyrillic_schwa = cast(KeySym)0x10004d9, /* U+04D9 CYRILLIC SMALL LETTER SCHWA */
488 XK_Cyrillic_I_macron = cast(KeySym)0x10004e2, /* U+04E2 CYRILLIC CAPITAL LETTER I WITH MACRON */
489 XK_Cyrillic_i_macron = cast(KeySym)0x10004e3, /* U+04E3 CYRILLIC SMALL LETTER I WITH MACRON */
490 XK_Cyrillic_O_bar = cast(KeySym)0x10004e8, /* U+04E8 CYRILLIC CAPITAL LETTER BARRED O */
491 XK_Cyrillic_o_bar = cast(KeySym)0x10004e9, /* U+04E9 CYRILLIC SMALL LETTER BARRED O */
492 XK_Cyrillic_U_macron = cast(KeySym)0x10004ee, /* U+04EE CYRILLIC CAPITAL LETTER U WITH MACRON */
493 XK_Cyrillic_u_macron = cast(KeySym)0x10004ef, /* U+04EF CYRILLIC SMALL LETTER U WITH MACRON */
495 XK_Serbian_dje = cast(KeySym)0x06a1, /* U+0452 CYRILLIC SMALL LETTER DJE */
496 XK_Macedonia_gje = cast(KeySym)0x06a2, /* U+0453 CYRILLIC SMALL LETTER GJE */
497 XK_Cyrillic_io = cast(KeySym)0x06a3, /* U+0451 CYRILLIC SMALL LETTER IO */
498 XK_Ukrainian_ie = cast(KeySym)0x06a4, /* U+0454 CYRILLIC SMALL LETTER UKRAINIAN IE */
499 XK_Ukranian_je = cast(KeySym)0x06a4, /* deprecated */
500 XK_Macedonia_dse = cast(KeySym)0x06a5, /* U+0455 CYRILLIC SMALL LETTER DZE */
501 XK_Ukrainian_i = cast(KeySym)0x06a6, /* U+0456 CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I */
502 XK_Ukranian_i = cast(KeySym)0x06a6, /* deprecated */
503 XK_Ukrainian_yi = cast(KeySym)0x06a7, /* U+0457 CYRILLIC SMALL LETTER YI */
504 XK_Ukranian_yi = cast(KeySym)0x06a7, /* deprecated */
505 XK_Cyrillic_je = cast(KeySym)0x06a8, /* U+0458 CYRILLIC SMALL LETTER JE */
506 XK_Serbian_je = cast(KeySym)0x06a8, /* deprecated */
507 XK_Cyrillic_lje = cast(KeySym)0x06a9, /* U+0459 CYRILLIC SMALL LETTER LJE */
508 XK_Serbian_lje = cast(KeySym)0x06a9, /* deprecated */
509 XK_Cyrillic_nje = cast(KeySym)0x06aa, /* U+045A CYRILLIC SMALL LETTER NJE */
510 XK_Serbian_nje = cast(KeySym)0x06aa, /* deprecated */
511 XK_Serbian_tshe = cast(KeySym)0x06ab, /* U+045B CYRILLIC SMALL LETTER TSHE */
512 XK_Macedonia_kje = cast(KeySym)0x06ac, /* U+045C CYRILLIC SMALL LETTER KJE */
513 XK_Ukrainian_ghe_with_upturn = cast(KeySym)0x06ad, /* U+0491 CYRILLIC SMALL LETTER GHE WITH UPTURN */
514 XK_Byelorussian_shortu = cast(KeySym)0x06ae, /* U+045E CYRILLIC SMALL LETTER SHORT U */
515 XK_Cyrillic_dzhe = cast(KeySym)0x06af, /* U+045F CYRILLIC SMALL LETTER DZHE */
516 XK_Serbian_dze = cast(KeySym)0x06af, /* deprecated */
517 XK_numerosign = cast(KeySym)0x06b0, /* U+2116 NUMERO SIGN */
518 XK_Serbian_DJE = cast(KeySym)0x06b1, /* U+0402 CYRILLIC CAPITAL LETTER DJE */
519 XK_Macedonia_GJE = cast(KeySym)0x06b2, /* U+0403 CYRILLIC CAPITAL LETTER GJE */
520 XK_Cyrillic_IO = cast(KeySym)0x06b3, /* U+0401 CYRILLIC CAPITAL LETTER IO */
521 XK_Ukrainian_IE = cast(KeySym)0x06b4, /* U+0404 CYRILLIC CAPITAL LETTER UKRAINIAN IE */
522 XK_Ukranian_JE = cast(KeySym)0x06b4, /* deprecated */
523 XK_Macedonia_DSE = cast(KeySym)0x06b5, /* U+0405 CYRILLIC CAPITAL LETTER DZE */
524 XK_Ukrainian_I = cast(KeySym)0x06b6, /* U+0406 CYRILLIC CAPITAL LETTER BYELORUSSIAN-UKRAINIAN I */
525 XK_Ukranian_I = cast(KeySym)0x06b6, /* deprecated */
526 XK_Ukrainian_YI = cast(KeySym)0x06b7, /* U+0407 CYRILLIC CAPITAL LETTER YI */
527 XK_Ukranian_YI = cast(KeySym)0x06b7, /* deprecated */
528 XK_Cyrillic_JE = cast(KeySym)0x06b8, /* U+0408 CYRILLIC CAPITAL LETTER JE */
529 XK_Serbian_JE = cast(KeySym)0x06b8, /* deprecated */
530 XK_Cyrillic_LJE = cast(KeySym)0x06b9, /* U+0409 CYRILLIC CAPITAL LETTER LJE */
531 XK_Serbian_LJE = cast(KeySym)0x06b9, /* deprecated */
532 XK_Cyrillic_NJE = cast(KeySym)0x06ba, /* U+040A CYRILLIC CAPITAL LETTER NJE */
533 XK_Serbian_NJE = cast(KeySym)0x06ba, /* deprecated */
534 XK_Serbian_TSHE = cast(KeySym)0x06bb, /* U+040B CYRILLIC CAPITAL LETTER TSHE */
535 XK_Macedonia_KJE = cast(KeySym)0x06bc, /* U+040C CYRILLIC CAPITAL LETTER KJE */
536 XK_Ukrainian_GHE_WITH_UPTURN = cast(KeySym)0x06bd, /* U+0490 CYRILLIC CAPITAL LETTER GHE WITH UPTURN */
537 XK_Byelorussian_SHORTU = cast(KeySym)0x06be, /* U+040E CYRILLIC CAPITAL LETTER SHORT U */
538 XK_Cyrillic_DZHE = cast(KeySym)0x06bf, /* U+040F CYRILLIC CAPITAL LETTER DZHE */
539 XK_Serbian_DZE = cast(KeySym)0x06bf, /* deprecated */
540 XK_Cyrillic_yu = cast(KeySym)0x06c0, /* U+044E CYRILLIC SMALL LETTER YU */
541 XK_Cyrillic_a = cast(KeySym)0x06c1, /* U+0430 CYRILLIC SMALL LETTER A */
542 XK_Cyrillic_be = cast(KeySym)0x06c2, /* U+0431 CYRILLIC SMALL LETTER BE */
543 XK_Cyrillic_tse = cast(KeySym)0x06c3, /* U+0446 CYRILLIC SMALL LETTER TSE */
544 XK_Cyrillic_de = cast(KeySym)0x06c4, /* U+0434 CYRILLIC SMALL LETTER DE */
545 XK_Cyrillic_ie = cast(KeySym)0x06c5, /* U+0435 CYRILLIC SMALL LETTER IE */
546 XK_Cyrillic_ef = cast(KeySym)0x06c6, /* U+0444 CYRILLIC SMALL LETTER EF */
547 XK_Cyrillic_ghe = cast(KeySym)0x06c7, /* U+0433 CYRILLIC SMALL LETTER GHE */
548 XK_Cyrillic_ha = cast(KeySym)0x06c8, /* U+0445 CYRILLIC SMALL LETTER HA */
549 XK_Cyrillic_i = cast(KeySym)0x06c9, /* U+0438 CYRILLIC SMALL LETTER I */
550 XK_Cyrillic_shorti = cast(KeySym)0x06ca, /* U+0439 CYRILLIC SMALL LETTER SHORT I */
551 XK_Cyrillic_ka = cast(KeySym)0x06cb, /* U+043A CYRILLIC SMALL LETTER KA */
552 XK_Cyrillic_el = cast(KeySym)0x06cc, /* U+043B CYRILLIC SMALL LETTER EL */
553 XK_Cyrillic_em = cast(KeySym)0x06cd, /* U+043C CYRILLIC SMALL LETTER EM */
554 XK_Cyrillic_en = cast(KeySym)0x06ce, /* U+043D CYRILLIC SMALL LETTER EN */
555 XK_Cyrillic_o = cast(KeySym)0x06cf, /* U+043E CYRILLIC SMALL LETTER O */
556 XK_Cyrillic_pe = cast(KeySym)0x06d0, /* U+043F CYRILLIC SMALL LETTER PE */
557 XK_Cyrillic_ya = cast(KeySym)0x06d1, /* U+044F CYRILLIC SMALL LETTER YA */
558 XK_Cyrillic_er = cast(KeySym)0x06d2, /* U+0440 CYRILLIC SMALL LETTER ER */
559 XK_Cyrillic_es = cast(KeySym)0x06d3, /* U+0441 CYRILLIC SMALL LETTER ES */
560 XK_Cyrillic_te = cast(KeySym)0x06d4, /* U+0442 CYRILLIC SMALL LETTER TE */
561 XK_Cyrillic_u = cast(KeySym)0x06d5, /* U+0443 CYRILLIC SMALL LETTER U */
562 XK_Cyrillic_zhe = cast(KeySym)0x06d6, /* U+0436 CYRILLIC SMALL LETTER ZHE */
563 XK_Cyrillic_ve = cast(KeySym)0x06d7, /* U+0432 CYRILLIC SMALL LETTER VE */
564 XK_Cyrillic_softsign = cast(KeySym)0x06d8, /* U+044C CYRILLIC SMALL LETTER SOFT SIGN */
565 XK_Cyrillic_yeru = cast(KeySym)0x06d9, /* U+044B CYRILLIC SMALL LETTER YERU */
566 XK_Cyrillic_ze = cast(KeySym)0x06da, /* U+0437 CYRILLIC SMALL LETTER ZE */
567 XK_Cyrillic_sha = cast(KeySym)0x06db, /* U+0448 CYRILLIC SMALL LETTER SHA */
568 XK_Cyrillic_e = cast(KeySym)0x06dc, /* U+044D CYRILLIC SMALL LETTER E */
569 XK_Cyrillic_shcha = cast(KeySym)0x06dd, /* U+0449 CYRILLIC SMALL LETTER SHCHA */
570 XK_Cyrillic_che = cast(KeySym)0x06de, /* U+0447 CYRILLIC SMALL LETTER CHE */
571 XK_Cyrillic_hardsign = cast(KeySym)0x06df, /* U+044A CYRILLIC SMALL LETTER HARD SIGN */
572 XK_Cyrillic_YU = cast(KeySym)0x06e0, /* U+042E CYRILLIC CAPITAL LETTER YU */
573 XK_Cyrillic_A = cast(KeySym)0x06e1, /* U+0410 CYRILLIC CAPITAL LETTER A */
574 XK_Cyrillic_BE = cast(KeySym)0x06e2, /* U+0411 CYRILLIC CAPITAL LETTER BE */
575 XK_Cyrillic_TSE = cast(KeySym)0x06e3, /* U+0426 CYRILLIC CAPITAL LETTER TSE */
576 XK_Cyrillic_DE = cast(KeySym)0x06e4, /* U+0414 CYRILLIC CAPITAL LETTER DE */
577 XK_Cyrillic_IE = cast(KeySym)0x06e5, /* U+0415 CYRILLIC CAPITAL LETTER IE */
578 XK_Cyrillic_EF = cast(KeySym)0x06e6, /* U+0424 CYRILLIC CAPITAL LETTER EF */
579 XK_Cyrillic_GHE = cast(KeySym)0x06e7, /* U+0413 CYRILLIC CAPITAL LETTER GHE */
580 XK_Cyrillic_HA = cast(KeySym)0x06e8, /* U+0425 CYRILLIC CAPITAL LETTER HA */
581 XK_Cyrillic_I = cast(KeySym)0x06e9, /* U+0418 CYRILLIC CAPITAL LETTER I */
582 XK_Cyrillic_SHORTI = cast(KeySym)0x06ea, /* U+0419 CYRILLIC CAPITAL LETTER SHORT I */
583 XK_Cyrillic_KA = cast(KeySym)0x06eb, /* U+041A CYRILLIC CAPITAL LETTER KA */
584 XK_Cyrillic_EL = cast(KeySym)0x06ec, /* U+041B CYRILLIC CAPITAL LETTER EL */
585 XK_Cyrillic_EM = cast(KeySym)0x06ed, /* U+041C CYRILLIC CAPITAL LETTER EM */
586 XK_Cyrillic_EN = cast(KeySym)0x06ee, /* U+041D CYRILLIC CAPITAL LETTER EN */
587 XK_Cyrillic_O = cast(KeySym)0x06ef, /* U+041E CYRILLIC CAPITAL LETTER O */
588 XK_Cyrillic_PE = cast(KeySym)0x06f0, /* U+041F CYRILLIC CAPITAL LETTER PE */
589 XK_Cyrillic_YA = cast(KeySym)0x06f1, /* U+042F CYRILLIC CAPITAL LETTER YA */
590 XK_Cyrillic_ER = cast(KeySym)0x06f2, /* U+0420 CYRILLIC CAPITAL LETTER ER */
591 XK_Cyrillic_ES = cast(KeySym)0x06f3, /* U+0421 CYRILLIC CAPITAL LETTER ES */
592 XK_Cyrillic_TE = cast(KeySym)0x06f4, /* U+0422 CYRILLIC CAPITAL LETTER TE */
593 XK_Cyrillic_U = cast(KeySym)0x06f5, /* U+0423 CYRILLIC CAPITAL LETTER U */
594 XK_Cyrillic_ZHE = cast(KeySym)0x06f6, /* U+0416 CYRILLIC CAPITAL LETTER ZHE */
595 XK_Cyrillic_VE = cast(KeySym)0x06f7, /* U+0412 CYRILLIC CAPITAL LETTER VE */
596 XK_Cyrillic_SOFTSIGN = cast(KeySym)0x06f8, /* U+042C CYRILLIC CAPITAL LETTER SOFT SIGN */
597 XK_Cyrillic_YERU = cast(KeySym)0x06f9, /* U+042B CYRILLIC CAPITAL LETTER YERU */
598 XK_Cyrillic_ZE = cast(KeySym)0x06fa, /* U+0417 CYRILLIC CAPITAL LETTER ZE */
599 XK_Cyrillic_SHA = cast(KeySym)0x06fb, /* U+0428 CYRILLIC CAPITAL LETTER SHA */
600 XK_Cyrillic_E = cast(KeySym)0x06fc, /* U+042D CYRILLIC CAPITAL LETTER E */
601 XK_Cyrillic_SHCHA = cast(KeySym)0x06fd, /* U+0429 CYRILLIC CAPITAL LETTER SHCHA */
602 XK_Cyrillic_CHE = cast(KeySym)0x06fe, /* U+0427 CYRILLIC CAPITAL LETTER CHE */
603 XK_Cyrillic_HARDSIGN = cast(KeySym)0x06ff, /* U+042A CYRILLIC CAPITAL LETTER HARD SIGN */