RetroArch
wsksymdef.h
Go to the documentation of this file.
1 /*-
2  * Copyright (c) 1997 The NetBSD Foundation, Inc.
3  * All rights reserved.
4  *
5  * This code is derived from software contributed to The NetBSD Foundation
6  * by Juergen Hannken-Illjes.
7  *
8  * Redistribution and use in source and binary forms, with or without
9  * modification, are permitted provided that the following conditions
10  * are met:
11  * 1. Redistributions of source code must retain the above copyright
12  * notice, this list of conditions and the following disclaimer.
13  * 2. Redistributions in binary form must reproduce the above copyright
14  * notice, this list of conditions and the following disclaimer in the
15  * documentation and/or other materials provided with the distribution.
16  *
17  * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
18  * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
19  * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
20  * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
21  * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
22  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
23  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
24  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
25  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
26  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
27  * POSSIBILITY OF SUCH DAMAGE.
28  */
29 
30 #ifndef _DEV_WSCONS_WSKSYMDEF_H_
31 #define _DEV_WSCONS_WSKSYMDEF_H_
32 
33 /*
34  * Keysymbols encoded as 16-bit Unicode. Special symbols
35  * are encoded in the private area (0xe000 - 0xf8ff).
36  * Currently only ISO Latin-1 subset is supported.
37  *
38  * This file is parsed from userland. Encode keysyms as:
39  *
40  * #define KS_[^ \t]* 0x[0-9a-f]*
41  *
42  * and don't modify the border comments.
43  */
44 
45 /*BEGINKEYSYMDECL*/
46 
47 /*
48  * Group Ascii (ISO Latin1) character in low byte
49  */
50 
51 #define KS_BackSpace 0x08
52 #define KS_Tab 0x09
53 #define KS_Linefeed 0x0a
54 #define KS_Clear 0x0b
55 #define KS_Return 0x0d
56 #define KS_Escape 0x1b
57 #define KS_space 0x20
58 #define KS_exclam 0x21
59 #define KS_quotedbl 0x22
60 #define KS_numbersign 0x23
61 #define KS_dollar 0x24
62 #define KS_percent 0x25
63 #define KS_ampersand 0x26
64 #define KS_apostrophe 0x27
65 #define KS_parenleft 0x28
66 #define KS_parenright 0x29
67 #define KS_asterisk 0x2a
68 #define KS_plus 0x2b
69 #define KS_comma 0x2c
70 #define KS_minus 0x2d
71 #define KS_period 0x2e
72 #define KS_slash 0x2f
73 #define KS_0 0x30
74 #define KS_1 0x31
75 #define KS_2 0x32
76 #define KS_3 0x33
77 #define KS_4 0x34
78 #define KS_5 0x35
79 #define KS_6 0x36
80 #define KS_7 0x37
81 #define KS_8 0x38
82 #define KS_9 0x39
83 #define KS_colon 0x3a
84 #define KS_semicolon 0x3b
85 #define KS_less 0x3c
86 #define KS_equal 0x3d
87 #define KS_greater 0x3e
88 #define KS_question 0x3f
89 #define KS_at 0x40
90 #define KS_A 0x41
91 #define KS_B 0x42
92 #define KS_C 0x43
93 #define KS_D 0x44
94 #define KS_E 0x45
95 #define KS_F 0x46
96 #define KS_G 0x47
97 #define KS_H 0x48
98 #define KS_I 0x49
99 #define KS_J 0x4a
100 #define KS_K 0x4b
101 #define KS_L 0x4c
102 #define KS_M 0x4d
103 #define KS_N 0x4e
104 #define KS_O 0x4f
105 #define KS_P 0x50
106 #define KS_Q 0x51
107 #define KS_R 0x52
108 #define KS_S 0x53
109 #define KS_T 0x54
110 #define KS_U 0x55
111 #define KS_V 0x56
112 #define KS_W 0x57
113 #define KS_X 0x58
114 #define KS_Y 0x59
115 #define KS_Z 0x5a
116 #define KS_bracketleft 0x5b
117 #define KS_backslash 0x5c
118 #define KS_bracketright 0x5d
119 #define KS_asciicircum 0x5e
120 #define KS_underscore 0x5f
121 #define KS_grave 0x60
122 #define KS_a 0x61
123 #define KS_b 0x62
124 #define KS_c 0x63
125 #define KS_d 0x64
126 #define KS_e 0x65
127 #define KS_f 0x66
128 #define KS_g 0x67
129 #define KS_h 0x68
130 #define KS_i 0x69
131 #define KS_j 0x6a
132 #define KS_k 0x6b
133 #define KS_l 0x6c
134 #define KS_m 0x6d
135 #define KS_n 0x6e
136 #define KS_o 0x6f
137 #define KS_p 0x70
138 #define KS_q 0x71
139 #define KS_r 0x72
140 #define KS_s 0x73
141 #define KS_t 0x74
142 #define KS_u 0x75
143 #define KS_v 0x76
144 #define KS_w 0x77
145 #define KS_x 0x78
146 #define KS_y 0x79
147 #define KS_z 0x7a
148 #define KS_braceleft 0x7b
149 #define KS_bar 0x7c
150 #define KS_braceright 0x7d
151 #define KS_asciitilde 0x7e
152 #define KS_Delete 0x7f
153 
154 #define KS_nobreakspace 0xa0
155 #define KS_exclamdown 0xa1
156 #define KS_cent 0xa2
157 #define KS_sterling 0xa3
158 #define KS_currency 0xa4
159 #define KS_yen 0xa5
160 #define KS_brokenbar 0xa6
161 #define KS_section 0xa7
162 #define KS_diaeresis 0xa8
163 #define KS_copyright 0xa9
164 #define KS_ordfeminine 0xaa
165 #define KS_guillemotleft 0xab
166 #define KS_notsign 0xac
167 #define KS_hyphen 0xad
168 #define KS_registered 0xae
169 #define KS_macron 0xaf
170 #define KS_degree 0xb0
171 #define KS_plusminus 0xb1
172 #define KS_twosuperior 0xb2
173 #define KS_threesuperior 0xb3
174 #define KS_acute 0xb4
175 #define KS_mu 0xb5
176 #define KS_paragraph 0xb6
177 #define KS_periodcentered 0xb7
178 #define KS_cedilla 0xb8
179 #define KS_onesuperior 0xb9
180 #define KS_masculine 0xba
181 #define KS_guillemotright 0xbb
182 #define KS_onequarter 0xbc
183 #define KS_onehalf 0xbd
184 #define KS_threequarters 0xbe
185 #define KS_questiondown 0xbf
186 #define KS_Agrave 0xc0
187 #define KS_Aacute 0xc1
188 #define KS_Acircumflex 0xc2
189 #define KS_Atilde 0xc3
190 #define KS_Adiaeresis 0xc4
191 #define KS_Aring 0xc5
192 #define KS_AE 0xc6
193 #define KS_Ccedilla 0xc7
194 #define KS_Egrave 0xc8
195 #define KS_Eacute 0xc9
196 #define KS_Ecircumflex 0xca
197 #define KS_Ediaeresis 0xcb
198 #define KS_Igrave 0xcc
199 #define KS_Iacute 0xcd
200 #define KS_Icircumflex 0xce
201 #define KS_Idiaeresis 0xcf
202 #define KS_ETH 0xd0
203 #define KS_Ntilde 0xd1
204 #define KS_Ograve 0xd2
205 #define KS_Oacute 0xd3
206 #define KS_Ocircumflex 0xd4
207 #define KS_Otilde 0xd5
208 #define KS_Odiaeresis 0xd6
209 #define KS_multiply 0xd7
210 #define KS_Ooblique 0xd8
211 #define KS_Ugrave 0xd9
212 #define KS_Uacute 0xda
213 #define KS_Ucircumflex 0xdb
214 #define KS_Udiaeresis 0xdc
215 #define KS_Yacute 0xdd
216 #define KS_THORN 0xde
217 #define KS_ssharp 0xdf
218 #define KS_agrave 0xe0
219 #define KS_aacute 0xe1
220 #define KS_acircumflex 0xe2
221 #define KS_atilde 0xe3
222 #define KS_adiaeresis 0xe4
223 #define KS_aring 0xe5
224 #define KS_ae 0xe6
225 #define KS_ccedilla 0xe7
226 #define KS_egrave 0xe8
227 #define KS_eacute 0xe9
228 #define KS_ecircumflex 0xea
229 #define KS_ediaeresis 0xeb
230 #define KS_igrave 0xec
231 #define KS_iacute 0xed
232 #define KS_icircumflex 0xee
233 #define KS_idiaeresis 0xef
234 #define KS_eth 0xf0
235 #define KS_ntilde 0xf1
236 #define KS_ograve 0xf2
237 #define KS_oacute 0xf3
238 #define KS_ocircumflex 0xf4
239 #define KS_otilde 0xf5
240 #define KS_odiaeresis 0xf6
241 #define KS_division 0xf7
242 #define KS_oslash 0xf8
243 #define KS_ugrave 0xf9
244 #define KS_uacute 0xfa
245 #define KS_ucircumflex 0xfb
246 #define KS_udiaeresis 0xfc
247 #define KS_yacute 0xfd
248 #define KS_thorn 0xfe
249 #define KS_ydiaeresis 0xff
250 
251 #define KS_Odoubleacute 0x150
252 #define KS_odoubleacute 0x151
253 #define KS_Udoubleacute 0x170
254 #define KS_udoubleacute 0x171
255 
256 /*
257  * Group Dead (dead accents)
258  */
259 
260 #define KS_dead_grave 0x0300
261 #define KS_dead_acute 0x0301
262 #define KS_dead_circumflex 0x0302
263 #define KS_dead_tilde 0x0303
264 #define KS_dead_diaeresis 0x0308
265 #define KS_dead_abovering 0x030a
266 #define KS_dead_cedilla 0x0327
267 
268 /*
269  * Group Cyrillic (koi8-r)
270  */
271 
272 #define KS_Cyrillic_A 0xe1
273 #define KS_Cyrillic_BE 0xe2
274 #define KS_Cyrillic_VE 0xf7
275 #define KS_Cyrillic_GE 0xe7
276 #define KS_Cyrillic_DE 0xe4
277 #define KS_Cyrillic_IE 0xe5
278 #define KS_Cyrillic_YO 0xb3
279 #define KS_Cyrillic_ZHE 0xf6
280 #define KS_Cyrillic_ZE 0xfa
281 #define KS_Cyrillic_I 0xe9
282 #define KS_Cyrillic_ISHORT 0xea
283 #define KS_Cyrillic_IUKR 0xb6
284 #define KS_Cyrillic_YI 0xb7
285 #define KS_Cyrillic_KA 0xeb
286 #define KS_Cyrillic_EL 0xec
287 #define KS_Cyrillic_EM 0xed
288 #define KS_Cyrillic_EN 0xee
289 #define KS_Cyrillic_O 0xef
290 #define KS_Cyrillic_PE 0xf0
291 #define KS_Cyrillic_ER 0xf2
292 #define KS_Cyrillic_ES 0xf3
293 #define KS_Cyrillic_TE 0xf4
294 #define KS_Cyrillic_U 0xf5
295 #define KS_Cyrillic_EF 0xe6
296 #define KS_Cyrillic_HA 0xe8
297 #define KS_Cyrillic_TSE 0xe3
298 #define KS_Cyrillic_CHE 0xfe
299 #define KS_Cyrillic_SHA 0xfb
300 #define KS_Cyrillic_SCHA 0xfd
301 #define KS_Cyrillic_HSIGHN 0xff
302 #define KS_Cyrillic_YERU 0xf9
303 #define KS_Cyrillic_SSIGHN 0xf8
304 #define KS_Cyrillic_E 0xfc
305 #define KS_Cyrillic_YU 0xe0
306 #define KS_Cyrillic_YA 0xf1
307 #define KS_Cyrillic_a 0xc1
308 #define KS_Cyrillic_be 0xc2
309 #define KS_Cyrillic_ve 0xd7
310 #define KS_Cyrillic_ge 0xc7
311 #define KS_Cyrillic_de 0xc4
312 #define KS_Cyrillic_ie 0xc5
313 #define KS_Cyrillic_yo 0xa3
314 #define KS_Cyrillic_zhe 0xd6
315 #define KS_Cyrillic_ze 0xda
316 #define KS_Cyrillic_i 0xc9
317 #define KS_Cyrillic_ishort 0xca
318 #define KS_Cyrillic_iukr 0xa6
319 #define KS_Cyrillic_yi 0xa7
320 #define KS_Cyrillic_ka 0xcb
321 #define KS_Cyrillic_el 0xcc
322 #define KS_Cyrillic_em 0xcd
323 #define KS_Cyrillic_en 0xce
324 #define KS_Cyrillic_o 0xcf
325 #define KS_Cyrillic_pe 0xd0
326 #define KS_Cyrillic_er 0xd2
327 #define KS_Cyrillic_es 0xd3
328 #define KS_Cyrillic_te 0xd4
329 #define KS_Cyrillic_u 0xd5
330 #define KS_Cyrillic_ef 0xc6
331 #define KS_Cyrillic_ha 0xc8
332 #define KS_Cyrillic_tse 0xc3
333 #define KS_Cyrillic_che 0xde
334 #define KS_Cyrillic_sha 0xdb
335 #define KS_Cyrillic_scha 0xdd
336 #define KS_Cyrillic_hsighn 0xdf
337 #define KS_Cyrillic_yeru 0xd9
338 #define KS_Cyrillic_ssighn 0xd8
339 #define KS_Cyrillic_e 0xdc
340 #define KS_Cyrillic_yu 0xc0
341 #define KS_Cyrillic_ya 0xd1
342 #define KS_Cyrillic_gheukr 0xad
343 #define KS_Cyrillic_GHEUKR 0xbd
344 #define KS_Cyrillic_yeukr 0xa4
345 #define KS_Cyrillic_YEUKR 0xb4
346 
347 /*
348  * Group Latin-2 (iso8859-2)
349  */
350 
351 #define KS_L2_Aogonek 0xa1
352 #define KS_L2_breve 0xa2
353 #define KS_L2_Lstroke 0xa3
354 #define KS_L2_Lcaron 0xa5
355 #define KS_L2_Sacute 0xa6
356 #define KS_L2_Scaron 0xa9
357 #define KS_L2_Scedilla 0xaa
358 #define KS_L2_Tcaron 0xab
359 #define KS_L2_Zacute 0xac
360 #define KS_L2_Zcaron 0xae
361 #define KS_L2_Zdotabove 0xaf
362 #define KS_L2_aogonek 0xb1
363 #define KS_L2_ogonek 0xb2
364 #define KS_L2_lstroke 0xb3
365 #define KS_L2_lcaron 0xb5
366 #define KS_L2_sacute 0xb6
367 #define KS_L2_caron 0xb7
368 #define KS_L2_scaron 0xb9
369 #define KS_L2_scedilla 0xba
370 #define KS_L2_tcaron 0xbb
371 #define KS_L2_zacute 0xbc
372 #define KS_L2_dblacute 0xbd
373 #define KS_L2_zcaron 0xbe
374 #define KS_L2_zdotabove 0xbf
375 #define KS_L2_Racute 0xc0
376 #define KS_L2_Abreve 0xc3
377 #define KS_L2_Lacute 0xc5
378 #define KS_L2_Cacute 0xc6
379 #define KS_L2_Ccaron 0xc8
380 #define KS_L2_Eogonek 0xca
381 #define KS_L2_Ecaron 0xcc
382 #define KS_L2_Dcaron 0xcf
383 #define KS_L2_Dstroke 0xd0
384 #define KS_L2_Nacute 0xd1
385 #define KS_L2_Ncaron 0xd2
386 #define KS_L2_Odoubleacute 0xd5
387 #define KS_L2_Rcaron 0xd8
388 #define KS_L2_Uring 0xd9
389 #define KS_L2_Udoubleacute 0xdb
390 #define KS_L2_Tcedilla 0xde
391 #define KS_L2_racute 0xe0
392 #define KS_L2_abreve 0xe3
393 #define KS_L2_lacute 0xe5
394 #define KS_L2_cacute 0xe6
395 #define KS_L2_ccaron 0xe8
396 #define KS_L2_eogonek 0xea
397 #define KS_L2_ecaron 0xec
398 #define KS_L2_dcaron 0xef
399 #define KS_L2_dstroke 0xf0
400 #define KS_L2_nacute 0xf1
401 #define KS_L2_odoubleacute 0xf5
402 #define KS_L2_rcaron 0xf8
403 #define KS_L2_uring 0xf9
404 #define KS_L2_udoubleacute 0xfb
405 #define KS_L2_tcedilla 0xfe
406 #define KS_L2_dotabove 0xff
407 
408 /*
409  * Group Latin-5 (iso8859-9)
410  */
411 
412 #define KS_L5_Gbreve 0xd0
413 #define KS_L5_Idotabove 0xdd
414 #define KS_L5_Scedilla 0xde
415 #define KS_L5_gbreve 0xf0
416 #define KS_L5_idotless 0xfd
417 #define KS_L5_scedilla 0xfe
418 
419  /*
420  * Group Latin-7 (iso8859-13)
421  */
422 
423 #define KS_L7_rightdblquot 0xa1
424 #define KS_L7_dbllow9quot 0xa5
425 #define KS_L7_Ostroke 0xa8
426 #define KS_L7_Rcedilla 0xaa
427 #define KS_L7_AE 0xaf
428 #define KS_L7_leftdblquot 0xb4
429 #define KS_L7_ostroke 0xb8
430 #define KS_L7_rcedilla 0xba
431 #define KS_L7_ae 0xbf
432 #define KS_L7_Aogonek 0xc0
433 #define KS_L7_Iogonek 0xc1
434 #define KS_L7_Amacron 0xc2
435 #define KS_L7_Cacute 0xc3
436 #define KS_L7_Eogonek 0xc6
437 #define KS_L7_Emacron 0xc7
438 #define KS_L7_Ccaron 0xc8
439 #define KS_L7_Zacute 0xca
440 #define KS_L7_Edot 0xcb
441 #define KS_L7_Gcedilla 0xcc
442 #define KS_L7_Kcedilla 0xcd
443 #define KS_L7_Imacron 0xce
444 #define KS_L7_Lcedilla 0xcf
445 #define KS_L7_Scaron 0xd0
446 #define KS_L7_Nacute 0xd1
447 #define KS_L7_Ncedilla 0xd2
448 #define KS_L7_Omacron 0xd4
449 #define KS_L7_Uogonek 0xd8
450 #define KS_L7_Lstroke 0xd9
451 #define KS_L7_Sacute 0xda
452 #define KS_L7_Umacron 0xdb
453 #define KS_L7_Zdot 0xdd
454 #define KS_L7_Zcaron 0xde
455 #define KS_L7_aogonek 0xe0
456 #define KS_L7_iogonek 0xe1
457 #define KS_L7_amacron 0xe2
458 #define KS_L7_cacute 0xe3
459 #define KS_L7_eogonek 0xe6
460 #define KS_L7_emacron 0xe7
461 #define KS_L7_ccaron 0xe8
462 #define KS_L7_zacute 0xea
463 #define KS_L7_edot 0xeb
464 #define KS_L7_gcedilla 0xec
465 #define KS_L7_kcedilla 0xed
466 #define KS_L7_imacron 0xee
467 #define KS_L7_lcedilla 0xef
468 #define KS_L7_scaron 0xf0
469 #define KS_L7_nacute 0xf1
470 #define KS_L7_ncedilla 0xf2
471 #define KS_L7_omacron 0xf4
472 #define KS_L7_uogonek 0xf8
473 #define KS_L7_lstroke 0xf9
474 #define KS_L7_sacute 0xfa
475 #define KS_L7_umacron 0xfb
476 #define KS_L7_zdot 0xfd
477 #define KS_L7_zcaron 0xfe
478 #define KS_L7_rightsnglquot 0xff
479 
480 /*
481  * Group 1 (modifiers)
482  */
483 
484 #define KS_Shift_L 0xf101
485 #define KS_Shift_R 0xf102
486 #define KS_Control_L 0xf103
487 #define KS_Control_R 0xf104
488 #define KS_Caps_Lock 0xf105
489 #define KS_Shift_Lock 0xf106
490 #define KS_Alt_L 0xf107
491 #define KS_Alt_R 0xf108
492 #define KS_Multi_key 0xf109
493 #define KS_Mode_switch 0xf10a
494 #define KS_Num_Lock 0xf10b
495 #define KS_Hold_Screen 0xf10c
496 #define KS_Cmd 0xf10d
497 #define KS_Cmd1 0xf10e
498 #define KS_Cmd2 0xf10f
499 #define KS_Meta_L 0xf110
500 #define KS_Meta_R 0xf111
501 #define KS_Zenkaku_Hankaku 0xf112 /* Zenkaku/Hankaku toggle */
502 #define KS_Hiragana_Katakana 0xf113 /* Hiragana/Katakana toggle */
503 #define KS_Henkan_Mode 0xf114 /* Start/Stop Conversion */
504 #define KS_Henkan 0xf115 /* Alias for Henkan_Mode */
505 #define KS_Muhenkan 0xf116 /* Cancel Conversion */
506 #define KS_Mode_Lock 0xf117
507 
508 /*
509  * Group 2 (keypad) character in low byte
510  */
511 
512 #define KS_KP_F1 0xf291
513 #define KS_KP_F2 0xf292
514 #define KS_KP_F3 0xf293
515 #define KS_KP_F4 0xf294
516 #define KS_KP_Home 0xf295
517 #define KS_KP_Left 0xf296
518 #define KS_KP_Up 0xf297
519 #define KS_KP_Right 0xf298
520 #define KS_KP_Down 0xf299
521 #define KS_KP_Prior 0xf29a
522 #define KS_KP_Next 0xf29b
523 #define KS_KP_End 0xf29c
524 #define KS_KP_Begin 0xf29d
525 #define KS_KP_Insert 0xf29e
526 #define KS_KP_Delete 0xf29f
527 
528 #define KS_KP_Space 0xf220
529 #define KS_KP_Tab 0xf209
530 #define KS_KP_Enter 0xf20d
531 #define KS_KP_Equal 0xf23d
532 #define KS_KP_Numbersign 0xf223
533 #define KS_KP_Multiply 0xf22a
534 #define KS_KP_Add 0xf22b
535 #define KS_KP_Separator 0xf22c
536 #define KS_KP_Subtract 0xf22d
537 #define KS_KP_Decimal 0xf22e
538 #define KS_KP_Divide 0xf22f
539 #define KS_KP_0 0xf230
540 #define KS_KP_1 0xf231
541 #define KS_KP_2 0xf232
542 #define KS_KP_3 0xf233
543 #define KS_KP_4 0xf234
544 #define KS_KP_5 0xf235
545 #define KS_KP_6 0xf236
546 #define KS_KP_7 0xf237
547 #define KS_KP_8 0xf238
548 #define KS_KP_9 0xf239
549 
550 /*
551  * Group 3 (function)
552  */
553 
554 #define KS_f1 0xf300
555 #define KS_f2 0xf301
556 #define KS_f3 0xf302
557 #define KS_f4 0xf303
558 #define KS_f5 0xf304
559 #define KS_f6 0xf305
560 #define KS_f7 0xf306
561 #define KS_f8 0xf307
562 #define KS_f9 0xf308
563 #define KS_f10 0xf309
564 #define KS_f11 0xf30a
565 #define KS_f12 0xf30b
566 #define KS_f13 0xf30c
567 #define KS_f14 0xf30d
568 #define KS_f15 0xf30e
569 #define KS_f16 0xf30f
570 #define KS_f17 0xf310
571 #define KS_f18 0xf311
572 #define KS_f19 0xf312
573 #define KS_f20 0xf313
574 
575 #define KS_F1 0xf340
576 #define KS_F2 0xf341
577 #define KS_F3 0xf342
578 #define KS_F4 0xf343
579 #define KS_F5 0xf344
580 #define KS_F6 0xf345
581 #define KS_F7 0xf346
582 #define KS_F8 0xf347
583 #define KS_F9 0xf348
584 #define KS_F10 0xf349
585 #define KS_F11 0xf34a
586 #define KS_F12 0xf34b
587 #define KS_F13 0xf34c
588 #define KS_F14 0xf34d
589 #define KS_F15 0xf34e
590 #define KS_F16 0xf34f
591 #define KS_F17 0xf350
592 #define KS_F18 0xf351
593 #define KS_F19 0xf352
594 #define KS_F20 0xf353
595 
596 #define KS_Home 0xf381
597 #define KS_Prior 0xf382
598 #define KS_Next 0xf383
599 #define KS_Up 0xf384
600 #define KS_Down 0xf385
601 #define KS_Left 0xf386
602 #define KS_Right 0xf387
603 #define KS_End 0xf388
604 #define KS_Insert 0xf389
605 #define KS_Help 0xf38a
606 #define KS_Execute 0xf38b
607 #define KS_Find 0xf38c
608 #define KS_Select 0xf38d
609 #define KS_Again 0xf38e
610 #define KS_Props 0xf38f
611 #define KS_Undo 0xf390
612 #define KS_Front 0xf391
613 #define KS_Copy 0xf392
614 #define KS_Open 0xf393
615 #define KS_Paste 0xf394
616 #define KS_Cut 0xf395
617 
618 #define KS_Menu 0xf3c0
619 #define KS_Pause 0xf3c1
620 #define KS_Print_Screen 0xf3c2
621 
622 #define KS_AudioMute 0xf3d1
623 #define KS_AudioLower 0xf3d2
624 #define KS_AudioRaise 0xf3d3
625 
626 /*
627  * Group 4 (command)
628  */
629 
630 #define KS_Cmd_Screen0 0xf400
631 #define KS_Cmd_Screen1 0xf401
632 #define KS_Cmd_Screen2 0xf402
633 #define KS_Cmd_Screen3 0xf403
634 #define KS_Cmd_Screen4 0xf404
635 #define KS_Cmd_Screen5 0xf405
636 #define KS_Cmd_Screen6 0xf406
637 #define KS_Cmd_Screen7 0xf407
638 #define KS_Cmd_Screen8 0xf408
639 #define KS_Cmd_Screen9 0xf409
640 #define KS_Cmd_Screen10 0xf40a
641 #define KS_Cmd_Screen11 0xf40b
642 #define KS_Cmd_Debugger 0xf420
643 #define KS_Cmd_ResetEmul 0xf421
644 #define KS_Cmd_ResetClose 0xf422
645 #define KS_Cmd_BacklightOn 0xf423
646 #define KS_Cmd_BacklightOff 0xf424
647 #define KS_Cmd_BacklightToggle 0xf425
648 #define KS_Cmd_BrightnessUp 0xf426
649 #define KS_Cmd_BrightnessDown 0xf427
650 #define KS_Cmd_BrightnessRotate 0xf428
651 #define KS_Cmd_ContrastUp 0xf429
652 #define KS_Cmd_ContrastDown 0xf42a
653 #define KS_Cmd_ContrastRotate 0xf42b
654 #define KS_Cmd_ScrollBack 0xf42c
655 #define KS_Cmd_ScrollFwd 0xf42d
656 #define KS_Cmd_KbdReset 0xf42e
657 
658 /*
659  * Group 5 (internal)
660  */
661 
662 #define KS_voidSymbol 0xf500
663 
664 /*ENDKEYSYMDECL*/
665 
666 /*
667  * keysym groups
668  */
669 
670 #define KS_GROUP_Mod 0xf100
671 #define KS_GROUP_Keypad 0xf200
672 #define KS_GROUP_Function 0xf300
673 #define KS_GROUP_Command 0xf400
674 #define KS_GROUP_Internal 0xf500
675 #define KS_GROUP_Dead 0xf801 /* not encoded in keysym */
676 #define KS_GROUP_Ascii 0xf802 /* not encoded in keysym */
677 #define KS_GROUP_Keycode 0xf803 /* not encoded in keysym */
678 
679 #define KS_NUMKEYCODES 0x1000
680 #define KS_KEYCODE(v) ((v) | 0xe000)
681 
682 #define KS_GROUP(k) ((k) >= 0x0300 && (k) < 0x0370 ? KS_GROUP_Dead : \
683  (((k) & 0xf000) == 0xe000 ? KS_GROUP_Keycode : \
684  (((k) & 0xf800) == 0xf000 ? ((k) & 0xff00) : \
685  KS_GROUP_Ascii)))
686 
687 #define KS_VALUE(k) (((k) & 0xf000) == 0xe000 ? ((k) & 0x0fff) : \
688  (((k) & 0xf800) == 0xf000 ? ((k) & 0x00ff) : (k)))
689 
690 /*
691  * Keyboard types: 8bit encoding, 24bit variant
692  */
693 
694 #define KB_ENCODING(e) ((e) & 0x0000ff00)
695 #define KB_VARIANT(e) ((e) & 0xffff00ff)
696 
697 #define KB_NONE 0x0000
698 #define KB_USER 0x0100
699 #define KB_US 0x0200
700 #define KB_DE 0x0300
701 #define KB_DK 0x0400
702 #define KB_IT 0x0500
703 #define KB_FR 0x0600
704 #define KB_UK 0x0700
705 #define KB_JP 0x0800
706 #define KB_SV 0x0900
707 #define KB_NO 0x0a00
708 #define KB_ES 0x0b00
709 #define KB_HU 0x0c00
710 #define KB_BE 0x0d00
711 #define KB_RU 0x0e00
712 #define KB_SG 0x0f00
713 #define KB_SF 0x1000
714 #define KB_PT 0x1100
715 #define KB_UA 0x1200
716 #define KB_LT 0x1300
717 #define KB_LA 0x1400
718 #define KB_BR 0x1500
719 #define KB_NL 0x1600
720 #define KB_TR 0x1700
721 #define KB_PL 0x1800
722 #define KB_SI 0x1900
723 #define KB_CF 0x1a00
724 #define KB_LV 0x1b00
725 
726 #define KB_NODEAD 0x000001 /* disable dead accents */
727 #define KB_DECLK 0x000002 /* DEC LKnnn layout */
728 #define KB_LK401 0x000004 /* DEC LK401 instead LK201 */
729 #define KB_SWAPCTRLCAPS 0x000008 /* swap Left-Control and Caps-Lock */
730 #define KB_DVORAK 0x000010 /* Dvorak layout */
731 #define KB_METAESC 0x000020 /* generate ESC prefix on ALT-key */
732 #define KB_IOPENER 0x000040 /* f1-f12 -> ESC,f1-f11 */
733 #define KB_MACHDEP 0x000080 /* machine dependent */
734 #define KB_APPLE 0x010000 /* Apple specific layout */
735 
736 #define KB_ENCTAB \
737  { KB_USER, "user" }, \
738  { KB_US, "us" }, \
739  { KB_DE, "de" }, \
740  { KB_DK, "dk" }, \
741  { KB_IT, "it" }, \
742  { KB_FR, "fr" }, \
743  { KB_UK, "uk" }, \
744  { KB_JP, "jp" }, \
745  { KB_SV, "sv" }, \
746  { KB_NO, "no" }, \
747  { KB_ES, "es" }, \
748  { KB_HU, "hu" }, \
749  { KB_BE, "be" }, \
750  { KB_RU, "ru" }, \
751  { KB_UA, "ua" }, \
752  { KB_SG, "sg" }, \
753  { KB_SF, "sf" }, \
754  { KB_PT, "pt" }, \
755  { KB_LT, "lt" }, \
756  { KB_LA, "la" }, \
757  { KB_BR, "br" }, \
758  { KB_NL, "nl" }, \
759  { KB_TR, "tr" }, \
760  { KB_PL, "pl" }, \
761  { KB_SI, "si" }, \
762  { KB_CF, "cf" }, \
763  { KB_LV, "lv" }
764 
765 #define KB_VARTAB \
766  { KB_NODEAD, "nodead" }, \
767  { KB_DECLK, "declk" }, \
768  { KB_LK401, "lk401" }, \
769  { KB_SWAPCTRLCAPS, "swapctrlcaps" }, \
770  { KB_DVORAK, "dvorak" }, \
771  { KB_METAESC, "metaesc" }, \
772  { KB_IOPENER, "iopener" }, \
773  { KB_MACHDEP, "machdep" }, \
774  { KB_APPLE, "apple" }
775 
776 #endif /* !_DEV_WSCONS_WSKSYMDEF_H_ */