Annotation of kernel/bsd/dev/ppc/PPCKeymap.c, revision 1.1.1.1

1.1       root        1: /*
                      2:  * Copyright (c) 1999 Apple Computer, Inc. All rights reserved.
                      3:  *
                      4:  * @APPLE_LICENSE_HEADER_START@
                      5:  * 
                      6:  * Portions Copyright (c) 1999 Apple Computer, Inc.  All Rights
                      7:  * Reserved.  This file contains Original Code and/or Modifications of
                      8:  * Original Code as defined in and that are subject to the Apple Public
                      9:  * Source License Version 1.1 (the "License").  You may not use this file
                     10:  * except in compliance with the License.  Please obtain a copy of the
                     11:  * License at http://www.apple.com/publicsource and read it before using
                     12:  * this file.
                     13:  * 
                     14:  * The Original Code and all software distributed under the License are
                     15:  * distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, EITHER
                     16:  * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
                     17:  * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
                     18:  * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT.  Please see the
                     19:  * License for the specific language governing rights and limitations
                     20:  * under the License.
                     21:  * 
                     22:  * @APPLE_LICENSE_HEADER_END@
                     23:  */
                     24: 
                     25: /* Copyright (c) 1992 NeXT Computer, Inc.  All rights reserverd
                     26:  *
                     27:  * PCKeymap.c - Declaration of the PC's default keymap string
                     28:  *
                     29:  * HISTORY
                     30:  * 07 Dec 1992 Joe Pasqua
                     31:  *     Created  true PC version.
                     32:  * 11 April 1997 Simon Douglas
                     33:  *      Apple ADB version.
                     34:  */
                     35: 
                     36: #import        <bsd/dev/event.h>
                     37: #import        <bsd/dev/ev_keymap.h>
                     38: #import        <bsd/dev/ev_keymap.h>
                     39: #import "PPCKeyboardPriv.h"
                     40: 
                     41: #define        CTRL(c) ((c)&037)
                     42: 
                     43: static const unsigned char PPCDefaultKeymap[] = {
                     44: 0x00, 0x00,     /* char file format */
                     45: 6,              /* Modifier key definitions */
                     46:         NX_MODIFIERKEY_SHIFT, 0x02,     ADBK_SHIFT, ADBK_SHIFT_R,      /* Shift, 2 keys */
                     47:         NX_MODIFIERKEY_CONTROL, 0x02,     ADBK_CONTROL, ADBK_CONTROL_R,        /* Ctrl, 2 keys */
                     48:         NX_MODIFIERKEY_ALTERNATE, 0x02,     ADBK_OPTION, ADBK_OPTION_R,        /* Alt, 2 keys */
                     49:         NX_MODIFIERKEY_COMMAND, 0x01,     ADBK_FLOWER,                 /* Cmd, 1 key */
                     50:         NX_MODIFIERKEY_NUMERICPAD, 0x15,                               /* NumPad, 21 key(s) */
                     51:                        0x52, 0x41, 0x4c,       // 0 . Enter
                     52:                        0x53, 0x54, 0x55,       // 1 2 3
                     53:                        0x56, 0x57, 0x58, 0x45, // 4 5 6 +
                     54:                         0x59, 0x5b, 0x5c,      // 7 8 9
                     55:                        ADBK_NUMLOCK, 0x51, 0x4b, 0x43,
                     56:                         ADBK_UP, ADBK_DOWN, ADBK_LEFT, ADBK_RIGHT,
                     57:        NX_MODIFIERKEY_HELP, 0x01,      0x72,   /* The help key */
                     58: 93,             /* Key Definitions */
                     59: 
                     60:         /* Key 0x00 modifier key mask bits (0x0d) */
                     61:         (1<<NX_MODIFIERKEY_ALPHALOCK)|(1<<NX_MODIFIERKEY_CONTROL)|
                     62:         (1<<NX_MODIFIERKEY_ALTERNATE),
                     63:                 NX_ASCIISET,         'a',       /* no flags */
                     64:                 NX_ASCIISET,         'A',       /* AlphaShift */
                     65:                 NX_ASCIISET,    CTRL('A'),      /* Ctrl */
                     66:                 NX_ASCIISET,    CTRL('A'),      /* AlphaShift Ctrl */
                     67:                 NX_ASCIISET,        0xca,       /* Alt */
                     68:                 NX_ASCIISET,        0xc7,       /* AlphaShift Alt */
                     69:                 NX_ASCIISET,    CTRL('A'),      /* Ctrl Alt */
                     70:                 NX_ASCIISET,    CTRL('A'),      /* AlphaShift Ctrl Alt */
                     71:         /* Key 0x01 modifier key mask bits (0x0d) */
                     72:         (1<<NX_MODIFIERKEY_ALPHALOCK)|(1<<NX_MODIFIERKEY_CONTROL)|
                     73:         (1<<NX_MODIFIERKEY_ALTERNATE),
                     74:                 NX_ASCIISET,         's',       /* no flags */
                     75:                 NX_ASCIISET,         'S',       /* AlphaShift */
                     76:                 NX_ASCIISET,    CTRL('S'),      /* Ctrl */
                     77:                 NX_ASCIISET,    CTRL('S'),      /* AlphaShift Ctrl */
                     78:                 NX_ASCIISET,        0xfb,       /* Alt */
                     79:                 NX_ASCIISET,        0xa7,       /* AlphaShift Alt */
                     80:                 NX_ASCIISET,    CTRL('S'),      /* Ctrl Alt */
                     81:                 NX_ASCIISET,    CTRL('S'),      /* AlphaShift Ctrl Alt */
                     82:         /* Key 0x02 modifier key mask bits (0x0d) */
                     83:         (1<<NX_MODIFIERKEY_ALPHALOCK)|(1<<NX_MODIFIERKEY_CONTROL)|
                     84:         (1<<NX_MODIFIERKEY_ALTERNATE),
                     85:                 NX_ASCIISET,         'd',       /* no flags */
                     86:                 NX_ASCIISET,         'D',       /* AlphaShift */
                     87:                 NX_ASCIISET,    CTRL('D'),      /* Ctrl */
                     88:                 NX_ASCIISET,    CTRL('D'),      /* AlphaShift Ctrl */
                     89:                 NX_SYMBOLSET,       0x44,       /* Alt */
                     90:                 NX_SYMBOLSET,       0xb6,       /* AlphaShift Alt */
                     91:                 NX_ASCIISET,    CTRL('D'),      /* Ctrl Alt */
                     92:                 NX_ASCIISET,    CTRL('D'),      /* AlphaShift Ctrl Alt */
                     93:         /* Key 0x03 modifier key mask bits (0x0d) */
                     94:         (1<<NX_MODIFIERKEY_ALPHALOCK)|(1<<NX_MODIFIERKEY_CONTROL)|
                     95:         (1<<NX_MODIFIERKEY_ALTERNATE),
                     96:                 NX_ASCIISET,         'f',       /* no flags */
                     97:                 NX_ASCIISET,         'F',       /* AlphaShift */
                     98:                 NX_ASCIISET,    CTRL('F'),      /* Ctrl */
                     99:                 NX_ASCIISET,    CTRL('F'),      /* AlphaShift Ctrl */
                    100:                 NX_ASCIISET,        0xa6,       /* Alt */
                    101:                 NX_SYMBOLSET,       0xac,       /* AlphaShift Alt */
                    102:                 NX_ASCIISET,    CTRL('F'),      /* Ctrl Alt */
                    103:                 NX_ASCIISET,    CTRL('F'),      /* AlphaShift Ctrl Alt */
                    104:         /* Key 0x04 modifier key mask bits (0x0d) */
                    105:         (1<<NX_MODIFIERKEY_ALPHALOCK)|(1<<NX_MODIFIERKEY_CONTROL)|
                    106:         (1<<NX_MODIFIERKEY_ALTERNATE),
                    107:                 NX_ASCIISET,         'h',       /* no flags */
                    108:                 NX_ASCIISET,         'H',       /* AlphaShift */
                    109:                 NX_ASCIISET,        '\b',       /* Ctrl */
                    110:                 NX_ASCIISET,        '\b',       /* AlphaShift Ctrl */
                    111:                 NX_ASCIISET,        0xe3,       /* Alt */
                    112:                 NX_ASCIISET,        0xeb,       /* AlphaShift Alt */
                    113:                 NX_ASCIISET,    CTRL('@'),      /* Ctrl Alt */
                    114:                 0x18,   CTRL('@'),      /* AlphaShift Ctrl Alt */
                    115:         /* Key 0x05 modifier key mask bits (0x0d) */
                    116:         (1<<NX_MODIFIERKEY_ALPHALOCK)|(1<<NX_MODIFIERKEY_CONTROL)|
                    117:         (1<<NX_MODIFIERKEY_ALTERNATE),
                    118:                 NX_ASCIISET,         'g',       /* no flags */
                    119:                 NX_ASCIISET,         'G',       /* AlphaShift */
                    120:                 NX_ASCIISET,    CTRL('G'),      /* Ctrl */
                    121:                 NX_ASCIISET,    CTRL('G'),      /* AlphaShift Ctrl */
                    122:                 NX_ASCIISET,        0xf1,       /* Alt */
                    123:                 NX_ASCIISET,        0xe1,       /* AlphaShift Alt */
                    124:                 NX_ASCIISET,    CTRL('G'),      /* Ctrl Alt */
                    125:                 NX_ASCIISET,    CTRL('G'),      /* AlphaShift Ctrl Alt */
                    126:         /* Key 0x06 modifier key mask bits (0x0d) */
                    127:         (1<<NX_MODIFIERKEY_ALPHALOCK)|(1<<NX_MODIFIERKEY_CONTROL)|
                    128:         (1<<NX_MODIFIERKEY_ALTERNATE),
                    129:                 NX_ASCIISET,         'z',       /* no flags */
                    130:                 NX_ASCIISET,         'Z',       /* AlphaShift */
                    131:                 NX_ASCIISET,    CTRL('Z'),      /* Ctrl */
                    132:                 NX_ASCIISET,    CTRL('Z'),      /* AlphaShift Ctrl */
                    133:                 NX_ASCIISET,        0xcf,       /* Alt */
                    134:                 NX_SYMBOLSET,       0x57,       /* AlphaShift Alt */
                    135:                 NX_ASCIISET,    CTRL('Z'),      /* Ctrl Alt */
                    136:                 NX_ASCIISET,    CTRL('Z'),      /* AlphaShift Ctrl Alt */
                    137:         /* Key 0x07 modifier key mask bits (0x0d) */
                    138:         (1<<NX_MODIFIERKEY_ALPHALOCK)|(1<<NX_MODIFIERKEY_CONTROL)|
                    139:         (1<<NX_MODIFIERKEY_ALTERNATE),
                    140:                 NX_ASCIISET,         'x',       /* no flags */
                    141:                 NX_ASCIISET,         'X',       /* AlphaShift */
                    142:                 NX_ASCIISET,    CTRL('X'),      /* Ctrl */
                    143:                 NX_ASCIISET,    CTRL('X'),      /* AlphaShift Ctrl */
                    144:                 NX_SYMBOLSET,       0xb4,       /* Alt */
                    145:                 NX_SYMBOLSET,       0xce,       /* AlphaShift Alt */
                    146:                 NX_ASCIISET,    CTRL('X'),      /* Ctrl Alt */
                    147:                 NX_ASCIISET,    CTRL('X'),      /* AlphaShift Ctrl Alt */
                    148:         /* Key 0x08 modifier key mask bits (0x0d) */
                    149:         (1<<NX_MODIFIERKEY_ALPHALOCK)|(1<<NX_MODIFIERKEY_CONTROL)|
                    150:         (1<<NX_MODIFIERKEY_ALTERNATE),
                    151:                 NX_ASCIISET,         'c',       /* no flags */
                    152:                 NX_ASCIISET,         'C',       /* AlphaShift */
                    153:                 NX_ASCIISET,    CTRL('C'),      /* Ctrl */
                    154:                 NX_ASCIISET,    CTRL('C'),      /* AlphaShift Ctrl */
                    155:                 NX_SYMBOLSET,       0xe3,       /* Alt */
                    156:                 NX_SYMBOLSET,       0xd3,       /* AlphaShift Alt */
                    157:                 NX_ASCIISET,    CTRL('C'),      /* Ctrl Alt */
                    158:                 NX_ASCIISET,    CTRL('C'),      /* AlphaShift Ctrl Alt */
                    159:         /* Key 0x09 modifier key mask bits (0x0d) */
                    160:         (1<<NX_MODIFIERKEY_ALPHALOCK)|(1<<NX_MODIFIERKEY_CONTROL)|
                    161:         (1<<NX_MODIFIERKEY_ALTERNATE),
                    162:                 NX_ASCIISET,         'v',       /* no flags */
                    163:                 NX_ASCIISET,         'V',       /* AlphaShift */
                    164:                 NX_ASCIISET,    CTRL('V'),      /* Ctrl */
                    165:                 NX_ASCIISET,    CTRL('V'),      /* AlphaShift Ctrl */
                    166:                 NX_SYMBOLSET,       0xd6,       /* Alt */
                    167:                 NX_SYMBOLSET,       0xe0,       /* AlphaShift Alt */
                    168:                 NX_ASCIISET,    CTRL('V'),      /* Ctrl Alt */
                    169:                 NX_ASCIISET,    CTRL('V'),      /* AlphaShift Ctrl Alt */
                    170:          0xff,   /* Key 0x0a unassigned */
                    171:         /* Key 0x0b modifier key mask bits (0x0d) */
                    172:         (1<<NX_MODIFIERKEY_ALPHALOCK)|(1<<NX_MODIFIERKEY_CONTROL)|
                    173:         (1<<NX_MODIFIERKEY_ALTERNATE),
                    174:                 NX_ASCIISET,         'b',       /* no flags */
                    175:                 NX_ASCIISET,         'B',       /* AlphaShift */
                    176:                 NX_ASCIISET,    CTRL('B'),      /* Ctrl */
                    177:                 NX_ASCIISET,    CTRL('B'),      /* AlphaShift Ctrl */
                    178:                 NX_SYMBOLSET,       0xe5,       /* Alt */
                    179:                 NX_SYMBOLSET,       0xf2,       /* AlphaShift Alt */
                    180:                 NX_ASCIISET,    CTRL('B'),      /* Ctrl Alt */
                    181:                 NX_ASCIISET,    CTRL('B'),      /* AlphaShift Ctrl Alt */
                    182: 
                    183:         /* Key 0x0c modifier key mask bits (0x0d) */
                    184:         (1<<NX_MODIFIERKEY_ALPHALOCK)|(1<<NX_MODIFIERKEY_CONTROL)|
                    185:         (1<<NX_MODIFIERKEY_ALTERNATE),
                    186:                 NX_ASCIISET,         'q',       /* no flags */
                    187:                 NX_ASCIISET,         'Q',       /* AlphaShift */
                    188:                 NX_ASCIISET,    CTRL('Q'),      /* Ctrl */
                    189:                 NX_ASCIISET,    CTRL('Q'),      /* AlphaShift Ctrl */
                    190:                 NX_ASCIISET,        0xfa,       /* Alt */
                    191:                 NX_ASCIISET,        0xea,       /* AlphaShift Alt */
                    192:                 NX_ASCIISET,    CTRL('Q'),      /* Ctrl Alt */
                    193:                 NX_ASCIISET,    CTRL('Q'),      /* AlphaShift Ctrl Alt */
                    194:         /* Key 0x0d modifier key mask bits (0x0d) */
                    195:         (1<<NX_MODIFIERKEY_ALPHALOCK)|(1<<NX_MODIFIERKEY_CONTROL)|
                    196:         (1<<NX_MODIFIERKEY_ALTERNATE),
                    197:                 NX_ASCIISET,         'w',       /* no flags */
                    198:                 NX_ASCIISET,         'W',       /* AlphaShift */
                    199:                 NX_ASCIISET,    CTRL('W'),      /* Ctrl */
                    200:                 NX_ASCIISET,    CTRL('W'),      /* AlphaShift Ctrl */
                    201:                 NX_SYMBOLSET,       0xc8,       /* Alt */
                    202:                 NX_SYMBOLSET,       0xc7,       /* AlphaShift Alt */
                    203:                 NX_ASCIISET,    CTRL('W'),      /* Ctrl Alt */
                    204:                 NX_ASCIISET,    CTRL('W'),      /* AlphaShift Ctrl Alt */
                    205:         /* Key 0x0e modifier key mask bits (0x0d) */
                    206:         (1<<NX_MODIFIERKEY_ALPHALOCK)|(1<<NX_MODIFIERKEY_CONTROL)|
                    207:         (1<<NX_MODIFIERKEY_ALTERNATE),
                    208:                 NX_ASCIISET,         'e',       /* no flags */
                    209:                 NX_ASCIISET,         'E',       /* AlphaShift */
                    210:                 NX_ASCIISET,    CTRL('E'),      /* Ctrl */
                    211:                 NX_ASCIISET,    CTRL('E'),      /* AlphaShift Ctrl */
                    212:                 NX_ASCIISET,        0xc2,       /* Alt */
                    213:                 NX_ASCIISET,        0xc5,       /* AlphaShift Alt */
                    214:                 NX_ASCIISET,    CTRL('E'),      /* Ctrl Alt */
                    215:                 NX_ASCIISET,    CTRL('E'),      /* AlphaShift Ctrl Alt */
                    216:         /* Key 0x0f modifier key mask bits (0x0d) */
                    217:         (1<<NX_MODIFIERKEY_ALPHALOCK)|(1<<NX_MODIFIERKEY_CONTROL)|
                    218:         (1<<NX_MODIFIERKEY_ALTERNATE),
                    219:                 NX_ASCIISET,         'r',       /* no flags */
                    220:                 NX_ASCIISET,         'R',       /* AlphaShift */
                    221:                 NX_ASCIISET,    CTRL('R'),      /* Ctrl */
                    222:                 NX_ASCIISET,    CTRL('R'),      /* AlphaShift Ctrl */
                    223:                 NX_SYMBOLSET,       0xe2,       /* Alt */
                    224:                 NX_SYMBOLSET,       0xd2,       /* AlphaShift Alt */
                    225:                 NX_ASCIISET,    CTRL('R'),      /* Ctrl Alt */
                    226:                 NX_ASCIISET,    CTRL('R'),      /* AlphaShift Ctrl Alt */
                    227:         /* Key 0x10 modifier key mask bits (0x0d) */
                    228:         (1<<NX_MODIFIERKEY_ALPHALOCK)|(1<<NX_MODIFIERKEY_CONTROL)|
                    229:         (1<<NX_MODIFIERKEY_ALTERNATE),
                    230:                 NX_ASCIISET,         'y',       /* no flags */
                    231:                 NX_ASCIISET,         'Y',       /* AlphaShift */
                    232:                 NX_ASCIISET,    CTRL('Y'),      /* Ctrl */
                    233:                 NX_ASCIISET,    CTRL('Y'),      /* AlphaShift Ctrl */
                    234:                 NX_ASCIISET,        0xa5,       /* Alt */
                    235:                 NX_SYMBOLSET,       0xdb,       /* AlphaShift Alt */
                    236:                 NX_ASCIISET,    CTRL('Y'),      /* Ctrl Alt */
                    237:                 NX_ASCIISET,    CTRL('Y'),      /* AlphaShift Ctrl Alt */
                    238:        /* Key 0x11 modifier key mask bits (0x0d) */
                    239:         (1<<NX_MODIFIERKEY_ALPHALOCK)|(1<<NX_MODIFIERKEY_CONTROL)|
                    240:         (1<<NX_MODIFIERKEY_ALTERNATE),
                    241:                 NX_ASCIISET,         't',       /* no flags */
                    242:                 NX_ASCIISET,         'T',       /* AlphaShift */
                    243:                 NX_ASCIISET,    CTRL('T'),      /* Ctrl */
                    244:                 NX_ASCIISET,    CTRL('T'),      /* AlphaShift Ctrl */
                    245:                 NX_SYMBOLSET,       0xe4,       /* Alt */
                    246:                 NX_SYMBOLSET,       0xd4,       /* AlphaShift Alt */
                    247:                 NX_ASCIISET,    CTRL('T'),      /* Ctrl Alt */
                    248:                 NX_ASCIISET,    CTRL('T'),      /* AlphaShift Ctrl Alt */
                    249:  
                    250:         /* Key 0x12 modifier key mask bits (0x0a) */
                    251:         (1<<NX_MODIFIERKEY_SHIFT)|(1<<NX_MODIFIERKEY_ALTERNATE),
                    252:                 NX_ASCIISET,         '1',       /* no flags */
                    253:                 NX_ASCIISET,         '!',       /* Shift */
                    254:                 NX_SYMBOLSET,       0xad,       /* Alt */
                    255:                 NX_ASCIISET,        0xa1,       /* Shift Alt */
                    256:         /* Key 0x13 modifier key mask bits (0x0e) */
                    257:         (1<<NX_MODIFIERKEY_SHIFT)|(1<<NX_MODIFIERKEY_CONTROL)|
                    258:         (1<<NX_MODIFIERKEY_ALTERNATE),
                    259:                 NX_ASCIISET,         '2',       /* no flags */
                    260:                 NX_ASCIISET,         '@',       /* Shift */
                    261:                 NX_ASCIISET,    CTRL('@'),      /* Ctrl */
                    262:                 NX_ASCIISET,    CTRL('@'),      /* Shift Ctrl */
                    263:                 NX_ASCIISET,        0xb2,       /* Alt */
                    264:                 NX_ASCIISET,        0xb3,       /* Shift Alt */
                    265:                 NX_ASCIISET,    CTRL('@'),      /* Ctrl Alt */
                    266:                 NX_ASCIISET,    CTRL('@'),      /* Shift Ctrl Alt */
                    267:         /* Key 0x14 modifier key mask bits (0x0a) */
                    268:         (1<<NX_MODIFIERKEY_SHIFT)|(1<<NX_MODIFIERKEY_ALTERNATE),
                    269:                 NX_ASCIISET,         '3',       /* no flags */
                    270:                 NX_ASCIISET,         '#',       /* Shift */
                    271:                 NX_ASCIISET,        0xa3,       /* Alt */
                    272:                 NX_SYMBOLSET,       0xba,       /* Shift Alt */
                    273:         /* Key 0x15 modifier key mask bits (0x0a) */
                    274:         (1<<NX_MODIFIERKEY_SHIFT)|(1<<NX_MODIFIERKEY_ALTERNATE),
                    275:                 NX_ASCIISET,         '4',       /* no flags */
                    276:                 NX_ASCIISET,         '$',       /* Shift */
                    277:                 NX_ASCIISET,        0xa2,       /* Alt */
                    278:                 NX_ASCIISET,        0xa8,       /* Shift Alt */
                    279:         /* Key 0x16 modifier key mask bits (0x0e) */
                    280:         (1<<NX_MODIFIERKEY_SHIFT)|(1<<NX_MODIFIERKEY_CONTROL)|
                    281:         (1<<NX_MODIFIERKEY_ALTERNATE),
                    282:                 NX_ASCIISET,         '6',       /* no flags */
                    283:                 NX_ASCIISET,         '^',       /* Shift */
                    284:                 NX_ASCIISET,    CTRL('^'),      /* Ctrl */
                    285:                 NX_ASCIISET,    CTRL('^'),      /* Shift Ctrl */
                    286:                 NX_ASCIISET,        0xb6,       /* Alt */
                    287:                 NX_ASCIISET,        0xc3,       /* Shift Alt */
                    288:                 NX_ASCIISET,    CTRL('^'),      /* Ctrl Alt */
                    289:                 NX_ASCIISET,    CTRL('^'),      /* Shift Ctrl Alt */
                    290:          /* Key 0x17 modifier key mask bits (0x0a) */
                    291:         (1<<NX_MODIFIERKEY_SHIFT)|(1<<NX_MODIFIERKEY_ALTERNATE),
                    292:                 NX_ASCIISET,         '5',       /* no flags */
                    293:                 NX_ASCIISET,         '%',       /* Shift */
                    294:                 NX_SYMBOLSET,       0xa5,       /* Alt */
                    295:                 NX_ASCIISET,        0xbd,       /* Shift Alt */
                    296:         /* Key 0x18 modifier key mask bits (0x0a) */
                    297:         (1<<NX_MODIFIERKEY_SHIFT)|(1<<NX_MODIFIERKEY_ALTERNATE),
                    298:                 NX_ASCIISET,         '=',       /* no flags */
                    299:                 NX_ASCIISET,         '+',       /* Shift */
                    300:                 NX_SYMBOLSET,       0xb9,       /* Alt */
                    301:                 NX_SYMBOLSET,       0xb1,       /* Shift Alt */
                    302:         /* Key 0x19 modifier key mask bits (0x0a) */
                    303:         (1<<NX_MODIFIERKEY_SHIFT)|(1<<NX_MODIFIERKEY_ALTERNATE),
                    304:                 NX_ASCIISET,         '9',       /* no flags */
                    305:                 NX_ASCIISET,         '(',       /* Shift */
                    306:                 NX_ASCIISET,        0xac,       /* Alt */
                    307:                 NX_ASCIISET,        0xab,       /* Shift Alt */
                    308:         /* Key 0x1a modifier key mask bits (0x0a) */
                    309:         (1<<NX_MODIFIERKEY_SHIFT)|(1<<NX_MODIFIERKEY_ALTERNATE),
                    310:                 NX_ASCIISET,         '7',       /* no flags */
                    311:                 NX_ASCIISET,         '&',       /* Shift */
                    312:                 NX_ASCIISET,        0xb7,       /* Alt */
                    313:                 NX_SYMBOLSET,       0xab,       /* Shift Alt */
                    314:         /* Key 0x1b modifier key mask bits (0x0e) */
                    315:         (1<<NX_MODIFIERKEY_SHIFT)|(1<<NX_MODIFIERKEY_CONTROL)|
                    316:         (1<<NX_MODIFIERKEY_ALTERNATE),
                    317:                 NX_ASCIISET,         '-',       /* no flags */
                    318:                 NX_ASCIISET,         '_',       /* Shift */
                    319:                 NX_ASCIISET,    CTRL('_'),      /* Ctrl */
                    320:                 NX_ASCIISET,    CTRL('_'),      /* Shift Ctrl */
                    321:                 NX_ASCIISET,        0xb1,       /* Alt */
                    322:                 NX_ASCIISET,        0xd0,       /* Shift Alt */
                    323:                 NX_ASCIISET,    CTRL('_'),      /* Ctrl Alt */
                    324:                 NX_ASCIISET,    CTRL('_'),      /* Shift Ctrl Alt */
                    325:         /* Key 0x1c modifier key mask bits (0x0a) */
                    326:         (1<<NX_MODIFIERKEY_SHIFT)|(1<<NX_MODIFIERKEY_ALTERNATE),
                    327:                 NX_ASCIISET,         '8',       /* no flags */
                    328:                 NX_ASCIISET,         '*',       /* Shift */
                    329:                 NX_SYMBOLSET,       0xb0,       /* Alt */
                    330:                 NX_ASCIISET,        0xb4,       /* Shift Alt */
                    331:         /* Key 0x1d modifier key mask bits (0x0a) */
                    332:         (1<<NX_MODIFIERKEY_SHIFT)|(1<<NX_MODIFIERKEY_ALTERNATE),
                    333:                 NX_ASCIISET,         '0',       /* no flags */
                    334:                 NX_ASCIISET,         ')',       /* Shift */
                    335:                 NX_ASCIISET,        0xad,       /* Alt */
                    336:                 NX_ASCIISET,        0xbb,       /* Shift Alt */
                    337:         /* Key 0x1e modifier key mask bits (0x0e) */
                    338:         (1<<NX_MODIFIERKEY_SHIFT)|(1<<NX_MODIFIERKEY_CONTROL)|
                    339:         (1<<NX_MODIFIERKEY_ALTERNATE),
                    340:                 NX_ASCIISET,         ']',       /* no flags */
                    341:                 NX_ASCIISET,         '}',       /* Shift */
                    342:                 NX_ASCIISET,    CTRL(']'),      /* Ctrl */
                    343:                 NX_ASCIISET,    CTRL(']'),      /* Shift Ctrl */
                    344:                 NX_ASCIISET,        '\'',       /* Alt */
                    345:                 NX_ASCIISET,        0xba,       /* Shift Alt */
                    346:                 NX_ASCIISET,    CTRL(']'),      /* Ctrl Alt */
                    347:                 NX_ASCIISET,    CTRL(']'),      /* Shift Ctrl Alt */
                    348:         /* Key 0x1f modifier key mask bits (0x0d) */
                    349:         (1<<NX_MODIFIERKEY_ALPHALOCK)|(1<<NX_MODIFIERKEY_CONTROL)|
                    350:         (1<<NX_MODIFIERKEY_ALTERNATE),
                    351:                 NX_ASCIISET,         'o',       /* no flags */
                    352:                 NX_ASCIISET,         'O',       /* AlphaShift */
                    353:                 NX_ASCIISET,    CTRL('O'),      /* Ctrl */
                    354:                 NX_ASCIISET,    CTRL('O'),      /* AlphaShift Ctrl */
                    355:                 NX_ASCIISET,        0xf9,       /* Alt */
                    356:                 NX_ASCIISET,        0xe9,       /* AlphaShift Alt */
                    357:                 NX_ASCIISET,    CTRL('O'),      /* Ctrl Alt */
                    358:                 NX_ASCIISET,    CTRL('O'),      /* AlphaShift Ctrl Alt */
                    359:         /* Key 0x20 modifier key mask bits (0x0d) */
                    360:         (1<<NX_MODIFIERKEY_ALPHALOCK)|(1<<NX_MODIFIERKEY_CONTROL)|
                    361:         (1<<NX_MODIFIERKEY_ALTERNATE),
                    362:                 NX_ASCIISET,         'u',       /* no flags */
                    363:                 NX_ASCIISET,         'U',       /* AlphaShift */
                    364:                 NX_ASCIISET,    CTRL('U'),      /* Ctrl */
                    365:                 NX_ASCIISET,    CTRL('U'),      /* AlphaShift Ctrl */
                    366:                 NX_ASCIISET,        0xc8,       /* Alt */
                    367:                 NX_ASCIISET,        0xcd,       /* AlphaShift Alt */
                    368:                 NX_ASCIISET,    CTRL('U'),      /* Ctrl Alt */
                    369:                 NX_ASCIISET,    CTRL('U'),      /* AlphaShift Ctrl Alt */
                    370:         /* Key 0x21 modifier key mask bits (0x0e) */
                    371:         (1<<NX_MODIFIERKEY_SHIFT)|(1<<NX_MODIFIERKEY_CONTROL)|
                    372:         (1<<NX_MODIFIERKEY_ALTERNATE),
                    373:                 NX_ASCIISET,         '[',       /* no flags */
                    374:                 NX_ASCIISET,         '{',       /* Shift */
                    375:                 NX_ASCIISET,    CTRL('['),      /* Ctrl */
                    376:                 NX_ASCIISET,    CTRL('['),      /* Shift Ctrl */
                    377:                 NX_ASCIISET,         '`',       /* Alt */
                    378:                 NX_ASCIISET,        0xaa,       /* Shift Alt */
                    379:                 NX_ASCIISET,    CTRL('['),      /* Ctrl Alt */
                    380:                 NX_ASCIISET,    CTRL('['),      /* Shift Ctrl Alt */
                    381:         /* Key 0x22 modifier key mask bits (0x0d) */
                    382:         (1<<NX_MODIFIERKEY_ALPHALOCK)|(1<<NX_MODIFIERKEY_CONTROL)|
                    383:         (1<<NX_MODIFIERKEY_ALTERNATE),
                    384:                 NX_ASCIISET,         'i',       /* no flags */
                    385:                 NX_ASCIISET,         'I',       /* AlphaShift */
                    386:                 NX_ASCIISET,        '\t',       /* Ctrl */
                    387:                 NX_ASCIISET,        '\t',       /* AlphaShift Ctrl */
                    388:                 NX_ASCIISET,        0xc1,       /* Alt */
                    389:                 NX_ASCIISET,        0xf5,       /* AlphaShift Alt */
                    390:                 NX_ASCIISET,        '\t',       /* Ctrl Alt */
                    391:                 NX_ASCIISET,        '\t',       /* AlphaShift Ctrl Alt */
                    392:        /* Key 0x23 modifier key mask bits (0x0d) */
                    393:         (1<<NX_MODIFIERKEY_ALPHALOCK)|(1<<NX_MODIFIERKEY_CONTROL)|
                    394:         (1<<NX_MODIFIERKEY_ALTERNATE),
                    395:                 NX_ASCIISET,         'p',       /* no flags */
                    396:                 NX_ASCIISET,         'P',       /* AlphaShift */
                    397:                 NX_ASCIISET,    CTRL('P'),      /* Ctrl */
                    398:                 NX_ASCIISET,    CTRL('P'),      /* AlphaShift Ctrl */
                    399:                 NX_SYMBOLSET,       0x70,       /* Alt */
                    400:                 NX_SYMBOLSET,       0x50,       /* AlphaShift Alt */
                    401:                 NX_ASCIISET,    CTRL('P'),      /* Ctrl Alt */
                    402:                 NX_ASCIISET,    CTRL('P'),      /* AlphaShift Ctrl Alt */
                    403:         /* Key 0x24 modifier key mask bits (0x10) */
                    404:         (1<<NX_MODIFIERKEY_COMMAND),
                    405:                 NX_ASCIISET,        '\r',       /* no flags */
                    406:                 NX_ASCIISET,    CTRL('C'),      /* Cmd */
                    407:          /* Key 0x25 modifier key mask bits (0x0d) */
                    408:         (1<<NX_MODIFIERKEY_ALPHALOCK)|(1<<NX_MODIFIERKEY_CONTROL)|
                    409:         (1<<NX_MODIFIERKEY_ALTERNATE),
                    410:                 NX_ASCIISET,         'l',       /* no flags */
                    411:                 NX_ASCIISET,         'L',       /* AlphaShift */
                    412:                 NX_ASCIISET,        '\f',       /* Ctrl */
                    413:                 NX_ASCIISET,        '\f',       /* AlphaShift Ctrl */
                    414:                 NX_ASCIISET,        0xf8,       /* Alt */
                    415:                 NX_ASCIISET,        0xe8,       /* AlphaShift Alt */
                    416:                 NX_ASCIISET,        '\f',       /* Ctrl Alt */
                    417:                 NX_ASCIISET,        '\f',       /* AlphaShift Ctrl Alt */
                    418:         /* Key 0x26 modifier key mask bits (0x0d) */
                    419:         (1<<NX_MODIFIERKEY_ALPHALOCK)|(1<<NX_MODIFIERKEY_CONTROL)|
                    420:         (1<<NX_MODIFIERKEY_ALTERNATE),
                    421:                 NX_ASCIISET,         'j',       /* no flags */
                    422:                 NX_ASCIISET,         'J',       /* AlphaShift */
                    423:                 NX_ASCIISET,        '\n',       /* Ctrl */
                    424:                 NX_ASCIISET,        '\n',       /* AlphaShift Ctrl */
                    425:                 NX_ASCIISET,        0xc6,       /* Alt */
                    426:                 NX_ASCIISET,        0xae,       /* AlphaShift Alt */
                    427:                 NX_ASCIISET,        '\n',       /* Ctrl Alt */
                    428:                 NX_ASCIISET,        '\n',       /* AlphaShift Ctrl Alt */
                    429:         /* Key 0x27 modifier key mask bits (0x0a) */
                    430:         (1<<NX_MODIFIERKEY_SHIFT)|(1<<NX_MODIFIERKEY_ALTERNATE),
                    431:                 NX_ASCIISET,        '\'',       /* no flags */
                    432:                 NX_ASCIISET,         '"',       /* Shift */
                    433:                 NX_ASCIISET,        0xa9,       /* Alt */
                    434:                 NX_SYMBOLSET,       0xae,       /* Shift Alt */
                    435:         /* Key 0x28 modifier key mask bits (0x0d) */
                    436:         (1<<NX_MODIFIERKEY_ALPHALOCK)|(1<<NX_MODIFIERKEY_CONTROL)|
                    437:         (1<<NX_MODIFIERKEY_ALTERNATE),
                    438:                 NX_ASCIISET,         'k',       /* no flags */
                    439:                 NX_ASCIISET,         'K',       /* AlphaShift */
                    440:                 NX_ASCIISET,    CTRL('K'),      /* Ctrl */
                    441:                 NX_ASCIISET,    CTRL('K'),      /* AlphaShift Ctrl */
                    442:                 NX_ASCIISET,        0xce,       /* Alt */
                    443:                 NX_ASCIISET,        0xaf,       /* AlphaShift Alt */
                    444:                 NX_ASCIISET,    CTRL('K'),      /* Ctrl Alt */
                    445:                 NX_ASCIISET,    CTRL('K'),      /* AlphaShift Ctrl Alt */
                    446:         /* Key 0x29 modifier key mask bits (0x0a) */
                    447:         (1<<NX_MODIFIERKEY_SHIFT)|(1<<NX_MODIFIERKEY_ALTERNATE),
                    448:                 NX_ASCIISET,         ';',       /* no flags */
                    449:                 NX_ASCIISET,         ':',       /* Shift */
                    450:                 NX_SYMBOLSET,       0xb2,       /* Alt */
                    451:                 NX_SYMBOLSET,       0xa2,       /* Shift Alt */
                    452:         /* Key 0x2a modifier key mask bits (0x0e) */
                    453:         (1<<NX_MODIFIERKEY_SHIFT)|(1<<NX_MODIFIERKEY_CONTROL)|
                    454:         (1<<NX_MODIFIERKEY_ALTERNATE),
                    455:                 NX_ASCIISET,        '\\',       /* no flags */
                    456:                 NX_ASCIISET,         '|',       /* Shift */
                    457:                 NX_ASCIISET,    CTRL('\\'),     /* Ctrl */
                    458:                 NX_ASCIISET,    CTRL('\\'),     /* Shift Ctrl */
                    459:                 NX_ASCIISET,        0xe3,       /* Alt */
                    460:                 NX_ASCIISET,        0xeb,       /* Shift Alt */
                    461:                 NX_ASCIISET,    CTRL('\\'),     /* Ctrl Alt */
                    462:                 NX_ASCIISET,    CTRL('\\'),     /* Shift Ctrl Alt */
                    463:         /* Key 0x2b modifier key mask bits (0x0a) */
                    464:         (1<<NX_MODIFIERKEY_SHIFT)|(1<<NX_MODIFIERKEY_ALTERNATE),
                    465:                 NX_ASCIISET,         ',',       /* no flags */
                    466:                 NX_ASCIISET,         '<',       /* Shift */
                    467:                 NX_ASCIISET,        0xcb,       /* Alt */
                    468:                 NX_SYMBOLSET,       0xa3,       /* Shift Alt */
                    469:         /* Key 0x2c modifier key mask bits (0x0a) */
                    470:         (1<<NX_MODIFIERKEY_SHIFT)|(1<<NX_MODIFIERKEY_ALTERNATE),
                    471:                 NX_ASCIISET,         '/',       /* no flags */
                    472:                 NX_ASCIISET,         '?',       /* Shift */
                    473:                 NX_SYMBOLSET,       0xb8,       /* Alt */
                    474:                 NX_ASCIISET,        0xbf,       /* Shift Alt */
                    475:          /* Key 0x2d modifier key mask bits (0x0d) */
                    476:         (1<<NX_MODIFIERKEY_ALPHALOCK)|(1<<NX_MODIFIERKEY_CONTROL)|
                    477:         (1<<NX_MODIFIERKEY_ALTERNATE),
                    478:                 NX_ASCIISET,         'n',       /* no flags */
                    479:                 NX_ASCIISET,         'N',       /* AlphaShift */
                    480:                 NX_ASCIISET,    CTRL('N'),      /* Ctrl */
                    481:                 NX_ASCIISET,    CTRL('N'),      /* AlphaShift Ctrl */
                    482:                 NX_ASCIISET,        0xc4,       /* Alt */
                    483:                 NX_SYMBOLSET,       0xaf,       /* AlphaShift Alt */
                    484:                 NX_ASCIISET,    CTRL('N'),      /* Ctrl Alt */
                    485:                 NX_ASCIISET,    CTRL('N'),      /* AlphaShift Ctrl Alt */
                    486:         /* Key 0x2e modifier key mask bits (0x0d) */
                    487:         (1<<NX_MODIFIERKEY_ALPHALOCK)|(1<<NX_MODIFIERKEY_CONTROL)|
                    488:         (1<<NX_MODIFIERKEY_ALTERNATE),
                    489:                 NX_ASCIISET,         'm',       /* no flags */
                    490:                 NX_ASCIISET,         'M',       /* AlphaShift */
                    491:                 NX_ASCIISET,        '\r',       /* Ctrl */
                    492:                 NX_ASCIISET,        '\r',       /* AlphaShift Ctrl */
                    493:                 NX_SYMBOLSET,       0x6d,       /* Alt */
                    494:                 NX_SYMBOLSET,       0xd8,       /* AlphaShift Alt */
                    495:                 NX_ASCIISET,        '\r',       /* Ctrl Alt */
                    496:                 NX_ASCIISET,        '\r',       /* AlphaShift Ctrl Alt */
                    497:        /* Key 0x2f modifier key mask bits (0x0a) */
                    498:         (1<<NX_MODIFIERKEY_SHIFT)|(1<<NX_MODIFIERKEY_ALTERNATE),
                    499:                 NX_ASCIISET,         '.',       /* no flags */
                    500:                 NX_ASCIISET,         '>',       /* Shift */
                    501:                 NX_ASCIISET,        0xbc,       /* Alt */
                    502:                 NX_SYMBOLSET,       0xb3,       /* Shift Alt */
                    503:         /* Key 0x30 modifier key mask bits (0x02) */
                    504:         (1<<NX_MODIFIERKEY_SHIFT),
                    505:                 NX_ASCIISET,        '\t',       /* no flags */
                    506:                 NX_ASCIISET,    CTRL('Y'),      /* Shift */
                    507:        /* Key 0x31 modifier key mask bits (0x0c) */
                    508:         (1<<NX_MODIFIERKEY_CONTROL)|(1<<NX_MODIFIERKEY_ALTERNATE),
                    509:                 NX_ASCIISET,         ' ',       /* no flags */
                    510:                 NX_ASCIISET,    CTRL('@'),      /* Ctrl */
                    511:                 NX_ASCIISET,        0x80,       /* Alt */
                    512:                 NX_ASCIISET,    CTRL('@'),      /* Ctrl Alt */
                    513:         /* Key 0x32 modifier key mask bits (0x02) */
                    514:         (1<<NX_MODIFIERKEY_SHIFT),
                    515:                 NX_ASCIISET,         '`',      /* no flags */
                    516:                 NX_ASCIISET,         '~',       /* Shift */
                    517:         /* Key 0x33 modifier key mask bits (0x02) */
                    518:         (1<<NX_MODIFIERKEY_SHIFT),
                    519:                 NX_ASCIISET,        0x7f,       /* no flags */
                    520:                 NX_ASCIISET,        '\b',       /* Shift */
                    521:         0xff,   /* Key 0x34 unassigned */
                    522:         /* Key 0x35 modifier key mask bits (0x02) */
                    523:         (1<<NX_MODIFIERKEY_SHIFT),
                    524:                 NX_ASCIISET,    CTRL('['),      /* no flags */
                    525:                 NX_ASCIISET,         '~',       /* Shift */
                    526:         0xff,   /* Key 0x36 unassigned */
                    527:         0xff,   /* Key 0x37 unassigned */
                    528:         0xff,   /* Key 0x38 unassigned */
                    529:         0xff,   /* Key 0x39 unassigned */
                    530:         0xff,   /* Key 0x3a unassigned */
                    531:         /* Key 0x3b modifier key mask bits (0x00) LEFT */
                    532:         0,
                    533:                 NX_SYMBOLSET,       0xac,       /* all */
                    534:        /* Key 0x3c modifier key mask bits (0x00) RIGHT */
                    535:         0,
                    536:                 NX_SYMBOLSET,       0xae,       /* all */
                    537:        /* Key 0x3d modifier key mask bits (0x00) DOWN */
                    538:         0,
                    539:                 NX_SYMBOLSET,       0xaf,       /* all */
                    540:         /* Key 0x3e modifier key mask bits (0x00) UP */
                    541:         0,
                    542:                 NX_SYMBOLSET,       0xad,       /* all */
                    543:         0xff,   /* Key 0x3f unassigned */
                    544:         0xff,   /* Key 0x40 unassigned */
                    545:         /* Key 0x41 modifier key mask bits (0x00) */
                    546:         0,
                    547:                 NX_ASCIISET,         '.',       /* all */
                    548:         0xff,   /* Key 0x42 unassigned */
                    549:         /* Key 0x43 modifier key mask bits (0x00) */
                    550:         0,
                    551:                 NX_ASCIISET,         '*',       /* all */
                    552:         0xff,   /* Key 0x44 unassigned */
                    553:         /* Key 0x45 modifier key mask bits (0x00) */
                    554:         0,
                    555:                 NX_ASCIISET,         '+',       /* all */
                    556:         0xff,   /* Key 0x46 unassigned */
                    557:         0xff,   /* Key 0x47 unassigned */
                    558:         0xff,   /* Key 0x48 unassigned */
                    559:         0xff,   /* Key 0x49 unassigned */
                    560:         0xff,   /* Key 0x4a unassigned */
                    561:         /* Key 0x4b modifier key mask bits (0x0e) */
                    562:         (1<<NX_MODIFIERKEY_SHIFT)|(1<<NX_MODIFIERKEY_CONTROL)|
                    563:         (1<<NX_MODIFIERKEY_ALTERNATE),
                    564:                 NX_ASCIISET,         '/',       /* no flags */
                    565:                 NX_ASCIISET,        '\\',       /* Shift */
                    566:                 NX_ASCIISET,         '/',       /* Ctrl */
                    567:                 NX_ASCIISET,    CTRL('\\'),     /* Shift Ctrl */
                    568:                 NX_ASCIISET,         '/',       /* Alt */
                    569:                 NX_ASCIISET,        '\\',       /* Shift Alt */
                    570:                 NX_ASCIISET,    CTRL('@'),      /* Ctrl Alt */
                    571:                 0x0a,   CTRL('@'),      /* Shift Ctrl Alt */
                    572:         /* Key 0x4C modifier key mask bits (0x10) Num Enter */
                    573:         (1<<NX_MODIFIERKEY_COMMAND),
                    574:                 NX_ASCIISET,        '\r',       /* no flags */
                    575:                 NX_ASCIISET,    CTRL('C'),      /* Cmd */
                    576:          0xff,   /* Key 0x4d unassigned        */
                    577:         /* Key 0x4e modifier key mask bits (0x00) */
                    578:         0,
                    579:                 NX_SYMBOLSET,       0x2d,       /* all */
                    580:          0xff,   /* Key 0x4f unassigned        */
                    581:          0xff,   /* Key 0x50 unassigned        */
                    582:         /* Key 0x51 modifier key mask bits (0x00) */
                    583:          0,
                    584:                 NX_ASCIISET,         '=',       /* all */
                    585:          /* Key 0x52 modifier key mask bits (0x00) */
                    586:         0,
                    587:                 NX_ASCIISET,         '0',       /* all */
                    588:         /* Key 0x53 modifier key mask bits (0x00) */
                    589:         0,
                    590:                 NX_ASCIISET,         '1',       /* all */
                    591:         /* Key 0x54 modifier key mask bits (0x00) */
                    592:         0,
                    593:                 NX_ASCIISET,         '2',       /* all */
                    594:         /* Key 0x55 modifier key mask bits (0x00) */
                    595:         0,
                    596:                 NX_ASCIISET,         '3',       /* all */
                    597:         /* Key 0x56 modifier key mask bits (0x00) */
                    598:         0,
                    599:                 NX_ASCIISET,         '4',       /* all */
                    600:          /* Key 0x57 modifier key mask bits (0x00) */
                    601:         0,
                    602:                 NX_ASCIISET,         '5',       /* all */
                    603:        /* Key 0x58 modifier key mask bits (0x00) */
                    604:         0,
                    605:                 NX_ASCIISET,         '6',       /* all */
                    606:         /* Key 0x59 modifier key mask bits (0x00) */
                    607:         0,
                    608:                 NX_ASCIISET,         '7',       /* all */
                    609:          0xff,   /* Key 0x5a unassigned        */
                    610:         /* Key 0x5b modifier key mask bits (0x00) */
                    611:         0,
                    612:                 NX_ASCIISET,         '8',       /* all */
                    613:         /* Key 0x5c modifier key mask bits (0x00) */
                    614:         0,
                    615:                 NX_ASCIISET,         '9',       /* all */
                    616: 
                    617: 0,      /* Sequence Definitions */
                    618: 9,      /* special keys */
                    619: 
                    620: #if 0
                    621:         0x00, 0x68,     /* Sound Up */
                    622:         0x01, 0x69,     /* Sound Down */
                    623:         0x02, 0x6A,     /* Brightness Up */
                    624:         0x03, 0x6B,     /* Brightness Down */
                    625: #endif
                    626:         0x04, ADBK_CAPSLOCK,     /* Caps Lock */
                    627:        0x05, 0x3B,     /* Help Key */  // FIXME
                    628:         0x06, ADBK_POWER,     /* Power Key */
                    629:         0x07, ADBK_UP,             /* Up Arrow */
                    630:         0x08, ADBK_DOWN      /* Down Arrow */
                    631: };
                    632: 
                    633: 
                    634: 

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.