comparison semiconginev2/thirdparty/x11/keysym.nim @ 1218:56781cc0fc7c compiletime-tests

did: renamge main package
author sam <sam@basx.dev>
date Wed, 17 Jul 2024 21:01:37 +0700
parents semicongine/old/thirdparty/x11/keysym.nim@239adab121a3
children
comparison
equal deleted inserted replaced
1217:f819a874058f 1218:56781cc0fc7c
1 #
2 #Converted from X11/keysym.h and X11/keysymdef.h
3 #
4 #Capital letter consts renamed from XK_... to XKc_...
5 # (since Pascal isn't case-sensitive)
6 #
7 #i.e.
8 #C Pascal
9 #XK_a XK_a
10 #XK_A XKc_A
11 #
12
13 #* default keysyms *
14 import x
15
16 const
17 XK_VoidSymbol*: KeySym = 0x00FFFFFF # void symbol
18
19 when defined(XK_MISCELLANY) or true:
20 const
21 #*
22 # * TTY Functions, cleverly chosen to map to ascii, for convenience of
23 # * programming, but could have been arbitrary (at the cost of lookup
24 # * tables in client code.
25 # *
26 XK_BackSpace*: KeySym = 0x0000FF08 # back space, back char
27 XK_Tab*: KeySym = 0x0000FF09
28 XK_Linefeed*: KeySym = 0x0000FF0A # Linefeed, LF
29 XK_Clear*: KeySym = 0x0000FF0B
30 XK_Return*: KeySym = 0x0000FF0D # Return, enter
31 XK_Pause*: KeySym = 0x0000FF13 # Pause, hold
32 XK_Scroll_Lock*: KeySym = 0x0000FF14
33 XK_Sys_Req*: KeySym = 0x0000FF15
34 XK_Escape*: KeySym = 0x0000FF1B
35 XK_Delete*: KeySym = 0x0000FFFF # Delete, rubout \
36 # International & multi-key character composition
37 XK_Multi_key*: KeySym = 0x0000FF20 # Multi-key character compose
38 XK_Codeinput*: KeySym = 0x0000FF37
39 XK_SingleCandidate*: KeySym = 0x0000FF3C
40 XK_MultipleCandidate*: KeySym = 0x0000FF3D
41 XK_PreviousCandidate*: KeySym = 0x0000FF3E # Japanese keyboard support
42 XK_Kanji*: KeySym = 0x0000FF21 # Kanji, Kanji convert
43 XK_Muhenkan*: KeySym = 0x0000FF22 # Cancel Conversion
44 XK_Henkan_Mode*: KeySym = 0x0000FF23 # Start/Stop Conversion
45 XK_Henkan*: KeySym = 0x0000FF23 # Alias for Henkan_Mode
46 XK_Romaji*: KeySym = 0x0000FF24 # to Romaji
47 XK_Hiragana*: KeySym = 0x0000FF25 # to Hiragana
48 XK_Katakana*: KeySym = 0x0000FF26 # to Katakana
49 XK_Hiragana_Katakana*: KeySym = 0x0000FF27 # Hiragana/Katakana toggle
50 XK_Zenkaku*: KeySym = 0x0000FF28 # to Zenkaku
51 XK_Hankaku*: KeySym = 0x0000FF29 # to Hankaku
52 XK_Zenkaku_Hankaku*: KeySym = 0x0000FF2A # Zenkaku/Hankaku toggle
53 XK_Touroku*: KeySym = 0x0000FF2B # Add to Dictionary
54 XK_Massyo*: KeySym = 0x0000FF2C # Delete from Dictionary
55 XK_Kana_Lock*: KeySym = 0x0000FF2D # Kana Lock
56 XK_Kana_Shift*: KeySym = 0x0000FF2E # Kana Shift
57 XK_Eisu_Shift*: KeySym = 0x0000FF2F # Alphanumeric Shift
58 XK_Eisu_toggle*: KeySym = 0x0000FF30 # Alphanumeric toggle
59 XK_Kanji_Bangou*: KeySym = 0x0000FF37 # Codeinput
60 XK_Zen_Koho*: KeySym = 0x0000FF3D # Multiple/All Candidate(s)
61 XK_Mae_Koho*: KeySym = 0x0000FF3E # Previous Candidate \
62 # = $FF31 thru = $FF3F are under XK_KOREAN
63 # Cursor control & motion
64 XK_Home*: KeySym = 0x0000FF50
65 XK_Left*: KeySym = 0x0000FF51 # Move left, left arrow
66 XK_Up*: KeySym = 0x0000FF52 # Move up, up arrow
67 XK_Right*: KeySym = 0x0000FF53 # Move right, right arrow
68 XK_Down*: KeySym = 0x0000FF54 # Move down, down arrow
69 XK_Prior*: KeySym = 0x0000FF55 # Prior, previous
70 XK_Page_Up*: KeySym = 0x0000FF55
71 XK_Next*: KeySym = 0x0000FF56 # Next
72 XK_Page_Down*: KeySym = 0x0000FF56
73 XK_End*: KeySym = 0x0000FF57 # EOL
74 XK_Begin*: KeySym = 0x0000FF58 # BOL \
75 # Misc Functions
76 XK_Select*: KeySym = 0x0000FF60 # Select, mark
77 XK_Print*: KeySym = 0x0000FF61
78 XK_Execute*: KeySym = 0x0000FF62 # Execute, run, do
79 XK_Insert*: KeySym = 0x0000FF63 # Insert, insert here
80 XK_Undo*: KeySym = 0x0000FF65 # Undo, oops
81 XK_Redo*: KeySym = 0x0000FF66 # redo, again
82 XK_Menu*: KeySym = 0x0000FF67
83 XK_Find*: KeySym = 0x0000FF68 # Find, search
84 XK_Cancel*: KeySym = 0x0000FF69 # Cancel, stop, abort, exit
85 XK_Help*: KeySym = 0x0000FF6A # Help
86 XK_Break*: KeySym = 0x0000FF6B
87 XK_Mode_switch*: KeySym = 0x0000FF7E # Character set switch
88 XK_script_switch*: KeySym = 0x0000FF7E # Alias for mode_switch
89 XK_Num_Lock*: KeySym = 0x0000FF7F # Keypad Functions, keypad numbers cleverly chosen to map to ascii
90 XK_KP_Space*: KeySym = 0x0000FF80 # space
91 XK_KP_Tab*: KeySym = 0x0000FF89
92 XK_KP_Enter*: KeySym = 0x0000FF8D # enter
93 XK_KP_F1*: KeySym = 0x0000FF91 # PF1, KP_A, ...
94 XK_KP_F2*: KeySym = 0x0000FF92
95 XK_KP_F3*: KeySym = 0x0000FF93
96 XK_KP_F4*: KeySym = 0x0000FF94
97 XK_KP_Home*: KeySym = 0x0000FF95
98 XK_KP_Left*: KeySym = 0x0000FF96
99 XK_KP_Up*: KeySym = 0x0000FF97
100 XK_KP_Right*: KeySym = 0x0000FF98
101 XK_KP_Down*: KeySym = 0x0000FF99
102 XK_KP_Prior*: KeySym = 0x0000FF9A
103 XK_KP_Page_Up*: KeySym = 0x0000FF9A
104 XK_KP_Next*: KeySym = 0x0000FF9B
105 XK_KP_Page_Down*: KeySym = 0x0000FF9B
106 XK_KP_End*: KeySym = 0x0000FF9C
107 XK_KP_Begin*: KeySym = 0x0000FF9D
108 XK_KP_Insert*: KeySym = 0x0000FF9E
109 XK_KP_Delete*: KeySym = 0x0000FF9F
110 XK_KP_Equal*: KeySym = 0x0000FFBD # equals
111 XK_KP_Multiply*: KeySym = 0x0000FFAA
112 XK_KP_Add*: KeySym = 0x0000FFAB
113 XK_KP_Separator*: KeySym = 0x0000FFAC # separator, often comma
114 XK_KP_Subtract*: KeySym = 0x0000FFAD
115 XK_KP_Decimal*: KeySym = 0x0000FFAE
116 XK_KP_Divide*: KeySym = 0x0000FFAF
117 XK_KP_0*: KeySym = 0x0000FFB0
118 XK_KP_1*: KeySym = 0x0000FFB1
119 XK_KP_2*: KeySym = 0x0000FFB2
120 XK_KP_3*: KeySym = 0x0000FFB3
121 XK_KP_4*: KeySym = 0x0000FFB4
122 XK_KP_5*: KeySym = 0x0000FFB5
123 XK_KP_6*: KeySym = 0x0000FFB6
124 XK_KP_7*: KeySym = 0x0000FFB7
125 XK_KP_8*: KeySym = 0x0000FFB8
126 XK_KP_9*: KeySym = 0x0000FFB9 #*\
127 # * Auxilliary Functions; note the duplicate definitions for left and right
128 # * function keys; Sun keyboards and a few other manufactures have such
129 # * function key groups on the left and/or right sides of the keyboard.
130 # * We've not found a keyboard with more than 35 function keys total.
131 # *
132 XK_F1*: KeySym = 0x0000FFBE
133 XK_F2*: KeySym = 0x0000FFBF
134 XK_F3*: KeySym = 0x0000FFC0
135 XK_F4*: KeySym = 0x0000FFC1
136 XK_F5*: KeySym = 0x0000FFC2
137 XK_F6*: KeySym = 0x0000FFC3
138 XK_F7*: KeySym = 0x0000FFC4
139 XK_F8*: KeySym = 0x0000FFC5
140 XK_F9*: KeySym = 0x0000FFC6
141 XK_F10*: KeySym = 0x0000FFC7
142 XK_F11*: KeySym = 0x0000FFC8
143 XK_L1*: KeySym = 0x0000FFC8
144 XK_F12*: KeySym = 0x0000FFC9
145 XK_L2*: KeySym = 0x0000FFC9
146 XK_F13*: KeySym = 0x0000FFCA
147 XK_L3*: KeySym = 0x0000FFCA
148 XK_F14*: KeySym = 0x0000FFCB
149 XK_L4*: KeySym = 0x0000FFCB
150 XK_F15*: KeySym = 0x0000FFCC
151 XK_L5*: KeySym = 0x0000FFCC
152 XK_F16*: KeySym = 0x0000FFCD
153 XK_L6*: KeySym = 0x0000FFCD
154 XK_F17*: KeySym = 0x0000FFCE
155 XK_L7*: KeySym = 0x0000FFCE
156 XK_F18*: KeySym = 0x0000FFCF
157 XK_L8*: KeySym = 0x0000FFCF
158 XK_F19*: KeySym = 0x0000FFD0
159 XK_L9*: KeySym = 0x0000FFD0
160 XK_F20*: KeySym = 0x0000FFD1
161 XK_L10*: KeySym = 0x0000FFD1
162 XK_F21*: KeySym = 0x0000FFD2
163 XK_R1*: KeySym = 0x0000FFD2
164 XK_F22*: KeySym = 0x0000FFD3
165 XK_R2*: KeySym = 0x0000FFD3
166 XK_F23*: KeySym = 0x0000FFD4
167 XK_R3*: KeySym = 0x0000FFD4
168 XK_F24*: KeySym = 0x0000FFD5
169 XK_R4*: KeySym = 0x0000FFD5
170 XK_F25*: KeySym = 0x0000FFD6
171 XK_R5*: KeySym = 0x0000FFD6
172 XK_F26*: KeySym = 0x0000FFD7
173 XK_R6*: KeySym = 0x0000FFD7
174 XK_F27*: KeySym = 0x0000FFD8
175 XK_R7*: KeySym = 0x0000FFD8
176 XK_F28*: KeySym = 0x0000FFD9
177 XK_R8*: KeySym = 0x0000FFD9
178 XK_F29*: KeySym = 0x0000FFDA
179 XK_R9*: KeySym = 0x0000FFDA
180 XK_F30*: KeySym = 0x0000FFDB
181 XK_R10*: KeySym = 0x0000FFDB
182 XK_F31*: KeySym = 0x0000FFDC
183 XK_R11*: KeySym = 0x0000FFDC
184 XK_F32*: KeySym = 0x0000FFDD
185 XK_R12*: KeySym = 0x0000FFDD
186 XK_F33*: KeySym = 0x0000FFDE
187 XK_R13*: KeySym = 0x0000FFDE
188 XK_F34*: KeySym = 0x0000FFDF
189 XK_R14*: KeySym = 0x0000FFDF
190 XK_F35*: KeySym = 0x0000FFE0
191 XK_R15*: KeySym = 0x0000FFE0 # Modifiers
192 XK_Shift_L*: KeySym = 0x0000FFE1 # Left shift
193 XK_Shift_R*: KeySym = 0x0000FFE2 # Right shift
194 XK_Control_L*: KeySym = 0x0000FFE3 # Left control
195 XK_Control_R*: KeySym = 0x0000FFE4 # Right control
196 XK_Caps_Lock*: KeySym = 0x0000FFE5 # Caps lock
197 XK_Shift_Lock*: KeySym = 0x0000FFE6 # Shift lock
198 XK_Meta_L*: KeySym = 0x0000FFE7 # Left meta
199 XK_Meta_R*: KeySym = 0x0000FFE8 # Right meta
200 XK_Alt_L*: KeySym = 0x0000FFE9 # Left alt
201 XK_Alt_R*: KeySym = 0x0000FFEA # Right alt
202 XK_Super_L*: KeySym = 0x0000FFEB # Left super
203 XK_Super_R*: KeySym = 0x0000FFEC # Right super
204 XK_Hyper_L*: KeySym = 0x0000FFED # Left hyper
205 XK_Hyper_R*: KeySym = 0x0000FFEE # Right hyper
206 # XK_MISCELLANY
207 #*
208 # * ISO 9995 Function and Modifier Keys
209 # * Byte 3 = = $FE
210 # *
211
212 when defined(XK_XKB_KEYS) or true:
213 const
214 XK_ISO_Lock*: KeySym = 0x0000FE01
215 XK_ISO_Level2_Latch*: KeySym = 0x0000FE02
216 XK_ISO_Level3_Shift*: KeySym = 0x0000FE03
217 XK_ISO_Level3_Latch*: KeySym = 0x0000FE04
218 XK_ISO_Level3_Lock*: KeySym = 0x0000FE05
219 XK_ISO_Group_Shift*: KeySym = 0x0000FF7E # Alias for mode_switch
220 XK_ISO_Group_Latch*: KeySym = 0x0000FE06
221 XK_ISO_Group_Lock*: KeySym = 0x0000FE07
222 XK_ISO_Next_Group*: KeySym = 0x0000FE08
223 XK_ISO_Next_Group_Lock*: KeySym = 0x0000FE09
224 XK_ISO_Prev_Group*: KeySym = 0x0000FE0A
225 XK_ISO_Prev_Group_Lock*: KeySym = 0x0000FE0B
226 XK_ISO_First_Group*: KeySym = 0x0000FE0C
227 XK_ISO_First_Group_Lock*: KeySym = 0x0000FE0D
228 XK_ISO_Last_Group*: KeySym = 0x0000FE0E
229 XK_ISO_Last_Group_Lock*: KeySym = 0x0000FE0F
230 XK_ISO_Left_Tab*: KeySym = 0x0000FE20
231 XK_ISO_Move_Line_Up*: KeySym = 0x0000FE21
232 XK_ISO_Move_Line_Down*: KeySym = 0x0000FE22
233 XK_ISO_Partial_Line_Up*: KeySym = 0x0000FE23
234 XK_ISO_Partial_Line_Down*: KeySym = 0x0000FE24
235 XK_ISO_Partial_Space_Left*: KeySym = 0x0000FE25
236 XK_ISO_Partial_Space_Right*: KeySym = 0x0000FE26
237 XK_ISO_Set_Margin_Left*: KeySym = 0x0000FE27
238 XK_ISO_Set_Margin_Right*: KeySym = 0x0000FE28
239 XK_ISO_Release_Margin_Left*: KeySym = 0x0000FE29
240 XK_ISO_Release_Margin_Right*: KeySym = 0x0000FE2A
241 XK_ISO_Release_Both_Margins*: KeySym = 0x0000FE2B
242 XK_ISO_Fast_Cursor_Left*: KeySym = 0x0000FE2C
243 XK_ISO_Fast_Cursor_Right*: KeySym = 0x0000FE2D
244 XK_ISO_Fast_Cursor_Up*: KeySym = 0x0000FE2E
245 XK_ISO_Fast_Cursor_Down*: KeySym = 0x0000FE2F
246 XK_ISO_Continuous_Underline*: KeySym = 0x0000FE30
247 XK_ISO_Discontinuous_Underline*: KeySym = 0x0000FE31
248 XK_ISO_Emphasize*: KeySym = 0x0000FE32
249 XK_ISO_Center_Object*: KeySym = 0x0000FE33
250 XK_ISO_Enter*: KeySym = 0x0000FE34
251 XK_dead_grave*: KeySym = 0x0000FE50
252 XK_dead_acute*: KeySym = 0x0000FE51
253 XK_dead_circumflex*: KeySym = 0x0000FE52
254 XK_dead_tilde*: KeySym = 0x0000FE53
255 XK_dead_macron*: KeySym = 0x0000FE54
256 XK_dead_breve*: KeySym = 0x0000FE55
257 XK_dead_abovedot*: KeySym = 0x0000FE56
258 XK_dead_diaeresis*: KeySym = 0x0000FE57
259 XK_dead_abovering*: KeySym = 0x0000FE58
260 XK_dead_doubleacute*: KeySym = 0x0000FE59
261 XK_dead_caron*: KeySym = 0x0000FE5A
262 XK_dead_cedilla*: KeySym = 0x0000FE5B
263 XK_dead_ogonek*: KeySym = 0x0000FE5C
264 XK_dead_iota*: KeySym = 0x0000FE5D
265 XK_dead_voiced_sound*: KeySym = 0x0000FE5E
266 XK_dead_semivoiced_sound*: KeySym = 0x0000FE5F
267 XK_dead_belowdot*: KeySym = 0x0000FE60
268 XK_dead_hook*: KeySym = 0x0000FE61
269 XK_dead_horn*: KeySym = 0x0000FE62
270 XK_First_Virtual_Screen*: KeySym = 0x0000FED0
271 XK_Prev_Virtual_Screen*: KeySym = 0x0000FED1
272 XK_Next_Virtual_Screen*: KeySym = 0x0000FED2
273 XK_Last_Virtual_Screen*: KeySym = 0x0000FED4
274 XK_Terminate_Server*: KeySym = 0x0000FED5
275 XK_AccessX_Enable*: KeySym = 0x0000FE70
276 XK_AccessX_Feedback_Enable*: KeySym = 0x0000FE71
277 XK_RepeatKeys_Enable*: KeySym = 0x0000FE72
278 XK_SlowKeys_Enable*: KeySym = 0x0000FE73
279 XK_BounceKeys_Enable*: KeySym = 0x0000FE74
280 XK_StickyKeys_Enable*: KeySym = 0x0000FE75
281 XK_MouseKeys_Enable*: KeySym = 0x0000FE76
282 XK_MouseKeys_Accel_Enable*: KeySym = 0x0000FE77
283 XK_Overlay1_Enable*: KeySym = 0x0000FE78
284 XK_Overlay2_Enable*: KeySym = 0x0000FE79
285 XK_AudibleBell_Enable*: KeySym = 0x0000FE7A
286 XK_Pointer_Left*: KeySym = 0x0000FEE0
287 XK_Pointer_Right*: KeySym = 0x0000FEE1
288 XK_Pointer_Up*: KeySym = 0x0000FEE2
289 XK_Pointer_Down*: KeySym = 0x0000FEE3
290 XK_Pointer_UpLeft*: KeySym = 0x0000FEE4
291 XK_Pointer_UpRight*: KeySym = 0x0000FEE5
292 XK_Pointer_DownLeft*: KeySym = 0x0000FEE6
293 XK_Pointer_DownRight*: KeySym = 0x0000FEE7
294 XK_Pointer_Button_Dflt*: KeySym = 0x0000FEE8
295 XK_Pointer_Button1*: KeySym = 0x0000FEE9
296 XK_Pointer_Button2*: KeySym = 0x0000FEEA
297 XK_Pointer_Button3*: KeySym = 0x0000FEEB
298 XK_Pointer_Button4*: KeySym = 0x0000FEEC
299 XK_Pointer_Button5*: KeySym = 0x0000FEED
300 XK_Pointer_DblClick_Dflt*: KeySym = 0x0000FEEE
301 XK_Pointer_DblClick1*: KeySym = 0x0000FEEF
302 XK_Pointer_DblClick2*: KeySym = 0x0000FEF0
303 XK_Pointer_DblClick3*: KeySym = 0x0000FEF1
304 XK_Pointer_DblClick4*: KeySym = 0x0000FEF2
305 XK_Pointer_DblClick5*: KeySym = 0x0000FEF3
306 XK_Pointer_Drag_Dflt*: KeySym = 0x0000FEF4
307 XK_Pointer_Drag1*: KeySym = 0x0000FEF5
308 XK_Pointer_Drag2*: KeySym = 0x0000FEF6
309 XK_Pointer_Drag3*: KeySym = 0x0000FEF7
310 XK_Pointer_Drag4*: KeySym = 0x0000FEF8
311 XK_Pointer_Drag5*: KeySym = 0x0000FEFD
312 XK_Pointer_EnableKeys*: KeySym = 0x0000FEF9
313 XK_Pointer_Accelerate*: KeySym = 0x0000FEFA
314 XK_Pointer_DfltBtnNext*: KeySym = 0x0000FEFB
315 XK_Pointer_DfltBtnPrev*: KeySym = 0x0000FEFC
316 #*
317 # * 3270 Terminal Keys
318 # * Byte 3 = = $FD
319 # *
320
321 when defined(XK_3270) or true:
322 const
323 XK_3270_Duplicate*: KeySym = 0x0000FD01
324 XK_3270_FieldMark*: KeySym = 0x0000FD02
325 XK_3270_Right2*: KeySym = 0x0000FD03
326 XK_3270_Left2*: KeySym = 0x0000FD04
327 XK_3270_BackTab*: KeySym = 0x0000FD05
328 XK_3270_EraseEOF*: KeySym = 0x0000FD06
329 XK_3270_EraseInput*: KeySym = 0x0000FD07
330 XK_3270_Reset*: KeySym = 0x0000FD08
331 XK_3270_Quit*: KeySym = 0x0000FD09
332 XK_3270_PA1*: KeySym = 0x0000FD0A
333 XK_3270_PA2*: KeySym = 0x0000FD0B
334 XK_3270_PA3*: KeySym = 0x0000FD0C
335 XK_3270_Test*: KeySym = 0x0000FD0D
336 XK_3270_Attn*: KeySym = 0x0000FD0E
337 XK_3270_CursorBlink*: KeySym = 0x0000FD0F
338 XK_3270_AltCursor*: KeySym = 0x0000FD10
339 XK_3270_KeyClick*: KeySym = 0x0000FD11
340 XK_3270_Jump*: KeySym = 0x0000FD12
341 XK_3270_Ident*: KeySym = 0x0000FD13
342 XK_3270_Rule*: KeySym = 0x0000FD14
343 XK_3270_Copy*: KeySym = 0x0000FD15
344 XK_3270_Play*: KeySym = 0x0000FD16
345 XK_3270_Setup*: KeySym = 0x0000FD17
346 XK_3270_Record*: KeySym = 0x0000FD18
347 XK_3270_ChangeScreen*: KeySym = 0x0000FD19
348 XK_3270_DeleteWord*: KeySym = 0x0000FD1A
349 XK_3270_ExSelect*: KeySym = 0x0000FD1B
350 XK_3270_CursorSelect*: KeySym = 0x0000FD1C
351 XK_3270_PrintScreen*: KeySym = 0x0000FD1D
352 XK_3270_Enter*: KeySym = 0x0000FD1E
353 #*
354 # * Latin 1
355 # * Byte 3 = 0
356 # *
357
358 when defined(XK_LATIN1) or true:
359 const
360 XK_space*: KeySym = 0x00000020
361 XK_exclam*: KeySym = 0x00000021
362 XK_quotedbl*: KeySym = 0x00000022
363 XK_numbersign*: KeySym = 0x00000023
364 XK_dollar*: KeySym = 0x00000024
365 XK_percent*: KeySym = 0x00000025
366 XK_ampersand*: KeySym = 0x00000026
367 XK_apostrophe*: KeySym = 0x00000027
368 XK_quoteright*: KeySym = 0x00000027 # deprecated
369 XK_parenleft*: KeySym = 0x00000028
370 XK_parenright*: KeySym = 0x00000029
371 XK_asterisk*: KeySym = 0x0000002A
372 XK_plus*: KeySym = 0x0000002B
373 XK_comma*: KeySym = 0x0000002C
374 XK_minus*: KeySym = 0x0000002D
375 XK_period*: KeySym = 0x0000002E
376 XK_slash*: KeySym = 0x0000002F
377 XK_0*: KeySym = 0x00000030
378 XK_1*: KeySym = 0x00000031
379 XK_2*: KeySym = 0x00000032
380 XK_3*: KeySym = 0x00000033
381 XK_4*: KeySym = 0x00000034
382 XK_5*: KeySym = 0x00000035
383 XK_6*: KeySym = 0x00000036
384 XK_7*: KeySym = 0x00000037
385 XK_8*: KeySym = 0x00000038
386 XK_9*: KeySym = 0x00000039
387 XK_colon*: KeySym = 0x0000003A
388 XK_semicolon*: KeySym = 0x0000003B
389 XK_less*: KeySym = 0x0000003C
390 XK_equal*: KeySym = 0x0000003D
391 XK_greater*: KeySym = 0x0000003E
392 XK_question*: KeySym = 0x0000003F
393 XK_at*: KeySym = 0x00000040
394 XKc_A*: KeySym = 0x00000041
395 XKc_B*: KeySym = 0x00000042
396 XKc_C*: KeySym = 0x00000043
397 XKc_D*: KeySym = 0x00000044
398 XKc_E*: KeySym = 0x00000045
399 XKc_F*: KeySym = 0x00000046
400 XKc_G*: KeySym = 0x00000047
401 XKc_H*: KeySym = 0x00000048
402 XKc_I*: KeySym = 0x00000049
403 XKc_J*: KeySym = 0x0000004A
404 XKc_K*: KeySym = 0x0000004B
405 XKc_L*: KeySym = 0x0000004C
406 XKc_M*: KeySym = 0x0000004D
407 XKc_N*: KeySym = 0x0000004E
408 XKc_O*: KeySym = 0x0000004F
409 XKc_P*: KeySym = 0x00000050
410 XKc_Q*: KeySym = 0x00000051
411 XKc_R*: KeySym = 0x00000052
412 XKc_S*: KeySym = 0x00000053
413 XKc_T*: KeySym = 0x00000054
414 XKc_U*: KeySym = 0x00000055
415 XKc_V*: KeySym = 0x00000056
416 XKc_W*: KeySym = 0x00000057
417 XKc_X*: KeySym = 0x00000058
418 XKc_Y*: KeySym = 0x00000059
419 XKc_Z*: KeySym = 0x0000005A
420 XK_bracketleft*: KeySym = 0x0000005B
421 XK_backslash*: KeySym = 0x0000005C
422 XK_bracketright*: KeySym = 0x0000005D
423 XK_asciicircum*: KeySym = 0x0000005E
424 XK_underscore*: KeySym = 0x0000005F
425 XK_grave*: KeySym = 0x00000060
426 XK_quoteleft*: KeySym = 0x00000060 # deprecated
427 XK_a*: KeySym = 0x00000061
428 XK_b*: KeySym = 0x00000062
429 XK_c*: KeySym = 0x00000063
430 XK_d*: KeySym = 0x00000064
431 XK_e*: KeySym = 0x00000065
432 XK_f*: KeySym = 0x00000066
433 XK_g*: KeySym = 0x00000067
434 XK_h*: KeySym = 0x00000068
435 XK_i*: KeySym = 0x00000069
436 XK_j*: KeySym = 0x0000006A
437 XK_k*: KeySym = 0x0000006B
438 XK_l*: KeySym = 0x0000006C
439 XK_m*: KeySym = 0x0000006D
440 XK_n*: KeySym = 0x0000006E
441 XK_o*: KeySym = 0x0000006F
442 XK_p*: KeySym = 0x00000070
443 XK_q*: KeySym = 0x00000071
444 XK_r*: KeySym = 0x00000072
445 XK_s*: KeySym = 0x00000073
446 XK_t*: KeySym = 0x00000074
447 XK_u*: KeySym = 0x00000075
448 XK_v*: KeySym = 0x00000076
449 XK_w*: KeySym = 0x00000077
450 XK_x*: KeySym = 0x00000078
451 XK_y*: KeySym = 0x00000079
452 XK_z*: KeySym = 0x0000007A
453 XK_braceleft*: KeySym = 0x0000007B
454 XK_bar*: KeySym = 0x0000007C
455 XK_braceright*: KeySym = 0x0000007D
456 XK_asciitilde*: KeySym = 0x0000007E
457 XK_nobreakspace*: KeySym = 0x000000A0
458 XK_exclamdown*: KeySym = 0x000000A1
459 XK_cent*: KeySym = 0x000000A2
460 XK_sterling*: KeySym = 0x000000A3
461 XK_currency*: KeySym = 0x000000A4
462 XK_yen*: KeySym = 0x000000A5
463 XK_brokenbar*: KeySym = 0x000000A6
464 XK_section*: KeySym = 0x000000A7
465 XK_diaeresis*: KeySym = 0x000000A8
466 XK_copyright*: KeySym = 0x000000A9
467 XK_ordfeminine*: KeySym = 0x000000AA
468 XK_guillemotleft*: KeySym = 0x000000AB # left angle quotation mark
469 XK_notsign*: KeySym = 0x000000AC
470 XK_hyphen*: KeySym = 0x000000AD
471 XK_registered*: KeySym = 0x000000AE
472 XK_macron*: KeySym = 0x000000AF
473 XK_degree*: KeySym = 0x000000B0
474 XK_plusminus*: KeySym = 0x000000B1
475 XK_twosuperior*: KeySym = 0x000000B2
476 XK_threesuperior*: KeySym = 0x000000B3
477 XK_acute*: KeySym = 0x000000B4
478 XK_mu*: KeySym = 0x000000B5
479 XK_paragraph*: KeySym = 0x000000B6
480 XK_periodcentered*: KeySym = 0x000000B7
481 XK_cedilla*: KeySym = 0x000000B8
482 XK_onesuperior*: KeySym = 0x000000B9
483 XK_masculine*: KeySym = 0x000000BA
484 XK_guillemotright*: KeySym = 0x000000BB # right angle quotation mark
485 XK_onequarter*: KeySym = 0x000000BC
486 XK_onehalf*: KeySym = 0x000000BD
487 XK_threequarters*: KeySym = 0x000000BE
488 XK_questiondown*: KeySym = 0x000000BF
489 XKc_Agrave*: KeySym = 0x000000C0
490 XKc_Aacute*: KeySym = 0x000000C1
491 XKc_Acircumflex*: KeySym = 0x000000C2
492 XKc_Atilde*: KeySym = 0x000000C3
493 XKc_Adiaeresis*: KeySym = 0x000000C4
494 XKc_Aring*: KeySym = 0x000000C5
495 XKc_AE*: KeySym = 0x000000C6
496 XKc_Ccedilla*: KeySym = 0x000000C7
497 XKc_Egrave*: KeySym = 0x000000C8
498 XKc_Eacute*: KeySym = 0x000000C9
499 XKc_Ecircumflex*: KeySym = 0x000000CA
500 XKc_Ediaeresis*: KeySym = 0x000000CB
501 XKc_Igrave*: KeySym = 0x000000CC
502 XKc_Iacute*: KeySym = 0x000000CD
503 XKc_Icircumflex*: KeySym = 0x000000CE
504 XKc_Idiaeresis*: KeySym = 0x000000CF
505 XKc_ETH*: KeySym = 0x000000D0
506 XKc_Ntilde*: KeySym = 0x000000D1
507 XKc_Ograve*: KeySym = 0x000000D2
508 XKc_Oacute*: KeySym = 0x000000D3
509 XKc_Ocircumflex*: KeySym = 0x000000D4
510 XKc_Otilde*: KeySym = 0x000000D5
511 XKc_Odiaeresis*: KeySym = 0x000000D6
512 XK_multiply*: KeySym = 0x000000D7
513 XKc_Ooblique*: KeySym = 0x000000D8
514 XKc_Oslash*: KeySym = XKc_Ooblique
515 XKc_Ugrave*: KeySym = 0x000000D9
516 XKc_Uacute*: KeySym = 0x000000DA
517 XKc_Ucircumflex*: KeySym = 0x000000DB
518 XKc_Udiaeresis*: KeySym = 0x000000DC
519 XKc_Yacute*: KeySym = 0x000000DD
520 XKc_THORN*: KeySym = 0x000000DE
521 XK_ssharp*: KeySym = 0x000000DF
522 XK_agrave*: KeySym = 0x000000E0
523 XK_aacute*: KeySym = 0x000000E1
524 XK_acircumflex*: KeySym = 0x000000E2
525 XK_atilde*: KeySym = 0x000000E3
526 XK_adiaeresis*: KeySym = 0x000000E4
527 XK_aring*: KeySym = 0x000000E5
528 XK_ae*: KeySym = 0x000000E6
529 XK_ccedilla*: KeySym = 0x000000E7
530 XK_egrave*: KeySym = 0x000000E8
531 XK_eacute*: KeySym = 0x000000E9
532 XK_ecircumflex*: KeySym = 0x000000EA
533 XK_ediaeresis*: KeySym = 0x000000EB
534 XK_igrave*: KeySym = 0x000000EC
535 XK_iacute*: KeySym = 0x000000ED
536 XK_icircumflex*: KeySym = 0x000000EE
537 XK_idiaeresis*: KeySym = 0x000000EF
538 XK_eth*: KeySym = 0x000000F0
539 XK_ntilde*: KeySym = 0x000000F1
540 XK_ograve*: KeySym = 0x000000F2
541 XK_oacute*: KeySym = 0x000000F3
542 XK_ocircumflex*: KeySym = 0x000000F4
543 XK_otilde*: KeySym = 0x000000F5
544 XK_odiaeresis*: KeySym = 0x000000F6
545 XK_division*: KeySym = 0x000000F7
546 XK_oslash*: KeySym = 0x000000F8
547 XK_ooblique*: KeySym = XK_oslash
548 XK_ugrave*: KeySym = 0x000000F9
549 XK_uacute*: KeySym = 0x000000FA
550 XK_ucircumflex*: KeySym = 0x000000FB
551 XK_udiaeresis*: KeySym = 0x000000FC
552 XK_yacute*: KeySym = 0x000000FD
553 XK_thorn*: KeySym = 0x000000FE
554 XK_ydiaeresis*: KeySym = 0x000000FF
555 # XK_LATIN1
556 #*
557 # * Latin 2
558 # * Byte 3 = 1
559 # *
560
561 when defined(XK_LATIN2) or true:
562 const
563 XKc_Aogonek*: KeySym = 0x000001A1
564 XK_breve*: KeySym = 0x000001A2
565 XKc_Lstroke*: KeySym = 0x000001A3
566 XKc_Lcaron*: KeySym = 0x000001A5
567 XKc_Sacute*: KeySym = 0x000001A6
568 XKc_Scaron*: KeySym = 0x000001A9
569 XKc_Scedilla*: KeySym = 0x000001AA
570 XKc_Tcaron*: KeySym = 0x000001AB
571 XKc_Zacute*: KeySym = 0x000001AC
572 XKc_Zcaron*: KeySym = 0x000001AE
573 XKc_Zabovedot*: KeySym = 0x000001AF
574 XK_aogonek*: KeySym = 0x000001B1
575 XK_ogonek*: KeySym = 0x000001B2
576 XK_lstroke*: KeySym = 0x000001B3
577 XK_lcaron*: KeySym = 0x000001B5
578 XK_sacute*: KeySym = 0x000001B6
579 XK_caron*: KeySym = 0x000001B7
580 XK_scaron*: KeySym = 0x000001B9
581 XK_scedilla*: KeySym = 0x000001BA
582 XK_tcaron*: KeySym = 0x000001BB
583 XK_zacute*: KeySym = 0x000001BC
584 XK_doubleacute*: KeySym = 0x000001BD
585 XK_zcaron*: KeySym = 0x000001BE
586 XK_zabovedot*: KeySym = 0x000001BF
587 XKc_Racute*: KeySym = 0x000001C0
588 XKc_Abreve*: KeySym = 0x000001C3
589 XKc_Lacute*: KeySym = 0x000001C5
590 XKc_Cacute*: KeySym = 0x000001C6
591 XKc_Ccaron*: KeySym = 0x000001C8
592 XKc_Eogonek*: KeySym = 0x000001CA
593 XKc_Ecaron*: KeySym = 0x000001CC
594 XKc_Dcaron*: KeySym = 0x000001CF
595 XKc_Dstroke*: KeySym = 0x000001D0
596 XKc_Nacute*: KeySym = 0x000001D1
597 XKc_Ncaron*: KeySym = 0x000001D2
598 XKc_Odoubleacute*: KeySym = 0x000001D5
599 XKc_Rcaron*: KeySym = 0x000001D8
600 XKc_Uring*: KeySym = 0x000001D9
601 XKc_Udoubleacute*: KeySym = 0x000001DB
602 XKc_Tcedilla*: KeySym = 0x000001DE
603 XK_racute*: KeySym = 0x000001E0
604 XK_abreve*: KeySym = 0x000001E3
605 XK_lacute*: KeySym = 0x000001E5
606 XK_cacute*: KeySym = 0x000001E6
607 XK_ccaron*: KeySym = 0x000001E8
608 XK_eogonek*: KeySym = 0x000001EA
609 XK_ecaron*: KeySym = 0x000001EC
610 XK_dcaron*: KeySym = 0x000001EF
611 XK_dstroke*: KeySym = 0x000001F0
612 XK_nacute*: KeySym = 0x000001F1
613 XK_ncaron*: KeySym = 0x000001F2
614 XK_odoubleacute*: KeySym = 0x000001F5
615 XK_udoubleacute*: KeySym = 0x000001FB
616 XK_rcaron*: KeySym = 0x000001F8
617 XK_uring*: KeySym = 0x000001F9
618 XK_tcedilla*: KeySym = 0x000001FE
619 XK_abovedot*: KeySym = 0x000001FF
620 # XK_LATIN2
621 #*
622 # * Latin 3
623 # * Byte 3 = 2
624 # *
625
626 when defined(XK_LATIN3) or true:
627 const
628 XKc_Hstroke*: KeySym = 0x000002A1
629 XKc_Hcircumflex*: KeySym = 0x000002A6
630 XKc_Iabovedot*: KeySym = 0x000002A9
631 XKc_Gbreve*: KeySym = 0x000002AB
632 XKc_Jcircumflex*: KeySym = 0x000002AC
633 XK_hstroke*: KeySym = 0x000002B1
634 XK_hcircumflex*: KeySym = 0x000002B6
635 XK_idotless*: KeySym = 0x000002B9
636 XK_gbreve*: KeySym = 0x000002BB
637 XK_jcircumflex*: KeySym = 0x000002BC
638 XKc_Cabovedot*: KeySym = 0x000002C5
639 XKc_Ccircumflex*: KeySym = 0x000002C6
640 XKc_Gabovedot*: KeySym = 0x000002D5
641 XKc_Gcircumflex*: KeySym = 0x000002D8
642 XKc_Ubreve*: KeySym = 0x000002DD
643 XKc_Scircumflex*: KeySym = 0x000002DE
644 XK_cabovedot*: KeySym = 0x000002E5
645 XK_ccircumflex*: KeySym = 0x000002E6
646 XK_gabovedot*: KeySym = 0x000002F5
647 XK_gcircumflex*: KeySym = 0x000002F8
648 XK_ubreve*: KeySym = 0x000002FD
649 XK_scircumflex*: KeySym = 0x000002FE
650 # XK_LATIN3
651 #*
652 # * Latin 4
653 # * Byte 3 = 3
654 # *
655
656 when defined(XK_LATIN4) or true:
657 const
658 XK_kra*: KeySym = 0x000003A2
659 XK_kappa*: KeySym = 0x000003A2 # deprecated
660 XKc_Rcedilla*: KeySym = 0x000003A3
661 XKc_Itilde*: KeySym = 0x000003A5
662 XKc_Lcedilla*: KeySym = 0x000003A6
663 XKc_Emacron*: KeySym = 0x000003AA
664 XKc_Gcedilla*: KeySym = 0x000003AB
665 XKc_Tslash*: KeySym = 0x000003AC
666 XK_rcedilla*: KeySym = 0x000003B3
667 XK_itilde*: KeySym = 0x000003B5
668 XK_lcedilla*: KeySym = 0x000003B6
669 XK_emacron*: KeySym = 0x000003BA
670 XK_gcedilla*: KeySym = 0x000003BB
671 XK_tslash*: KeySym = 0x000003BC
672 XKc_ENG*: KeySym = 0x000003BD
673 XK_eng*: KeySym = 0x000003BF
674 XKc_Amacron*: KeySym = 0x000003C0
675 XKc_Iogonek*: KeySym = 0x000003C7
676 XKc_Eabovedot*: KeySym = 0x000003CC
677 XKc_Imacron*: KeySym = 0x000003CF
678 XKc_Ncedilla*: KeySym = 0x000003D1
679 XKc_Omacron*: KeySym = 0x000003D2
680 XKc_Kcedilla*: KeySym = 0x000003D3
681 XKc_Uogonek*: KeySym = 0x000003D9
682 XKc_Utilde*: KeySym = 0x000003DD
683 XKc_Umacron*: KeySym = 0x000003DE
684 XK_amacron*: KeySym = 0x000003E0
685 XK_iogonek*: KeySym = 0x000003E7
686 XK_eabovedot*: KeySym = 0x000003EC
687 XK_imacron*: KeySym = 0x000003EF
688 XK_ncedilla*: KeySym = 0x000003F1
689 XK_omacron*: KeySym = 0x000003F2
690 XK_kcedilla*: KeySym = 0x000003F3
691 XK_uogonek*: KeySym = 0x000003F9
692 XK_utilde*: KeySym = 0x000003FD
693 XK_umacron*: KeySym = 0x000003FE
694 # XK_LATIN4
695 #*
696 # * Latin-8
697 # * Byte 3 = 18
698 # *
699
700 when defined(XK_LATIN8) or true:
701 const
702 XKc_Babovedot*: KeySym = 0x000012A1
703 XK_babovedot*: KeySym = 0x000012A2
704 XKc_Dabovedot*: KeySym = 0x000012A6
705 XKc_Wgrave*: KeySym = 0x000012A8
706 XKc_Wacute*: KeySym = 0x000012AA
707 XK_dabovedot*: KeySym = 0x000012AB
708 XKc_Ygrave*: KeySym = 0x000012AC
709 XKc_Fabovedot*: KeySym = 0x000012B0
710 XK_fabovedot*: KeySym = 0x000012B1
711 XKc_Mabovedot*: KeySym = 0x000012B4
712 XK_mabovedot*: KeySym = 0x000012B5
713 XKc_Pabovedot*: KeySym = 0x000012B7
714 XK_wgrave*: KeySym = 0x000012B8
715 XK_pabovedot*: KeySym = 0x000012B9
716 XK_wacute*: KeySym = 0x000012BA
717 XKc_Sabovedot*: KeySym = 0x000012BB
718 XK_ygrave*: KeySym = 0x000012BC
719 XKc_Wdiaeresis*: KeySym = 0x000012BD
720 XK_wdiaeresis*: KeySym = 0x000012BE
721 XK_sabovedot*: KeySym = 0x000012BF
722 XKc_Wcircumflex*: KeySym = 0x000012D0
723 XKc_Tabovedot*: KeySym = 0x000012D7
724 XKc_Ycircumflex*: KeySym = 0x000012DE
725 XK_wcircumflex*: KeySym = 0x000012F0
726 XK_tabovedot*: KeySym = 0x000012F7
727 XK_ycircumflex*: KeySym = 0x000012FE
728 # XK_LATIN8
729 #*
730 # * Latin-9 (a.k.a. Latin-0)
731 # * Byte 3 = 19
732 # *
733
734 when defined(XK_LATIN9) or true:
735 const
736 XKc_OE*: KeySym = 0x000013BC
737 XK_oe*: KeySym = 0x000013BD
738 XKc_Ydiaeresis*: KeySym = 0x000013BE
739 # XK_LATIN9
740 #*
741 # * Katakana
742 # * Byte 3 = 4
743 # *
744
745 when defined(XK_KATAKANA) or true:
746 const
747 XK_overline*: KeySym = 0x0000047E
748 XK_kana_fullstop*: KeySym = 0x000004A1
749 XK_kana_openingbracket*: KeySym = 0x000004A2
750 XK_kana_closingbracket*: KeySym = 0x000004A3
751 XK_kana_comma*: KeySym = 0x000004A4
752 XK_kana_conjunctive*: KeySym = 0x000004A5
753 XK_kana_middledot*: KeySym = 0x000004A5 # deprecated
754 XKc_kana_WO*: KeySym = 0x000004A6
755 XK_kana_a*: KeySym = 0x000004A7
756 XK_kana_i*: KeySym = 0x000004A8
757 XK_kana_u*: KeySym = 0x000004A9
758 XK_kana_e*: KeySym = 0x000004AA
759 XK_kana_o*: KeySym = 0x000004AB
760 XK_kana_ya*: KeySym = 0x000004AC
761 XK_kana_yu*: KeySym = 0x000004AD
762 XK_kana_yo*: KeySym = 0x000004AE
763 XK_kana_tsu*: KeySym = 0x000004AF
764 XK_kana_tu*: KeySym = 0x000004AF # deprecated
765 XK_prolongedsound*: KeySym = 0x000004B0
766 XKc_kana_A*: KeySym = 0x000004B1
767 XKc_kana_I*: KeySym = 0x000004B2
768 XKc_kana_U*: KeySym = 0x000004B3
769 XKc_kana_E*: KeySym = 0x000004B4
770 XKc_kana_O*: KeySym = 0x000004B5
771 XKc_kana_KA*: KeySym = 0x000004B6
772 XKc_kana_KI*: KeySym = 0x000004B7
773 XKc_kana_KU*: KeySym = 0x000004B8
774 XKc_kana_KE*: KeySym = 0x000004B9
775 XKc_kana_KO*: KeySym = 0x000004BA
776 XKc_kana_SA*: KeySym = 0x000004BB
777 XKc_kana_SHI*: KeySym = 0x000004BC
778 XKc_kana_SU*: KeySym = 0x000004BD
779 XKc_kana_SE*: KeySym = 0x000004BE
780 XKc_kana_SO*: KeySym = 0x000004BF
781 XKc_kana_TA*: KeySym = 0x000004C0
782 XKc_kana_CHI*: KeySym = 0x000004C1
783 XKc_kana_TI*: KeySym = 0x000004C1 # deprecated
784 XKc_kana_TSU*: KeySym = 0x000004C2
785 XKc_kana_TU*: KeySym = 0x000004C2 # deprecated
786 XKc_kana_TE*: KeySym = 0x000004C3
787 XKc_kana_TO*: KeySym = 0x000004C4
788 XKc_kana_NA*: KeySym = 0x000004C5
789 XKc_kana_NI*: KeySym = 0x000004C6
790 XKc_kana_NU*: KeySym = 0x000004C7
791 XKc_kana_NE*: KeySym = 0x000004C8
792 XKc_kana_NO*: KeySym = 0x000004C9
793 XKc_kana_HA*: KeySym = 0x000004CA
794 XKc_kana_HI*: KeySym = 0x000004CB
795 XKc_kana_FU*: KeySym = 0x000004CC
796 XKc_kana_HU*: KeySym = 0x000004CC # deprecated
797 XKc_kana_HE*: KeySym = 0x000004CD
798 XKc_kana_HO*: KeySym = 0x000004CE
799 XKc_kana_MA*: KeySym = 0x000004CF
800 XKc_kana_MI*: KeySym = 0x000004D0
801 XKc_kana_MU*: KeySym = 0x000004D1
802 XKc_kana_ME*: KeySym = 0x000004D2
803 XKc_kana_MO*: KeySym = 0x000004D3
804 XKc_kana_YA*: KeySym = 0x000004D4
805 XKc_kana_YU*: KeySym = 0x000004D5
806 XKc_kana_YO*: KeySym = 0x000004D6
807 XKc_kana_RA*: KeySym = 0x000004D7
808 XKc_kana_RI*: KeySym = 0x000004D8
809 XKc_kana_RU*: KeySym = 0x000004D9
810 XKc_kana_RE*: KeySym = 0x000004DA
811 XKc_kana_RO*: KeySym = 0x000004DB
812 XKc_kana_WA*: KeySym = 0x000004DC
813 XKc_kana_N*: KeySym = 0x000004DD
814 XK_voicedsound*: KeySym = 0x000004DE
815 XK_semivoicedsound*: KeySym = 0x000004DF
816 XK_kana_switch*: KeySym = 0x0000FF7E # Alias for mode_switch
817 # XK_KATAKANA
818 #*
819 # * Arabic
820 # * Byte 3 = 5
821 # *
822
823 when defined(XK_ARABIC) or true:
824 const
825 XK_Farsi_0*: KeySym = 0x00000590
826 XK_Farsi_1*: KeySym = 0x00000591
827 XK_Farsi_2*: KeySym = 0x00000592
828 XK_Farsi_3*: KeySym = 0x00000593
829 XK_Farsi_4*: KeySym = 0x00000594
830 XK_Farsi_5*: KeySym = 0x00000595
831 XK_Farsi_6*: KeySym = 0x00000596
832 XK_Farsi_7*: KeySym = 0x00000597
833 XK_Farsi_8*: KeySym = 0x00000598
834 XK_Farsi_9*: KeySym = 0x00000599
835 XK_Arabic_percent*: KeySym = 0x000005A5
836 XK_Arabic_superscript_alef*: KeySym = 0x000005A6
837 XK_Arabic_tteh*: KeySym = 0x000005A7
838 XK_Arabic_peh*: KeySym = 0x000005A8
839 XK_Arabic_tcheh*: KeySym = 0x000005A9
840 XK_Arabic_ddal*: KeySym = 0x000005AA
841 XK_Arabic_rreh*: KeySym = 0x000005AB
842 XK_Arabic_comma*: KeySym = 0x000005AC
843 XK_Arabic_fullstop*: KeySym = 0x000005AE
844 XK_Arabic_0*: KeySym = 0x000005B0
845 XK_Arabic_1*: KeySym = 0x000005B1
846 XK_Arabic_2*: KeySym = 0x000005B2
847 XK_Arabic_3*: KeySym = 0x000005B3
848 XK_Arabic_4*: KeySym = 0x000005B4
849 XK_Arabic_5*: KeySym = 0x000005B5
850 XK_Arabic_6*: KeySym = 0x000005B6
851 XK_Arabic_7*: KeySym = 0x000005B7
852 XK_Arabic_8*: KeySym = 0x000005B8
853 XK_Arabic_9*: KeySym = 0x000005B9
854 XK_Arabic_semicolon*: KeySym = 0x000005BB
855 XK_Arabic_question_mark*: KeySym = 0x000005BF
856 XK_Arabic_hamza*: KeySym = 0x000005C1
857 XK_Arabic_maddaonalef*: KeySym = 0x000005C2
858 XK_Arabic_hamzaonalef*: KeySym = 0x000005C3
859 XK_Arabic_hamzaonwaw*: KeySym = 0x000005C4
860 XK_Arabic_hamzaunderalef*: KeySym = 0x000005C5
861 XK_Arabic_hamzaonyeh*: KeySym = 0x000005C6
862 XK_Arabic_alef*: KeySym = 0x000005C7
863 XK_Arabic_beh*: KeySym = 0x000005C8
864 XK_Arabic_tehmarbuta*: KeySym = 0x000005C9
865 XK_Arabic_teh*: KeySym = 0x000005CA
866 XK_Arabic_theh*: KeySym = 0x000005CB
867 XK_Arabic_jeem*: KeySym = 0x000005CC
868 XK_Arabic_hah*: KeySym = 0x000005CD
869 XK_Arabic_khah*: KeySym = 0x000005CE
870 XK_Arabic_dal*: KeySym = 0x000005CF
871 XK_Arabic_thal*: KeySym = 0x000005D0
872 XK_Arabic_ra*: KeySym = 0x000005D1
873 XK_Arabic_zain*: KeySym = 0x000005D2
874 XK_Arabic_seen*: KeySym = 0x000005D3
875 XK_Arabic_sheen*: KeySym = 0x000005D4
876 XK_Arabic_sad*: KeySym = 0x000005D5
877 XK_Arabic_dad*: KeySym = 0x000005D6
878 XK_Arabic_tah*: KeySym = 0x000005D7
879 XK_Arabic_zah*: KeySym = 0x000005D8
880 XK_Arabic_ain*: KeySym = 0x000005D9
881 XK_Arabic_ghain*: KeySym = 0x000005DA
882 XK_Arabic_tatweel*: KeySym = 0x000005E0
883 XK_Arabic_feh*: KeySym = 0x000005E1
884 XK_Arabic_qaf*: KeySym = 0x000005E2
885 XK_Arabic_kaf*: KeySym = 0x000005E3
886 XK_Arabic_lam*: KeySym = 0x000005E4
887 XK_Arabic_meem*: KeySym = 0x000005E5
888 XK_Arabic_noon*: KeySym = 0x000005E6
889 XK_Arabic_ha*: KeySym = 0x000005E7
890 XK_Arabic_heh*: KeySym = 0x000005E7 # deprecated
891 XK_Arabic_waw*: KeySym = 0x000005E8
892 XK_Arabic_alefmaksura*: KeySym = 0x000005E9
893 XK_Arabic_yeh*: KeySym = 0x000005EA
894 XK_Arabic_fathatan*: KeySym = 0x000005EB
895 XK_Arabic_dammatan*: KeySym = 0x000005EC
896 XK_Arabic_kasratan*: KeySym = 0x000005ED
897 XK_Arabic_fatha*: KeySym = 0x000005EE
898 XK_Arabic_damma*: KeySym = 0x000005EF
899 XK_Arabic_kasra*: KeySym = 0x000005F0
900 XK_Arabic_shadda*: KeySym = 0x000005F1
901 XK_Arabic_sukun*: KeySym = 0x000005F2
902 XK_Arabic_madda_above*: KeySym = 0x000005F3
903 XK_Arabic_hamza_above*: KeySym = 0x000005F4
904 XK_Arabic_hamza_below*: KeySym = 0x000005F5
905 XK_Arabic_jeh*: KeySym = 0x000005F6
906 XK_Arabic_veh*: KeySym = 0x000005F7
907 XK_Arabic_keheh*: KeySym = 0x000005F8
908 XK_Arabic_gaf*: KeySym = 0x000005F9
909 XK_Arabic_noon_ghunna*: KeySym = 0x000005FA
910 XK_Arabic_heh_doachashmee*: KeySym = 0x000005FB
911 XK_Farsi_yeh*: KeySym = 0x000005FC
912 XK_Arabic_farsi_yeh*: KeySym = XK_Farsi_yeh
913 XK_Arabic_yeh_baree*: KeySym = 0x000005FD
914 XK_Arabic_heh_goal*: KeySym = 0x000005FE
915 XK_Arabic_switch*: KeySym = 0x0000FF7E # Alias for mode_switch
916 # XK_ARABIC
917 #*
918 # * Cyrillic
919 # * Byte 3 = 6
920 # *
921
922 when defined(XK_CYRILLIC) or true:
923 const
924 XKc_Cyrillic_GHE_bar*: KeySym = 0x00000680
925 XK_Cyrillic_ghe_bar*: KeySym = 0x00000690
926 XKc_Cyrillic_ZHE_descender*: KeySym = 0x00000681
927 XK_Cyrillic_zhe_descender*: KeySym = 0x00000691
928 XKc_Cyrillic_KA_descender*: KeySym = 0x00000682
929 XK_Cyrillic_ka_descender*: KeySym = 0x00000692
930 XKc_Cyrillic_KA_vertstroke*: KeySym = 0x00000683
931 XK_Cyrillic_ka_vertstroke*: KeySym = 0x00000693
932 XKc_Cyrillic_EN_descender*: KeySym = 0x00000684
933 XK_Cyrillic_en_descender*: KeySym = 0x00000694
934 XKc_Cyrillic_U_straight*: KeySym = 0x00000685
935 XK_Cyrillic_u_straight*: KeySym = 0x00000695
936 XKc_Cyrillic_U_straight_bar*: KeySym = 0x00000686
937 XK_Cyrillic_u_straight_bar*: KeySym = 0x00000696
938 XKc_Cyrillic_HA_descender*: KeySym = 0x00000687
939 XK_Cyrillic_ha_descender*: KeySym = 0x00000697
940 XKc_Cyrillic_CHE_descender*: KeySym = 0x00000688
941 XK_Cyrillic_che_descender*: KeySym = 0x00000698
942 XKc_Cyrillic_CHE_vertstroke*: KeySym = 0x00000689
943 XK_Cyrillic_che_vertstroke*: KeySym = 0x00000699
944 XKc_Cyrillic_SHHA*: KeySym = 0x0000068A
945 XK_Cyrillic_shha*: KeySym = 0x0000069A
946 XKc_Cyrillic_SCHWA*: KeySym = 0x0000068C
947 XK_Cyrillic_schwa*: KeySym = 0x0000069C
948 XKc_Cyrillic_I_macron*: KeySym = 0x0000068D
949 XK_Cyrillic_i_macron*: KeySym = 0x0000069D
950 XKc_Cyrillic_O_bar*: KeySym = 0x0000068E
951 XK_Cyrillic_o_bar*: KeySym = 0x0000069E
952 XKc_Cyrillic_U_macron*: KeySym = 0x0000068F
953 XK_Cyrillic_u_macron*: KeySym = 0x0000069F
954 XK_Serbian_dje*: KeySym = 0x000006A1
955 XK_Macedonia_gje*: KeySym = 0x000006A2
956 XK_Cyrillic_io*: KeySym = 0x000006A3
957 XK_Ukrainian_ie*: KeySym = 0x000006A4
958 XK_Ukranian_je*: KeySym = 0x000006A4 # deprecated
959 XK_Macedonia_dse*: KeySym = 0x000006A5
960 XK_Ukrainian_i*: KeySym = 0x000006A6
961 XK_Ukranian_i*: KeySym = 0x000006A6 # deprecated
962 XK_Ukrainian_yi*: KeySym = 0x000006A7
963 XK_Ukranian_yi*: KeySym = 0x000006A7 # deprecated
964 XK_Cyrillic_je*: KeySym = 0x000006A8
965 XK_Serbian_je*: KeySym = 0x000006A8 # deprecated
966 XK_Cyrillic_lje*: KeySym = 0x000006A9
967 XK_Serbian_lje*: KeySym = 0x000006A9 # deprecated
968 XK_Cyrillic_nje*: KeySym = 0x000006AA
969 XK_Serbian_nje*: KeySym = 0x000006AA # deprecated
970 XK_Serbian_tshe*: KeySym = 0x000006AB
971 XK_Macedonia_kje*: KeySym = 0x000006AC
972 XK_Ukrainian_ghe_with_upturn*: KeySym = 0x000006AD
973 XK_Byelorussian_shortu*: KeySym = 0x000006AE
974 XK_Cyrillic_dzhe*: KeySym = 0x000006AF
975 XK_Serbian_dze*: KeySym = 0x000006AF # deprecated
976 XK_numerosign*: KeySym = 0x000006B0
977 XKc_Serbian_DJE*: KeySym = 0x000006B1
978 XKc_Macedonia_GJE*: KeySym = 0x000006B2
979 XKc_Cyrillic_IO*: KeySym = 0x000006B3
980 XKc_Ukrainian_IE*: KeySym = 0x000006B4
981 XKc_Ukranian_JE*: KeySym = 0x000006B4 # deprecated
982 XKc_Macedonia_DSE*: KeySym = 0x000006B5
983 XKc_Ukrainian_I*: KeySym = 0x000006B6
984 XKc_Ukranian_I*: KeySym = 0x000006B6 # deprecated
985 XKc_Ukrainian_YI*: KeySym = 0x000006B7
986 XKc_Ukranian_YI*: KeySym = 0x000006B7 # deprecated
987 XKc_Cyrillic_JE*: KeySym = 0x000006B8
988 XKc_Serbian_JE*: KeySym = 0x000006B8 # deprecated
989 XKc_Cyrillic_LJE*: KeySym = 0x000006B9
990 XKc_Serbian_LJE*: KeySym = 0x000006B9 # deprecated
991 XKc_Cyrillic_NJE*: KeySym = 0x000006BA
992 XKc_Serbian_NJE*: KeySym = 0x000006BA # deprecated
993 XKc_Serbian_TSHE*: KeySym = 0x000006BB
994 XKc_Macedonia_KJE*: KeySym = 0x000006BC
995 XKc_Ukrainian_GHE_WITH_UPTURN*: KeySym = 0x000006BD
996 XKc_Byelorussian_SHORTU*: KeySym = 0x000006BE
997 XKc_Cyrillic_DZHE*: KeySym = 0x000006BF
998 XKc_Serbian_DZE*: KeySym = 0x000006BF # deprecated
999 XK_Cyrillic_yu*: KeySym = 0x000006C0
1000 XK_Cyrillic_a*: KeySym = 0x000006C1
1001 XK_Cyrillic_be*: KeySym = 0x000006C2
1002 XK_Cyrillic_tse*: KeySym = 0x000006C3
1003 XK_Cyrillic_de*: KeySym = 0x000006C4
1004 XK_Cyrillic_ie*: KeySym = 0x000006C5
1005 XK_Cyrillic_ef*: KeySym = 0x000006C6
1006 XK_Cyrillic_ghe*: KeySym = 0x000006C7
1007 XK_Cyrillic_ha*: KeySym = 0x000006C8
1008 XK_Cyrillic_i*: KeySym = 0x000006C9
1009 XK_Cyrillic_shorti*: KeySym = 0x000006CA
1010 XK_Cyrillic_ka*: KeySym = 0x000006CB
1011 XK_Cyrillic_el*: KeySym = 0x000006CC
1012 XK_Cyrillic_em*: KeySym = 0x000006CD
1013 XK_Cyrillic_en*: KeySym = 0x000006CE
1014 XK_Cyrillic_o*: KeySym = 0x000006CF
1015 XK_Cyrillic_pe*: KeySym = 0x000006D0
1016 XK_Cyrillic_ya*: KeySym = 0x000006D1
1017 XK_Cyrillic_er*: KeySym = 0x000006D2
1018 XK_Cyrillic_es*: KeySym = 0x000006D3
1019 XK_Cyrillic_te*: KeySym = 0x000006D4
1020 XK_Cyrillic_u*: KeySym = 0x000006D5
1021 XK_Cyrillic_zhe*: KeySym = 0x000006D6
1022 XK_Cyrillic_ve*: KeySym = 0x000006D7
1023 XK_Cyrillic_softsign*: KeySym = 0x000006D8
1024 XK_Cyrillic_yeru*: KeySym = 0x000006D9
1025 XK_Cyrillic_ze*: KeySym = 0x000006DA
1026 XK_Cyrillic_sha*: KeySym = 0x000006DB
1027 XK_Cyrillic_e*: KeySym = 0x000006DC
1028 XK_Cyrillic_shcha*: KeySym = 0x000006DD
1029 XK_Cyrillic_che*: KeySym = 0x000006DE
1030 XK_Cyrillic_hardsign*: KeySym = 0x000006DF
1031 XKc_Cyrillic_YU*: KeySym = 0x000006E0
1032 XKc_Cyrillic_A*: KeySym = 0x000006E1
1033 XKc_Cyrillic_BE*: KeySym = 0x000006E2
1034 XKc_Cyrillic_TSE*: KeySym = 0x000006E3
1035 XKc_Cyrillic_DE*: KeySym = 0x000006E4
1036 XKc_Cyrillic_IE*: KeySym = 0x000006E5
1037 XKc_Cyrillic_EF*: KeySym = 0x000006E6
1038 XKc_Cyrillic_GHE*: KeySym = 0x000006E7
1039 XKc_Cyrillic_HA*: KeySym = 0x000006E8
1040 XKc_Cyrillic_I*: KeySym = 0x000006E9
1041 XKc_Cyrillic_SHORTI*: KeySym = 0x000006EA
1042 XKc_Cyrillic_KA*: KeySym = 0x000006EB
1043 XKc_Cyrillic_EL*: KeySym = 0x000006EC
1044 XKc_Cyrillic_EM*: KeySym = 0x000006ED
1045 XKc_Cyrillic_EN*: KeySym = 0x000006EE
1046 XKc_Cyrillic_O*: KeySym = 0x000006EF
1047 XKc_Cyrillic_PE*: KeySym = 0x000006F0
1048 XKc_Cyrillic_YA*: KeySym = 0x000006F1
1049 XKc_Cyrillic_ER*: KeySym = 0x000006F2
1050 XKc_Cyrillic_ES*: KeySym = 0x000006F3
1051 XKc_Cyrillic_TE*: KeySym = 0x000006F4
1052 XKc_Cyrillic_U*: KeySym = 0x000006F5
1053 XKc_Cyrillic_ZHE*: KeySym = 0x000006F6
1054 XKc_Cyrillic_VE*: KeySym = 0x000006F7
1055 XKc_Cyrillic_SOFTSIGN*: KeySym = 0x000006F8
1056 XKc_Cyrillic_YERU*: KeySym = 0x000006F9
1057 XKc_Cyrillic_ZE*: KeySym = 0x000006FA
1058 XKc_Cyrillic_SHA*: KeySym = 0x000006FB
1059 XKc_Cyrillic_E*: KeySym = 0x000006FC
1060 XKc_Cyrillic_SHCHA*: KeySym = 0x000006FD
1061 XKc_Cyrillic_CHE*: KeySym = 0x000006FE
1062 XKc_Cyrillic_HARDSIGN*: KeySym = 0x000006FF
1063 # XK_CYRILLIC
1064 #*
1065 # * Greek
1066 # * Byte 3 = 7
1067 # *
1068
1069 when defined(XK_GREEK) or true:
1070 const
1071 XKc_Greek_ALPHAaccent*: KeySym = 0x000007A1
1072 XKc_Greek_EPSILONaccent*: KeySym = 0x000007A2
1073 XKc_Greek_ETAaccent*: KeySym = 0x000007A3
1074 XKc_Greek_IOTAaccent*: KeySym = 0x000007A4
1075 XKc_Greek_IOTAdieresis*: KeySym = 0x000007A5
1076 XKc_Greek_IOTAdiaeresis*: KeySym = XKc_Greek_IOTAdieresis # old typo
1077 XKc_Greek_OMICRONaccent*: KeySym = 0x000007A7
1078 XKc_Greek_UPSILONaccent*: KeySym = 0x000007A8
1079 XKc_Greek_UPSILONdieresis*: KeySym = 0x000007A9
1080 XKc_Greek_OMEGAaccent*: KeySym = 0x000007AB
1081 XK_Greek_accentdieresis*: KeySym = 0x000007AE
1082 XK_Greek_horizbar*: KeySym = 0x000007AF
1083 XK_Greek_alphaaccent*: KeySym = 0x000007B1
1084 XK_Greek_epsilonaccent*: KeySym = 0x000007B2
1085 XK_Greek_etaaccent*: KeySym = 0x000007B3
1086 XK_Greek_iotaaccent*: KeySym = 0x000007B4
1087 XK_Greek_iotadieresis*: KeySym = 0x000007B5
1088 XK_Greek_iotaaccentdieresis*: KeySym = 0x000007B6
1089 XK_Greek_omicronaccent*: KeySym = 0x000007B7
1090 XK_Greek_upsilonaccent*: KeySym = 0x000007B8
1091 XK_Greek_upsilondieresis*: KeySym = 0x000007B9
1092 XK_Greek_upsilonaccentdieresis*: KeySym = 0x000007BA
1093 XK_Greek_omegaaccent*: KeySym = 0x000007BB
1094 XKc_Greek_ALPHA*: KeySym = 0x000007C1
1095 XKc_Greek_BETA*: KeySym = 0x000007C2
1096 XKc_Greek_GAMMA*: KeySym = 0x000007C3
1097 XKc_Greek_DELTA*: KeySym = 0x000007C4
1098 XKc_Greek_EPSILON*: KeySym = 0x000007C5
1099 XKc_Greek_ZETA*: KeySym = 0x000007C6
1100 XKc_Greek_ETA*: KeySym = 0x000007C7
1101 XKc_Greek_THETA*: KeySym = 0x000007C8
1102 XKc_Greek_IOTA*: KeySym = 0x000007C9
1103 XKc_Greek_KAPPA*: KeySym = 0x000007CA
1104 XKc_Greek_LAMDA*: KeySym = 0x000007CB
1105 XKc_Greek_LAMBDA*: KeySym = 0x000007CB
1106 XKc_Greek_MU*: KeySym = 0x000007CC
1107 XKc_Greek_NU*: KeySym = 0x000007CD
1108 XKc_Greek_XI*: KeySym = 0x000007CE
1109 XKc_Greek_OMICRON*: KeySym = 0x000007CF
1110 XKc_Greek_PI*: KeySym = 0x000007D0
1111 XKc_Greek_RHO*: KeySym = 0x000007D1
1112 XKc_Greek_SIGMA*: KeySym = 0x000007D2
1113 XKc_Greek_TAU*: KeySym = 0x000007D4
1114 XKc_Greek_UPSILON*: KeySym = 0x000007D5
1115 XKc_Greek_PHI*: KeySym = 0x000007D6
1116 XKc_Greek_CHI*: KeySym = 0x000007D7
1117 XKc_Greek_PSI*: KeySym = 0x000007D8
1118 XKc_Greek_OMEGA*: KeySym = 0x000007D9
1119 XK_Greek_alpha*: KeySym = 0x000007E1
1120 XK_Greek_beta*: KeySym = 0x000007E2
1121 XK_Greek_gamma*: KeySym = 0x000007E3
1122 XK_Greek_delta*: KeySym = 0x000007E4
1123 XK_Greek_epsilon*: KeySym = 0x000007E5
1124 XK_Greek_zeta*: KeySym = 0x000007E6
1125 XK_Greek_eta*: KeySym = 0x000007E7
1126 XK_Greek_theta*: KeySym = 0x000007E8
1127 XK_Greek_iota*: KeySym = 0x000007E9
1128 XK_Greek_kappa*: KeySym = 0x000007EA
1129 XK_Greek_lamda*: KeySym = 0x000007EB
1130 XK_Greek_lambda*: KeySym = 0x000007EB
1131 XK_Greek_mu*: KeySym = 0x000007EC
1132 XK_Greek_nu*: KeySym = 0x000007ED
1133 XK_Greek_xi*: KeySym = 0x000007EE
1134 XK_Greek_omicron*: KeySym = 0x000007EF
1135 XK_Greek_pi*: KeySym = 0x000007F0
1136 XK_Greek_rho*: KeySym = 0x000007F1
1137 XK_Greek_sigma*: KeySym = 0x000007F2
1138 XK_Greek_finalsmallsigma*: KeySym = 0x000007F3
1139 XK_Greek_tau*: KeySym = 0x000007F4
1140 XK_Greek_upsilon*: KeySym = 0x000007F5
1141 XK_Greek_phi*: KeySym = 0x000007F6
1142 XK_Greek_chi*: KeySym = 0x000007F7
1143 XK_Greek_psi*: KeySym = 0x000007F8
1144 XK_Greek_omega*: KeySym = 0x000007F9
1145 XK_Greek_switch*: KeySym = 0x0000FF7E # Alias for mode_switch
1146 # XK_GREEK
1147 #*
1148 # * Technical
1149 # * Byte 3 = 8
1150 # *
1151
1152 when defined(XK_TECHNICAL) or true:
1153 const
1154 XK_leftradical*: KeySym = 0x000008A1
1155 XK_topleftradical*: KeySym = 0x000008A2
1156 XK_horizconnector*: KeySym = 0x000008A3
1157 XK_topintegral*: KeySym = 0x000008A4
1158 XK_botintegral*: KeySym = 0x000008A5
1159 XK_vertconnector*: KeySym = 0x000008A6
1160 XK_topleftsqbracket*: KeySym = 0x000008A7
1161 XK_botleftsqbracket*: KeySym = 0x000008A8
1162 XK_toprightsqbracket*: KeySym = 0x000008A9
1163 XK_botrightsqbracket*: KeySym = 0x000008AA
1164 XK_topleftparens*: KeySym = 0x000008AB
1165 XK_botleftparens*: KeySym = 0x000008AC
1166 XK_toprightparens*: KeySym = 0x000008AD
1167 XK_botrightparens*: KeySym = 0x000008AE
1168 XK_leftmiddlecurlybrace*: KeySym = 0x000008AF
1169 XK_rightmiddlecurlybrace*: KeySym = 0x000008B0
1170 XK_topleftsummation*: KeySym = 0x000008B1
1171 XK_botleftsummation*: KeySym = 0x000008B2
1172 XK_topvertsummationconnector*: KeySym = 0x000008B3
1173 XK_botvertsummationconnector*: KeySym = 0x000008B4
1174 XK_toprightsummation*: KeySym = 0x000008B5
1175 XK_botrightsummation*: KeySym = 0x000008B6
1176 XK_rightmiddlesummation*: KeySym = 0x000008B7
1177 XK_lessthanequal*: KeySym = 0x000008BC
1178 XK_notequal*: KeySym = 0x000008BD
1179 XK_greaterthanequal*: KeySym = 0x000008BE
1180 XK_integral*: KeySym = 0x000008BF
1181 XK_therefore*: KeySym = 0x000008C0
1182 XK_variation*: KeySym = 0x000008C1
1183 XK_infinity*: KeySym = 0x000008C2
1184 XK_nabla*: KeySym = 0x000008C5
1185 XK_approximate*: KeySym = 0x000008C8
1186 XK_similarequal*: KeySym = 0x000008C9
1187 XK_ifonlyif*: KeySym = 0x000008CD
1188 XK_implies*: KeySym = 0x000008CE
1189 XK_identical*: KeySym = 0x000008CF
1190 XK_radical*: KeySym = 0x000008D6
1191 XK_includedin*: KeySym = 0x000008DA
1192 XK_includes*: KeySym = 0x000008DB
1193 XK_intersection*: KeySym = 0x000008DC
1194 XK_union*: KeySym = 0x000008DD
1195 XK_logicaland*: KeySym = 0x000008DE
1196 XK_logicalor*: KeySym = 0x000008DF
1197 XK_partialderivative*: KeySym = 0x000008EF
1198 XK_function*: KeySym = 0x000008F6
1199 XK_leftarrow*: KeySym = 0x000008FB
1200 XK_uparrow*: KeySym = 0x000008FC
1201 XK_rightarrow*: KeySym = 0x000008FD
1202 XK_downarrow*: KeySym = 0x000008FE
1203 # XK_TECHNICAL
1204 #*
1205 # * Special
1206 # * Byte 3 = 9
1207 # *
1208
1209 when defined(XK_SPECIAL):
1210 const
1211 XK_blank*: KeySym = 0x000009DF
1212 XK_soliddiamond*: KeySym = 0x000009E0
1213 XK_checkerboard*: KeySym = 0x000009E1
1214 XK_ht*: KeySym = 0x000009E2
1215 XK_ff*: KeySym = 0x000009E3
1216 XK_cr*: KeySym = 0x000009E4
1217 XK_lf*: KeySym = 0x000009E5
1218 XK_nl*: KeySym = 0x000009E8
1219 XK_vt*: KeySym = 0x000009E9
1220 XK_lowrightcorner*: KeySym = 0x000009EA
1221 XK_uprightcorner*: KeySym = 0x000009EB
1222 XK_upleftcorner*: KeySym = 0x000009EC
1223 XK_lowleftcorner*: KeySym = 0x000009ED
1224 XK_crossinglines*: KeySym = 0x000009EE
1225 XK_horizlinescan1*: KeySym = 0x000009EF
1226 XK_horizlinescan3*: KeySym = 0x000009F0
1227 XK_horizlinescan5*: KeySym = 0x000009F1
1228 XK_horizlinescan7*: KeySym = 0x000009F2
1229 XK_horizlinescan9*: KeySym = 0x000009F3
1230 XK_leftt*: KeySym = 0x000009F4
1231 XK_rightt*: KeySym = 0x000009F5
1232 XK_bott*: KeySym = 0x000009F6
1233 XK_topt*: KeySym = 0x000009F7
1234 XK_vertbar*: KeySym = 0x000009F8
1235 # XK_SPECIAL
1236 #*
1237 # * Publishing
1238 # * Byte 3 = a
1239 # *
1240
1241 when defined(XK_PUBLISHING) or true:
1242 const
1243 XK_emspace*: KeySym = 0x00000AA1
1244 XK_enspace*: KeySym = 0x00000AA2
1245 XK_em3space*: KeySym = 0x00000AA3
1246 XK_em4space*: KeySym = 0x00000AA4
1247 XK_digitspace*: KeySym = 0x00000AA5
1248 XK_punctspace*: KeySym = 0x00000AA6
1249 XK_thinspace*: KeySym = 0x00000AA7
1250 XK_hairspace*: KeySym = 0x00000AA8
1251 XK_emdash*: KeySym = 0x00000AA9
1252 XK_endash*: KeySym = 0x00000AAA
1253 XK_signifblank*: KeySym = 0x00000AAC
1254 XK_ellipsis*: KeySym = 0x00000AAE
1255 XK_doubbaselinedot*: KeySym = 0x00000AAF
1256 XK_onethird*: KeySym = 0x00000AB0
1257 XK_twothirds*: KeySym = 0x00000AB1
1258 XK_onefifth*: KeySym = 0x00000AB2
1259 XK_twofifths*: KeySym = 0x00000AB3
1260 XK_threefifths*: KeySym = 0x00000AB4
1261 XK_fourfifths*: KeySym = 0x00000AB5
1262 XK_onesixth*: KeySym = 0x00000AB6
1263 XK_fivesixths*: KeySym = 0x00000AB7
1264 XK_careof*: KeySym = 0x00000AB8
1265 XK_figdash*: KeySym = 0x00000ABB
1266 XK_leftanglebracket*: KeySym = 0x00000ABC
1267 XK_decimalpoint*: KeySym = 0x00000ABD
1268 XK_rightanglebracket*: KeySym = 0x00000ABE
1269 XK_marker*: KeySym = 0x00000ABF
1270 XK_oneeighth*: KeySym = 0x00000AC3
1271 XK_threeeighths*: KeySym = 0x00000AC4
1272 XK_fiveeighths*: KeySym = 0x00000AC5
1273 XK_seveneighths*: KeySym = 0x00000AC6
1274 XK_trademark*: KeySym = 0x00000AC9
1275 XK_signaturemark*: KeySym = 0x00000ACA
1276 XK_trademarkincircle*: KeySym = 0x00000ACB
1277 XK_leftopentriangle*: KeySym = 0x00000ACC
1278 XK_rightopentriangle*: KeySym = 0x00000ACD
1279 XK_emopencircle*: KeySym = 0x00000ACE
1280 XK_emopenrectangle*: KeySym = 0x00000ACF
1281 XK_leftsinglequotemark*: KeySym = 0x00000AD0
1282 XK_rightsinglequotemark*: KeySym = 0x00000AD1
1283 XK_leftdoublequotemark*: KeySym = 0x00000AD2
1284 XK_rightdoublequotemark*: KeySym = 0x00000AD3
1285 XK_prescription*: KeySym = 0x00000AD4
1286 XK_minutes*: KeySym = 0x00000AD6
1287 XK_seconds*: KeySym = 0x00000AD7
1288 XK_latincross*: KeySym = 0x00000AD9
1289 XK_hexagram*: KeySym = 0x00000ADA
1290 XK_filledrectbullet*: KeySym = 0x00000ADB
1291 XK_filledlefttribullet*: KeySym = 0x00000ADC
1292 XK_filledrighttribullet*: KeySym = 0x00000ADD
1293 XK_emfilledcircle*: KeySym = 0x00000ADE
1294 XK_emfilledrect*: KeySym = 0x00000ADF
1295 XK_enopencircbullet*: KeySym = 0x00000AE0
1296 XK_enopensquarebullet*: KeySym = 0x00000AE1
1297 XK_openrectbullet*: KeySym = 0x00000AE2
1298 XK_opentribulletup*: KeySym = 0x00000AE3
1299 XK_opentribulletdown*: KeySym = 0x00000AE4
1300 XK_openstar*: KeySym = 0x00000AE5
1301 XK_enfilledcircbullet*: KeySym = 0x00000AE6
1302 XK_enfilledsqbullet*: KeySym = 0x00000AE7
1303 XK_filledtribulletup*: KeySym = 0x00000AE8
1304 XK_filledtribulletdown*: KeySym = 0x00000AE9
1305 XK_leftpointer*: KeySym = 0x00000AEA
1306 XK_rightpointer*: KeySym = 0x00000AEB
1307 XK_club*: KeySym = 0x00000AEC
1308 XK_diamond*: KeySym = 0x00000AED
1309 XK_heart*: KeySym = 0x00000AEE
1310 XK_maltesecross*: KeySym = 0x00000AF0
1311 XK_dagger*: KeySym = 0x00000AF1
1312 XK_doubledagger*: KeySym = 0x00000AF2
1313 XK_checkmark*: KeySym = 0x00000AF3
1314 XK_ballotcross*: KeySym = 0x00000AF4
1315 XK_musicalsharp*: KeySym = 0x00000AF5
1316 XK_musicalflat*: KeySym = 0x00000AF6
1317 XK_malesymbol*: KeySym = 0x00000AF7
1318 XK_femalesymbol*: KeySym = 0x00000AF8
1319 XK_telephone*: KeySym = 0x00000AF9
1320 XK_telephonerecorder*: KeySym = 0x00000AFA
1321 XK_phonographcopyright*: KeySym = 0x00000AFB
1322 XK_caret*: KeySym = 0x00000AFC
1323 XK_singlelowquotemark*: KeySym = 0x00000AFD
1324 XK_doublelowquotemark*: KeySym = 0x00000AFE
1325 XK_cursor*: KeySym = 0x00000AFF
1326 # XK_PUBLISHING
1327 #*
1328 # * APL
1329 # * Byte 3 = b
1330 # *
1331
1332 when defined(XK_APL) or true:
1333 const
1334 XK_leftcaret*: KeySym = 0x00000BA3
1335 XK_rightcaret*: KeySym = 0x00000BA6
1336 XK_downcaret*: KeySym = 0x00000BA8
1337 XK_upcaret*: KeySym = 0x00000BA9
1338 XK_overbar*: KeySym = 0x00000BC0
1339 XK_downtack*: KeySym = 0x00000BC2
1340 XK_upshoe*: KeySym = 0x00000BC3
1341 XK_downstile*: KeySym = 0x00000BC4
1342 XK_underbar*: KeySym = 0x00000BC6
1343 XK_jot*: KeySym = 0x00000BCA
1344 XK_quad*: KeySym = 0x00000BCC
1345 XK_uptack*: KeySym = 0x00000BCE
1346 XK_circle*: KeySym = 0x00000BCF
1347 XK_upstile*: KeySym = 0x00000BD3
1348 XK_downshoe*: KeySym = 0x00000BD6
1349 XK_rightshoe*: KeySym = 0x00000BD8
1350 XK_leftshoe*: KeySym = 0x00000BDA
1351 XK_lefttack*: KeySym = 0x00000BDC
1352 XK_righttack*: KeySym = 0x00000BFC
1353 # XK_APL
1354 #*
1355 # * Hebrew
1356 # * Byte 3 = c
1357 # *
1358
1359 when defined(XK_HEBREW) or true:
1360 const
1361 XK_hebrew_doublelowline*: KeySym = 0x00000CDF
1362 XK_hebrew_aleph*: KeySym = 0x00000CE0
1363 XK_hebrew_bet*: KeySym = 0x00000CE1
1364 XK_hebrew_beth*: KeySym = 0x00000CE1 # deprecated
1365 XK_hebrew_gimel*: KeySym = 0x00000CE2
1366 XK_hebrew_gimmel*: KeySym = 0x00000CE2 # deprecated
1367 XK_hebrew_dalet*: KeySym = 0x00000CE3
1368 XK_hebrew_daleth*: KeySym = 0x00000CE3 # deprecated
1369 XK_hebrew_he*: KeySym = 0x00000CE4
1370 XK_hebrew_waw*: KeySym = 0x00000CE5
1371 XK_hebrew_zain*: KeySym = 0x00000CE6
1372 XK_hebrew_zayin*: KeySym = 0x00000CE6 # deprecated
1373 XK_hebrew_chet*: KeySym = 0x00000CE7
1374 XK_hebrew_het*: KeySym = 0x00000CE7 # deprecated
1375 XK_hebrew_tet*: KeySym = 0x00000CE8
1376 XK_hebrew_teth*: KeySym = 0x00000CE8 # deprecated
1377 XK_hebrew_yod*: KeySym = 0x00000CE9
1378 XK_hebrew_finalkaph*: KeySym = 0x00000CEA
1379 XK_hebrew_kaph*: KeySym = 0x00000CEB
1380 XK_hebrew_lamed*: KeySym = 0x00000CEC
1381 XK_hebrew_finalmem*: KeySym = 0x00000CED
1382 XK_hebrew_mem*: KeySym = 0x00000CEE
1383 XK_hebrew_finalnun*: KeySym = 0x00000CEF
1384 XK_hebrew_nun*: KeySym = 0x00000CF0
1385 XK_hebrew_samech*: KeySym = 0x00000CF1
1386 XK_hebrew_samekh*: KeySym = 0x00000CF1 # deprecated
1387 XK_hebrew_ayin*: KeySym = 0x00000CF2
1388 XK_hebrew_finalpe*: KeySym = 0x00000CF3
1389 XK_hebrew_pe*: KeySym = 0x00000CF4
1390 XK_hebrew_finalzade*: KeySym = 0x00000CF5
1391 XK_hebrew_finalzadi*: KeySym = 0x00000CF5 # deprecated
1392 XK_hebrew_zade*: KeySym = 0x00000CF6
1393 XK_hebrew_zadi*: KeySym = 0x00000CF6 # deprecated
1394 XK_hebrew_qoph*: KeySym = 0x00000CF7
1395 XK_hebrew_kuf*: KeySym = 0x00000CF7 # deprecated
1396 XK_hebrew_resh*: KeySym = 0x00000CF8
1397 XK_hebrew_shin*: KeySym = 0x00000CF9
1398 XK_hebrew_taw*: KeySym = 0x00000CFA
1399 XK_hebrew_taf*: KeySym = 0x00000CFA # deprecated
1400 XK_Hebrew_switch*: KeySym = 0x0000FF7E # Alias for mode_switch
1401 # XK_HEBREW
1402 #*
1403 # * Thai
1404 # * Byte 3 = d
1405 # *
1406
1407 when defined(XK_THAI) or true:
1408 const
1409 XK_Thai_kokai*: KeySym = 0x00000DA1
1410 XK_Thai_khokhai*: KeySym = 0x00000DA2
1411 XK_Thai_khokhuat*: KeySym = 0x00000DA3
1412 XK_Thai_khokhwai*: KeySym = 0x00000DA4
1413 XK_Thai_khokhon*: KeySym = 0x00000DA5
1414 XK_Thai_khorakhang*: KeySym = 0x00000DA6
1415 XK_Thai_ngongu*: KeySym = 0x00000DA7
1416 XK_Thai_chochan*: KeySym = 0x00000DA8
1417 XK_Thai_choching*: KeySym = 0x00000DA9
1418 XK_Thai_chochang*: KeySym = 0x00000DAA
1419 XK_Thai_soso*: KeySym = 0x00000DAB
1420 XK_Thai_chochoe*: KeySym = 0x00000DAC
1421 XK_Thai_yoying*: KeySym = 0x00000DAD
1422 XK_Thai_dochada*: KeySym = 0x00000DAE
1423 XK_Thai_topatak*: KeySym = 0x00000DAF
1424 XK_Thai_thothan*: KeySym = 0x00000DB0
1425 XK_Thai_thonangmontho*: KeySym = 0x00000DB1
1426 XK_Thai_thophuthao*: KeySym = 0x00000DB2
1427 XK_Thai_nonen*: KeySym = 0x00000DB3
1428 XK_Thai_dodek*: KeySym = 0x00000DB4
1429 XK_Thai_totao*: KeySym = 0x00000DB5
1430 XK_Thai_thothung*: KeySym = 0x00000DB6
1431 XK_Thai_thothahan*: KeySym = 0x00000DB7
1432 XK_Thai_thothong*: KeySym = 0x00000DB8
1433 XK_Thai_nonu*: KeySym = 0x00000DB9
1434 XK_Thai_bobaimai*: KeySym = 0x00000DBA
1435 XK_Thai_popla*: KeySym = 0x00000DBB
1436 XK_Thai_phophung*: KeySym = 0x00000DBC
1437 XK_Thai_fofa*: KeySym = 0x00000DBD
1438 XK_Thai_phophan*: KeySym = 0x00000DBE
1439 XK_Thai_fofan*: KeySym = 0x00000DBF
1440 XK_Thai_phosamphao*: KeySym = 0x00000DC0
1441 XK_Thai_moma*: KeySym = 0x00000DC1
1442 XK_Thai_yoyak*: KeySym = 0x00000DC2
1443 XK_Thai_rorua*: KeySym = 0x00000DC3
1444 XK_Thai_ru*: KeySym = 0x00000DC4
1445 XK_Thai_loling*: KeySym = 0x00000DC5
1446 XK_Thai_lu*: KeySym = 0x00000DC6
1447 XK_Thai_wowaen*: KeySym = 0x00000DC7
1448 XK_Thai_sosala*: KeySym = 0x00000DC8
1449 XK_Thai_sorusi*: KeySym = 0x00000DC9
1450 XK_Thai_sosua*: KeySym = 0x00000DCA
1451 XK_Thai_hohip*: KeySym = 0x00000DCB
1452 XK_Thai_lochula*: KeySym = 0x00000DCC
1453 XK_Thai_oang*: KeySym = 0x00000DCD
1454 XK_Thai_honokhuk*: KeySym = 0x00000DCE
1455 XK_Thai_paiyannoi*: KeySym = 0x00000DCF
1456 XK_Thai_saraa*: KeySym = 0x00000DD0
1457 XK_Thai_maihanakat*: KeySym = 0x00000DD1
1458 XK_Thai_saraaa*: KeySym = 0x00000DD2
1459 XK_Thai_saraam*: KeySym = 0x00000DD3
1460 XK_Thai_sarai*: KeySym = 0x00000DD4
1461 XK_Thai_saraii*: KeySym = 0x00000DD5
1462 XK_Thai_saraue*: KeySym = 0x00000DD6
1463 XK_Thai_sarauee*: KeySym = 0x00000DD7
1464 XK_Thai_sarau*: KeySym = 0x00000DD8
1465 XK_Thai_sarauu*: KeySym = 0x00000DD9
1466 XK_Thai_phinthu*: KeySym = 0x00000DDA
1467 XK_Thai_maihanakat_maitho*: KeySym = 0x00000DDE
1468 XK_Thai_baht*: KeySym = 0x00000DDF
1469 XK_Thai_sarae*: KeySym = 0x00000DE0
1470 XK_Thai_saraae*: KeySym = 0x00000DE1
1471 XK_Thai_sarao*: KeySym = 0x00000DE2
1472 XK_Thai_saraaimaimuan*: KeySym = 0x00000DE3
1473 XK_Thai_saraaimaimalai*: KeySym = 0x00000DE4
1474 XK_Thai_lakkhangyao*: KeySym = 0x00000DE5
1475 XK_Thai_maiyamok*: KeySym = 0x00000DE6
1476 XK_Thai_maitaikhu*: KeySym = 0x00000DE7
1477 XK_Thai_maiek*: KeySym = 0x00000DE8
1478 XK_Thai_maitho*: KeySym = 0x00000DE9
1479 XK_Thai_maitri*: KeySym = 0x00000DEA
1480 XK_Thai_maichattawa*: KeySym = 0x00000DEB
1481 XK_Thai_thanthakhat*: KeySym = 0x00000DEC
1482 XK_Thai_nikhahit*: KeySym = 0x00000DED
1483 XK_Thai_leksun*: KeySym = 0x00000DF0
1484 XK_Thai_leknung*: KeySym = 0x00000DF1
1485 XK_Thai_leksong*: KeySym = 0x00000DF2
1486 XK_Thai_leksam*: KeySym = 0x00000DF3
1487 XK_Thai_leksi*: KeySym = 0x00000DF4
1488 XK_Thai_lekha*: KeySym = 0x00000DF5
1489 XK_Thai_lekhok*: KeySym = 0x00000DF6
1490 XK_Thai_lekchet*: KeySym = 0x00000DF7
1491 XK_Thai_lekpaet*: KeySym = 0x00000DF8
1492 XK_Thai_lekkao*: KeySym = 0x00000DF9
1493 # XK_THAI
1494 #*
1495 # * Korean
1496 # * Byte 3 = e
1497 # *
1498
1499 when defined(XK_KOREAN) or true:
1500 const
1501 XK_Hangul*: KeySym = 0x0000FF31 # Hangul start/stop(toggle)
1502 XK_Hangul_Start*: KeySym = 0x0000FF32 # Hangul start
1503 XK_Hangul_End*: KeySym = 0x0000FF33 # Hangul end, English start
1504 XK_Hangul_Hanja*: KeySym = 0x0000FF34 # Start Hangul->Hanja Conversion
1505 XK_Hangul_Jamo*: KeySym = 0x0000FF35 # Hangul Jamo mode
1506 XK_Hangul_Romaja*: KeySym = 0x0000FF36 # Hangul Romaja mode
1507 XK_Hangul_Codeinput*: KeySym = 0x0000FF37 # Hangul code input mode
1508 XK_Hangul_Jeonja*: KeySym = 0x0000FF38 # Jeonja mode
1509 XK_Hangul_Banja*: KeySym = 0x0000FF39 # Banja mode
1510 XK_Hangul_PreHanja*: KeySym = 0x0000FF3A # Pre Hanja conversion
1511 XK_Hangul_PostHanja*: KeySym = 0x0000FF3B # Post Hanja conversion
1512 XK_Hangul_SingleCandidate*: KeySym = 0x0000FF3C # Single candidate
1513 XK_Hangul_MultipleCandidate*: KeySym = 0x0000FF3D # Multiple candidate
1514 XK_Hangul_PreviousCandidate*: KeySym = 0x0000FF3E # Previous candidate
1515 XK_Hangul_Special*: KeySym = 0x0000FF3F # Special symbols
1516 XK_Hangul_switch*: KeySym = 0x0000FF7E # Alias for mode_switch \
1517 # Hangul Consonant Characters
1518 XK_Hangul_Kiyeog*: KeySym = 0x00000EA1
1519 XK_Hangul_SsangKiyeog*: KeySym = 0x00000EA2
1520 XK_Hangul_KiyeogSios*: KeySym = 0x00000EA3
1521 XK_Hangul_Nieun*: KeySym = 0x00000EA4
1522 XK_Hangul_NieunJieuj*: KeySym = 0x00000EA5
1523 XK_Hangul_NieunHieuh*: KeySym = 0x00000EA6
1524 XK_Hangul_Dikeud*: KeySym = 0x00000EA7
1525 XK_Hangul_SsangDikeud*: KeySym = 0x00000EA8
1526 XK_Hangul_Rieul*: KeySym = 0x00000EA9
1527 XK_Hangul_RieulKiyeog*: KeySym = 0x00000EAA
1528 XK_Hangul_RieulMieum*: KeySym = 0x00000EAB
1529 XK_Hangul_RieulPieub*: KeySym = 0x00000EAC
1530 XK_Hangul_RieulSios*: KeySym = 0x00000EAD
1531 XK_Hangul_RieulTieut*: KeySym = 0x00000EAE
1532 XK_Hangul_RieulPhieuf*: KeySym = 0x00000EAF
1533 XK_Hangul_RieulHieuh*: KeySym = 0x00000EB0
1534 XK_Hangul_Mieum*: KeySym = 0x00000EB1
1535 XK_Hangul_Pieub*: KeySym = 0x00000EB2
1536 XK_Hangul_SsangPieub*: KeySym = 0x00000EB3
1537 XK_Hangul_PieubSios*: KeySym = 0x00000EB4
1538 XK_Hangul_Sios*: KeySym = 0x00000EB5
1539 XK_Hangul_SsangSios*: KeySym = 0x00000EB6
1540 XK_Hangul_Ieung*: KeySym = 0x00000EB7
1541 XK_Hangul_Jieuj*: KeySym = 0x00000EB8
1542 XK_Hangul_SsangJieuj*: KeySym = 0x00000EB9
1543 XK_Hangul_Cieuc*: KeySym = 0x00000EBA
1544 XK_Hangul_Khieuq*: KeySym = 0x00000EBB
1545 XK_Hangul_Tieut*: KeySym = 0x00000EBC
1546 XK_Hangul_Phieuf*: KeySym = 0x00000EBD
1547 XK_Hangul_Hieuh*: KeySym = 0x00000EBE # Hangul Vowel Characters
1548 XK_Hangul_A*: KeySym = 0x00000EBF
1549 XK_Hangul_AE*: KeySym = 0x00000EC0
1550 XK_Hangul_YA*: KeySym = 0x00000EC1
1551 XK_Hangul_YAE*: KeySym = 0x00000EC2
1552 XK_Hangul_EO*: KeySym = 0x00000EC3
1553 XK_Hangul_E*: KeySym = 0x00000EC4
1554 XK_Hangul_YEO*: KeySym = 0x00000EC5
1555 XK_Hangul_YE*: KeySym = 0x00000EC6
1556 XK_Hangul_O*: KeySym = 0x00000EC7
1557 XK_Hangul_WA*: KeySym = 0x00000EC8
1558 XK_Hangul_WAE*: KeySym = 0x00000EC9
1559 XK_Hangul_OE*: KeySym = 0x00000ECA
1560 XK_Hangul_YO*: KeySym = 0x00000ECB
1561 XK_Hangul_U*: KeySym = 0x00000ECC
1562 XK_Hangul_WEO*: KeySym = 0x00000ECD
1563 XK_Hangul_WE*: KeySym = 0x00000ECE
1564 XK_Hangul_WI*: KeySym = 0x00000ECF
1565 XK_Hangul_YU*: KeySym = 0x00000ED0
1566 XK_Hangul_EU*: KeySym = 0x00000ED1
1567 XK_Hangul_YI*: KeySym = 0x00000ED2
1568 XK_Hangul_I*: KeySym = 0x00000ED3 # Hangul syllable-final (JongSeong) Characters
1569 XK_Hangul_J_Kiyeog*: KeySym = 0x00000ED4
1570 XK_Hangul_J_SsangKiyeog*: KeySym = 0x00000ED5
1571 XK_Hangul_J_KiyeogSios*: KeySym = 0x00000ED6
1572 XK_Hangul_J_Nieun*: KeySym = 0x00000ED7
1573 XK_Hangul_J_NieunJieuj*: KeySym = 0x00000ED8
1574 XK_Hangul_J_NieunHieuh*: KeySym = 0x00000ED9
1575 XK_Hangul_J_Dikeud*: KeySym = 0x00000EDA
1576 XK_Hangul_J_Rieul*: KeySym = 0x00000EDB
1577 XK_Hangul_J_RieulKiyeog*: KeySym = 0x00000EDC
1578 XK_Hangul_J_RieulMieum*: KeySym = 0x00000EDD
1579 XK_Hangul_J_RieulPieub*: KeySym = 0x00000EDE
1580 XK_Hangul_J_RieulSios*: KeySym = 0x00000EDF
1581 XK_Hangul_J_RieulTieut*: KeySym = 0x00000EE0
1582 XK_Hangul_J_RieulPhieuf*: KeySym = 0x00000EE1
1583 XK_Hangul_J_RieulHieuh*: KeySym = 0x00000EE2
1584 XK_Hangul_J_Mieum*: KeySym = 0x00000EE3
1585 XK_Hangul_J_Pieub*: KeySym = 0x00000EE4
1586 XK_Hangul_J_PieubSios*: KeySym = 0x00000EE5
1587 XK_Hangul_J_Sios*: KeySym = 0x00000EE6
1588 XK_Hangul_J_SsangSios*: KeySym = 0x00000EE7
1589 XK_Hangul_J_Ieung*: KeySym = 0x00000EE8
1590 XK_Hangul_J_Jieuj*: KeySym = 0x00000EE9
1591 XK_Hangul_J_Cieuc*: KeySym = 0x00000EEA
1592 XK_Hangul_J_Khieuq*: KeySym = 0x00000EEB
1593 XK_Hangul_J_Tieut*: KeySym = 0x00000EEC
1594 XK_Hangul_J_Phieuf*: KeySym = 0x00000EED
1595 XK_Hangul_J_Hieuh*: KeySym = 0x00000EEE # Ancient Hangul Consonant Characters
1596 XK_Hangul_RieulYeorinHieuh*: KeySym = 0x00000EEF
1597 XK_Hangul_SunkyeongeumMieum*: KeySym = 0x00000EF0
1598 XK_Hangul_SunkyeongeumPieub*: KeySym = 0x00000EF1
1599 XK_Hangul_PanSios*: KeySym = 0x00000EF2
1600 XK_Hangul_KkogjiDalrinIeung*: KeySym = 0x00000EF3
1601 XK_Hangul_SunkyeongeumPhieuf*: KeySym = 0x00000EF4
1602 XK_Hangul_YeorinHieuh*: KeySym = 0x00000EF5 # Ancient Hangul Vowel Characters
1603 XK_Hangul_AraeA*: KeySym = 0x00000EF6
1604 XK_Hangul_AraeAE*: KeySym = 0x00000EF7 # Ancient Hangul syllable-final (JongSeong) Characters
1605 XK_Hangul_J_PanSios*: KeySym = 0x00000EF8
1606 XK_Hangul_J_KkogjiDalrinIeung*: KeySym = 0x00000EF9
1607 XK_Hangul_J_YeorinHieuh*: KeySym = 0x00000EFA # Korean currency symbol
1608 XK_Korean_Won*: KeySym = 0x00000EFF
1609 # XK_KOREAN
1610 #*
1611 # * Armenian
1612 # * Byte 3 = = $14
1613 # *
1614
1615 when defined(XK_ARMENIAN) or true:
1616 const
1617 XK_Armenian_eternity*: KeySym = 0x000014A1
1618 XK_Armenian_ligature_ew*: KeySym = 0x000014A2
1619 XK_Armenian_full_stop*: KeySym = 0x000014A3
1620 XK_Armenian_verjaket*: KeySym = 0x000014A3
1621 XK_Armenian_parenright*: KeySym = 0x000014A4
1622 XK_Armenian_parenleft*: KeySym = 0x000014A5
1623 XK_Armenian_guillemotright*: KeySym = 0x000014A6
1624 XK_Armenian_guillemotleft*: KeySym = 0x000014A7
1625 XK_Armenian_em_dash*: KeySym = 0x000014A8
1626 XK_Armenian_dot*: KeySym = 0x000014A9
1627 XK_Armenian_mijaket*: KeySym = 0x000014A9
1628 XK_Armenian_separation_mark*: KeySym = 0x000014AA
1629 XK_Armenian_but*: KeySym = 0x000014AA
1630 XK_Armenian_comma*: KeySym = 0x000014AB
1631 XK_Armenian_en_dash*: KeySym = 0x000014AC
1632 XK_Armenian_hyphen*: KeySym = 0x000014AD
1633 XK_Armenian_yentamna*: KeySym = 0x000014AD
1634 XK_Armenian_ellipsis*: KeySym = 0x000014AE
1635 XK_Armenian_exclam*: KeySym = 0x000014AF
1636 XK_Armenian_amanak*: KeySym = 0x000014AF
1637 XK_Armenian_accent*: KeySym = 0x000014B0
1638 XK_Armenian_shesht*: KeySym = 0x000014B0
1639 XK_Armenian_question*: KeySym = 0x000014B1
1640 XK_Armenian_paruyk*: KeySym = 0x000014B1
1641 XKc_Armenian_AYB*: KeySym = 0x000014B2
1642 XK_Armenian_ayb*: KeySym = 0x000014B3
1643 XKc_Armenian_BEN*: KeySym = 0x000014B4
1644 XK_Armenian_ben*: KeySym = 0x000014B5
1645 XKc_Armenian_GIM*: KeySym = 0x000014B6
1646 XK_Armenian_gim*: KeySym = 0x000014B7
1647 XKc_Armenian_DA*: KeySym = 0x000014B8
1648 XK_Armenian_da*: KeySym = 0x000014B9
1649 XKc_Armenian_YECH*: KeySym = 0x000014BA
1650 XK_Armenian_yech*: KeySym = 0x000014BB
1651 XKc_Armenian_ZA*: KeySym = 0x000014BC
1652 XK_Armenian_za*: KeySym = 0x000014BD
1653 XKc_Armenian_E*: KeySym = 0x000014BE
1654 XK_Armenian_e*: KeySym = 0x000014BF
1655 XKc_Armenian_AT*: KeySym = 0x000014C0
1656 XK_Armenian_at*: KeySym = 0x000014C1
1657 XKc_Armenian_TO*: KeySym = 0x000014C2
1658 XK_Armenian_to*: KeySym = 0x000014C3
1659 XKc_Armenian_ZHE*: KeySym = 0x000014C4
1660 XK_Armenian_zhe*: KeySym = 0x000014C5
1661 XKc_Armenian_INI*: KeySym = 0x000014C6
1662 XK_Armenian_ini*: KeySym = 0x000014C7
1663 XKc_Armenian_LYUN*: KeySym = 0x000014C8
1664 XK_Armenian_lyun*: KeySym = 0x000014C9
1665 XKc_Armenian_KHE*: KeySym = 0x000014CA
1666 XK_Armenian_khe*: KeySym = 0x000014CB
1667 XKc_Armenian_TSA*: KeySym = 0x000014CC
1668 XK_Armenian_tsa*: KeySym = 0x000014CD
1669 XKc_Armenian_KEN*: KeySym = 0x000014CE
1670 XK_Armenian_ken*: KeySym = 0x000014CF
1671 XKc_Armenian_HO*: KeySym = 0x000014D0
1672 XK_Armenian_ho*: KeySym = 0x000014D1
1673 XKc_Armenian_DZA*: KeySym = 0x000014D2
1674 XK_Armenian_dza*: KeySym = 0x000014D3
1675 XKc_Armenian_GHAT*: KeySym = 0x000014D4
1676 XK_Armenian_ghat*: KeySym = 0x000014D5
1677 XKc_Armenian_TCHE*: KeySym = 0x000014D6
1678 XK_Armenian_tche*: KeySym = 0x000014D7
1679 XKc_Armenian_MEN*: KeySym = 0x000014D8
1680 XK_Armenian_men*: KeySym = 0x000014D9
1681 XKc_Armenian_HI*: KeySym = 0x000014DA
1682 XK_Armenian_hi*: KeySym = 0x000014DB
1683 XKc_Armenian_NU*: KeySym = 0x000014DC
1684 XK_Armenian_nu*: KeySym = 0x000014DD
1685 XKc_Armenian_SHA*: KeySym = 0x000014DE
1686 XK_Armenian_sha*: KeySym = 0x000014DF
1687 XKc_Armenian_VO*: KeySym = 0x000014E0
1688 XK_Armenian_vo*: KeySym = 0x000014E1
1689 XKc_Armenian_CHA*: KeySym = 0x000014E2
1690 XK_Armenian_cha*: KeySym = 0x000014E3
1691 XKc_Armenian_PE*: KeySym = 0x000014E4
1692 XK_Armenian_pe*: KeySym = 0x000014E5
1693 XKc_Armenian_JE*: KeySym = 0x000014E6
1694 XK_Armenian_je*: KeySym = 0x000014E7
1695 XKc_Armenian_RA*: KeySym = 0x000014E8
1696 XK_Armenian_ra*: KeySym = 0x000014E9
1697 XKc_Armenian_SE*: KeySym = 0x000014EA
1698 XK_Armenian_se*: KeySym = 0x000014EB
1699 XKc_Armenian_VEV*: KeySym = 0x000014EC
1700 XK_Armenian_vev*: KeySym = 0x000014ED
1701 XKc_Armenian_TYUN*: KeySym = 0x000014EE
1702 XK_Armenian_tyun*: KeySym = 0x000014EF
1703 XKc_Armenian_RE*: KeySym = 0x000014F0
1704 XK_Armenian_re*: KeySym = 0x000014F1
1705 XKc_Armenian_TSO*: KeySym = 0x000014F2
1706 XK_Armenian_tso*: KeySym = 0x000014F3
1707 XKc_Armenian_VYUN*: KeySym = 0x000014F4
1708 XK_Armenian_vyun*: KeySym = 0x000014F5
1709 XKc_Armenian_PYUR*: KeySym = 0x000014F6
1710 XK_Armenian_pyur*: KeySym = 0x000014F7
1711 XKc_Armenian_KE*: KeySym = 0x000014F8
1712 XK_Armenian_ke*: KeySym = 0x000014F9
1713 XKc_Armenian_O*: KeySym = 0x000014FA
1714 XK_Armenian_o*: KeySym = 0x000014FB
1715 XKc_Armenian_FE*: KeySym = 0x000014FC
1716 XK_Armenian_fe*: KeySym = 0x000014FD
1717 XK_Armenian_apostrophe*: KeySym = 0x000014FE
1718 XK_Armenian_section_sign*: KeySym = 0x000014FF
1719 # XK_ARMENIAN
1720 #*
1721 # * Georgian
1722 # * Byte 3 = = $15
1723 # *
1724
1725 when defined(XK_GEORGIAN) or true:
1726 const
1727 XK_Georgian_an*: KeySym = 0x000015D0
1728 XK_Georgian_ban*: KeySym = 0x000015D1
1729 XK_Georgian_gan*: KeySym = 0x000015D2
1730 XK_Georgian_don*: KeySym = 0x000015D3
1731 XK_Georgian_en*: KeySym = 0x000015D4
1732 XK_Georgian_vin*: KeySym = 0x000015D5
1733 XK_Georgian_zen*: KeySym = 0x000015D6
1734 XK_Georgian_tan*: KeySym = 0x000015D7
1735 XK_Georgian_in*: KeySym = 0x000015D8
1736 XK_Georgian_kan*: KeySym = 0x000015D9
1737 XK_Georgian_las*: KeySym = 0x000015DA
1738 XK_Georgian_man*: KeySym = 0x000015DB
1739 XK_Georgian_nar*: KeySym = 0x000015DC
1740 XK_Georgian_on*: KeySym = 0x000015DD
1741 XK_Georgian_par*: KeySym = 0x000015DE
1742 XK_Georgian_zhar*: KeySym = 0x000015DF
1743 XK_Georgian_rae*: KeySym = 0x000015E0
1744 XK_Georgian_san*: KeySym = 0x000015E1
1745 XK_Georgian_tar*: KeySym = 0x000015E2
1746 XK_Georgian_un*: KeySym = 0x000015E3
1747 XK_Georgian_phar*: KeySym = 0x000015E4
1748 XK_Georgian_khar*: KeySym = 0x000015E5
1749 XK_Georgian_ghan*: KeySym = 0x000015E6
1750 XK_Georgian_qar*: KeySym = 0x000015E7
1751 XK_Georgian_shin*: KeySym = 0x000015E8
1752 XK_Georgian_chin*: KeySym = 0x000015E9
1753 XK_Georgian_can*: KeySym = 0x000015EA
1754 XK_Georgian_jil*: KeySym = 0x000015EB
1755 XK_Georgian_cil*: KeySym = 0x000015EC
1756 XK_Georgian_char*: KeySym = 0x000015ED
1757 XK_Georgian_xan*: KeySym = 0x000015EE
1758 XK_Georgian_jhan*: KeySym = 0x000015EF
1759 XK_Georgian_hae*: KeySym = 0x000015F0
1760 XK_Georgian_he*: KeySym = 0x000015F1
1761 XK_Georgian_hie*: KeySym = 0x000015F2
1762 XK_Georgian_we*: KeySym = 0x000015F3
1763 XK_Georgian_har*: KeySym = 0x000015F4
1764 XK_Georgian_hoe*: KeySym = 0x000015F5
1765 XK_Georgian_fi*: KeySym = 0x000015F6
1766 # XK_GEORGIAN
1767 #*
1768 # * Azeri (and other Turkic or Caucasian languages of ex-USSR)
1769 # * Byte 3 = = $16
1770 # *
1771
1772 when defined(XK_CAUCASUS) or true:
1773 # latin
1774 const
1775 XKc_Ccedillaabovedot*: KeySym = 0x000016A2
1776 XKc_Xabovedot*: KeySym = 0x000016A3
1777 XKc_Qabovedot*: KeySym = 0x000016A5
1778 XKc_Ibreve*: KeySym = 0x000016A6
1779 XKc_IE*: KeySym = 0x000016A7
1780 XKc_UO*: KeySym = 0x000016A8
1781 XKc_Zstroke*: KeySym = 0x000016A9
1782 XKc_Gcaron*: KeySym = 0x000016AA
1783 XKc_Obarred*: KeySym = 0x000016AF
1784 XK_ccedillaabovedot*: KeySym = 0x000016B2
1785 XK_xabovedot*: KeySym = 0x000016B3
1786 XKc_Ocaron*: KeySym = 0x000016B4
1787 XK_qabovedot*: KeySym = 0x000016B5
1788 XK_ibreve*: KeySym = 0x000016B6
1789 XK_ie*: KeySym = 0x000016B7
1790 XK_uo*: KeySym = 0x000016B8
1791 XK_zstroke*: KeySym = 0x000016B9
1792 XK_gcaron*: KeySym = 0x000016BA
1793 XK_ocaron*: KeySym = 0x000016BD
1794 XK_obarred*: KeySym = 0x000016BF
1795 XKc_SCHWA*: KeySym = 0x000016C6
1796 XK_schwa*: KeySym = 0x000016F6 # those are not really Caucasus, but I put them here for now\
1797 # For Inupiak
1798 XKc_Lbelowdot*: KeySym = 0x000016D1
1799 XKc_Lstrokebelowdot*: KeySym = 0x000016D2
1800 XK_lbelowdot*: KeySym = 0x000016E1
1801 XK_lstrokebelowdot*: KeySym = 0x000016E2 # For Guarani
1802 XKc_Gtilde*: KeySym = 0x000016D3
1803 XK_gtilde*: KeySym = 0x000016E3
1804 # XK_CAUCASUS
1805 #*
1806 # * Vietnamese
1807 # * Byte 3 = = $1e
1808 # *
1809
1810 when defined(XK_VIETNAMESE) or true:
1811 const
1812 XKc_Abelowdot*: KeySym = 0x00001EA0
1813 XK_abelowdot*: KeySym = 0x00001EA1
1814 XKc_Ahook*: KeySym = 0x00001EA2
1815 XK_ahook*: KeySym = 0x00001EA3
1816 XKc_Acircumflexacute*: KeySym = 0x00001EA4
1817 XK_acircumflexacute*: KeySym = 0x00001EA5
1818 XKc_Acircumflexgrave*: KeySym = 0x00001EA6
1819 XK_acircumflexgrave*: KeySym = 0x00001EA7
1820 XKc_Acircumflexhook*: KeySym = 0x00001EA8
1821 XK_acircumflexhook*: KeySym = 0x00001EA9
1822 XKc_Acircumflextilde*: KeySym = 0x00001EAA
1823 XK_acircumflextilde*: KeySym = 0x00001EAB
1824 XKc_Acircumflexbelowdot*: KeySym = 0x00001EAC
1825 XK_acircumflexbelowdot*: KeySym = 0x00001EAD
1826 XKc_Abreveacute*: KeySym = 0x00001EAE
1827 XK_abreveacute*: KeySym = 0x00001EAF
1828 XKc_Abrevegrave*: KeySym = 0x00001EB0
1829 XK_abrevegrave*: KeySym = 0x00001EB1
1830 XKc_Abrevehook*: KeySym = 0x00001EB2
1831 XK_abrevehook*: KeySym = 0x00001EB3
1832 XKc_Abrevetilde*: KeySym = 0x00001EB4
1833 XK_abrevetilde*: KeySym = 0x00001EB5
1834 XKc_Abrevebelowdot*: KeySym = 0x00001EB6
1835 XK_abrevebelowdot*: KeySym = 0x00001EB7
1836 XKc_Ebelowdot*: KeySym = 0x00001EB8
1837 XK_ebelowdot*: KeySym = 0x00001EB9
1838 XKc_Ehook*: KeySym = 0x00001EBA
1839 XK_ehook*: KeySym = 0x00001EBB
1840 XKc_Etilde*: KeySym = 0x00001EBC
1841 XK_etilde*: KeySym = 0x00001EBD
1842 XKc_Ecircumflexacute*: KeySym = 0x00001EBE
1843 XK_ecircumflexacute*: KeySym = 0x00001EBF
1844 XKc_Ecircumflexgrave*: KeySym = 0x00001EC0
1845 XK_ecircumflexgrave*: KeySym = 0x00001EC1
1846 XKc_Ecircumflexhook*: KeySym = 0x00001EC2
1847 XK_ecircumflexhook*: KeySym = 0x00001EC3
1848 XKc_Ecircumflextilde*: KeySym = 0x00001EC4
1849 XK_ecircumflextilde*: KeySym = 0x00001EC5
1850 XKc_Ecircumflexbelowdot*: KeySym = 0x00001EC6
1851 XK_ecircumflexbelowdot*: KeySym = 0x00001EC7
1852 XKc_Ihook*: KeySym = 0x00001EC8
1853 XK_ihook*: KeySym = 0x00001EC9
1854 XKc_Ibelowdot*: KeySym = 0x00001ECA
1855 XK_ibelowdot*: KeySym = 0x00001ECB
1856 XKc_Obelowdot*: KeySym = 0x00001ECC
1857 XK_obelowdot*: KeySym = 0x00001ECD
1858 XKc_Ohook*: KeySym = 0x00001ECE
1859 XK_ohook*: KeySym = 0x00001ECF
1860 XKc_Ocircumflexacute*: KeySym = 0x00001ED0
1861 XK_ocircumflexacute*: KeySym = 0x00001ED1
1862 XKc_Ocircumflexgrave*: KeySym = 0x00001ED2
1863 XK_ocircumflexgrave*: KeySym = 0x00001ED3
1864 XKc_Ocircumflexhook*: KeySym = 0x00001ED4
1865 XK_ocircumflexhook*: KeySym = 0x00001ED5
1866 XKc_Ocircumflextilde*: KeySym = 0x00001ED6
1867 XK_ocircumflextilde*: KeySym = 0x00001ED7
1868 XKc_Ocircumflexbelowdot*: KeySym = 0x00001ED8
1869 XK_ocircumflexbelowdot*: KeySym = 0x00001ED9
1870 XKc_Ohornacute*: KeySym = 0x00001EDA
1871 XK_ohornacute*: KeySym = 0x00001EDB
1872 XKc_Ohorngrave*: KeySym = 0x00001EDC
1873 XK_ohorngrave*: KeySym = 0x00001EDD
1874 XKc_Ohornhook*: KeySym = 0x00001EDE
1875 XK_ohornhook*: KeySym = 0x00001EDF
1876 XKc_Ohorntilde*: KeySym = 0x00001EE0
1877 XK_ohorntilde*: KeySym = 0x00001EE1
1878 XKc_Ohornbelowdot*: KeySym = 0x00001EE2
1879 XK_ohornbelowdot*: KeySym = 0x00001EE3
1880 XKc_Ubelowdot*: KeySym = 0x00001EE4
1881 XK_ubelowdot*: KeySym = 0x00001EE5
1882 XKc_Uhook*: KeySym = 0x00001EE6
1883 XK_uhook*: KeySym = 0x00001EE7
1884 XKc_Uhornacute*: KeySym = 0x00001EE8
1885 XK_uhornacute*: KeySym = 0x00001EE9
1886 XKc_Uhorngrave*: KeySym = 0x00001EEA
1887 XK_uhorngrave*: KeySym = 0x00001EEB
1888 XKc_Uhornhook*: KeySym = 0x00001EEC
1889 XK_uhornhook*: KeySym = 0x00001EED
1890 XKc_Uhorntilde*: KeySym = 0x00001EEE
1891 XK_uhorntilde*: KeySym = 0x00001EEF
1892 XKc_Uhornbelowdot*: KeySym = 0x00001EF0
1893 XK_uhornbelowdot*: KeySym = 0x00001EF1
1894 XKc_Ybelowdot*: KeySym = 0x00001EF4
1895 XK_ybelowdot*: KeySym = 0x00001EF5
1896 XKc_Yhook*: KeySym = 0x00001EF6
1897 XK_yhook*: KeySym = 0x00001EF7
1898 XKc_Ytilde*: KeySym = 0x00001EF8
1899 XK_ytilde*: KeySym = 0x00001EF9
1900 XKc_Ohorn*: KeySym = 0x00001EFA # U+01a0
1901 XK_ohorn*: KeySym = 0x00001EFB # U+01a1
1902 XKc_Uhorn*: KeySym = 0x00001EFC # U+01af
1903 XK_uhorn*: KeySym = 0x00001EFD # U+01b0
1904 XK_combining_tilde*: KeySym = 0x00001E9F # U+0303
1905 XK_combining_grave*: KeySym = 0x00001EF2 # U+0300
1906 XK_combining_acute*: KeySym = 0x00001EF3 # U+0301
1907 XK_combining_hook*: KeySym = 0x00001EFE # U+0309
1908 XK_combining_belowdot*: KeySym = 0x00001EFF # U+0323
1909 # XK_VIETNAMESE
1910
1911 when defined(XK_CURRENCY) or true:
1912 const
1913 XK_EcuSign*: KeySym = 0x000020A0
1914 XK_ColonSign*: KeySym = 0x000020A1
1915 XK_CruzeiroSign*: KeySym = 0x000020A2
1916 XK_FFrancSign*: KeySym = 0x000020A3
1917 XK_LiraSign*: KeySym = 0x000020A4
1918 XK_MillSign*: KeySym = 0x000020A5
1919 XK_NairaSign*: KeySym = 0x000020A6
1920 XK_PesetaSign*: KeySym = 0x000020A7
1921 XK_RupeeSign*: KeySym = 0x000020A8
1922 XK_WonSign*: KeySym = 0x000020A9
1923 XK_NewSheqelSign*: KeySym = 0x000020AA
1924 XK_DongSign*: KeySym = 0x000020AB
1925 XK_EuroSign*: KeySym = 0x000020AC
1926 # implementation