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