Home | History | Annotate | Line # | Download | only in boot
      1  1.3  christos /*	$NetBSD: pcconstab.US,v 1.3 2005/12/11 12:18:48 christos Exp $	*/
      2  1.1    nonaka 
      3  1.1    nonaka /*-
      4  1.1    nonaka  * Copyright (c) 1990, 1993
      5  1.1    nonaka  *	The Regents of the University of California.  All rights reserved.
      6  1.1    nonaka  *
      7  1.1    nonaka  * This code is derived from software contributed to Berkeley by
      8  1.1    nonaka  * William Jolitz and Don Ahn.
      9  1.1    nonaka  *
     10  1.1    nonaka  * Redistribution and use in source and binary forms, with or without
     11  1.1    nonaka  * modification, are permitted provided that the following conditions
     12  1.1    nonaka  * are met:
     13  1.1    nonaka  * 1. Redistributions of source code must retain the above copyright
     14  1.1    nonaka  *    notice, this list of conditions and the following disclaimer.
     15  1.1    nonaka  * 2. Redistributions in binary form must reproduce the above copyright
     16  1.1    nonaka  *    notice, this list of conditions and the following disclaimer in the
     17  1.1    nonaka  *    documentation and/or other materials provided with the distribution.
     18  1.2       agc  * 3. Neither the name of the University nor the names of its contributors
     19  1.1    nonaka  *    may be used to endorse or promote products derived from this software
     20  1.1    nonaka  *    without specific prior written permission.
     21  1.1    nonaka  *
     22  1.1    nonaka  * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
     23  1.1    nonaka  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
     24  1.1    nonaka  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
     25  1.1    nonaka  * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
     26  1.1    nonaka  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
     27  1.1    nonaka  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
     28  1.1    nonaka  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
     29  1.1    nonaka  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
     30  1.1    nonaka  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
     31  1.1    nonaka  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
     32  1.1    nonaka  * SUCH DAMAGE.
     33  1.1    nonaka  *
     34  1.1    nonaka  *	@(#)pccons.c	8.1 (Berkeley) 6/11/93
     35  1.1    nonaka  */
     36  1.1    nonaka 
     37  1.1    nonaka /*
     38  1.1    nonaka  *	US Keyboard mapping tables
     39  1.1    nonaka  */
     40  1.1    nonaka const unsigned short action[] = {
     41  1.1    nonaka 	0,     ASCII, ASCII, ASCII, ASCII, ASCII, ASCII, ASCII,	/* scan  0- 7 */
     42  1.1    nonaka 	ASCII, ASCII, ASCII, ASCII, ASCII, ASCII, ASCII, ASCII,	/* scan  8-15 */
     43  1.1    nonaka 	ASCII, ASCII, ASCII, ASCII, ASCII, ASCII, ASCII, ASCII,	/* scan 16-23 */
     44  1.1    nonaka 	ASCII, ASCII, ASCII, ASCII, ASCII,   CTL, ASCII, ASCII,	/* scan 24-31 */
     45  1.1    nonaka 	ASCII, ASCII, ASCII, ASCII, ASCII, ASCII, ASCII, ASCII,	/* scan 32-39 */
     46  1.1    nonaka 	ASCII, ASCII,   SHF, ASCII, ASCII, ASCII, ASCII, ASCII,	/* scan 40-47 */
     47  1.1    nonaka 	ASCII, ASCII, ASCII, ASCII, ASCII, ASCII,   SHF, ASCII,	/* scan 48-55 */
     48  1.1    nonaka 	  ALT, ASCII,   CPS,  FUNC,  FUNC,  FUNC,  FUNC,  FUNC,	/* scan 56-63 */
     49  1.1    nonaka 	 FUNC,  FUNC,  FUNC,  FUNC,  FUNC,   NUM,SCROLL, ASCII,	/* scan 64-71 */
     50  1.1    nonaka 	ASCII, ASCII, ASCII, ASCII, ASCII, ASCII, ASCII, ASCII,	/* scan 72-79 */
     51  1.1    nonaka 	ASCII, ASCII, ASCII, ASCII,     0,     0,     0,     0,	/* scan 80-87 */
     52  1.1    nonaka 	0,0,0,0,0,0,0,0,	/* scan 88-95 */
     53  1.1    nonaka 	0,0,0,0,0,0,0,0,	/* scan 96-103 */
     54  1.1    nonaka 	0,0,0,0,0,0,0,0,	/* scan 104-111 */
     55  1.1    nonaka 	0,0,0,0,0,0,0,0,	/* scan 112-119 */
     56  1.1    nonaka 	0,0,0,0,0,0,0,0,	/* scan 120-127 */
     57  1.1    nonaka };
     58  1.1    nonaka 
     59  1.1    nonaka const unsigned char unshift[] = {	/* no shift */
     60  1.1    nonaka 	  0,   033,   '1',   '2',   '3',   '4',   '5',   '6',	/* scan  0- 7 */
     61  1.1    nonaka 	'7',   '8',   '9',   '0',   '-',   '=',   010,  '\t',	/* scan  8-15 */
     62  1.1    nonaka 	'q',   'w',   'e',   'r',   't',   'y',   'u',   'i',	/* scan 16-23 */
     63  1.1    nonaka 	'o',   'p',   '[',   ']',  '\r',   CTL,   'a',   's',	/* scan 24-31 */
     64  1.1    nonaka 	'd',   'f',   'g',   'h',   'j',   'k',   'l',   ';',	/* scan 32-39 */
     65  1.1    nonaka 	'\'',  '`',   SHF,   '\\',  'z',   'x',   'c',   'v',	/* scan 40-47 */
     66  1.1    nonaka 	'b',   'n',   'm',   ',',   '.',   '/',   SHF,   '*',	/* scan 48-55 */
     67  1.1    nonaka 	ALT,   ' ',   CPS,     1,     2,     3,     4,     5,	/* scan 56-63 */
     68  1.1    nonaka 	  6,     7,     8,     9,    10,   NUM,   STP,   '7',	/* scan 64-71 */
     69  1.1    nonaka 	'8',   '9',   '-',   '4',   '5',   '6',   '+',   '1',	/* scan 72-79 */
     70  1.1    nonaka 	'2',   '3',   '0',   0177,    0,     0,     0,     0,	/* scan 80-87 */
     71  1.1    nonaka 	0,0,0,0,0,0,0,0,	/* scan 88-95 */
     72  1.1    nonaka 	0,0,0,0,0,0,0,0,	/* scan 96-103 */
     73  1.1    nonaka 	0,0,0,0,0,0,0,0,	/* scan 104-111 */
     74  1.1    nonaka 	0,0,0,0,0,0,0,0,	/* scan 112-119 */
     75  1.1    nonaka 	0,0,0,0,0,0,0,0,	/* scan 120-127 */
     76  1.1    nonaka };
     77  1.1    nonaka 
     78  1.1    nonaka const unsigned char shift[] = {	/* shift shift */
     79  1.1    nonaka 	  0,   033,   '!',   '@',   '#',   '$',   '%',   '^',	/* scan  0- 7 */
     80  1.1    nonaka 	'&',   '*',   '(',   ')',   '_',   '+',   010,  '\t',	/* scan  8-15 */
     81  1.1    nonaka 	'Q',   'W',   'E',   'R',   'T',   'Y',   'U',   'I',	/* scan 16-23 */
     82  1.1    nonaka 	'O',   'P',   '{',   '}',  '\r',   CTL,   'A',   'S',	/* scan 24-31 */
     83  1.1    nonaka 	'D',   'F',   'G',   'H',   'J',   'K',   'L',   ':',	/* scan 32-39 */
     84  1.1    nonaka 	'"',   '~',   SHF,   '|',   'Z',   'X',   'C',   'V',	/* scan 40-47 */
     85  1.1    nonaka 	'B',   'N',   'M',   '<',   '>',   '?',   SHF,   '*',	/* scan 48-55 */
     86  1.1    nonaka 	ALT,   ' ',   CPS,     0,     0,   ' ',     0,     0,	/* scan 56-63 */
     87  1.1    nonaka 	  0,     0,     0,     0,     0,   NUM,   STP,   '7',	/* scan 64-71 */
     88  1.1    nonaka 	'8',   '9',   '-',   '4',   '5',   '6',   '+',   '1',	/* scan 72-79 */
     89  1.1    nonaka 	'2',   '3',   '0',  0177,     0,     0,     0,     0,	/* scan 80-87 */
     90  1.1    nonaka 	0,0,0,0,0,0,0,0,	/* scan 88-95 */
     91  1.1    nonaka 	0,0,0,0,0,0,0,0,	/* scan 96-103 */
     92  1.1    nonaka 	0,0,0,0,0,0,0,0,	/* scan 104-111 */
     93  1.1    nonaka 	0,0,0,0,0,0,0,0,	/* scan 112-119 */
     94  1.1    nonaka 	0,0,0,0,0,0,0,0,	/* scan 120-127 */
     95  1.1    nonaka };
     96  1.1    nonaka 
     97  1.1    nonaka const unsigned char ctl[] = {	/* CTL shift */
     98  1.1    nonaka 	  0,   033,   '!',   000,   '#',   '$',   '%',   036,	/* scan  0- 7 */
     99  1.1    nonaka 	'&',   '*',   '(',   ')',   037,   '+',   034,'\177',	/* scan  8-15 */
    100  1.1    nonaka 	021,   027,   005,   022,   024,   031,   025,   011,	/* scan 16-23 */
    101  1.1    nonaka 	017,   020,   033,   035,  '\r',   CTL,   001,   023,	/* scan 24-31 */
    102  1.1    nonaka 	004,   006,   007,   010,   012,   013,   014,   ';',	/* scan 32-39 */
    103  1.1    nonaka 	'\'',  '`',   SHF,   034,   032,   030,   003,   026,	/* scan 40-47 */
    104  1.1    nonaka 	002,   016,   015,   '<',   '>',   '?',   SHF,   '*',	/* scan 48-55 */
    105  1.1    nonaka 	ALT,   ' ',   CPS,     0,     0,   ' ',     0,     0,	/* scan 56-63 */
    106  1.1    nonaka 	CPS,     0,     0,     0,     0,     0,     0,     0,	/* scan 64-71 */
    107  1.1    nonaka 	  0,     0,     0,     0,     0,     0,     0,     0,	/* scan 72-79 */
    108  1.1    nonaka 	  0,     0,     0,  0177,     0,     0,     0,     0,	/* scan 80-87 */
    109  1.1    nonaka 	  0,     0,   033,   '7',   '4',   '1',     0,   NUM,	/* scan 88-95 */
    110  1.1    nonaka 	'8',   '5',   '2',     0,   STP,   '9',   '6',   '3',	/* scan 96-103*/
    111  1.1    nonaka 	'.',     0,   '*',   '-',   '+',     0,     0,     0,	/*scan 104-111*/
    112  1.1    nonaka 	0,0,0,0,0,0,0,0,	/* scan 112-119 */
    113  1.1    nonaka 	0,0,0,0,0,0,0,0,	/* scan 120-127 */
    114  1.1    nonaka };
    115