[BACK]Return to wsksymdef.h CVS log [TXT][DIR] Up to [cvs.NetBSD.org] / src / sys / dev / wscons

Annotation of src/sys/dev/wscons/wsksymdef.h, Revision 1.17

1.17    ! augustss    1: /*     $NetBSD: wsksymdef.h,v 1.16 1999/01/10 13:14:42 augustss Exp $ */
1.2       hannken     2:
                      3: /*-
                      4:  * Copyright (c) 1997 The NetBSD Foundation, Inc.
                      5:  * All rights reserved.
                      6:  *
                      7:  * This code is derived from software contributed to The NetBSD Foundation
                      8:  * by Juergen Hannken-Illjes.
                      9:  *
                     10:  * Redistribution and use in source and binary forms, with or without
                     11:  * modification, are permitted provided that the following conditions
                     12:  * are met:
                     13:  * 1. Redistributions of source code must retain the above copyright
                     14:  *    notice, this list of conditions and the following disclaimer.
                     15:  * 2. Redistributions in binary form must reproduce the above copyright
                     16:  *    notice, this list of conditions and the following disclaimer in the
                     17:  *    documentation and/or other materials provided with the distribution.
                     18:  * 3. All advertising materials mentioning features or use of this software
                     19:  *    must display the following acknowledgement:
                     20:  *     This product includes software developed by the NetBSD
                     21:  *     Foundation, Inc. and its contributors.
                     22:  * 4. Neither the name of The NetBSD Foundation nor the names of its
                     23:  *    contributors may be used to endorse or promote products derived
                     24:  *    from this software without specific prior written permission.
                     25:  *
                     26:  * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
                     27:  * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
                     28:  * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
                     29:  * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
                     30:  * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
                     31:  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
                     32:  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
                     33:  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
                     34:  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
                     35:  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
                     36:  * POSSIBILITY OF SUCH DAMAGE.
                     37:  */
                     38:
1.1       hannken    39: #ifndef _DEV_WSCONS_WSKSYMDEF_H_
                     40: #define _DEV_WSCONS_WSKSYMDEF_H_
                     41:
                     42: /*
                     43:  * Keysymbols encoded as 16-bit Unicode. Special symbols
                     44:  * are encoded in the private area (0xe000 - 0xf8ff).
                     45:  * Currently only ISO Latin-1 subset is supported.
1.13      hannken    46:  *
                     47:  * This file is parsed from userland. Encode keysyms as:
                     48:  *
                     49:  *     #define KS_[^ \t]* 0x[0-9a-f]*
                     50:  *
                     51:  * and don't modify the border comments.
1.1       hannken    52:  */
                     53:
1.13      hannken    54:
                     55: /*BEGINKEYSYMDECL*/
                     56:
1.1       hannken    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: /*
                    262:  * Group Dead (dead accents)
                    263:  */
                    264:
                    265: #define        KS_dead_grave           0x0300
                    266: #define        KS_dead_acute           0x0301
                    267: #define        KS_dead_circumflex      0x0302
                    268: #define        KS_dead_tilde           0x0303
                    269: #define        KS_dead_diaeresis       0x0308
                    270: #define        KS_dead_abovering       0x030a
                    271: #define        KS_dead_cedilla         0x0327
                    272:
                    273: /*
                    274:  * Group 1 (modifiers)
                    275:  */
                    276:
                    277: #define        KS_Shift_L              0xf101
                    278: #define        KS_Shift_R              0xf102
                    279: #define        KS_Control_L            0xf103
                    280: #define        KS_Control_R            0xf104
                    281: #define        KS_Caps_Lock            0xf105
                    282: #define        KS_Shift_Lock           0xf106
                    283: #define        KS_Alt_L                0xf107
                    284: #define        KS_Alt_R                0xf108
                    285: #define        KS_Multi_key            0xf109
                    286: #define        KS_Mode_switch          0xf10a
                    287: #define        KS_Num_Lock             0xf10b
                    288: #define KS_Hold_Screen         0xf10c
                    289: #define KS_Cmd                 0xf10d
                    290: #define KS_Cmd1                        0xf10e
                    291: #define KS_Cmd2                        0xf10f
1.16      augustss  292: #define KS_GUI_L               0xf110
                    293: #define KS_GUI_R               0xf111
1.1       hannken   294:
                    295: /*
                    296:  * Group 2 (keypad) character in low byte
                    297:  */
                    298:
                    299: #define        KS_KP_F1                0xf291
                    300: #define        KS_KP_F2                0xf292
                    301: #define        KS_KP_F3                0xf293
                    302: #define        KS_KP_F4                0xf294
                    303: #define        KS_KP_Home              0xf295
                    304: #define        KS_KP_Left              0xf296
                    305: #define        KS_KP_Up                0xf297
                    306: #define        KS_KP_Right             0xf298
                    307: #define        KS_KP_Down              0xf299
                    308: #define        KS_KP_Prior             0xf29a
                    309: #define        KS_KP_Next              0xf29b
                    310: #define        KS_KP_End               0xf29c
                    311: #define        KS_KP_Begin             0xf29d
                    312: #define        KS_KP_Insert            0xf29e
                    313: #define        KS_KP_Delete            0xf29f
                    314:
                    315: #define        KS_KP_Space             0xf220
                    316: #define        KS_KP_Tab               0xf209
                    317: #define        KS_KP_Enter             0xf20d
                    318: #define        KS_KP_Equal             0xf23d
                    319: #define        KS_KP_Multiply          0xf22a
                    320: #define        KS_KP_Add               0xf22b
                    321: #define        KS_KP_Separator         0xf22c
                    322: #define        KS_KP_Subtract          0xf22d
                    323: #define        KS_KP_Decimal           0xf22e
                    324: #define        KS_KP_Divide            0xf22f
                    325: #define        KS_KP_0                 0xf230
                    326: #define        KS_KP_1                 0xf231
                    327: #define        KS_KP_2                 0xf232
                    328: #define        KS_KP_3                 0xf233
                    329: #define        KS_KP_4                 0xf234
                    330: #define        KS_KP_5                 0xf235
                    331: #define        KS_KP_6                 0xf236
                    332: #define        KS_KP_7                 0xf237
                    333: #define        KS_KP_8                 0xf238
                    334: #define        KS_KP_9                 0xf239
                    335:
                    336: /*
                    337:  * Group 3 (function)
                    338:  */
                    339:
                    340: #define KS_f1                  0xf300
                    341: #define KS_f2                  0xf301
                    342: #define KS_f3                  0xf302
                    343: #define KS_f4                  0xf303
                    344: #define KS_f5                  0xf304
                    345: #define KS_f6                  0xf305
                    346: #define KS_f7                  0xf306
                    347: #define KS_f8                  0xf307
                    348: #define KS_f9                  0xf308
                    349: #define KS_f10                 0xf309
                    350: #define KS_f11                 0xf30a
                    351: #define KS_f12                 0xf30b
                    352: #define KS_f13                 0xf30c
                    353: #define KS_f14                 0xf30d
                    354: #define KS_f15                 0xf30e
                    355: #define KS_f16                 0xf30f
                    356: #define KS_f17                 0xf310
                    357: #define KS_f18                 0xf311
                    358: #define KS_f19                 0xf312
                    359: #define KS_f20                 0xf313
                    360:
                    361: #define KS_F1                  0xf340
                    362: #define KS_F2                  0xf341
                    363: #define KS_F3                  0xf342
                    364: #define KS_F4                  0xf343
                    365: #define KS_F5                  0xf344
                    366: #define KS_F6                  0xf345
                    367: #define KS_F7                  0xf346
                    368: #define KS_F8                  0xf347
                    369: #define KS_F9                  0xf348
                    370: #define KS_F10                 0xf349
                    371: #define KS_F11                 0xf34a
                    372: #define KS_F12                 0xf34b
                    373: #define KS_F13                 0xf34c
                    374: #define KS_F14                 0xf34d
                    375: #define KS_F15                 0xf34e
                    376: #define KS_F16                 0xf34f
                    377: #define KS_F17                 0xf350
                    378: #define KS_F18                 0xf351
                    379: #define KS_F19                 0xf352
                    380: #define KS_F20                 0xf353
                    381:
                    382: #define KS_Home                        0xf381
                    383: #define KS_Prior               0xf382
                    384: #define KS_Next                        0xf383
                    385: #define KS_Up                  0xf384
                    386: #define KS_Down                        0xf385
                    387: #define KS_Left                        0xf386
                    388: #define KS_Right               0xf387
                    389: #define KS_End                 0xf388
                    390: #define KS_Insert              0xf389
1.7       drochner  391: #define KS_Help                        0xf38a
                    392: #define KS_Execute             0xf38b
                    393: #define KS_Find                        0xf38c
                    394: #define KS_Select              0xf38d
1.16      augustss  395:
                    396: #define KS_Menu                        0xf3c0
1.17    ! augustss  397: #define KS_Pause               0xf3c1
        !           398: #define KS_Print_Screen                0xf3c2
1.1       hannken   399:
                    400: /*
                    401:  * Group 4 (command)
                    402:  */
                    403:
                    404: #define KS_Cmd_Screen0         0xf400
                    405: #define KS_Cmd_Screen1         0xf401
                    406: #define KS_Cmd_Screen2         0xf402
                    407: #define KS_Cmd_Screen3         0xf403
                    408: #define KS_Cmd_Screen4         0xf404
                    409: #define KS_Cmd_Screen5         0xf405
                    410: #define KS_Cmd_Screen6         0xf406
                    411: #define KS_Cmd_Screen7         0xf407
                    412: #define KS_Cmd_Screen8         0xf408
                    413: #define KS_Cmd_Screen9         0xf409
                    414: #define KS_Cmd_Debugger                0xf420
                    415:
                    416: /*
                    417:  * Group 5 (internal)
                    418:  */
                    419:
                    420: #define KS_voidSymbol          0xf500
                    421:
1.13      hannken   422: /*ENDKEYSYMDECL*/
                    423:
1.1       hannken   424: /*
                    425:  * keysym groups
                    426:  */
                    427:
                    428: #define KS_GROUP_Mod           0xf100
                    429: #define KS_GROUP_Keypad                0xf200
                    430: #define KS_GROUP_Function      0xf300
                    431: #define KS_GROUP_Command       0xf400
                    432: #define KS_GROUP_Internal      0xf500
1.6       hannken   433: #define KS_GROUP_Dead          0xf801          /* not encoded in keysym */
                    434: #define KS_GROUP_Ascii         0xf802          /* not encoded in keysym */
                    435: #define KS_GROUP_Keycode       0xf803          /* not encoded in keysym */
                    436:
1.13      hannken   437: #define KS_NUMKEYCODES 0x1000
                    438: #define KS_KEYCODE(v)  ((v) | 0xe000)
                    439:
1.6       hannken   440: #define KS_GROUP(k)    ((k) >= 0x0300 && (k) < 0x0370 ? KS_GROUP_Dead : \
                    441:                            (((k) & 0xf000) == 0xe000 ? KS_GROUP_Keycode : \
                    442:                              (((k) & 0xf800) == 0xf000 ? ((k) & 0xff00) : \
                    443:                                KS_GROUP_Ascii)))
1.1       hannken   444:
                    445: #define KS_VALUE(k)    (((k) & 0xf000) == 0xe000 ? ((k) & 0x0fff) : \
1.6       hannken   446:                            (((k) & 0xf800) == 0xf000 ? ((k) & 0x00ff) : (k)))
1.1       hannken   447:
                    448: /*
                    449:  * Keyboard types: 8bit encoding, 8bit variant
                    450:  */
                    451:
                    452: #define KB_ENCODING(e)         ((e) & 0xff00)
                    453: #define KB_VARIANT(e)          ((e) & 0x00ff)
                    454:
                    455: #define KB_USER                        0x0100
                    456: #define KB_US                  0x0200
                    457: #define KB_DE                  0x0300
1.5       drochner  458: #define KB_DK                  0x0400
1.10      drochner  459: #define KB_IT                  0x0500
1.14      drochner  460: #define KB_FR                  0x0600
                    461: #define KB_UK                  0x0700
1.1       hannken   462:
                    463: #define KB_NODEAD              0x0001
1.9       drochner  464: #define KB_DECLK               0x0002  /* DEC LKnnn layout */
1.11      drochner  465: #define KB_LK401               0x0004  /* DEC LK401 instead LK201 */
1.15      drochner  466: #define KB_SWAPCTRLCAPS                0x0008  /* Swap Control-L and Caps-Lock */
1.1       hannken   467:
                    468: #define KB_NAMETAB \
                    469:        { KB_USER,      "user" }, \
                    470:        { KB_US,        "us" }, \
                    471:        { KB_DE,        "de" }, \
1.5       drochner  472:        { KB_DK,        "dk" }, \
1.13      hannken   473:        { KB_IT,        "it" }, \
1.12      drochner  474:        { KB_FR,        "fr" }, \
1.14      drochner  475:        { KB_UK,        "uk" }, \
1.8       drochner  476:        { KB_NODEAD,    "nodead" }, \
1.11      drochner  477:        { KB_DECLK,     "declk" }, \
1.15      drochner  478:        { KB_LK401,     "lk401" }, \
                    479:        { KB_SWAPCTRLCAPS, "swapctrlcaps" }
1.1       hannken   480:
                    481: #endif /* !_DEV_WSCONS_WSKSYMDEF_H_ */

CVSweb <webmaster@jp.NetBSD.org>