1 ! Copyright (C) 2016 Björn Lindqvist
2 ! See https://factorcode.org/license.txt for BSD license.
4 ! Selected parts of /usr/include/X11/keysymdef.h
7 ! TTY function keys, cleverly chosen to map to ASCII, for convenience
8 ! of programming, but could have been arbitrary (at the cost of lookup
9 ! tables in client code).
10 CONSTANT: XK_BackSpace 0xff08 ! Back space, back char
11 CONSTANT: XK_Tab 0xff09
12 CONSTANT: XK_Linefeed 0xff0a ! Linefeed, LF
13 CONSTANT: XK_Clear 0xff0b
14 CONSTANT: XK_Return 0xff0d ! Return, enter
15 CONSTANT: XK_Pause 0xff13 ! Pause, hold
16 CONSTANT: XK_Scroll_Lock 0xff14
17 CONSTANT: XK_Sys_Req 0xff15
18 CONSTANT: XK_Escape 0xff1b
19 CONSTANT: XK_Delete 0xffff ! Delete, rubout
21 ! Cursor control & motion
22 CONSTANT: XK_Home 0xff50
23 CONSTANT: XK_Left 0xff51 ! Move left, left arrow
24 CONSTANT: XK_Up 0xff52 ! Move up, up arrow
25 CONSTANT: XK_Right 0xff53 ! Move right, right arrow
26 CONSTANT: XK_Down 0xff54 ! Move down, down arrow
27 CONSTANT: XK_Prior 0xff55 ! Prior, previous
28 CONSTANT: XK_Page_Up 0xff55
29 CONSTANT: XK_Next 0xff56 ! Next
30 CONSTANT: XK_Page_Down 0xff56
31 CONSTANT: XK_End 0xff57 ! EOL
32 CONSTANT: XK_Begin 0xff58 ! BOL
35 CONSTANT: XK_Select 0xff60 ! Select, mark
36 CONSTANT: XK_Print 0xff61
37 CONSTANT: XK_Execute 0xff62 ! Execute, run, do
38 CONSTANT: XK_Insert 0xff63 ! Insert, insert here
39 CONSTANT: XK_Undo 0xff65
40 CONSTANT: XK_Redo 0xff66 ! Redo, again
41 CONSTANT: XK_Menu 0xff67
42 CONSTANT: XK_Find 0xff68 ! Find, search
43 CONSTANT: XK_Cancel 0xff69 ! Cancel, stop, abort, exit
44 CONSTANT: XK_Help 0xff6a ! Help
45 CONSTANT: XK_Break 0xff6b
46 CONSTANT: XK_Mode_switch 0xff7e ! Character set switch
47 CONSTANT: XK_script_switch 0xff7e ! Alias for mode_switch
48 CONSTANT: XK_Num_Lock 0xff7f
50 ! Keypad functions, keypad numbers cleverly chosen to map to ASCII
51 CONSTANT: XK_KP_Space 0xff80 ! Space
52 CONSTANT: XK_KP_Tab 0xff89
53 CONSTANT: XK_KP_Enter 0xff8d ! Enter
54 CONSTANT: XK_KP_F1 0xff91 ! PF1, KP_A, ...
55 CONSTANT: XK_KP_F2 0xff92
56 CONSTANT: XK_KP_F3 0xff93
57 CONSTANT: XK_KP_F4 0xff94
58 CONSTANT: XK_KP_Home 0xff95
59 CONSTANT: XK_KP_Left 0xff96
60 CONSTANT: XK_KP_Up 0xff97
61 CONSTANT: XK_KP_Right 0xff98
62 CONSTANT: XK_KP_Down 0xff99
63 CONSTANT: XK_KP_Prior 0xff9a
64 CONSTANT: XK_KP_Page_Up 0xff9a
65 CONSTANT: XK_KP_Next 0xff9b
66 CONSTANT: XK_KP_Page_Down 0xff9b
67 CONSTANT: XK_KP_End 0xff9c
68 CONSTANT: XK_KP_Begin 0xff9d
69 CONSTANT: XK_KP_Insert 0xff9e
70 CONSTANT: XK_KP_Delete 0xff9f
71 CONSTANT: XK_KP_Equal 0xffbd ! Equals
72 CONSTANT: XK_KP_Multiply 0xffaa
73 CONSTANT: XK_KP_Add 0xffab
74 CONSTANT: XK_KP_Separator 0xffac ! Separator, often comma
75 CONSTANT: XK_KP_Subtract 0xffad
76 CONSTANT: XK_KP_Decimal 0xffae
77 CONSTANT: XK_KP_Divide 0xffaf
79 CONSTANT: XK_KP_0 0xffb0
80 CONSTANT: XK_KP_1 0xffb1
81 CONSTANT: XK_KP_2 0xffb2
82 CONSTANT: XK_KP_3 0xffb3
83 CONSTANT: XK_KP_4 0xffb4
84 CONSTANT: XK_KP_5 0xffb5
85 CONSTANT: XK_KP_6 0xffb6
86 CONSTANT: XK_KP_7 0xffb7
87 CONSTANT: XK_KP_8 0xffb8
88 CONSTANT: XK_KP_9 0xffb9
90 ! Auxiliary functions; note the duplicate definitions for left and
91 ! right function keys; Sun keyboards and a few other manufacturers
92 ! have such function key groups on the left and/or right sides of the
93 ! keyboard. We've not found a keyboard with more than 35 function keys
95 CONSTANT: XK_F1 0xffbe
96 CONSTANT: XK_F2 0xffbf
97 CONSTANT: XK_F3 0xffc0
98 CONSTANT: XK_F4 0xffc1
99 CONSTANT: XK_F5 0xffc2
100 CONSTANT: XK_F6 0xffc3
101 CONSTANT: XK_F7 0xffc4
102 CONSTANT: XK_F8 0xffc5
103 CONSTANT: XK_F9 0xffc6
104 CONSTANT: XK_F10 0xffc7
105 CONSTANT: XK_F11 0xffc8
106 CONSTANT: XK_L1 0xffc8
107 CONSTANT: XK_F12 0xffc9
108 CONSTANT: XK_L2 0xffc9
109 CONSTANT: XK_F13 0xffca
110 CONSTANT: XK_L3 0xffca
111 CONSTANT: XK_F14 0xffcb
112 CONSTANT: XK_L4 0xffcb
113 CONSTANT: XK_F15 0xffcc
114 CONSTANT: XK_L5 0xffcc
115 CONSTANT: XK_F16 0xffcd
116 CONSTANT: XK_L6 0xffcd
117 CONSTANT: XK_F17 0xffce
118 CONSTANT: XK_L7 0xffce
119 CONSTANT: XK_F18 0xffcf
120 CONSTANT: XK_L8 0xffcf
121 CONSTANT: XK_F19 0xffd0
122 CONSTANT: XK_L9 0xffd0
123 CONSTANT: XK_F20 0xffd1
124 CONSTANT: XK_L10 0xffd1
125 CONSTANT: XK_F21 0xffd2
126 CONSTANT: XK_R1 0xffd2
127 CONSTANT: XK_F22 0xffd3
128 CONSTANT: XK_R2 0xffd3
129 CONSTANT: XK_F23 0xffd4
130 CONSTANT: XK_R3 0xffd4
131 CONSTANT: XK_F24 0xffd5
132 CONSTANT: XK_R4 0xffd5
133 CONSTANT: XK_F25 0xffd6
134 CONSTANT: XK_R5 0xffd6
135 CONSTANT: XK_F26 0xffd7
136 CONSTANT: XK_R6 0xffd7
137 CONSTANT: XK_F27 0xffd8
138 CONSTANT: XK_R7 0xffd8
139 CONSTANT: XK_F28 0xffd9
140 CONSTANT: XK_R8 0xffd9
141 CONSTANT: XK_F29 0xffda
142 CONSTANT: XK_R9 0xffda
143 CONSTANT: XK_F30 0xffdb
144 CONSTANT: XK_R10 0xffdb
145 CONSTANT: XK_F31 0xffdc
146 CONSTANT: XK_R11 0xffdc
147 CONSTANT: XK_F32 0xffdd
148 CONSTANT: XK_R12 0xffdd
149 CONSTANT: XK_F33 0xffde
150 CONSTANT: XK_R13 0xffde
151 CONSTANT: XK_F34 0xffdf
152 CONSTANT: XK_R14 0xffdf
153 CONSTANT: XK_F35 0xffe0
154 CONSTANT: XK_R15 0xffe0
156 CONSTANT: XK_Shift_L 0xffe1 ! Left shift
157 CONSTANT: XK_Shift_R 0xffe2 ! Right shift
158 CONSTANT: XK_Control_L 0xffe3 ! Left control
159 CONSTANT: XK_Control_R 0xffe4 ! Right control
160 CONSTANT: XK_Caps_Lock 0xffe5 ! Caps lock
161 CONSTANT: XK_Shift_Lock 0xffe6 ! Shift lock
163 CONSTANT: XK_Meta_L 0xffe7 ! Left meta
164 CONSTANT: XK_Meta_R 0xffe8 ! Right meta
165 CONSTANT: XK_Alt_L 0xffe9 ! Left alt
166 CONSTANT: XK_Alt_R 0xffea ! Right alt
167 CONSTANT: XK_Super_L 0xffeb ! Left super
168 CONSTANT: XK_Super_R 0xffec ! Right super
169 CONSTANT: XK_Hyper_L 0xffed ! Left hyper
170 CONSTANT: XK_Hyper_R 0xffee ! Right hyper
172 ! Keyboard (XKB) Extension function and modifier keys (from Appendix C
173 ! of "The X Keyboard Extension: Protocol Specification")
175 CONSTANT: XK_ISO_Lock 0xfe01
176 CONSTANT: XK_ISO_Level2_Latch 0xfe02
177 CONSTANT: XK_ISO_Level3_Shift 0xfe03
178 CONSTANT: XK_ISO_Level3_Latch 0xfe04
179 CONSTANT: XK_ISO_Level3_Lock 0xfe05
180 CONSTANT: XK_ISO_Level5_Shift 0xfe11
181 CONSTANT: XK_ISO_Level5_Latch 0xfe12
182 CONSTANT: XK_ISO_Level5_Lock 0xfe13
183 CONSTANT: XK_ISO_Group_Shift 0xff7e ! Alias for mode_switch
184 CONSTANT: XK_ISO_Group_Latch 0xfe06
185 CONSTANT: XK_ISO_Group_Lock 0xfe07
186 CONSTANT: XK_ISO_Next_Group 0xfe08
187 CONSTANT: XK_ISO_Next_Group_Lock 0xfe09
188 CONSTANT: XK_ISO_Prev_Group 0xfe0a
189 CONSTANT: XK_ISO_Prev_Group_Lock 0xfe0b
190 CONSTANT: XK_ISO_First_Group 0xfe0c
191 CONSTANT: XK_ISO_First_Group_Lock 0xfe0d
192 CONSTANT: XK_ISO_Last_Group 0xfe0e
193 CONSTANT: XK_ISO_Last_Group_Lock 0xfe0f
195 CONSTANT: XK_ISO_Left_Tab 0xfe20
196 CONSTANT: XK_ISO_Move_Line_Up 0xfe21
197 CONSTANT: XK_ISO_Move_Line_Down 0xfe22
198 CONSTANT: XK_ISO_Partial_Line_Up 0xfe23
199 CONSTANT: XK_ISO_Partial_Line_Down 0xfe24
200 CONSTANT: XK_ISO_Partial_Space_Left 0xfe25
201 CONSTANT: XK_ISO_Partial_Space_Right 0xfe26
202 CONSTANT: XK_ISO_Set_Margin_Left 0xfe27
203 CONSTANT: XK_ISO_Set_Margin_Right 0xfe28
204 CONSTANT: XK_ISO_Release_Margin_Left 0xfe29
205 CONSTANT: XK_ISO_Release_Margin_Right 0xfe2a
206 CONSTANT: XK_ISO_Release_Both_Margins 0xfe2b
207 CONSTANT: XK_ISO_Fast_Cursor_Left 0xfe2c
208 CONSTANT: XK_ISO_Fast_Cursor_Right 0xfe2d
209 CONSTANT: XK_ISO_Fast_Cursor_Up 0xfe2e
210 CONSTANT: XK_ISO_Fast_Cursor_Down 0xfe2f
211 CONSTANT: XK_ISO_Continuous_Underline 0xfe30
212 CONSTANT: XK_ISO_Discontinuous_Underline 0xfe31
213 CONSTANT: XK_ISO_Emphasize 0xfe32
214 CONSTANT: XK_ISO_Center_Object 0xfe33
215 CONSTANT: XK_ISO_Enter 0xfe34