libx11 0.0.4 → 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (58) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +0 -5
  3. data/.travis.yml +1 -1
  4. data/Rakefile +1 -9
  5. data/example/aliases.rb +2 -0
  6. data/example/create_window.rb +15 -13
  7. data/example/window_manager.rb +30 -22
  8. data/lib/libx11.rb +4 -2
  9. data/lib/libx11/keysymdef.rb +2272 -0
  10. data/lib/libx11/version.rb +1 -1
  11. data/lib/libx11/x.rb +148 -0
  12. data/lib/libx11/xlib.rb +42 -0
  13. data/lib/libx11/xlib/display.rb +52 -0
  14. data/lib/libx11/xlib/xany_event.rb +13 -0
  15. data/lib/libx11/xlib/xbutton_event.rb +23 -0
  16. data/lib/libx11/xlib/xcirculate_event.rb +15 -0
  17. data/lib/libx11/xlib/xcirculate_request_event.rb +15 -0
  18. data/lib/libx11/xlib/xclient_message_event.rb +24 -0
  19. data/lib/libx11/xlib/xcolormap_event.rb +16 -0
  20. data/lib/libx11/xlib/xconfigure_event.rb +21 -0
  21. data/lib/libx11/xlib/xconfigure_request_event.rb +22 -0
  22. data/lib/libx11/xlib/xcreate_window_event.rb +20 -0
  23. data/lib/libx11/xlib/xcrossing_event.rb +25 -0
  24. data/lib/libx11/xlib/xdestroy_window_event.rb +14 -0
  25. data/lib/libx11/xlib/xerror_event.rb +15 -0
  26. data/lib/libx11/xlib/xevent.rb +77 -0
  27. data/lib/libx11/xlib/xexpose_event.rb +18 -0
  28. data/lib/libx11/xlib/xfocus_change_event.rb +15 -0
  29. data/lib/libx11/xlib/xgeneric_event.rb +14 -0
  30. data/lib/libx11/xlib/xgeneric_event_cookie.rb +16 -0
  31. data/lib/libx11/xlib/xgraphics_expose_event.rb +21 -0
  32. data/lib/libx11/xlib/xgravity_event.rb +16 -0
  33. data/lib/libx11/xlib/xkey_event.rb +23 -0
  34. data/lib/libx11/xlib/xkeymap_event.rb +14 -0
  35. data/lib/libx11/xlib/xmap_event.rb +15 -0
  36. data/lib/libx11/xlib/xmap_request_event.rb +18 -0
  37. data/lib/libx11/xlib/xmapping_event.rb +16 -0
  38. data/lib/libx11/xlib/xmotion_event.rb +23 -0
  39. data/lib/libx11/xlib/xno_expose_event.rb +15 -0
  40. data/lib/libx11/xlib/xproperty_event.rb +16 -0
  41. data/lib/libx11/xlib/xreparent_event.rb +18 -0
  42. data/lib/libx11/xlib/xresize_request_event.rb +15 -0
  43. data/lib/libx11/xlib/xselection_clear_event.rb +15 -0
  44. data/lib/libx11/xlib/xselection_event.rb +17 -0
  45. data/lib/libx11/xlib/xselection_request_event.rb +18 -0
  46. data/lib/libx11/xlib/xunmap_event.rb +15 -0
  47. data/lib/libx11/xlib/xvisibility_event.rb +14 -0
  48. data/libx11.gemspec +1 -1
  49. metadata +56 -13
  50. data/HACKING.md +0 -14
  51. data/ext/libx11_ruby/constants.c +0 -182
  52. data/ext/libx11_ruby/display.c +0 -197
  53. data/ext/libx11_ruby/extconf.rb +0 -6
  54. data/ext/libx11_ruby/libx11_ruby.c +0 -13
  55. data/ext/libx11_ruby/libx11_ruby.h +0 -14
  56. data/ext/libx11_ruby/window.c +0 -33
  57. data/ext/libx11_ruby/xerror_event.c +0 -104
  58. data/ext/libx11_ruby/xevent.c +0 -134
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: bf8a8125c38441de5799294b392a46643be5565f
4
- data.tar.gz: 5b74462ab0bfd00512336b07b7f105512d76392b
3
+ metadata.gz: c49e109fc312f647725083299111726a4b292933
4
+ data.tar.gz: 7b2ac5739d3882da1e39c27fabb740c85fac86e8
5
5
  SHA512:
6
- metadata.gz: c4df03edffcdeb0d4176d08ea55f18d2a8eb7ec5e8808c095394db07699a27e667483b420ca81e365d4c74b92645553cfcbc73562b0038964c8146786fc604fb
7
- data.tar.gz: 298a98dc9ca4512601ae423be92db6a7001316edccfdcffb3cd19a601e949b5f308ef99f1c46eceb0519de07e4c17eeae44e088923fd0372cb42469d94517005
6
+ metadata.gz: 52182f830e5d16b2aae4502a3a20e606fef47728fcb8891cac63404f16876c4cda6599b48b714d54afa3022ac4ca715de839bdefd6e01f85762c2d260249d2d6
7
+ data.tar.gz: 9ae4c30c81d5c0f0aeea07033779a2a30d7899e843c7235ae06457dac0fa4e03e55d0cccb8e11261259dd7eb62291d8633877601b9484fab5be7cdeccf915495
data/.gitignore CHANGED
@@ -7,8 +7,3 @@
7
7
  /pkg/
8
8
  /spec/reports/
9
9
  /tmp/
10
- *.bundle
11
- *.so
12
- *.o
13
- *.a
14
- mkmf.log
@@ -4,4 +4,4 @@ rvm:
4
4
  before_install: gem install bundler -v 1.11.2
5
5
  script:
6
6
  - bundle install
7
- - bundle exec rake compile
7
+ - bundle exec ruby -e 'require "libx11"'
data/Rakefile CHANGED
@@ -3,12 +3,4 @@ require 'rspec/core/rake_task'
3
3
 
4
4
  RSpec::Core::RakeTask.new(:spec)
5
5
 
6
- require 'rake/extensiontask'
7
-
8
- task :build => :compile
9
-
10
- Rake::ExtensionTask.new('libx11_ruby') do |ext|
11
- ext.lib_dir = 'lib/libx11'
12
- end
13
-
14
- task :default => [:clobber, :compile, :spec]
6
+ task :default => :spec
@@ -0,0 +1,2 @@
1
+ Xlib = LibX11::Xlib
2
+ X = LibX11::X
@@ -1,4 +1,5 @@
1
1
  require 'libx11'
2
+ require_relative 'aliases'
2
3
 
3
4
  WINDOW_POS_X = 100
4
5
  WINDOW_POS_Y = 100
@@ -6,30 +7,31 @@ WINDOW_WIDTH = 400
6
7
  WINDOW_HEIGHT = 300
7
8
  BORDER_WIDTH = 2
8
9
 
9
- display = LibX11.xopen_display('')
10
+ display = Xlib.XOpenDisplay('')
10
11
 
11
- root = display.default_root_window
12
- screen = display.default_screen
12
+ root = Xlib.XDefaultRootWindow(display)
13
+ screen = Xlib.XDefaultScreen(display)
13
14
 
14
- white = display.white_pixel(screen)
15
- black = display.black_pixel(screen)
15
+ white = Xlib.XWhitePixel(display, screen)
16
+ black = Xlib.XBlackPixel(display, screen)
16
17
 
17
- window = LibX11.xcreate_simple_window(
18
+ window = Xlib.XCreateSimpleWindow(
18
19
  display, root,
19
20
  WINDOW_POS_X, WINDOW_POS_Y, WINDOW_WIDTH, WINDOW_HEIGHT,
20
21
  BORDER_WIDTH, black, white,
21
22
  )
22
23
 
23
- display.xselect_input(window, LibX11::XEvent::KEY_PRESS_MASK)
24
- display.xmap_window(window)
24
+ Xlib.XSelectInput(display, window, X::KeyPressMask)
25
+ Xlib.XMapWindow(display, window)
25
26
 
26
27
  loop do
27
- event = LibX11.xnext_event(display)
28
+ event = Xlib::XEvent.new
29
+ Xlib.XNextEvent(display, event)
28
30
 
29
- case event.type
30
- when LibX11::XEvent::KEY_PRESS
31
- LibX11.xdestroy_window(display, window)
32
- LibX11.xclose_display(display)
31
+ case event[:type]
32
+ when X::KeyPress
33
+ Xlib.XDestroyWindow(display, window)
34
+ Xlib.XCloseDisplay(display)
33
35
  break
34
36
  end
35
37
  end
@@ -2,25 +2,28 @@ require 'libx11'
2
2
 
3
3
  class XServer
4
4
  def self.with_connection
5
- display = LibX11.xopen_display
5
+ display = LibX11::Xlib.XOpenDisplay(nil)
6
6
  yield(display)
7
7
  ensure
8
- LibX11.xclose_display(display) if display
8
+ LibX11::Xlib.XCloseDisplay(display) if display
9
9
  end
10
10
 
11
11
  def self.bind_events(display, window, event_mask)
12
12
  wm_detected = false
13
- LibX11.xset_error_handler do |display, error|
14
- if error.error_code == LibX11::XErrorEvent::BAD_ACCESS
15
- wm_detected = true
13
+ LibX11::Xlib.XSetErrorHandler(
14
+ FFI::Function.new(:int, [LibX11::Xlib::Display.ptr, LibX11::Xlib::XErrorEvent.ptr]) do |display, error|
15
+ if error[:error_code] == LibX11::X::BadAccess
16
+ wm_detected = true
17
+ end
18
+ 0
16
19
  end
17
- end
20
+ )
18
21
 
19
- display.xselect_input(window, event_mask)
20
- display.xsync(false)
22
+ LibX11::Xlib.XSelectInput(display, window, event_mask)
23
+ LibX11::Xlib.XSync(display, 0)
21
24
 
22
25
  if wm_detected
23
- abort "Another window manager detected!\n#{display.xdisplay_string}"
26
+ abort 'Another window manager detected!'
24
27
  end
25
28
  end
26
29
  end
@@ -31,26 +34,31 @@ XServer.with_connection do |display|
31
34
  end
32
35
 
33
36
  XServer.bind_events(
34
- display, display.default_root_window,
35
- LibX11::KEY_PRESS_MASK |
36
- LibX11::SUBSTRUCTURE_REDIRECT_MASK |
37
- LibX11::SUBSTRUCTURE_NOTIFY_MASK,
37
+ display, LibX11::Xlib.XDefaultRootWindow(display),
38
+ LibX11::X::KeyPressMask |
39
+ LibX11::X::SubstructureRedirectMask |
40
+ LibX11::X::SubstructureNotifyMask,
38
41
  )
39
42
 
40
- LibX11.xset_error_handler do |display, error|
41
- $stderr.puts "Error detected: (error_code=#{error.error_code})"
42
- end
43
+ LibX11::Xlib.XSetErrorHandler(
44
+ FFI::Function.new(:int, [LibX11::Xlib::Display.ptr, LibX11::Xlib::XErrorEvent.ptr]) do |display, error|
45
+ $stderr.puts "Error detected: (error_code=#{error[:error_code]})"
46
+ 0
47
+ end
48
+ )
43
49
 
44
50
  loop do
45
- event = LibX11.xnext_event(display)
46
- case event.type
47
- when LibX11::XEvent::CREATE_NOTIFY
51
+ event = LibX11::Xlib::XEvent.new
52
+ LibX11::Xlib.XNextEvent(display, event)
53
+
54
+ case event[:type]
55
+ when LibX11::X::CreateNotify
48
56
  # hook creation
49
- when LibX11::XEvent::DESTROY_NOTIFY
57
+ when LibX11::X::DestroyNotify
50
58
  # hook destruction
51
- when LibX11::XEvent::REPARENT_NOTIFY
59
+ when LibX11::X::ReparentNotify
52
60
  # hook reparenting
53
- when LibX11::XEvent::KEY_PRESS
61
+ when LibX11::X::KeyPress
54
62
  break
55
63
  end
56
64
  end
@@ -1,2 +1,4 @@
1
- require 'libx11/version'
2
- require 'libx11/libx11_ruby'
1
+ require 'ffi'
2
+ require 'libx11/keysymdef'
3
+ require 'libx11/x'
4
+ require 'libx11/xlib'
@@ -0,0 +1,2272 @@
1
+ module LibX11
2
+ module Keysymdef
3
+ XK_VoidSymbol = 0xffffff # Void symbol
4
+
5
+ # TTY function keys, cleverly chosen to map to ASCII, for convenience of
6
+ # programming, but could have been arbitrary (at the cost of lookup
7
+ # tables in client code).
8
+
9
+ XK_BackSpace = 0xff08 # Back space, back char
10
+ XK_Tab = 0xff09
11
+ XK_Linefeed = 0xff0a # Linefeed, LF
12
+ XK_Clear = 0xff0b
13
+ XK_Return = 0xff0d # Return, enter
14
+ XK_Pause = 0xff13 # Pause, hold
15
+ XK_Scroll_Lock = 0xff14
16
+ XK_Sys_Req = 0xff15
17
+ XK_Escape = 0xff1b
18
+ XK_Delete = 0xffff # Delete, rubout
19
+
20
+ # International & multi-key character composition
21
+
22
+ XK_Multi_key = 0xff20 # Multi-key character compose
23
+ XK_Codeinput = 0xff37
24
+ XK_SingleCandidate = 0xff3c
25
+ XK_MultipleCandidate = 0xff3d
26
+ XK_PreviousCandidate = 0xff3e
27
+
28
+ # Japanese keyboard support
29
+
30
+ XK_Kanji = 0xff21 # Kanji, Kanji convert
31
+ XK_Muhenkan = 0xff22 # Cancel Conversion
32
+ XK_Henkan_Mode = 0xff23 # Start/Stop Conversion
33
+ XK_Henkan = 0xff23 # Alias for Henkan_Mode
34
+ XK_Romaji = 0xff24 # to Romaji
35
+ XK_Hiragana = 0xff25 # to Hiragana
36
+ XK_Katakana = 0xff26 # to Katakana
37
+ XK_Hiragana_Katakana = 0xff27 # Hiragana/Katakana toggle
38
+ XK_Zenkaku = 0xff28 # to Zenkaku
39
+ XK_Hankaku = 0xff29 # to Hankaku
40
+ XK_Zenkaku_Hankaku = 0xff2a # Zenkaku/Hankaku toggle
41
+ XK_Touroku = 0xff2b # Add to Dictionary
42
+ XK_Massyo = 0xff2c # Delete from Dictionary
43
+ XK_Kana_Lock = 0xff2d # Kana Lock
44
+ XK_Kana_Shift = 0xff2e # Kana Shift
45
+ XK_Eisu_Shift = 0xff2f # Alphanumeric Shift
46
+ XK_Eisu_toggle = 0xff30 # Alphanumeric toggle
47
+ XK_Kanji_Bangou = 0xff37 # Codeinput
48
+ XK_Zen_Koho = 0xff3d # Multiple/All Candidate(s)
49
+ XK_Mae_Koho = 0xff3e # Previous Candidate
50
+
51
+ # 0xff31 thru 0xff3f are under XK_KOREAN
52
+
53
+ # Cursor control & motion
54
+
55
+ XK_Home = 0xff50
56
+ XK_Left = 0xff51 # Move left, left arrow
57
+ XK_Up = 0xff52 # Move up, up arrow
58
+ XK_Right = 0xff53 # Move right, right arrow
59
+ XK_Down = 0xff54 # Move down, down arrow
60
+ XK_Prior = 0xff55 # Prior, previous
61
+ XK_Page_Up = 0xff55
62
+ XK_Next = 0xff56 # Next
63
+ XK_Page_Down = 0xff56
64
+ XK_End = 0xff57 # EOL
65
+ XK_Begin = 0xff58 # BOL
66
+
67
+ # Misc functions
68
+
69
+ XK_Select = 0xff60 # Select, mark
70
+ XK_Print = 0xff61
71
+ XK_Execute = 0xff62 # Execute, run, do
72
+ XK_Insert = 0xff63 # Insert, insert here
73
+ XK_Undo = 0xff65
74
+ XK_Redo = 0xff66 # Redo, again
75
+ XK_Menu = 0xff67
76
+ XK_Find = 0xff68 # Find, search
77
+ XK_Cancel = 0xff69 # Cancel, stop, abort, exit
78
+ XK_Help = 0xff6a # Help
79
+ XK_Break = 0xff6b
80
+ XK_Mode_switch = 0xff7e # Character set switch
81
+ XK_script_switch = 0xff7e # Alias for mode_switch
82
+ XK_Num_Lock = 0xff7f
83
+
84
+ # Keypad functions, keypad numbers cleverly chosen to map to ASCII
85
+
86
+ XK_KP_Space = 0xff80 # Space
87
+ XK_KP_Tab = 0xff89
88
+ XK_KP_Enter = 0xff8d # Enter
89
+ XK_KP_F1 = 0xff91 # PF1, KP_A, ...
90
+ XK_KP_F2 = 0xff92
91
+ XK_KP_F3 = 0xff93
92
+ XK_KP_F4 = 0xff94
93
+ XK_KP_Home = 0xff95
94
+ XK_KP_Left = 0xff96
95
+ XK_KP_Up = 0xff97
96
+ XK_KP_Right = 0xff98
97
+ XK_KP_Down = 0xff99
98
+ XK_KP_Prior = 0xff9a
99
+ XK_KP_Page_Up = 0xff9a
100
+ XK_KP_Next = 0xff9b
101
+ XK_KP_Page_Down = 0xff9b
102
+ XK_KP_End = 0xff9c
103
+ XK_KP_Begin = 0xff9d
104
+ XK_KP_Insert = 0xff9e
105
+ XK_KP_Delete = 0xff9f
106
+ XK_KP_Equal = 0xffbd # Equals
107
+ XK_KP_Multiply = 0xffaa
108
+ XK_KP_Add = 0xffab
109
+ XK_KP_Separator = 0xffac # Separator, often comma
110
+ XK_KP_Subtract = 0xffad
111
+ XK_KP_Decimal = 0xffae
112
+ XK_KP_Divide = 0xffaf
113
+
114
+ XK_KP_0 = 0xffb0
115
+ XK_KP_1 = 0xffb1
116
+ XK_KP_2 = 0xffb2
117
+ XK_KP_3 = 0xffb3
118
+ XK_KP_4 = 0xffb4
119
+ XK_KP_5 = 0xffb5
120
+ XK_KP_6 = 0xffb6
121
+ XK_KP_7 = 0xffb7
122
+ XK_KP_8 = 0xffb8
123
+ XK_KP_9 = 0xffb9
124
+
125
+ # Auxiliary functions; note the duplicate definitions for left and right
126
+ # function keys; Sun keyboards and a few other manufacturers have such
127
+ # function key groups on the left and/or right sides of the keyboard.
128
+ # We've not found a keyboard with more than 35 function keys total.
129
+
130
+ XK_F1 = 0xffbe
131
+ XK_F2 = 0xffbf
132
+ XK_F3 = 0xffc0
133
+ XK_F4 = 0xffc1
134
+ XK_F5 = 0xffc2
135
+ XK_F6 = 0xffc3
136
+ XK_F7 = 0xffc4
137
+ XK_F8 = 0xffc5
138
+ XK_F9 = 0xffc6
139
+ XK_F10 = 0xffc7
140
+ XK_F11 = 0xffc8
141
+ XK_L1 = 0xffc8
142
+ XK_F12 = 0xffc9
143
+ XK_L2 = 0xffc9
144
+ XK_F13 = 0xffca
145
+ XK_L3 = 0xffca
146
+ XK_F14 = 0xffcb
147
+ XK_L4 = 0xffcb
148
+ XK_F15 = 0xffcc
149
+ XK_L5 = 0xffcc
150
+ XK_F16 = 0xffcd
151
+ XK_L6 = 0xffcd
152
+ XK_F17 = 0xffce
153
+ XK_L7 = 0xffce
154
+ XK_F18 = 0xffcf
155
+ XK_L8 = 0xffcf
156
+ XK_F19 = 0xffd0
157
+ XK_L9 = 0xffd0
158
+ XK_F20 = 0xffd1
159
+ XK_L10 = 0xffd1
160
+ XK_F21 = 0xffd2
161
+ XK_R1 = 0xffd2
162
+ XK_F22 = 0xffd3
163
+ XK_R2 = 0xffd3
164
+ XK_F23 = 0xffd4
165
+ XK_R3 = 0xffd4
166
+ XK_F24 = 0xffd5
167
+ XK_R4 = 0xffd5
168
+ XK_F25 = 0xffd6
169
+ XK_R5 = 0xffd6
170
+ XK_F26 = 0xffd7
171
+ XK_R6 = 0xffd7
172
+ XK_F27 = 0xffd8
173
+ XK_R7 = 0xffd8
174
+ XK_F28 = 0xffd9
175
+ XK_R8 = 0xffd9
176
+ XK_F29 = 0xffda
177
+ XK_R9 = 0xffda
178
+ XK_F30 = 0xffdb
179
+ XK_R10 = 0xffdb
180
+ XK_F31 = 0xffdc
181
+ XK_R11 = 0xffdc
182
+ XK_F32 = 0xffdd
183
+ XK_R12 = 0xffdd
184
+ XK_F33 = 0xffde
185
+ XK_R13 = 0xffde
186
+ XK_F34 = 0xffdf
187
+ XK_R14 = 0xffdf
188
+ XK_F35 = 0xffe0
189
+ XK_R15 = 0xffe0
190
+
191
+ # Modifiers
192
+
193
+ XK_Shift_L = 0xffe1 # Left shift
194
+ XK_Shift_R = 0xffe2 # Right shift
195
+ XK_Control_L = 0xffe3 # Left control
196
+ XK_Control_R = 0xffe4 # Right control
197
+ XK_Caps_Lock = 0xffe5 # Caps lock
198
+ XK_Shift_Lock = 0xffe6 # Shift lock
199
+
200
+ XK_Meta_L = 0xffe7 # Left meta
201
+ XK_Meta_R = 0xffe8 # Right meta
202
+ XK_Alt_L = 0xffe9 # Left alt
203
+ XK_Alt_R = 0xffea # Right alt
204
+ XK_Super_L = 0xffeb # Left super
205
+ XK_Super_R = 0xffec # Right super
206
+ XK_Hyper_L = 0xffed # Left hyper
207
+ XK_Hyper_R = 0xffee # Right hyper
208
+
209
+ # Keyboard (XKB) Extension function and modifier keys
210
+ # (from Appendix C of "The X Keyboard Extension: Protocol Specification")
211
+ # Byte 3 = 0xfe
212
+
213
+ XK_ISO_Lock = 0xfe01
214
+ XK_ISO_Level2_Latch = 0xfe02
215
+ XK_ISO_Level3_Shift = 0xfe03
216
+ XK_ISO_Level3_Latch = 0xfe04
217
+ XK_ISO_Level3_Lock = 0xfe05
218
+ XK_ISO_Level5_Shift = 0xfe11
219
+ XK_ISO_Level5_Latch = 0xfe12
220
+ XK_ISO_Level5_Lock = 0xfe13
221
+ XK_ISO_Group_Shift = 0xff7e # Alias for mode_switch
222
+ XK_ISO_Group_Latch = 0xfe06
223
+ XK_ISO_Group_Lock = 0xfe07
224
+ XK_ISO_Next_Group = 0xfe08
225
+ XK_ISO_Next_Group_Lock = 0xfe09
226
+ XK_ISO_Prev_Group = 0xfe0a
227
+ XK_ISO_Prev_Group_Lock = 0xfe0b
228
+ XK_ISO_First_Group = 0xfe0c
229
+ XK_ISO_First_Group_Lock = 0xfe0d
230
+ XK_ISO_Last_Group = 0xfe0e
231
+ XK_ISO_Last_Group_Lock = 0xfe0f
232
+
233
+ XK_ISO_Left_Tab = 0xfe20
234
+ XK_ISO_Move_Line_Up = 0xfe21
235
+ XK_ISO_Move_Line_Down = 0xfe22
236
+ XK_ISO_Partial_Line_Up = 0xfe23
237
+ XK_ISO_Partial_Line_Down = 0xfe24
238
+ XK_ISO_Partial_Space_Left = 0xfe25
239
+ XK_ISO_Partial_Space_Right = 0xfe26
240
+ XK_ISO_Set_Margin_Left = 0xfe27
241
+ XK_ISO_Set_Margin_Right = 0xfe28
242
+ XK_ISO_Release_Margin_Left = 0xfe29
243
+ XK_ISO_Release_Margin_Right = 0xfe2a
244
+ XK_ISO_Release_Both_Margins = 0xfe2b
245
+ XK_ISO_Fast_Cursor_Left = 0xfe2c
246
+ XK_ISO_Fast_Cursor_Right = 0xfe2d
247
+ XK_ISO_Fast_Cursor_Up = 0xfe2e
248
+ XK_ISO_Fast_Cursor_Down = 0xfe2f
249
+ XK_ISO_Continuous_Underline = 0xfe30
250
+ XK_ISO_Discontinuous_Underline = 0xfe31
251
+ XK_ISO_Emphasize = 0xfe32
252
+ XK_ISO_Center_Object = 0xfe33
253
+ XK_ISO_Enter = 0xfe34
254
+
255
+ XK_dead_grave = 0xfe50
256
+ XK_dead_acute = 0xfe51
257
+ XK_dead_circumflex = 0xfe52
258
+ XK_dead_tilde = 0xfe53
259
+ XK_dead_perispomeni = 0xfe53 # alias for dead_tilde
260
+ XK_dead_macron = 0xfe54
261
+ XK_dead_breve = 0xfe55
262
+ XK_dead_abovedot = 0xfe56
263
+ XK_dead_diaeresis = 0xfe57
264
+ XK_dead_abovering = 0xfe58
265
+ XK_dead_doubleacute = 0xfe59
266
+ XK_dead_caron = 0xfe5a
267
+ XK_dead_cedilla = 0xfe5b
268
+ XK_dead_ogonek = 0xfe5c
269
+ XK_dead_iota = 0xfe5d
270
+ XK_dead_voiced_sound = 0xfe5e
271
+ XK_dead_semivoiced_sound = 0xfe5f
272
+ XK_dead_belowdot = 0xfe60
273
+ XK_dead_hook = 0xfe61
274
+ XK_dead_horn = 0xfe62
275
+ XK_dead_stroke = 0xfe63
276
+ XK_dead_abovecomma = 0xfe64
277
+ XK_dead_psili = 0xfe64 # alias for dead_abovecomma
278
+ XK_dead_abovereversedcomma = 0xfe65
279
+ XK_dead_dasia = 0xfe65 # alias for dead_abovereversedcomma
280
+ XK_dead_doublegrave = 0xfe66
281
+ XK_dead_belowring = 0xfe67
282
+ XK_dead_belowmacron = 0xfe68
283
+ XK_dead_belowcircumflex = 0xfe69
284
+ XK_dead_belowtilde = 0xfe6a
285
+ XK_dead_belowbreve = 0xfe6b
286
+ XK_dead_belowdiaeresis = 0xfe6c
287
+ XK_dead_invertedbreve = 0xfe6d
288
+ XK_dead_belowcomma = 0xfe6e
289
+ XK_dead_currency = 0xfe6f
290
+
291
+ # extra dead elements for German T3 layout
292
+ XK_dead_lowline = 0xfe90
293
+ XK_dead_aboveverticalline = 0xfe91
294
+ XK_dead_belowverticalline = 0xfe92
295
+ XK_dead_longsolidusoverlay = 0xfe93
296
+
297
+ # dead vowels for universal syllable entry
298
+ XK_dead_a = 0xfe80
299
+ XK_dead_A = 0xfe81
300
+ XK_dead_e = 0xfe82
301
+ XK_dead_E = 0xfe83
302
+ XK_dead_i = 0xfe84
303
+ XK_dead_I = 0xfe85
304
+ XK_dead_o = 0xfe86
305
+ XK_dead_O = 0xfe87
306
+ XK_dead_u = 0xfe88
307
+ XK_dead_U = 0xfe89
308
+ XK_dead_small_schwa = 0xfe8a
309
+ XK_dead_capital_schwa = 0xfe8b
310
+
311
+ XK_dead_greek = 0xfe8c
312
+
313
+ XK_First_Virtual_Screen = 0xfed0
314
+ XK_Prev_Virtual_Screen = 0xfed1
315
+ XK_Next_Virtual_Screen = 0xfed2
316
+ XK_Last_Virtual_Screen = 0xfed4
317
+ XK_Terminate_Server = 0xfed5
318
+
319
+ XK_AccessX_Enable = 0xfe70
320
+ XK_AccessX_Feedback_Enable = 0xfe71
321
+ XK_RepeatKeys_Enable = 0xfe72
322
+ XK_SlowKeys_Enable = 0xfe73
323
+ XK_BounceKeys_Enable = 0xfe74
324
+ XK_StickyKeys_Enable = 0xfe75
325
+ XK_MouseKeys_Enable = 0xfe76
326
+ XK_MouseKeys_Accel_Enable = 0xfe77
327
+ XK_Overlay1_Enable = 0xfe78
328
+ XK_Overlay2_Enable = 0xfe79
329
+ XK_AudibleBell_Enable = 0xfe7a
330
+
331
+ XK_Pointer_Left = 0xfee0
332
+ XK_Pointer_Right = 0xfee1
333
+ XK_Pointer_Up = 0xfee2
334
+ XK_Pointer_Down = 0xfee3
335
+ XK_Pointer_UpLeft = 0xfee4
336
+ XK_Pointer_UpRight = 0xfee5
337
+ XK_Pointer_DownLeft = 0xfee6
338
+ XK_Pointer_DownRight = 0xfee7
339
+ XK_Pointer_Button_Dflt = 0xfee8
340
+ XK_Pointer_Button1 = 0xfee9
341
+ XK_Pointer_Button2 = 0xfeea
342
+ XK_Pointer_Button3 = 0xfeeb
343
+ XK_Pointer_Button4 = 0xfeec
344
+ XK_Pointer_Button5 = 0xfeed
345
+ XK_Pointer_DblClick_Dflt = 0xfeee
346
+ XK_Pointer_DblClick1 = 0xfeef
347
+ XK_Pointer_DblClick2 = 0xfef0
348
+ XK_Pointer_DblClick3 = 0xfef1
349
+ XK_Pointer_DblClick4 = 0xfef2
350
+ XK_Pointer_DblClick5 = 0xfef3
351
+ XK_Pointer_Drag_Dflt = 0xfef4
352
+ XK_Pointer_Drag1 = 0xfef5
353
+ XK_Pointer_Drag2 = 0xfef6
354
+ XK_Pointer_Drag3 = 0xfef7
355
+ XK_Pointer_Drag4 = 0xfef8
356
+ XK_Pointer_Drag5 = 0xfefd
357
+
358
+ XK_Pointer_EnableKeys = 0xfef9
359
+ XK_Pointer_Accelerate = 0xfefa
360
+ XK_Pointer_DfltBtnNext = 0xfefb
361
+ XK_Pointer_DfltBtnPrev = 0xfefc
362
+
363
+ # Single-Stroke Multiple-Character N-Graph Keysyms For The X Input Method
364
+
365
+ XK_ch = 0xfea0
366
+ XK_Ch = 0xfea1
367
+ XK_CH = 0xfea2
368
+ XK_c_h = 0xfea3
369
+ XK_C_h = 0xfea4
370
+ XK_C_H = 0xfea5
371
+
372
+ # 3270 Terminal Keys
373
+ # Byte 3 = 0xfd
374
+
375
+ XK_3270_Duplicate = 0xfd01
376
+ XK_3270_FieldMark = 0xfd02
377
+ XK_3270_Right2 = 0xfd03
378
+ XK_3270_Left2 = 0xfd04
379
+ XK_3270_BackTab = 0xfd05
380
+ XK_3270_EraseEOF = 0xfd06
381
+ XK_3270_EraseInput = 0xfd07
382
+ XK_3270_Reset = 0xfd08
383
+ XK_3270_Quit = 0xfd09
384
+ XK_3270_PA1 = 0xfd0a
385
+ XK_3270_PA2 = 0xfd0b
386
+ XK_3270_PA3 = 0xfd0c
387
+ XK_3270_Test = 0xfd0d
388
+ XK_3270_Attn = 0xfd0e
389
+ XK_3270_CursorBlink = 0xfd0f
390
+ XK_3270_AltCursor = 0xfd10
391
+ XK_3270_KeyClick = 0xfd11
392
+ XK_3270_Jump = 0xfd12
393
+ XK_3270_Ident = 0xfd13
394
+ XK_3270_Rule = 0xfd14
395
+ XK_3270_Copy = 0xfd15
396
+ XK_3270_Play = 0xfd16
397
+ XK_3270_Setup = 0xfd17
398
+ XK_3270_Record = 0xfd18
399
+ XK_3270_ChangeScreen = 0xfd19
400
+ XK_3270_DeleteWord = 0xfd1a
401
+ XK_3270_ExSelect = 0xfd1b
402
+ XK_3270_CursorSelect = 0xfd1c
403
+ XK_3270_PrintScreen = 0xfd1d
404
+ XK_3270_Enter = 0xfd1e
405
+
406
+ # Latin 1
407
+ # (ISO/IEC 8859-1 = Unicode U+0020..U+00FF)
408
+ # Byte 3 = 0
409
+
410
+ XK_space = 0x0020 # U+0020 SPACE
411
+ XK_exclam = 0x0021 # U+0021 EXCLAMATION MARK
412
+ XK_quotedbl = 0x0022 # U+0022 QUOTATION MARK
413
+ XK_numbersign = 0x0023 # U+0023 NUMBER SIGN
414
+ XK_dollar = 0x0024 # U+0024 DOLLAR SIGN
415
+ XK_percent = 0x0025 # U+0025 PERCENT SIGN
416
+ XK_ampersand = 0x0026 # U+0026 AMPERSAND
417
+ XK_apostrophe = 0x0027 # U+0027 APOSTROPHE
418
+ XK_quoteright = 0x0027 # deprecated
419
+ XK_parenleft = 0x0028 # U+0028 LEFT PARENTHESIS
420
+ XK_parenright = 0x0029 # U+0029 RIGHT PARENTHESIS
421
+ XK_asterisk = 0x002a # U+002A ASTERISK
422
+ XK_plus = 0x002b # U+002B PLUS SIGN
423
+ XK_comma = 0x002c # U+002C COMMA
424
+ XK_minus = 0x002d # U+002D HYPHEN-MINUS
425
+ XK_period = 0x002e # U+002E FULL STOP
426
+ XK_slash = 0x002f # U+002F SOLIDUS
427
+ XK_0 = 0x0030 # U+0030 DIGIT ZERO
428
+ XK_1 = 0x0031 # U+0031 DIGIT ONE
429
+ XK_2 = 0x0032 # U+0032 DIGIT TWO
430
+ XK_3 = 0x0033 # U+0033 DIGIT TH
431
+ XK_4 = 0x0034 # U+0034 DIGIT FOUR
432
+ XK_5 = 0x0035 # U+0035 DIGIT FIVE
433
+ XK_6 = 0x0036 # U+0036 DIGIT SIX
434
+ XK_7 = 0x0037 # U+0037 DIGIT SEVEN
435
+ XK_8 = 0x0038 # U+0038 DIGIT EIGHT
436
+ XK_9 = 0x0039 # U+0039 DIGIT NINE
437
+ XK_colon = 0x003a # U+003A COLON
438
+ XK_semicolon = 0x003b # U+003B SEMICOLON
439
+ XK_less = 0x003c # U+003C LESS-THAN SIGN
440
+ XK_equal = 0x003d # U+003D EQUALS SIGN
441
+ XK_greater = 0x003e # U+003E GREATER-THAN SIGN
442
+ XK_question = 0x003f # U+003F QUESTION MARK
443
+ XK_at = 0x0040 # U+0040 COMMERCIAL AT
444
+ XK_A = 0x0041 # U+0041 LATIN CAPITAL LETTER A
445
+ XK_B = 0x0042 # U+0042 LATIN CAPITAL LETTER B
446
+ XK_C = 0x0043 # U+0043 LATIN CAPITAL LETTER C
447
+ XK_D = 0x0044 # U+0044 LATIN CAPITAL LETTER D
448
+ XK_E = 0x0045 # U+0045 LATIN CAPITAL LETTER E
449
+ XK_F = 0x0046 # U+0046 LATIN CAPITAL LETTER F
450
+ XK_G = 0x0047 # U+0047 LATIN CAPITAL LETTER G
451
+ XK_H = 0x0048 # U+0048 LATIN CAPITAL LETTER H
452
+ XK_I = 0x0049 # U+0049 LATIN CAPITAL LETTER I
453
+ XK_J = 0x004a # U+004A LATIN CAPITAL LETTER J
454
+ XK_K = 0x004b # U+004B LATIN CAPITAL LETTER K
455
+ XK_L = 0x004c # U+004C LATIN CAPITAL LETTER L
456
+ XK_M = 0x004d # U+004D LATIN CAPITAL LETTER M
457
+ XK_N = 0x004e # U+004E LATIN CAPITAL LETTER N
458
+ XK_O = 0x004f # U+004F LATIN CAPITAL LETTER O
459
+ XK_P = 0x0050 # U+0050 LATIN CAPITAL LETTER P
460
+ XK_Q = 0x0051 # U+0051 LATIN CAPITAL LETTER Q
461
+ XK_R = 0x0052 # U+0052 LATIN CAPITAL LETTER R
462
+ XK_S = 0x0053 # U+0053 LATIN CAPITAL LETTER S
463
+ XK_T = 0x0054 # U+0054 LATIN CAPITAL LETTER T
464
+ XK_U = 0x0055 # U+0055 LATIN CAPITAL LETTER U
465
+ XK_V = 0x0056 # U+0056 LATIN CAPITAL LETTER V
466
+ XK_W = 0x0057 # U+0057 LATIN CAPITAL LETTER W
467
+ XK_X = 0x0058 # U+0058 LATIN CAPITAL LETTER X
468
+ XK_Y = 0x0059 # U+0059 LATIN CAPITAL LETTER Y
469
+ XK_Z = 0x005a # U+005A LATIN CAPITAL LETTER Z
470
+ XK_bracketleft = 0x005b # U+005B LEFT SQUARE BRACKET
471
+ XK_backslash = 0x005c # U+005C REVERSE SOLIDUS
472
+ XK_bracketright = 0x005d # U+005D RIGHT SQUARE BRACKET
473
+ XK_asciicircum = 0x005e # U+005E CIRCUMFLEX ACCENT
474
+ XK_underscore = 0x005f # U+005F LOW LINE
475
+ XK_grave = 0x0060 # U+0060 GRAVE ACCENT
476
+ XK_quoteleft = 0x0060 # deprecated
477
+ XK_a = 0x0061 # U+0061 LATIN SMALL LETTER A
478
+ XK_b = 0x0062 # U+0062 LATIN SMALL LETTER B
479
+ XK_c = 0x0063 # U+0063 LATIN SMALL LETTER C
480
+ XK_d = 0x0064 # U+0064 LATIN SMALL LETTER D
481
+ XK_e = 0x0065 # U+0065 LATIN SMALL LETTER E
482
+ XK_f = 0x0066 # U+0066 LATIN SMALL LETTER F
483
+ XK_g = 0x0067 # U+0067 LATIN SMALL LETTER G
484
+ XK_h = 0x0068 # U+0068 LATIN SMALL LETTER H
485
+ XK_i = 0x0069 # U+0069 LATIN SMALL LETTER I
486
+ XK_j = 0x006a # U+006A LATIN SMALL LETTER J
487
+ XK_k = 0x006b # U+006B LATIN SMALL LETTER K
488
+ XK_l = 0x006c # U+006C LATIN SMALL LETTER L
489
+ XK_m = 0x006d # U+006D LATIN SMALL LETTER M
490
+ XK_n = 0x006e # U+006E LATIN SMALL LETTER N
491
+ XK_o = 0x006f # U+006F LATIN SMALL LETTER O
492
+ XK_p = 0x0070 # U+0070 LATIN SMALL LETTER P
493
+ XK_q = 0x0071 # U+0071 LATIN SMALL LETTER Q
494
+ XK_r = 0x0072 # U+0072 LATIN SMALL LETTER R
495
+ XK_s = 0x0073 # U+0073 LATIN SMALL LETTER S
496
+ XK_t = 0x0074 # U+0074 LATIN SMALL LETTER T
497
+ XK_u = 0x0075 # U+0075 LATIN SMALL LETTER U
498
+ XK_v = 0x0076 # U+0076 LATIN SMALL LETTER V
499
+ XK_w = 0x0077 # U+0077 LATIN SMALL LETTER W
500
+ XK_x = 0x0078 # U+0078 LATIN SMALL LETTER X
501
+ XK_y = 0x0079 # U+0079 LATIN SMALL LETTER Y
502
+ XK_z = 0x007a # U+007A LATIN SMALL LETTER Z
503
+ XK_braceleft = 0x007b # U+007B LEFT CURLY BRACKET
504
+ XK_bar = 0x007c # U+007C VERTICAL LINE
505
+ XK_braceright = 0x007d # U+007D RIGHT CURLY BRACKET
506
+ XK_asciitilde = 0x007e # U+007E TILDE
507
+
508
+ XK_nobreakspace = 0x00a0 # U+00A0 NO-BREAK SPACE
509
+ XK_exclamdown = 0x00a1 # U+00A1 INVERTED EXCLAMATION MARK
510
+ XK_cent = 0x00a2 # U+00A2 CENT SIGN
511
+ XK_sterling = 0x00a3 # U+00A3 POUND SIGN
512
+ XK_currency = 0x00a4 # U+00A4 CURRENCY SIGN
513
+ XK_yen = 0x00a5 # U+00A5 YEN SIGN
514
+ XK_brokenbar = 0x00a6 # U+00A6 BROKEN BAR
515
+ XK_section = 0x00a7 # U+00A7 SECTION SIGN
516
+ XK_diaeresis = 0x00a8 # U+00A8 DIAERESIS
517
+ XK_copyright = 0x00a9 # U+00A9 COPYRIGHT SIGN
518
+ XK_ordfeminine = 0x00aa # U+00AA FEMININE ORDINAL INDICATOR
519
+ XK_guillemotleft = 0x00ab # U+00AB LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
520
+ XK_notsign = 0x00ac # U+00AC NOT SIGN
521
+ XK_hyphen = 0x00ad # U+00AD SOFT HYPHEN
522
+ XK_registered = 0x00ae # U+00AE REGISTERED SIGN
523
+ XK_macron = 0x00af # U+00AF MACRON
524
+ XK_degree = 0x00b0 # U+00B0 DEGREE SIGN
525
+ XK_plusminus = 0x00b1 # U+00B1 PLUS-MINUS SIGN
526
+ XK_twosuperior = 0x00b2 # U+00B2 SUPERSCRIPT TWO
527
+ XK_threesuperior = 0x00b3 # U+00B3 SUPERSCRIPT THREE
528
+ XK_acute = 0x00b4 # U+00B4 ACUTE ACCENT
529
+ XK_mu = 0x00b5 # U+00B5 MICRO SIGN
530
+ XK_paragraph = 0x00b6 # U+00B6 PILCROW SIGN
531
+ XK_periodcentered = 0x00b7 # U+00B7 MIDDLE DOT
532
+ XK_cedilla = 0x00b8 # U+00B8 CEDILLA
533
+ XK_onesuperior = 0x00b9 # U+00B9 SUPERSCRIPT ONE
534
+ XK_masculine = 0x00ba # U+00BA MASCULINE ORDINAL INDICATOR
535
+ XK_guillemotright = 0x00bb # U+00BB RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
536
+ XK_onequarter = 0x00bc # U+00BC VULGAR FRACTION ONE QUARTER
537
+ XK_onehalf = 0x00bd # U+00BD VULGAR FRACTION ONE HALF
538
+ XK_threequarters = 0x00be # U+00BE VULGAR FRACTION THREE QUARTERS
539
+ XK_questiondown = 0x00bf # U+00BF INVERTED QUESTION MARK
540
+ XK_Agrave = 0x00c0 # U+00C0 LATIN CAPITAL LETTER A WITH GRAVE
541
+ XK_Aacute = 0x00c1 # U+00C1 LATIN CAPITAL LETTER A WITH ACUTE
542
+ XK_Acircumflex = 0x00c2 # U+00C2 LATIN CAPITAL LETTER A WITH CIRCUMFLEX
543
+ XK_Atilde = 0x00c3 # U+00C3 LATIN CAPITAL LETTER A WITH TILDE
544
+ XK_Adiaeresis = 0x00c4 # U+00C4 LATIN CAPITAL LETTER A WITH DIAERESIS
545
+ XK_Aring = 0x00c5 # U+00C5 LATIN CAPITAL LETTER A WITH RING ABOVE
546
+ XK_AE = 0x00c6 # U+00C6 LATIN CAPITAL LETTER AE
547
+ XK_Ccedilla = 0x00c7 # U+00C7 LATIN CAPITAL LETTER C WITH CEDILLA
548
+ XK_Egrave = 0x00c8 # U+00C8 LATIN CAPITAL LETTER E WITH GRAVE
549
+ XK_Eacute = 0x00c9 # U+00C9 LATIN CAPITAL LETTER E WITH ACUTE
550
+ XK_Ecircumflex = 0x00ca # U+00CA LATIN CAPITAL LETTER E WITH CIRCUMFLEX
551
+ XK_Ediaeresis = 0x00cb # U+00CB LATIN CAPITAL LETTER E WITH DIAERESIS
552
+ XK_Igrave = 0x00cc # U+00CC LATIN CAPITAL LETTER I WITH GRAVE
553
+ XK_Iacute = 0x00cd # U+00CD LATIN CAPITAL LETTER I WITH ACUTE
554
+ XK_Icircumflex = 0x00ce # U+00CE LATIN CAPITAL LETTER I WITH CIRCUMFLEX
555
+ XK_Idiaeresis = 0x00cf # U+00CF LATIN CAPITAL LETTER I WITH DIAERESIS
556
+ XK_ETH = 0x00d0 # U+00D0 LATIN CAPITAL LETTER ETH
557
+ XK_Eth = 0x00d0 # deprecated
558
+ XK_Ntilde = 0x00d1 # U+00D1 LATIN CAPITAL LETTER N WITH TILDE
559
+ XK_Ograve = 0x00d2 # U+00D2 LATIN CAPITAL LETTER O WITH GRAVE
560
+ XK_Oacute = 0x00d3 # U+00D3 LATIN CAPITAL LETTER O WITH ACUTE
561
+ XK_Ocircumflex = 0x00d4 # U+00D4 LATIN CAPITAL LETTER O WITH CIRCUMFLEX
562
+ XK_Otilde = 0x00d5 # U+00D5 LATIN CAPITAL LETTER O WITH TILDE
563
+ XK_Odiaeresis = 0x00d6 # U+00D6 LATIN CAPITAL LETTER O WITH DIAERESIS
564
+ XK_multiply = 0x00d7 # U+00D7 MULTIPLICATION SIGN
565
+ XK_Oslash = 0x00d8 # U+00D8 LATIN CAPITAL LETTER O WITH STROKE
566
+ XK_Ooblique = 0x00d8 # U+00D8 LATIN CAPITAL LETTER O WITH STROKE
567
+ XK_Ugrave = 0x00d9 # U+00D9 LATIN CAPITAL LETTER U WITH GRAVE
568
+ XK_Uacute = 0x00da # U+00DA LATIN CAPITAL LETTER U WITH ACUTE
569
+ XK_Ucircumflex = 0x00db # U+00DB LATIN CAPITAL LETTER U WITH CIRCUMFLEX
570
+ XK_Udiaeresis = 0x00dc # U+00DC LATIN CAPITAL LETTER U WITH DIAERESIS
571
+ XK_Yacute = 0x00dd # U+00DD LATIN CAPITAL LETTER Y WITH ACUTE
572
+ XK_THORN = 0x00de # U+00DE LATIN CAPITAL LETTER THORN
573
+ XK_Thorn = 0x00de # deprecated
574
+ XK_ssharp = 0x00df # U+00DF LATIN SMALL LETTER SHARP S
575
+ XK_agrave = 0x00e0 # U+00E0 LATIN SMALL LETTER A WITH GRAVE
576
+ XK_aacute = 0x00e1 # U+00E1 LATIN SMALL LETTER A WITH ACUTE
577
+ XK_acircumflex = 0x00e2 # U+00E2 LATIN SMALL LETTER A WITH CIRCUMFLEX
578
+ XK_atilde = 0x00e3 # U+00E3 LATIN SMALL LETTER A WITH TILDE
579
+ XK_adiaeresis = 0x00e4 # U+00E4 LATIN SMALL LETTER A WITH DIAERESIS
580
+ XK_aring = 0x00e5 # U+00E5 LATIN SMALL LETTER A WITH RING ABOVE
581
+ XK_ae = 0x00e6 # U+00E6 LATIN SMALL LETTER AE
582
+ XK_ccedilla = 0x00e7 # U+00E7 LATIN SMALL LETTER C WITH CEDILLA
583
+ XK_egrave = 0x00e8 # U+00E8 LATIN SMALL LETTER E WITH GRAVE
584
+ XK_eacute = 0x00e9 # U+00E9 LATIN SMALL LETTER E WITH ACUTE
585
+ XK_ecircumflex = 0x00ea # U+00EA LATIN SMALL LETTER E WITH CIRCUMFLEX
586
+ XK_ediaeresis = 0x00eb # U+00EB LATIN SMALL LETTER E WITH DIAERESIS
587
+ XK_igrave = 0x00ec # U+00EC LATIN SMALL LETTER I WITH GRAVE
588
+ XK_iacute = 0x00ed # U+00ED LATIN SMALL LETTER I WITH ACUTE
589
+ XK_icircumflex = 0x00ee # U+00EE LATIN SMALL LETTER I WITH CIRCUMFLEX
590
+ XK_idiaeresis = 0x00ef # U+00EF LATIN SMALL LETTER I WITH DIAERESIS
591
+ XK_eth = 0x00f0 # U+00F0 LATIN SMALL LETTER ETH
592
+ XK_ntilde = 0x00f1 # U+00F1 LATIN SMALL LETTER N WITH TILDE
593
+ XK_ograve = 0x00f2 # U+00F2 LATIN SMALL LETTER O WITH GRAVE
594
+ XK_oacute = 0x00f3 # U+00F3 LATIN SMALL LETTER O WITH ACUTE
595
+ XK_ocircumflex = 0x00f4 # U+00F4 LATIN SMALL LETTER O WITH CIRCUMFLEX
596
+ XK_otilde = 0x00f5 # U+00F5 LATIN SMALL LETTER O WITH TILDE
597
+ XK_odiaeresis = 0x00f6 # U+00F6 LATIN SMALL LETTER O WITH DIAERESIS
598
+ XK_division = 0x00f7 # U+00F7 DIVISION SIGN
599
+ XK_oslash = 0x00f8 # U+00F8 LATIN SMALL LETTER O WITH STROKE
600
+ XK_ooblique = 0x00f8 # U+00F8 LATIN SMALL LETTER O WITH STROKE
601
+ XK_ugrave = 0x00f9 # U+00F9 LATIN SMALL LETTER U WITH GRAVE
602
+ XK_uacute = 0x00fa # U+00FA LATIN SMALL LETTER U WITH ACUTE
603
+ XK_ucircumflex = 0x00fb # U+00FB LATIN SMALL LETTER U WITH CIRCUMFLEX
604
+ XK_udiaeresis = 0x00fc # U+00FC LATIN SMALL LETTER U WITH DIAERESIS
605
+ XK_yacute = 0x00fd # U+00FD LATIN SMALL LETTER Y WITH ACUTE
606
+ XK_thorn = 0x00fe # U+00FE LATIN SMALL LETTER THORN
607
+ XK_ydiaeresis = 0x00ff # U+00FF LATIN SMALL LETTER Y WITH DIAERESIS
608
+
609
+ # Latin 2
610
+ # Byte 3 = 1
611
+
612
+ XK_Aogonek = 0x01a1 # U+0104 LATIN CAPITAL LETTER A WITH OGONEK
613
+ XK_breve = 0x01a2 # U+02D8 BREVE
614
+ XK_Lstroke = 0x01a3 # U+0141 LATIN CAPITAL LETTER L WITH STROKE
615
+ XK_Lcaron = 0x01a5 # U+013D LATIN CAPITAL LETTER L WITH CARON
616
+ XK_Sacute = 0x01a6 # U+015A LATIN CAPITAL LETTER S WITH ACUTE
617
+ XK_Scaron = 0x01a9 # U+0160 LATIN CAPITAL LETTER S WITH CARON
618
+ XK_Scedilla = 0x01aa # U+015E LATIN CAPITAL LETTER S WITH CEDILLA
619
+ XK_Tcaron = 0x01ab # U+0164 LATIN CAPITAL LETTER T WITH CARON
620
+ XK_Zacute = 0x01ac # U+0179 LATIN CAPITAL LETTER Z WITH ACUTE
621
+ XK_Zcaron = 0x01ae # U+017D LATIN CAPITAL LETTER Z WITH CARON
622
+ XK_Zabovedot = 0x01af # U+017B LATIN CAPITAL LETTER Z WITH DOT ABOVE
623
+ XK_aogonek = 0x01b1 # U+0105 LATIN SMALL LETTER A WITH OGONEK
624
+ XK_ogonek = 0x01b2 # U+02DB OGONEK
625
+ XK_lstroke = 0x01b3 # U+0142 LATIN SMALL LETTER L WITH STROKE
626
+ XK_lcaron = 0x01b5 # U+013E LATIN SMALL LETTER L WITH CARON
627
+ XK_sacute = 0x01b6 # U+015B LATIN SMALL LETTER S WITH ACUTE
628
+ XK_caron = 0x01b7 # U+02C7 CARON
629
+ XK_scaron = 0x01b9 # U+0161 LATIN SMALL LETTER S WITH CARON
630
+ XK_scedilla = 0x01ba # U+015F LATIN SMALL LETTER S WITH CEDILLA
631
+ XK_tcaron = 0x01bb # U+0165 LATIN SMALL LETTER T WITH CARON
632
+ XK_zacute = 0x01bc # U+017A LATIN SMALL LETTER Z WITH ACUTE
633
+ XK_doubleacute = 0x01bd # U+02DD DOUBLE ACUTE ACCENT
634
+ XK_zcaron = 0x01be # U+017E LATIN SMALL LETTER Z WITH CARON
635
+ XK_zabovedot = 0x01bf # U+017C LATIN SMALL LETTER Z WITH DOT ABOVE
636
+ XK_Racute = 0x01c0 # U+0154 LATIN CAPITAL LETTER R WITH ACUTE
637
+ XK_Abreve = 0x01c3 # U+0102 LATIN CAPITAL LETTER A WITH BREVE
638
+ XK_Lacute = 0x01c5 # U+0139 LATIN CAPITAL LETTER L WITH ACUTE
639
+ XK_Cacute = 0x01c6 # U+0106 LATIN CAPITAL LETTER C WITH ACUTE
640
+ XK_Ccaron = 0x01c8 # U+010C LATIN CAPITAL LETTER C WITH CARON
641
+ XK_Eogonek = 0x01ca # U+0118 LATIN CAPITAL LETTER E WITH OGONEK
642
+ XK_Ecaron = 0x01cc # U+011A LATIN CAPITAL LETTER E WITH CARON
643
+ XK_Dcaron = 0x01cf # U+010E LATIN CAPITAL LETTER D WITH CARON
644
+ XK_Dstroke = 0x01d0 # U+0110 LATIN CAPITAL LETTER D WITH STROKE
645
+ XK_Nacute = 0x01d1 # U+0143 LATIN CAPITAL LETTER N WITH ACUTE
646
+ XK_Ncaron = 0x01d2 # U+0147 LATIN CAPITAL LETTER N WITH CARON
647
+ XK_Odoubleacute = 0x01d5 # U+0150 LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
648
+ XK_Rcaron = 0x01d8 # U+0158 LATIN CAPITAL LETTER R WITH CARON
649
+ XK_Uring = 0x01d9 # U+016E LATIN CAPITAL LETTER U WITH RING ABOVE
650
+ XK_Udoubleacute = 0x01db # U+0170 LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
651
+ XK_Tcedilla = 0x01de # U+0162 LATIN CAPITAL LETTER T WITH CEDILLA
652
+ XK_racute = 0x01e0 # U+0155 LATIN SMALL LETTER R WITH ACUTE
653
+ XK_abreve = 0x01e3 # U+0103 LATIN SMALL LETTER A WITH BREVE
654
+ XK_lacute = 0x01e5 # U+013A LATIN SMALL LETTER L WITH ACUTE
655
+ XK_cacute = 0x01e6 # U+0107 LATIN SMALL LETTER C WITH ACUTE
656
+ XK_ccaron = 0x01e8 # U+010D LATIN SMALL LETTER C WITH CARON
657
+ XK_eogonek = 0x01ea # U+0119 LATIN SMALL LETTER E WITH OGONEK
658
+ XK_ecaron = 0x01ec # U+011B LATIN SMALL LETTER E WITH CARON
659
+ XK_dcaron = 0x01ef # U+010F LATIN SMALL LETTER D WITH CARON
660
+ XK_dstroke = 0x01f0 # U+0111 LATIN SMALL LETTER D WITH STROKE
661
+ XK_nacute = 0x01f1 # U+0144 LATIN SMALL LETTER N WITH ACUTE
662
+ XK_ncaron = 0x01f2 # U+0148 LATIN SMALL LETTER N WITH CARON
663
+ XK_odoubleacute = 0x01f5 # U+0151 LATIN SMALL LETTER O WITH DOUBLE ACUTE
664
+ XK_rcaron = 0x01f8 # U+0159 LATIN SMALL LETTER R WITH CARON
665
+ XK_uring = 0x01f9 # U+016F LATIN SMALL LETTER U WITH RING ABOVE
666
+ XK_udoubleacute = 0x01fb # U+0171 LATIN SMALL LETTER U WITH DOUBLE ACUTE
667
+ XK_tcedilla = 0x01fe # U+0163 LATIN SMALL LETTER T WITH CEDILLA
668
+ XK_abovedot = 0x01ff # U+02D9 DOT ABOVE
669
+
670
+ # Latin 3
671
+ # Byte 3 = 2
672
+
673
+ XK_Hstroke = 0x02a1 # U+0126 LATIN CAPITAL LETTER H WITH STROKE
674
+ XK_Hcircumflex = 0x02a6 # U+0124 LATIN CAPITAL LETTER H WITH CIRCUMFLEX
675
+ XK_Iabovedot = 0x02a9 # U+0130 LATIN CAPITAL LETTER I WITH DOT ABOVE
676
+ XK_Gbreve = 0x02ab # U+011E LATIN CAPITAL LETTER G WITH BREVE
677
+ XK_Jcircumflex = 0x02ac # U+0134 LATIN CAPITAL LETTER J WITH CIRCUMFLEX
678
+ XK_hstroke = 0x02b1 # U+0127 LATIN SMALL LETTER H WITH STROKE
679
+ XK_hcircumflex = 0x02b6 # U+0125 LATIN SMALL LETTER H WITH CIRCUMFLEX
680
+ XK_idotless = 0x02b9 # U+0131 LATIN SMALL LETTER DOTLESS I
681
+ XK_gbreve = 0x02bb # U+011F LATIN SMALL LETTER G WITH BREVE
682
+ XK_jcircumflex = 0x02bc # U+0135 LATIN SMALL LETTER J WITH CIRCUMFLEX
683
+ XK_Cabovedot = 0x02c5 # U+010A LATIN CAPITAL LETTER C WITH DOT ABOVE
684
+ XK_Ccircumflex = 0x02c6 # U+0108 LATIN CAPITAL LETTER C WITH CIRCUMFLEX
685
+ XK_Gabovedot = 0x02d5 # U+0120 LATIN CAPITAL LETTER G WITH DOT ABOVE
686
+ XK_Gcircumflex = 0x02d8 # U+011C LATIN CAPITAL LETTER G WITH CIRCUMFLEX
687
+ XK_Ubreve = 0x02dd # U+016C LATIN CAPITAL LETTER U WITH BREVE
688
+ XK_Scircumflex = 0x02de # U+015C LATIN CAPITAL LETTER S WITH CIRCUMFLEX
689
+ XK_cabovedot = 0x02e5 # U+010B LATIN SMALL LETTER C WITH DOT ABOVE
690
+ XK_ccircumflex = 0x02e6 # U+0109 LATIN SMALL LETTER C WITH CIRCUMFLEX
691
+ XK_gabovedot = 0x02f5 # U+0121 LATIN SMALL LETTER G WITH DOT ABOVE
692
+ XK_gcircumflex = 0x02f8 # U+011D LATIN SMALL LETTER G WITH CIRCUMFLEX
693
+ XK_ubreve = 0x02fd # U+016D LATIN SMALL LETTER U WITH BREVE
694
+ XK_scircumflex = 0x02fe # U+015D LATIN SMALL LETTER S WITH CIRCUMFLEX
695
+
696
+
697
+ # Latin 4
698
+ # Byte 3 = 3
699
+
700
+ XK_kra = 0x03a2 # U+0138 LATIN SMALL LETTER KRA
701
+ XK_kappa = 0x03a2 # deprecated
702
+ XK_Rcedilla = 0x03a3 # U+0156 LATIN CAPITAL LETTER R WITH CEDILLA
703
+ XK_Itilde = 0x03a5 # U+0128 LATIN CAPITAL LETTER I WITH TILDE
704
+ XK_Lcedilla = 0x03a6 # U+013B LATIN CAPITAL LETTER L WITH CEDILLA
705
+ XK_Emacron = 0x03aa # U+0112 LATIN CAPITAL LETTER E WITH MACRON
706
+ XK_Gcedilla = 0x03ab # U+0122 LATIN CAPITAL LETTER G WITH CEDILLA
707
+ XK_Tslash = 0x03ac # U+0166 LATIN CAPITAL LETTER T WITH STROKE
708
+ XK_rcedilla = 0x03b3 # U+0157 LATIN SMALL LETTER R WITH CEDILLA
709
+ XK_itilde = 0x03b5 # U+0129 LATIN SMALL LETTER I WITH TILDE
710
+ XK_lcedilla = 0x03b6 # U+013C LATIN SMALL LETTER L WITH CEDILLA
711
+ XK_emacron = 0x03ba # U+0113 LATIN SMALL LETTER E WITH MACRON
712
+ XK_gcedilla = 0x03bb # U+0123 LATIN SMALL LETTER G WITH CEDILLA
713
+ XK_tslash = 0x03bc # U+0167 LATIN SMALL LETTER T WITH STROKE
714
+ XK_ENG = 0x03bd # U+014A LATIN CAPITAL LETTER ENG
715
+ XK_eng = 0x03bf # U+014B LATIN SMALL LETTER ENG
716
+ XK_Amacron = 0x03c0 # U+0100 LATIN CAPITAL LETTER A WITH MACRON
717
+ XK_Iogonek = 0x03c7 # U+012E LATIN CAPITAL LETTER I WITH OGONEK
718
+ XK_Eabovedot = 0x03cc # U+0116 LATIN CAPITAL LETTER E WITH DOT ABOVE
719
+ XK_Imacron = 0x03cf # U+012A LATIN CAPITAL LETTER I WITH MACRON
720
+ XK_Ncedilla = 0x03d1 # U+0145 LATIN CAPITAL LETTER N WITH CEDILLA
721
+ XK_Omacron = 0x03d2 # U+014C LATIN CAPITAL LETTER O WITH MACRON
722
+ XK_Kcedilla = 0x03d3 # U+0136 LATIN CAPITAL LETTER K WITH CEDILLA
723
+ XK_Uogonek = 0x03d9 # U+0172 LATIN CAPITAL LETTER U WITH OGONEK
724
+ XK_Utilde = 0x03dd # U+0168 LATIN CAPITAL LETTER U WITH TILDE
725
+ XK_Umacron = 0x03de # U+016A LATIN CAPITAL LETTER U WITH MACRON
726
+ XK_amacron = 0x03e0 # U+0101 LATIN SMALL LETTER A WITH MACRON
727
+ XK_iogonek = 0x03e7 # U+012F LATIN SMALL LETTER I WITH OGONEK
728
+ XK_eabovedot = 0x03ec # U+0117 LATIN SMALL LETTER E WITH DOT ABOVE
729
+ XK_imacron = 0x03ef # U+012B LATIN SMALL LETTER I WITH MACRON
730
+ XK_ncedilla = 0x03f1 # U+0146 LATIN SMALL LETTER N WITH CEDILLA
731
+ XK_omacron = 0x03f2 # U+014D LATIN SMALL LETTER O WITH MACRON
732
+ XK_kcedilla = 0x03f3 # U+0137 LATIN SMALL LETTER K WITH CEDILLA
733
+ XK_uogonek = 0x03f9 # U+0173 LATIN SMALL LETTER U WITH OGONEK
734
+ XK_utilde = 0x03fd # U+0169 LATIN SMALL LETTER U WITH TILDE
735
+ XK_umacron = 0x03fe # U+016B LATIN SMALL LETTER U WITH MACRON
736
+
737
+ # Latin 8
738
+
739
+ XK_Wcircumflex = 0x1000174 # U+0174 LATIN CAPITAL LETTER W WITH CIRCUMFLEX
740
+ XK_wcircumflex = 0x1000175 # U+0175 LATIN SMALL LETTER W WITH CIRCUMFLEX
741
+ XK_Ycircumflex = 0x1000176 # U+0176 LATIN CAPITAL LETTER Y WITH CIRCUMFLEX
742
+ XK_ycircumflex = 0x1000177 # U+0177 LATIN SMALL LETTER Y WITH CIRCUMFLEX
743
+ XK_Babovedot = 0x1001e02 # U+1E02 LATIN CAPITAL LETTER B WITH DOT ABOVE
744
+ XK_babovedot = 0x1001e03 # U+1E03 LATIN SMALL LETTER B WITH DOT ABOVE
745
+ XK_Dabovedot = 0x1001e0a # U+1E0A LATIN CAPITAL LETTER D WITH DOT ABOVE
746
+ XK_dabovedot = 0x1001e0b # U+1E0B LATIN SMALL LETTER D WITH DOT ABOVE
747
+ XK_Fabovedot = 0x1001e1e # U+1E1E LATIN CAPITAL LETTER F WITH DOT ABOVE
748
+ XK_fabovedot = 0x1001e1f # U+1E1F LATIN SMALL LETTER F WITH DOT ABOVE
749
+ XK_Mabovedot = 0x1001e40 # U+1E40 LATIN CAPITAL LETTER M WITH DOT ABOVE
750
+ XK_mabovedot = 0x1001e41 # U+1E41 LATIN SMALL LETTER M WITH DOT ABOVE
751
+ XK_Pabovedot = 0x1001e56 # U+1E56 LATIN CAPITAL LETTER P WITH DOT ABOVE
752
+ XK_pabovedot = 0x1001e57 # U+1E57 LATIN SMALL LETTER P WITH DOT ABOVE
753
+ XK_Sabovedot = 0x1001e60 # U+1E60 LATIN CAPITAL LETTER S WITH DOT ABOVE
754
+ XK_sabovedot = 0x1001e61 # U+1E61 LATIN SMALL LETTER S WITH DOT ABOVE
755
+ XK_Tabovedot = 0x1001e6a # U+1E6A LATIN CAPITAL LETTER T WITH DOT ABOVE
756
+ XK_tabovedot = 0x1001e6b # U+1E6B LATIN SMALL LETTER T WITH DOT ABOVE
757
+ XK_Wgrave = 0x1001e80 # U+1E80 LATIN CAPITAL LETTER W WITH GRAVE
758
+ XK_wgrave = 0x1001e81 # U+1E81 LATIN SMALL LETTER W WITH GRAVE
759
+ XK_Wacute = 0x1001e82 # U+1E82 LATIN CAPITAL LETTER W WITH ACUTE
760
+ XK_wacute = 0x1001e83 # U+1E83 LATIN SMALL LETTER W WITH ACUTE
761
+ XK_Wdiaeresis = 0x1001e84 # U+1E84 LATIN CAPITAL LETTER W WITH DIAERESIS
762
+ XK_wdiaeresis = 0x1001e85 # U+1E85 LATIN SMALL LETTER W WITH DIAERESIS
763
+ XK_Ygrave = 0x1001ef2 # U+1EF2 LATIN CAPITAL LETTER Y WITH GRAVE
764
+ XK_ygrave = 0x1001ef3 # U+1EF3 LATIN SMALL LETTER Y WITH GRAVE
765
+
766
+ # Latin 9
767
+ # Byte 3 = 0x13
768
+
769
+ XK_OE = 0x13bc # U+0152 LATIN CAPITAL LIGATURE OE
770
+ XK_oe = 0x13bd # U+0153 LATIN SMALL LIGATURE OE
771
+ XK_Ydiaeresis = 0x13be # U+0178 LATIN CAPITAL LETTER Y WITH DIAERESIS
772
+
773
+ # Katakana
774
+ # Byte 3 = 4
775
+
776
+ XK_overline = 0x047e # U+203E OVERLINE
777
+ XK_kana_fullstop = 0x04a1 # U+3002 IDEOGRAPHIC FULL STOP
778
+ XK_kana_openingbracket = 0x04a2 # U+300C LEFT CORNER BRACKET
779
+ XK_kana_closingbracket = 0x04a3 # U+300D RIGHT CORNER BRACKET
780
+ XK_kana_comma = 0x04a4 # U+3001 IDEOGRAPHIC COMMA
781
+ XK_kana_conjunctive = 0x04a5 # U+30FB KATAKANA MIDDLE DOT
782
+ XK_kana_middledot = 0x04a5 # deprecated
783
+ XK_kana_WO = 0x04a6 # U+30F2 KATAKANA LETTER WO
784
+ XK_kana_a = 0x04a7 # U+30A1 KATAKANA LETTER SMALL A
785
+ XK_kana_i = 0x04a8 # U+30A3 KATAKANA LETTER SMALL I
786
+ XK_kana_u = 0x04a9 # U+30A5 KATAKANA LETTER SMALL U
787
+ XK_kana_e = 0x04aa # U+30A7 KATAKANA LETTER SMALL E
788
+ XK_kana_o = 0x04ab # U+30A9 KATAKANA LETTER SMALL O
789
+ XK_kana_ya = 0x04ac # U+30E3 KATAKANA LETTER SMALL YA
790
+ XK_kana_yu = 0x04ad # U+30E5 KATAKANA LETTER SMALL YU
791
+ XK_kana_yo = 0x04ae # U+30E7 KATAKANA LETTER SMALL YO
792
+ XK_kana_tsu = 0x04af # U+30C3 KATAKANA LETTER SMALL TU
793
+ XK_kana_tu = 0x04af # deprecated
794
+ XK_prolongedsound = 0x04b0 # U+30FC KATAKANA-HIRAGANA PROLONGED SOUND MARK
795
+ XK_kana_A = 0x04b1 # U+30A2 KATAKANA LETTER A
796
+ XK_kana_I = 0x04b2 # U+30A4 KATAKANA LETTER I
797
+ XK_kana_U = 0x04b3 # U+30A6 KATAKANA LETTER U
798
+ XK_kana_E = 0x04b4 # U+30A8 KATAKANA LETTER E
799
+ XK_kana_O = 0x04b5 # U+30AA KATAKANA LETTER O
800
+ XK_kana_KA = 0x04b6 # U+30AB KATAKANA LETTER KA
801
+ XK_kana_KI = 0x04b7 # U+30AD KATAKANA LETTER KI
802
+ XK_kana_KU = 0x04b8 # U+30AF KATAKANA LETTER KU
803
+ XK_kana_KE = 0x04b9 # U+30B1 KATAKANA LETTER KE
804
+ XK_kana_KO = 0x04ba # U+30B3 KATAKANA LETTER KO
805
+ XK_kana_SA = 0x04bb # U+30B5 KATAKANA LETTER SA
806
+ XK_kana_SHI = 0x04bc # U+30B7 KATAKANA LETTER SI
807
+ XK_kana_SU = 0x04bd # U+30B9 KATAKANA LETTER SU
808
+ XK_kana_SE = 0x04be # U+30BB KATAKANA LETTER SE
809
+ XK_kana_SO = 0x04bf # U+30BD KATAKANA LETTER SO
810
+ XK_kana_TA = 0x04c0 # U+30BF KATAKANA LETTER TA
811
+ XK_kana_CHI = 0x04c1 # U+30C1 KATAKANA LETTER TI
812
+ XK_kana_TI = 0x04c1 # deprecated
813
+ XK_kana_TSU = 0x04c2 # U+30C4 KATAKANA LETTER TU
814
+ XK_kana_TU = 0x04c2 # deprecated
815
+ XK_kana_TE = 0x04c3 # U+30C6 KATAKANA LETTER TE
816
+ XK_kana_TO = 0x04c4 # U+30C8 KATAKANA LETTER TO
817
+ XK_kana_NA = 0x04c5 # U+30CA KATAKANA LETTER NA
818
+ XK_kana_NI = 0x04c6 # U+30CB KATAKANA LETTER NI
819
+ XK_kana_NU = 0x04c7 # U+30CC KATAKANA LETTER NU
820
+ XK_kana_NE = 0x04c8 # U+30CD KATAKANA LETTER NE
821
+ XK_kana_NO = 0x04c9 # U+30CE KATAKANA LETTER NO
822
+ XK_kana_HA = 0x04ca # U+30CF KATAKANA LETTER HA
823
+ XK_kana_HI = 0x04cb # U+30D2 KATAKANA LETTER HI
824
+ XK_kana_FU = 0x04cc # U+30D5 KATAKANA LETTER HU
825
+ XK_kana_HU = 0x04cc # deprecated
826
+ XK_kana_HE = 0x04cd # U+30D8 KATAKANA LETTER HE
827
+ XK_kana_HO = 0x04ce # U+30DB KATAKANA LETTER HO
828
+ XK_kana_MA = 0x04cf # U+30DE KATAKANA LETTER MA
829
+ XK_kana_MI = 0x04d0 # U+30DF KATAKANA LETTER MI
830
+ XK_kana_MU = 0x04d1 # U+30E0 KATAKANA LETTER MU
831
+ XK_kana_ME = 0x04d2 # U+30E1 KATAKANA LETTER ME
832
+ XK_kana_MO = 0x04d3 # U+30E2 KATAKANA LETTER MO
833
+ XK_kana_YA = 0x04d4 # U+30E4 KATAKANA LETTER YA
834
+ XK_kana_YU = 0x04d5 # U+30E6 KATAKANA LETTER YU
835
+ XK_kana_YO = 0x04d6 # U+30E8 KATAKANA LETTER YO
836
+ XK_kana_RA = 0x04d7 # U+30E9 KATAKANA LETTER RA
837
+ XK_kana_RI = 0x04d8 # U+30EA KATAKANA LETTER RI
838
+ XK_kana_RU = 0x04d9 # U+30EB KATAKANA LETTER RU
839
+ XK_kana_RE = 0x04da # U+30EC KATAKANA LETTER RE
840
+ XK_kana_RO = 0x04db # U+30ED KATAKANA LETTER RO
841
+ XK_kana_WA = 0x04dc # U+30EF KATAKANA LETTER WA
842
+ XK_kana_N = 0x04dd # U+30F3 KATAKANA LETTER N
843
+ XK_voicedsound = 0x04de # U+309B KATAKANA-HIRAGANA VOICED SOUND MARK
844
+ XK_semivoicedsound = 0x04df # U+309C KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK
845
+ XK_kana_switch = 0xff7e # Alias for mode_switch
846
+
847
+ # Arabic
848
+ # Byte 3 = 5
849
+
850
+ XK_Farsi_0 = 0x10006f0 # U+06F0 EXTENDED ARABIC-INDIC DIGIT ZERO
851
+ XK_Farsi_1 = 0x10006f1 # U+06F1 EXTENDED ARABIC-INDIC DIGIT ONE
852
+ XK_Farsi_2 = 0x10006f2 # U+06F2 EXTENDED ARABIC-INDIC DIGIT TWO
853
+ XK_Farsi_3 = 0x10006f3 # U+06F3 EXTENDED ARABIC-INDIC DIGIT THREE
854
+ XK_Farsi_4 = 0x10006f4 # U+06F4 EXTENDED ARABIC-INDIC DIGIT FOUR
855
+ XK_Farsi_5 = 0x10006f5 # U+06F5 EXTENDED ARABIC-INDIC DIGIT FIVE
856
+ XK_Farsi_6 = 0x10006f6 # U+06F6 EXTENDED ARABIC-INDIC DIGIT SIX
857
+ XK_Farsi_7 = 0x10006f7 # U+06F7 EXTENDED ARABIC-INDIC DIGIT SEVEN
858
+ XK_Farsi_8 = 0x10006f8 # U+06F8 EXTENDED ARABIC-INDIC DIGIT EIGHT
859
+ XK_Farsi_9 = 0x10006f9 # U+06F9 EXTENDED ARABIC-INDIC DIGIT NINE
860
+ XK_Arabic_percent = 0x100066a # U+066A ARABIC PERCENT SIGN
861
+ XK_Arabic_superscript_alef = 0x1000670 # U+0670 ARABIC LETTER SUPERSCRIPT ALEF
862
+ XK_Arabic_tteh = 0x1000679 # U+0679 ARABIC LETTER TTEH
863
+ XK_Arabic_peh = 0x100067e # U+067E ARABIC LETTER PEH
864
+ XK_Arabic_tcheh = 0x1000686 # U+0686 ARABIC LETTER TCHEH
865
+ XK_Arabic_ddal = 0x1000688 # U+0688 ARABIC LETTER DDAL
866
+ XK_Arabic_rreh = 0x1000691 # U+0691 ARABIC LETTER RREH
867
+ XK_Arabic_comma = 0x05ac # U+060C ARABIC COMMA
868
+ XK_Arabic_fullstop = 0x10006d4 # U+06D4 ARABIC FULL STOP
869
+ XK_Arabic_0 = 0x1000660 # U+0660 ARABIC-INDIC DIGIT ZERO
870
+ XK_Arabic_1 = 0x1000661 # U+0661 ARABIC-INDIC DIGIT ONE
871
+ XK_Arabic_2 = 0x1000662 # U+0662 ARABIC-INDIC DIGIT TWO
872
+ XK_Arabic_3 = 0x1000663 # U+0663 ARABIC-INDIC DIGIT THREE
873
+ XK_Arabic_4 = 0x1000664 # U+0664 ARABIC-INDIC DIGIT FOUR
874
+ XK_Arabic_5 = 0x1000665 # U+0665 ARABIC-INDIC DIGIT FIVE
875
+ XK_Arabic_6 = 0x1000666 # U+0666 ARABIC-INDIC DIGIT SIX
876
+ XK_Arabic_7 = 0x1000667 # U+0667 ARABIC-INDIC DIGIT SEVEN
877
+ XK_Arabic_8 = 0x1000668 # U+0668 ARABIC-INDIC DIGIT EIGHT
878
+ XK_Arabic_9 = 0x1000669 # U+0669 ARABIC-INDIC DIGIT NINE
879
+ XK_Arabic_semicolon = 0x05bb # U+061B ARABIC SEMICOLON
880
+ XK_Arabic_question_mark = 0x05bf # U+061F ARABIC QUESTION MARK
881
+ XK_Arabic_hamza = 0x05c1 # U+0621 ARABIC LETTER HAMZA
882
+ XK_Arabic_maddaonalef = 0x05c2 # U+0622 ARABIC LETTER ALEF WITH MADDA ABOVE
883
+ XK_Arabic_hamzaonalef = 0x05c3 # U+0623 ARABIC LETTER ALEF WITH HAMZA ABOVE
884
+ XK_Arabic_hamzaonwaw = 0x05c4 # U+0624 ARABIC LETTER WAW WITH HAMZA ABOVE
885
+ XK_Arabic_hamzaunderalef = 0x05c5 # U+0625 ARABIC LETTER ALEF WITH HAMZA BELOW
886
+ XK_Arabic_hamzaonyeh = 0x05c6 # U+0626 ARABIC LETTER YEH WITH HAMZA ABOVE
887
+ XK_Arabic_alef = 0x05c7 # U+0627 ARABIC LETTER ALEF
888
+ XK_Arabic_beh = 0x05c8 # U+0628 ARABIC LETTER BEH
889
+ XK_Arabic_tehmarbuta = 0x05c9 # U+0629 ARABIC LETTER TEH MARBUTA
890
+ XK_Arabic_teh = 0x05ca # U+062A ARABIC LETTER TEH
891
+ XK_Arabic_theh = 0x05cb # U+062B ARABIC LETTER THEH
892
+ XK_Arabic_jeem = 0x05cc # U+062C ARABIC LETTER JEEM
893
+ XK_Arabic_hah = 0x05cd # U+062D ARABIC LETTER HAH
894
+ XK_Arabic_khah = 0x05ce # U+062E ARABIC LETTER KHAH
895
+ XK_Arabic_dal = 0x05cf # U+062F ARABIC LETTER DAL
896
+ XK_Arabic_thal = 0x05d0 # U+0630 ARABIC LETTER THAL
897
+ XK_Arabic_ra = 0x05d1 # U+0631 ARABIC LETTER REH
898
+ XK_Arabic_zain = 0x05d2 # U+0632 ARABIC LETTER ZAIN
899
+ XK_Arabic_seen = 0x05d3 # U+0633 ARABIC LETTER SEEN
900
+ XK_Arabic_sheen = 0x05d4 # U+0634 ARABIC LETTER SHEEN
901
+ XK_Arabic_sad = 0x05d5 # U+0635 ARABIC LETTER SAD
902
+ XK_Arabic_dad = 0x05d6 # U+0636 ARABIC LETTER DAD
903
+ XK_Arabic_tah = 0x05d7 # U+0637 ARABIC LETTER TAH
904
+ XK_Arabic_zah = 0x05d8 # U+0638 ARABIC LETTER ZAH
905
+ XK_Arabic_ain = 0x05d9 # U+0639 ARABIC LETTER AIN
906
+ XK_Arabic_ghain = 0x05da # U+063A ARABIC LETTER GHAIN
907
+ XK_Arabic_tatweel = 0x05e0 # U+0640 ARABIC TATWEEL
908
+ XK_Arabic_feh = 0x05e1 # U+0641 ARABIC LETTER FEH
909
+ XK_Arabic_qaf = 0x05e2 # U+0642 ARABIC LETTER QAF
910
+ XK_Arabic_kaf = 0x05e3 # U+0643 ARABIC LETTER KAF
911
+ XK_Arabic_lam = 0x05e4 # U+0644 ARABIC LETTER LAM
912
+ XK_Arabic_meem = 0x05e5 # U+0645 ARABIC LETTER MEEM
913
+ XK_Arabic_noon = 0x05e6 # U+0646 ARABIC LETTER NOON
914
+ XK_Arabic_ha = 0x05e7 # U+0647 ARABIC LETTER HEH
915
+ XK_Arabic_heh = 0x05e7 # deprecated
916
+ XK_Arabic_waw = 0x05e8 # U+0648 ARABIC LETTER WAW
917
+ XK_Arabic_alefmaksura = 0x05e9 # U+0649 ARABIC LETTER ALEF MAKSURA
918
+ XK_Arabic_yeh = 0x05ea # U+064A ARABIC LETTER YEH
919
+ XK_Arabic_fathatan = 0x05eb # U+064B ARABIC FATHATAN
920
+ XK_Arabic_dammatan = 0x05ec # U+064C ARABIC DAMMATAN
921
+ XK_Arabic_kasratan = 0x05ed # U+064D ARABIC KASRATAN
922
+ XK_Arabic_fatha = 0x05ee # U+064E ARABIC FATHA
923
+ XK_Arabic_damma = 0x05ef # U+064F ARABIC DAMMA
924
+ XK_Arabic_kasra = 0x05f0 # U+0650 ARABIC KASRA
925
+ XK_Arabic_shadda = 0x05f1 # U+0651 ARABIC SHADDA
926
+ XK_Arabic_sukun = 0x05f2 # U+0652 ARABIC SUKUN
927
+ XK_Arabic_madda_above = 0x1000653 # U+0653 ARABIC MADDAH ABOVE
928
+ XK_Arabic_hamza_above = 0x1000654 # U+0654 ARABIC HAMZA ABOVE
929
+ XK_Arabic_hamza_below = 0x1000655 # U+0655 ARABIC HAMZA BELOW
930
+ XK_Arabic_jeh = 0x1000698 # U+0698 ARABIC LETTER JEH
931
+ XK_Arabic_veh = 0x10006a4 # U+06A4 ARABIC LETTER VEH
932
+ XK_Arabic_keheh = 0x10006a9 # U+06A9 ARABIC LETTER KEHEH
933
+ XK_Arabic_gaf = 0x10006af # U+06AF ARABIC LETTER GAF
934
+ XK_Arabic_noon_ghunna = 0x10006ba # U+06BA ARABIC LETTER NOON GHUNNA
935
+ XK_Arabic_heh_doachashmee = 0x10006be # U+06BE ARABIC LETTER HEH DOACHASHMEE
936
+ XK_Farsi_yeh = 0x10006cc # U+06CC ARABIC LETTER FARSI YEH
937
+ XK_Arabic_farsi_yeh = 0x10006cc # U+06CC ARABIC LETTER FARSI YEH
938
+ XK_Arabic_yeh_baree = 0x10006d2 # U+06D2 ARABIC LETTER YEH BARREE
939
+ XK_Arabic_heh_goal = 0x10006c1 # U+06C1 ARABIC LETTER HEH GOAL
940
+ XK_Arabic_switch = 0xff7e # Alias for mode_switch
941
+
942
+ # Cyrillic
943
+ # Byte 3 = 6
944
+
945
+ XK_Cyrillic_GHE_bar = 0x1000492 # U+0492 CYRILLIC CAPITAL LETTER GHE WITH STROKE
946
+ XK_Cyrillic_ghe_bar = 0x1000493 # U+0493 CYRILLIC SMALL LETTER GHE WITH STROKE
947
+ XK_Cyrillic_ZHE_descender = 0x1000496 # U+0496 CYRILLIC CAPITAL LETTER ZHE WITH DESCENDER
948
+ XK_Cyrillic_zhe_descender = 0x1000497 # U+0497 CYRILLIC SMALL LETTER ZHE WITH DESCENDER
949
+ XK_Cyrillic_KA_descender = 0x100049a # U+049A CYRILLIC CAPITAL LETTER KA WITH DESCENDER
950
+ XK_Cyrillic_ka_descender = 0x100049b # U+049B CYRILLIC SMALL LETTER KA WITH DESCENDER
951
+ XK_Cyrillic_KA_vertstroke = 0x100049c # U+049C CYRILLIC CAPITAL LETTER KA WITH VERTICAL STROKE
952
+ XK_Cyrillic_ka_vertstroke = 0x100049d # U+049D CYRILLIC SMALL LETTER KA WITH VERTICAL STROKE
953
+ XK_Cyrillic_EN_descender = 0x10004a2 # U+04A2 CYRILLIC CAPITAL LETTER EN WITH DESCENDER
954
+ XK_Cyrillic_en_descender = 0x10004a3 # U+04A3 CYRILLIC SMALL LETTER EN WITH DESCENDER
955
+ XK_Cyrillic_U_straight = 0x10004ae # U+04AE CYRILLIC CAPITAL LETTER STRAIGHT U
956
+ XK_Cyrillic_u_straight = 0x10004af # U+04AF CYRILLIC SMALL LETTER STRAIGHT U
957
+ XK_Cyrillic_U_straight_bar = 0x10004b0 # U+04B0 CYRILLIC CAPITAL LETTER STRAIGHT U WITH STROKE
958
+ XK_Cyrillic_u_straight_bar = 0x10004b1 # U+04B1 CYRILLIC SMALL LETTER STRAIGHT U WITH STROKE
959
+ XK_Cyrillic_HA_descender = 0x10004b2 # U+04B2 CYRILLIC CAPITAL LETTER HA WITH DESCENDER
960
+ XK_Cyrillic_ha_descender = 0x10004b3 # U+04B3 CYRILLIC SMALL LETTER HA WITH DESCENDER
961
+ XK_Cyrillic_CHE_descender = 0x10004b6 # U+04B6 CYRILLIC CAPITAL LETTER CHE WITH DESCENDER
962
+ XK_Cyrillic_che_descender = 0x10004b7 # U+04B7 CYRILLIC SMALL LETTER CHE WITH DESCENDER
963
+ XK_Cyrillic_CHE_vertstroke = 0x10004b8 # U+04B8 CYRILLIC CAPITAL LETTER CHE WITH VERTICAL STROKE
964
+ XK_Cyrillic_che_vertstroke = 0x10004b9 # U+04B9 CYRILLIC SMALL LETTER CHE WITH VERTICAL STROKE
965
+ XK_Cyrillic_SHHA = 0x10004ba # U+04BA CYRILLIC CAPITAL LETTER SHHA
966
+ XK_Cyrillic_shha = 0x10004bb # U+04BB CYRILLIC SMALL LETTER SHHA
967
+
968
+ XK_Cyrillic_SCHWA = 0x10004d8 # U+04D8 CYRILLIC CAPITAL LETTER SCHWA
969
+ XK_Cyrillic_schwa = 0x10004d9 # U+04D9 CYRILLIC SMALL LETTER SCHWA
970
+ XK_Cyrillic_I_macron = 0x10004e2 # U+04E2 CYRILLIC CAPITAL LETTER I WITH MACRON
971
+ XK_Cyrillic_i_macron = 0x10004e3 # U+04E3 CYRILLIC SMALL LETTER I WITH MACRON
972
+ XK_Cyrillic_O_bar = 0x10004e8 # U+04E8 CYRILLIC CAPITAL LETTER BARRED O
973
+ XK_Cyrillic_o_bar = 0x10004e9 # U+04E9 CYRILLIC SMALL LETTER BARRED O
974
+ XK_Cyrillic_U_macron = 0x10004ee # U+04EE CYRILLIC CAPITAL LETTER U WITH MACRON
975
+ XK_Cyrillic_u_macron = 0x10004ef # U+04EF CYRILLIC SMALL LETTER U WITH MACRON
976
+
977
+ XK_Serbian_dje = 0x06a1 # U+0452 CYRILLIC SMALL LETTER DJE
978
+ XK_Macedonia_gje = 0x06a2 # U+0453 CYRILLIC SMALL LETTER GJE
979
+ XK_Cyrillic_io = 0x06a3 # U+0451 CYRILLIC SMALL LETTER IO
980
+ XK_Ukrainian_ie = 0x06a4 # U+0454 CYRILLIC SMALL LETTER UKRAINIAN IE
981
+ XK_Ukranian_je = 0x06a4 # deprecated
982
+ XK_Macedonia_dse = 0x06a5 # U+0455 CYRILLIC SMALL LETTER DZE
983
+ XK_Ukrainian_i = 0x06a6 # U+0456 CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I
984
+ XK_Ukranian_i = 0x06a6 # deprecated
985
+ XK_Ukrainian_yi = 0x06a7 # U+0457 CYRILLIC SMALL LETTER YI
986
+ XK_Ukranian_yi = 0x06a7 # deprecated
987
+ XK_Cyrillic_je = 0x06a8 # U+0458 CYRILLIC SMALL LETTER JE
988
+ XK_Serbian_je = 0x06a8 # deprecated
989
+ XK_Cyrillic_lje = 0x06a9 # U+0459 CYRILLIC SMALL LETTER LJE
990
+ XK_Serbian_lje = 0x06a9 # deprecated
991
+ XK_Cyrillic_nje = 0x06aa # U+045A CYRILLIC SMALL LETTER NJE
992
+ XK_Serbian_nje = 0x06aa # deprecated
993
+ XK_Serbian_tshe = 0x06ab # U+045B CYRILLIC SMALL LETTER TSHE
994
+ XK_Macedonia_kje = 0x06ac # U+045C CYRILLIC SMALL LETTER KJE
995
+ XK_Ukrainian_ghe_with_upturn = 0x06ad # U+0491 CYRILLIC SMALL LETTER GHE WITH UPTURN
996
+ XK_Byelorussian_shortu = 0x06ae # U+045E CYRILLIC SMALL LETTER SHORT U
997
+ XK_Cyrillic_dzhe = 0x06af # U+045F CYRILLIC SMALL LETTER DZHE
998
+ XK_Serbian_dze = 0x06af # deprecated
999
+ XK_numerosign = 0x06b0 # U+2116 NUMERO SIGN
1000
+ XK_Serbian_DJE = 0x06b1 # U+0402 CYRILLIC CAPITAL LETTER DJE
1001
+ XK_Macedonia_GJE = 0x06b2 # U+0403 CYRILLIC CAPITAL LETTER GJE
1002
+ XK_Cyrillic_IO = 0x06b3 # U+0401 CYRILLIC CAPITAL LETTER IO
1003
+ XK_Ukrainian_IE = 0x06b4 # U+0404 CYRILLIC CAPITAL LETTER UKRAINIAN IE
1004
+ XK_Ukranian_JE = 0x06b4 # deprecated
1005
+ XK_Macedonia_DSE = 0x06b5 # U+0405 CYRILLIC CAPITAL LETTER DZE
1006
+ XK_Ukrainian_I = 0x06b6 # U+0406 CYRILLIC CAPITAL LETTER BYELORUSSIAN-UKRAINIAN I
1007
+ XK_Ukranian_I = 0x06b6 # deprecated
1008
+ XK_Ukrainian_YI = 0x06b7 # U+0407 CYRILLIC CAPITAL LETTER YI
1009
+ XK_Ukranian_YI = 0x06b7 # deprecated
1010
+ XK_Cyrillic_JE = 0x06b8 # U+0408 CYRILLIC CAPITAL LETTER JE
1011
+ XK_Serbian_JE = 0x06b8 # deprecated
1012
+ XK_Cyrillic_LJE = 0x06b9 # U+0409 CYRILLIC CAPITAL LETTER LJE
1013
+ XK_Serbian_LJE = 0x06b9 # deprecated
1014
+ XK_Cyrillic_NJE = 0x06ba # U+040A CYRILLIC CAPITAL LETTER NJE
1015
+ XK_Serbian_NJE = 0x06ba # deprecated
1016
+ XK_Serbian_TSHE = 0x06bb # U+040B CYRILLIC CAPITAL LETTER TSHE
1017
+ XK_Macedonia_KJE = 0x06bc # U+040C CYRILLIC CAPITAL LETTER KJE
1018
+ XK_Ukrainian_GHE_WITH_UPTURN = 0x06bd # U+0490 CYRILLIC CAPITAL LETTER GHE WITH UPTURN
1019
+ XK_Byelorussian_SHORTU = 0x06be # U+040E CYRILLIC CAPITAL LETTER SHORT U
1020
+ XK_Cyrillic_DZHE = 0x06bf # U+040F CYRILLIC CAPITAL LETTER DZHE
1021
+ XK_Serbian_DZE = 0x06bf # deprecated
1022
+ XK_Cyrillic_yu = 0x06c0 # U+044E CYRILLIC SMALL LETTER YU
1023
+ XK_Cyrillic_a = 0x06c1 # U+0430 CYRILLIC SMALL LETTER A
1024
+ XK_Cyrillic_be = 0x06c2 # U+0431 CYRILLIC SMALL LETTER BE
1025
+ XK_Cyrillic_tse = 0x06c3 # U+0446 CYRILLIC SMALL LETTER TSE
1026
+ XK_Cyrillic_de = 0x06c4 # U+0434 CYRILLIC SMALL LETTER DE
1027
+ XK_Cyrillic_ie = 0x06c5 # U+0435 CYRILLIC SMALL LETTER IE
1028
+ XK_Cyrillic_ef = 0x06c6 # U+0444 CYRILLIC SMALL LETTER EF
1029
+ XK_Cyrillic_ghe = 0x06c7 # U+0433 CYRILLIC SMALL LETTER GHE
1030
+ XK_Cyrillic_ha = 0x06c8 # U+0445 CYRILLIC SMALL LETTER HA
1031
+ XK_Cyrillic_i = 0x06c9 # U+0438 CYRILLIC SMALL LETTER I
1032
+ XK_Cyrillic_shorti = 0x06ca # U+0439 CYRILLIC SMALL LETTER SHORT I
1033
+ XK_Cyrillic_ka = 0x06cb # U+043A CYRILLIC SMALL LETTER KA
1034
+ XK_Cyrillic_el = 0x06cc # U+043B CYRILLIC SMALL LETTER EL
1035
+ XK_Cyrillic_em = 0x06cd # U+043C CYRILLIC SMALL LETTER EM
1036
+ XK_Cyrillic_en = 0x06ce # U+043D CYRILLIC SMALL LETTER EN
1037
+ XK_Cyrillic_o = 0x06cf # U+043E CYRILLIC SMALL LETTER O
1038
+ XK_Cyrillic_pe = 0x06d0 # U+043F CYRILLIC SMALL LETTER PE
1039
+ XK_Cyrillic_ya = 0x06d1 # U+044F CYRILLIC SMALL LETTER YA
1040
+ XK_Cyrillic_er = 0x06d2 # U+0440 CYRILLIC SMALL LETTER ER
1041
+ XK_Cyrillic_es = 0x06d3 # U+0441 CYRILLIC SMALL LETTER ES
1042
+ XK_Cyrillic_te = 0x06d4 # U+0442 CYRILLIC SMALL LETTER TE
1043
+ XK_Cyrillic_u = 0x06d5 # U+0443 CYRILLIC SMALL LETTER U
1044
+ XK_Cyrillic_zhe = 0x06d6 # U+0436 CYRILLIC SMALL LETTER ZHE
1045
+ XK_Cyrillic_ve = 0x06d7 # U+0432 CYRILLIC SMALL LETTER VE
1046
+ XK_Cyrillic_softsign = 0x06d8 # U+044C CYRILLIC SMALL LETTER SOFT SIGN
1047
+ XK_Cyrillic_yeru = 0x06d9 # U+044B CYRILLIC SMALL LETTER YERU
1048
+ XK_Cyrillic_ze = 0x06da # U+0437 CYRILLIC SMALL LETTER ZE
1049
+ XK_Cyrillic_sha = 0x06db # U+0448 CYRILLIC SMALL LETTER SHA
1050
+ XK_Cyrillic_e = 0x06dc # U+044D CYRILLIC SMALL LETTER E
1051
+ XK_Cyrillic_shcha = 0x06dd # U+0449 CYRILLIC SMALL LETTER SHCHA
1052
+ XK_Cyrillic_che = 0x06de # U+0447 CYRILLIC SMALL LETTER CHE
1053
+ XK_Cyrillic_hardsign = 0x06df # U+044A CYRILLIC SMALL LETTER HARD SIGN
1054
+ XK_Cyrillic_YU = 0x06e0 # U+042E CYRILLIC CAPITAL LETTER YU
1055
+ XK_Cyrillic_A = 0x06e1 # U+0410 CYRILLIC CAPITAL LETTER A
1056
+ XK_Cyrillic_BE = 0x06e2 # U+0411 CYRILLIC CAPITAL LETTER BE
1057
+ XK_Cyrillic_TSE = 0x06e3 # U+0426 CYRILLIC CAPITAL LETTER TSE
1058
+ XK_Cyrillic_DE = 0x06e4 # U+0414 CYRILLIC CAPITAL LETTER DE
1059
+ XK_Cyrillic_IE = 0x06e5 # U+0415 CYRILLIC CAPITAL LETTER IE
1060
+ XK_Cyrillic_EF = 0x06e6 # U+0424 CYRILLIC CAPITAL LETTER EF
1061
+ XK_Cyrillic_GHE = 0x06e7 # U+0413 CYRILLIC CAPITAL LETTER GHE
1062
+ XK_Cyrillic_HA = 0x06e8 # U+0425 CYRILLIC CAPITAL LETTER HA
1063
+ XK_Cyrillic_I = 0x06e9 # U+0418 CYRILLIC CAPITAL LETTER I
1064
+ XK_Cyrillic_SHORTI = 0x06ea # U+0419 CYRILLIC CAPITAL LETTER SHORT I
1065
+ XK_Cyrillic_KA = 0x06eb # U+041A CYRILLIC CAPITAL LETTER KA
1066
+ XK_Cyrillic_EL = 0x06ec # U+041B CYRILLIC CAPITAL LETTER EL
1067
+ XK_Cyrillic_EM = 0x06ed # U+041C CYRILLIC CAPITAL LETTER EM
1068
+ XK_Cyrillic_EN = 0x06ee # U+041D CYRILLIC CAPITAL LETTER EN
1069
+ XK_Cyrillic_O = 0x06ef # U+041E CYRILLIC CAPITAL LETTER O
1070
+ XK_Cyrillic_PE = 0x06f0 # U+041F CYRILLIC CAPITAL LETTER PE
1071
+ XK_Cyrillic_YA = 0x06f1 # U+042F CYRILLIC CAPITAL LETTER YA
1072
+ XK_Cyrillic_ER = 0x06f2 # U+0420 CYRILLIC CAPITAL LETTER ER
1073
+ XK_Cyrillic_ES = 0x06f3 # U+0421 CYRILLIC CAPITAL LETTER ES
1074
+ XK_Cyrillic_TE = 0x06f4 # U+0422 CYRILLIC CAPITAL LETTER TE
1075
+ XK_Cyrillic_U = 0x06f5 # U+0423 CYRILLIC CAPITAL LETTER U
1076
+ XK_Cyrillic_ZHE = 0x06f6 # U+0416 CYRILLIC CAPITAL LETTER ZHE
1077
+ XK_Cyrillic_VE = 0x06f7 # U+0412 CYRILLIC CAPITAL LETTER VE
1078
+ XK_Cyrillic_SOFTSIGN = 0x06f8 # U+042C CYRILLIC CAPITAL LETTER SOFT SIGN
1079
+ XK_Cyrillic_YERU = 0x06f9 # U+042B CYRILLIC CAPITAL LETTER YERU
1080
+ XK_Cyrillic_ZE = 0x06fa # U+0417 CYRILLIC CAPITAL LETTER ZE
1081
+ XK_Cyrillic_SHA = 0x06fb # U+0428 CYRILLIC CAPITAL LETTER SHA
1082
+ XK_Cyrillic_E = 0x06fc # U+042D CYRILLIC CAPITAL LETTER E
1083
+ XK_Cyrillic_SHCHA = 0x06fd # U+0429 CYRILLIC CAPITAL LETTER SHCHA
1084
+ XK_Cyrillic_CHE = 0x06fe # U+0427 CYRILLIC CAPITAL LETTER CHE
1085
+ XK_Cyrillic_HARDSIGN = 0x06ff # U+042A CYRILLIC CAPITAL LETTER HARD SIGN
1086
+
1087
+ # Greek
1088
+ # (based on an early draft of, and not quite identical to, ISO/IEC 8859-7)
1089
+ # Byte 3 = 7
1090
+
1091
+ XK_Greek_ALPHAaccent = 0x07a1 # U+0386 GREEK CAPITAL LETTER ALPHA WITH TONOS
1092
+ XK_Greek_EPSILONaccent = 0x07a2 # U+0388 GREEK CAPITAL LETTER EPSILON WITH TONOS
1093
+ XK_Greek_ETAaccent = 0x07a3 # U+0389 GREEK CAPITAL LETTER ETA WITH TONOS
1094
+ XK_Greek_IOTAaccent = 0x07a4 # U+038A GREEK CAPITAL LETTER IOTA WITH TONOS
1095
+ XK_Greek_IOTAdieresis = 0x07a5 # U+03AA GREEK CAPITAL LETTER IOTA WITH DIALYTIKA
1096
+ XK_Greek_IOTAdiaeresis = 0x07a5 # old typo
1097
+ XK_Greek_OMICRONaccent = 0x07a7 # U+038C GREEK CAPITAL LETTER OMICRON WITH TONOS
1098
+ XK_Greek_UPSILONaccent = 0x07a8 # U+038E GREEK CAPITAL LETTER UPSILON WITH TONOS
1099
+ XK_Greek_UPSILONdieresis = 0x07a9 # U+03AB GREEK CAPITAL LETTER UPSILON WITH DIALYTIKA
1100
+ XK_Greek_OMEGAaccent = 0x07ab # U+038F GREEK CAPITAL LETTER OMEGA WITH TONOS
1101
+ XK_Greek_accentdieresis = 0x07ae # U+0385 GREEK DIALYTIKA TONOS
1102
+ XK_Greek_horizbar = 0x07af # U+2015 HORIZONTAL BAR
1103
+ XK_Greek_alphaaccent = 0x07b1 # U+03AC GREEK SMALL LETTER ALPHA WITH TONOS
1104
+ XK_Greek_epsilonaccent = 0x07b2 # U+03AD GREEK SMALL LETTER EPSILON WITH TONOS
1105
+ XK_Greek_etaaccent = 0x07b3 # U+03AE GREEK SMALL LETTER ETA WITH TONOS
1106
+ XK_Greek_iotaaccent = 0x07b4 # U+03AF GREEK SMALL LETTER IOTA WITH TONOS
1107
+ XK_Greek_iotadieresis = 0x07b5 # U+03CA GREEK SMALL LETTER IOTA WITH DIALYTIKA
1108
+ XK_Greek_iotaaccentdieresis = 0x07b6 # U+0390 GREEK SMALL LETTER IOTA WITH DIALYTIKA AND TONOS
1109
+ XK_Greek_omicronaccent = 0x07b7 # U+03CC GREEK SMALL LETTER OMICRON WITH TONOS
1110
+ XK_Greek_upsilonaccent = 0x07b8 # U+03CD GREEK SMALL LETTER UPSILON WITH TONOS
1111
+ XK_Greek_upsilondieresis = 0x07b9 # U+03CB GREEK SMALL LETTER UPSILON WITH DIALYTIKA
1112
+ XK_Greek_upsilonaccentdieresis = 0x07ba # U+03B0 GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND TONOS
1113
+ XK_Greek_omegaaccent = 0x07bb # U+03CE GREEK SMALL LETTER OMEGA WITH TONOS
1114
+ XK_Greek_ALPHA = 0x07c1 # U+0391 GREEK CAPITAL LETTER ALPHA
1115
+ XK_Greek_BETA = 0x07c2 # U+0392 GREEK CAPITAL LETTER BETA
1116
+ XK_Greek_GAMMA = 0x07c3 # U+0393 GREEK CAPITAL LETTER GAMMA
1117
+ XK_Greek_DELTA = 0x07c4 # U+0394 GREEK CAPITAL LETTER DELTA
1118
+ XK_Greek_EPSILON = 0x07c5 # U+0395 GREEK CAPITAL LETTER EPSILON
1119
+ XK_Greek_ZETA = 0x07c6 # U+0396 GREEK CAPITAL LETTER ZETA
1120
+ XK_Greek_ETA = 0x07c7 # U+0397 GREEK CAPITAL LETTER ETA
1121
+ XK_Greek_THETA = 0x07c8 # U+0398 GREEK CAPITAL LETTER THETA
1122
+ XK_Greek_IOTA = 0x07c9 # U+0399 GREEK CAPITAL LETTER IOTA
1123
+ XK_Greek_KAPPA = 0x07ca # U+039A GREEK CAPITAL LETTER KAPPA
1124
+ XK_Greek_LAMDA = 0x07cb # U+039B GREEK CAPITAL LETTER LAMDA
1125
+ XK_Greek_LAMBDA = 0x07cb # U+039B GREEK CAPITAL LETTER LAMDA
1126
+ XK_Greek_MU = 0x07cc # U+039C GREEK CAPITAL LETTER MU
1127
+ XK_Greek_NU = 0x07cd # U+039D GREEK CAPITAL LETTER NU
1128
+ XK_Greek_XI = 0x07ce # U+039E GREEK CAPITAL LETTER XI
1129
+ XK_Greek_OMICRON = 0x07cf # U+039F GREEK CAPITAL LETTER OMICRON
1130
+ XK_Greek_PI = 0x07d0 # U+03A0 GREEK CAPITAL LETTER PI
1131
+ XK_Greek_RHO = 0x07d1 # U+03A1 GREEK CAPITAL LETTER RHO
1132
+ XK_Greek_SIGMA = 0x07d2 # U+03A3 GREEK CAPITAL LETTER SIGMA
1133
+ XK_Greek_TAU = 0x07d4 # U+03A4 GREEK CAPITAL LETTER TAU
1134
+ XK_Greek_UPSILON = 0x07d5 # U+03A5 GREEK CAPITAL LETTER UPSILON
1135
+ XK_Greek_PHI = 0x07d6 # U+03A6 GREEK CAPITAL LETTER PHI
1136
+ XK_Greek_CHI = 0x07d7 # U+03A7 GREEK CAPITAL LETTER CHI
1137
+ XK_Greek_PSI = 0x07d8 # U+03A8 GREEK CAPITAL LETTER PSI
1138
+ XK_Greek_OMEGA = 0x07d9 # U+03A9 GREEK CAPITAL LETTER OMEGA
1139
+ XK_Greek_alpha = 0x07e1 # U+03B1 GREEK SMALL LETTER ALPHA
1140
+ XK_Greek_beta = 0x07e2 # U+03B2 GREEK SMALL LETTER BETA
1141
+ XK_Greek_gamma = 0x07e3 # U+03B3 GREEK SMALL LETTER GAMMA
1142
+ XK_Greek_delta = 0x07e4 # U+03B4 GREEK SMALL LETTER DELTA
1143
+ XK_Greek_epsilon = 0x07e5 # U+03B5 GREEK SMALL LETTER EPSILON
1144
+ XK_Greek_zeta = 0x07e6 # U+03B6 GREEK SMALL LETTER ZETA
1145
+ XK_Greek_eta = 0x07e7 # U+03B7 GREEK SMALL LETTER ETA
1146
+ XK_Greek_theta = 0x07e8 # U+03B8 GREEK SMALL LETTER THETA
1147
+ XK_Greek_iota = 0x07e9 # U+03B9 GREEK SMALL LETTER IOTA
1148
+ XK_Greek_kappa = 0x07ea # U+03BA GREEK SMALL LETTER KAPPA
1149
+ XK_Greek_lamda = 0x07eb # U+03BB GREEK SMALL LETTER LAMDA
1150
+ XK_Greek_lambda = 0x07eb # U+03BB GREEK SMALL LETTER LAMDA
1151
+ XK_Greek_mu = 0x07ec # U+03BC GREEK SMALL LETTER MU
1152
+ XK_Greek_nu = 0x07ed # U+03BD GREEK SMALL LETTER NU
1153
+ XK_Greek_xi = 0x07ee # U+03BE GREEK SMALL LETTER XI
1154
+ XK_Greek_omicron = 0x07ef # U+03BF GREEK SMALL LETTER OMICRON
1155
+ XK_Greek_pi = 0x07f0 # U+03C0 GREEK SMALL LETTER PI
1156
+ XK_Greek_rho = 0x07f1 # U+03C1 GREEK SMALL LETTER RHO
1157
+ XK_Greek_sigma = 0x07f2 # U+03C3 GREEK SMALL LETTER SIGMA
1158
+ XK_Greek_finalsmallsigma = 0x07f3 # U+03C2 GREEK SMALL LETTER FINAL SIGMA
1159
+ XK_Greek_tau = 0x07f4 # U+03C4 GREEK SMALL LETTER TAU
1160
+ XK_Greek_upsilon = 0x07f5 # U+03C5 GREEK SMALL LETTER UPSILON
1161
+ XK_Greek_phi = 0x07f6 # U+03C6 GREEK SMALL LETTER PHI
1162
+ XK_Greek_chi = 0x07f7 # U+03C7 GREEK SMALL LETTER CHI
1163
+ XK_Greek_psi = 0x07f8 # U+03C8 GREEK SMALL LETTER PSI
1164
+ XK_Greek_omega = 0x07f9 # U+03C9 GREEK SMALL LETTER OMEGA
1165
+ XK_Greek_switch = 0xff7e # Alias for mode_switch
1166
+
1167
+ # Technical
1168
+ # (from the DEC VT330/VT420 Technical Character Set, http://vt100.net/charsets/technical.html)
1169
+ # Byte 3 = 8
1170
+
1171
+ XK_leftradical = 0x08a1 # U+23B7 RADICAL SYMBOL BOTTOM
1172
+ XK_topleftradical = 0x08a2 # (U+250C BOX DRAWINGS LIGHT DOWN AND RIGHT)
1173
+ XK_horizconnector = 0x08a3 # (U+2500 BOX DRAWINGS LIGHT HORIZONTAL)
1174
+ XK_topintegral = 0x08a4 # U+2320 TOP HALF INTEGRAL
1175
+ XK_botintegral = 0x08a5 # U+2321 BOTTOM HALF INTEGRAL
1176
+ XK_vertconnector = 0x08a6 # (U+2502 BOX DRAWINGS LIGHT VERTICAL)
1177
+ XK_topleftsqbracket = 0x08a7 # U+23A1 LEFT SQUARE BRACKET UPPER CORNER
1178
+ XK_botleftsqbracket = 0x08a8 # U+23A3 LEFT SQUARE BRACKET LOWER CORNER
1179
+ XK_toprightsqbracket = 0x08a9 # U+23A4 RIGHT SQUARE BRACKET UPPER CORNER
1180
+ XK_botrightsqbracket = 0x08aa # U+23A6 RIGHT SQUARE BRACKET LOWER CORNER
1181
+ XK_topleftparens = 0x08ab # U+239B LEFT PARENTHESIS UPPER HOOK
1182
+ XK_botleftparens = 0x08ac # U+239D LEFT PARENTHESIS LOWER HOOK
1183
+ XK_toprightparens = 0x08ad # U+239E RIGHT PARENTHESIS UPPER HOOK
1184
+ XK_botrightparens = 0x08ae # U+23A0 RIGHT PARENTHESIS LOWER HOOK
1185
+ XK_leftmiddlecurlybrace = 0x08af # U+23A8 LEFT CURLY BRACKET MIDDLE PIECE
1186
+ XK_rightmiddlecurlybrace = 0x08b0 # U+23AC RIGHT CURLY BRACKET MIDDLE PIECE
1187
+ XK_topleftsummation = 0x08b1
1188
+ XK_botleftsummation = 0x08b2
1189
+ XK_topvertsummationconnector = 0x08b3
1190
+ XK_botvertsummationconnector = 0x08b4
1191
+ XK_toprightsummation = 0x08b5
1192
+ XK_botrightsummation = 0x08b6
1193
+ XK_rightmiddlesummation = 0x08b7
1194
+ XK_lessthanequal = 0x08bc # U+2264 LESS-THAN OR EQUAL TO
1195
+ XK_notequal = 0x08bd # U+2260 NOT EQUAL TO
1196
+ XK_greaterthanequal = 0x08be # U+2265 GREATER-THAN OR EQUAL TO
1197
+ XK_integral = 0x08bf # U+222B INTEGRAL
1198
+ XK_therefore = 0x08c0 # U+2234 THEREFORE
1199
+ XK_variation = 0x08c1 # U+221D PROPORTIONAL TO
1200
+ XK_infinity = 0x08c2 # U+221E INFINITY
1201
+ XK_nabla = 0x08c5 # U+2207 NABLA
1202
+ XK_approximate = 0x08c8 # U+223C TILDE OPERATOR
1203
+ XK_similarequal = 0x08c9 # U+2243 ASYMPTOTICALLY EQUAL TO
1204
+ XK_ifonlyif = 0x08cd # U+21D4 LEFT RIGHT DOUBLE ARROW
1205
+ XK_implies = 0x08ce # U+21D2 RIGHTWARDS DOUBLE ARROW
1206
+ XK_identical = 0x08cf # U+2261 IDENTICAL TO
1207
+ XK_radical = 0x08d6 # U+221A SQUARE ROOT
1208
+ XK_includedin = 0x08da # U+2282 SUBSET OF
1209
+ XK_includes = 0x08db # U+2283 SUPERSET OF
1210
+ XK_intersection = 0x08dc # U+2229 INTERSECTION
1211
+ XK_union = 0x08dd # U+222A UNION
1212
+ XK_logicaland = 0x08de # U+2227 LOGICAL AND
1213
+ XK_logicalor = 0x08df # U+2228 LOGICAL OR
1214
+ XK_partialderivative = 0x08ef # U+2202 PARTIAL DIFFERENTIAL
1215
+ XK_function = 0x08f6 # U+0192 LATIN SMALL LETTER F WITH HOOK
1216
+ XK_leftarrow = 0x08fb # U+2190 LEFTWARDS ARROW
1217
+ XK_uparrow = 0x08fc # U+2191 UPWARDS ARROW
1218
+ XK_rightarrow = 0x08fd # U+2192 RIGHTWARDS ARROW
1219
+ XK_downarrow = 0x08fe # U+2193 DOWNWARDS ARROW
1220
+
1221
+ # Special
1222
+ # (from the DEC VT100 Special Graphics Character Set)
1223
+ # Byte 3 = 9
1224
+
1225
+ XK_blank = 0x09df
1226
+ XK_soliddiamond = 0x09e0 # U+25C6 BLACK DIAMOND
1227
+ XK_checkerboard = 0x09e1 # U+2592 MEDIUM SHADE
1228
+ XK_ht = 0x09e2 # U+2409 SYMBOL FOR HORIZONTAL TABULATION
1229
+ XK_ff = 0x09e3 # U+240C SYMBOL FOR FORM FEED
1230
+ XK_cr = 0x09e4 # U+240D SYMBOL FOR CARRIAGE RETURN
1231
+ XK_lf = 0x09e5 # U+240A SYMBOL FOR LINE FEED
1232
+ XK_nl = 0x09e8 # U+2424 SYMBOL FOR NEWLINE
1233
+ XK_vt = 0x09e9 # U+240B SYMBOL FOR VERTICAL TABULATION
1234
+ XK_lowrightcorner = 0x09ea # U+2518 BOX DRAWINGS LIGHT UP AND LEFT
1235
+ XK_uprightcorner = 0x09eb # U+2510 BOX DRAWINGS LIGHT DOWN AND LEFT
1236
+ XK_upleftcorner = 0x09ec # U+250C BOX DRAWINGS LIGHT DOWN AND RIGHT
1237
+ XK_lowleftcorner = 0x09ed # U+2514 BOX DRAWINGS LIGHT UP AND RIGHT
1238
+ XK_crossinglines = 0x09ee # U+253C BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
1239
+ XK_horizlinescan1 = 0x09ef # U+23BA HORIZONTAL SCAN LINE-1
1240
+ XK_horizlinescan3 = 0x09f0 # U+23BB HORIZONTAL SCAN LINE-3
1241
+ XK_horizlinescan5 = 0x09f1 # U+2500 BOX DRAWINGS LIGHT HORIZONTAL
1242
+ XK_horizlinescan7 = 0x09f2 # U+23BC HORIZONTAL SCAN LINE-7
1243
+ XK_horizlinescan9 = 0x09f3 # U+23BD HORIZONTAL SCAN LINE-9
1244
+ XK_leftt = 0x09f4 # U+251C BOX DRAWINGS LIGHT VERTICAL AND RIGHT
1245
+ XK_rightt = 0x09f5 # U+2524 BOX DRAWINGS LIGHT VERTICAL AND LEFT
1246
+ XK_bott = 0x09f6 # U+2534 BOX DRAWINGS LIGHT UP AND HORIZONTAL
1247
+ XK_topt = 0x09f7 # U+252C BOX DRAWINGS LIGHT DOWN AND HORIZONTAL
1248
+ XK_vertbar = 0x09f8 # U+2502 BOX DRAWINGS LIGHT VERTICAL
1249
+
1250
+ # Publishing
1251
+ # (these are probably from a long forgotten DEC Publishing
1252
+ # font that once shipped with DECwrite)
1253
+ # Byte 3 = 0x0a
1254
+
1255
+ XK_emspace = 0x0aa1 # U+2003 EM SPACE
1256
+ XK_enspace = 0x0aa2 # U+2002 EN SPACE
1257
+ XK_em3space = 0x0aa3 # U+2004 THREE-PER-EM SPACE
1258
+ XK_em4space = 0x0aa4 # U+2005 FOUR-PER-EM SPACE
1259
+ XK_digitspace = 0x0aa5 # U+2007 FIGURE SPACE
1260
+ XK_punctspace = 0x0aa6 # U+2008 PUNCTUATION SPACE
1261
+ XK_thinspace = 0x0aa7 # U+2009 THIN SPACE
1262
+ XK_hairspace = 0x0aa8 # U+200A HAIR SPACE
1263
+ XK_emdash = 0x0aa9 # U+2014 EM DASH
1264
+ XK_endash = 0x0aaa # U+2013 EN DASH
1265
+ XK_signifblank = 0x0aac # (U+2423 OPEN BOX)
1266
+ XK_ellipsis = 0x0aae # U+2026 HORIZONTAL ELLIPSIS
1267
+ XK_doubbaselinedot = 0x0aaf # U+2025 TWO DOT LEADER
1268
+ XK_onethird = 0x0ab0 # U+2153 VULGAR FRACTION ONE THIRD
1269
+ XK_twothirds = 0x0ab1 # U+2154 VULGAR FRACTION TWO THIRDS
1270
+ XK_onefifth = 0x0ab2 # U+2155 VULGAR FRACTION ONE FIFTH
1271
+ XK_twofifths = 0x0ab3 # U+2156 VULGAR FRACTION TWO FIFTHS
1272
+ XK_threefifths = 0x0ab4 # U+2157 VULGAR FRACTION THREE FIFTHS
1273
+ XK_fourfifths = 0x0ab5 # U+2158 VULGAR FRACTION FOUR FIFTHS
1274
+ XK_onesixth = 0x0ab6 # U+2159 VULGAR FRACTION ONE SIXTH
1275
+ XK_fivesixths = 0x0ab7 # U+215A VULGAR FRACTION FIVE SIXTHS
1276
+ XK_careof = 0x0ab8 # U+2105 CARE OF
1277
+ XK_figdash = 0x0abb # U+2012 FIGURE DASH
1278
+ XK_leftanglebracket = 0x0abc # (U+27E8 MATHEMATICAL LEFT ANGLE BRACKET)
1279
+ XK_decimalpoint = 0x0abd # (U+002E FULL STOP)
1280
+ XK_rightanglebracket = 0x0abe # (U+27E9 MATHEMATICAL RIGHT ANGLE BRACKET)
1281
+ XK_marker = 0x0abf
1282
+ XK_oneeighth = 0x0ac3 # U+215B VULGAR FRACTION ONE EIGHTH
1283
+ XK_threeeighths = 0x0ac4 # U+215C VULGAR FRACTION THREE EIGHTHS
1284
+ XK_fiveeighths = 0x0ac5 # U+215D VULGAR FRACTION FIVE EIGHTHS
1285
+ XK_seveneighths = 0x0ac6 # U+215E VULGAR FRACTION SEVEN EIGHTHS
1286
+ XK_trademark = 0x0ac9 # U+2122 TRADE MARK SIGN
1287
+ XK_signaturemark = 0x0aca # (U+2613 SALTIRE)
1288
+ XK_trademarkincircle = 0x0acb
1289
+ XK_leftopentriangle = 0x0acc # (U+25C1 WHITE LEFT-POINTING TRIANGLE)
1290
+ XK_rightopentriangle = 0x0acd # (U+25B7 WHITE RIGHT-POINTING TRIANGLE)
1291
+ XK_emopencircle = 0x0ace # (U+25CB WHITE CIRCLE)
1292
+ XK_emopenrectangle = 0x0acf # (U+25AF WHITE VERTICAL RECTANGLE)
1293
+ XK_leftsinglequotemark = 0x0ad0 # U+2018 LEFT SINGLE QUOTATION MARK
1294
+ XK_rightsinglequotemark = 0x0ad1 # U+2019 RIGHT SINGLE QUOTATION MARK
1295
+ XK_leftdoublequotemark = 0x0ad2 # U+201C LEFT DOUBLE QUOTATION MARK
1296
+ XK_rightdoublequotemark = 0x0ad3 # U+201D RIGHT DOUBLE QUOTATION MARK
1297
+ XK_prescription = 0x0ad4 # U+211E PRESCRIPTION TAKE
1298
+ XK_permille = 0x0ad5 # U+2030 PER MILLE SIGN
1299
+ XK_minutes = 0x0ad6 # U+2032 PRIME
1300
+ XK_seconds = 0x0ad7 # U+2033 DOUBLE PRIME
1301
+ XK_latincross = 0x0ad9 # U+271D LATIN CROSS
1302
+ XK_hexagram = 0x0ada
1303
+ XK_filledrectbullet = 0x0adb # (U+25AC BLACK RECTANGLE)
1304
+ XK_filledlefttribullet = 0x0adc # (U+25C0 BLACK LEFT-POINTING TRIANGLE)
1305
+ XK_filledrighttribullet = 0x0add # (U+25B6 BLACK RIGHT-POINTING TRIANGLE)
1306
+ XK_emfilledcircle = 0x0ade # (U+25CF BLACK CIRCLE)
1307
+ XK_emfilledrect = 0x0adf # (U+25AE BLACK VERTICAL RECTANGLE)
1308
+ XK_enopencircbullet = 0x0ae0 # (U+25E6 WHITE BULLET)
1309
+ XK_enopensquarebullet = 0x0ae1 # (U+25AB WHITE SMALL SQUARE)
1310
+ XK_openrectbullet = 0x0ae2 # (U+25AD WHITE RECTANGLE)
1311
+ XK_opentribulletup = 0x0ae3 # (U+25B3 WHITE UP-POINTING TRIANGLE)
1312
+ XK_opentribulletdown = 0x0ae4 # (U+25BD WHITE DOWN-POINTING TRIANGLE)
1313
+ XK_openstar = 0x0ae5 # (U+2606 WHITE STAR)
1314
+ XK_enfilledcircbullet = 0x0ae6 # (U+2022 BULLET)
1315
+ XK_enfilledsqbullet = 0x0ae7 # (U+25AA BLACK SMALL SQUARE)
1316
+ XK_filledtribulletup = 0x0ae8 # (U+25B2 BLACK UP-POINTING TRIANGLE)
1317
+ XK_filledtribulletdown = 0x0ae9 # (U+25BC BLACK DOWN-POINTING TRIANGLE)
1318
+ XK_leftpointer = 0x0aea # (U+261C WHITE LEFT POINTING INDEX)
1319
+ XK_rightpointer = 0x0aeb # (U+261E WHITE RIGHT POINTING INDEX)
1320
+ XK_club = 0x0aec # U+2663 BLACK CLUB SUIT
1321
+ XK_diamond = 0x0aed # U+2666 BLACK DIAMOND SUIT
1322
+ XK_heart = 0x0aee # U+2665 BLACK HEART SUIT
1323
+ XK_maltesecross = 0x0af0 # U+2720 MALTESE CROSS
1324
+ XK_dagger = 0x0af1 # U+2020 DAGGER
1325
+ XK_doubledagger = 0x0af2 # U+2021 DOUBLE DAGGER
1326
+ XK_checkmark = 0x0af3 # U+2713 CHECK MARK
1327
+ XK_ballotcross = 0x0af4 # U+2717 BALLOT X
1328
+ XK_musicalsharp = 0x0af5 # U+266F MUSIC SHARP SIGN
1329
+ XK_musicalflat = 0x0af6 # U+266D MUSIC FLAT SIGN
1330
+ XK_malesymbol = 0x0af7 # U+2642 MALE SIGN
1331
+ XK_femalesymbol = 0x0af8 # U+2640 FEMALE SIGN
1332
+ XK_telephone = 0x0af9 # U+260E BLACK TELEPHONE
1333
+ XK_telephonerecorder = 0x0afa # U+2315 TELEPHONE RECORDER
1334
+ XK_phonographcopyright = 0x0afb # U+2117 SOUND RECORDING COPYRIGHT
1335
+ XK_caret = 0x0afc # U+2038 CARET
1336
+ XK_singlelowquotemark = 0x0afd # U+201A SINGLE LOW-9 QUOTATION MARK
1337
+ XK_doublelowquotemark = 0x0afe # U+201E DOUBLE LOW-9 QUOTATION MARK
1338
+ XK_cursor = 0x0aff
1339
+
1340
+ # APL
1341
+ # Byte 3 = 0x0b
1342
+
1343
+ XK_leftcaret = 0x0ba3 # (U+003C LESS-THAN SIGN)
1344
+ XK_rightcaret = 0x0ba6 # (U+003E GREATER-THAN SIGN)
1345
+ XK_downcaret = 0x0ba8 # (U+2228 LOGICAL OR)
1346
+ XK_upcaret = 0x0ba9 # (U+2227 LOGICAL AND)
1347
+ XK_overbar = 0x0bc0 # (U+00AF MACRON)
1348
+ XK_downtack = 0x0bc2 # U+22A4 DOWN TACK
1349
+ XK_upshoe = 0x0bc3 # (U+2229 INTERSECTION)
1350
+ XK_downstile = 0x0bc4 # U+230A LEFT FLOOR
1351
+ XK_underbar = 0x0bc6 # (U+005F LOW LINE)
1352
+ XK_jot = 0x0bca # U+2218 RING OPERATOR
1353
+ XK_quad = 0x0bcc # U+2395 APL FUNCTIONAL SYMBOL QUAD
1354
+ XK_uptack = 0x0bce # U+22A5 UP TACK
1355
+ XK_circle = 0x0bcf # U+25CB WHITE CIRCLE
1356
+ XK_upstile = 0x0bd3 # U+2308 LEFT CEILING
1357
+ XK_downshoe = 0x0bd6 # (U+222A UNION)
1358
+ XK_rightshoe = 0x0bd8 # (U+2283 SUPERSET OF)
1359
+ XK_leftshoe = 0x0bda # (U+2282 SUBSET OF)
1360
+ XK_lefttack = 0x0bdc # U+22A3 LEFT TACK
1361
+ XK_righttack = 0x0bfc # U+22A2 RIGHT TACK
1362
+
1363
+ # Hebrew
1364
+ # Byte 3 = 0x0c
1365
+
1366
+ XK_hebrew_doublelowline = 0x0cdf # U+2017 DOUBLE LOW LINE
1367
+ XK_hebrew_aleph = 0x0ce0 # U+05D0 HEBREW LETTER ALEF
1368
+ XK_hebrew_bet = 0x0ce1 # U+05D1 HEBREW LETTER BET
1369
+ XK_hebrew_beth = 0x0ce1 # deprecated
1370
+ XK_hebrew_gimel = 0x0ce2 # U+05D2 HEBREW LETTER GIMEL
1371
+ XK_hebrew_gimmel = 0x0ce2 # deprecated
1372
+ XK_hebrew_dalet = 0x0ce3 # U+05D3 HEBREW LETTER DALET
1373
+ XK_hebrew_daleth = 0x0ce3 # deprecated
1374
+ XK_hebrew_he = 0x0ce4 # U+05D4 HEBREW LETTER HE
1375
+ XK_hebrew_waw = 0x0ce5 # U+05D5 HEBREW LETTER VAV
1376
+ XK_hebrew_zain = 0x0ce6 # U+05D6 HEBREW LETTER ZAYIN
1377
+ XK_hebrew_zayin = 0x0ce6 # deprecated
1378
+ XK_hebrew_chet = 0x0ce7 # U+05D7 HEBREW LETTER HET
1379
+ XK_hebrew_het = 0x0ce7 # deprecated
1380
+ XK_hebrew_tet = 0x0ce8 # U+05D8 HEBREW LETTER TET
1381
+ XK_hebrew_teth = 0x0ce8 # deprecated
1382
+ XK_hebrew_yod = 0x0ce9 # U+05D9 HEBREW LETTER YOD
1383
+ XK_hebrew_finalkaph = 0x0cea # U+05DA HEBREW LETTER FINAL KAF
1384
+ XK_hebrew_kaph = 0x0ceb # U+05DB HEBREW LETTER KAF
1385
+ XK_hebrew_lamed = 0x0cec # U+05DC HEBREW LETTER LAMED
1386
+ XK_hebrew_finalmem = 0x0ced # U+05DD HEBREW LETTER FINAL MEM
1387
+ XK_hebrew_mem = 0x0cee # U+05DE HEBREW LETTER MEM
1388
+ XK_hebrew_finalnun = 0x0cef # U+05DF HEBREW LETTER FINAL NUN
1389
+ XK_hebrew_nun = 0x0cf0 # U+05E0 HEBREW LETTER NUN
1390
+ XK_hebrew_samech = 0x0cf1 # U+05E1 HEBREW LETTER SAMEKH
1391
+ XK_hebrew_samekh = 0x0cf1 # deprecated
1392
+ XK_hebrew_ayin = 0x0cf2 # U+05E2 HEBREW LETTER AYIN
1393
+ XK_hebrew_finalpe = 0x0cf3 # U+05E3 HEBREW LETTER FINAL PE
1394
+ XK_hebrew_pe = 0x0cf4 # U+05E4 HEBREW LETTER PE
1395
+ XK_hebrew_finalzade = 0x0cf5 # U+05E5 HEBREW LETTER FINAL TSADI
1396
+ XK_hebrew_finalzadi = 0x0cf5 # deprecated
1397
+ XK_hebrew_zade = 0x0cf6 # U+05E6 HEBREW LETTER TSADI
1398
+ XK_hebrew_zadi = 0x0cf6 # deprecated
1399
+ XK_hebrew_qoph = 0x0cf7 # U+05E7 HEBREW LETTER QOF
1400
+ XK_hebrew_kuf = 0x0cf7 # deprecated
1401
+ XK_hebrew_resh = 0x0cf8 # U+05E8 HEBREW LETTER RESH
1402
+ XK_hebrew_shin = 0x0cf9 # U+05E9 HEBREW LETTER SHIN
1403
+ XK_hebrew_taw = 0x0cfa # U+05EA HEBREW LETTER TAV
1404
+ XK_hebrew_taf = 0x0cfa # deprecated
1405
+ XK_Hebrew_switch = 0xff7e # Alias for mode_switch
1406
+
1407
+ # Thai
1408
+ # Byte 3 = 0x0d
1409
+
1410
+ XK_Thai_kokai = 0x0da1 # U+0E01 THAI CHARACTER KO KAI
1411
+ XK_Thai_khokhai = 0x0da2 # U+0E02 THAI CHARACTER KHO KHAI
1412
+ XK_Thai_khokhuat = 0x0da3 # U+0E03 THAI CHARACTER KHO KHUAT
1413
+ XK_Thai_khokhwai = 0x0da4 # U+0E04 THAI CHARACTER KHO KHWAI
1414
+ XK_Thai_khokhon = 0x0da5 # U+0E05 THAI CHARACTER KHO KHON
1415
+ XK_Thai_khorakhang = 0x0da6 # U+0E06 THAI CHARACTER KHO RAKHANG
1416
+ XK_Thai_ngongu = 0x0da7 # U+0E07 THAI CHARACTER NGO NGU
1417
+ XK_Thai_chochan = 0x0da8 # U+0E08 THAI CHARACTER CHO CHAN
1418
+ XK_Thai_choching = 0x0da9 # U+0E09 THAI CHARACTER CHO CHING
1419
+ XK_Thai_chochang = 0x0daa # U+0E0A THAI CHARACTER CHO CHANG
1420
+ XK_Thai_soso = 0x0dab # U+0E0B THAI CHARACTER SO SO
1421
+ XK_Thai_chochoe = 0x0dac # U+0E0C THAI CHARACTER CHO CHOE
1422
+ XK_Thai_yoying = 0x0dad # U+0E0D THAI CHARACTER YO YING
1423
+ XK_Thai_dochada = 0x0dae # U+0E0E THAI CHARACTER DO CHADA
1424
+ XK_Thai_topatak = 0x0daf # U+0E0F THAI CHARACTER TO PATAK
1425
+ XK_Thai_thothan = 0x0db0 # U+0E10 THAI CHARACTER THO THAN
1426
+ XK_Thai_thonangmontho = 0x0db1 # U+0E11 THAI CHARACTER THO NANGMONTHO
1427
+ XK_Thai_thophuthao = 0x0db2 # U+0E12 THAI CHARACTER THO PHUTHAO
1428
+ XK_Thai_nonen = 0x0db3 # U+0E13 THAI CHARACTER NO NEN
1429
+ XK_Thai_dodek = 0x0db4 # U+0E14 THAI CHARACTER DO DEK
1430
+ XK_Thai_totao = 0x0db5 # U+0E15 THAI CHARACTER TO TAO
1431
+ XK_Thai_thothung = 0x0db6 # U+0E16 THAI CHARACTER THO THUNG
1432
+ XK_Thai_thothahan = 0x0db7 # U+0E17 THAI CHARACTER THO THAHAN
1433
+ XK_Thai_thothong = 0x0db8 # U+0E18 THAI CHARACTER THO THONG
1434
+ XK_Thai_nonu = 0x0db9 # U+0E19 THAI CHARACTER NO NU
1435
+ XK_Thai_bobaimai = 0x0dba # U+0E1A THAI CHARACTER BO BAIMAI
1436
+ XK_Thai_popla = 0x0dbb # U+0E1B THAI CHARACTER PO PLA
1437
+ XK_Thai_phophung = 0x0dbc # U+0E1C THAI CHARACTER PHO PHUNG
1438
+ XK_Thai_fofa = 0x0dbd # U+0E1D THAI CHARACTER FO FA
1439
+ XK_Thai_phophan = 0x0dbe # U+0E1E THAI CHARACTER PHO PHAN
1440
+ XK_Thai_fofan = 0x0dbf # U+0E1F THAI CHARACTER FO FAN
1441
+ XK_Thai_phosamphao = 0x0dc0 # U+0E20 THAI CHARACTER PHO SAMPHAO
1442
+ XK_Thai_moma = 0x0dc1 # U+0E21 THAI CHARACTER MO MA
1443
+ XK_Thai_yoyak = 0x0dc2 # U+0E22 THAI CHARACTER YO YAK
1444
+ XK_Thai_rorua = 0x0dc3 # U+0E23 THAI CHARACTER RO RUA
1445
+ XK_Thai_ru = 0x0dc4 # U+0E24 THAI CHARACTER RU
1446
+ XK_Thai_loling = 0x0dc5 # U+0E25 THAI CHARACTER LO LING
1447
+ XK_Thai_lu = 0x0dc6 # U+0E26 THAI CHARACTER LU
1448
+ XK_Thai_wowaen = 0x0dc7 # U+0E27 THAI CHARACTER WO WAEN
1449
+ XK_Thai_sosala = 0x0dc8 # U+0E28 THAI CHARACTER SO SALA
1450
+ XK_Thai_sorusi = 0x0dc9 # U+0E29 THAI CHARACTER SO RUSI
1451
+ XK_Thai_sosua = 0x0dca # U+0E2A THAI CHARACTER SO SUA
1452
+ XK_Thai_hohip = 0x0dcb # U+0E2B THAI CHARACTER HO HIP
1453
+ XK_Thai_lochula = 0x0dcc # U+0E2C THAI CHARACTER LO CHULA
1454
+ XK_Thai_oang = 0x0dcd # U+0E2D THAI CHARACTER O ANG
1455
+ XK_Thai_honokhuk = 0x0dce # U+0E2E THAI CHARACTER HO NOKHUK
1456
+ XK_Thai_paiyannoi = 0x0dcf # U+0E2F THAI CHARACTER PAIYANNOI
1457
+ XK_Thai_saraa = 0x0dd0 # U+0E30 THAI CHARACTER SARA A
1458
+ XK_Thai_maihanakat = 0x0dd1 # U+0E31 THAI CHARACTER MAI HAN-AKAT
1459
+ XK_Thai_saraaa = 0x0dd2 # U+0E32 THAI CHARACTER SARA AA
1460
+ XK_Thai_saraam = 0x0dd3 # U+0E33 THAI CHARACTER SARA AM
1461
+ XK_Thai_sarai = 0x0dd4 # U+0E34 THAI CHARACTER SARA I
1462
+ XK_Thai_saraii = 0x0dd5 # U+0E35 THAI CHARACTER SARA II
1463
+ XK_Thai_saraue = 0x0dd6 # U+0E36 THAI CHARACTER SARA UE
1464
+ XK_Thai_sarauee = 0x0dd7 # U+0E37 THAI CHARACTER SARA UEE
1465
+ XK_Thai_sarau = 0x0dd8 # U+0E38 THAI CHARACTER SARA U
1466
+ XK_Thai_sarauu = 0x0dd9 # U+0E39 THAI CHARACTER SARA UU
1467
+ XK_Thai_phinthu = 0x0dda # U+0E3A THAI CHARACTER PHINTHU
1468
+ XK_Thai_maihanakat_maitho = 0x0dde
1469
+ XK_Thai_baht = 0x0ddf # U+0E3F THAI CURRENCY SYMBOL BAHT
1470
+ XK_Thai_sarae = 0x0de0 # U+0E40 THAI CHARACTER SARA E
1471
+ XK_Thai_saraae = 0x0de1 # U+0E41 THAI CHARACTER SARA AE
1472
+ XK_Thai_sarao = 0x0de2 # U+0E42 THAI CHARACTER SARA O
1473
+ XK_Thai_saraaimaimuan = 0x0de3 # U+0E43 THAI CHARACTER SARA AI MAIMUAN
1474
+ XK_Thai_saraaimaimalai = 0x0de4 # U+0E44 THAI CHARACTER SARA AI MAIMALAI
1475
+ XK_Thai_lakkhangyao = 0x0de5 # U+0E45 THAI CHARACTER LAKKHANGYAO
1476
+ XK_Thai_maiyamok = 0x0de6 # U+0E46 THAI CHARACTER MAIYAMOK
1477
+ XK_Thai_maitaikhu = 0x0de7 # U+0E47 THAI CHARACTER MAITAIKHU
1478
+ XK_Thai_maiek = 0x0de8 # U+0E48 THAI CHARACTER MAI EK
1479
+ XK_Thai_maitho = 0x0de9 # U+0E49 THAI CHARACTER MAI THO
1480
+ XK_Thai_maitri = 0x0dea # U+0E4A THAI CHARACTER MAI TRI
1481
+ XK_Thai_maichattawa = 0x0deb # U+0E4B THAI CHARACTER MAI CHATTAWA
1482
+ XK_Thai_thanthakhat = 0x0dec # U+0E4C THAI CHARACTER THANTHAKHAT
1483
+ XK_Thai_nikhahit = 0x0ded # U+0E4D THAI CHARACTER NIKHAHIT
1484
+ XK_Thai_leksun = 0x0df0 # U+0E50 THAI DIGIT ZERO
1485
+ XK_Thai_leknung = 0x0df1 # U+0E51 THAI DIGIT ONE
1486
+ XK_Thai_leksong = 0x0df2 # U+0E52 THAI DIGIT TWO
1487
+ XK_Thai_leksam = 0x0df3 # U+0E53 THAI DIGIT THREE
1488
+ XK_Thai_leksi = 0x0df4 # U+0E54 THAI DIGIT FOUR
1489
+ XK_Thai_lekha = 0x0df5 # U+0E55 THAI DIGIT FIVE
1490
+ XK_Thai_lekhok = 0x0df6 # U+0E56 THAI DIGIT SIX
1491
+ XK_Thai_lekchet = 0x0df7 # U+0E57 THAI DIGIT SEVEN
1492
+ XK_Thai_lekpaet = 0x0df8 # U+0E58 THAI DIGIT EIGHT
1493
+ XK_Thai_lekkao = 0x0df9 # U+0E59 THAI DIGIT NINE
1494
+
1495
+ # Korean
1496
+ # Byte 3 = 0x0e
1497
+
1498
+ XK_Hangul = 0xff31 # Hangul start/stop(toggle)
1499
+ XK_Hangul_Start = 0xff32 # Hangul start
1500
+ XK_Hangul_End = 0xff33 # Hangul end, English start
1501
+ XK_Hangul_Hanja = 0xff34 # Start Hangul->Hanja Conversion
1502
+ XK_Hangul_Jamo = 0xff35 # Hangul Jamo mode
1503
+ XK_Hangul_Romaja = 0xff36 # Hangul Romaja mode
1504
+ XK_Hangul_Codeinput = 0xff37 # Hangul code input mode
1505
+ XK_Hangul_Jeonja = 0xff38 # Jeonja mode
1506
+ XK_Hangul_Banja = 0xff39 # Banja mode
1507
+ XK_Hangul_PreHanja = 0xff3a # Pre Hanja conversion
1508
+ XK_Hangul_PostHanja = 0xff3b # Post Hanja conversion
1509
+ XK_Hangul_SingleCandidate = 0xff3c # Single candidate
1510
+ XK_Hangul_MultipleCandidate = 0xff3d # Multiple candidate
1511
+ XK_Hangul_PreviousCandidate = 0xff3e # Previous candidate
1512
+ XK_Hangul_Special = 0xff3f # Special symbols
1513
+ XK_Hangul_switch = 0xff7e # Alias for mode_switch
1514
+
1515
+ # Hangul Consonant Characters
1516
+ XK_Hangul_Kiyeog = 0x0ea1
1517
+ XK_Hangul_SsangKiyeog = 0x0ea2
1518
+ XK_Hangul_KiyeogSios = 0x0ea3
1519
+ XK_Hangul_Nieun = 0x0ea4
1520
+ XK_Hangul_NieunJieuj = 0x0ea5
1521
+ XK_Hangul_NieunHieuh = 0x0ea6
1522
+ XK_Hangul_Dikeud = 0x0ea7
1523
+ XK_Hangul_SsangDikeud = 0x0ea8
1524
+ XK_Hangul_Rieul = 0x0ea9
1525
+ XK_Hangul_RieulKiyeog = 0x0eaa
1526
+ XK_Hangul_RieulMieum = 0x0eab
1527
+ XK_Hangul_RieulPieub = 0x0eac
1528
+ XK_Hangul_RieulSios = 0x0ead
1529
+ XK_Hangul_RieulTieut = 0x0eae
1530
+ XK_Hangul_RieulPhieuf = 0x0eaf
1531
+ XK_Hangul_RieulHieuh = 0x0eb0
1532
+ XK_Hangul_Mieum = 0x0eb1
1533
+ XK_Hangul_Pieub = 0x0eb2
1534
+ XK_Hangul_SsangPieub = 0x0eb3
1535
+ XK_Hangul_PieubSios = 0x0eb4
1536
+ XK_Hangul_Sios = 0x0eb5
1537
+ XK_Hangul_SsangSios = 0x0eb6
1538
+ XK_Hangul_Ieung = 0x0eb7
1539
+ XK_Hangul_Jieuj = 0x0eb8
1540
+ XK_Hangul_SsangJieuj = 0x0eb9
1541
+ XK_Hangul_Cieuc = 0x0eba
1542
+ XK_Hangul_Khieuq = 0x0ebb
1543
+ XK_Hangul_Tieut = 0x0ebc
1544
+ XK_Hangul_Phieuf = 0x0ebd
1545
+ XK_Hangul_Hieuh = 0x0ebe
1546
+
1547
+ # Hangul Vowel Characters
1548
+ XK_Hangul_A = 0x0ebf
1549
+ XK_Hangul_AE = 0x0ec0
1550
+ XK_Hangul_YA = 0x0ec1
1551
+ XK_Hangul_YAE = 0x0ec2
1552
+ XK_Hangul_EO = 0x0ec3
1553
+ XK_Hangul_E = 0x0ec4
1554
+ XK_Hangul_YEO = 0x0ec5
1555
+ XK_Hangul_YE = 0x0ec6
1556
+ XK_Hangul_O = 0x0ec7
1557
+ XK_Hangul_WA = 0x0ec8
1558
+ XK_Hangul_WAE = 0x0ec9
1559
+ XK_Hangul_OE = 0x0eca
1560
+ XK_Hangul_YO = 0x0ecb
1561
+ XK_Hangul_U = 0x0ecc
1562
+ XK_Hangul_WEO = 0x0ecd
1563
+ XK_Hangul_WE = 0x0ece
1564
+ XK_Hangul_WI = 0x0ecf
1565
+ XK_Hangul_YU = 0x0ed0
1566
+ XK_Hangul_EU = 0x0ed1
1567
+ XK_Hangul_YI = 0x0ed2
1568
+ XK_Hangul_I = 0x0ed3
1569
+
1570
+ # Hangul syllable-final (JongSeong) Characters
1571
+ XK_Hangul_J_Kiyeog = 0x0ed4
1572
+ XK_Hangul_J_SsangKiyeog = 0x0ed5
1573
+ XK_Hangul_J_KiyeogSios = 0x0ed6
1574
+ XK_Hangul_J_Nieun = 0x0ed7
1575
+ XK_Hangul_J_NieunJieuj = 0x0ed8
1576
+ XK_Hangul_J_NieunHieuh = 0x0ed9
1577
+ XK_Hangul_J_Dikeud = 0x0eda
1578
+ XK_Hangul_J_Rieul = 0x0edb
1579
+ XK_Hangul_J_RieulKiyeog = 0x0edc
1580
+ XK_Hangul_J_RieulMieum = 0x0edd
1581
+ XK_Hangul_J_RieulPieub = 0x0ede
1582
+ XK_Hangul_J_RieulSios = 0x0edf
1583
+ XK_Hangul_J_RieulTieut = 0x0ee0
1584
+ XK_Hangul_J_RieulPhieuf = 0x0ee1
1585
+ XK_Hangul_J_RieulHieuh = 0x0ee2
1586
+ XK_Hangul_J_Mieum = 0x0ee3
1587
+ XK_Hangul_J_Pieub = 0x0ee4
1588
+ XK_Hangul_J_PieubSios = 0x0ee5
1589
+ XK_Hangul_J_Sios = 0x0ee6
1590
+ XK_Hangul_J_SsangSios = 0x0ee7
1591
+ XK_Hangul_J_Ieung = 0x0ee8
1592
+ XK_Hangul_J_Jieuj = 0x0ee9
1593
+ XK_Hangul_J_Cieuc = 0x0eea
1594
+ XK_Hangul_J_Khieuq = 0x0eeb
1595
+ XK_Hangul_J_Tieut = 0x0eec
1596
+ XK_Hangul_J_Phieuf = 0x0eed
1597
+ XK_Hangul_J_Hieuh = 0x0eee
1598
+
1599
+ # Ancient Hangul Consonant Characters
1600
+ XK_Hangul_RieulYeorinHieuh = 0x0eef
1601
+ XK_Hangul_SunkyeongeumMieum = 0x0ef0
1602
+ XK_Hangul_SunkyeongeumPieub = 0x0ef1
1603
+ XK_Hangul_PanSios = 0x0ef2
1604
+ XK_Hangul_KkogjiDalrinIeung = 0x0ef3
1605
+ XK_Hangul_SunkyeongeumPhieuf = 0x0ef4
1606
+ XK_Hangul_YeorinHieuh = 0x0ef5
1607
+
1608
+ # Ancient Hangul Vowel Characters
1609
+ XK_Hangul_AraeA = 0x0ef6
1610
+ XK_Hangul_AraeAE = 0x0ef7
1611
+
1612
+ # Ancient Hangul syllable-final (JongSeong) Characters
1613
+ XK_Hangul_J_PanSios = 0x0ef8
1614
+ XK_Hangul_J_KkogjiDalrinIeung = 0x0ef9
1615
+ XK_Hangul_J_YeorinHieuh = 0x0efa
1616
+
1617
+ # Korean currency symbol
1618
+ XK_Korean_Won = 0x0eff # (U+20A9 WON SIGN)
1619
+
1620
+ # Armenian
1621
+
1622
+ XK_Armenian_ligature_ew = 0x1000587 # U+0587 ARMENIAN SMALL LIGATURE ECH YIWN
1623
+ XK_Armenian_full_stop = 0x1000589 # U+0589 ARMENIAN FULL STOP
1624
+ XK_Armenian_verjaket = 0x1000589 # U+0589 ARMENIAN FULL STOP
1625
+ XK_Armenian_separation_mark = 0x100055d # U+055D ARMENIAN COMMA
1626
+ XK_Armenian_but = 0x100055d # U+055D ARMENIAN COMMA
1627
+ XK_Armenian_hyphen = 0x100058a # U+058A ARMENIAN HYPHEN
1628
+ XK_Armenian_yentamna = 0x100058a # U+058A ARMENIAN HYPHEN
1629
+ XK_Armenian_exclam = 0x100055c # U+055C ARMENIAN EXCLAMATION MARK
1630
+ XK_Armenian_amanak = 0x100055c # U+055C ARMENIAN EXCLAMATION MARK
1631
+ XK_Armenian_accent = 0x100055b # U+055B ARMENIAN EMPHASIS MARK
1632
+ XK_Armenian_shesht = 0x100055b # U+055B ARMENIAN EMPHASIS MARK
1633
+ XK_Armenian_question = 0x100055e # U+055E ARMENIAN QUESTION MARK
1634
+ XK_Armenian_paruyk = 0x100055e # U+055E ARMENIAN QUESTION MARK
1635
+ XK_Armenian_AYB = 0x1000531 # U+0531 ARMENIAN CAPITAL LETTER AYB
1636
+ XK_Armenian_ayb = 0x1000561 # U+0561 ARMENIAN SMALL LETTER AYB
1637
+ XK_Armenian_BEN = 0x1000532 # U+0532 ARMENIAN CAPITAL LETTER BEN
1638
+ XK_Armenian_ben = 0x1000562 # U+0562 ARMENIAN SMALL LETTER BEN
1639
+ XK_Armenian_GIM = 0x1000533 # U+0533 ARMENIAN CAPITAL LETTER GIM
1640
+ XK_Armenian_gim = 0x1000563 # U+0563 ARMENIAN SMALL LETTER GIM
1641
+ XK_Armenian_DA = 0x1000534 # U+0534 ARMENIAN CAPITAL LETTER DA
1642
+ XK_Armenian_da = 0x1000564 # U+0564 ARMENIAN SMALL LETTER DA
1643
+ XK_Armenian_YECH = 0x1000535 # U+0535 ARMENIAN CAPITAL LETTER ECH
1644
+ XK_Armenian_yech = 0x1000565 # U+0565 ARMENIAN SMALL LETTER ECH
1645
+ XK_Armenian_ZA = 0x1000536 # U+0536 ARMENIAN CAPITAL LETTER ZA
1646
+ XK_Armenian_za = 0x1000566 # U+0566 ARMENIAN SMALL LETTER ZA
1647
+ XK_Armenian_E = 0x1000537 # U+0537 ARMENIAN CAPITAL LETTER EH
1648
+ XK_Armenian_e = 0x1000567 # U+0567 ARMENIAN SMALL LETTER EH
1649
+ XK_Armenian_AT = 0x1000538 # U+0538 ARMENIAN CAPITAL LETTER ET
1650
+ XK_Armenian_at = 0x1000568 # U+0568 ARMENIAN SMALL LETTER ET
1651
+ XK_Armenian_TO = 0x1000539 # U+0539 ARMENIAN CAPITAL LETTER TO
1652
+ XK_Armenian_to = 0x1000569 # U+0569 ARMENIAN SMALL LETTER TO
1653
+ XK_Armenian_ZHE = 0x100053a # U+053A ARMENIAN CAPITAL LETTER ZHE
1654
+ XK_Armenian_zhe = 0x100056a # U+056A ARMENIAN SMALL LETTER ZHE
1655
+ XK_Armenian_INI = 0x100053b # U+053B ARMENIAN CAPITAL LETTER INI
1656
+ XK_Armenian_ini = 0x100056b # U+056B ARMENIAN SMALL LETTER INI
1657
+ XK_Armenian_LYUN = 0x100053c # U+053C ARMENIAN CAPITAL LETTER LIWN
1658
+ XK_Armenian_lyun = 0x100056c # U+056C ARMENIAN SMALL LETTER LIWN
1659
+ XK_Armenian_KHE = 0x100053d # U+053D ARMENIAN CAPITAL LETTER XEH
1660
+ XK_Armenian_khe = 0x100056d # U+056D ARMENIAN SMALL LETTER XEH
1661
+ XK_Armenian_TSA = 0x100053e # U+053E ARMENIAN CAPITAL LETTER CA
1662
+ XK_Armenian_tsa = 0x100056e # U+056E ARMENIAN SMALL LETTER CA
1663
+ XK_Armenian_KEN = 0x100053f # U+053F ARMENIAN CAPITAL LETTER KEN
1664
+ XK_Armenian_ken = 0x100056f # U+056F ARMENIAN SMALL LETTER KEN
1665
+ XK_Armenian_HO = 0x1000540 # U+0540 ARMENIAN CAPITAL LETTER HO
1666
+ XK_Armenian_ho = 0x1000570 # U+0570 ARMENIAN SMALL LETTER HO
1667
+ XK_Armenian_DZA = 0x1000541 # U+0541 ARMENIAN CAPITAL LETTER JA
1668
+ XK_Armenian_dza = 0x1000571 # U+0571 ARMENIAN SMALL LETTER JA
1669
+ XK_Armenian_GHAT = 0x1000542 # U+0542 ARMENIAN CAPITAL LETTER GHAD
1670
+ XK_Armenian_ghat = 0x1000572 # U+0572 ARMENIAN SMALL LETTER GHAD
1671
+ XK_Armenian_TCHE = 0x1000543 # U+0543 ARMENIAN CAPITAL LETTER CHEH
1672
+ XK_Armenian_tche = 0x1000573 # U+0573 ARMENIAN SMALL LETTER CHEH
1673
+ XK_Armenian_MEN = 0x1000544 # U+0544 ARMENIAN CAPITAL LETTER MEN
1674
+ XK_Armenian_men = 0x1000574 # U+0574 ARMENIAN SMALL LETTER MEN
1675
+ XK_Armenian_HI = 0x1000545 # U+0545 ARMENIAN CAPITAL LETTER YI
1676
+ XK_Armenian_hi = 0x1000575 # U+0575 ARMENIAN SMALL LETTER YI
1677
+ XK_Armenian_NU = 0x1000546 # U+0546 ARMENIAN CAPITAL LETTER NOW
1678
+ XK_Armenian_nu = 0x1000576 # U+0576 ARMENIAN SMALL LETTER NOW
1679
+ XK_Armenian_SHA = 0x1000547 # U+0547 ARMENIAN CAPITAL LETTER SHA
1680
+ XK_Armenian_sha = 0x1000577 # U+0577 ARMENIAN SMALL LETTER SHA
1681
+ XK_Armenian_VO = 0x1000548 # U+0548 ARMENIAN CAPITAL LETTER VO
1682
+ XK_Armenian_vo = 0x1000578 # U+0578 ARMENIAN SMALL LETTER VO
1683
+ XK_Armenian_CHA = 0x1000549 # U+0549 ARMENIAN CAPITAL LETTER CHA
1684
+ XK_Armenian_cha = 0x1000579 # U+0579 ARMENIAN SMALL LETTER CHA
1685
+ XK_Armenian_PE = 0x100054a # U+054A ARMENIAN CAPITAL LETTER PEH
1686
+ XK_Armenian_pe = 0x100057a # U+057A ARMENIAN SMALL LETTER PEH
1687
+ XK_Armenian_JE = 0x100054b # U+054B ARMENIAN CAPITAL LETTER JHEH
1688
+ XK_Armenian_je = 0x100057b # U+057B ARMENIAN SMALL LETTER JHEH
1689
+ XK_Armenian_RA = 0x100054c # U+054C ARMENIAN CAPITAL LETTER RA
1690
+ XK_Armenian_ra = 0x100057c # U+057C ARMENIAN SMALL LETTER RA
1691
+ XK_Armenian_SE = 0x100054d # U+054D ARMENIAN CAPITAL LETTER SEH
1692
+ XK_Armenian_se = 0x100057d # U+057D ARMENIAN SMALL LETTER SEH
1693
+ XK_Armenian_VEV = 0x100054e # U+054E ARMENIAN CAPITAL LETTER VEW
1694
+ XK_Armenian_vev = 0x100057e # U+057E ARMENIAN SMALL LETTER VEW
1695
+ XK_Armenian_TYUN = 0x100054f # U+054F ARMENIAN CAPITAL LETTER TIWN
1696
+ XK_Armenian_tyun = 0x100057f # U+057F ARMENIAN SMALL LETTER TIWN
1697
+ XK_Armenian_RE = 0x1000550 # U+0550 ARMENIAN CAPITAL LETTER REH
1698
+ XK_Armenian_re = 0x1000580 # U+0580 ARMENIAN SMALL LETTER REH
1699
+ XK_Armenian_TSO = 0x1000551 # U+0551 ARMENIAN CAPITAL LETTER CO
1700
+ XK_Armenian_tso = 0x1000581 # U+0581 ARMENIAN SMALL LETTER CO
1701
+ XK_Armenian_VYUN = 0x1000552 # U+0552 ARMENIAN CAPITAL LETTER YIWN
1702
+ XK_Armenian_vyun = 0x1000582 # U+0582 ARMENIAN SMALL LETTER YIWN
1703
+ XK_Armenian_PYUR = 0x1000553 # U+0553 ARMENIAN CAPITAL LETTER PIWR
1704
+ XK_Armenian_pyur = 0x1000583 # U+0583 ARMENIAN SMALL LETTER PIWR
1705
+ XK_Armenian_KE = 0x1000554 # U+0554 ARMENIAN CAPITAL LETTER KEH
1706
+ XK_Armenian_ke = 0x1000584 # U+0584 ARMENIAN SMALL LETTER KEH
1707
+ XK_Armenian_O = 0x1000555 # U+0555 ARMENIAN CAPITAL LETTER OH
1708
+ XK_Armenian_o = 0x1000585 # U+0585 ARMENIAN SMALL LETTER OH
1709
+ XK_Armenian_FE = 0x1000556 # U+0556 ARMENIAN CAPITAL LETTER FEH
1710
+ XK_Armenian_fe = 0x1000586 # U+0586 ARMENIAN SMALL LETTER FEH
1711
+ XK_Armenian_apostrophe = 0x100055a # U+055A ARMENIAN APOSTROPHE
1712
+
1713
+ # Georgian
1714
+
1715
+ XK_Georgian_an = 0x10010d0 # U+10D0 GEORGIAN LETTER AN
1716
+ XK_Georgian_ban = 0x10010d1 # U+10D1 GEORGIAN LETTER BAN
1717
+ XK_Georgian_gan = 0x10010d2 # U+10D2 GEORGIAN LETTER GAN
1718
+ XK_Georgian_don = 0x10010d3 # U+10D3 GEORGIAN LETTER DON
1719
+ XK_Georgian_en = 0x10010d4 # U+10D4 GEORGIAN LETTER EN
1720
+ XK_Georgian_vin = 0x10010d5 # U+10D5 GEORGIAN LETTER VIN
1721
+ XK_Georgian_zen = 0x10010d6 # U+10D6 GEORGIAN LETTER ZEN
1722
+ XK_Georgian_tan = 0x10010d7 # U+10D7 GEORGIAN LETTER TAN
1723
+ XK_Georgian_in = 0x10010d8 # U+10D8 GEORGIAN LETTER IN
1724
+ XK_Georgian_kan = 0x10010d9 # U+10D9 GEORGIAN LETTER KAN
1725
+ XK_Georgian_las = 0x10010da # U+10DA GEORGIAN LETTER LAS
1726
+ XK_Georgian_man = 0x10010db # U+10DB GEORGIAN LETTER MAN
1727
+ XK_Georgian_nar = 0x10010dc # U+10DC GEORGIAN LETTER NAR
1728
+ XK_Georgian_on = 0x10010dd # U+10DD GEORGIAN LETTER ON
1729
+ XK_Georgian_par = 0x10010de # U+10DE GEORGIAN LETTER PAR
1730
+ XK_Georgian_zhar = 0x10010df # U+10DF GEORGIAN LETTER ZHAR
1731
+ XK_Georgian_rae = 0x10010e0 # U+10E0 GEORGIAN LETTER RAE
1732
+ XK_Georgian_san = 0x10010e1 # U+10E1 GEORGIAN LETTER SAN
1733
+ XK_Georgian_tar = 0x10010e2 # U+10E2 GEORGIAN LETTER TAR
1734
+ XK_Georgian_un = 0x10010e3 # U+10E3 GEORGIAN LETTER UN
1735
+ XK_Georgian_phar = 0x10010e4 # U+10E4 GEORGIAN LETTER PHAR
1736
+ XK_Georgian_khar = 0x10010e5 # U+10E5 GEORGIAN LETTER KHAR
1737
+ XK_Georgian_ghan = 0x10010e6 # U+10E6 GEORGIAN LETTER GHAN
1738
+ XK_Georgian_qar = 0x10010e7 # U+10E7 GEORGIAN LETTER QAR
1739
+ XK_Georgian_shin = 0x10010e8 # U+10E8 GEORGIAN LETTER SHIN
1740
+ XK_Georgian_chin = 0x10010e9 # U+10E9 GEORGIAN LETTER CHIN
1741
+ XK_Georgian_can = 0x10010ea # U+10EA GEORGIAN LETTER CAN
1742
+ XK_Georgian_jil = 0x10010eb # U+10EB GEORGIAN LETTER JIL
1743
+ XK_Georgian_cil = 0x10010ec # U+10EC GEORGIAN LETTER CIL
1744
+ XK_Georgian_char = 0x10010ed # U+10ED GEORGIAN LETTER CHAR
1745
+ XK_Georgian_xan = 0x10010ee # U+10EE GEORGIAN LETTER XAN
1746
+ XK_Georgian_jhan = 0x10010ef # U+10EF GEORGIAN LETTER JHAN
1747
+ XK_Georgian_hae = 0x10010f0 # U+10F0 GEORGIAN LETTER HAE
1748
+ XK_Georgian_he = 0x10010f1 # U+10F1 GEORGIAN LETTER HE
1749
+ XK_Georgian_hie = 0x10010f2 # U+10F2 GEORGIAN LETTER HIE
1750
+ XK_Georgian_we = 0x10010f3 # U+10F3 GEORGIAN LETTER WE
1751
+ XK_Georgian_har = 0x10010f4 # U+10F4 GEORGIAN LETTER HAR
1752
+ XK_Georgian_hoe = 0x10010f5 # U+10F5 GEORGIAN LETTER HOE
1753
+ XK_Georgian_fi = 0x10010f6 # U+10F6 GEORGIAN LETTER FI
1754
+
1755
+ # Azeri (and other Turkic or Caucasian languages)
1756
+
1757
+ XK_Xabovedot = 0x1001e8a # U+1E8A LATIN CAPITAL LETTER X WITH DOT ABOVE
1758
+ XK_Ibreve = 0x100012c # U+012C LATIN CAPITAL LETTER I WITH BREVE
1759
+ XK_Zstroke = 0x10001b5 # U+01B5 LATIN CAPITAL LETTER Z WITH STROKE
1760
+ XK_Gcaron = 0x10001e6 # U+01E6 LATIN CAPITAL LETTER G WITH CARON
1761
+ XK_Ocaron = 0x10001d1 # U+01D2 LATIN CAPITAL LETTER O WITH CARON
1762
+ XK_Obarred = 0x100019f # U+019F LATIN CAPITAL LETTER O WITH MIDDLE TILDE
1763
+ XK_xabovedot = 0x1001e8b # U+1E8B LATIN SMALL LETTER X WITH DOT ABOVE
1764
+ XK_ibreve = 0x100012d # U+012D LATIN SMALL LETTER I WITH BREVE
1765
+ XK_zstroke = 0x10001b6 # U+01B6 LATIN SMALL LETTER Z WITH STROKE
1766
+ XK_gcaron = 0x10001e7 # U+01E7 LATIN SMALL LETTER G WITH CARON
1767
+ XK_ocaron = 0x10001d2 # U+01D2 LATIN SMALL LETTER O WITH CARON
1768
+ XK_obarred = 0x1000275 # U+0275 LATIN SMALL LETTER BARRED O
1769
+ XK_SCHWA = 0x100018f # U+018F LATIN CAPITAL LETTER SCHWA
1770
+ XK_schwa = 0x1000259 # U+0259 LATIN SMALL LETTER SCHWA
1771
+ XK_EZH = 0x10001b7 # U+01B7 LATIN CAPITAL LETTER EZH
1772
+ XK_ezh = 0x1000292 # U+0292 LATIN SMALL LETTER EZH
1773
+ # those are not really Caucasus
1774
+ # For Inupiak
1775
+ XK_Lbelowdot = 0x1001e36 # U+1E36 LATIN CAPITAL LETTER L WITH DOT BELOW
1776
+ XK_lbelowdot = 0x1001e37 # U+1E37 LATIN SMALL LETTER L WITH DOT BELOW
1777
+
1778
+ # Vietnamese
1779
+
1780
+ XK_Abelowdot = 0x1001ea0 # U+1EA0 LATIN CAPITAL LETTER A WITH DOT BELOW
1781
+ XK_abelowdot = 0x1001ea1 # U+1EA1 LATIN SMALL LETTER A WITH DOT BELOW
1782
+ XK_Ahook = 0x1001ea2 # U+1EA2 LATIN CAPITAL LETTER A WITH HOOK ABOVE
1783
+ XK_ahook = 0x1001ea3 # U+1EA3 LATIN SMALL LETTER A WITH HOOK ABOVE
1784
+ XK_Acircumflexacute = 0x1001ea4 # U+1EA4 LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND ACUTE
1785
+ XK_acircumflexacute = 0x1001ea5 # U+1EA5 LATIN SMALL LETTER A WITH CIRCUMFLEX AND ACUTE
1786
+ XK_Acircumflexgrave = 0x1001ea6 # U+1EA6 LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND GRAVE
1787
+ XK_acircumflexgrave = 0x1001ea7 # U+1EA7 LATIN SMALL LETTER A WITH CIRCUMFLEX AND GRAVE
1788
+ XK_Acircumflexhook = 0x1001ea8 # U+1EA8 LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND HOOK ABOVE
1789
+ XK_acircumflexhook = 0x1001ea9 # U+1EA9 LATIN SMALL LETTER A WITH CIRCUMFLEX AND HOOK ABOVE
1790
+ XK_Acircumflextilde = 0x1001eaa # U+1EAA LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND TILDE
1791
+ XK_acircumflextilde = 0x1001eab # U+1EAB LATIN SMALL LETTER A WITH CIRCUMFLEX AND TILDE
1792
+ XK_Acircumflexbelowdot = 0x1001eac # U+1EAC LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND DOT BELOW
1793
+ XK_acircumflexbelowdot = 0x1001ead # U+1EAD LATIN SMALL LETTER A WITH CIRCUMFLEX AND DOT BELOW
1794
+ XK_Abreveacute = 0x1001eae # U+1EAE LATIN CAPITAL LETTER A WITH BREVE AND ACUTE
1795
+ XK_abreveacute = 0x1001eaf # U+1EAF LATIN SMALL LETTER A WITH BREVE AND ACUTE
1796
+ XK_Abrevegrave = 0x1001eb0 # U+1EB0 LATIN CAPITAL LETTER A WITH BREVE AND GRAVE
1797
+ XK_abrevegrave = 0x1001eb1 # U+1EB1 LATIN SMALL LETTER A WITH BREVE AND GRAVE
1798
+ XK_Abrevehook = 0x1001eb2 # U+1EB2 LATIN CAPITAL LETTER A WITH BREVE AND HOOK ABOVE
1799
+ XK_abrevehook = 0x1001eb3 # U+1EB3 LATIN SMALL LETTER A WITH BREVE AND HOOK ABOVE
1800
+ XK_Abrevetilde = 0x1001eb4 # U+1EB4 LATIN CAPITAL LETTER A WITH BREVE AND TILDE
1801
+ XK_abrevetilde = 0x1001eb5 # U+1EB5 LATIN SMALL LETTER A WITH BREVE AND TILDE
1802
+ XK_Abrevebelowdot = 0x1001eb6 # U+1EB6 LATIN CAPITAL LETTER A WITH BREVE AND DOT BELOW
1803
+ XK_abrevebelowdot = 0x1001eb7 # U+1EB7 LATIN SMALL LETTER A WITH BREVE AND DOT BELOW
1804
+ XK_Ebelowdot = 0x1001eb8 # U+1EB8 LATIN CAPITAL LETTER E WITH DOT BELOW
1805
+ XK_ebelowdot = 0x1001eb9 # U+1EB9 LATIN SMALL LETTER E WITH DOT BELOW
1806
+ XK_Ehook = 0x1001eba # U+1EBA LATIN CAPITAL LETTER E WITH HOOK ABOVE
1807
+ XK_ehook = 0x1001ebb # U+1EBB LATIN SMALL LETTER E WITH HOOK ABOVE
1808
+ XK_Etilde = 0x1001ebc # U+1EBC LATIN CAPITAL LETTER E WITH TILDE
1809
+ XK_etilde = 0x1001ebd # U+1EBD LATIN SMALL LETTER E WITH TILDE
1810
+ XK_Ecircumflexacute = 0x1001ebe # U+1EBE LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE
1811
+ XK_ecircumflexacute = 0x1001ebf # U+1EBF LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE
1812
+ XK_Ecircumflexgrave = 0x1001ec0 # U+1EC0 LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE
1813
+ XK_ecircumflexgrave = 0x1001ec1 # U+1EC1 LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE
1814
+ XK_Ecircumflexhook = 0x1001ec2 # U+1EC2 LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE
1815
+ XK_ecircumflexhook = 0x1001ec3 # U+1EC3 LATIN SMALL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE
1816
+ XK_Ecircumflextilde = 0x1001ec4 # U+1EC4 LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND TILDE
1817
+ XK_ecircumflextilde = 0x1001ec5 # U+1EC5 LATIN SMALL LETTER E WITH CIRCUMFLEX AND TILDE
1818
+ XK_Ecircumflexbelowdot = 0x1001ec6 # U+1EC6 LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND DOT BELOW
1819
+ XK_ecircumflexbelowdot = 0x1001ec7 # U+1EC7 LATIN SMALL LETTER E WITH CIRCUMFLEX AND DOT BELOW
1820
+ XK_Ihook = 0x1001ec8 # U+1EC8 LATIN CAPITAL LETTER I WITH HOOK ABOVE
1821
+ XK_ihook = 0x1001ec9 # U+1EC9 LATIN SMALL LETTER I WITH HOOK ABOVE
1822
+ XK_Ibelowdot = 0x1001eca # U+1ECA LATIN CAPITAL LETTER I WITH DOT BELOW
1823
+ XK_ibelowdot = 0x1001ecb # U+1ECB LATIN SMALL LETTER I WITH DOT BELOW
1824
+ XK_Obelowdot = 0x1001ecc # U+1ECC LATIN CAPITAL LETTER O WITH DOT BELOW
1825
+ XK_obelowdot = 0x1001ecd # U+1ECD LATIN SMALL LETTER O WITH DOT BELOW
1826
+ XK_Ohook = 0x1001ece # U+1ECE LATIN CAPITAL LETTER O WITH HOOK ABOVE
1827
+ XK_ohook = 0x1001ecf # U+1ECF LATIN SMALL LETTER O WITH HOOK ABOVE
1828
+ XK_Ocircumflexacute = 0x1001ed0 # U+1ED0 LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND ACUTE
1829
+ XK_ocircumflexacute = 0x1001ed1 # U+1ED1 LATIN SMALL LETTER O WITH CIRCUMFLEX AND ACUTE
1830
+ XK_Ocircumflexgrave = 0x1001ed2 # U+1ED2 LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND GRAVE
1831
+ XK_ocircumflexgrave = 0x1001ed3 # U+1ED3 LATIN SMALL LETTER O WITH CIRCUMFLEX AND GRAVE
1832
+ XK_Ocircumflexhook = 0x1001ed4 # U+1ED4 LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE
1833
+ XK_ocircumflexhook = 0x1001ed5 # U+1ED5 LATIN SMALL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE
1834
+ XK_Ocircumflextilde = 0x1001ed6 # U+1ED6 LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND TILDE
1835
+ XK_ocircumflextilde = 0x1001ed7 # U+1ED7 LATIN SMALL LETTER O WITH CIRCUMFLEX AND TILDE
1836
+ XK_Ocircumflexbelowdot = 0x1001ed8 # U+1ED8 LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND DOT BELOW
1837
+ XK_ocircumflexbelowdot = 0x1001ed9 # U+1ED9 LATIN SMALL LETTER O WITH CIRCUMFLEX AND DOT BELOW
1838
+ XK_Ohornacute = 0x1001eda # U+1EDA LATIN CAPITAL LETTER O WITH HORN AND ACUTE
1839
+ XK_ohornacute = 0x1001edb # U+1EDB LATIN SMALL LETTER O WITH HORN AND ACUTE
1840
+ XK_Ohorngrave = 0x1001edc # U+1EDC LATIN CAPITAL LETTER O WITH HORN AND GRAVE
1841
+ XK_ohorngrave = 0x1001edd # U+1EDD LATIN SMALL LETTER O WITH HORN AND GRAVE
1842
+ XK_Ohornhook = 0x1001ede # U+1EDE LATIN CAPITAL LETTER O WITH HORN AND HOOK ABOVE
1843
+ XK_ohornhook = 0x1001edf # U+1EDF LATIN SMALL LETTER O WITH HORN AND HOOK ABOVE
1844
+ XK_Ohorntilde = 0x1001ee0 # U+1EE0 LATIN CAPITAL LETTER O WITH HORN AND TILDE
1845
+ XK_ohorntilde = 0x1001ee1 # U+1EE1 LATIN SMALL LETTER O WITH HORN AND TILDE
1846
+ XK_Ohornbelowdot = 0x1001ee2 # U+1EE2 LATIN CAPITAL LETTER O WITH HORN AND DOT BELOW
1847
+ XK_ohornbelowdot = 0x1001ee3 # U+1EE3 LATIN SMALL LETTER O WITH HORN AND DOT BELOW
1848
+ XK_Ubelowdot = 0x1001ee4 # U+1EE4 LATIN CAPITAL LETTER U WITH DOT BELOW
1849
+ XK_ubelowdot = 0x1001ee5 # U+1EE5 LATIN SMALL LETTER U WITH DOT BELOW
1850
+ XK_Uhook = 0x1001ee6 # U+1EE6 LATIN CAPITAL LETTER U WITH HOOK ABOVE
1851
+ XK_uhook = 0x1001ee7 # U+1EE7 LATIN SMALL LETTER U WITH HOOK ABOVE
1852
+ XK_Uhornacute = 0x1001ee8 # U+1EE8 LATIN CAPITAL LETTER U WITH HORN AND ACUTE
1853
+ XK_uhornacute = 0x1001ee9 # U+1EE9 LATIN SMALL LETTER U WITH HORN AND ACUTE
1854
+ XK_Uhorngrave = 0x1001eea # U+1EEA LATIN CAPITAL LETTER U WITH HORN AND GRAVE
1855
+ XK_uhorngrave = 0x1001eeb # U+1EEB LATIN SMALL LETTER U WITH HORN AND GRAVE
1856
+ XK_Uhornhook = 0x1001eec # U+1EEC LATIN CAPITAL LETTER U WITH HORN AND HOOK ABOVE
1857
+ XK_uhornhook = 0x1001eed # U+1EED LATIN SMALL LETTER U WITH HORN AND HOOK ABOVE
1858
+ XK_Uhorntilde = 0x1001eee # U+1EEE LATIN CAPITAL LETTER U WITH HORN AND TILDE
1859
+ XK_uhorntilde = 0x1001eef # U+1EEF LATIN SMALL LETTER U WITH HORN AND TILDE
1860
+ XK_Uhornbelowdot = 0x1001ef0 # U+1EF0 LATIN CAPITAL LETTER U WITH HORN AND DOT BELOW
1861
+ XK_uhornbelowdot = 0x1001ef1 # U+1EF1 LATIN SMALL LETTER U WITH HORN AND DOT BELOW
1862
+ XK_Ybelowdot = 0x1001ef4 # U+1EF4 LATIN CAPITAL LETTER Y WITH DOT BELOW
1863
+ XK_ybelowdot = 0x1001ef5 # U+1EF5 LATIN SMALL LETTER Y WITH DOT BELOW
1864
+ XK_Yhook = 0x1001ef6 # U+1EF6 LATIN CAPITAL LETTER Y WITH HOOK ABOVE
1865
+ XK_yhook = 0x1001ef7 # U+1EF7 LATIN SMALL LETTER Y WITH HOOK ABOVE
1866
+ XK_Ytilde = 0x1001ef8 # U+1EF8 LATIN CAPITAL LETTER Y WITH TILDE
1867
+ XK_ytilde = 0x1001ef9 # U+1EF9 LATIN SMALL LETTER Y WITH TILDE
1868
+ XK_Ohorn = 0x10001a0 # U+01A0 LATIN CAPITAL LETTER O WITH HORN
1869
+ XK_ohorn = 0x10001a1 # U+01A1 LATIN SMALL LETTER O WITH HORN
1870
+ XK_Uhorn = 0x10001af # U+01AF LATIN CAPITAL LETTER U WITH HORN
1871
+ XK_uhorn = 0x10001b0 # U+01B0 LATIN SMALL LETTER U WITH HORN
1872
+
1873
+ XK_EcuSign = 0x10020a0 # U+20A0 EURO-CURRENCY SIGN
1874
+ XK_ColonSign = 0x10020a1 # U+20A1 COLON SIGN
1875
+ XK_CruzeiroSign = 0x10020a2 # U+20A2 CRUZEIRO SIGN
1876
+ XK_FFrancSign = 0x10020a3 # U+20A3 FRENCH FRANC SIGN
1877
+ XK_LiraSign = 0x10020a4 # U+20A4 LIRA SIGN
1878
+ XK_MillSign = 0x10020a5 # U+20A5 MILL SIGN
1879
+ XK_NairaSign = 0x10020a6 # U+20A6 NAIRA SIGN
1880
+ XK_PesetaSign = 0x10020a7 # U+20A7 PESETA SIGN
1881
+ XK_RupeeSign = 0x10020a8 # U+20A8 RUPEE SIGN
1882
+ XK_WonSign = 0x10020a9 # U+20A9 WON SIGN
1883
+ XK_NewSheqelSign = 0x10020aa # U+20AA NEW SHEQEL SIGN
1884
+ XK_DongSign = 0x10020ab # U+20AB DONG SIGN
1885
+ XK_EuroSign = 0x20ac # U+20AC EURO SIGN
1886
+
1887
+ # one, two and three are defined above.
1888
+ XK_zerosuperior = 0x1002070 # U+2070 SUPERSCRIPT ZERO
1889
+ XK_foursuperior = 0x1002074 # U+2074 SUPERSCRIPT FOUR
1890
+ XK_fivesuperior = 0x1002075 # U+2075 SUPERSCRIPT FIVE
1891
+ XK_sixsuperior = 0x1002076 # U+2076 SUPERSCRIPT SIX
1892
+ XK_sevensuperior = 0x1002077 # U+2077 SUPERSCRIPT SEVEN
1893
+ XK_eightsuperior = 0x1002078 # U+2078 SUPERSCRIPT EIGHT
1894
+ XK_ninesuperior = 0x1002079 # U+2079 SUPERSCRIPT NINE
1895
+ XK_zerosubscript = 0x1002080 # U+2080 SUBSCRIPT ZERO
1896
+ XK_onesubscript = 0x1002081 # U+2081 SUBSCRIPT ONE
1897
+ XK_twosubscript = 0x1002082 # U+2082 SUBSCRIPT TWO
1898
+ XK_threesubscript = 0x1002083 # U+2083 SUBSCRIPT THREE
1899
+ XK_foursubscript = 0x1002084 # U+2084 SUBSCRIPT FOUR
1900
+ XK_fivesubscript = 0x1002085 # U+2085 SUBSCRIPT FIVE
1901
+ XK_sixsubscript = 0x1002086 # U+2086 SUBSCRIPT SIX
1902
+ XK_sevensubscript = 0x1002087 # U+2087 SUBSCRIPT SEVEN
1903
+ XK_eightsubscript = 0x1002088 # U+2088 SUBSCRIPT EIGHT
1904
+ XK_ninesubscript = 0x1002089 # U+2089 SUBSCRIPT NINE
1905
+ XK_partdifferential = 0x1002202 # U+2202 PARTIAL DIFFERENTIAL
1906
+ XK_emptyset = 0x1002205 # U+2205 NULL SET
1907
+ XK_elementof = 0x1002208 # U+2208 ELEMENT OF
1908
+ XK_notelementof = 0x1002209 # U+2209 NOT AN ELEMENT OF
1909
+ XK_containsas = 0x100220B # U+220B CONTAINS AS MEMBER
1910
+ XK_squareroot = 0x100221A # U+221A SQUARE ROOT
1911
+ XK_cuberoot = 0x100221B # U+221B CUBE ROOT
1912
+ XK_fourthroot = 0x100221C # U+221C FOURTH ROOT
1913
+ XK_dintegral = 0x100222C # U+222C DOUBLE INTEGRAL
1914
+ XK_tintegral = 0x100222D # U+222D TRIPLE INTEGRAL
1915
+ XK_because = 0x1002235 # U+2235 BECAUSE
1916
+ XK_approxeq = 0x1002248 # U+2245 ALMOST EQUAL TO
1917
+ XK_notapproxeq = 0x1002247 # U+2247 NOT ALMOST EQUAL TO
1918
+ XK_notidentical = 0x1002262 # U+2262 NOT IDENTICAL TO
1919
+ XK_stricteq = 0x1002263 # U+2263 STRICTLY EQUIVALENT TO
1920
+
1921
+ XK_braille_dot_1 = 0xfff1
1922
+ XK_braille_dot_2 = 0xfff2
1923
+ XK_braille_dot_3 = 0xfff3
1924
+ XK_braille_dot_4 = 0xfff4
1925
+ XK_braille_dot_5 = 0xfff5
1926
+ XK_braille_dot_6 = 0xfff6
1927
+ XK_braille_dot_7 = 0xfff7
1928
+ XK_braille_dot_8 = 0xfff8
1929
+ XK_braille_dot_9 = 0xfff9
1930
+ XK_braille_dot_10 = 0xfffa
1931
+ XK_braille_blank = 0x1002800 # U+2800 BRAILLE PATTERN BLANK
1932
+ XK_braille_dots_1 = 0x1002801 # U+2801 BRAILLE PATTERN DOTS-1
1933
+ XK_braille_dots_2 = 0x1002802 # U+2802 BRAILLE PATTERN DOTS-2
1934
+ XK_braille_dots_12 = 0x1002803 # U+2803 BRAILLE PATTERN DOTS-12
1935
+ XK_braille_dots_3 = 0x1002804 # U+2804 BRAILLE PATTERN DOTS-3
1936
+ XK_braille_dots_13 = 0x1002805 # U+2805 BRAILLE PATTERN DOTS-13
1937
+ XK_braille_dots_23 = 0x1002806 # U+2806 BRAILLE PATTERN DOTS-23
1938
+ XK_braille_dots_123 = 0x1002807 # U+2807 BRAILLE PATTERN DOTS-123
1939
+ XK_braille_dots_4 = 0x1002808 # U+2808 BRAILLE PATTERN DOTS-4
1940
+ XK_braille_dots_14 = 0x1002809 # U+2809 BRAILLE PATTERN DOTS-14
1941
+ XK_braille_dots_24 = 0x100280a # U+280a BRAILLE PATTERN DOTS-24
1942
+ XK_braille_dots_124 = 0x100280b # U+280b BRAILLE PATTERN DOTS-124
1943
+ XK_braille_dots_34 = 0x100280c # U+280c BRAILLE PATTERN DOTS-34
1944
+ XK_braille_dots_134 = 0x100280d # U+280d BRAILLE PATTERN DOTS-134
1945
+ XK_braille_dots_234 = 0x100280e # U+280e BRAILLE PATTERN DOTS-234
1946
+ XK_braille_dots_1234 = 0x100280f # U+280f BRAILLE PATTERN DOTS-1234
1947
+ XK_braille_dots_5 = 0x1002810 # U+2810 BRAILLE PATTERN DOTS-5
1948
+ XK_braille_dots_15 = 0x1002811 # U+2811 BRAILLE PATTERN DOTS-15
1949
+ XK_braille_dots_25 = 0x1002812 # U+2812 BRAILLE PATTERN DOTS-25
1950
+ XK_braille_dots_125 = 0x1002813 # U+2813 BRAILLE PATTERN DOTS-125
1951
+ XK_braille_dots_35 = 0x1002814 # U+2814 BRAILLE PATTERN DOTS-35
1952
+ XK_braille_dots_135 = 0x1002815 # U+2815 BRAILLE PATTERN DOTS-135
1953
+ XK_braille_dots_235 = 0x1002816 # U+2816 BRAILLE PATTERN DOTS-235
1954
+ XK_braille_dots_1235 = 0x1002817 # U+2817 BRAILLE PATTERN DOTS-1235
1955
+ XK_braille_dots_45 = 0x1002818 # U+2818 BRAILLE PATTERN DOTS-45
1956
+ XK_braille_dots_145 = 0x1002819 # U+2819 BRAILLE PATTERN DOTS-145
1957
+ XK_braille_dots_245 = 0x100281a # U+281a BRAILLE PATTERN DOTS-245
1958
+ XK_braille_dots_1245 = 0x100281b # U+281b BRAILLE PATTERN DOTS-1245
1959
+ XK_braille_dots_345 = 0x100281c # U+281c BRAILLE PATTERN DOTS-345
1960
+ XK_braille_dots_1345 = 0x100281d # U+281d BRAILLE PATTERN DOTS-1345
1961
+ XK_braille_dots_2345 = 0x100281e # U+281e BRAILLE PATTERN DOTS-2345
1962
+ XK_braille_dots_12345 = 0x100281f # U+281f BRAILLE PATTERN DOTS-12345
1963
+ XK_braille_dots_6 = 0x1002820 # U+2820 BRAILLE PATTERN DOTS-6
1964
+ XK_braille_dots_16 = 0x1002821 # U+2821 BRAILLE PATTERN DOTS-16
1965
+ XK_braille_dots_26 = 0x1002822 # U+2822 BRAILLE PATTERN DOTS-26
1966
+ XK_braille_dots_126 = 0x1002823 # U+2823 BRAILLE PATTERN DOTS-126
1967
+ XK_braille_dots_36 = 0x1002824 # U+2824 BRAILLE PATTERN DOTS-36
1968
+ XK_braille_dots_136 = 0x1002825 # U+2825 BRAILLE PATTERN DOTS-136
1969
+ XK_braille_dots_236 = 0x1002826 # U+2826 BRAILLE PATTERN DOTS-236
1970
+ XK_braille_dots_1236 = 0x1002827 # U+2827 BRAILLE PATTERN DOTS-1236
1971
+ XK_braille_dots_46 = 0x1002828 # U+2828 BRAILLE PATTERN DOTS-46
1972
+ XK_braille_dots_146 = 0x1002829 # U+2829 BRAILLE PATTERN DOTS-146
1973
+ XK_braille_dots_246 = 0x100282a # U+282a BRAILLE PATTERN DOTS-246
1974
+ XK_braille_dots_1246 = 0x100282b # U+282b BRAILLE PATTERN DOTS-1246
1975
+ XK_braille_dots_346 = 0x100282c # U+282c BRAILLE PATTERN DOTS-346
1976
+ XK_braille_dots_1346 = 0x100282d # U+282d BRAILLE PATTERN DOTS-1346
1977
+ XK_braille_dots_2346 = 0x100282e # U+282e BRAILLE PATTERN DOTS-2346
1978
+ XK_braille_dots_12346 = 0x100282f # U+282f BRAILLE PATTERN DOTS-12346
1979
+ XK_braille_dots_56 = 0x1002830 # U+2830 BRAILLE PATTERN DOTS-56
1980
+ XK_braille_dots_156 = 0x1002831 # U+2831 BRAILLE PATTERN DOTS-156
1981
+ XK_braille_dots_256 = 0x1002832 # U+2832 BRAILLE PATTERN DOTS-256
1982
+ XK_braille_dots_1256 = 0x1002833 # U+2833 BRAILLE PATTERN DOTS-1256
1983
+ XK_braille_dots_356 = 0x1002834 # U+2834 BRAILLE PATTERN DOTS-356
1984
+ XK_braille_dots_1356 = 0x1002835 # U+2835 BRAILLE PATTERN DOTS-1356
1985
+ XK_braille_dots_2356 = 0x1002836 # U+2836 BRAILLE PATTERN DOTS-2356
1986
+ XK_braille_dots_12356 = 0x1002837 # U+2837 BRAILLE PATTERN DOTS-12356
1987
+ XK_braille_dots_456 = 0x1002838 # U+2838 BRAILLE PATTERN DOTS-456
1988
+ XK_braille_dots_1456 = 0x1002839 # U+2839 BRAILLE PATTERN DOTS-1456
1989
+ XK_braille_dots_2456 = 0x100283a # U+283a BRAILLE PATTERN DOTS-2456
1990
+ XK_braille_dots_12456 = 0x100283b # U+283b BRAILLE PATTERN DOTS-12456
1991
+ XK_braille_dots_3456 = 0x100283c # U+283c BRAILLE PATTERN DOTS-3456
1992
+ XK_braille_dots_13456 = 0x100283d # U+283d BRAILLE PATTERN DOTS-13456
1993
+ XK_braille_dots_23456 = 0x100283e # U+283e BRAILLE PATTERN DOTS-23456
1994
+ XK_braille_dots_123456 = 0x100283f # U+283f BRAILLE PATTERN DOTS-123456
1995
+ XK_braille_dots_7 = 0x1002840 # U+2840 BRAILLE PATTERN DOTS-7
1996
+ XK_braille_dots_17 = 0x1002841 # U+2841 BRAILLE PATTERN DOTS-17
1997
+ XK_braille_dots_27 = 0x1002842 # U+2842 BRAILLE PATTERN DOTS-27
1998
+ XK_braille_dots_127 = 0x1002843 # U+2843 BRAILLE PATTERN DOTS-127
1999
+ XK_braille_dots_37 = 0x1002844 # U+2844 BRAILLE PATTERN DOTS-37
2000
+ XK_braille_dots_137 = 0x1002845 # U+2845 BRAILLE PATTERN DOTS-137
2001
+ XK_braille_dots_237 = 0x1002846 # U+2846 BRAILLE PATTERN DOTS-237
2002
+ XK_braille_dots_1237 = 0x1002847 # U+2847 BRAILLE PATTERN DOTS-1237
2003
+ XK_braille_dots_47 = 0x1002848 # U+2848 BRAILLE PATTERN DOTS-47
2004
+ XK_braille_dots_147 = 0x1002849 # U+2849 BRAILLE PATTERN DOTS-147
2005
+ XK_braille_dots_247 = 0x100284a # U+284a BRAILLE PATTERN DOTS-247
2006
+ XK_braille_dots_1247 = 0x100284b # U+284b BRAILLE PATTERN DOTS-1247
2007
+ XK_braille_dots_347 = 0x100284c # U+284c BRAILLE PATTERN DOTS-347
2008
+ XK_braille_dots_1347 = 0x100284d # U+284d BRAILLE PATTERN DOTS-1347
2009
+ XK_braille_dots_2347 = 0x100284e # U+284e BRAILLE PATTERN DOTS-2347
2010
+ XK_braille_dots_12347 = 0x100284f # U+284f BRAILLE PATTERN DOTS-12347
2011
+ XK_braille_dots_57 = 0x1002850 # U+2850 BRAILLE PATTERN DOTS-57
2012
+ XK_braille_dots_157 = 0x1002851 # U+2851 BRAILLE PATTERN DOTS-157
2013
+ XK_braille_dots_257 = 0x1002852 # U+2852 BRAILLE PATTERN DOTS-257
2014
+ XK_braille_dots_1257 = 0x1002853 # U+2853 BRAILLE PATTERN DOTS-1257
2015
+ XK_braille_dots_357 = 0x1002854 # U+2854 BRAILLE PATTERN DOTS-357
2016
+ XK_braille_dots_1357 = 0x1002855 # U+2855 BRAILLE PATTERN DOTS-1357
2017
+ XK_braille_dots_2357 = 0x1002856 # U+2856 BRAILLE PATTERN DOTS-2357
2018
+ XK_braille_dots_12357 = 0x1002857 # U+2857 BRAILLE PATTERN DOTS-12357
2019
+ XK_braille_dots_457 = 0x1002858 # U+2858 BRAILLE PATTERN DOTS-457
2020
+ XK_braille_dots_1457 = 0x1002859 # U+2859 BRAILLE PATTERN DOTS-1457
2021
+ XK_braille_dots_2457 = 0x100285a # U+285a BRAILLE PATTERN DOTS-2457
2022
+ XK_braille_dots_12457 = 0x100285b # U+285b BRAILLE PATTERN DOTS-12457
2023
+ XK_braille_dots_3457 = 0x100285c # U+285c BRAILLE PATTERN DOTS-3457
2024
+ XK_braille_dots_13457 = 0x100285d # U+285d BRAILLE PATTERN DOTS-13457
2025
+ XK_braille_dots_23457 = 0x100285e # U+285e BRAILLE PATTERN DOTS-23457
2026
+ XK_braille_dots_123457 = 0x100285f # U+285f BRAILLE PATTERN DOTS-123457
2027
+ XK_braille_dots_67 = 0x1002860 # U+2860 BRAILLE PATTERN DOTS-67
2028
+ XK_braille_dots_167 = 0x1002861 # U+2861 BRAILLE PATTERN DOTS-167
2029
+ XK_braille_dots_267 = 0x1002862 # U+2862 BRAILLE PATTERN DOTS-267
2030
+ XK_braille_dots_1267 = 0x1002863 # U+2863 BRAILLE PATTERN DOTS-1267
2031
+ XK_braille_dots_367 = 0x1002864 # U+2864 BRAILLE PATTERN DOTS-367
2032
+ XK_braille_dots_1367 = 0x1002865 # U+2865 BRAILLE PATTERN DOTS-1367
2033
+ XK_braille_dots_2367 = 0x1002866 # U+2866 BRAILLE PATTERN DOTS-2367
2034
+ XK_braille_dots_12367 = 0x1002867 # U+2867 BRAILLE PATTERN DOTS-12367
2035
+ XK_braille_dots_467 = 0x1002868 # U+2868 BRAILLE PATTERN DOTS-467
2036
+ XK_braille_dots_1467 = 0x1002869 # U+2869 BRAILLE PATTERN DOTS-1467
2037
+ XK_braille_dots_2467 = 0x100286a # U+286a BRAILLE PATTERN DOTS-2467
2038
+ XK_braille_dots_12467 = 0x100286b # U+286b BRAILLE PATTERN DOTS-12467
2039
+ XK_braille_dots_3467 = 0x100286c # U+286c BRAILLE PATTERN DOTS-3467
2040
+ XK_braille_dots_13467 = 0x100286d # U+286d BRAILLE PATTERN DOTS-13467
2041
+ XK_braille_dots_23467 = 0x100286e # U+286e BRAILLE PATTERN DOTS-23467
2042
+ XK_braille_dots_123467 = 0x100286f # U+286f BRAILLE PATTERN DOTS-123467
2043
+ XK_braille_dots_567 = 0x1002870 # U+2870 BRAILLE PATTERN DOTS-567
2044
+ XK_braille_dots_1567 = 0x1002871 # U+2871 BRAILLE PATTERN DOTS-1567
2045
+ XK_braille_dots_2567 = 0x1002872 # U+2872 BRAILLE PATTERN DOTS-2567
2046
+ XK_braille_dots_12567 = 0x1002873 # U+2873 BRAILLE PATTERN DOTS-12567
2047
+ XK_braille_dots_3567 = 0x1002874 # U+2874 BRAILLE PATTERN DOTS-3567
2048
+ XK_braille_dots_13567 = 0x1002875 # U+2875 BRAILLE PATTERN DOTS-13567
2049
+ XK_braille_dots_23567 = 0x1002876 # U+2876 BRAILLE PATTERN DOTS-23567
2050
+ XK_braille_dots_123567 = 0x1002877 # U+2877 BRAILLE PATTERN DOTS-123567
2051
+ XK_braille_dots_4567 = 0x1002878 # U+2878 BRAILLE PATTERN DOTS-4567
2052
+ XK_braille_dots_14567 = 0x1002879 # U+2879 BRAILLE PATTERN DOTS-14567
2053
+ XK_braille_dots_24567 = 0x100287a # U+287a BRAILLE PATTERN DOTS-24567
2054
+ XK_braille_dots_124567 = 0x100287b # U+287b BRAILLE PATTERN DOTS-124567
2055
+ XK_braille_dots_34567 = 0x100287c # U+287c BRAILLE PATTERN DOTS-34567
2056
+ XK_braille_dots_134567 = 0x100287d # U+287d BRAILLE PATTERN DOTS-134567
2057
+ XK_braille_dots_234567 = 0x100287e # U+287e BRAILLE PATTERN DOTS-234567
2058
+ XK_braille_dots_1234567 = 0x100287f # U+287f BRAILLE PATTERN DOTS-1234567
2059
+ XK_braille_dots_8 = 0x1002880 # U+2880 BRAILLE PATTERN DOTS-8
2060
+ XK_braille_dots_18 = 0x1002881 # U+2881 BRAILLE PATTERN DOTS-18
2061
+ XK_braille_dots_28 = 0x1002882 # U+2882 BRAILLE PATTERN DOTS-28
2062
+ XK_braille_dots_128 = 0x1002883 # U+2883 BRAILLE PATTERN DOTS-128
2063
+ XK_braille_dots_38 = 0x1002884 # U+2884 BRAILLE PATTERN DOTS-38
2064
+ XK_braille_dots_138 = 0x1002885 # U+2885 BRAILLE PATTERN DOTS-138
2065
+ XK_braille_dots_238 = 0x1002886 # U+2886 BRAILLE PATTERN DOTS-238
2066
+ XK_braille_dots_1238 = 0x1002887 # U+2887 BRAILLE PATTERN DOTS-1238
2067
+ XK_braille_dots_48 = 0x1002888 # U+2888 BRAILLE PATTERN DOTS-48
2068
+ XK_braille_dots_148 = 0x1002889 # U+2889 BRAILLE PATTERN DOTS-148
2069
+ XK_braille_dots_248 = 0x100288a # U+288a BRAILLE PATTERN DOTS-248
2070
+ XK_braille_dots_1248 = 0x100288b # U+288b BRAILLE PATTERN DOTS-1248
2071
+ XK_braille_dots_348 = 0x100288c # U+288c BRAILLE PATTERN DOTS-348
2072
+ XK_braille_dots_1348 = 0x100288d # U+288d BRAILLE PATTERN DOTS-1348
2073
+ XK_braille_dots_2348 = 0x100288e # U+288e BRAILLE PATTERN DOTS-2348
2074
+ XK_braille_dots_12348 = 0x100288f # U+288f BRAILLE PATTERN DOTS-12348
2075
+ XK_braille_dots_58 = 0x1002890 # U+2890 BRAILLE PATTERN DOTS-58
2076
+ XK_braille_dots_158 = 0x1002891 # U+2891 BRAILLE PATTERN DOTS-158
2077
+ XK_braille_dots_258 = 0x1002892 # U+2892 BRAILLE PATTERN DOTS-258
2078
+ XK_braille_dots_1258 = 0x1002893 # U+2893 BRAILLE PATTERN DOTS-1258
2079
+ XK_braille_dots_358 = 0x1002894 # U+2894 BRAILLE PATTERN DOTS-358
2080
+ XK_braille_dots_1358 = 0x1002895 # U+2895 BRAILLE PATTERN DOTS-1358
2081
+ XK_braille_dots_2358 = 0x1002896 # U+2896 BRAILLE PATTERN DOTS-2358
2082
+ XK_braille_dots_12358 = 0x1002897 # U+2897 BRAILLE PATTERN DOTS-12358
2083
+ XK_braille_dots_458 = 0x1002898 # U+2898 BRAILLE PATTERN DOTS-458
2084
+ XK_braille_dots_1458 = 0x1002899 # U+2899 BRAILLE PATTERN DOTS-1458
2085
+ XK_braille_dots_2458 = 0x100289a # U+289a BRAILLE PATTERN DOTS-2458
2086
+ XK_braille_dots_12458 = 0x100289b # U+289b BRAILLE PATTERN DOTS-12458
2087
+ XK_braille_dots_3458 = 0x100289c # U+289c BRAILLE PATTERN DOTS-3458
2088
+ XK_braille_dots_13458 = 0x100289d # U+289d BRAILLE PATTERN DOTS-13458
2089
+ XK_braille_dots_23458 = 0x100289e # U+289e BRAILLE PATTERN DOTS-23458
2090
+ XK_braille_dots_123458 = 0x100289f # U+289f BRAILLE PATTERN DOTS-123458
2091
+ XK_braille_dots_68 = 0x10028a0 # U+28a0 BRAILLE PATTERN DOTS-68
2092
+ XK_braille_dots_168 = 0x10028a1 # U+28a1 BRAILLE PATTERN DOTS-168
2093
+ XK_braille_dots_268 = 0x10028a2 # U+28a2 BRAILLE PATTERN DOTS-268
2094
+ XK_braille_dots_1268 = 0x10028a3 # U+28a3 BRAILLE PATTERN DOTS-1268
2095
+ XK_braille_dots_368 = 0x10028a4 # U+28a4 BRAILLE PATTERN DOTS-368
2096
+ XK_braille_dots_1368 = 0x10028a5 # U+28a5 BRAILLE PATTERN DOTS-1368
2097
+ XK_braille_dots_2368 = 0x10028a6 # U+28a6 BRAILLE PATTERN DOTS-2368
2098
+ XK_braille_dots_12368 = 0x10028a7 # U+28a7 BRAILLE PATTERN DOTS-12368
2099
+ XK_braille_dots_468 = 0x10028a8 # U+28a8 BRAILLE PATTERN DOTS-468
2100
+ XK_braille_dots_1468 = 0x10028a9 # U+28a9 BRAILLE PATTERN DOTS-1468
2101
+ XK_braille_dots_2468 = 0x10028aa # U+28aa BRAILLE PATTERN DOTS-2468
2102
+ XK_braille_dots_12468 = 0x10028ab # U+28ab BRAILLE PATTERN DOTS-12468
2103
+ XK_braille_dots_3468 = 0x10028ac # U+28ac BRAILLE PATTERN DOTS-3468
2104
+ XK_braille_dots_13468 = 0x10028ad # U+28ad BRAILLE PATTERN DOTS-13468
2105
+ XK_braille_dots_23468 = 0x10028ae # U+28ae BRAILLE PATTERN DOTS-23468
2106
+ XK_braille_dots_123468 = 0x10028af # U+28af BRAILLE PATTERN DOTS-123468
2107
+ XK_braille_dots_568 = 0x10028b0 # U+28b0 BRAILLE PATTERN DOTS-568
2108
+ XK_braille_dots_1568 = 0x10028b1 # U+28b1 BRAILLE PATTERN DOTS-1568
2109
+ XK_braille_dots_2568 = 0x10028b2 # U+28b2 BRAILLE PATTERN DOTS-2568
2110
+ XK_braille_dots_12568 = 0x10028b3 # U+28b3 BRAILLE PATTERN DOTS-12568
2111
+ XK_braille_dots_3568 = 0x10028b4 # U+28b4 BRAILLE PATTERN DOTS-3568
2112
+ XK_braille_dots_13568 = 0x10028b5 # U+28b5 BRAILLE PATTERN DOTS-13568
2113
+ XK_braille_dots_23568 = 0x10028b6 # U+28b6 BRAILLE PATTERN DOTS-23568
2114
+ XK_braille_dots_123568 = 0x10028b7 # U+28b7 BRAILLE PATTERN DOTS-123568
2115
+ XK_braille_dots_4568 = 0x10028b8 # U+28b8 BRAILLE PATTERN DOTS-4568
2116
+ XK_braille_dots_14568 = 0x10028b9 # U+28b9 BRAILLE PATTERN DOTS-14568
2117
+ XK_braille_dots_24568 = 0x10028ba # U+28ba BRAILLE PATTERN DOTS-24568
2118
+ XK_braille_dots_124568 = 0x10028bb # U+28bb BRAILLE PATTERN DOTS-124568
2119
+ XK_braille_dots_34568 = 0x10028bc # U+28bc BRAILLE PATTERN DOTS-34568
2120
+ XK_braille_dots_134568 = 0x10028bd # U+28bd BRAILLE PATTERN DOTS-134568
2121
+ XK_braille_dots_234568 = 0x10028be # U+28be BRAILLE PATTERN DOTS-234568
2122
+ XK_braille_dots_1234568 = 0x10028bf # U+28bf BRAILLE PATTERN DOTS-1234568
2123
+ XK_braille_dots_78 = 0x10028c0 # U+28c0 BRAILLE PATTERN DOTS-78
2124
+ XK_braille_dots_178 = 0x10028c1 # U+28c1 BRAILLE PATTERN DOTS-178
2125
+ XK_braille_dots_278 = 0x10028c2 # U+28c2 BRAILLE PATTERN DOTS-278
2126
+ XK_braille_dots_1278 = 0x10028c3 # U+28c3 BRAILLE PATTERN DOTS-1278
2127
+ XK_braille_dots_378 = 0x10028c4 # U+28c4 BRAILLE PATTERN DOTS-378
2128
+ XK_braille_dots_1378 = 0x10028c5 # U+28c5 BRAILLE PATTERN DOTS-1378
2129
+ XK_braille_dots_2378 = 0x10028c6 # U+28c6 BRAILLE PATTERN DOTS-2378
2130
+ XK_braille_dots_12378 = 0x10028c7 # U+28c7 BRAILLE PATTERN DOTS-12378
2131
+ XK_braille_dots_478 = 0x10028c8 # U+28c8 BRAILLE PATTERN DOTS-478
2132
+ XK_braille_dots_1478 = 0x10028c9 # U+28c9 BRAILLE PATTERN DOTS-1478
2133
+ XK_braille_dots_2478 = 0x10028ca # U+28ca BRAILLE PATTERN DOTS-2478
2134
+ XK_braille_dots_12478 = 0x10028cb # U+28cb BRAILLE PATTERN DOTS-12478
2135
+ XK_braille_dots_3478 = 0x10028cc # U+28cc BRAILLE PATTERN DOTS-3478
2136
+ XK_braille_dots_13478 = 0x10028cd # U+28cd BRAILLE PATTERN DOTS-13478
2137
+ XK_braille_dots_23478 = 0x10028ce # U+28ce BRAILLE PATTERN DOTS-23478
2138
+ XK_braille_dots_123478 = 0x10028cf # U+28cf BRAILLE PATTERN DOTS-123478
2139
+ XK_braille_dots_578 = 0x10028d0 # U+28d0 BRAILLE PATTERN DOTS-578
2140
+ XK_braille_dots_1578 = 0x10028d1 # U+28d1 BRAILLE PATTERN DOTS-1578
2141
+ XK_braille_dots_2578 = 0x10028d2 # U+28d2 BRAILLE PATTERN DOTS-2578
2142
+ XK_braille_dots_12578 = 0x10028d3 # U+28d3 BRAILLE PATTERN DOTS-12578
2143
+ XK_braille_dots_3578 = 0x10028d4 # U+28d4 BRAILLE PATTERN DOTS-3578
2144
+ XK_braille_dots_13578 = 0x10028d5 # U+28d5 BRAILLE PATTERN DOTS-13578
2145
+ XK_braille_dots_23578 = 0x10028d6 # U+28d6 BRAILLE PATTERN DOTS-23578
2146
+ XK_braille_dots_123578 = 0x10028d7 # U+28d7 BRAILLE PATTERN DOTS-123578
2147
+ XK_braille_dots_4578 = 0x10028d8 # U+28d8 BRAILLE PATTERN DOTS-4578
2148
+ XK_braille_dots_14578 = 0x10028d9 # U+28d9 BRAILLE PATTERN DOTS-14578
2149
+ XK_braille_dots_24578 = 0x10028da # U+28da BRAILLE PATTERN DOTS-24578
2150
+ XK_braille_dots_124578 = 0x10028db # U+28db BRAILLE PATTERN DOTS-124578
2151
+ XK_braille_dots_34578 = 0x10028dc # U+28dc BRAILLE PATTERN DOTS-34578
2152
+ XK_braille_dots_134578 = 0x10028dd # U+28dd BRAILLE PATTERN DOTS-134578
2153
+ XK_braille_dots_234578 = 0x10028de # U+28de BRAILLE PATTERN DOTS-234578
2154
+ XK_braille_dots_1234578 = 0x10028df # U+28df BRAILLE PATTERN DOTS-1234578
2155
+ XK_braille_dots_678 = 0x10028e0 # U+28e0 BRAILLE PATTERN DOTS-678
2156
+ XK_braille_dots_1678 = 0x10028e1 # U+28e1 BRAILLE PATTERN DOTS-1678
2157
+ XK_braille_dots_2678 = 0x10028e2 # U+28e2 BRAILLE PATTERN DOTS-2678
2158
+ XK_braille_dots_12678 = 0x10028e3 # U+28e3 BRAILLE PATTERN DOTS-12678
2159
+ XK_braille_dots_3678 = 0x10028e4 # U+28e4 BRAILLE PATTERN DOTS-3678
2160
+ XK_braille_dots_13678 = 0x10028e5 # U+28e5 BRAILLE PATTERN DOTS-13678
2161
+ XK_braille_dots_23678 = 0x10028e6 # U+28e6 BRAILLE PATTERN DOTS-23678
2162
+ XK_braille_dots_123678 = 0x10028e7 # U+28e7 BRAILLE PATTERN DOTS-123678
2163
+ XK_braille_dots_4678 = 0x10028e8 # U+28e8 BRAILLE PATTERN DOTS-4678
2164
+ XK_braille_dots_14678 = 0x10028e9 # U+28e9 BRAILLE PATTERN DOTS-14678
2165
+ XK_braille_dots_24678 = 0x10028ea # U+28ea BRAILLE PATTERN DOTS-24678
2166
+ XK_braille_dots_124678 = 0x10028eb # U+28eb BRAILLE PATTERN DOTS-124678
2167
+ XK_braille_dots_34678 = 0x10028ec # U+28ec BRAILLE PATTERN DOTS-34678
2168
+ XK_braille_dots_134678 = 0x10028ed # U+28ed BRAILLE PATTERN DOTS-134678
2169
+ XK_braille_dots_234678 = 0x10028ee # U+28ee BRAILLE PATTERN DOTS-234678
2170
+ XK_braille_dots_1234678 = 0x10028ef # U+28ef BRAILLE PATTERN DOTS-1234678
2171
+ XK_braille_dots_5678 = 0x10028f0 # U+28f0 BRAILLE PATTERN DOTS-5678
2172
+ XK_braille_dots_15678 = 0x10028f1 # U+28f1 BRAILLE PATTERN DOTS-15678
2173
+ XK_braille_dots_25678 = 0x10028f2 # U+28f2 BRAILLE PATTERN DOTS-25678
2174
+ XK_braille_dots_125678 = 0x10028f3 # U+28f3 BRAILLE PATTERN DOTS-125678
2175
+ XK_braille_dots_35678 = 0x10028f4 # U+28f4 BRAILLE PATTERN DOTS-35678
2176
+ XK_braille_dots_135678 = 0x10028f5 # U+28f5 BRAILLE PATTERN DOTS-135678
2177
+ XK_braille_dots_235678 = 0x10028f6 # U+28f6 BRAILLE PATTERN DOTS-235678
2178
+ XK_braille_dots_1235678 = 0x10028f7 # U+28f7 BRAILLE PATTERN DOTS-1235678
2179
+ XK_braille_dots_45678 = 0x10028f8 # U+28f8 BRAILLE PATTERN DOTS-45678
2180
+ XK_braille_dots_145678 = 0x10028f9 # U+28f9 BRAILLE PATTERN DOTS-145678
2181
+ XK_braille_dots_245678 = 0x10028fa # U+28fa BRAILLE PATTERN DOTS-245678
2182
+ XK_braille_dots_1245678 = 0x10028fb # U+28fb BRAILLE PATTERN DOTS-1245678
2183
+ XK_braille_dots_345678 = 0x10028fc # U+28fc BRAILLE PATTERN DOTS-345678
2184
+ XK_braille_dots_1345678 = 0x10028fd # U+28fd BRAILLE PATTERN DOTS-1345678
2185
+ XK_braille_dots_2345678 = 0x10028fe # U+28fe BRAILLE PATTERN DOTS-2345678
2186
+ XK_braille_dots_12345678 = 0x10028ff # U+28ff BRAILLE PATTERN DOTS-12345678
2187
+
2188
+ # Sinhala (http://unicode.org/charts/PDF/U0D80.pdf)
2189
+ # http://www.nongnu.org/sinhala/doc/transliteration/sinhala-transliteration_6.html
2190
+
2191
+ XK_Sinh_ng = 0x1000d82 # U+0D82 SINHALA ANUSVARAYA
2192
+ XK_Sinh_h2 = 0x1000d83 # U+0D83 SINHALA VISARGAYA
2193
+ XK_Sinh_a = 0x1000d85 # U+0D85 SINHALA AYANNA
2194
+ XK_Sinh_aa = 0x1000d86 # U+0D86 SINHALA AAYANNA
2195
+ XK_Sinh_ae = 0x1000d87 # U+0D87 SINHALA AEYANNA
2196
+ XK_Sinh_aee = 0x1000d88 # U+0D88 SINHALA AEEYANNA
2197
+ XK_Sinh_i = 0x1000d89 # U+0D89 SINHALA IYANNA
2198
+ XK_Sinh_ii = 0x1000d8a # U+0D8A SINHALA IIYANNA
2199
+ XK_Sinh_u = 0x1000d8b # U+0D8B SINHALA UYANNA
2200
+ XK_Sinh_uu = 0x1000d8c # U+0D8C SINHALA UUYANNA
2201
+ XK_Sinh_ri = 0x1000d8d # U+0D8D SINHALA IRUYANNA
2202
+ XK_Sinh_rii = 0x1000d8e # U+0D8E SINHALA IRUUYANNA
2203
+ XK_Sinh_lu = 0x1000d8f # U+0D8F SINHALA ILUYANNA
2204
+ XK_Sinh_luu = 0x1000d90 # U+0D90 SINHALA ILUUYANNA
2205
+ XK_Sinh_e = 0x1000d91 # U+0D91 SINHALA EYANNA
2206
+ XK_Sinh_ee = 0x1000d92 # U+0D92 SINHALA EEYANNA
2207
+ XK_Sinh_ai = 0x1000d93 # U+0D93 SINHALA AIYANNA
2208
+ XK_Sinh_o = 0x1000d94 # U+0D94 SINHALA OYANNA
2209
+ XK_Sinh_oo = 0x1000d95 # U+0D95 SINHALA OOYANNA
2210
+ XK_Sinh_au = 0x1000d96 # U+0D96 SINHALA AUYANNA
2211
+ XK_Sinh_ka = 0x1000d9a # U+0D9A SINHALA KAYANNA
2212
+ XK_Sinh_kha = 0x1000d9b # U+0D9B SINHALA MAHA. KAYANNA
2213
+ XK_Sinh_ga = 0x1000d9c # U+0D9C SINHALA GAYANNA
2214
+ XK_Sinh_gha = 0x1000d9d # U+0D9D SINHALA MAHA. GAYANNA
2215
+ XK_Sinh_ng2 = 0x1000d9e # U+0D9E SINHALA KANTAJA NAASIKYAYA
2216
+ XK_Sinh_nga = 0x1000d9f # U+0D9F SINHALA SANYAKA GAYANNA
2217
+ XK_Sinh_ca = 0x1000da0 # U+0DA0 SINHALA CAYANNA
2218
+ XK_Sinh_cha = 0x1000da1 # U+0DA1 SINHALA MAHA. CAYANNA
2219
+ XK_Sinh_ja = 0x1000da2 # U+0DA2 SINHALA JAYANNA
2220
+ XK_Sinh_jha = 0x1000da3 # U+0DA3 SINHALA MAHA. JAYANNA
2221
+ XK_Sinh_nya = 0x1000da4 # U+0DA4 SINHALA TAALUJA NAASIKYAYA
2222
+ XK_Sinh_jnya = 0x1000da5 # U+0DA5 SINHALA TAALUJA SANYOOGA NAASIKYAYA
2223
+ XK_Sinh_nja = 0x1000da6 # U+0DA6 SINHALA SANYAKA JAYANNA
2224
+ XK_Sinh_tta = 0x1000da7 # U+0DA7 SINHALA TTAYANNA
2225
+ XK_Sinh_ttha = 0x1000da8 # U+0DA8 SINHALA MAHA. TTAYANNA
2226
+ XK_Sinh_dda = 0x1000da9 # U+0DA9 SINHALA DDAYANNA
2227
+ XK_Sinh_ddha = 0x1000daa # U+0DAA SINHALA MAHA. DDAYANNA
2228
+ XK_Sinh_nna = 0x1000dab # U+0DAB SINHALA MUURDHAJA NAYANNA
2229
+ XK_Sinh_ndda = 0x1000dac # U+0DAC SINHALA SANYAKA DDAYANNA
2230
+ XK_Sinh_tha = 0x1000dad # U+0DAD SINHALA TAYANNA
2231
+ XK_Sinh_thha = 0x1000dae # U+0DAE SINHALA MAHA. TAYANNA
2232
+ XK_Sinh_dha = 0x1000daf # U+0DAF SINHALA DAYANNA
2233
+ XK_Sinh_dhha = 0x1000db0 # U+0DB0 SINHALA MAHA. DAYANNA
2234
+ XK_Sinh_na = 0x1000db1 # U+0DB1 SINHALA DANTAJA NAYANNA
2235
+ XK_Sinh_ndha = 0x1000db3 # U+0DB3 SINHALA SANYAKA DAYANNA
2236
+ XK_Sinh_pa = 0x1000db4 # U+0DB4 SINHALA PAYANNA
2237
+ XK_Sinh_pha = 0x1000db5 # U+0DB5 SINHALA MAHA. PAYANNA
2238
+ XK_Sinh_ba = 0x1000db6 # U+0DB6 SINHALA BAYANNA
2239
+ XK_Sinh_bha = 0x1000db7 # U+0DB7 SINHALA MAHA. BAYANNA
2240
+ XK_Sinh_ma = 0x1000db8 # U+0DB8 SINHALA MAYANNA
2241
+ XK_Sinh_mba = 0x1000db9 # U+0DB9 SINHALA AMBA BAYANNA
2242
+ XK_Sinh_ya = 0x1000dba # U+0DBA SINHALA YAYANNA
2243
+ XK_Sinh_ra = 0x1000dbb # U+0DBB SINHALA RAYANNA
2244
+ XK_Sinh_la = 0x1000dbd # U+0DBD SINHALA DANTAJA LAYANNA
2245
+ XK_Sinh_va = 0x1000dc0 # U+0DC0 SINHALA VAYANNA
2246
+ XK_Sinh_sha = 0x1000dc1 # U+0DC1 SINHALA TAALUJA SAYANNA
2247
+ XK_Sinh_ssha = 0x1000dc2 # U+0DC2 SINHALA MUURDHAJA SAYANNA
2248
+ XK_Sinh_sa = 0x1000dc3 # U+0DC3 SINHALA DANTAJA SAYANNA
2249
+ XK_Sinh_ha = 0x1000dc4 # U+0DC4 SINHALA HAYANNA
2250
+ XK_Sinh_lla = 0x1000dc5 # U+0DC5 SINHALA MUURDHAJA LAYANNA
2251
+ XK_Sinh_fa = 0x1000dc6 # U+0DC6 SINHALA FAYANNA
2252
+ XK_Sinh_al = 0x1000dca # U+0DCA SINHALA AL-LAKUNA
2253
+ XK_Sinh_aa2 = 0x1000dcf # U+0DCF SINHALA AELA-PILLA
2254
+ XK_Sinh_ae2 = 0x1000dd0 # U+0DD0 SINHALA AEDA-PILLA
2255
+ XK_Sinh_aee2 = 0x1000dd1 # U+0DD1 SINHALA DIGA AEDA-PILLA
2256
+ XK_Sinh_i2 = 0x1000dd2 # U+0DD2 SINHALA IS-PILLA
2257
+ XK_Sinh_ii2 = 0x1000dd3 # U+0DD3 SINHALA DIGA IS-PILLA
2258
+ XK_Sinh_u2 = 0x1000dd4 # U+0DD4 SINHALA PAA-PILLA
2259
+ XK_Sinh_uu2 = 0x1000dd6 # U+0DD6 SINHALA DIGA PAA-PILLA
2260
+ XK_Sinh_ru2 = 0x1000dd8 # U+0DD8 SINHALA GAETTA-PILLA
2261
+ XK_Sinh_e2 = 0x1000dd9 # U+0DD9 SINHALA KOMBUVA
2262
+ XK_Sinh_ee2 = 0x1000dda # U+0DDA SINHALA DIGA KOMBUVA
2263
+ XK_Sinh_ai2 = 0x1000ddb # U+0DDB SINHALA KOMBU DEKA
2264
+ XK_Sinh_o2 = 0x1000ddc # U+0DDC SINHALA KOMBUVA HAA AELA-PILL
2265
+ XK_Sinh_oo2 = 0x1000ddd # U+0DDD SINHALA KOMBUVA HAA DIGA AELA-PILL
2266
+ XK_Sinh_au2 = 0x1000dde # U+0DDE SINHALA KOMBUVA HAA GAYANUKITTA
2267
+ XK_Sinh_lu2 = 0x1000ddf # U+0DDF SINHALA GAYANUKITTA
2268
+ XK_Sinh_ruu2 = 0x1000df2 # U+0DF2 SINHALA DIGA GAETTA-PILLA
2269
+ XK_Sinh_luu2 = 0x1000df3 # U+0DF3 SINHALA DIGA GAYANUKITTA
2270
+ XK_Sinh_kunddaliya = 0x1000df4 # U+0DF4 SINHALA KUNDDALIYA
2271
+ end
2272
+ end