keysymdef.h
上传用户:lctgjx
上传日期:2022-06-04
资源大小:8887k
文件大小:164k
源码类别:

流媒体/Mpeg4/MP4

开发平台:

Visual C++

  1. /* $Xorg: keysymdef.h,v 1.4 2001/02/09 02:03:23 $ */
  2. /***********************************************************
  3. Copyright 1987, 1994, 1998  The Open Group
  4. Permission to use, copy, modify, distribute, and sell this software and its
  5. documentation for any purpose is hereby granted without fee, provided that
  6. the above copyright notice appear in all copies and that both that
  7. copyright notice and this permission notice appear in supporting
  8. documentation.
  9. The above copyright notice and this permission notice shall be included
  10. in all copies or substantial portions of the Software.
  11. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
  12. OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
  13. MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
  14. IN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR
  15. OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
  16. ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
  17. OTHER DEALINGS IN THE SOFTWARE.
  18. Except as contained in this notice, the name of The Open Group shall
  19. not be used in advertising or otherwise to promote the sale, use or
  20. other dealings in this Software without prior written authorization
  21. from The Open Group.
  22. Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts
  23.                         All Rights Reserved
  24. Permission to use, copy, modify, and distribute this software and its
  25. documentation for any purpose and without fee is hereby granted,
  26. provided that the above copyright notice appear in all copies and that
  27. both that copyright notice and this permission notice appear in
  28. supporting documentation, and that the name of Digital not be
  29. used in advertising or publicity pertaining to distribution of the
  30. software without specific, written prior permission.
  31. DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
  32. ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
  33. DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
  34. ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
  35. WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
  36. ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
  37. SOFTWARE.
  38. ******************************************************************/
  39. /* $XFree86: $ */
  40. /*
  41.  * The "X11 Window System Protocol" standard defines in Appendix A the
  42.  * keysym codes. These 29-bit integer values identify characters or
  43.  * functions associated with each key (e.g., via the visible
  44.  * engraving) of a keyboard layout. This file assigns mnemonic macro
  45.  * names for these keysyms.
  46.  *
  47.  * This file is also compiled (by src/util/makekeys.c in libX11) into
  48.  * hash tables that can be accessed with X11 library functions such as
  49.  * XStringToKeysym() and XKeysymToString().
  50.  *
  51.  * Where a keysym corresponds one-to-one to an ISO 10646 / Unicode
  52.  * character, this is noted in a comment that provides both the U+xxxx
  53.  * Unicode position, as well as the official Unicode name of the
  54.  * character.
  55.  *
  56.  * Where the correspondence is either not one-to-one or semantically
  57.  * unclear, the Unicode position and name are enclosed in
  58.  * parentheses. Such legacy keysyms should be considered deprecated
  59.  * and are not recommended for use in future keyboard mappings.
  60.  *
  61.  * For any future extension of the keysyms with characters already
  62.  * found in ISO 10646 / Unicode, the following algorithm shall be
  63.  * used. The new keysym code position will simply be the character's
  64.  * Unicode number plus 0x01000000. The keysym values in the range
  65.  * 0x01000100 to 0x0110ffff are reserved to represent Unicode
  66.  * characters in the range U+0100 to U+10FFFF.
  67.  * 
  68.  * While most newer Unicode-based X11 clients do already accept
  69.  * Unicode-mapped keysyms in the range 0x01000100 to 0x0110ffff, it
  70.  * will remain necessary for clients -- in the interest of
  71.  * compatibility with existing servers -- to also understand the
  72.  * existing legacy keysym values in the range 0x0100 to 0x20ff.
  73.  *
  74.  * Where several mnemonic names are defined for the same keysym in this
  75.  * file, all but the first one listed should be considered deprecated.
  76.  *
  77.  * Mnemonic names for keysyms are defined in this file with lines
  78.  * that match one of these Perl regular expressions:
  79.  *
  80.  *    /^#define XK_([a-zA-Z_0-9]+)s+0x([0-9a-f]+)s*/* U+([0-9A-F]{4,6}) (.*) */s*$/
  81.  *    /^#define XK_([a-zA-Z_0-9]+)s+0x([0-9a-f]+)s*/*(U+([0-9A-F]{4,6}) (.*))*/s*$/
  82.  *    /^#define XK_([a-zA-Z_0-9]+)s+0x([0-9a-f]+)s*(/*s*(.*)s**/)?s*$/
  83.  *
  84.  * Before adding new keysyms, please do consider the following: In
  85.  * addition to the keysym names defined in this file, the
  86.  * XStringToKeysym() and XKeysymToString() functions will also handle
  87.  * any keysym string of the form "U0020" to "U007E" and "U00A0" to
  88.  * "U10FFFF" for all possible Unicode characters. In other words,
  89.  * every possible Unicode character has already a keysym string
  90.  * defined algorithmically, even if it is not listed here. Therefore,
  91.  * defining an additional keysym macro is only necessary where a
  92.  * non-hexadecimal mnemonic name is needed, or where the new keysym
  93.  * does not represent any existing Unicode character.
  94.  *
  95.  * When adding new keysyms to this file, do not forget to also update the
  96.  * following:
  97.  *
  98.  *   - the mappings in src/KeyBind.c in the repo
  99.  *     git://anongit.freedesktop.org/xorg/lib/libX11
  100.  *
  101.  *   - the protocol specification in specs/XProtocol/X11.keysyms
  102.  *     in the repo git://anongit.freedesktop.org/xorg/doc/xorg-docs
  103.  *
  104.  */
  105. #define XK_VoidSymbol                  0xffffff  /* Void symbol */
  106. #ifdef XK_MISCELLANY
  107. /*
  108.  * TTY function keys, cleverly chosen to map to ASCII, for convenience of
  109.  * programming, but could have been arbitrary (at the cost of lookup
  110.  * tables in client code).
  111.  */
  112. #define XK_BackSpace                     0xff08  /* Back space, back char */
  113. #define XK_Tab                           0xff09
  114. #define XK_Linefeed                      0xff0a  /* Linefeed, LF */
  115. #define XK_Clear                         0xff0b
  116. #define XK_Return                        0xff0d  /* Return, enter */
  117. #define XK_Pause                         0xff13  /* Pause, hold */
  118. #define XK_Scroll_Lock                   0xff14
  119. #define XK_Sys_Req                       0xff15
  120. #define XK_Escape                        0xff1b
  121. #define XK_Delete                        0xffff  /* Delete, rubout */
  122. /* International & multi-key character composition */
  123. #define XK_Multi_key                     0xff20  /* Multi-key character compose */
  124. #define XK_Codeinput                     0xff37
  125. #define XK_SingleCandidate               0xff3c
  126. #define XK_MultipleCandidate             0xff3d
  127. #define XK_PreviousCandidate             0xff3e
  128. /* Japanese keyboard support */
  129. #define XK_Kanji                         0xff21  /* Kanji, Kanji convert */
  130. #define XK_Muhenkan                      0xff22  /* Cancel Conversion */
  131. #define XK_Henkan_Mode                   0xff23  /* Start/Stop Conversion */
  132. #define XK_Henkan                        0xff23  /* Alias for Henkan_Mode */
  133. #define XK_Romaji                        0xff24  /* to Romaji */
  134. #define XK_Hiragana                      0xff25  /* to Hiragana */
  135. #define XK_Katakana                      0xff26  /* to Katakana */
  136. #define XK_Hiragana_Katakana             0xff27  /* Hiragana/Katakana toggle */
  137. #define XK_Zenkaku                       0xff28  /* to Zenkaku */
  138. #define XK_Hankaku                       0xff29  /* to Hankaku */
  139. #define XK_Zenkaku_Hankaku               0xff2a  /* Zenkaku/Hankaku toggle */
  140. #define XK_Touroku                       0xff2b  /* Add to Dictionary */
  141. #define XK_Massyo                        0xff2c  /* Delete from Dictionary */
  142. #define XK_Kana_Lock                     0xff2d  /* Kana Lock */
  143. #define XK_Kana_Shift                    0xff2e  /* Kana Shift */
  144. #define XK_Eisu_Shift                    0xff2f  /* Alphanumeric Shift */
  145. #define XK_Eisu_toggle                   0xff30  /* Alphanumeric toggle */
  146. #define XK_Kanji_Bangou                  0xff37  /* Codeinput */
  147. #define XK_Zen_Koho                      0xff3d  /* Multiple/All Candidate(s) */
  148. #define XK_Mae_Koho                      0xff3e  /* Previous Candidate */
  149. /* 0xff31 thru 0xff3f are under XK_KOREAN */
  150. /* Cursor control & motion */
  151. #define XK_Home                          0xff50
  152. #define XK_Left                          0xff51  /* Move left, left arrow */
  153. #define XK_Up                            0xff52  /* Move up, up arrow */
  154. #define XK_Right                         0xff53  /* Move right, right arrow */
  155. #define XK_Down                          0xff54  /* Move down, down arrow */
  156. #define XK_Prior                         0xff55  /* Prior, previous */
  157. #define XK_Page_Up                       0xff55
  158. #define XK_Next                          0xff56  /* Next */
  159. #define XK_Page_Down                     0xff56
  160. #define XK_End                           0xff57  /* EOL */
  161. #define XK_Begin                         0xff58  /* BOL */
  162. /* Misc functions */
  163. #define XK_Select                        0xff60  /* Select, mark */
  164. #define XK_Print                         0xff61
  165. #define XK_Execute                       0xff62  /* Execute, run, do */
  166. #define XK_Insert                        0xff63  /* Insert, insert here */
  167. #define XK_Undo                          0xff65
  168. #define XK_Redo                          0xff66  /* Redo, again */
  169. #define XK_Menu                          0xff67
  170. #define XK_Find                          0xff68  /* Find, search */
  171. #define XK_Cancel                        0xff69  /* Cancel, stop, abort, exit */
  172. #define XK_Help                          0xff6a  /* Help */
  173. #define XK_Break                         0xff6b
  174. #define XK_Mode_switch                   0xff7e  /* Character set switch */
  175. #define XK_script_switch                 0xff7e  /* Alias for mode_switch */
  176. #define XK_Num_Lock                      0xff7f
  177. /* Keypad functions, keypad numbers cleverly chosen to map to ASCII */
  178. #define XK_KP_Space                      0xff80  /* Space */
  179. #define XK_KP_Tab                        0xff89
  180. #define XK_KP_Enter                      0xff8d  /* Enter */
  181. #define XK_KP_F1                         0xff91  /* PF1, KP_A, ... */
  182. #define XK_KP_F2                         0xff92
  183. #define XK_KP_F3                         0xff93
  184. #define XK_KP_F4                         0xff94
  185. #define XK_KP_Home                       0xff95
  186. #define XK_KP_Left                       0xff96
  187. #define XK_KP_Up                         0xff97
  188. #define XK_KP_Right                      0xff98
  189. #define XK_KP_Down                       0xff99
  190. #define XK_KP_Prior                      0xff9a
  191. #define XK_KP_Page_Up                    0xff9a
  192. #define XK_KP_Next                       0xff9b
  193. #define XK_KP_Page_Down                  0xff9b
  194. #define XK_KP_End                        0xff9c
  195. #define XK_KP_Begin                      0xff9d
  196. #define XK_KP_Insert                     0xff9e
  197. #define XK_KP_Delete                     0xff9f
  198. #define XK_KP_Equal                      0xffbd  /* Equals */
  199. #define XK_KP_Multiply                   0xffaa
  200. #define XK_KP_Add                        0xffab
  201. #define XK_KP_Separator                  0xffac  /* Separator, often comma */
  202. #define XK_KP_Subtract                   0xffad
  203. #define XK_KP_Decimal                    0xffae
  204. #define XK_KP_Divide                     0xffaf
  205. #define XK_KP_0                          0xffb0
  206. #define XK_KP_1                          0xffb1
  207. #define XK_KP_2                          0xffb2
  208. #define XK_KP_3                          0xffb3
  209. #define XK_KP_4                          0xffb4
  210. #define XK_KP_5                          0xffb5
  211. #define XK_KP_6                          0xffb6
  212. #define XK_KP_7                          0xffb7
  213. #define XK_KP_8                          0xffb8
  214. #define XK_KP_9                          0xffb9
  215. /*
  216.  * Auxiliary functions; note the duplicate definitions for left and right
  217.  * function keys;  Sun keyboards and a few other manufacturers have such
  218.  * function key groups on the left and/or right sides of the keyboard.
  219.  * We've not found a keyboard with more than 35 function keys total.
  220.  */
  221. #define XK_F1                            0xffbe
  222. #define XK_F2                            0xffbf
  223. #define XK_F3                            0xffc0
  224. #define XK_F4                            0xffc1
  225. #define XK_F5                            0xffc2
  226. #define XK_F6                            0xffc3
  227. #define XK_F7                            0xffc4
  228. #define XK_F8                            0xffc5
  229. #define XK_F9                            0xffc6
  230. #define XK_F10                           0xffc7
  231. #define XK_F11                           0xffc8
  232. #define XK_L1                            0xffc8
  233. #define XK_F12                           0xffc9
  234. #define XK_L2                            0xffc9
  235. #define XK_F13                           0xffca
  236. #define XK_L3                            0xffca
  237. #define XK_F14                           0xffcb
  238. #define XK_L4                            0xffcb
  239. #define XK_F15                           0xffcc
  240. #define XK_L5                            0xffcc
  241. #define XK_F16                           0xffcd
  242. #define XK_L6                            0xffcd
  243. #define XK_F17                           0xffce
  244. #define XK_L7                            0xffce
  245. #define XK_F18                           0xffcf
  246. #define XK_L8                            0xffcf
  247. #define XK_F19                           0xffd0
  248. #define XK_L9                            0xffd0
  249. #define XK_F20                           0xffd1
  250. #define XK_L10                           0xffd1
  251. #define XK_F21                           0xffd2
  252. #define XK_R1                            0xffd2
  253. #define XK_F22                           0xffd3
  254. #define XK_R2                            0xffd3
  255. #define XK_F23                           0xffd4
  256. #define XK_R3                            0xffd4
  257. #define XK_F24                           0xffd5
  258. #define XK_R4                            0xffd5
  259. #define XK_F25                           0xffd6
  260. #define XK_R5                            0xffd6
  261. #define XK_F26                           0xffd7
  262. #define XK_R6                            0xffd7
  263. #define XK_F27                           0xffd8
  264. #define XK_R7                            0xffd8
  265. #define XK_F28                           0xffd9
  266. #define XK_R8                            0xffd9
  267. #define XK_F29                           0xffda
  268. #define XK_R9                            0xffda
  269. #define XK_F30                           0xffdb
  270. #define XK_R10                           0xffdb
  271. #define XK_F31                           0xffdc
  272. #define XK_R11                           0xffdc
  273. #define XK_F32                           0xffdd
  274. #define XK_R12                           0xffdd
  275. #define XK_F33                           0xffde
  276. #define XK_R13                           0xffde
  277. #define XK_F34                           0xffdf
  278. #define XK_R14                           0xffdf
  279. #define XK_F35                           0xffe0
  280. #define XK_R15                           0xffe0
  281. /* Modifiers */
  282. #define XK_Shift_L                       0xffe1  /* Left shift */
  283. #define XK_Shift_R                       0xffe2  /* Right shift */
  284. #define XK_Control_L                     0xffe3  /* Left control */
  285. #define XK_Control_R                     0xffe4  /* Right control */
  286. #define XK_Caps_Lock                     0xffe5  /* Caps lock */
  287. #define XK_Shift_Lock                    0xffe6  /* Shift lock */
  288. #define XK_Meta_L                        0xffe7  /* Left meta */
  289. #define XK_Meta_R                        0xffe8  /* Right meta */
  290. #define XK_Alt_L                         0xffe9  /* Left alt */
  291. #define XK_Alt_R                         0xffea  /* Right alt */
  292. #define XK_Super_L                       0xffeb  /* Left super */
  293. #define XK_Super_R                       0xffec  /* Right super */
  294. #define XK_Hyper_L                       0xffed  /* Left hyper */
  295. #define XK_Hyper_R                       0xffee  /* Right hyper */
  296. #endif /* XK_MISCELLANY */
  297. /*
  298.  * Keyboard (XKB) Extension function and modifier keys
  299.  * (from Appendix C of "The X Keyboard Extension: Protocol Specification")
  300.  * Byte 3 = 0xfe
  301.  */
  302. #ifdef XK_XKB_KEYS
  303. #define XK_ISO_Lock                      0xfe01
  304. #define XK_ISO_Level2_Latch              0xfe02
  305. #define XK_ISO_Level3_Shift              0xfe03
  306. #define XK_ISO_Level3_Latch              0xfe04
  307. #define XK_ISO_Level3_Lock               0xfe05
  308. #define XK_ISO_Level5_Shift              0xfe11
  309. #define XK_ISO_Level5_Latch              0xfe12
  310. #define XK_ISO_Level5_Lock               0xfe13
  311. #define XK_ISO_Group_Shift               0xff7e  /* Alias for mode_switch */
  312. #define XK_ISO_Group_Latch               0xfe06
  313. #define XK_ISO_Group_Lock                0xfe07
  314. #define XK_ISO_Next_Group                0xfe08
  315. #define XK_ISO_Next_Group_Lock           0xfe09
  316. #define XK_ISO_Prev_Group                0xfe0a
  317. #define XK_ISO_Prev_Group_Lock           0xfe0b
  318. #define XK_ISO_First_Group               0xfe0c
  319. #define XK_ISO_First_Group_Lock          0xfe0d
  320. #define XK_ISO_Last_Group                0xfe0e
  321. #define XK_ISO_Last_Group_Lock           0xfe0f
  322. #define XK_ISO_Left_Tab                  0xfe20
  323. #define XK_ISO_Move_Line_Up              0xfe21
  324. #define XK_ISO_Move_Line_Down            0xfe22
  325. #define XK_ISO_Partial_Line_Up           0xfe23
  326. #define XK_ISO_Partial_Line_Down         0xfe24
  327. #define XK_ISO_Partial_Space_Left        0xfe25
  328. #define XK_ISO_Partial_Space_Right       0xfe26
  329. #define XK_ISO_Set_Margin_Left           0xfe27
  330. #define XK_ISO_Set_Margin_Right          0xfe28
  331. #define XK_ISO_Release_Margin_Left       0xfe29
  332. #define XK_ISO_Release_Margin_Right      0xfe2a
  333. #define XK_ISO_Release_Both_Margins      0xfe2b
  334. #define XK_ISO_Fast_Cursor_Left          0xfe2c
  335. #define XK_ISO_Fast_Cursor_Right         0xfe2d
  336. #define XK_ISO_Fast_Cursor_Up            0xfe2e
  337. #define XK_ISO_Fast_Cursor_Down          0xfe2f
  338. #define XK_ISO_Continuous_Underline      0xfe30
  339. #define XK_ISO_Discontinuous_Underline   0xfe31
  340. #define XK_ISO_Emphasize                 0xfe32
  341. #define XK_ISO_Center_Object             0xfe33
  342. #define XK_ISO_Enter                     0xfe34
  343. #define XK_dead_grave                    0xfe50
  344. #define XK_dead_acute                    0xfe51
  345. #define XK_dead_circumflex               0xfe52
  346. #define XK_dead_tilde                    0xfe53
  347. #define XK_dead_perispomeni              0xfe53  /* alias for dead_tilde */
  348. #define XK_dead_macron                   0xfe54
  349. #define XK_dead_breve                    0xfe55
  350. #define XK_dead_abovedot                 0xfe56
  351. #define XK_dead_diaeresis                0xfe57
  352. #define XK_dead_abovering                0xfe58
  353. #define XK_dead_doubleacute              0xfe59
  354. #define XK_dead_caron                    0xfe5a
  355. #define XK_dead_cedilla                  0xfe5b
  356. #define XK_dead_ogonek                   0xfe5c
  357. #define XK_dead_iota                     0xfe5d
  358. #define XK_dead_voiced_sound             0xfe5e
  359. #define XK_dead_semivoiced_sound         0xfe5f
  360. #define XK_dead_belowdot                 0xfe60
  361. #define XK_dead_hook                     0xfe61
  362. #define XK_dead_horn                     0xfe62
  363. #define XK_dead_stroke                   0xfe63
  364. #define XK_dead_abovecomma               0xfe64
  365. #define XK_dead_psili                    0xfe64  /* alias for dead_abovecomma */
  366. #define XK_dead_abovereversedcomma       0xfe65
  367. #define XK_dead_dasia                    0xfe65  /* alias for dead_abovereversedcomma */
  368. #define XK_dead_belowring                0xfe67
  369. #define XK_dead_belowmacron              0xfe68
  370. #define XK_dead_belowcircumflex          0xfe69
  371. #define XK_dead_belowtilde               0xfe6a
  372. #define XK_dead_belowbreve               0xfe6b
  373. #define XK_dead_belowdiaeresis           0xfe6c
  374. #define XK_First_Virtual_Screen          0xfed0
  375. #define XK_Prev_Virtual_Screen           0xfed1
  376. #define XK_Next_Virtual_Screen           0xfed2
  377. #define XK_Last_Virtual_Screen           0xfed4
  378. #define XK_Terminate_Server              0xfed5
  379. #define XK_AccessX_Enable                0xfe70
  380. #define XK_AccessX_Feedback_Enable       0xfe71
  381. #define XK_RepeatKeys_Enable             0xfe72
  382. #define XK_SlowKeys_Enable               0xfe73
  383. #define XK_BounceKeys_Enable             0xfe74
  384. #define XK_StickyKeys_Enable             0xfe75
  385. #define XK_MouseKeys_Enable              0xfe76
  386. #define XK_MouseKeys_Accel_Enable        0xfe77
  387. #define XK_Overlay1_Enable               0xfe78
  388. #define XK_Overlay2_Enable               0xfe79
  389. #define XK_AudibleBell_Enable            0xfe7a
  390. #define XK_Pointer_Left                  0xfee0
  391. #define XK_Pointer_Right                 0xfee1
  392. #define XK_Pointer_Up                    0xfee2
  393. #define XK_Pointer_Down                  0xfee3
  394. #define XK_Pointer_UpLeft                0xfee4
  395. #define XK_Pointer_UpRight               0xfee5
  396. #define XK_Pointer_DownLeft              0xfee6
  397. #define XK_Pointer_DownRight             0xfee7
  398. #define XK_Pointer_Button_Dflt           0xfee8
  399. #define XK_Pointer_Button1               0xfee9
  400. #define XK_Pointer_Button2               0xfeea
  401. #define XK_Pointer_Button3               0xfeeb
  402. #define XK_Pointer_Button4               0xfeec
  403. #define XK_Pointer_Button5               0xfeed
  404. #define XK_Pointer_DblClick_Dflt         0xfeee
  405. #define XK_Pointer_DblClick1             0xfeef
  406. #define XK_Pointer_DblClick2             0xfef0
  407. #define XK_Pointer_DblClick3             0xfef1
  408. #define XK_Pointer_DblClick4             0xfef2
  409. #define XK_Pointer_DblClick5             0xfef3
  410. #define XK_Pointer_Drag_Dflt             0xfef4
  411. #define XK_Pointer_Drag1                 0xfef5
  412. #define XK_Pointer_Drag2                 0xfef6
  413. #define XK_Pointer_Drag3                 0xfef7
  414. #define XK_Pointer_Drag4                 0xfef8
  415. #define XK_Pointer_Drag5                 0xfefd
  416. #define XK_Pointer_EnableKeys            0xfef9
  417. #define XK_Pointer_Accelerate            0xfefa
  418. #define XK_Pointer_DfltBtnNext           0xfefb
  419. #define XK_Pointer_DfltBtnPrev           0xfefc
  420. #endif /* XK_XKB_KEYS */
  421. /*
  422.  * 3270 Terminal Keys
  423.  * Byte 3 = 0xfd
  424.  */
  425. #ifdef XK_3270
  426. #define XK_3270_Duplicate                0xfd01
  427. #define XK_3270_FieldMark                0xfd02
  428. #define XK_3270_Right2                   0xfd03
  429. #define XK_3270_Left2                    0xfd04
  430. #define XK_3270_BackTab                  0xfd05
  431. #define XK_3270_EraseEOF                 0xfd06
  432. #define XK_3270_EraseInput               0xfd07
  433. #define XK_3270_Reset                    0xfd08
  434. #define XK_3270_Quit                     0xfd09
  435. #define XK_3270_PA1                      0xfd0a
  436. #define XK_3270_PA2                      0xfd0b
  437. #define XK_3270_PA3                      0xfd0c
  438. #define XK_3270_Test                     0xfd0d
  439. #define XK_3270_Attn                     0xfd0e
  440. #define XK_3270_CursorBlink              0xfd0f
  441. #define XK_3270_AltCursor                0xfd10
  442. #define XK_3270_KeyClick                 0xfd11
  443. #define XK_3270_Jump                     0xfd12
  444. #define XK_3270_Ident                    0xfd13
  445. #define XK_3270_Rule                     0xfd14
  446. #define XK_3270_Copy                     0xfd15
  447. #define XK_3270_Play                     0xfd16
  448. #define XK_3270_Setup                    0xfd17
  449. #define XK_3270_Record                   0xfd18
  450. #define XK_3270_ChangeScreen             0xfd19
  451. #define XK_3270_DeleteWord               0xfd1a
  452. #define XK_3270_ExSelect                 0xfd1b
  453. #define XK_3270_CursorSelect             0xfd1c
  454. #define XK_3270_PrintScreen              0xfd1d
  455. #define XK_3270_Enter                    0xfd1e
  456. #endif /* XK_3270 */
  457. /*
  458.  * Latin 1
  459.  * (ISO/IEC 8859-1 = Unicode U+0020..U+00FF)
  460.  * Byte 3 = 0
  461.  */
  462. #ifdef XK_LATIN1
  463. #define XK_space                         0x0020  /* U+0020 SPACE */
  464. #define XK_exclam                        0x0021  /* U+0021 EXCLAMATION MARK */
  465. #define XK_quotedbl                      0x0022  /* U+0022 QUOTATION MARK */
  466. #define XK_numbersign                    0x0023  /* U+0023 NUMBER SIGN */
  467. #define XK_dollar                        0x0024  /* U+0024 DOLLAR SIGN */
  468. #define XK_percent                       0x0025  /* U+0025 PERCENT SIGN */
  469. #define XK_ampersand                     0x0026  /* U+0026 AMPERSAND */
  470. #define XK_apostrophe                    0x0027  /* U+0027 APOSTROPHE */
  471. #define XK_quoteright                    0x0027  /* deprecated */
  472. #define XK_parenleft                     0x0028  /* U+0028 LEFT PARENTHESIS */
  473. #define XK_parenright                    0x0029  /* U+0029 RIGHT PARENTHESIS */
  474. #define XK_asterisk                      0x002a  /* U+002A ASTERISK */
  475. #define XK_plus                          0x002b  /* U+002B PLUS SIGN */
  476. #define XK_comma                         0x002c  /* U+002C COMMA */
  477. #define XK_minus                         0x002d  /* U+002D HYPHEN-MINUS */
  478. #define XK_period                        0x002e  /* U+002E FULL STOP */
  479. #define XK_slash                         0x002f  /* U+002F SOLIDUS */
  480. #define XK_0                             0x0030  /* U+0030 DIGIT ZERO */
  481. #define XK_1                             0x0031  /* U+0031 DIGIT ONE */
  482. #define XK_2                             0x0032  /* U+0032 DIGIT TWO */
  483. #define XK_3                             0x0033  /* U+0033 DIGIT THREE */
  484. #define XK_4                             0x0034  /* U+0034 DIGIT FOUR */
  485. #define XK_5                             0x0035  /* U+0035 DIGIT FIVE */
  486. #define XK_6                             0x0036  /* U+0036 DIGIT SIX */
  487. #define XK_7                             0x0037  /* U+0037 DIGIT SEVEN */
  488. #define XK_8                             0x0038  /* U+0038 DIGIT EIGHT */
  489. #define XK_9                             0x0039  /* U+0039 DIGIT NINE */
  490. #define XK_colon                         0x003a  /* U+003A COLON */
  491. #define XK_semicolon                     0x003b  /* U+003B SEMICOLON */
  492. #define XK_less                          0x003c  /* U+003C LESS-THAN SIGN */
  493. #define XK_equal                         0x003d  /* U+003D EQUALS SIGN */
  494. #define XK_greater                       0x003e  /* U+003E GREATER-THAN SIGN */
  495. #define XK_question                      0x003f  /* U+003F QUESTION MARK */
  496. #define XK_at                            0x0040  /* U+0040 COMMERCIAL AT */
  497. #define XK_A                             0x0041  /* U+0041 LATIN CAPITAL LETTER A */
  498. #define XK_B                             0x0042  /* U+0042 LATIN CAPITAL LETTER B */
  499. #define XK_C                             0x0043  /* U+0043 LATIN CAPITAL LETTER C */
  500. #define XK_D                             0x0044  /* U+0044 LATIN CAPITAL LETTER D */
  501. #define XK_E                             0x0045  /* U+0045 LATIN CAPITAL LETTER E */
  502. #define XK_F                             0x0046  /* U+0046 LATIN CAPITAL LETTER F */
  503. #define XK_G                             0x0047  /* U+0047 LATIN CAPITAL LETTER G */
  504. #define XK_H                             0x0048  /* U+0048 LATIN CAPITAL LETTER H */
  505. #define XK_I                             0x0049  /* U+0049 LATIN CAPITAL LETTER I */
  506. #define XK_J                             0x004a  /* U+004A LATIN CAPITAL LETTER J */
  507. #define XK_K                             0x004b  /* U+004B LATIN CAPITAL LETTER K */
  508. #define XK_L                             0x004c  /* U+004C LATIN CAPITAL LETTER L */
  509. #define XK_M                             0x004d  /* U+004D LATIN CAPITAL LETTER M */
  510. #define XK_N                             0x004e  /* U+004E LATIN CAPITAL LETTER N */
  511. #define XK_O                             0x004f  /* U+004F LATIN CAPITAL LETTER O */
  512. #define XK_P                             0x0050  /* U+0050 LATIN CAPITAL LETTER P */
  513. #define XK_Q                             0x0051  /* U+0051 LATIN CAPITAL LETTER Q */
  514. #define XK_R                             0x0052  /* U+0052 LATIN CAPITAL LETTER R */
  515. #define XK_S                             0x0053  /* U+0053 LATIN CAPITAL LETTER S */
  516. #define XK_T                             0x0054  /* U+0054 LATIN CAPITAL LETTER T */
  517. #define XK_U                             0x0055  /* U+0055 LATIN CAPITAL LETTER U */
  518. #define XK_V                             0x0056  /* U+0056 LATIN CAPITAL LETTER V */
  519. #define XK_W                             0x0057  /* U+0057 LATIN CAPITAL LETTER W */
  520. #define XK_X                             0x0058  /* U+0058 LATIN CAPITAL LETTER X */
  521. #define XK_Y                             0x0059  /* U+0059 LATIN CAPITAL LETTER Y */
  522. #define XK_Z                             0x005a  /* U+005A LATIN CAPITAL LETTER Z */
  523. #define XK_bracketleft                   0x005b  /* U+005B LEFT SQUARE BRACKET */
  524. #define XK_backslash                     0x005c  /* U+005C REVERSE SOLIDUS */
  525. #define XK_bracketright                  0x005d  /* U+005D RIGHT SQUARE BRACKET */
  526. #define XK_asciicircum                   0x005e  /* U+005E CIRCUMFLEX ACCENT */
  527. #define XK_underscore                    0x005f  /* U+005F LOW LINE */
  528. #define XK_grave                         0x0060  /* U+0060 GRAVE ACCENT */
  529. #define XK_quoteleft                     0x0060  /* deprecated */
  530. #define XK_a                             0x0061  /* U+0061 LATIN SMALL LETTER A */
  531. #define XK_b                             0x0062  /* U+0062 LATIN SMALL LETTER B */
  532. #define XK_c                             0x0063  /* U+0063 LATIN SMALL LETTER C */
  533. #define XK_d                             0x0064  /* U+0064 LATIN SMALL LETTER D */
  534. #define XK_e                             0x0065  /* U+0065 LATIN SMALL LETTER E */
  535. #define XK_f                             0x0066  /* U+0066 LATIN SMALL LETTER F */
  536. #define XK_g                             0x0067  /* U+0067 LATIN SMALL LETTER G */
  537. #define XK_h                             0x0068  /* U+0068 LATIN SMALL LETTER H */
  538. #define XK_i                             0x0069  /* U+0069 LATIN SMALL LETTER I */
  539. #define XK_j                             0x006a  /* U+006A LATIN SMALL LETTER J */
  540. #define XK_k                             0x006b  /* U+006B LATIN SMALL LETTER K */
  541. #define XK_l                             0x006c  /* U+006C LATIN SMALL LETTER L */
  542. #define XK_m                             0x006d  /* U+006D LATIN SMALL LETTER M */
  543. #define XK_n                             0x006e  /* U+006E LATIN SMALL LETTER N */
  544. #define XK_o                             0x006f  /* U+006F LATIN SMALL LETTER O */
  545. #define XK_p                             0x0070  /* U+0070 LATIN SMALL LETTER P */
  546. #define XK_q                             0x0071  /* U+0071 LATIN SMALL LETTER Q */
  547. #define XK_r                             0x0072  /* U+0072 LATIN SMALL LETTER R */
  548. #define XK_s                             0x0073  /* U+0073 LATIN SMALL LETTER S */
  549. #define XK_t                             0x0074  /* U+0074 LATIN SMALL LETTER T */
  550. #define XK_u                             0x0075  /* U+0075 LATIN SMALL LETTER U */
  551. #define XK_v                             0x0076  /* U+0076 LATIN SMALL LETTER V */
  552. #define XK_w                             0x0077  /* U+0077 LATIN SMALL LETTER W */
  553. #define XK_x                             0x0078  /* U+0078 LATIN SMALL LETTER X */
  554. #define XK_y                             0x0079  /* U+0079 LATIN SMALL LETTER Y */
  555. #define XK_z                             0x007a  /* U+007A LATIN SMALL LETTER Z */
  556. #define XK_braceleft                     0x007b  /* U+007B LEFT CURLY BRACKET */
  557. #define XK_bar                           0x007c  /* U+007C VERTICAL LINE */
  558. #define XK_braceright                    0x007d  /* U+007D RIGHT CURLY BRACKET */
  559. #define XK_asciitilde                    0x007e  /* U+007E TILDE */
  560. #define XK_nobreakspace                  0x00a0  /* U+00A0 NO-BREAK SPACE */
  561. #define XK_exclamdown                    0x00a1  /* U+00A1 INVERTED EXCLAMATION MARK */
  562. #define XK_cent                          0x00a2  /* U+00A2 CENT SIGN */
  563. #define XK_sterling                      0x00a3  /* U+00A3 POUND SIGN */
  564. #define XK_currency                      0x00a4  /* U+00A4 CURRENCY SIGN */
  565. #define XK_yen                           0x00a5  /* U+00A5 YEN SIGN */
  566. #define XK_brokenbar                     0x00a6  /* U+00A6 BROKEN BAR */
  567. #define XK_section                       0x00a7  /* U+00A7 SECTION SIGN */
  568. #define XK_diaeresis                     0x00a8  /* U+00A8 DIAERESIS */
  569. #define XK_copyright                     0x00a9  /* U+00A9 COPYRIGHT SIGN */
  570. #define XK_ordfeminine                   0x00aa  /* U+00AA FEMININE ORDINAL INDICATOR */
  571. #define XK_guillemotleft                 0x00ab  /* U+00AB LEFT-POINTING DOUBLE ANGLE QUOTATION MARK */
  572. #define XK_notsign                       0x00ac  /* U+00AC NOT SIGN */
  573. #define XK_hyphen                        0x00ad  /* U+00AD SOFT HYPHEN */
  574. #define XK_registered                    0x00ae  /* U+00AE REGISTERED SIGN */
  575. #define XK_macron                        0x00af  /* U+00AF MACRON */
  576. #define XK_degree                        0x00b0  /* U+00B0 DEGREE SIGN */
  577. #define XK_plusminus                     0x00b1  /* U+00B1 PLUS-MINUS SIGN */
  578. #define XK_twosuperior                   0x00b2  /* U+00B2 SUPERSCRIPT TWO */
  579. #define XK_threesuperior                 0x00b3  /* U+00B3 SUPERSCRIPT THREE */
  580. #define XK_acute                         0x00b4  /* U+00B4 ACUTE ACCENT */
  581. #define XK_mu                            0x00b5  /* U+00B5 MICRO SIGN */
  582. #define XK_paragraph                     0x00b6  /* U+00B6 PILCROW SIGN */
  583. #define XK_periodcentered                0x00b7  /* U+00B7 MIDDLE DOT */
  584. #define XK_cedilla                       0x00b8  /* U+00B8 CEDILLA */
  585. #define XK_onesuperior                   0x00b9  /* U+00B9 SUPERSCRIPT ONE */
  586. #define XK_masculine                     0x00ba  /* U+00BA MASCULINE ORDINAL INDICATOR */
  587. #define XK_guillemotright                0x00bb  /* U+00BB RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK */
  588. #define XK_onequarter                    0x00bc  /* U+00BC VULGAR FRACTION ONE QUARTER */
  589. #define XK_onehalf                       0x00bd  /* U+00BD VULGAR FRACTION ONE HALF */
  590. #define XK_threequarters                 0x00be  /* U+00BE VULGAR FRACTION THREE QUARTERS */
  591. #define XK_questiondown                  0x00bf  /* U+00BF INVERTED QUESTION MARK */
  592. #define XK_Agrave                        0x00c0  /* U+00C0 LATIN CAPITAL LETTER A WITH GRAVE */
  593. #define XK_Aacute                        0x00c1  /* U+00C1 LATIN CAPITAL LETTER A WITH ACUTE */
  594. #define XK_Acircumflex                   0x00c2  /* U+00C2 LATIN CAPITAL LETTER A WITH CIRCUMFLEX */
  595. #define XK_Atilde                        0x00c3  /* U+00C3 LATIN CAPITAL LETTER A WITH TILDE */
  596. #define XK_Adiaeresis                    0x00c4  /* U+00C4 LATIN CAPITAL LETTER A WITH DIAERESIS */
  597. #define XK_Aring                         0x00c5  /* U+00C5 LATIN CAPITAL LETTER A WITH RING ABOVE */
  598. #define XK_AE                            0x00c6  /* U+00C6 LATIN CAPITAL LETTER AE */
  599. #define XK_Ccedilla                      0x00c7  /* U+00C7 LATIN CAPITAL LETTER C WITH CEDILLA */
  600. #define XK_Egrave                        0x00c8  /* U+00C8 LATIN CAPITAL LETTER E WITH GRAVE */
  601. #define XK_Eacute                        0x00c9  /* U+00C9 LATIN CAPITAL LETTER E WITH ACUTE */
  602. #define XK_Ecircumflex                   0x00ca  /* U+00CA LATIN CAPITAL LETTER E WITH CIRCUMFLEX */
  603. #define XK_Ediaeresis                    0x00cb  /* U+00CB LATIN CAPITAL LETTER E WITH DIAERESIS */
  604. #define XK_Igrave                        0x00cc  /* U+00CC LATIN CAPITAL LETTER I WITH GRAVE */
  605. #define XK_Iacute                        0x00cd  /* U+00CD LATIN CAPITAL LETTER I WITH ACUTE */
  606. #define XK_Icircumflex                   0x00ce  /* U+00CE LATIN CAPITAL LETTER I WITH CIRCUMFLEX */
  607. #define XK_Idiaeresis                    0x00cf  /* U+00CF LATIN CAPITAL LETTER I WITH DIAERESIS */
  608. #define XK_ETH                           0x00d0  /* U+00D0 LATIN CAPITAL LETTER ETH */
  609. #define XK_Eth                           0x00d0  /* deprecated */
  610. #define XK_Ntilde                        0x00d1  /* U+00D1 LATIN CAPITAL LETTER N WITH TILDE */
  611. #define XK_Ograve                        0x00d2  /* U+00D2 LATIN CAPITAL LETTER O WITH GRAVE */
  612. #define XK_Oacute                        0x00d3  /* U+00D3 LATIN CAPITAL LETTER O WITH ACUTE */
  613. #define XK_Ocircumflex                   0x00d4  /* U+00D4 LATIN CAPITAL LETTER O WITH CIRCUMFLEX */
  614. #define XK_Otilde                        0x00d5  /* U+00D5 LATIN CAPITAL LETTER O WITH TILDE */
  615. #define XK_Odiaeresis                    0x00d6  /* U+00D6 LATIN CAPITAL LETTER O WITH DIAERESIS */
  616. #define XK_multiply                      0x00d7  /* U+00D7 MULTIPLICATION SIGN */
  617. #define XK_Oslash                        0x00d8  /* U+00D8 LATIN CAPITAL LETTER O WITH STROKE */
  618. #define XK_Ooblique                      0x00d8  /* U+00D8 LATIN CAPITAL LETTER O WITH STROKE */
  619. #define XK_Ugrave                        0x00d9  /* U+00D9 LATIN CAPITAL LETTER U WITH GRAVE */
  620. #define XK_Uacute                        0x00da  /* U+00DA LATIN CAPITAL LETTER U WITH ACUTE */
  621. #define XK_Ucircumflex                   0x00db  /* U+00DB LATIN CAPITAL LETTER U WITH CIRCUMFLEX */
  622. #define XK_Udiaeresis                    0x00dc  /* U+00DC LATIN CAPITAL LETTER U WITH DIAERESIS */
  623. #define XK_Yacute                        0x00dd  /* U+00DD LATIN CAPITAL LETTER Y WITH ACUTE */
  624. #define XK_THORN                         0x00de  /* U+00DE LATIN CAPITAL LETTER THORN */
  625. #define XK_Thorn                         0x00de  /* deprecated */
  626. #define XK_ssharp                        0x00df  /* U+00DF LATIN SMALL LETTER SHARP S */
  627. #define XK_agrave                        0x00e0  /* U+00E0 LATIN SMALL LETTER A WITH GRAVE */
  628. #define XK_aacute                        0x00e1  /* U+00E1 LATIN SMALL LETTER A WITH ACUTE */
  629. #define XK_acircumflex                   0x00e2  /* U+00E2 LATIN SMALL LETTER A WITH CIRCUMFLEX */
  630. #define XK_atilde                        0x00e3  /* U+00E3 LATIN SMALL LETTER A WITH TILDE */
  631. #define XK_adiaeresis                    0x00e4  /* U+00E4 LATIN SMALL LETTER A WITH DIAERESIS */
  632. #define XK_aring                         0x00e5  /* U+00E5 LATIN SMALL LETTER A WITH RING ABOVE */
  633. #define XK_ae                            0x00e6  /* U+00E6 LATIN SMALL LETTER AE */
  634. #define XK_ccedilla                      0x00e7  /* U+00E7 LATIN SMALL LETTER C WITH CEDILLA */
  635. #define XK_egrave                        0x00e8  /* U+00E8 LATIN SMALL LETTER E WITH GRAVE */
  636. #define XK_eacute                        0x00e9  /* U+00E9 LATIN SMALL LETTER E WITH ACUTE */
  637. #define XK_ecircumflex                   0x00ea  /* U+00EA LATIN SMALL LETTER E WITH CIRCUMFLEX */
  638. #define XK_ediaeresis                    0x00eb  /* U+00EB LATIN SMALL LETTER E WITH DIAERESIS */
  639. #define XK_igrave                        0x00ec  /* U+00EC LATIN SMALL LETTER I WITH GRAVE */
  640. #define XK_iacute                        0x00ed  /* U+00ED LATIN SMALL LETTER I WITH ACUTE */
  641. #define XK_icircumflex                   0x00ee  /* U+00EE LATIN SMALL LETTER I WITH CIRCUMFLEX */
  642. #define XK_idiaeresis                    0x00ef  /* U+00EF LATIN SMALL LETTER I WITH DIAERESIS */
  643. #define XK_eth                           0x00f0  /* U+00F0 LATIN SMALL LETTER ETH */
  644. #define XK_ntilde                        0x00f1  /* U+00F1 LATIN SMALL LETTER N WITH TILDE */
  645. #define XK_ograve                        0x00f2  /* U+00F2 LATIN SMALL LETTER O WITH GRAVE */
  646. #define XK_oacute                        0x00f3  /* U+00F3 LATIN SMALL LETTER O WITH ACUTE */
  647. #define XK_ocircumflex                   0x00f4  /* U+00F4 LATIN SMALL LETTER O WITH CIRCUMFLEX */
  648. #define XK_otilde                        0x00f5  /* U+00F5 LATIN SMALL LETTER O WITH TILDE */
  649. #define XK_odiaeresis                    0x00f6  /* U+00F6 LATIN SMALL LETTER O WITH DIAERESIS */
  650. #define XK_division                      0x00f7  /* U+00F7 DIVISION SIGN */
  651. #define XK_oslash                        0x00f8  /* U+00F8 LATIN SMALL LETTER O WITH STROKE */
  652. #define XK_ooblique                      0x00f8  /* U+00F8 LATIN SMALL LETTER O WITH STROKE */
  653. #define XK_ugrave                        0x00f9  /* U+00F9 LATIN SMALL LETTER U WITH GRAVE */
  654. #define XK_uacute                        0x00fa  /* U+00FA LATIN SMALL LETTER U WITH ACUTE */
  655. #define XK_ucircumflex                   0x00fb  /* U+00FB LATIN SMALL LETTER U WITH CIRCUMFLEX */
  656. #define XK_udiaeresis                    0x00fc  /* U+00FC LATIN SMALL LETTER U WITH DIAERESIS */
  657. #define XK_yacute                        0x00fd  /* U+00FD LATIN SMALL LETTER Y WITH ACUTE */
  658. #define XK_thorn                         0x00fe  /* U+00FE LATIN SMALL LETTER THORN */
  659. #define XK_ydiaeresis                    0x00ff  /* U+00FF LATIN SMALL LETTER Y WITH DIAERESIS */
  660. #endif /* XK_LATIN1 */
  661. /*
  662.  * Latin 2
  663.  * Byte 3 = 1
  664.  */
  665. #ifdef XK_LATIN2
  666. #define XK_Aogonek                       0x01a1  /* U+0104 LATIN CAPITAL LETTER A WITH OGONEK */
  667. #define XK_breve                         0x01a2  /* U+02D8 BREVE */
  668. #define XK_Lstroke                       0x01a3  /* U+0141 LATIN CAPITAL LETTER L WITH STROKE */
  669. #define XK_Lcaron                        0x01a5  /* U+013D LATIN CAPITAL LETTER L WITH CARON */
  670. #define XK_Sacute                        0x01a6  /* U+015A LATIN CAPITAL LETTER S WITH ACUTE */
  671. #define XK_Scaron                        0x01a9  /* U+0160 LATIN CAPITAL LETTER S WITH CARON */
  672. #define XK_Scedilla                      0x01aa  /* U+015E LATIN CAPITAL LETTER S WITH CEDILLA */
  673. #define XK_Tcaron                        0x01ab  /* U+0164 LATIN CAPITAL LETTER T WITH CARON */
  674. #define XK_Zacute                        0x01ac  /* U+0179 LATIN CAPITAL LETTER Z WITH ACUTE */
  675. #define XK_Zcaron                        0x01ae  /* U+017D LATIN CAPITAL LETTER Z WITH CARON */
  676. #define XK_Zabovedot                     0x01af  /* U+017B LATIN CAPITAL LETTER Z WITH DOT ABOVE */
  677. #define XK_aogonek                       0x01b1  /* U+0105 LATIN SMALL LETTER A WITH OGONEK */
  678. #define XK_ogonek                        0x01b2  /* U+02DB OGONEK */
  679. #define XK_lstroke                       0x01b3  /* U+0142 LATIN SMALL LETTER L WITH STROKE */
  680. #define XK_lcaron                        0x01b5  /* U+013E LATIN SMALL LETTER L WITH CARON */
  681. #define XK_sacute                        0x01b6  /* U+015B LATIN SMALL LETTER S WITH ACUTE */
  682. #define XK_caron                         0x01b7  /* U+02C7 CARON */
  683. #define XK_scaron                        0x01b9  /* U+0161 LATIN SMALL LETTER S WITH CARON */
  684. #define XK_scedilla                      0x01ba  /* U+015F LATIN SMALL LETTER S WITH CEDILLA */
  685. #define XK_tcaron                        0x01bb  /* U+0165 LATIN SMALL LETTER T WITH CARON */
  686. #define XK_zacute                        0x01bc  /* U+017A LATIN SMALL LETTER Z WITH ACUTE */
  687. #define XK_doubleacute                   0x01bd  /* U+02DD DOUBLE ACUTE ACCENT */
  688. #define XK_zcaron                        0x01be  /* U+017E LATIN SMALL LETTER Z WITH CARON */
  689. #define XK_zabovedot                     0x01bf  /* U+017C LATIN SMALL LETTER Z WITH DOT ABOVE */
  690. #define XK_Racute                        0x01c0  /* U+0154 LATIN CAPITAL LETTER R WITH ACUTE */
  691. #define XK_Abreve                        0x01c3  /* U+0102 LATIN CAPITAL LETTER A WITH BREVE */
  692. #define XK_Lacute                        0x01c5  /* U+0139 LATIN CAPITAL LETTER L WITH ACUTE */
  693. #define XK_Cacute                        0x01c6  /* U+0106 LATIN CAPITAL LETTER C WITH ACUTE */
  694. #define XK_Ccaron                        0x01c8  /* U+010C LATIN CAPITAL LETTER C WITH CARON */
  695. #define XK_Eogonek                       0x01ca  /* U+0118 LATIN CAPITAL LETTER E WITH OGONEK */
  696. #define XK_Ecaron                        0x01cc  /* U+011A LATIN CAPITAL LETTER E WITH CARON */
  697. #define XK_Dcaron                        0x01cf  /* U+010E LATIN CAPITAL LETTER D WITH CARON */
  698. #define XK_Dstroke                       0x01d0  /* U+0110 LATIN CAPITAL LETTER D WITH STROKE */
  699. #define XK_Nacute                        0x01d1  /* U+0143 LATIN CAPITAL LETTER N WITH ACUTE */
  700. #define XK_Ncaron                        0x01d2  /* U+0147 LATIN CAPITAL LETTER N WITH CARON */
  701. #define XK_Odoubleacute                  0x01d5  /* U+0150 LATIN CAPITAL LETTER O WITH DOUBLE ACUTE */
  702. #define XK_Rcaron                        0x01d8  /* U+0158 LATIN CAPITAL LETTER R WITH CARON */
  703. #define XK_Uring                         0x01d9  /* U+016E LATIN CAPITAL LETTER U WITH RING ABOVE */
  704. #define XK_Udoubleacute                  0x01db  /* U+0170 LATIN CAPITAL LETTER U WITH DOUBLE ACUTE */
  705. #define XK_Tcedilla                      0x01de  /* U+0162 LATIN CAPITAL LETTER T WITH CEDILLA */
  706. #define XK_racute                        0x01e0  /* U+0155 LATIN SMALL LETTER R WITH ACUTE */
  707. #define XK_abreve                        0x01e3  /* U+0103 LATIN SMALL LETTER A WITH BREVE */
  708. #define XK_lacute                        0x01e5  /* U+013A LATIN SMALL LETTER L WITH ACUTE */
  709. #define XK_cacute                        0x01e6  /* U+0107 LATIN SMALL LETTER C WITH ACUTE */
  710. #define XK_ccaron                        0x01e8  /* U+010D LATIN SMALL LETTER C WITH CARON */
  711. #define XK_eogonek                       0x01ea  /* U+0119 LATIN SMALL LETTER E WITH OGONEK */
  712. #define XK_ecaron                        0x01ec  /* U+011B LATIN SMALL LETTER E WITH CARON */
  713. #define XK_dcaron                        0x01ef  /* U+010F LATIN SMALL LETTER D WITH CARON */
  714. #define XK_dstroke                       0x01f0  /* U+0111 LATIN SMALL LETTER D WITH STROKE */
  715. #define XK_nacute                        0x01f1  /* U+0144 LATIN SMALL LETTER N WITH ACUTE */
  716. #define XK_ncaron                        0x01f2  /* U+0148 LATIN SMALL LETTER N WITH CARON */
  717. #define XK_odoubleacute                  0x01f5  /* U+0151 LATIN SMALL LETTER O WITH DOUBLE ACUTE */
  718. #define XK_udoubleacute                  0x01fb  /* U+0171 LATIN SMALL LETTER U WITH DOUBLE ACUTE */
  719. #define XK_rcaron                        0x01f8  /* U+0159 LATIN SMALL LETTER R WITH CARON */
  720. #define XK_uring                         0x01f9  /* U+016F LATIN SMALL LETTER U WITH RING ABOVE */
  721. #define XK_tcedilla                      0x01fe  /* U+0163 LATIN SMALL LETTER T WITH CEDILLA */
  722. #define XK_abovedot                      0x01ff  /* U+02D9 DOT ABOVE */
  723. #endif /* XK_LATIN2 */
  724. /*
  725.  * Latin 3
  726.  * Byte 3 = 2
  727.  */
  728. #ifdef XK_LATIN3
  729. #define XK_Hstroke                       0x02a1  /* U+0126 LATIN CAPITAL LETTER H WITH STROKE */
  730. #define XK_Hcircumflex                   0x02a6  /* U+0124 LATIN CAPITAL LETTER H WITH CIRCUMFLEX */
  731. #define XK_Iabovedot                     0x02a9  /* U+0130 LATIN CAPITAL LETTER I WITH DOT ABOVE */
  732. #define XK_Gbreve                        0x02ab  /* U+011E LATIN CAPITAL LETTER G WITH BREVE */
  733. #define XK_Jcircumflex                   0x02ac  /* U+0134 LATIN CAPITAL LETTER J WITH CIRCUMFLEX */
  734. #define XK_hstroke                       0x02b1  /* U+0127 LATIN SMALL LETTER H WITH STROKE */
  735. #define XK_hcircumflex                   0x02b6  /* U+0125 LATIN SMALL LETTER H WITH CIRCUMFLEX */
  736. #define XK_idotless                      0x02b9  /* U+0131 LATIN SMALL LETTER DOTLESS I */
  737. #define XK_gbreve                        0x02bb  /* U+011F LATIN SMALL LETTER G WITH BREVE */
  738. #define XK_jcircumflex                   0x02bc  /* U+0135 LATIN SMALL LETTER J WITH CIRCUMFLEX */
  739. #define XK_Cabovedot                     0x02c5  /* U+010A LATIN CAPITAL LETTER C WITH DOT ABOVE */
  740. #define XK_Ccircumflex                   0x02c6  /* U+0108 LATIN CAPITAL LETTER C WITH CIRCUMFLEX */
  741. #define XK_Gabovedot                     0x02d5  /* U+0120 LATIN CAPITAL LETTER G WITH DOT ABOVE */
  742. #define XK_Gcircumflex                   0x02d8  /* U+011C LATIN CAPITAL LETTER G WITH CIRCUMFLEX */
  743. #define XK_Ubreve                        0x02dd  /* U+016C LATIN CAPITAL LETTER U WITH BREVE */
  744. #define XK_Scircumflex                   0x02de  /* U+015C LATIN CAPITAL LETTER S WITH CIRCUMFLEX */
  745. #define XK_cabovedot                     0x02e5  /* U+010B LATIN SMALL LETTER C WITH DOT ABOVE */
  746. #define XK_ccircumflex                   0x02e6  /* U+0109 LATIN SMALL LETTER C WITH CIRCUMFLEX */
  747. #define XK_gabovedot                     0x02f5  /* U+0121 LATIN SMALL LETTER G WITH DOT ABOVE */
  748. #define XK_gcircumflex                   0x02f8  /* U+011D LATIN SMALL LETTER G WITH CIRCUMFLEX */
  749. #define XK_ubreve                        0x02fd  /* U+016D LATIN SMALL LETTER U WITH BREVE */
  750. #define XK_scircumflex                   0x02fe  /* U+015D LATIN SMALL LETTER S WITH CIRCUMFLEX */
  751. #endif /* XK_LATIN3 */
  752. /*
  753.  * Latin 4
  754.  * Byte 3 = 3
  755.  */
  756. #ifdef XK_LATIN4
  757. #define XK_kra                           0x03a2  /* U+0138 LATIN SMALL LETTER KRA */
  758. #define XK_kappa                         0x03a2  /* deprecated */
  759. #define XK_Rcedilla                      0x03a3  /* U+0156 LATIN CAPITAL LETTER R WITH CEDILLA */
  760. #define XK_Itilde                        0x03a5  /* U+0128 LATIN CAPITAL LETTER I WITH TILDE */
  761. #define XK_Lcedilla                      0x03a6  /* U+013B LATIN CAPITAL LETTER L WITH CEDILLA */
  762. #define XK_Emacron                       0x03aa  /* U+0112 LATIN CAPITAL LETTER E WITH MACRON */
  763. #define XK_Gcedilla                      0x03ab  /* U+0122 LATIN CAPITAL LETTER G WITH CEDILLA */
  764. #define XK_Tslash                        0x03ac  /* U+0166 LATIN CAPITAL LETTER T WITH STROKE */
  765. #define XK_rcedilla                      0x03b3  /* U+0157 LATIN SMALL LETTER R WITH CEDILLA */
  766. #define XK_itilde                        0x03b5  /* U+0129 LATIN SMALL LETTER I WITH TILDE */
  767. #define XK_lcedilla                      0x03b6  /* U+013C LATIN SMALL LETTER L WITH CEDILLA */
  768. #define XK_emacron                       0x03ba  /* U+0113 LATIN SMALL LETTER E WITH MACRON */
  769. #define XK_gcedilla                      0x03bb  /* U+0123 LATIN SMALL LETTER G WITH CEDILLA */
  770. #define XK_tslash                        0x03bc  /* U+0167 LATIN SMALL LETTER T WITH STROKE */
  771. #define XK_ENG                           0x03bd  /* U+014A LATIN CAPITAL LETTER ENG */
  772. #define XK_eng                           0x03bf  /* U+014B LATIN SMALL LETTER ENG */
  773. #define XK_Amacron                       0x03c0  /* U+0100 LATIN CAPITAL LETTER A WITH MACRON */
  774. #define XK_Iogonek                       0x03c7  /* U+012E LATIN CAPITAL LETTER I WITH OGONEK */
  775. #define XK_Eabovedot                     0x03cc  /* U+0116 LATIN CAPITAL LETTER E WITH DOT ABOVE */
  776. #define XK_Imacron                       0x03cf  /* U+012A LATIN CAPITAL LETTER I WITH MACRON */
  777. #define XK_Ncedilla                      0x03d1  /* U+0145 LATIN CAPITAL LETTER N WITH CEDILLA */
  778. #define XK_Omacron                       0x03d2  /* U+014C LATIN CAPITAL LETTER O WITH MACRON */
  779. #define XK_Kcedilla                      0x03d3  /* U+0136 LATIN CAPITAL LETTER K WITH CEDILLA */
  780. #define XK_Uogonek                       0x03d9  /* U+0172 LATIN CAPITAL LETTER U WITH OGONEK */
  781. #define XK_Utilde                        0x03dd  /* U+0168 LATIN CAPITAL LETTER U WITH TILDE */
  782. #define XK_Umacron                       0x03de  /* U+016A LATIN CAPITAL LETTER U WITH MACRON */
  783. #define XK_amacron                       0x03e0  /* U+0101 LATIN SMALL LETTER A WITH MACRON */
  784. #define XK_iogonek                       0x03e7  /* U+012F LATIN SMALL LETTER I WITH OGONEK */
  785. #define XK_eabovedot                     0x03ec  /* U+0117 LATIN SMALL LETTER E WITH DOT ABOVE */
  786. #define XK_imacron                       0x03ef  /* U+012B LATIN SMALL LETTER I WITH MACRON */
  787. #define XK_ncedilla                      0x03f1  /* U+0146 LATIN SMALL LETTER N WITH CEDILLA */
  788. #define XK_omacron                       0x03f2  /* U+014D LATIN SMALL LETTER O WITH MACRON */
  789. #define XK_kcedilla                      0x03f3  /* U+0137 LATIN SMALL LETTER K WITH CEDILLA */
  790. #define XK_uogonek                       0x03f9  /* U+0173 LATIN SMALL LETTER U WITH OGONEK */
  791. #define XK_utilde                        0x03fd  /* U+0169 LATIN SMALL LETTER U WITH TILDE */
  792. #define XK_umacron                       0x03fe  /* U+016B LATIN SMALL LETTER U WITH MACRON */
  793. #endif /* XK_LATIN4 */
  794. /*
  795.  * Latin 8
  796.  */
  797. #ifdef XK_LATIN8
  798. #define XK_Babovedot                  0x1001e02  /* U+1E02 LATIN CAPITAL LETTER B WITH DOT ABOVE */
  799. #define XK_babovedot                  0x1001e03  /* U+1E03 LATIN SMALL LETTER B WITH DOT ABOVE */
  800. #define XK_Dabovedot                  0x1001e0a  /* U+1E0A LATIN CAPITAL LETTER D WITH DOT ABOVE */
  801. #define XK_Wgrave                     0x1001e80  /* U+1E80 LATIN CAPITAL LETTER W WITH GRAVE */
  802. #define XK_Wacute                     0x1001e82  /* U+1E82 LATIN CAPITAL LETTER W WITH ACUTE */
  803. #define XK_dabovedot                  0x1001e0b  /* U+1E0B LATIN SMALL LETTER D WITH DOT ABOVE */
  804. #define XK_Ygrave                     0x1001ef2  /* U+1EF2 LATIN CAPITAL LETTER Y WITH GRAVE */
  805. #define XK_Fabovedot                  0x1001e1e  /* U+1E1E LATIN CAPITAL LETTER F WITH DOT ABOVE */
  806. #define XK_fabovedot                  0x1001e1f  /* U+1E1F LATIN SMALL LETTER F WITH DOT ABOVE */
  807. #define XK_Mabovedot                  0x1001e40  /* U+1E40 LATIN CAPITAL LETTER M WITH DOT ABOVE */
  808. #define XK_mabovedot                  0x1001e41  /* U+1E41 LATIN SMALL LETTER M WITH DOT ABOVE */
  809. #define XK_Pabovedot                  0x1001e56  /* U+1E56 LATIN CAPITAL LETTER P WITH DOT ABOVE */
  810. #define XK_wgrave                     0x1001e81  /* U+1E81 LATIN SMALL LETTER W WITH GRAVE */
  811. #define XK_pabovedot                  0x1001e57  /* U+1E57 LATIN SMALL LETTER P WITH DOT ABOVE */
  812. #define XK_wacute                     0x1001e83  /* U+1E83 LATIN SMALL LETTER W WITH ACUTE */
  813. #define XK_Sabovedot                  0x1001e60  /* U+1E60 LATIN CAPITAL LETTER S WITH DOT ABOVE */
  814. #define XK_ygrave                     0x1001ef3  /* U+1EF3 LATIN SMALL LETTER Y WITH GRAVE */
  815. #define XK_Wdiaeresis                 0x1001e84  /* U+1E84 LATIN CAPITAL LETTER W WITH DIAERESIS */
  816. #define XK_wdiaeresis                 0x1001e85  /* U+1E85 LATIN SMALL LETTER W WITH DIAERESIS */
  817. #define XK_sabovedot                  0x1001e61  /* U+1E61 LATIN SMALL LETTER S WITH DOT ABOVE */
  818. #define XK_Wcircumflex                0x1000174  /* U+0174 LATIN CAPITAL LETTER W WITH CIRCUMFLEX */
  819. #define XK_Tabovedot                  0x1001e6a  /* U+1E6A LATIN CAPITAL LETTER T WITH DOT ABOVE */
  820. #define XK_Ycircumflex                0x1000176  /* U+0176 LATIN CAPITAL LETTER Y WITH CIRCUMFLEX */
  821. #define XK_wcircumflex                0x1000175  /* U+0175 LATIN SMALL LETTER W WITH CIRCUMFLEX */
  822. #define XK_tabovedot                  0x1001e6b  /* U+1E6B LATIN SMALL LETTER T WITH DOT ABOVE */
  823. #define XK_ycircumflex                0x1000177  /* U+0177 LATIN SMALL LETTER Y WITH CIRCUMFLEX */
  824. #endif /* XK_LATIN8 */
  825. /*
  826.  * Latin 9
  827.  * Byte 3 = 0x13
  828.  */
  829. #ifdef XK_LATIN9
  830. #define XK_OE                            0x13bc  /* U+0152 LATIN CAPITAL LIGATURE OE */
  831. #define XK_oe                            0x13bd  /* U+0153 LATIN SMALL LIGATURE OE */
  832. #define XK_Ydiaeresis                    0x13be  /* U+0178 LATIN CAPITAL LETTER Y WITH DIAERESIS */
  833. #endif /* XK_LATIN9 */
  834. /*
  835.  * Katakana
  836.  * Byte 3 = 4
  837.  */
  838. #ifdef XK_KATAKANA
  839. #define XK_overline                      0x047e  /* U+203E OVERLINE */
  840. #define XK_kana_fullstop                 0x04a1  /* U+3002 IDEOGRAPHIC FULL STOP */
  841. #define XK_kana_openingbracket           0x04a2  /* U+300C LEFT CORNER BRACKET */
  842. #define XK_kana_closingbracket           0x04a3  /* U+300D RIGHT CORNER BRACKET */
  843. #define XK_kana_comma                    0x04a4  /* U+3001 IDEOGRAPHIC COMMA */
  844. #define XK_kana_conjunctive              0x04a5  /* U+30FB KATAKANA MIDDLE DOT */
  845. #define XK_kana_middledot                0x04a5  /* deprecated */
  846. #define XK_kana_WO                       0x04a6  /* U+30F2 KATAKANA LETTER WO */
  847. #define XK_kana_a                        0x04a7  /* U+30A1 KATAKANA LETTER SMALL A */
  848. #define XK_kana_i                        0x04a8  /* U+30A3 KATAKANA LETTER SMALL I */
  849. #define XK_kana_u                        0x04a9  /* U+30A5 KATAKANA LETTER SMALL U */
  850. #define XK_kana_e                        0x04aa  /* U+30A7 KATAKANA LETTER SMALL E */
  851. #define XK_kana_o                        0x04ab  /* U+30A9 KATAKANA LETTER SMALL O */
  852. #define XK_kana_ya                       0x04ac  /* U+30E3 KATAKANA LETTER SMALL YA */
  853. #define XK_kana_yu                       0x04ad  /* U+30E5 KATAKANA LETTER SMALL YU */
  854. #define XK_kana_yo                       0x04ae  /* U+30E7 KATAKANA LETTER SMALL YO */
  855. #define XK_kana_tsu                      0x04af  /* U+30C3 KATAKANA LETTER SMALL TU */
  856. #define XK_kana_tu                       0x04af  /* deprecated */
  857. #define XK_prolongedsound                0x04b0  /* U+30FC KATAKANA-HIRAGANA PROLONGED SOUND MARK */
  858. #define XK_kana_A                        0x04b1  /* U+30A2 KATAKANA LETTER A */
  859. #define XK_kana_I                        0x04b2  /* U+30A4 KATAKANA LETTER I */
  860. #define XK_kana_U                        0x04b3  /* U+30A6 KATAKANA LETTER U */
  861. #define XK_kana_E                        0x04b4  /* U+30A8 KATAKANA LETTER E */
  862. #define XK_kana_O                        0x04b5  /* U+30AA KATAKANA LETTER O */
  863. #define XK_kana_KA                       0x04b6  /* U+30AB KATAKANA LETTER KA */
  864. #define XK_kana_KI                       0x04b7  /* U+30AD KATAKANA LETTER KI */
  865. #define XK_kana_KU                       0x04b8  /* U+30AF KATAKANA LETTER KU */
  866. #define XK_kana_KE                       0x04b9  /* U+30B1 KATAKANA LETTER KE */
  867. #define XK_kana_KO                       0x04ba  /* U+30B3 KATAKANA LETTER KO */
  868. #define XK_kana_SA                       0x04bb  /* U+30B5 KATAKANA LETTER SA */
  869. #define XK_kana_SHI                      0x04bc  /* U+30B7 KATAKANA LETTER SI */
  870. #define XK_kana_SU                       0x04bd  /* U+30B9 KATAKANA LETTER SU */
  871. #define XK_kana_SE                       0x04be  /* U+30BB KATAKANA LETTER SE */
  872. #define XK_kana_SO                       0x04bf  /* U+30BD KATAKANA LETTER SO */
  873. #define XK_kana_TA                       0x04c0  /* U+30BF KATAKANA LETTER TA */
  874. #define XK_kana_CHI                      0x04c1  /* U+30C1 KATAKANA LETTER TI */
  875. #define XK_kana_TI                       0x04c1  /* deprecated */
  876. #define XK_kana_TSU                      0x04c2  /* U+30C4 KATAKANA LETTER TU */
  877. #define XK_kana_TU                       0x04c2  /* deprecated */
  878. #define XK_kana_TE                       0x04c3  /* U+30C6 KATAKANA LETTER TE */
  879. #define XK_kana_TO                       0x04c4  /* U+30C8 KATAKANA LETTER TO */
  880. #define XK_kana_NA                       0x04c5  /* U+30CA KATAKANA LETTER NA */
  881. #define XK_kana_NI                       0x04c6  /* U+30CB KATAKANA LETTER NI */
  882. #define XK_kana_NU                       0x04c7  /* U+30CC KATAKANA LETTER NU */
  883. #define XK_kana_NE                       0x04c8  /* U+30CD KATAKANA LETTER NE */
  884. #define XK_kana_NO                       0x04c9  /* U+30CE KATAKANA LETTER NO */
  885. #define XK_kana_HA                       0x04ca  /* U+30CF KATAKANA LETTER HA */
  886. #define XK_kana_HI                       0x04cb  /* U+30D2 KATAKANA LETTER HI */
  887. #define XK_kana_FU                       0x04cc  /* U+30D5 KATAKANA LETTER HU */
  888. #define XK_kana_HU                       0x04cc  /* deprecated */
  889. #define XK_kana_HE                       0x04cd  /* U+30D8 KATAKANA LETTER HE */
  890. #define XK_kana_HO                       0x04ce  /* U+30DB KATAKANA LETTER HO */
  891. #define XK_kana_MA                       0x04cf  /* U+30DE KATAKANA LETTER MA */
  892. #define XK_kana_MI                       0x04d0  /* U+30DF KATAKANA LETTER MI */
  893. #define XK_kana_MU                       0x04d1  /* U+30E0 KATAKANA LETTER MU */
  894. #define XK_kana_ME                       0x04d2  /* U+30E1 KATAKANA LETTER ME */
  895. #define XK_kana_MO                       0x04d3  /* U+30E2 KATAKANA LETTER MO */
  896. #define XK_kana_YA                       0x04d4  /* U+30E4 KATAKANA LETTER YA */
  897. #define XK_kana_YU                       0x04d5  /* U+30E6 KATAKANA LETTER YU */
  898. #define XK_kana_YO                       0x04d6  /* U+30E8 KATAKANA LETTER YO */
  899. #define XK_kana_RA                       0x04d7  /* U+30E9 KATAKANA LETTER RA */
  900. #define XK_kana_RI                       0x04d8  /* U+30EA KATAKANA LETTER RI */
  901. #define XK_kana_RU                       0x04d9  /* U+30EB KATAKANA LETTER RU */
  902. #define XK_kana_RE                       0x04da  /* U+30EC KATAKANA LETTER RE */
  903. #define XK_kana_RO                       0x04db  /* U+30ED KATAKANA LETTER RO */
  904. #define XK_kana_WA                       0x04dc  /* U+30EF KATAKANA LETTER WA */
  905. #define XK_kana_N                        0x04dd  /* U+30F3 KATAKANA LETTER N */
  906. #define XK_voicedsound                   0x04de  /* U+309B KATAKANA-HIRAGANA VOICED SOUND MARK */
  907. #define XK_semivoicedsound               0x04df  /* U+309C KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK */
  908. #define XK_kana_switch                   0xff7e  /* Alias for mode_switch */
  909. #endif /* XK_KATAKANA */
  910. /*
  911.  * Arabic
  912.  * Byte 3 = 5
  913.  */
  914. #ifdef XK_ARABIC
  915. #define XK_Farsi_0                    0x10006f0  /* U+06F0 EXTENDED ARABIC-INDIC DIGIT ZERO */
  916. #define XK_Farsi_1                    0x10006f1  /* U+06F1 EXTENDED ARABIC-INDIC DIGIT ONE */
  917. #define XK_Farsi_2                    0x10006f2  /* U+06F2 EXTENDED ARABIC-INDIC DIGIT TWO */
  918. #define XK_Farsi_3                    0x10006f3  /* U+06F3 EXTENDED ARABIC-INDIC DIGIT THREE */
  919. #define XK_Farsi_4                    0x10006f4  /* U+06F4 EXTENDED ARABIC-INDIC DIGIT FOUR */
  920. #define XK_Farsi_5                    0x10006f5  /* U+06F5 EXTENDED ARABIC-INDIC DIGIT FIVE */
  921. #define XK_Farsi_6                    0x10006f6  /* U+06F6 EXTENDED ARABIC-INDIC DIGIT SIX */
  922. #define XK_Farsi_7                    0x10006f7  /* U+06F7 EXTENDED ARABIC-INDIC DIGIT SEVEN */
  923. #define XK_Farsi_8                    0x10006f8  /* U+06F8 EXTENDED ARABIC-INDIC DIGIT EIGHT */
  924. #define XK_Farsi_9                    0x10006f9  /* U+06F9 EXTENDED ARABIC-INDIC DIGIT NINE */
  925. #define XK_Arabic_percent             0x100066a  /* U+066A ARABIC PERCENT SIGN */
  926. #define XK_Arabic_superscript_alef    0x1000670  /* U+0670 ARABIC LETTER SUPERSCRIPT ALEF */
  927. #define XK_Arabic_tteh                0x1000679  /* U+0679 ARABIC LETTER TTEH */
  928. #define XK_Arabic_peh                 0x100067e  /* U+067E ARABIC LETTER PEH */
  929. #define XK_Arabic_tcheh               0x1000686  /* U+0686 ARABIC LETTER TCHEH */
  930. #define XK_Arabic_ddal                0x1000688  /* U+0688 ARABIC LETTER DDAL */
  931. #define XK_Arabic_rreh                0x1000691  /* U+0691 ARABIC LETTER RREH */
  932. #define XK_Arabic_comma                  0x05ac  /* U+060C ARABIC COMMA */
  933. #define XK_Arabic_fullstop            0x10006d4  /* U+06D4 ARABIC FULL STOP */
  934. #define XK_Arabic_0                   0x1000660  /* U+0660 ARABIC-INDIC DIGIT ZERO */
  935. #define XK_Arabic_1                   0x1000661  /* U+0661 ARABIC-INDIC DIGIT ONE */
  936. #define XK_Arabic_2                   0x1000662  /* U+0662 ARABIC-INDIC DIGIT TWO */
  937. #define XK_Arabic_3                   0x1000663  /* U+0663 ARABIC-INDIC DIGIT THREE */
  938. #define XK_Arabic_4                   0x1000664  /* U+0664 ARABIC-INDIC DIGIT FOUR */
  939. #define XK_Arabic_5                   0x1000665  /* U+0665 ARABIC-INDIC DIGIT FIVE */
  940. #define XK_Arabic_6                   0x1000666  /* U+0666 ARABIC-INDIC DIGIT SIX */
  941. #define XK_Arabic_7                   0x1000667  /* U+0667 ARABIC-INDIC DIGIT SEVEN */
  942. #define XK_Arabic_8                   0x1000668  /* U+0668 ARABIC-INDIC DIGIT EIGHT */
  943. #define XK_Arabic_9                   0x1000669  /* U+0669 ARABIC-INDIC DIGIT NINE */
  944. #define XK_Arabic_semicolon              0x05bb  /* U+061B ARABIC SEMICOLON */
  945. #define XK_Arabic_question_mark          0x05bf  /* U+061F ARABIC QUESTION MARK */
  946. #define XK_Arabic_hamza                  0x05c1  /* U+0621 ARABIC LETTER HAMZA */
  947. #define XK_Arabic_maddaonalef            0x05c2  /* U+0622 ARABIC LETTER ALEF WITH MADDA ABOVE */
  948. #define XK_Arabic_hamzaonalef            0x05c3  /* U+0623 ARABIC LETTER ALEF WITH HAMZA ABOVE */
  949. #define XK_Arabic_hamzaonwaw             0x05c4  /* U+0624 ARABIC LETTER WAW WITH HAMZA ABOVE */
  950. #define XK_Arabic_hamzaunderalef         0x05c5  /* U+0625 ARABIC LETTER ALEF WITH HAMZA BELOW */
  951. #define XK_Arabic_hamzaonyeh             0x05c6  /* U+0626 ARABIC LETTER YEH WITH HAMZA ABOVE */
  952. #define XK_Arabic_alef                   0x05c7  /* U+0627 ARABIC LETTER ALEF */
  953. #define XK_Arabic_beh                    0x05c8  /* U+0628 ARABIC LETTER BEH */
  954. #define XK_Arabic_tehmarbuta             0x05c9  /* U+0629 ARABIC LETTER TEH MARBUTA */
  955. #define XK_Arabic_teh                    0x05ca  /* U+062A ARABIC LETTER TEH */
  956. #define XK_Arabic_theh                   0x05cb  /* U+062B ARABIC LETTER THEH */
  957. #define XK_Arabic_jeem                   0x05cc  /* U+062C ARABIC LETTER JEEM */
  958. #define XK_Arabic_hah                    0x05cd  /* U+062D ARABIC LETTER HAH */
  959. #define XK_Arabic_khah                   0x05ce  /* U+062E ARABIC LETTER KHAH */
  960. #define XK_Arabic_dal                    0x05cf  /* U+062F ARABIC LETTER DAL */
  961. #define XK_Arabic_thal                   0x05d0  /* U+0630 ARABIC LETTER THAL */
  962. #define XK_Arabic_ra                     0x05d1  /* U+0631 ARABIC LETTER REH */
  963. #define XK_Arabic_zain                   0x05d2  /* U+0632 ARABIC LETTER ZAIN */
  964. #define XK_Arabic_seen                   0x05d3  /* U+0633 ARABIC LETTER SEEN */
  965. #define XK_Arabic_sheen                  0x05d4  /* U+0634 ARABIC LETTER SHEEN */
  966. #define XK_Arabic_sad                    0x05d5  /* U+0635 ARABIC LETTER SAD */
  967. #define XK_Arabic_dad                    0x05d6  /* U+0636 ARABIC LETTER DAD */
  968. #define XK_Arabic_tah                    0x05d7  /* U+0637 ARABIC LETTER TAH */
  969. #define XK_Arabic_zah                    0x05d8  /* U+0638 ARABIC LETTER ZAH */
  970. #define XK_Arabic_ain                    0x05d9  /* U+0639 ARABIC LETTER AIN */
  971. #define XK_Arabic_ghain                  0x05da  /* U+063A ARABIC LETTER GHAIN */
  972. #define XK_Arabic_tatweel                0x05e0  /* U+0640 ARABIC TATWEEL */
  973. #define XK_Arabic_feh                    0x05e1  /* U+0641 ARABIC LETTER FEH */
  974. #define XK_Arabic_qaf                    0x05e2  /* U+0642 ARABIC LETTER QAF */
  975. #define XK_Arabic_kaf                    0x05e3  /* U+0643 ARABIC LETTER KAF */
  976. #define XK_Arabic_lam                    0x05e4  /* U+0644 ARABIC LETTER LAM */
  977. #define XK_Arabic_meem                   0x05e5  /* U+0645 ARABIC LETTER MEEM */
  978. #define XK_Arabic_noon                   0x05e6  /* U+0646 ARABIC LETTER NOON */
  979. #define XK_Arabic_ha                     0x05e7  /* U+0647 ARABIC LETTER HEH */
  980. #define XK_Arabic_heh                    0x05e7  /* deprecated */
  981. #define XK_Arabic_waw                    0x05e8  /* U+0648 ARABIC LETTER WAW */
  982. #define XK_Arabic_alefmaksura            0x05e9  /* U+0649 ARABIC LETTER ALEF MAKSURA */
  983. #define XK_Arabic_yeh                    0x05ea  /* U+064A ARABIC LETTER YEH */
  984. #define XK_Arabic_fathatan               0x05eb  /* U+064B ARABIC FATHATAN */
  985. #define XK_Arabic_dammatan               0x05ec  /* U+064C ARABIC DAMMATAN */
  986. #define XK_Arabic_kasratan               0x05ed  /* U+064D ARABIC KASRATAN */
  987. #define XK_Arabic_fatha                  0x05ee  /* U+064E ARABIC FATHA */
  988. #define XK_Arabic_damma                  0x05ef  /* U+064F ARABIC DAMMA */
  989. #define XK_Arabic_kasra                  0x05f0  /* U+0650 ARABIC KASRA */
  990. #define XK_Arabic_shadda                 0x05f1  /* U+0651 ARABIC SHADDA */
  991. #define XK_Arabic_sukun                  0x05f2  /* U+0652 ARABIC SUKUN */
  992. #define XK_Arabic_madda_above         0x1000653  /* U+0653 ARABIC MADDAH ABOVE */
  993. #define XK_Arabic_hamza_above         0x1000654  /* U+0654 ARABIC HAMZA ABOVE */
  994. #define XK_Arabic_hamza_below         0x1000655  /* U+0655 ARABIC HAMZA BELOW */
  995. #define XK_Arabic_jeh                 0x1000698  /* U+0698 ARABIC LETTER JEH */
  996. #define XK_Arabic_veh                 0x10006a4  /* U+06A4 ARABIC LETTER VEH */
  997. #define XK_Arabic_keheh               0x10006a9  /* U+06A9 ARABIC LETTER KEHEH */
  998. #define XK_Arabic_gaf                 0x10006af  /* U+06AF ARABIC LETTER GAF */
  999. #define XK_Arabic_noon_ghunna         0x10006ba  /* U+06BA ARABIC LETTER NOON GHUNNA */
  1000. #define XK_Arabic_heh_doachashmee     0x10006be  /* U+06BE ARABIC LETTER HEH DOACHASHMEE */
  1001. #define XK_Farsi_yeh                  0x10006cc  /* U+06CC ARABIC LETTER FARSI YEH */
  1002. #define XK_Arabic_farsi_yeh           0x10006cc  /* U+06CC ARABIC LETTER FARSI YEH */
  1003. #define XK_Arabic_yeh_baree           0x10006d2  /* U+06D2 ARABIC LETTER YEH BARREE */
  1004. #define XK_Arabic_heh_goal            0x10006c1  /* U+06C1 ARABIC LETTER HEH GOAL */
  1005. #define XK_Arabic_switch                 0xff7e  /* Alias for mode_switch */
  1006. #endif /* XK_ARABIC */
  1007. /*
  1008.  * Cyrillic
  1009.  * Byte 3 = 6
  1010.  */
  1011. #ifdef XK_CYRILLIC
  1012. #define XK_Cyrillic_GHE_bar           0x1000492  /* U+0492 CYRILLIC CAPITAL LETTER GHE WITH STROKE */
  1013. #define XK_Cyrillic_ghe_bar           0x1000493  /* U+0493 CYRILLIC SMALL LETTER GHE WITH STROKE */
  1014. #define XK_Cyrillic_ZHE_descender     0x1000496  /* U+0496 CYRILLIC CAPITAL LETTER ZHE WITH DESCENDER */
  1015. #define XK_Cyrillic_zhe_descender     0x1000497  /* U+0497 CYRILLIC SMALL LETTER ZHE WITH DESCENDER */
  1016. #define XK_Cyrillic_KA_descender      0x100049a  /* U+049A CYRILLIC CAPITAL LETTER KA WITH DESCENDER */
  1017. #define XK_Cyrillic_ka_descender      0x100049b  /* U+049B CYRILLIC SMALL LETTER KA WITH DESCENDER */
  1018. #define XK_Cyrillic_KA_vertstroke     0x100049c  /* U+049C CYRILLIC CAPITAL LETTER KA WITH VERTICAL STROKE */
  1019. #define XK_Cyrillic_ka_vertstroke     0x100049d  /* U+049D CYRILLIC SMALL LETTER KA WITH VERTICAL STROKE */
  1020. #define XK_Cyrillic_EN_descender      0x10004a2  /* U+04A2 CYRILLIC CAPITAL LETTER EN WITH DESCENDER */
  1021. #define XK_Cyrillic_en_descender      0x10004a3  /* U+04A3 CYRILLIC SMALL LETTER EN WITH DESCENDER */
  1022. #define XK_Cyrillic_U_straight        0x10004ae  /* U+04AE CYRILLIC CAPITAL LETTER STRAIGHT U */
  1023. #define XK_Cyrillic_u_straight        0x10004af  /* U+04AF CYRILLIC SMALL LETTER STRAIGHT U */
  1024. #define XK_Cyrillic_U_straight_bar    0x10004b0  /* U+04B0 CYRILLIC CAPITAL LETTER STRAIGHT U WITH STROKE */
  1025. #define XK_Cyrillic_u_straight_bar    0x10004b1  /* U+04B1 CYRILLIC SMALL LETTER STRAIGHT U WITH STROKE */
  1026. #define XK_Cyrillic_HA_descender      0x10004b2  /* U+04B2 CYRILLIC CAPITAL LETTER HA WITH DESCENDER */
  1027. #define XK_Cyrillic_ha_descender      0x10004b3  /* U+04B3 CYRILLIC SMALL LETTER HA WITH DESCENDER */
  1028. #define XK_Cyrillic_CHE_descender     0x10004b6  /* U+04B6 CYRILLIC CAPITAL LETTER CHE WITH DESCENDER */
  1029. #define XK_Cyrillic_che_descender     0x10004b7  /* U+04B7 CYRILLIC SMALL LETTER CHE WITH DESCENDER */
  1030. #define XK_Cyrillic_CHE_vertstroke    0x10004b8  /* U+04B8 CYRILLIC CAPITAL LETTER CHE WITH VERTICAL STROKE */
  1031. #define XK_Cyrillic_che_vertstroke    0x10004b9  /* U+04B9 CYRILLIC SMALL LETTER CHE WITH VERTICAL STROKE */
  1032. #define XK_Cyrillic_SHHA              0x10004ba  /* U+04BA CYRILLIC CAPITAL LETTER SHHA */
  1033. #define XK_Cyrillic_shha              0x10004bb  /* U+04BB CYRILLIC SMALL LETTER SHHA */
  1034. #define XK_Cyrillic_SCHWA             0x10004d8  /* U+04D8 CYRILLIC CAPITAL LETTER SCHWA */
  1035. #define XK_Cyrillic_schwa             0x10004d9  /* U+04D9 CYRILLIC SMALL LETTER SCHWA */
  1036. #define XK_Cyrillic_I_macron          0x10004e2  /* U+04E2 CYRILLIC CAPITAL LETTER I WITH MACRON */
  1037. #define XK_Cyrillic_i_macron          0x10004e3  /* U+04E3 CYRILLIC SMALL LETTER I WITH MACRON */
  1038. #define XK_Cyrillic_O_bar             0x10004e8  /* U+04E8 CYRILLIC CAPITAL LETTER BARRED O */
  1039. #define XK_Cyrillic_o_bar             0x10004e9  /* U+04E9 CYRILLIC SMALL LETTER BARRED O */
  1040. #define XK_Cyrillic_U_macron          0x10004ee  /* U+04EE CYRILLIC CAPITAL LETTER U WITH MACRON */
  1041. #define XK_Cyrillic_u_macron          0x10004ef  /* U+04EF CYRILLIC SMALL LETTER U WITH MACRON */
  1042. #define XK_Serbian_dje                   0x06a1  /* U+0452 CYRILLIC SMALL LETTER DJE */
  1043. #define XK_Macedonia_gje                 0x06a2  /* U+0453 CYRILLIC SMALL LETTER GJE */
  1044. #define XK_Cyrillic_io                   0x06a3  /* U+0451 CYRILLIC SMALL LETTER IO */
  1045. #define XK_Ukrainian_ie                  0x06a4  /* U+0454 CYRILLIC SMALL LETTER UKRAINIAN IE */
  1046. #define XK_Ukranian_je                   0x06a4  /* deprecated */
  1047. #define XK_Macedonia_dse                 0x06a5  /* U+0455 CYRILLIC SMALL LETTER DZE */
  1048. #define XK_Ukrainian_i                   0x06a6  /* U+0456 CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I */
  1049. #define XK_Ukranian_i                    0x06a6  /* deprecated */
  1050. #define XK_Ukrainian_yi                  0x06a7  /* U+0457 CYRILLIC SMALL LETTER YI */
  1051. #define XK_Ukranian_yi                   0x06a7  /* deprecated */
  1052. #define XK_Cyrillic_je                   0x06a8  /* U+0458 CYRILLIC SMALL LETTER JE */
  1053. #define XK_Serbian_je                    0x06a8  /* deprecated */
  1054. #define XK_Cyrillic_lje                  0x06a9  /* U+0459 CYRILLIC SMALL LETTER LJE */
  1055. #define XK_Serbian_lje                   0x06a9  /* deprecated */
  1056. #define XK_Cyrillic_nje                  0x06aa  /* U+045A CYRILLIC SMALL LETTER NJE */
  1057. #define XK_Serbian_nje                   0x06aa  /* deprecated */
  1058. #define XK_Serbian_tshe                  0x06ab  /* U+045B CYRILLIC SMALL LETTER TSHE */
  1059. #define XK_Macedonia_kje                 0x06ac  /* U+045C CYRILLIC SMALL LETTER KJE */
  1060. #define XK_Ukrainian_ghe_with_upturn     0x06ad  /* U+0491 CYRILLIC SMALL LETTER GHE WITH UPTURN */
  1061. #define XK_Byelorussian_shortu           0x06ae  /* U+045E CYRILLIC SMALL LETTER SHORT U */
  1062. #define XK_Cyrillic_dzhe                 0x06af  /* U+045F CYRILLIC SMALL LETTER DZHE */
  1063. #define XK_Serbian_dze                   0x06af  /* deprecated */
  1064. #define XK_numerosign                    0x06b0  /* U+2116 NUMERO SIGN */
  1065. #define XK_Serbian_DJE                   0x06b1  /* U+0402 CYRILLIC CAPITAL LETTER DJE */
  1066. #define XK_Macedonia_GJE                 0x06b2  /* U+0403 CYRILLIC CAPITAL LETTER GJE */
  1067. #define XK_Cyrillic_IO                   0x06b3  /* U+0401 CYRILLIC CAPITAL LETTER IO */
  1068. #define XK_Ukrainian_IE                  0x06b4  /* U+0404 CYRILLIC CAPITAL LETTER UKRAINIAN IE */
  1069. #define XK_Ukranian_JE                   0x06b4  /* deprecated */
  1070. #define XK_Macedonia_DSE                 0x06b5  /* U+0405 CYRILLIC CAPITAL LETTER DZE */
  1071. #define XK_Ukrainian_I                   0x06b6  /* U+0406 CYRILLIC CAPITAL LETTER BYELORUSSIAN-UKRAINIAN I */
  1072. #define XK_Ukranian_I                    0x06b6  /* deprecated */
  1073. #define XK_Ukrainian_YI                  0x06b7  /* U+0407 CYRILLIC CAPITAL LETTER YI */
  1074. #define XK_Ukranian_YI                   0x06b7  /* deprecated */
  1075. #define XK_Cyrillic_JE                   0x06b8  /* U+0408 CYRILLIC CAPITAL LETTER JE */
  1076. #define XK_Serbian_JE                    0x06b8  /* deprecated */
  1077. #define XK_Cyrillic_LJE                  0x06b9  /* U+0409 CYRILLIC CAPITAL LETTER LJE */
  1078. #define XK_Serbian_LJE                   0x06b9  /* deprecated */
  1079. #define XK_Cyrillic_NJE                  0x06ba  /* U+040A CYRILLIC CAPITAL LETTER NJE */
  1080. #define XK_Serbian_NJE                   0x06ba  /* deprecated */
  1081. #define XK_Serbian_TSHE                  0x06bb  /* U+040B CYRILLIC CAPITAL LETTER TSHE */
  1082. #define XK_Macedonia_KJE                 0x06bc  /* U+040C CYRILLIC CAPITAL LETTER KJE */
  1083. #define XK_Ukrainian_GHE_WITH_UPTURN     0x06bd  /* U+0490 CYRILLIC CAPITAL LETTER GHE WITH UPTURN */
  1084. #define XK_Byelorussian_SHORTU           0x06be  /* U+040E CYRILLIC CAPITAL LETTER SHORT U */
  1085. #define XK_Cyrillic_DZHE                 0x06bf  /* U+040F CYRILLIC CAPITAL LETTER DZHE */
  1086. #define XK_Serbian_DZE                   0x06bf  /* deprecated */
  1087. #define XK_Cyrillic_yu                   0x06c0  /* U+044E CYRILLIC SMALL LETTER YU */
  1088. #define XK_Cyrillic_a                    0x06c1  /* U+0430 CYRILLIC SMALL LETTER A */
  1089. #define XK_Cyrillic_be                   0x06c2  /* U+0431 CYRILLIC SMALL LETTER BE */
  1090. #define XK_Cyrillic_tse                  0x06c3  /* U+0446 CYRILLIC SMALL LETTER TSE */
  1091. #define XK_Cyrillic_de                   0x06c4  /* U+0434 CYRILLIC SMALL LETTER DE */
  1092. #define XK_Cyrillic_ie                   0x06c5  /* U+0435 CYRILLIC SMALL LETTER IE */
  1093. #define XK_Cyrillic_ef                   0x06c6  /* U+0444 CYRILLIC SMALL LETTER EF */
  1094. #define XK_Cyrillic_ghe                  0x06c7  /* U+0433 CYRILLIC SMALL LETTER GHE */
  1095. #define XK_Cyrillic_ha                   0x06c8  /* U+0445 CYRILLIC SMALL LETTER HA */
  1096. #define XK_Cyrillic_i                    0x06c9  /* U+0438 CYRILLIC SMALL LETTER I */
  1097. #define XK_Cyrillic_shorti               0x06ca  /* U+0439 CYRILLIC SMALL LETTER SHORT I */
  1098. #define XK_Cyrillic_ka                   0x06cb  /* U+043A CYRILLIC SMALL LETTER KA */
  1099. #define XK_Cyrillic_el                   0x06cc  /* U+043B CYRILLIC SMALL LETTER EL */
  1100. #define XK_Cyrillic_em                   0x06cd  /* U+043C CYRILLIC SMALL LETTER EM */
  1101. #define XK_Cyrillic_en                   0x06ce  /* U+043D CYRILLIC SMALL LETTER EN */
  1102. #define XK_Cyrillic_o                    0x06cf  /* U+043E CYRILLIC SMALL LETTER O */
  1103. #define XK_Cyrillic_pe                   0x06d0  /* U+043F CYRILLIC SMALL LETTER PE */
  1104. #define XK_Cyrillic_ya                   0x06d1  /* U+044F CYRILLIC SMALL LETTER YA */
  1105. #define XK_Cyrillic_er                   0x06d2  /* U+0440 CYRILLIC SMALL LETTER ER */
  1106. #define XK_Cyrillic_es                   0x06d3  /* U+0441 CYRILLIC SMALL LETTER ES */
  1107. #define XK_Cyrillic_te                   0x06d4  /* U+0442 CYRILLIC SMALL LETTER TE */
  1108. #define XK_Cyrillic_u                    0x06d5  /* U+0443 CYRILLIC SMALL LETTER U */
  1109. #define XK_Cyrillic_zhe                  0x06d6  /* U+0436 CYRILLIC SMALL LETTER ZHE */
  1110. #define XK_Cyrillic_ve                   0x06d7  /* U+0432 CYRILLIC SMALL LETTER VE */
  1111. #define XK_Cyrillic_softsign             0x06d8  /* U+044C CYRILLIC SMALL LETTER SOFT SIGN */
  1112. #define XK_Cyrillic_yeru                 0x06d9  /* U+044B CYRILLIC SMALL LETTER YERU */
  1113. #define XK_Cyrillic_ze                   0x06da  /* U+0437 CYRILLIC SMALL LETTER ZE */
  1114. #define XK_Cyrillic_sha                  0x06db  /* U+0448 CYRILLIC SMALL LETTER SHA */
  1115. #define XK_Cyrillic_e                    0x06dc  /* U+044D CYRILLIC SMALL LETTER E */
  1116. #define XK_Cyrillic_shcha                0x06dd  /* U+0449 CYRILLIC SMALL LETTER SHCHA */
  1117. #define XK_Cyrillic_che                  0x06de  /* U+0447 CYRILLIC SMALL LETTER CHE */
  1118. #define XK_Cyrillic_hardsign             0x06df  /* U+044A CYRILLIC SMALL LETTER HARD SIGN */
  1119. #define XK_Cyrillic_YU                   0x06e0  /* U+042E CYRILLIC CAPITAL LETTER YU */
  1120. #define XK_Cyrillic_A                    0x06e1  /* U+0410 CYRILLIC CAPITAL LETTER A */
  1121. #define XK_Cyrillic_BE                   0x06e2  /* U+0411 CYRILLIC CAPITAL LETTER BE */