Annotation of kernel/bsd/dev/ppc/PPCKeymap.c, revision 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.