*****************************  MODULE HEADER  *******************************
*                                                                           *
*                                                                           *
*  MACHINE:                LANGUAGE:                        OS: CTOS        *
*                                                                           *
*  pcK1.kbd_data                                                            *
*                                                                           *
*      This file contains the text version of the table that causes a       *
*      PC keyboard using scan set 2 (such as the Portable on board key     *
*      board) to emulate a K1 keyboard.                                     *
*                                                                           *
*                                                                           *
*  HISTORY:                                                                 *
*                                                                   *
*                                                                           *
*  MMDDYY VVVVMM  PROGRAMMER      DESCRIPTION                           *
*                                                                           *
*  031892 122G.00  K. Hampton      Created.                              *
*                                                                           *
*                    PROPRIETARY  PROGRAM  MATERIAL                         *
*                                                                           *
*  THIS MATERIAL IS PROPRIETARY TO UNISYS CORPORATION AND IS NOT TO         *
*  BE REPRODUCED, USED OR DISCLOSED EXCEPT IN ACCORDANCE WITH PROGRAM       *
*  LICENSE OR UPON WRITTEN AUTHORIZATION OF THE PATENT DIVISION OF          *
*  UNISYS CORPORATION, DETROIT, MICHIGAN 48232, USA.                        *
*                                                                           *
*  COPYRIGHT (C) 1990 UNISYS CORPORATION. ALL RIGHTS RESERVED               *
*                                                                           *
*****************************************************************************
*                                                                           *
*  UNISYS BELIEVES THAT THE SOFTWARE FURNISHED HEREWITH IS ACCURATE         *
*  AND RELIABLE, AND MUCH CARE HAS BEEN TAKEN IN ITS PREPARATION. HOWEVER,  *
*  NO RESPONSIBILITY, FINANCIAL OR OTHERWISE, CAN BE ACCEPTED FOR ANY       *
*  CONSEQUENCES ARISING OUT OF THE USE OF THIS MATERIAL, INCLUDING LOSS     *
*  OF PROFIT, INDIRECT, SPECIAL, OR CONSEQUENTIAL DAMAGES, THERE ARE NO     *
*  WARRANTIES WHICH EXTEND BEYOND THE PROGRAM SPECIFICATION.                *
*                                                                           *
*  THE CUSTOMER SHOULD EXERCISE CARE TO ASSURE THAT USE OF THE SOFTWARE     *
*  WILL BE IN FULL COMPLIANCE WITH LAWS, RULES AND REGULATIONS OF THE       *
*  JURISDICTIONS WITH RESPECT TO WHICH IT IS USED.                          *
*                                                                           *
**************************  END OF MODULE HEADER  ***************************



;     This is the data file for a PS2 or superset keyboard that is to be
;     emulated as a K1 Keyboard; this file is suitable for use by the
;     Create Keyboard Table command
;
;     In what follows semicolons, ;, or the slashasterix pair * start
;     comments.  The newline character ends comments.  Also lines consisting
;     of only the new line character are ignored.

; Keyboard name
PC1

; Output file name
PC1EmulTables.obj

; Name of PUBLIC in object module at start of table
PC1EmulData


;Number of forms files needed to display keyboard.
0




;  ====================================================================
;  ====================================================================
;
;                           EMULATION DATA
;
;  What follows is the data for having the PS2 keyboard emulate the K1
;  keyboard.  That is given a PS2 state and key what K1 state and key
;  would have to be pushed to give the same result
;


EMULATION DATA EXISTS         ; The preceeding string is NOT a comment.  It
                              ;      must be in the file if emulation data
                              ;      is present in the file.



START SPECIAL KEYS            ; The preceeding string is NOT a comment.  It
                              ;      must be in the file even if no special
                              ;      keys list is included.

;
;  : Number of entries in per key tables in hex
;  |
;  |    : PS2 Keyboard IBus ID in hex.
;  |    |
;  |    |    : Key up mask in hex.
;  |    |    |
;  |    |    |   :  Number of emulation tables in hex
;  |    |    |   |
;
  85   66   80   5    04  target translation table in hex

;
; Special keys.
; 
; The first column is the hardware iKey returned by the special key (in
; hex).  The second column (the comments) is the value of that key on the
; K1 keyboard.  For example the delete key returns 7F h.  For the K1
; keyboard this data is in Tables B1 or C1 in the CTOS Concepts manual.
; This table MUST have 19 entries and they MUST be in the order shown.

22   ; Number of special keys

1C   ;   a                   *
32   ;   b                   *
171   ;   <DELETE>           *   71h + hiorder bit for 'E0' extension
170   ;   <INSERT>           *   70h + hiorder bit for 'E0' extension
14   ;   <LEFT CONTROL>      *
114   ;   <RIGHT CONTROL>    *   14h + hiorder bit for 'E0' extension
76   ;   <ESCAPE>            *
11   ;   <L ALT>             *
58   ;   <LOCK>              *
12   ;   <LEFT SHIFT>        *
59   ;   <RIGHT SHIFT>       *
40   ;   <RESERVED>
40   ;   <RESERVED>
40   ;   <RESERVED>
00   ;    c
15A   ;   <GO>               *   5Ah + hiorder bit for 'E0' extension
00   ;   iKey not valid
29   ;   Diacritic Escape
17C   ;   System Key         *   7Ch + hiorder bit for 'E0' extension
00   ;   reserved for future use
5F   ;   map pause key
00   ;   reserved for future use



;;; L ALT, NUM LOCK  ????

END SPECIAL KEYS              ; The preceeding string is NOT a comment.  It
                              ;      must be in the file even if no special
                              ;      keys list is included.


START LED EMULATION DATA      ; The preceeding string is NOT a comment.  It
                              ;      must be in the file even if no list of
                              ;      default chords is included.

    3    ; Number of LEDs on keyboard


;0 means don't remap. FF means not supported. Valid nonzero value is the 1
;based LED numberthat will be converted to a command valid for the new target 
;hardware as follows: 1h,2h,4h,8h,10h,20h,40h,80h; LEDs >8 on the Kx style 
;keyboards are handled according to the rquirement described in the hardware 
;spec.

    99   ; CTOS LED 1  f10
    99   ; 2           f9
    99   ; 3           f8
    99   ; 4           f3 
    99   ; 5           f2
    99   ; 6           f1
    03   ; 7           LOCK
    99   ; 8           Overtype NOT SUPPORTED
    99   ; 9           Comm1
    99   ; 10          Comm2
    99   ; 11          Comm3
    99   ; 12          Comm4
    99   ; 13          Comm5
    02   ; 14          'Numlock'
    01   ; 15          'Scroll Lock'
    99   ; 


END LED EMULATION DATA        ; The preceeding string is NOT a comment.  It
                              ;      must be in the file even if no special
                              ;      keys list is included.

START CHORDS KEYS             ; The preceeding string is NOT a comment.  It
                              ;      must be in the file even if no list of
                              ;      default chords is included.

;
; Default Chords for Emulation table
;
;

;   Number of entries should be the same as in translation table in this file
10    ;   Number of entries

;  key       bMask*  fToggle fLed  LED mask** 
; number      bit                    bit   
; (hex)     position               position
; 
    12          0       F      F      0     F ;  Chord 1   <LEFT SHIFT>
    59          1       F      F      0     F ;  Chord 2   <RIGHT SHIFT>
    14          2       F      F      0     F ;  Chord 4   <LEFT CODE>
    94          3       F      F      8     F ;  Chord 5   <RIGHT CODE>
    58          4       T      T      2     F ;  Chord 3   <LOCK>
    11          5       F      F      0     F ;  Chord 6   <L ALT> (K1 NOP)
    91          6       F      F      8     F ;  Chord 7   <R ALT> (K1 NOP)
    77          7       T      T      1     F ;  Chord 8   <NUMLOCK> (K1 NOP)
    7E          8       T      T      0     F  T;  Chord 8 <CTOSLOCK> (K1 NOP)
   0E0          9       F      F      9     F ;  Chord 9 <E0 special> (K1 NOP)

END CHORDS KEYS                     ; The preceeding string is NOT a comment.
                                    ;      It must be in the file even if no
                                    ;      list of default chords is included.
START ALLOWED STATES TABLE          ; The preceeding string is NOT a comment.
                                    ;      It must be in the file even if no
                                    ;      repeat attributes table is included.



;                       ENTRIES
; 
; Chords that affect       iKey   Key
;    this iKey          Number  Name
; numbers are decimal
;         

        { 0 }            ; 000
        { 0 }            ; 001	f9
        { 0 }            ; 002
        { 0 }            ; 003	f5
        { 0 }            ; 004	f3
        { 6,7 }          ; 005	f1         (l alt,r alt)
        { 0 }            ; 006  f2
        { 0 }            ; 007  f12      
        { 0 }            ; 008    
        { 0 }            ; 009 f10
        { 0 }            ; 00A f8
        { 0 }            ; 00B f6
        { 0 }            ; 00C f4
        { 0 }            ; 00D    Tab
       { 1,2 }           ; 00E      
        { 0 }            ; 00F    
        { 0 }            ; 010
        { 6,7,10 }            ; 011    Left alt 6   (rt alt = 7+10)
        { 1,2,10 }            ; 012    Left Shift
        { 0 }            ; 013
        { 3,4,10 }            ; 014    Left code 3   (rt code = 4+10)
      { 1,2,5 }          ; 015    q  Q
       { 1,2 }           ; 016    1  
        { 0 }            ; 017    
        { 0 }            ; 018      
        { 0 }            ; 019    Left Alt
      { 1,2,5 }          ; 01A    z  Z
      { 1,2,5 }          ; 01B    s  S
      { 1,2,5 }          ; 01C    a  A
      { 1,2,5 }          ; 01D    w  W
       { 1,2 }           ; 01E    2  @
        { 0 }            ; 01F   
        { 0 }            ; 020
      { 1,2,5 }          ; 021    c  C
      { 1,2,5 }          ; 022    x  X
      { 1,2,5 }          ; 023    d  D
      { 1,2,5 }          ; 024    e  E
       { 1,2 }           ; 025    4  $
       { 1,2 }           ; 026    3  
        { 0 }            ; 027    
        { 0 }            ; 028
        { 0 }            ; 029    space
      { 1,2,5 }          ; 02A    v  V
      { 1,2,5 }          ; 02B    f  F
      { 1,2,5 }          ; 02C    t  T
      { 1,2,5 }          ; 02D    r  R
       { 1,2 }           ; 02E    5  
        { 0 }            ; 02F    
        { 0 }            ; 030
      { 1,2,5 }          ; 031    n  N
      { 1,2,5 }          ; 032    b  B
      { 1,2,5 }          ; 033    h  H
      { 1,2,5 }          ; 034    g  G
      { 1,2,5 }          ; 035    y  Y
       { 1,2 }           ; 036    6  ^
        { 0 }            ; 037    
        { 0 }            ; 038
        { 0 }            ; 
      { 1,2,5 }          ; 03A    m  M
      { 1,2,5 }          ; 03B    j  J
      { 1,2,5 }          ; 03C    u  U
       { 1,2 }           ; 03D    7  
       { 1,2 }           ; 03E    8  *
        { 0 }            ; 03F    
        { 0 }            ; 040
       { 1,2 }           ; 041    ,  <
      { 1,2,5 }          ; 042    k  K
      { 1,2,5 }          ; 043    i  I
      { 1,2,5 }          ; 044    o  O
       { 1,2 }           ; 045    0  )
       { 1,2 }           ; 046    9  (
        { 0 }            ; 047    
        { 0 }            ; 048
       { 1,2 }           ; 049    .  >
       { 1,2,10 }           ; 04A      ?     E0 4A = numpad 
      { 1,2,5 }          ; 04B    l  L
       { 1,2 }           ; 04C    ;  :
      { 1,2,5 }          ; 04D    p  P
       { 1,2 }           ; 04E      _
        { 0 }            ; 04F    
        { 0 }            ; 050
        { 0 }            ; 051
       { 1,2 }           ; 052    '  
        { 0 }            ; 053
       { 1,2 }           ; 054    [  {
       { 1,2 }           ; 055    =  +
        { 0 }            ; 056    
        { 0 }            ; 057    
        { 5 }            ; 058    Capslock
        { 1,2,10 }            ; 059    R Shift   E0 59 = Extended shift, absorb
        { 10 }            ; 05A    Return            E0 5A = GO
       { 1,2 }           ; 05B    ]  }
       { 1,2 }           ; 05C    \  |
        { 0 }            ; 05D
        { 0 }            ; 05E    
        { 0 }            ; 05F    
        { 0 }            ; 060    
        { 0 }            ; 061    
        { 0 }            ; 062    
        { 0 }            ; 063    
        { 0 }            ; 064    
        { 0 }            ; 065    
        { 0 }            ; 066    
        { 0 }            ; 067    
        { 0 }            ; 068
        { 1,2,8,9,10 }        ; 069    1 pad   E0 69 = END
        { 0 }            ; 06A    
        { 1,2,8,9,10 }        ; 06B    4 pad   E0 6B = l arrow
        { 1,2,8,9,10 }        ; 06C    7 pad   E0 6C = HOME
        { 0 }            ; 06D    
        { 0 }            ; 06E    
        { 0 }            ; 06F    
        { 1,2,8,9,10 }        ; 070    0 pad   E0 70 = InsertOvertype
        { 1,2,8,9,10 }        ; 071    . pad   E0 71 = DELETE
        { 1,2,8,9,10 }        ; 072    2 pad   E0 72 = Scroll UP
        { 1,2,8,9 }        ; 073    5 pad   
        { 1,2,8,9,10 }        ; 074    6 pad   E0 74 = RT Arrow
        { 1,2,8,9,10 }        ; 075    8 pad   E0 75 = Scroll DN
        { 0 }            ; 076    escapecancel
        { 8 }          ; 077    numlock
        { 0 }            ; 078    
        { 0 }            ; 079    numpad +
        { 1,2,8,9,10 }        ; 07A    3 pad   E0 7A = Page DN
        { 0 }            ; 07B    
        { 10 }            ; 07C    * pad
        { 1,2,8,9,10 }        ; 07D    9 pad   E0 7D = Page UP
        { 9 }            ; 07E    CTOS modeScroll Lock
        { 0 }            ; 07F    
        { 0 }            ; 080    
        { 0 }            ; 081    
        { 0 }            ; 082    
        { 0 }            ; 083    f7 
        { 0 }            ; 084     pad

END ALLOWED STATES TABLE            ; The preceeding string is NOT a comment.
                                    ;      It must be in the file even if no
                                    ;      repeat attributes table is included.

START CONDITIONS                    ; The preceeding string is NOT a comment.
                                    ;      It must be in the file even if no
                                    ;      translation table are included.

;
; Default Conditions info

11  ; Number of conditions (does not have to match number tables)

; Conditions that point to a given table
;
; NOTE: Numbers in orStates are decimal
;
; Table         Conditions               Comments
;  ID   
;       orState1  orState2  orState3
;          

    0   {      }  {      }  {      }   ; No chord keys down
    1   {1,2   }                       ; either Shift key down;
    1   {  8   }                       ; numlock down
    1   {  8   }  { 9 }                ; numlock and CTOS lock
    3   {  9   }                       ; CTOS lock down
    3   {  9   }  {1,2,3,4,5}          ; CTOS lk and (shiftscodes)
    0   {  8   }  { 1,2  }             ; numlock and either shift key
    2   {  6,7 }                       ; either alt (for f1)
    2   {  6,7 }  {1,2,3,4,5}          ; either alt and (shiftscodes)(for f1)
                                       ; to facilitate shift+help or code+help
                                      ; to facilitate shift+help or code+help
    4   {  10  }  {      }  {      }   ; E0
    4   {  10  }  {1,2,3,4,5,6,7,8,9}  {      }   ; E0

 
END CONDITIONS                      ; The preceeding string is NOT a comment.
                                    ;      It must be in the file even if no
                                    ;      translation table are included.


START MULTIBYTES                    ; The preceeding string is NOT a comment.
                                    ;      It must be in the file even if no
                                    ;      translation multi byte strings are
                                    ;      included.

;
; Default Multibyte Tables

0   ; Number of multibyte strings

; String

;  { 01:68, 01:E8, 00:69, 00:E9, 00:20, 00:A0, 02:74, 02:F4, 00:68, 00:E8
;                         00:65, 00:E5, 00:72, 00:F2, 00:65 }
;  { 00:2E, 00:AE, 00:30, 00:B0, 00:30, 00:B0 }

; The  means continue.

END MULTIBYTES                      ; The preceeding string is NOT a comment.
                                    ;      It must be in the file even if no
                                    ;      translation multi byte strings are
                                    ;      included.

START DIACRITICS                    ; The preceeding string is NOT a comment.
                                    ;      It must be in the file even if no
                                    ;      translation diacritics are included.

;
; Default Diacritic Tables

0  ; Number of diacritic pairs

; Condition 1           Condition 1           Condition 12        MultiByte
;  Number                 Number                 Number                  Flag
; Of First     First     Of Second    Second    Of Result   Result
; Character  Character   Character  Character   Character  Character

;    00         27          00         65                00000016         F
;    01         5E          01         65                00010034         F
;    01         5E          01         63                00000001         T

; 1 Condition number is the same as table number in the conditions table
; 2 Usually zero.

END DIACRITICS                      ; The preceeding string is NOT a comment.
                                    ;      It must be in the file even if no
                                    ;      translation diacritics are included.

START TABLES                        ; The preceeding string is NOT a comment.
                                    ;      It must be in the file even if no
                                    ;      translation table are included.

;
; Default Emulation Tables Info
;
; In what follows entries are of the form xx:yy where
;
;    xx = the state 
;    yy = the K1 iKey
;  FF:FF means Do not emulate as anything
;  FF:xx means Do not change the state, emulate the key (ikey > xx)

; Number of emulation tables specified in special keys table.

;
;   Table for case where no chord keys held down.
;

         FF:FF   ; 000
         FF:1E   ; 001 f9
         FF:FF   ; 002
         FF:19   ; 003 f5
         FF:17   ; 004 f3
         FF:15   ; 005 f1
         FF:16   ; 006 f2
         FF:FF   ; 007 f12
         FF:FF   ; 008	
         FF:1F   ; 009 f10
         FF:1D   ; 00A f8
         FF:1A   ; 00B f6
         FF:18   ; 00C f4
         FF:09   ; 00D	tab
         01:60   ; 00E	l quote  (1 )
         FF:FF   ; 00F	
         FF:FF   ; 010
         FF:54   ; 011	l alt
         FF:48   ; 012	l shift 
         FF:FF   ; 013
         FF:4C   ; 014	l ctrl > l code
         FF:71   ; 015	q
         FF:31   ; 016	1
         FF:FF   ; 017	
         FF:FF   ; 018
         FF:FF   ; 019	
         FF:7A   ; 01A	z
         FF:73   ; 01B	s
         FF:61   ; 01C	a
         FF:77   ; 01D	w
         FF:32   ; 01E	2
         FF:FF   ; 01F	
         FF:FF   ; 020
         FF:63   ; 021	c
         FF:78   ; 022	x
         FF:64   ; 023	d
         FF:65   ; 024	e
         FF:34   ; 025	4
         FF:33   ; 026	3
         FF:FF   ; 027	
         FF:FF   ; 028
         FF:20   ; 029	space
         FF:76   ; 02A	v
         FF:66   ; 02B	f
         FF:74   ; 02C	t
         FF:72   ; 02D	r
         FF:35   ; 02E	5
         FF:FF   ; 02F	
         FF:FF   ; 030	
         FF:6E   ; 031	n
         FF:62   ; 032	b
         FF:68   ; 033	h
         FF:67   ; 034	g
         FF:79   ; 035	y
         FF:36   ; 036	6
         FF:FF   ; 037	
         FF:FF   ; 038
         FF:FF   ; 039	
         FF:6D   ; 03A	m
         FF:6A   ; 03B	j
         FF:75   ; 03C	u
         FF:37   ; 03D	7
         FF:38   ; 03E	8
         FF:FF   ; 03F	
         FF:FF   ; 040
         FF:2C   ; 041	,
         FF:6B   ; 042	k
         FF:69   ; 043	i
         FF:6F   ; 044	o
         FF:30   ; 045	0
         FF:39   ; 046	9
         FF:FF   ; 047	
         FF:FF   ; 048	
         FF:2E   ; 049	.
         FF:2F   ; 04A	
         FF:6C   ; 04B	l
         FF:3B   ; 04C	;
         FF:70   ; 04D	p
         FF:2D   ; 04E	
         FF:FF   ; 04F	
         FF:FF   ; 050	
         FF:FF   ; 051
         FF:27   ; 052	'
         FF:FF   ; 053	
         FF:5B   ; 054	[
         FF:2B   ; 055	=
         FF:FF   ; 056	
         FF:FF   ; 057	
         FF:45   ; 058	lock > capslock
         FF:49   ; 059	r shift
         FF:0A   ; 05A	return
         FF:5D   ; 05B	]
         01:7C   ; 05C	\   (8 \)
         FF:FF   ; 05D	102 key keyboard only
         FF:FF   ; 05E	
         FF:57   ; 05F	borrowed for pause
         FF:FF   ; 060	
         FF:FF   ; 061	102 key keyboard only
         FF:FF   ; 062	
         FF:FF   ; 063	
         FF:FF   ; 064	
         FF:FF   ; 065	
         FF:08   ; 066	
         FF:FF   ; 067	
         FF:FF   ; 068
         08:65   ; 069	END         lc 1 pad
         FF:FF   ; 06A	
         FF:0E   ; 06B	l arrow     lc 4 pad
         08:62   ; 06C	HOME        lc 7 pad
         FF:FF   ; 06D	
         FF:FF   ; 06E	
         FF:FF   ; 06F	
         FF:44   ; 070	INSERT      lc 0 pad
         FF:7F   ; 071	DEL         lc . pad
         FF:0B   ; 072	DOWN ARR    lc 2 pad    (SCROLL UP)
         00:7D   ; 073	5 pad SCR LK meaningless to CTOS
         FF:0F   ; 074	RT ARR      lc 6 pad
         FF:01   ; 075	UP ARR      lc 8 pad    (SCROLL DN)
         FF:07   ; 076	escapecancel
         FF:56   ; 077	numlock
         FF:FF   ; 078  f11
         01:2B   ; 079	numpad +
         FF:0C   ; 07A	PG DN       lc 3 pad
         FF:42   ; 07B  numpad 
         01:38   ; 07C	numpad *
         FF:05   ; 07D	PG UP       lc 9 pad
         FF:5F   ; 07E  scroll lock CTOS mode
         FF:FF   ; 07F 
         FF:FF   ; 080
         FF:FF   ; 081
         FF:FF   ; 082
         FF:1C   ; 083  f7
         FF:57   ; 084  alt+print screen = sysrq on PC kbd SYSTEM key


;
;   Table for case where shift keys held down.
;

         FF:FF   ; 000
         FF:1E   ; 001 f9
         FF:FF   ; 002
         FF:19   ; 003 f5
         FF:17   ; 004 f3
         FF:15   ; 005 f1
         FF:16   ; 006 f2
         FF:FF   ; 007 f12
         FF:FF   ; 008	
         FF:1F   ; 009 f10
         FF:1D   ; 00A f8
         FF:1A   ; 00B f6
         FF:18   ; 00C f4
         FF:09   ; 00D	tab
         01:60   ; 00E	
         FF:FF   ; 00F	
         FF:FF   ; 010
         FF:54   ; 011	l alt
         FF:48   ; 012	l shift 
         FF:FF   ; 013
         FF:4C   ; 014	l ctrl > l code
         FF:71   ; 015	q
         FF:31   ; 016	
         FF:FF   ; 017	
         FF:FF   ; 018
         FF:FF   ; 019	
         FF:7A   ; 01A	z
         FF:73   ; 01B	s
         FF:61   ; 01C	a
         FF:77   ; 01D	w
         FF:32   ; 01E	@
         FF:FF   ; 01F	
         FF:FF   ; 020
         FF:63   ; 021	c
         FF:78   ; 022	x
         FF:64   ; 023	d
         FF:65   ; 024	e
         FF:34   ; 025	$
         FF:33   ; 026	
         FF:FF   ; 027	
         FF:FF   ; 028
         FF:20   ; 029	space
         FF:76   ; 02A	v
         FF:66   ; 02B	f
         FF:74   ; 02C	t
         FF:72   ; 02D	r
         FF:35   ; 02E	
         FF:FF   ; 02F	
         FF:FF   ; 030	
         FF:6E   ; 031	n
         FF:62   ; 032	b
         FF:68   ; 033	h
         FF:67   ; 034	g
         FF:79   ; 035	y
         00:5E   ; 036	^
         FF:FF   ; 037	
         FF:FF   ; 038
         FF:FF   ; 039	
         FF:6D   ; 03A	m
         FF:6A   ; 03B	j
         FF:75   ; 03C	u
         FF:37   ; 03D	
         FF:38   ; 03E	*
         FF:FF   ; 03F	
         FF:FF   ; 040
         FF:5B   ; 041	<
         FF:6B   ; 042	k
         FF:69   ; 043	i
         FF:6F   ; 044	o
         FF:30   ; 045	)
         FF:39   ; 046	(
         FF:FF   ; 047	
         FF:FF   ; 048	
         FF:5D   ; 049	>
         FF:2F   ; 04A	?
         FF:6C   ; 04B	l
         FF:3B   ; 04C	:
         FF:70   ; 04D	p
         FF:2D   ; 04E	_
         FF:FF   ; 04F	
         FF:FF   ; 050	
         FF:FF   ; 051
         FF:27   ; 052	
         FF:FF   ; 053	
         FF:7B   ; 054	{
         FF:2B   ; 055	+             =+
         FF:FF   ; 056	
         FF:FF   ; 057	
         FF:45   ; 058	lock > capslock
         FF:49   ; 059	r shift
         FF:0A   ; 05A	return
         FF:7D   ; 05B	}
         FF:5C   ; 05C	|
         FF:FF   ; 05D	
         FF:FF   ; 05E	
         FF:FF   ; 05F	
         FF:FF   ; 060	
         FF:FF   ; 061	102 key keyboard only
         FF:FF   ; 062	
         FF:FF   ; 063	
         FF:FF   ; 064	
         FF:FF   ; 065	
         FF:08   ; 066	
         FF:FF   ; 067	
         FF:FF   ; 068
         00:60   ; 069	lc 1 pad
         FF:FF   ; 06A	
         00:7B   ; 06B	lc 4 pad
         00:5C   ; 06C	lc 7 pad
         FF:FF   ; 06D	
         FF:FF   ; 06E	
         FF:FF   ; 06F	
         00:4A   ; 070	lc 0 pad
         00:4B   ; 071	lc . pad
         00:46   ; 072	lc 2 pad    (SCROLL UP)
         00:7D   ; 073	lc 5 pad 
         00:41   ; 074	lc 6 pad
         00:7C   ; 075  lc 8 pad    (SCROLL DN)
         FF:07   ; 076	escapecancel
         FF:56   ; 077	numlock
         FF:FF   ; 078  f11
         FF:2B   ; 079	numpad +
         00:47   ; 07A	lc 3 pad
         FF:42   ; 07B  numpad 
         FF:38   ; 07C	numpad *
         00:21   ; 07D	lc 9 pad
         FF:5F   ; 07E  scroll lock CTOS mode
         FF:FF   ; 07F 
         FF:FF   ; 080
         FF:FF   ; 081
         FF:FF   ; 082
         FF:1C   ; 083  f7
         FF:57   ; 084  alt+print screen = sysrq on PC kbd SYSTEM key

;   Table for case where ALT keys held down.
; only gets used for keys that have alt in their allowed states  F1
; therefore all other keys are NOP and look like unshifted keys

         FF:FF   ; 000
         FF:1E   ; 001 f9
         FF:FF   ; 002
         FF:19   ; 003 f5
         FF:17   ; 004 f3
         FF:00   ; 005 f1  NOTE ALT+F1 = HELP  (K1 ikey 00)
         FF:16   ; 006 f2
         FF:FF   ; 007 f12
         FF:FF   ; 008	
         FF:1F   ; 009 f10
         FF:1D   ; 00A f8
         FF:1A   ; 00B f6
         FF:18   ; 00C f4
         FF:09   ; 00D	tab
         01:60   ; 00E	l quote  (1 )
         FF:FF   ; 00F	
         FF:FF   ; 010
         FF:54   ; 011	l alt
         FF:48   ; 012	l shift 
         FF:FF   ; 013
         FF:4C   ; 014	l ctrl > l code
         FF:71   ; 015	q
         FF:31   ; 016	1
         FF:FF   ; 017	
         FF:FF   ; 018
         FF:FF   ; 019	
         FF:7A   ; 01A	z
         FF:73   ; 01B	s
         FF:61   ; 01C	a
         FF:77   ; 01D	w
         FF:32   ; 01E	2
         FF:FF   ; 01F	
         FF:FF   ; 020
         FF:63   ; 021	c
         FF:78   ; 022	x
         FF:64   ; 023	d
         FF:65   ; 024	e
         FF:34   ; 025	4
         FF:33   ; 026	3
         FF:FF   ; 027	
         FF:FF   ; 028
         FF:20   ; 029	space
         FF:76   ; 02A	v
         FF:66   ; 02B	f
         FF:74   ; 02C	t
         FF:72   ; 02D	r
         FF:35   ; 02E	5
         FF:FF   ; 02F	
         FF:FF   ; 030	
         FF:6E   ; 031	n
         FF:62   ; 032	b
         FF:68   ; 033	h
         FF:67   ; 034	g
         FF:79   ; 035	y
         FF:36   ; 036	6
         FF:FF   ; 037	
         FF:FF   ; 038
         FF:FF   ; 039	
         FF:6D   ; 03A	m
         FF:6A   ; 03B	j
         FF:75   ; 03C	u
         FF:37   ; 03D	7
         FF:38   ; 03E	8
         FF:FF   ; 03F	
         FF:FF   ; 040
         FF:2C   ; 041	,
         FF:6B   ; 042	k
         FF:69   ; 043	i
         FF:6F   ; 044	o
         FF:30   ; 045	0
         FF:39   ; 046	9
         FF:FF   ; 047	
         FF:FF   ; 048	
         FF:2E   ; 049	.
         FF:2F   ; 04A	
         FF:6C   ; 04B	l
         FF:3B   ; 04C	;
         FF:70   ; 04D	p
         FF:2D   ; 04E	
         FF:FF   ; 04F	
         FF:FF   ; 050	
         FF:FF   ; 051
         FF:27   ; 052	'
         FF:FF   ; 053	
         FF:5B   ; 054	[
         FF:2B   ; 055	=
         FF:FF   ; 056	
         FF:FF   ; 057	
         FF:45   ; 058	lock > capslock
         FF:49   ; 059	r shift
         FF:0A   ; 05A	return
         FF:5D   ; 05B	]
         01:7C   ; 05C	\   (8 \)
         FF:FF   ; 05D	102 key keyboard only
         FF:FF   ; 05E	
         FF:5F   ; 05F	
         FF:FF   ; 060	
         FF:FF   ; 061	102 key keyboard only
         FF:FF   ; 062	
         FF:FF   ; 063	
         FF:FF   ; 064	
         FF:FF   ; 065	
         FF:FF   ; 066	
         FF:FF   ; 067	
         FF:FF   ; 068
         08:65   ; 069	END         lc 1 pad
         FF:FF   ; 06A	
         FF:0E   ; 06B	l arrow     lc 4 pad
         08:62   ; 06C	HOME        lc 7 pad
         FF:FF   ; 06D	
         FF:FF   ; 06E	
         FF:FF   ; 06F	
         FF:44   ; 070	INSERT      lc 0 pad
         FF:7F   ; 071	DEL         lc . pad
         FF:0B   ; 072	DOWN ARR    lc 2 pad    (SCROLL UP)
         00:7D   ; 073	5 pad SCR LK meaningless to CTOS
         FF:0F   ; 074	RT ARR      lc 6 pad
         FF:01   ; 075	UP ARR      lc 8 pad    (SCROLL DN)
         FF:07   ; 076	escapecancel
         FF:56   ; 077	numlock
         FF:FF   ; 078  f11
         01:2B   ; 079	numpad +
         FF:0C   ; 07A	PG DN       lc 3 pad
         FF:42   ; 07B  numpad 
         01:38   ; 07C	numpad *
         FF:05   ; 07D	PG UP       lc 9 pad
         FF:5F   ; 07E  scroll lock CTOS mode
         FF:FF   ; 07F 
         FF:FF   ; 080
         FF:FF   ; 081
         FF:FF   ; 082
         FF:1C   ; 083  f7
         FF:57   ; 084  alt+print screen = sysrq on PC kbd SYSTEM key

;
;   Table for case where CTOS Lock is on.

;do we need ctos lock and shift? probably not if ctos lock
;is only allowed for selected keys
;


         FF:FF   ; 000
         FF:1E   ; 001 f9
         FF:FF   ; 002
         FF:19   ; 003 f5
         FF:17   ; 004 f3
         FF:15   ; 005 f1
         FF:16   ; 006 f2
         FF:FF   ; 007 f12
         FF:FF   ; 008	
         FF:1F   ; 009 f10
         FF:1D   ; 00A f8
         FF:1A   ; 00B f6
         FF:18   ; 00C f4
         FF:09   ; 00D	tab
         01:60   ; 00E	l quote  (1 )
         FF:FF   ; 00F	
         FF:FF   ; 010
         FF:54   ; 011	l alt
         FF:48   ; 012	l shift 
         FF:FF   ; 013
         FF:4C   ; 014	l ctrl > l code
         FF:71   ; 015	q
         FF:31   ; 016	1
         FF:FF   ; 017	
         FF:FF   ; 018
         FF:FF   ; 019	
         FF:7A   ; 01A	z
         FF:73   ; 01B	s
         FF:61   ; 01C	a
         FF:77   ; 01D	w
         FF:32   ; 01E	2
         FF:FF   ; 01F	
         FF:FF   ; 020
         FF:63   ; 021	c
         FF:78   ; 022	x
         FF:64   ; 023	d
         FF:65   ; 024	e
         FF:34   ; 025	4
         FF:33   ; 026	3
         FF:FF   ; 027	
         FF:FF   ; 028
         FF:20   ; 029	space
         FF:76   ; 02A	v
         FF:66   ; 02B	f
         FF:74   ; 02C	t
         FF:72   ; 02D	r
         FF:35   ; 02E	5
         FF:FF   ; 02F	
         FF:FF   ; 030	
         FF:6E   ; 031	n
         FF:62   ; 032	b
         FF:68   ; 033	h
         FF:67   ; 034	g
         FF:79   ; 035	y
         FF:36   ; 036	6
         FF:FF   ; 037	
         FF:FF   ; 038
         FF:FF   ; 039	
         FF:6D   ; 03A	m
         FF:6A   ; 03B	j
         FF:75   ; 03C	u
         FF:37   ; 03D	7
         FF:38   ; 03E	8
         FF:FF   ; 03F	
         FF:FF   ; 040
         FF:2C   ; 041	,
         FF:6B   ; 042	k
         FF:69   ; 043	i
         FF:6F   ; 044	o
         FF:30   ; 045	0
         FF:39   ; 046	9
         FF:FF   ; 047	
         FF:FF   ; 048	
         FF:2E   ; 049	.
         FF:2F   ; 04A	
         FF:6C   ; 04B	l
         FF:3B   ; 04C	;
         FF:70   ; 04D	p
         FF:2D   ; 04E	
         FF:FF   ; 04F	
         FF:FF   ; 050	
         FF:FF   ; 051
         FF:27   ; 052	'
         FF:FF   ; 053	
         FF:5B   ; 054	[
         FF:2B   ; 055	=
         FF:FF   ; 056	
         FF:FF   ; 057	
         FF:45   ; 058	lock > capslock
         FF:49   ; 059	r shift
         FF:0A   ; 05A	return
         FF:5D   ; 05B	]
         01:7C   ; 05C	\   (8 \)
         FF:FF   ; 05D	102 key keyboard only
         FF:FF   ; 05E	
         FF:5F   ; 05F	
         FF:FF   ; 060	
         FF:FF   ; 061	102 key keyboard only
         FF:FF   ; 062	
         FF:FF   ; 063	
         FF:FF   ; 064	
         FF:FF   ; 065	
         FF:FF   ; 066	
         FF:FF   ; 067	
         FF:FF   ; 068
         FF:12   ; 069	MOVE        lc 1 pad
         FF:FF   ; 06A	
         FF:0E   ; 06B	l arrow     lc 4 pad
         FF:43   ; 06C	ACTION      lc 7 pad
         FF:FF   ; 06D	
         FF:FF   ; 06E	
         FF:FF   ; 06F	
         FF:02   ; 070	MARK        lc 0 pad
         FF:03   ; 071	BOUND       lc . pad
         FF:11   ; 072	SCRL NEXT   lc 2 pad    (SCROLL UP)
         FF:FF   ; 073	5 pad SCR LK meaningless to CTOS
         FF:0D   ; 074	NEXT        lc 6 pad
         FF:13   ; 075	SCRL PREV   lc 8 pad    (SCROLL DN)
         FF:07   ; 076	escapecancel
         FF:56   ; 077	numlock
         FF:FF   ; 078  f11
         01:2B   ; 079	numpad +
         FF:14   ; 07A	COPY        lc 3 pad
         FF:42   ; 07B  numpad 
         01:38   ; 07C	numpad *
         FF:04   ; 07D	FINISH      lc 9 pad
         FF:5F   ; 07E  scroll lock CTOS mode
         FF:FF   ; 07F 
         FF:FF   ; 080
         FF:FF   ; 081
         FF:FF   ; 082
         FF:1C   ; 083  f7
         FF:57   ; 084  alt+print screen = sysrq on PC kbd SYSTEM key

;
;   Table for case where E0 is held down.
;

         FF:FF   ; 000
         FF:1E   ; 001 f9
         FF:FF   ; 002
         FF:19   ; 003 f5
         FF:17   ; 004 f3
         FF:15   ; 005 f1
         FF:16   ; 006 f2
         FF:FF   ; 007 f12
         FF:FF   ; 008	
         FF:1F   ; 009 f10
         FF:1D   ; 00A f8
         FF:1A   ; 00B f6
         FF:18   ; 00C f4
         FF:09   ; 00D	tab
         01:60   ; 00E	l quote  (1 )
         FF:FF   ; 00F	
         FF:FF   ; 010
         FF:55   ; 011	                   NOTE: RIGHT ALT
         FF:FF   ; 012	l shift            NOTE: ABSORB IF EXTENDED
         FF:FF   ; 013
         FF:4D   ; 014	                   NOTE: RIGHT CODE
         FF:71   ; 015	q
         FF:31   ; 016	1
         FF:FF   ; 017	
         FF:FF   ; 018
         FF:FF   ; 019	
         FF:7A   ; 01A	z
         FF:73   ; 01B	s
         FF:61   ; 01C	a
         FF:77   ; 01D	w
         FF:32   ; 01E	2
         FF:FF   ; 01F	
         FF:FF   ; 020
         FF:63   ; 021	c
         FF:78   ; 022	x
         FF:64   ; 023	d
         FF:65   ; 024	e
         FF:34   ; 025	4
         FF:33   ; 026	3
         FF:FF   ; 027	
         FF:FF   ; 028
         FF:20   ; 029	space
         FF:76   ; 02A	v
         FF:66   ; 02B	f
         FF:74   ; 02C	t
         FF:72   ; 02D	r
         FF:35   ; 02E	5
         FF:FF   ; 02F	
         FF:FF   ; 030	
         FF:6E   ; 031	n
         FF:62   ; 032	b
         FF:68   ; 033	h
         FF:67   ; 034	g
         FF:79   ; 035	y
         FF:36   ; 036	6
         FF:FF   ; 037	
         FF:FF   ; 038
         FF:FF   ; 039	
         FF:6D   ; 03A	m
         FF:6A   ; 03B	j
         FF:75   ; 03C	u
         FF:37   ; 03D	7
         FF:38   ; 03E	8
         FF:FF   ; 03F	
         FF:FF   ; 040
         FF:2C   ; 041	,
         FF:6B   ; 042	k
         FF:69   ; 043	i
         FF:6F   ; 044	o
         FF:30   ; 045	0
         FF:39   ; 046	9
         FF:FF   ; 047	
         FF:FF   ; 048	
         FF:2E   ; 049	.
         FF:2F   ; 04A	                   NOTE: numpad  if extended
         FF:6C   ; 04B	l
         FF:3B   ; 04C	;
         FF:70   ; 04D	p
         FF:2D   ; 04E	
         FF:FF   ; 04F	
         FF:FF   ; 050	
         FF:FF   ; 051
         FF:27   ; 052	'
         FF:FF   ; 053	
         FF:5B   ; 054	[
         FF:2B   ; 055	=
         FF:FF   ; 056	
         FF:FF   ; 057	
         FF:45   ; 058	lock > capslock
         FF:FF   ; 059	r shift            NOTE: ABSORB IF EXTENDED
         FF:1B   ; 05A	enter                   NOTE: GO if extended
         FF:5D   ; 05B	]
         01:7C   ; 05C	\   (8 \)
         FF:FF   ; 05D	102 key keyboard only
         FF:FF   ; 05E	
         FF:5F   ; 05F	
         FF:FF   ; 060	
         FF:FF   ; 061	102 key keyboard only
         FF:FF   ; 062	
         FF:FF   ; 063	
         FF:FF   ; 064	
         FF:FF   ; 065	
         FF:FF   ; 066	
         FF:FF   ; 067	
         FF:FF   ; 068
         08:65   ; 069 END                 NOTE: END	   
         FF:FF   ; 06A	
         FF:0E   ; 06B	                   NOTE: LEFT ARROW
         08:62   ; 06C	                   NOTE: HOME
         FF:FF   ; 06D	
         FF:FF   ; 06E	
         FF:FF   ; 06F	
         FF:44   ; 070	                   NOTE: OVERTYPE
         FF:7F   ; 071	                   NOTE: DELETE
         FF:0B   ; 072	                   NOTE: DN ARROW
         00:7D   ; 073	5 pad SCR LK meaningless to CTOS
         FF:0F   ; 074	                   NOTE: RT ARROW
         FF:01   ; 075	                   NOTE: UP ARROW
         FF:07   ; 076	escapecancel
         FF:56   ; 077	numlock
         FF:FF   ; 078  f11
         01:2B   ; 079	numpad +
         FF:0C   ; 07A	                   NOTE: PAGE NEXT
         FF:42   ; 07B  numpad 
         FF:57   ; 07C	                   NOTE: SYSTEM
         FF:05   ; 07D	                   NOTE: PAGE PREV
         FF:5F   ; 07E  scroll lock CTOS mode
         FF:FF   ; 07F 
         FF:FF   ; 080
         FF:FF   ; 081
         FF:FF   ; 082
         FF:1C   ; 083  f7
         FF:57   ; 084  alt+print screen = sysrq on PC kbd SYSTEM key



END TABLES                          ; The preceeding string is NOT a comment.
                                    ;      It must be in the file even if no
                                    ;      translation table are included.
