|
|
1.1 root 1: /* $Header: keysymdef.h,v 1.4 87/09/03 20:51:14 toddb Exp $ */
2:
3: /***********************************************************
4: Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts,
5: and the Massachusetts Institute of Technology, Cambridge, Massachusetts.
6:
7: All Rights Reserved
8:
9: Permission to use, copy, modify, and distribute this software and its
10: documentation for any purpose and without fee is hereby granted,
11: provided that the above copyright notice appear in all copies and that
12: both that copyright notice and this permission notice appear in
13: supporting documentation, and that the names of Digital or MIT not be
14: used in advertising or publicity pertaining to distribution of the
15: software without specific, written prior permission.
16:
17: DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
18: ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
19: DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
20: ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
21: WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
22: ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
23: SOFTWARE.
24:
25: ******************************************************************/
26:
27: #ifdef XK_MISCELLANY
28: /*
29: * TTY Functions, cleverly chosen to map to ascii, for convenience of
30: * programming, but could have been arbitrary (at the cost of lookup
31: * tables in client code.
32: */
33:
34: #define XK_BackSpace 0xFF08 /* back space, back char, ... */
35: #define XK_Tab 0xFF09
36: #define XK_Clear 0xFF0B
37: #define XK_Linefeed 0xFF0A /* Linefeed, LF */
38: #define XK_Return 0xFF0D /* Return, enter */
39: #define XK_Pause 0xFF13 /* Pause, hold, scroll lock, ... */
40: #define XK_Escape 0xFF1B
41: #define XK_Delete 0xFFFF /* Delete <>, rubout (previous char)*/
42:
43:
44:
45: /* International & multi-key character composition */
46:
47: #define XK_Multi_key 0xFF20 /* Multi-key character compose */
48: #define XK_Kanji 0xFF21 /* Kanji split-space, Kanji convert, ... */
49:
50: /* Cursor control & motion */
51:
52: #define XK_Home 0xFF50
53: #define XK_Left 0xFF51 /* Move left, left arrow */
54: #define XK_Up 0xFF52 /* Move up, up arrow */
55: #define XK_Right 0xFF53 /* Move right, right arrow */
56: #define XK_Down 0xFF54 /* Move down, down arrow */
57: #define XK_Prior 0xFF55 /* Prior, previous <> */
58: #define XK_Next 0xFF56 /* Next <> */
59: #define XK_End 0xFF57 /* EOL */
60: #define XK_Begin 0xFF58 /* BOL */
61:
62:
63: /* Misc Functions */
64:
65: #define XK_Select 0xFF60 /* Select, mark */
66: #define XK_Print 0xFF61
67: #define XK_Execute 0xFF62 /* Execute, run, do */
68: #define XK_Insert 0xFF63 /* Insert, insert here */
69: #define XK_Undo 0xFF65 /* Undo, oops */
70: #define XK_Redo 0xFF66 /* redo, again */
71: #define XK_Menu 0xFF67
72: #define XK_Find 0xFF68 /* Find, search */
73: #define XK_Cancel 0xFF69 /* Cancel, stop, abort, exit */
74: #define XK_Help 0xFF6A /* Help, ? */
75: #define XK_Break 0xFF6B
76: #define XK_Mode_switch 0xFF7E /* Kana switch, Hebrew switch ...*/
77: #define XK_script_switch 0xFF7E /* Alias for mode_switch */
78: #define XK_Num_Lock 0xFF7F
79:
80: /* Keypad Functions, keypad numbers cleverly chosen to map to ascii */
81:
82: #define XK_KP_Space 0xFF80 /* space */
83: #define XK_KP_Tab 0xFF89
84: #define XK_KP_Enter 0xFF8D /* enter */
85: #define XK_KP_F1 0xFF91 /* PF1, KP_A, ... */
86: #define XK_KP_F2 0xFF92
87: #define XK_KP_F3 0xFF93
88: #define XK_KP_F4 0xFF94
89: #define XK_KP_Equal 0xFFBD /* equals */
90: #define XK_KP_Multiply 0xFFAA
91: #define XK_KP_Add 0xFFAB
92: #define XK_KP_Separator 0xFFAC /* separator, often comma */
93: #define XK_KP_Subtract 0xFFAD
94: #define XK_KP_Decimal 0xFFAE
95: #define XK_KP_Divide 0xFFAF
96:
97: #define XK_KP_0 0xFFB0
98: #define XK_KP_1 0xFFB1
99: #define XK_KP_2 0xFFB2
100: #define XK_KP_3 0xFFB3
101: #define XK_KP_4 0xFFB4
102: #define XK_KP_5 0xFFB5
103: #define XK_KP_6 0xFFB6
104: #define XK_KP_7 0xFFB7
105: #define XK_KP_8 0xFFB8
106: #define XK_KP_9 0xFFB9
107:
108:
109:
110: /*
111: * Auxilliary Functions; note the duplicate definitions for left and right
112: * function keys; Sun keyboards and a few other manufactures have such
113: * function key groups on the left and/or right sides of the keyboard.
114: * We've not found a keyboard with more than 35 function keys total.
115: */
116:
117: #define XK_F1 0xFFBE
118: #define XK_F2 0xFFBF
119: #define XK_F3 0xFFC0
120: #define XK_F4 0xFFC1
121: #define XK_F5 0xFFC2
122: #define XK_F6 0xFFC3
123: #define XK_F7 0xFFC4
124: #define XK_F8 0xFFC5
125: #define XK_F9 0xFFC6
126: #define XK_F10 0xFFC7
127: #define XK_F11 0xFFC8
128: #define XK_L1 0xFFC8
129: #define XK_F12 0xFFC9
130: #define XK_L2 0xFFC9
131: #define XK_F13 0xFFCA
132: #define XK_L3 0xFFCA
133: #define XK_F14 0xFFCB
134: #define XK_L4 0xFFCB
135: #define XK_F15 0xFFCC
136: #define XK_L5 0xFFCC
137: #define XK_F16 0xFFCD
138: #define XK_L6 0xFFCD
139: #define XK_F17 0xFFCE
140: #define XK_L7 0xFFCE
141: #define XK_F18 0xFFCF
142: #define XK_L8 0xFFCF
143: #define XK_F19 0xFFD0
144: #define XK_L9 0xFFD0
145: #define XK_F20 0xFFD1
146: #define XK_L10 0xFFD1
147: #define XK_F21 0xFFD2
148: #define XK_R1 0xFFD2
149: #define XK_L22 0xFFD3
150: #define XK_R2 0xFFD3
151: #define XK_F23 0xFFD4
152: #define XK_R3 0xFFD4
153: #define XK_F24 0xFFD5
154: #define XK_R4 0xFFD5
155: #define XK_F25 0xFFD6
156: #define XK_R5 0xFFD6
157: #define XK_F26 0xFFD7
158: #define XK_R6 0xFFD7
159: #define XK_F27 0xFFD8
160: #define XK_R7 0xFFD8
161: #define XK_F28 0xFFD9
162: #define XK_R8 0xFFD9
163: #define XK_F29 0xFFDA
164: #define XK_R9 0xFFDA
165: #define XK_F30 0xFFDB
166: #define XK_R10 0xFFDB
167: #define XK_F31 0xFFDC
168: #define XK_R11 0xFFDC
169: #define XK_F32 0xFFDD
170: #define XK_R12 0xFFDD
171: #define XK_R13 0xFFDE
172: #define XK_F33 0xFFDE
173: #define XK_F34 0xFFDF
174: #define XK_R14 0xFFDF
175: #define XK_F35 0xFFE0
176: #define XK_R15 0xFFE0
177:
178: /* Modifiers */
179:
180: #define XK_Shift_L 0xFFE1 /* Left shift */
181: #define XK_Shift_R 0xFFE2 /* Right shift */
182: #define XK_Control_L 0xFFE3 /* Left control */
183: #define XK_Control_R 0xFFE4 /* Right control */
184: #define XK_Caps_Lock 0xFFE5 /* Caps lock */
185: #define XK_Shift_Lock 0xFFE6 /* Shift lock */
186:
187: #define XK_Meta_L 0xFFE7 /* Left meta */
188: #define XK_Meta_R 0xFFE8 /* Right meta */
189: #define XK_Alt_L 0xFFE9 /* Left alt */
190: #define XK_Alt_R 0xFFEA /* Right alt */
191: #define XK_Super_L 0xFFEB /* Left super */
192: #define XK_Super_R 0xFFEC /* Right super */
193: #define XK_Hyper_L 0xFFED /* Left hyper */
194: #define XK_Hyper_R 0xFFEE /* Right hyper */
195: #endif XK_MISCELLANY
196:
197: /*
198: * Latin 1
199: * Byte 3 = 0
200: */
201: #ifdef XK_LATIN1
202: #define XK_space 0x020
203: #define XK_exclam 0x021
204: #define XK_quotedbl 0x022
205: #define XK_numbersign 0x023
206: #define XK_dollar 0x024
207: #define XK_percent 0x025
208: #define XK_ampersand 0x026
209: #define XK_quoteright 0x027
210: #define XK_parenleft 0x028
211: #define XK_parenright 0x029
212: #define XK_asterisk 0x02a
213: #define XK_plus 0x02b
214: #define XK_comma 0x02c
215: #define XK_minus 0x02d
216: #define XK_period 0x02e
217: #define XK_slash 0x02f
218: #define XK_0 0x030
219: #define XK_1 0x031
220: #define XK_2 0x032
221: #define XK_3 0x033
222: #define XK_4 0x034
223: #define XK_5 0x035
224: #define XK_6 0x036
225: #define XK_7 0x037
226: #define XK_8 0x038
227: #define XK_9 0x039
228: #define XK_colon 0x03a
229: #define XK_semicolon 0x03b
230: #define XK_less 0x03c
231: #define XK_equal 0x03d
232: #define XK_greater 0x03e
233: #define XK_question 0x03f
234: #define XK_at 0x040
235: #define XK_A 0x041
236: #define XK_B 0x042
237: #define XK_C 0x043
238: #define XK_D 0x044
239: #define XK_E 0x045
240: #define XK_F 0x046
241: #define XK_G 0x047
242: #define XK_H 0x048
243: #define XK_I 0x049
244: #define XK_J 0x04a
245: #define XK_K 0x04b
246: #define XK_L 0x04c
247: #define XK_M 0x04d
248: #define XK_N 0x04e
249: #define XK_O 0x04f
250: #define XK_P 0x050
251: #define XK_Q 0x051
252: #define XK_R 0x052
253: #define XK_S 0x053
254: #define XK_T 0x054
255: #define XK_U 0x055
256: #define XK_V 0x056
257: #define XK_W 0x057
258: #define XK_X 0x058
259: #define XK_Y 0x059
260: #define XK_Z 0x05a
261: #define XK_bracketleft 0x05b
262: #define XK_backslash 0x05c
263: #define XK_bracketright 0x05d
264: #define XK_asciicircum 0x05e
265: #define XK_underscore 0x05f
266: #define XK_quoteleft 0x060
267: #define XK_a 0x061
268: #define XK_b 0x062
269: #define XK_c 0x063
270: #define XK_d 0x064
271: #define XK_e 0x065
272: #define XK_f 0x066
273: #define XK_g 0x067
274: #define XK_h 0x068
275: #define XK_i 0x069
276: #define XK_j 0x06a
277: #define XK_k 0x06b
278: #define XK_l 0x06c
279: #define XK_m 0x06d
280: #define XK_n 0x06e
281: #define XK_o 0x06f
282: #define XK_p 0x070
283: #define XK_q 0x071
284: #define XK_r 0x072
285: #define XK_s 0x073
286: #define XK_t 0x074
287: #define XK_u 0x075
288: #define XK_v 0x076
289: #define XK_w 0x077
290: #define XK_x 0x078
291: #define XK_y 0x079
292: #define XK_z 0x07a
293: #define XK_braceleft 0x07b
294: #define XK_bar 0x07c
295: #define XK_braceright 0x07d
296: #define XK_asciitilde 0x07e
297:
298: #define XK_nobreakspace 0x0a0
299: #define XK_exclamdown 0x0a1
300: #define XK_cent 0x0a2
301: #define XK_sterling 0x0a3
302: #define XK_currency 0x0a4
303: #define XK_yen 0x0a5
304: #define XK_brokenbar 0x0a6
305: #define XK_section 0x0a7
306: #define XK_diaeresis 0x0a8
307: #define XK_copyright 0x0a9
308: #define XK_ordfeminine 0x0aa
309: #define XK_guillemotleft 0x0ab
310: #define XK_notsign 0x0ac
311: #define XK_hyphen 0x0ad
312: #define XK_registered 0x0ae
313: #define XK_macron 0x0af
314: #define XK_degree 0x0b0
315: #define XK_plusminus 0x0b1
316: #define XK_twosuperior 0x0b2
317: #define XK_threesuperior 0x0b3
318: #define XK_acute 0x0b4
319: #define XK_mu 0x0b5
320: #define XK_paragraph 0x0b6
321: #define XK_periodcentered 0x0b7
322: #define XK_cedilla 0x0b8
323: #define XK_onesuperior 0x0b9
324: #define XK_masculine 0x0ba
325: #define XK_guillemotright 0x0bb
326: #define XK_onequarter 0x0bc
327: #define XK_onehalf 0x0bd
328: #define XK_threequarters 0x0be
329: #define XK_questiondown 0x0bf
330: #define XK_Agrave 0x0c0
331: #define XK_Aacute 0x0c1
332: #define XK_Acircumflex 0x0c2
333: #define XK_Atilde 0x0c3
334: #define XK_Adiaeresis 0x0c4
335: #define XK_Aring 0x0c5
336: #define XK_AE 0x0c6
337: #define XK_Ccedilla 0x0c7
338: #define XK_Egrave 0x0c8
339: #define XK_Eacute 0x0c9
340: #define XK_Ecircumflex 0x0ca
341: #define XK_Ediaeresis 0x0cb
342: #define XK_Igrave 0x0cc
343: #define XK_Iacute 0x0cd
344: #define XK_Icircumflex 0x0ce
345: #define XK_Idiaeresis 0x0cf
346: #define XK_Eth 0x0d0
347: #define XK_Ntilde 0x0d1
348: #define XK_Ograve 0x0d2
349: #define XK_Oacute 0x0d3
350: #define XK_Ocircumflex 0x0d4
351: #define XK_Otilde 0x0d5
352: #define XK_Odiaeresis 0x0d6
353: #define XK_multiply 0x0d7
354: #define XK_Ooblique 0x0d8
355: #define XK_Ugrave 0x0d9
356: #define XK_Uacute 0x0da
357: #define XK_Ucircumflex 0x0db
358: #define XK_Udiaeresis 0x0dc
359: #define XK_Yacute 0x0dd
360: #define XK_Thorn 0x0de
361: #define XK_germandbls 0x0df
362: #define XK_agrave 0x0e0
363: #define XK_aacute 0x0e1
364: #define XK_acircumflex 0x0e2
365: #define XK_Wtilde 0x0e3
366: #define XK_adiaeresis 0x0e4
367: #define XK_aring 0x0e5
368: #define XK_ae 0x0e6
369: #define XK_ccedilla 0x0e7
370: #define XK_egrave 0x0e8
371: #define XK_eacute 0x0e9
372: #define XK_ecircumflex 0x0ea
373: #define XK_ediaeresis 0x0eb
374: #define XK_igrave 0x0ec
375: #define XK_iacute 0x0ed
376: #define XK_icircumflex 0x0ee
377: #define XK_idiaeresis 0x0ef
378: #define XK_eth 0x0f0
379: #define XK_ntilde 0x0f1
380: #define XK_ograve 0x0f2
381: #define XK_oacute 0x0f3
382: #define XK_ocircumflex 0x0f4
383: #define XK_otilde 0x0f5
384: #define XK_odiaeresis 0x0f6
385: #define XK_division 0x0f7
386: #define XK_oslash 0x0f8
387: #define XK_ugrave 0x0f9
388: #define XK_uacute 0x0fa
389: #define XK_ucircumflex 0x0fb
390: #define XK_udiaeresis 0x0fc
391: #define XK_yacute 0x0fd
392: #define XK_thorn 0x0fe
393: #define XK_ydiaeresis 0x0ff
394: #endif XK_LATIN1
395:
396: /*
397: * Latin 2
398: * Byte 3 = 1
399: */
400:
401: #ifdef XK_LATIN2
402: #define XK_Aogonek 0x1a1
403: #define XK_breve 0x1a2
404: #define XK_Lstroke 0x1a3
405: #define XK_Lcaron 0x1a5
406: #define XK_Sacute 0x1a6
407: #define XK_Scaron 0x1a9
408: #define XK_Scedilla 0x1aa
409: #define XK_Tcaron 0x1ab
410: #define XK_Zacute 0x1ac
411: #define XK_Zcaron 0x1ae
412: #define XK_Zabovedot 0x1af
413: #define XK_aogonek 0x1b1
414: #define XK_ogonek 0x1b2
415: #define XK_lstroke 0x1b3
416: #define XK_lcaron 0x1b5
417: #define XK_sacute 0x1b6
418: #define XK_caron 0x1b7
419: #define XK_scaron 0x1b9
420: #define XK_scedilla 0x1ba
421: #define XK_tcaron 0x1bb
422: #define XK_zacute 0x1bc
423: #define XK_doubleacute 0x1bd
424: #define XK_zcaron 0x1be
425: #define XK_zabovedot 0x1bf
426: #define XK_Racute 0x1c0
427: #define XK_Abreve 0x1c3
428: #define XK_Cacute 0x1c6
429: #define XK_Ccaron 0x1c8
430: #define XK_Eogonek 0x1ca
431: #define XK_Ecaron 0x1cc
432: #define XK_Dcaron 0x1cf
433: #define XK_Nacute 0x1d1
434: #define XK_Ncaron 0x1d2
435: #define XK_Odoubleacute 0x1d5
436: #define XK_Rcaron 0x1d8
437: #define XK_Uring 0x1d9
438: #define XK_Udoubleacute 0x1da
439: #define XK_Tcedilla 0x1de
440: #define XK_racute 0x1e0
441: #define XK_abreve 0x1e3
442: #define XK_cacute 0x1e6
443: #define XK_ccaron 0x1e8
444: #define XK_eogonek 0x1ea
445: #define XK_ecaron 0x1ec
446: #define XK_dcaron 0x1ef
447: #define XK_nacute 0x1f1
448: #define XK_ncaron 0x1f2
449: #define XK_rcaron 0x1f8
450: #define XK_uring 0x1f9
451: #define XK_tcedilla 0x1fe
452: #define XK_abovedot 0x1ff
453: #endif XK_LATIN2
454:
455: /*
456: * Latin 3
457: * Byte 3 = 2
458: */
459:
460: #ifdef XK_LATIN3
461: #define XK_Hstroke 0x2a1
462: #define XK_Hcircumflex 0x2a6
463: #define XK_Iabovedot 0x2a9
464: #define XK_Gbreve 0x2ab
465: #define XK_Jcircumflex 0x2ac
466: #define XK_hcircumflex 0x2b1
467: #define XK_hslash 0x2b6
468: #define XK_idotless 0x2b9
469: #define XK_gbreve 0x2bb
470: #define XK_jcircumflex 0x2bc
471: #define XK_Cabovedot 0x2c5
472: #define XK_Ccircumflex 0x2c6
473: #define XK_Gabovedot 0x2d5
474: #define XK_Gcircumflex 0x2d8
475: #define XK_Ubreve 0x2dd
476: #define XK_Wcircumflex 0x2de
477: #define XK_sgernamsharp 0x2df
478: #define XK_cabovedot 0x2e5
479: #define XK_ccircumflex 0x2e6
480: #define XK_gabovedot 0x2f5
481: #define XK_gcircumflex 0x2f8
482: #define XK_ubreve 0x2fd
483: #define XK_scircumflex 0x2fe
484: #endif XK_LATIN3
485:
486:
487: /*
488: * Latin 4
489: * Byte 3 = 3
490: */
491:
492: #ifdef XK_LATIN4
493: #define XK_kappa 0x3a2
494: #define XK_Rcedilla 0x3a3
495: #define XK_Itilde 0x3a5
496: #define XK_Lcedilla 0x3a6
497: #define XK_Emacron 0x3aa
498: #define XK_Gcedilla 0x3ab
499: #define XK_Tslash 0x3ac
500: #define XK_rcedilla 0x3b3
501: #define XK_itilde 0x3b5
502: #define XK_lcedilla 0x3b6
503: #define XK_emacron 0x3ba
504: #define XK_gacute 0x3bb
505: #define XK_tslash 0x3bc
506: #define XK_ENG 0x3bd
507: #define XK_eng 0x3bf
508: #define XK_Amacron 0x3c0
509: #define XK_Iogonek 0x3c7
510: #define XK_Eabovedot 0x3cc
511: #define XK_Imacron 0x3cf
512: #define XK_Ncedilla 0x3d1
513: #define XK_Omacron 0x3d2
514: #define XK_Kcedilla 0x3d3
515: #define XK_Uogonek 0x3d9
516: #define XK_Utilde 0x3dd
517: #define XK_Umacron 0x3de
518: #define XK_amacron 0x3e0
519: #define XK_iogonek 0x3e7
520: #define XK_eabovedot 0x3ec
521: #define XK_imacron 0x3ef
522: #define XK_ncedilla 0x3f1
523: #define XK_omacron 0x3f2
524: #define XK_kcedilla 0x3f3
525: #define XK_uogonek 0x3f9
526: #define XK_utilde 0x3fd
527: #define XK_umacron 0x3fe
528: #endif XK_LATIN4
529:
530: /*
531: * Katakana
532: * Byte 3 = 4
533: */
534:
535: #ifdef XK_KATAKANA
536: #define XK_overline 0x47e
537: #define XK_kana_fullstop 0x4a1
538: #define XK_kana_openingbracket 0x4a2
539: #define XK_kana_closingbracket 0x4a3
540: #define XK_kana_comma 0x4a4
541: #define XK_kana_middledot 0x4a5
542: #define XK_kana_WO 0x4a6
543: #define XK_kana_a 0x4a7
544: #define XK_kana_i 0x4a8
545: #define XK_kana_u 0x4a9
546: #define XK_kana_e 0x4aa
547: #define XK_kana_o 0x4ab
548: #define XK_kana_ya 0x4ac
549: #define XK_kana_yu 0x4ad
550: #define XK_kana_yo 0x4ae
551: #define XK_kana_tu 0x4af
552: #define XK_prolongedsound 0x4b0
553: #define XK_kana_A 0x4b1
554: #define XK_kana_I 0x4b2
555: #define XK_kana_U 0x4b3
556: #define XK_kana_E 0x4b4
557: #define XK_kana_O 0x4b5
558: #define XK_kana_KA 0x4b6
559: #define XK_kana_KI 0x4b7
560: #define XK_kana_KU 0x4b8
561: #define XK_kana_KE 0x4b9
562: #define XK_kana_KO 0x4ba
563: #define XK_kana_SA 0x4bb
564: #define XK_kana_SHI 0x4bc
565: #define XK_kana_SU 0x4bd
566: #define XK_kana_SE 0x4be
567: #define XK_kana_SO 0x4bf
568: #define XK_kana_TA 0x4c0
569: #define XK_kana_TI 0x4c1
570: #define XK_kana_TU 0x4c2
571: #define XK_kana_TE 0x4c3
572: #define XK_kana_TO 0x4c4
573: #define XK_kana_NA 0x4c5
574: #define XK_kana_NI 0x4c6
575: #define XK_kana_NU 0x4c7
576: #define XK_kana_NE 0x4c8
577: #define XK_kana_NO 0x4c9
578: #define XK_kana_HA 0x4ca
579: #define XK_kana_HI 0x4cb
580: #define XK_kana_HU 0x4cc
581: #define XK_kana_HE 0x4cd
582: #define XK_kana_HO 0x4ce
583: #define XK_kana_MA 0x4cf
584: #define XK_kana_MI 0x4d0
585: #define XK_kana_MU 0x4d1
586: #define XK_kana_ME 0x4d2
587: #define XK_kana_MO 0x4d3
588: #define XK_kana_YA 0x4d4
589: #define XK_kana_YU 0x4d5
590: #define XK_kana_YO 0x4d6
591: #define XK_kana_RA 0x4d7
592: #define XK_kana_RI 0x4d8
593: #define XK_kana_RU 0x4d9
594: #define XK_kana_RE 0x4da
595: #define XK_kana_RO 0x4db
596: #define XK_kana_WA 0x4dc
597: #define XK_kana_N 0x4dd
598: #define XK_voicedsound 0x4de
599: #define XK_semivoicedsound 0x4df
600: #define XK_kana_switch 0xFF7E /* Alias for mode_switch */
601: #endif XK_KATAKANA
602:
603: /*
604: * Arabic
605: * Byte 3 = 5
606: */
607:
608: #ifdef XK_ARABIC
609: #define XK_Arabic_comma 0x5ac
610: #define XK_Arabic_semicolon 0x5bb
611: #define XK_Arabic_question_mark 0x5bf
612: #define XK_Arabic_hamza 0x5c1
613: #define XK_Arabic_maddaonalef 0x5c2
614: #define XK_Arabic_hamzaonalef 0x5c3
615: #define XK_Arabic_hamzaonwaw 0x5c4
616: #define XK_Arabic_hamzaunderalef 0x5c5
617: #define XK_Arabic_hamzaonyeh 0x5c6
618: #define XK_Arabic_alef 0x5c7
619: #define XK_Arabic_beh 0x5c8
620: #define XK_Arabic_tehmarbuta 0x5c9
621: #define XK_Arabic_teh 0x5ca
622: #define XK_Arabic_theh 0x5cb
623: #define XK_Arabic_jeem 0x5cc
624: #define XK_Arabic_hah 0x5cd
625: #define XK_Arabic_khah 0x5ce
626: #define XK_Arabic_dal 0x5cf
627: #define XK_Arabic_thal 0x5d0
628: #define XK_Arabic_ra 0x5d1
629: #define XK_Arabic_zain 0x5d2
630: #define XK_Arabic_seen 0x5d3
631: #define XK_Arabic_sheen 0x5d4
632: #define XK_Arabic_sad 0x5d5
633: #define XK_Arabic_dad 0x5d6
634: #define XK_Arabic_tah 0x5d7
635: #define XK_Arabic_zah 0x5d8
636: #define XK_Arabic_ain 0x5d9
637: #define XK_Arabic_ghain 0x5da
638: #define XK_Arabic_tatweel 0x5e0
639: #define XK_Arabic_feh 0x5e1
640: #define XK_Arabic_qaf 0x5e2
641: #define XK_Arabic_kaf 0x5e3
642: #define XK_Arabic_lam 0x5e4
643: #define XK_Arabic_meem 0x5e5
644: #define XK_Arabic_noon 0x5e6
645: #define XK_Arabic_heh 0x5e7
646: #define XK_Arabic_waw 0x5e8
647: #define XK_Arabic_alefmaksura 0x5e9
648: #define XK_Arabic_yeh 0x5ea
649: #define XK_Arabic_fathatan 0x5eb
650: #define XK_Arabic_dammatan 0x5ec
651: #define XK_Arabic_kasratan 0x5ed
652: #define XK_Arabic_fatha 0x5ee
653: #define XK_Arabic_damma 0x5ef
654: #define XK_Arabic_kasra 0x5f0
655: #define XK_Arabic_shadda 0x5f1
656: #define XK_Arabic_sukun 0x5f2
657: #define XK_Arabic_switch 0xFF7E /* Alias for mode_switch */
658: #endif XK_ARABIC
659:
660: /*
661: * Cyrillic
662: * Byte 3 = 6
663: */
664: #ifdef XK_CYRILLIC
665: #define XK_Serbian_dje 0x6a1
666: #define XK_Macedonia_gje 0x6a2
667: #define XK_Cyrillic_io 0x6a3
668: #define XK_Ukranian_je 0x6a4
669: #define XK_Macedonia_dse 0x6a5
670: #define XK_Ukranian_i 0x6a6
671: #define XK_Ukranian_yi 0x6a7
672: #define XK_Serbian_je 0x6a8
673: #define XK_Serbian_lje 0x6a9
674: #define XK_Serbian_nje 0x6aa
675: #define XK_Serbian_tshe 0x6ab
676: #define XK_Macedonia_kje 0x6ac
677: #define XK_Byelorussian_shortu 0x6ae
678: #define XK_Serbian_dze 0x6af
679: #define XK_numerosign 0x6b0
680: #define XK_Serbian_DJE 0x6b1
681: #define XK_Macedonia_GJE 0x6b2
682: #define XK_Cyrillic_IO 0x6b3
683: #define XK_Ukranian_JE 0x6b4
684: #define XK_Macedonia_DSE 0x6b5
685: #define XK_Ukranian_I 0x6b6
686: #define XK_Ukranian_YI 0x6b7
687: #define XK_Serbian_JE 0x6b8
688: #define XK_Serbian_LJE 0x6b9
689: #define XK_Serbian_NJE 0x6ba
690: #define XK_Serbian_TSHE 0x6bb
691: #define XK_Macedonia_KJE 0x6bc
692: #define XK_Byelorussian_SHORTU 0x6be
693: #define XK_Serbian_DZE 0x6bf
694: #define XK_Cyrillic_yu 0x6c0
695: #define XK_Cyrillic_a 0x6c1
696: #define XK_Cyrillic_be 0x6c2
697: #define XK_Cyrillic_tse 0x6c3
698: #define XK_Cyrillic_de 0x6c4
699: #define XK_Cyrillic_ie 0x6c5
700: #define XK_Cyrillic_ef 0x6c6
701: #define XK_Cyrillic_ghe 0x6c7
702: #define XK_Cyrillic_ha 0x6c8
703: #define XK_Cyrillic_i 0x6c9
704: #define XK_Cyrillic_shorti 0x6ca
705: #define XK_Cyrillic_ka 0x6cb
706: #define XK_Cyrillic_el 0x6cc
707: #define XK_Cyrillic_em 0x6cd
708: #define XK_Cyrillic_en 0x6ce
709: #define XK_Cyrillic_o 0x6cf
710: #define XK_Cyrillic_pe 0x6d0
711: #define XK_Cyrillic_ya 0x6d1
712: #define XK_Cyrillic_er 0x6d2
713: #define XK_Cyrillic_es 0x6d3
714: #define XK_Cyrillic_te 0x6d4
715: #define XK_Cyrillic_u 0x6d5
716: #define XK_Cyrillic_zhe 0x6d6
717: #define XK_Cyrillic_ve 0x6d7
718: #define XK_Cyrillic_softsign 0x6d8
719: #define XK_Cyrillic_yeru 0x6d9
720: #define XK_Cyrillic_ze 0x6da
721: #define XK_Cyrillic_sha 0x6db
722: #define XK_Cyrillic_e 0x6dc
723: #define XK_Cyrillic_shcha 0x6dd
724: #define XK_Cyrillic_che 0x6de
725: #define XK_Cyrillic_hardsign 0x6df
726: #define XK_Cyrillic_YU 0x6e0
727: #define XK_Cyrillic_A 0x6e1
728: #define XK_Cyrillic_BE 0x6e2
729: #define XK_Cyrillic_TSE 0x6e3
730: #define XK_Cyrillic_DE 0x6e4
731: #define XK_Cyrillic_IE 0x6e5
732: #define XK_Cyrillic_EF 0x6e6
733: #define XK_Cyrillic_GHE 0x6e7
734: #define XK_Cyrillic_HA 0x6e8
735: #define XK_Cyrillic_I 0x6e9
736: #define XK_Cyrillic_SHORTI 0x6ea
737: #define XK_Cyrillic_KA 0x6eb
738: #define XK_Cyrillic_EL 0x6ec
739: #define XK_Cyrillic_EM 0x6ed
740: #define XK_Cyrillic_EN 0x6ee
741: #define XK_Cyrillic_O 0x6ef
742: #define XK_Cyrillic_PE 0x6f0
743: #define XK_Cyrillic_YA 0x6f1
744: #define XK_Cyrillic_ER 0x6f2
745: #define XK_Cyrillic_ES 0x6f3
746: #define XK_Cyrillic_TE 0x6f4
747: #define XK_Cyrillic_U 0x6f5
748: #define XK_Cyrillic_ZHE 0x6f6
749: #define XK_Cyrillic_VE 0x6f7
750: #define XK_Cyrillic_SOFTSIGN 0x6f8
751: #define XK_Cyrillic_YERU 0x6f9
752: #define XK_Cyrillic_ZE 0x6fa
753: #define XK_Cyrillic_SHA 0x6fb
754: #define XK_Cyrillic_E 0x6fc
755: #define XK_Cyrillic_SHCHA 0x6fd
756: #define XK_Cyrillic_CHE 0x6fe
757: #define XK_Cyrillic_HARDSIGN 0x6ff
758: #endif XK_CYRILLIC
759:
760: /*
761: * Greek
762: * Byte 3 = 7
763: */
764:
765: #ifdef XK_GREEK
766: #define XK_Greek_ALPHAaccent 0x7a1
767: #define XK_Greek_EPSILONaccent 0x7a2
768: #define XK_Greek_ETAaccent 0x7a3
769: #define XK_Greek_IOTAaccent 0x7a4
770: #define XK_Greek_IOTAdiaeresis 0x7a5
771: #define XK_Greek_IOTAaccentdiaeresis 0x7a6
772: #define XK_Greek_OMICRONaccent 0x7a7
773: #define XK_Greek_UPSILONaccent 0x7a8
774: #define XK_Greek_UPSILONdieresis 0x7a9
775: #define XK_Greek_UPSILONaccentdieresis 0x7aa
776: #define XK_Greek_OMEGAaccent 0x7ab
777: #define XK_Greek_alphaaccent 0x7b1
778: #define XK_Greek_epsilonaccent 0x7b2
779: #define XK_Greek_etaaccent 0x7b3
780: #define XK_Greek_iotaaccent 0x7b4
781: #define XK_Greek_iotadieresis 0x7b5
782: #define XK_Greek_iotaaccentdieresis 0x7b6
783: #define XK_Greek_omicronaccent 0x7b7
784: #define XK_Greek_upsilonaccent 0x7b8
785: #define XK_Greek_upsilondieresis 0x7b9
786: #define XK_Greek_upsilonaccentdieresis 0x7ba
787: #define XK_Greek_omegaaccent 0x7bb
788: #define XK_Greek_ALPHA 0x7c1
789: #define XK_Greek_BETA 0x7c2
790: #define XK_Greek_GAMMA 0x7c3
791: #define XK_Greek_DELTA 0x7c4
792: #define XK_Greek_EPSILON 0x7c5
793: #define XK_Greek_ZETA 0x7c6
794: #define XK_Greek_ETA 0x7c7
795: #define XK_Greek_THETA 0x7c8
796: #define XK_Greek_IOTA 0x7c9
797: #define XK_Greek_KAPPA 0x7ca
798: #define XK_Greek_LAMBDA 0x7cb
799: #define XK_Greek_MU 0x7cc
800: #define XK_Greek_NU 0x7cd
801: #define XK_Greek_XI 0x7ce
802: #define XK_Greek_OMICRON 0x7cf
803: #define XK_Greek_PI 0x7d0
804: #define XK_Greek_RHO 0x7d1
805: #define XK_Greek_SIGMA 0x7d2
806: #define XK_Greek_TAU 0x7d4
807: #define XK_Greek_UPSILON 0x7d5
808: #define XK_Greek_PHI 0x7d6
809: #define XK_Greek_CHI 0x7d7
810: #define XK_Greek_PSI 0x7d8
811: #define XK_Greek_OMEGA 0x7d9
812: #define XK_Greek_alpha 0x7e1
813: #define XK_Greek_beta 0x7e2
814: #define XK_Greek_gamma 0x7e3
815: #define XK_Greek_delta 0x7e4
816: #define XK_Greek_epsilon 0x7e5
817: #define XK_Greek_zeta 0x7e6
818: #define XK_Greek_eta 0x7e7
819: #define XK_Greek_theta 0x7e8
820: #define XK_Greek_iota 0x7e9
821: #define XK_Greek_kappa 0x7ea
822: #define XK_Greek_lambda 0x7eb
823: #define XK_Greek_mu 0x7ec
824: #define XK_Greek_nu 0x7ed
825: #define XK_Greek_xi 0x7ee
826: #define XK_Greek_omicron 0x7ef
827: #define XK_Greek_pi 0x7f0
828: #define XK_Greek_rho 0x7f1
829: #define XK_Greek_sigma 0x7f2
830: #define XK_Greek_finalsmallsigma 0x7f3
831: #define XK_Greek_tau 0x7f4
832: #define XK_Greek_upsilon 0x7f5
833: #define XK_Greek_phi 0x7f6
834: #define XK_Greek_chi 0x7f7
835: #define XK_Greek_psi 0x7f8
836: #define XK_Greek_omega 0x7f9
837: #define XK_Greek_switch 0xFF7E /* Alias for mode_switch */
838: #endif XK_GREEK
839:
840: /*
841: * Technical
842: * Byte 3 = 8
843: */
844:
845: #ifdef XK_TECHNICAL
846: #define XK_leftradical 0x8a1
847: #define XK_topleftradical 0x8a2
848: #define XK_horizconnector 0x8a3
849: #define XK_topintegral 0x8a4
850: #define XK_botintegral 0x8a5
851: #define XK_vertconnector 0x8a6
852: #define XK_topleftsqbracket 0x8a7
853: #define XK_botleftsqbracket 0x8a8
854: #define XK_toprightsqbracket 0x8a9
855: #define XK_botrightsqbracket 0x8aa
856: #define XK_topleftparens 0x8ab
857: #define XK_botleftparens 0x8ac
858: #define XK_toprightparens 0x8ad
859: #define XK_botrightparens 0x8ae
860: #define XK_leftmiddlecurlybrace 0x8af
861: #define XK_rightmiddlecurlybrace 0x8b0
862: #define XK_topleftsummation 0x8b1
863: #define XK_botleftsummation 0x8b2
864: #define XK_topvertsummationconnector 0x8b3
865: #define XK_botvertsummationconnector 0x8b4
866: #define XK_toprightsummation 0x8b5
867: #define XK_botrightsummation 0x8b6
868: #define XK_rightmiddlesummation 0x8b7
869: #define XK_lessthanequal 0x8bc
870: #define XK_notequal 0x8bd
871: #define XK_greaterthanequal 0x8be
872: #define XK_integral 0x8bf
873: #define XK_therefore 0x8c0
874: #define XK_variation 0x8c1
875: #define XK_infinity 0x8c2
876: #define XK_nabla 0x8c5
877: #define XK_approximate 0x8c8
878: #define XK_similarequal 0x8c9
879: #define XK_ifonlyif 0x8cd
880: #define XK_implies 0x8ce
881: #define XK_identical 0x8cf
882: #define XK_radical 0x8d6
883: #define XK_includedin 0x8da
884: #define XK_includes 0x8db
885: #define XK_intersection 0x8dc
886: #define XK_union 0x8dd
887: #define XK_logicaland 0x8de
888: #define XK_logicalor 0x8df
889: #define XK_partialderivative 0x8ef
890: #define XK_function 0x8f6
891: #define XK_leftarrow 0x8fb
892: #define XK_uparrow 0x8fc
893: #define XK_rightarrow 0x8fd
894: #define XK_downarrow 0x8fe
895: #endif XK_TECHNICAL
896:
897: /*
898: * Special
899: * Byte 3 = 9
900: */
901:
902: #ifdef XK_SPECIAL
903: #define XK_blank 0x9df
904: #define XK_soliddiamond 0x9e0
905: #define XK_checkerboard 0x9e1
906: #define XK_ht 0x9e2
907: #define XK_ff 0x9e3
908: #define XK_cr 0x9e4
909: #define XK_lf 0x9e5
910: #define XK_nl 0x9e8
911: #define XK_vt 0x9e9
912: #define XK_lowrightcorner 0x9ea
913: #define XK_uprightcorner 0x9eb
914: #define XK_upleftcorner 0x9ec
915: #define XK_lowleftcorner 0x9ed
916: #define XK_crossinglines 0x9ee
917: #define XK_horizlinescan1 0x9ef
918: #define XK_horizlinescan3 0x9f0
919: #define XK_horizlinescan5 0x9f1
920: #define XK_horizlinescan7 0x9f2
921: #define XK_horizlinescan9 0x9f3
922: #define XK_leftt 0x9f4
923: #define XK_rightt 0x9f5
924: #define XK_bott 0x9f6
925: #define XK_topt 0x9f7
926: #define XK_vertbar 0x9f8
927: #endif XK_SPECIAL
928:
929: /*
930: * Publishing
931: * Byte 3 = a
932: */
933:
934: #ifdef XK_PUBLISHING
935: #define XK_emspace 0xaa1
936: #define XK_enspace 0xaa2
937: #define XK_em3space 0xaa3
938: #define XK_em4space 0xaa4
939: #define XK_digitspace 0xaa5
940: #define XK_punctspace 0xaa6
941: #define XK_thinspace 0xaa7
942: #define XK_hairspace 0xaa8
943: #define XK_emdash 0xaa9
944: #define XK_endash 0xaaa
945: #define XK_signifblank 0xaac
946: #define XK_ellipsis 0xaae
947: #define XK_doubbaselinedot 0xaaf
948: #define XK_onethird 0xab0
949: #define XK_twothirds 0xab1
950: #define XK_onefifth 0xab2
951: #define XK_twofifths 0xab3
952: #define XK_threefifths 0xab4
953: #define XK_fourfifths 0xab5
954: #define XK_onesixth 0xab6
955: #define XK_fivesixths 0xab7
956: #define XK_careof 0xab8
957: #define XK_figdash 0xabb
958: #define XK_leftanglebracket 0xabc
959: #define XK_decimalpoint 0xabd
960: #define XK_rightanglebracket 0xabe
961: #define XK_marker 0xabf
962: #define XK_oneeighth 0xac3
963: #define XK_threeeighths 0xac4
964: #define XK_fiveeighths 0xac5
965: #define XK_seveneighths 0xac6
966: #define XK_trademark 0xac9
967: #define XK_signaturemark 0xaca
968: #define XK_trademarkincircle 0xacb
969: #define XK_leftopentriangle 0xacc
970: #define XK_rightopentriangle 0xacd
971: #define XK_emopencircle 0xace
972: #define XK_emopenrectangle 0xacf
973: #define XK_leftsinglequotemark 0xad0
974: #define XK_rightsinglequotemark 0xad1
975: #define XK_leftdoublequotemark 0xad2
976: #define XK_rightdoublequotemark 0xad3
977: #define XK_prescription 0xad4
978: #define XK_minutes 0xad6
979: #define XK_seconds 0xad7
980: #define XK_latincross 0xad9
981: #define XK_hexagram 0xada
982: #define XK_filledrectbullet 0xadb
983: #define XK_filledlefttribullet 0xadc
984: #define XK_filledrighttribullet 0xadd
985: #define XK_emfilledcircle 0xade
986: #define XK_emfilledrect 0xadf
987: #define XK_enopencircbullet 0xae0
988: #define XK_enopensquarebullet 0xae1
989: #define XK_openrectbullet 0xae2
990: #define XK_opentribulletup 0xae3
991: #define XK_opentribulletdown 0xae4
992: #define XK_openstar 0xae5
993: #define XK_enfilledcircbullet 0xae6
994: #define XK_enfilledsqbullet 0xae7
995: #define XK_filledtribulletup 0xae8
996: #define XK_filledtribulletdown 0xae9
997: #define XK_leftpointer 0xaea
998: #define XK_rightpointer 0xaeb
999: #define XK_club 0xaec
1000: #define XK_diamond 0xaed
1001: #define XK_heart 0xaee
1002: #define XK_maltesecross 0xaf0
1003: #define XK_dagger 0xaf1
1004: #define XK_doubledagger 0xaf2
1005: #define XK_checkmark 0xaf3
1006: #define XK_ballotcross 0xaf4
1007: #define XK_musicalsharp 0xaf5
1008: #define XK_musicalflat 0xaf6
1009: #define XK_malesymbol 0xaf7
1010: #define XK_femalesymbol 0xaf8
1011: #define XK_telephone 0xaf9
1012: #define XK_telephonerecorder 0xafa
1013: #define XK_phonographcopyright 0xafb
1014: #define XK_caret 0xafc
1015: #define XK_singlelowquotemark 0xafd
1016: #define XK_doublelowquotemark 0xafe
1017: #define XK_cursor 0xaff
1018: #endif XK_PUBLISHING
1019:
1020: /*
1021: * APL
1022: * Byte 3 = b
1023: */
1024:
1025: #ifdef XK_APL
1026: #define XK_leftcaret 0xba3
1027: #define XK_rightcaret 0xba6
1028: #define XK_downcaret 0xba8
1029: #define XK_upcaret 0xba9
1030: #define XK_overbar 0xbc0
1031: #define XK_downtack 0xbc2
1032: #define XK_upshoe 0xbc3
1033: #define XK_downstile 0xbc4
1034: #define XK_underbar 0xbc6
1035: #define XK_jot 0xbca
1036: #define XK_quad 0xbcc
1037: #define XK_uptack 0xbce
1038: #define XK_circle 0xbcf
1039: #define XK_upstile 0xbd3
1040: #define XK_downshoe 0xbd6
1041: #define XK_rightshoe 0xbd8
1042: #define XK_leftshoe 0xbda
1043: #define XK_lefttack 0xbdc
1044: #define XK_righttack 0xbfc
1045: #endif XK_APL
1046:
1047: /*
1048: * Hebrew
1049: * Byte 3 = c
1050: */
1051:
1052: #ifdef XK_HEBREW
1053: #define XK_hebrew_aleph 0xce0
1054: #define XK_hebrew_beth 0xce1
1055: #define XK_hebrew_gimmel 0xce2
1056: #define XK_hebrew_daleth 0xce3
1057: #define XK_hebrew_he 0xce4
1058: #define XK_hebrew_waw 0xce5
1059: #define XK_hebrew_zayin 0xce6
1060: #define XK_hebrew_het 0xce7
1061: #define XK_hebrew_teth 0xce8
1062: #define XK_hebrew_yod 0xce9
1063: #define XK_hebrew_finalkaph 0xcea
1064: #define XK_hebrew_kaph 0xceb
1065: #define XK_hebrew_lamed 0xcec
1066: #define XK_hebrew_finalmem 0xced
1067: #define XK_hebrew_mem 0xcee
1068: #define XK_hebrew_finalnun 0xcef
1069: #define XK_hebrew_nun 0xcf0
1070: #define XK_hebrew_samekh 0xcf1
1071: #define XK_hebrew_ayin 0xcf2
1072: #define XK_hebrew_finalpe 0xcf3
1073: #define XK_hebrew_pe 0xcf4
1074: #define XK_hebrew_finalzadi 0xcf5
1075: #define XK_hebrew_zadi 0xcf6
1076: #define XK_hebrew_kuf 0xcf7
1077: #define XK_hebrew_resh 0xcf8
1078: #define XK_hebrew_shin 0xcf9
1079: #define XK_hebrew_taf 0xcfa
1080: #define XK_Hebrew_switch 0xFF7E /* Alias for mode_switch */
1081: #endif XK_HEBREW
1082:
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.