;
;
;     This is the data file for a PORTABLE Internal 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.
;
;CHANGE LOG:
;100192 KH added E0 to allowed state for 7C for system key
;101392 KH changes to make 'pad' keys work; removed numlock tables
;101492 reverse scrolling so that altpg down moves you further into the file
;            (just like pgdn does)
;101592 KH removed shifts from allowed states for alpha keys, and used 
;            'shifts' table for ALT E0 7A7D, the only ALT+E0 keys (scrolling)
;            therefore eliminating the ALT+E0 table and conditions
;102192 KH another attempt to get consistency: E0 7D = ikey for PG UPNEXT PG
;            and (with ALT) SCROLL UP, all of which move you toward the end; 
;            this change from the previous use of the SG1K pg up key and was 
;            made because pg xx and scroll xx have to be the same since they 
;            share a key, and scroll xx should mean the same thing as the IBUS 
;            keys by the same name. 
;110392 KH fix shift+E0 keys problem. Introduce the shift+E0 condition which 
;			 ONLY affects the extended shift keys E0 1259 (or E0 F0 1259) 
;			 generated by the firmware when the shift key is down follwed by 
;			 arrow, page, homeend, insert and delete keys. Note that these 
;			 extended shifts need to be absorbed as we don't want to see them. 
;110592 KH Hopefully the end of this Pageupdn business; put directions back 
;			 to the 1014 way. Page up moves you to the beginning, no matter 
;			 what you are doing (pagingscrolling in CTOS,PM,DOS,Windows apps
;
;051593 KH Removed {6,7} {1,2,3,4,5} case since none of the allowed states
;            would let this happen. Added {6,7} {1,2} case (using table 3) for
;            5D to change the \ | key to GO, ALT 5D to \ and SHIFT ALT 5D to 
;            |. Put ALTs in the allowed states for 5D. Changed the tables as 
;            follows:  Table 0 = 1B (GO). 'Shift table' Table 1 = 1B (GO). 
;            'ALT table' Table 2 = 01:7C (this was the original table 0 value).
;            'E0 table ' Table 3 is used for the ALT SHIFT 5D case, as 5D had 
;            no entry in this table and is not impacted by E0. So, 
;            Table 3 = 01:7D. Note that this is the only key for which ALTs 
;            and SHIFTs are both significant.     
;    ALSO:   Renamed Tables in comment from Tables 14 to Tables 03 to make 
;            this comment nonambiguous.
;	 ALSO:   Fixed the ACTIONFINISH definitions in the special keys table, 
;			 which is significant to rawmode programs.
; Keyboard name
SG1K

; Output file name
SG1KEmulTables.obj

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


;Number of forms files needed to display keyboard.
0




;  ====================================================================
;  ====================================================================
;
;                           EMULATION DATA
;
;  What follows is the data for having the SG1000 internal keyboard 
;  keyboard emulate the standard CTOS (K1)
;  keyboard.  That is given a HW state and key produce the K1 state and key(s)
;  needed 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
;  |
;  |    : Keyboard ID of a SG1000 portable
;  |    |
;  |    |    : Key up mask in hex.
;  |    |    |
;  |    |    |   :  Number of emulation tables in hex
;  |    |    |   |
;
  85   67   80   4    67  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 71 h.  For the K1
; keyboard this data is in Tables B1 or C1 in the CTOS Concepts manual.
; This table MUST have at least 19 entries and all MUST be in the order shown.

;Values > FFh represent a twobyte scanset2 key

22   ; Number of special keys.

;     SG1000 Kbd key    CTOS Function
1C   ;   a                ACTIONA for debugger
32   ;   b                ACTIONB for debugger
171  ;   <DELETE>         ACTIONDELETE for keyboard cleanup
170  ;   <INSERT>         ACTIONOVERTYPE for screen saver (blent)
14   ;   <LEFT CONTROL>   LEFT CODE 
114  ;   <RIGHT CONTROL>  RIGHT CODE
169  ;   <END>            FINISH    
16C  ;   <HOME>           ACTION 
58   ;   <LOCK>           CAPS LOCK
12   ;   <LEFT SHIFT>     LEFT SHIFT
59   ;   <RIGHT SHIFT>    RIGHT SHIFT
40   ;   <RESERVED>
40   ;   <RESERVED>
40   ;   <RESERVED>
00   ;    c               ACTIONC  
15A  ;   <GO>             GO 
00   ;   iKey not valid
29   ;   Diacritic Escape
17C  ;   <PRINT SCREEN>   SYSTEM KEY (ACTIONGO)
15A  ;   
00   ;   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. >16 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.
;for nonibus keyboards, values > number of LEDs but <= 16 will be supported
;as phantom or virtual LEDs

    99   ; CTOS LED 1  f10
    99   ; 2           f9
    99   ; 3           f8
    99   ; 4           f3 
    99   ; 5           f2
    99   ; 6           f1
    03   ; 7           LOCK
    01   ; 8           Overtype SHARES SCROLL LOCK
    99   ; 9           Comm1
    99   ; 10          Comm2
    99   ; 11          Comm3
    99   ; 12          Comm4
    99   ; 13          Comm5
    02   ; 14          'Numlock'
    99   ; 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
9    ;   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 3   <LEFT CODE>
    94          3       F      F      0     F ;  Chord 4   <RIGHT CODE>
    58          4       T      T      2     F ;  Chord 5   <LOCK>
    11          5       F      F      0     F ;  Chord 6   <L ALT> (K1 NOP)
    91          6       F      F      0     F ;  Chord 7   <R ALT> (K1 NOP)
    77          7       T      T      1     F ;  Chord 8   <NUMLOCK> 
    E0          8       F      F      0     F ;  Chord 9   <E0 special>

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
        { 6,7 }          ; 007  f12      BOUND    alt+f12 = COPY    
        { 0 }            ; 008    
        { 0 }            ; 009 f10
        { 0 }            ; 00A f8
        { 0 }            ; 00B f6
        { 0 }            ; 00C f4
        { 6,7 }          ; 00D    Tab   ALT+Tab = NEXT
       { 1,2 }           ; 00E      
        { 0 }            ; 00F    
        { 0 }            ; 010
        { 6,7,9 }        ; 011    ALT
        { 1,2,9 }        ; 012    Left Shift   (E0 12 is absorbed)
        { 0 }            ; 013
        { 3,4,9 }        ; 014    CODE
        { 0 }            ; 015    q  Q
       { 1,2 }           ; 016    1  
        { 0 }            ; 017    
        { 0 }            ; 018      
        { 0 }            ; 019    
        { 0 }            ; 01A    z  Z
        { 0 }            ; 01B    s  S
        { 0 }            ; 01C    a  A
        { 0 }            ; 01D    w  W
       { 1,2 }           ; 01E    2  @
        { 0 }            ; 01F   
        { 0 }            ; 020
        { 0 }            ; 021    c  C
        { 0 }            ; 022    x  X
        { 0 }            ; 023    d  D
        { 0 }            ; 024    e  E
       { 1,2 }           ; 025    4  $
       { 1,2 }           ; 026    3  
        { 0 }            ; 027    
        { 0 }            ; 028
        { 0 }            ; 029    space
        { 0 }            ; 02A    v  V
        { 0 }            ; 02B    f  F
        { 0 }            ; 02C    t  T
        { 0 }            ; 02D    r  R
       { 1,2 }           ; 02E    5  
        { 0 }            ; 02F    
        { 0 }            ; 030
        { 0 }            ; 031    n  N
        { 0 }            ; 032    b  B
        { 0 }            ; 033    h  H
        { 0 }            ; 034    g  G
        { 0 }            ; 035    y  Y
       { 1,2 }           ; 036    6  ^
        { 0 }            ; 037    
        { 0 }            ; 038
        { 0 }            ; 039
        { 0 }            ; 03A    m  M
        { 0 }            ; 03B    j  J
        { 0 }            ; 03C    u  U
       { 1,2 }           ; 03D    7  
       { 1,2 }           ; 03E    8  *
        { 0 }            ; 03F    
        { 0 }            ; 040
       { 1,2 }           ; 041    ,  <
        { 0 }            ; 042    k  K
        { 0 }            ; 043    i  I
        { 0 }            ; 044    o  O
       { 1,2 }           ; 045    0  )
       { 1,2 }           ; 046    9  (
        { 0 }            ; 047    
        { 0 }            ; 048
       { 1,2 }           ; 049    .  >
       { 1,2 }           ; 04A      ?   E0 4A = pad  but CTOS doesn't care
        { 0 }            ; 04B    l  L
       { 1,2 }           ; 04C    ;  :
        { 0 }            ; 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,9 }          ; 059    R Shift   E0 59 = Extended shift, absorb
       { 6,7 }           ; 05A    Return    ALTEnter is GO,So is ALT E0 5A
       { 1,2 }           ; 05B    ]  }
        { 0 }            ; 05C
       { 1,2,6,7 }       ; 05D    \  |  593 KH LET 5D = GO, USE ALT FOR CHARS
        { 0 }            ; 05E    
        { 0 }            ; 05F    
        { 0 }            ; 060    
        { 0 }            ; 061    
        { 0 }            ; 062    
        { 0 }            ; 063    
        { 0 }            ; 064    
        { 0 }            ; 065    
        { 0 }            ; 066    Backspace
        { 0 }            ; 067    
        { 0 }            ; 068
        { 9 }            ; 069    + E0 = FINISH  (END)     69 = 1 pad   
        { 0 }            ; 06A    
        { 9 }            ; 06B    4 pad      + E0 = left arrow
        { 9 }            ; 06C    7 pad      + E0 = ACTION  (HOME)
        { 0 }            ; 06D    
        { 0 }            ; 06E    
        { 0 }            ; 06F    
        { 9 }            ; 070    0 pad      + E0 =  overtype (insert)
        { 9 }            ; 071    . pad      + E0 =  delete
        { 9 }            ; 072    2 pad      + E0 =  down arrow
        { 0 }            ; 073    5 pad 
        { 9 }            ; 074    6 pad      + E0 =  right arrow
        { 9 }            ; 075    8 pad      + E0 =  up arrow
        { 0 }            ; 076    escapecancel
        { 8 }            ; 077    numlock
        { 6,7 }          ; 078    f11   
        { 0 }            ; 079    numpad +
        { 6,7,9 }        ; 07A    3 pad      + E0 = PgDn   +ALT E0 = scrll dn
        { 0 }            ; 07B    
        { 9 }            ; 07C    * pad      + E0 = System key
        { 6,7,9 }        ; 07D    9 pad      + E0 = PgUp   +ALT E0 = scrll up
        { 0 }            ; 07E    
        { 0 }            ; 07F    
        { 0 }            ; 080    
        { 0 }            ; 081    
        { 0 }            ; 082    
        { 0 }            ; 083    f7 
        { 0 }            ; 084    ALT SYSRQ

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

8  ; 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;
    2   { 6,7  }                       ; alt (for f1,f11,f12,tab,enter)
    3   { 6,7  }  {1,2}                ; alt and shifts (for 5D to produce \|)
    3   {  9  }  {      }  {      }    ; E0 only
    1   {  9  }  {6,7}  {   }          ; E0 and ALT only  share shift table
    2   {  9  }  {1,2}  {   }          ; E0 and SHIFTS only  share ALT table
    3   {  9  }  {3,4,5,8 }            ; E0 and anything else
;
; NOTE ONLY ALT + PG UPDN have ALT + E0 case and since shifts aren't allowed 
; for 7D and 7A they can share the shift table  saves a whole table for just 
; 2 keys
;
; ALSO: ONLY the SHIFT keys (12 and 59) have a SHIFT + E0 case allowed. THESE
; must be ABSORBED. Since ALT is of no significance, use the ALT table with 
; FF:FF for 12 and 59. Again, this saves a whole table for just 2 keys
;
;515 KH Removed:
;    2   { 6,7  }  {1,2,3,4,5}          ; alt and (shiftscode)(for f1)
;                                      ; to facilitate shift+help or code+help
;                                      ; to facilitate shift+help or code+help
;And added:
;   3   { 6,7  }  {1,2}                ; alt and shifts (for 5D to produce \|)
;
;

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 0: 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:03   ; 007 f12 BOUND
         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:53   ; 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	]
         FF:FF   ; 05C	102 key keyboard only
         FF:1B   ; 05D	GO                         (WAS 01:7C) \   (K1 8 \)
         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
         FF:60   ; 069	1 pad
         FF:FF   ; 06A	
         FF:7B   ; 06B	4 pad   
         FF:5C   ; 06C	7 pad
         FF:FF   ; 06D	
         FF:FF   ; 06E	
         FF:FF   ; 06F	
         FF:4A   ; 070	pad 0
         FF:4B   ; 071	pad .       
         FF:46   ; 072	pad 2  
         FF:7D   ; 073	pad 5
         FF:41   ; 074	pad 6
         FF:7C   ; 075	pad 8
         FF:07   ; 076	escapecancel
         FF:56   ; 077	numlock
         FF:02   ; 078  f11      MARK
         01:2B   ; 079	pad +
         FF:47   ; 07A	pad 3  
         FF:42   ; 07B  pad 
         01:38   ; 07C	pad *
         FF:21   ; 07D	pad 9
         FF:44   ; 07E  scroll lock>OVERTYPE (INSERT)
         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 1: for case where shift keys held down.
;

         FF:FF   ; 000
         FF:FF   ; 001 f9
         FF:FF   ; 002
         FF:FF   ; 003 f5
         FF:FF   ; 004 f3
         FF:FF   ; 005 f1
         FF:FF   ; 006 f2
         FF:FF   ; 007 f12     BOUND
         FF:FF   ; 008	
         FF:FF   ; 009 f10
         FF:FF   ; 00A f8
         FF:FF   ; 00B f6
         FF:FF   ; 00C f4
         FF:FF   ; 00D	tab
         FF:5E   ; 00E	                           *
         FF:FF   ; 00F	
         FF:FF   ; 010
         FF:FF   ; 011	l alt
         FF:48   ; 012	l shift                     *
         FF:FF   ; 013
         FF:FF   ; 014	l ctrl > l code
         FF:FF   ; 015	q
         FF:31   ; 016	                           *
         FF:FF   ; 017	
         FF:FF   ; 018
         FF:FF   ; 019	
         FF:FF   ; 01A	z
         FF:FF   ; 01B	s
         FF:FF   ; 01C	a
         FF:FF   ; 01D	w
         FF:32   ; 01E	@                           *
         FF:FF   ; 01F	
         FF:FF   ; 020
         FF:FF   ; 021	c
         FF:FF   ; 022	x
         FF:FF   ; 023	d
         FF:FF   ; 024	e
         FF:34   ; 025	$                           *
         FF:33   ; 026	                           *
         FF:FF   ; 027	
         FF:FF   ; 028
         FF:FF   ; 029	space
         FF:FF   ; 02A	v
         FF:FF   ; 02B	f
         FF:FF   ; 02C	t
         FF:FF   ; 02D	r
         FF:35   ; 02E	                           *
         FF:FF   ; 02F	
         FF:FF   ; 030	
         FF:FF   ; 031	n
         FF:FF   ; 032	b
         FF:FF   ; 033	h
         FF:FF   ; 034	g
         FF:FF   ; 035	y
         00:5E   ; 036	^                           *
         FF:FF   ; 037	
         FF:FF   ; 038
         FF:FF   ; 039	
         FF:FF   ; 03A	m
         FF:FF   ; 03B	j
         FF:FF   ; 03C	u
         FF:37   ; 03D	                           *
         FF:38   ; 03E	*                           *
         FF:FF   ; 03F	
         FF:FF   ; 040
         FF:5B   ; 041	<                           *
         FF:FF   ; 042	k
         FF:FF   ; 043	i
         FF:FF   ; 044	o
         FF:30   ; 045	)                           *
         FF:39   ; 046	(                           *
         FF:FF   ; 047	
         FF:FF   ; 048	
         FF:5D   ; 049	>                           *
         FF:2F   ; 04A	?                           *
         FF:FF   ; 04B	l
         FF:3B   ; 04C	:                           *
         FF:FF   ; 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:FF   ; 05A	return
         FF:7D   ; 05B	}                           *
         FF:FF   ; 05C	
         FF:1B   ; 05D	GO                 |        *   (KH   WAS | FF:5C)
         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:FF   ; 066  BACKSPACE	
         FF:FF   ; 067	
         FF:FF   ; 068
         FF:FF   ; 069	lc 1 pad
         FF:FF   ; 06A	
         FF:FF   ; 06B	lc 4 pad
         FF:FF   ; 06C	lc 7 pad
         FF:FF   ; 06D	
         FF:FF   ; 06E	
         FF:FF   ; 06F	
         FF:FF   ; 070	lc 0 pad
         FF:FF   ; 071	lc . pad
         FF:FF   ; 072	lc 2 pad    
         FF:FF   ; 073	lc 5 pad 
         FF:FF   ; 074	lc 6 pad
         FF:FF   ; 075  lc 8 pad   
         FF:FF   ; 076	escapecancel
         FF:FF   ; 077	numlock
         FF:FF   ; 078  f11
         FF:FF   ; 079	numpad +
         FF:11   ; 07A	lc 3 pad     ALT+Pg dn  **** ALT + E0 7A = scrl dn
         FF:FF   ; 07B  numpad 
         FF:FF   ; 07C	numpad *
         FF:13   ; 07D	lc 9 pad     ALT+Pg up  **** ALT + E0 7D = scrl up
         FF:FF   ; 07E  scroll lock CTOS mode
         FF:FF   ; 07F 
         FF:FF   ; 080
         FF:FF   ; 081
         FF:FF   ; 082
         FF:FF   ; 083  f7
         FF:FF   ; 084  alt+print screen = sysrq on PC kbd SYSTEM key

;   Table 2: for case where ALT keys held down.


         FF:FF   ; 000
         FF:FF   ; 001 f9
         FF:FF   ; 002
         FF:FF   ; 003 f5
         FF:FF   ; 004 f3
         FF:00   ; 005 f1  NOTE ALT+F1 = HELP  (K1 ikey 00)   *
         FF:FF   ; 006 f2
         FF:14   ; 007 f12      ALT+f12 = COPY                *
         FF:FF   ; 008	
         FF:FF   ; 009 f10
         FF:FF   ; 00A f8
         FF:FF   ; 00B f6
         FF:FF   ; 00C f4
         FF:0D   ; 00D	ALT+TAB= NEXT                         *
         FF:FF   ; 00E	l quote  (1 )
         FF:FF   ; 00F	
         FF:FF   ; 010
         FF:53   ; 011	l alt                                 *
         FF:FF   ; 012	l shift                  E0 + 12      *   ABSORB
         FF:FF   ; 013
         FF:FF   ; 014	l ctrl > l code
         FF:FF   ; 015	q
         FF:FF   ; 016	1
         FF:FF   ; 017	
         FF:FF   ; 018
         FF:FF   ; 019	
         FF:FF   ; 01A	z
         FF:FF   ; 01B	s
         FF:FF   ; 01C	a
         FF:FF   ; 01D	w
         FF:FF   ; 01E	2
         FF:FF   ; 01F	
         FF:FF   ; 020
         FF:FF   ; 021	c
         FF:FF   ; 022	x
         FF:FF   ; 023	d
         FF:FF   ; 024	e
         FF:FF   ; 025	4
         FF:FF   ; 026	3
         FF:FF   ; 027	
         FF:FF   ; 028
         FF:FF   ; 029	space
         FF:FF   ; 02A	v
         FF:FF   ; 02B	f
         FF:FF   ; 02C	t
         FF:FF   ; 02D	r
         FF:FF   ; 02E	5
         FF:FF   ; 02F	
         FF:FF   ; 030	
         FF:FF   ; 031	n
         FF:FF   ; 032	b
         FF:FF   ; 033	h
         FF:FF   ; 034	g
         FF:FF   ; 035	y
         FF:FF   ; 036	6
         FF:FF   ; 037	
         FF:FF   ; 038
         FF:FF   ; 039	
         FF:FF   ; 03A	m
         FF:FF   ; 03B	j
         FF:FF   ; 03C	u
         FF:FF   ; 03D	7
         FF:FF   ; 03E	8
         FF:FF   ; 03F	
         FF:FF   ; 040
         FF:FF   ; 041	,
         FF:FF   ; 042	k
         FF:FF   ; 043	i
         FF:FF   ; 044	o
         FF:FF   ; 045	0
         FF:FF   ; 046	9
         FF:FF   ; 047	
         FF:FF   ; 048	
         FF:FF   ; 049	.
         FF:FF   ; 04A	
         FF:FF   ; 04B	l
         FF:FF   ; 04C	;
         FF:FF   ; 04D	p
         FF:FF   ; 04E	
         FF:FF   ; 04F	
         FF:FF   ; 050	
         FF:FF   ; 051
         FF:FF   ; 052	'
         FF:FF   ; 053	
         FF:FF   ; 054	[
         FF:FF   ; 055	=
         FF:FF   ; 056	
         FF:FF   ; 057	
         FF:FF   ; 058	lock > capslock
         FF:FF   ; 059	r shift                 E0 + 59       *  ABSORB
         FF:1B   ; 05A	ALTEnter is GO                       *
         FF:FF   ; 05B	]
         FF:FF   ; 05C	102 key keyboard only
         01:7C   ; 05D	\   (8 \)                             *  ADDED 51593
         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:FF   ; 066	
         FF:FF   ; 067	
         FF:FF   ; 068
         FF:FF   ; 069	END         lc 1 pad
         FF:FF   ; 06A	
         FF:FF   ; 06B	l arrow     lc 4 pad
         FF:FF   ; 06C	HOME        lc 7 pad
         FF:FF   ; 06D	
         FF:FF   ; 06E	
         FF:FF   ; 06F	
         FF:FF   ; 070	INSERT      lc 0 pad
         FF:FF   ; 071	DEL         lc . pad
         FF:FF   ; 072	
         FF:FF   ; 073	5 pad 
         FF:FF   ; 074	RT ARR      lc 6 pad
         FF:FF   ; 075	
         FF:FF   ; 076	escapecancel
         FF:FF   ; 077	numlock
         FF:12   ; 078  f11 ALT+f11 = MOVE                     *
         FF:FF   ; 079	numpad +
         FF:47   ; 07A	3 pad                                  *
         FF:FF   ; 07B  numpad 
         FF:FF   ; 07C	numpad *
         FF:21   ; 07D	9 pad                                  *
         FF:FF   ; 07E  scroll lock CTOS mode
         FF:FF   ; 07F 
         FF:FF   ; 080
         FF:FF   ; 081
         FF:FF   ; 082
         FF:FF   ; 083  f7
         FF:57   ; 084  alt+print screen = sysrq on PC kbd SYSTEM key

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

         FF:FF   ; 000
         FF:FF   ; 001 f9
         FF:FF   ; 002
         FF:FF   ; 003 f5
         FF:FF   ; 004 f3
         FF:FF   ; 005 f1
         FF:FF   ; 006 f2
         FF:FF   ; 007 f12
         FF:FF   ; 008	
         FF:FF   ; 009 f10
         FF:FF   ; 00A f8
         FF:FF   ; 00B f6
         FF:FF   ; 00C f4
         FF:FF   ; 00D	tab
         FF:FF   ; 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:FF   ; 015	q
         FF:FF   ; 016	1
         FF:FF   ; 017	
         FF:FF   ; 018
         FF:FF   ; 019	
         FF:FF   ; 01A	z
         FF:FF   ; 01B	s
         FF:FF   ; 01C	a
         FF:FF   ; 01D	w
         FF:FF   ; 01E	2
         FF:FF   ; 01F	
         FF:FF   ; 020
         FF:FF   ; 021	c
         FF:FF   ; 022	x
         FF:FF   ; 023	d
         FF:FF   ; 024	e
         FF:FF   ; 025	4
         FF:FF   ; 026	3
         FF:FF   ; 027	
         FF:FF   ; 028
         FF:FF   ; 029	space
         FF:FF   ; 02A	v
         FF:FF   ; 02B	f
         FF:FF   ; 02C	t
         FF:FF   ; 02D	r
         FF:FF   ; 02E	5
         FF:FF   ; 02F	
         FF:FF   ; 030	
         FF:FF   ; 031	n
         FF:FF   ; 032	b
         FF:FF   ; 033	h
         FF:FF   ; 034	g
         FF:FF   ; 035	y
         FF:FF   ; 036	6
         FF:FF   ; 037	
         FF:FF   ; 038
         FF:FF   ; 039	
         FF:FF   ; 03A	m
         FF:FF   ; 03B	j
         FF:FF   ; 03C	u
         FF:FF   ; 03D	7
         FF:FF   ; 03E	8
         FF:FF   ; 03F	
         FF:FF   ; 040
         FF:FF   ; 041	,
         FF:FF   ; 042	k
         FF:FF   ; 043	i
         FF:FF   ; 044	o
         FF:FF   ; 045	0
         FF:FF   ; 046	9
         FF:FF   ; 047	
         FF:FF   ; 048	
         FF:FF   ; 049	.
         FF:FF   ; 04A	                   NOTE: numpad  if extended
         FF:FF   ; 04B	l
         FF:FF   ; 04C	;
         FF:FF   ; 04D	p
         FF:FF   ; 04E	
         FF:FF   ; 04F	
         FF:FF   ; 050	
         FF:FF   ; 051
         FF:FF   ; 052	'
         FF:FF   ; 053	
         FF:FF   ; 054	[
         FF:FF   ; 055	=
         FF:FF   ; 056	
         FF:FF   ; 057	
         FF:FF   ; 058	lock > capslock
         FF:FF   ; 059	r shift            NOTE: ABSORB IF EXTENDED     *
         FF:FF   ; 05A	enter                                        
         FF:FF   ; 05B	]
         FF:FF   ; 05C	102 key keyboard only
         01:5C   ; 05D	|        SHIFT+ALT+ \|   ADDED 51593          *
         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:04   ; 069    FINISH  FF:04    NOTE: END	        *
         FF:FF   ; 06A	
         FF:0E   ; 06B	                   NOTE: LEFT ARROW     *
         FF:43   ; 06C	  ACTION           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       *
         FF:FF   ; 073	5 pad                            
         FF:0F   ; 074	                   NOTE: RT ARROW       * 
         FF:01   ; 075	                   NOTE: UP ARROW       *
         FF:FF   ; 076	escapecancel
         FF:FF   ; 077	numlock
         FF:FF   ; 078  f11
         FF:FF   ; 079	numpad +
         FF:0C   ; 07A	                NOTE: PG DN  NEXT PAGE *
         FF:FF   ; 07B  numpad 
         FF:57   ; 07C	                NOTE: SYSTEM            *
         FF:05   ; 07D	                NOTE: PG UP  PREV PAGE *
         FF:FF   ; 07E  
         FF:FF   ; 07F 
         FF:FF   ; 080
         FF:FF   ; 081
         FF:FF   ; 082
         FF:FF   ; 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
                                    ;      emulation tables are included.
                    
START HOT KEYS TABLE
                                    
   0   { 0 } { 0 } { 0 } ; 000
   0   { 0 } { 0 } { 0 } ; 001 f9
   0   { 0 } { 0 } { 0 } ; 002 FAKE GO KEY
   0   { 0 } { 0 } { 0 } ; 003 f5
   0   { 0 } { 0 } { 0 } ; 004 f3
   0   { 0 } { 0 } { 0 } ; 005 f1
   0   { 0 } { 0 } { 0 } ; 006 f2
   0   { 0 } { 0 } { 0 } ; 007 f12 BOUND
   0   { 0 } { 0 } { 0 } ; 008	
   0   { 0 } { 0 } { 0 } ; 009 f10
   0   { 0 } { 0 } { 0 } ; 00A f8
   0   { 0 } { 0 } { 0 } ; 00B f6
   0   { 0 } { 0 } { 0 } ; 00C f4
   0   { 0 } { 0 } { 0 } ; 00D	tab
   0   { 0 } { 0 } { 0 } ; 00E	l quote  (1 )
   0   { 0 } { 0 } { 0 } ; 00F	
   0   { 0 } { 0 } { 0 } ; 010
   0   { 0 } { 0 } { 0 } ; 011	l alt
   0   { 0 } { 0 } { 0 } ; 012	l shift 
   0   { 0 } { 0 } { 0 } ; 013
   0   { 0 } { 0 } { 0 } ; 014	l ctrl > l code
   0   { 0 } { 0 } { 0 } ; 015	q
   0   { 0 } { 0 } { 0 } ; 016	1
   0   { 0 } { 0 } { 0 } ; 017	
   0   { 0 } { 0 } { 0 } ; 018
   0   { 0 } { 0 } { 0 } ; 019	
   0   { 0 } { 0 } { 0 } ; 01A	z
   0   { 0 } { 0 } { 0 } ; 01B	s
   0   { 0 } { 0 } { 0 } ; 01C	a
   0   { 0 } { 0 } { 0 } ; 01D	w
   0   { 0 } { 0 } { 0 } ; 01E	2
   0   { 0 } { 0 } { 0 } ; 01F	
   0   { 0 } { 0 } { 0 } ; 020
   0   { 0 } { 0 } { 0 } ; 021	c
   0   { 0 } { 0 } { 0 } ; 022	x
   0   { 0 } { 0 } { 0 } ; 023	d
   0   { 0 } { 0 } { 0 } ; 024	e
   0   { 0 } { 0 } { 0 } ; 025	4
   0   { 0 } { 0 } { 0 } ; 026	3
   0   { 0 } { 0 } { 0 } ; 027	
   0   { 0 } { 0 } { 0 } ; 028
   0   { 0 } { 0 } { 0 } ; 029	space
   0   { 0 } { 0 } { 0 } ; 02A	v
   0   { 0 } { 0 } { 0 } ; 02B	f
   0   { 0 } { 0 } { 0 } ; 02C	t
   0   { 0 } { 0 } { 0 } ; 02D	r
   0   { 0 } { 0 } { 0 } ; 02E	5
   0   { 0 } { 0 } { 0 } ; 02F	
   0   { 0 } { 0 } { 0 } ; 030	
   0   { 0 } { 0 } { 0 } ; 031	n
   0   { 0 } { 0 } { 0 } ; 032	b
   0   { 0 } { 0 } { 0 } ; 033	h
   0   { 0 } { 0 } { 0 } ; 034	g
   0   { 0 } { 0 } { 0 } ; 035	y
   0   { 0 } { 0 } { 0 } ; 036	6
   0   { 0 } { 0 } { 0 } ; 037	
   0   { 0 } { 0 } { 0 } ; 038
   0   { 0 } { 0 } { 0 } ; 039	
   0   { 0 } { 0 } { 0 } ; 03A	m
   0   { 0 } { 0 } { 0 } ; 03B	j
   0   { 0 } { 0 } { 0 } ; 03C	u
   0   { 0 } { 0 } { 0 } ; 03D	7
   0   { 0 } { 0 } { 0 } ; 03E	8
   0   { 0 } { 0 } { 0 } ; 03F	
   0   { 0 } { 0 } { 0 } ; 040
   0   { 0 } { 0 } { 0 } ; 041	,
   0   { 0 } { 0 } { 0 } ; 042	k
   0   { 0 } { 0 } { 0 } ; 043	i
   0   { 0 } { 0 } { 0 } ; 044	o
   0   { 0 } { 0 } { 0 } ; 045	0
   0   { 0 } { 0 } { 0 } ; 046	9
   0   { 0 } { 0 } { 0 } ; 047	
   0   { 0 } { 0 } { 0 } ; 048	
   0   { 0 } { 0 } { 0 } ; 049	.
   0   { 0 } { 0 } { 0 } ; 04A	
   0   { 0 } { 0 } { 0 } ; 04B	l
   0   { 0 } { 0 } { 0 } ; 04C	;
   0   { 0 } { 0 } { 0 } ; 04D	p
   0   { 0 } { 0 } { 0 } ; 04E	
   0   { 0 } { 0 } { 0 } ; 04F	
   0   { 0 } { 0 } { 0 } ; 050	
   0   { 0 } { 0 } { 0 } ; 051
   0   { 0 } { 0 } { 0 } ; 052	'
   0   { 0 } { 0 } { 0 } ; 053	
   0   { 0 } { 0 } { 0 } ; 054	[
   0   { 0 } { 0 } { 0 } ; 055	=
   0   { 0 } { 0 } { 0 } ; 056	
   0   { 0 } { 0 } { 0 } ; 057	
   0   { 0 } { 0 } { 0 } ; 058	lock > capslock
   0   { 0 } { 0 } { 0 } ; 059	r shift
   0   { 0 } { 0 } { 0 } ; 05A	return
   0   { 0 } { 0 } { 0 } ; 05B	]
   0   { 0 } { 0 } { 0 } ; 05C	102 key keyboard only
   0   { 0 } { 0 } { 0 } ; 05D	\   (8 \)
   0   { 0 } { 0 } { 0 } ; 05E	
   0   { 0 } { 0 } { 0 } ; 05F	borrowed for pause
   0   { 0 } { 0 } { 0 } ; 060	
   0   { 0 } { 0 } { 0 } ; 061	102 key keyboard only
   0   { 0 } { 0 } { 0 } ; 062	
   0   { 0 } { 0 } { 0 } ; 063	
   0   { 0 } { 0 } { 0 } ; 064	
   0   { 0 } { 0 } { 0 } ; 065	
   0   { 0 } { 0 } { 0 } ; 066	
   0   { 0 } { 0 } { 0 } ; 067	
   0   { 0 } { 0 } { 0 } ; 068
   0   { 0 } { 0 } { 0 } ; 069	END         FINISH
   0   { 0 } { 0 } { 0 } ; 06A	
   0   { 0 } { 0 } { 0 } ; 06B	l arrow    
   0   { 0 } { 0 } { 0 } ; 06C	HOME        ACTION
   0   { 0 } { 0 } { 0 } ; 06D	
   0   { 0 } { 0 } { 0 } ; 06E	
   0   { 0 } { 0 } { 0 } ; 06F	
   0   { 0 } { 0 } { 0 } ; 070	INSERT      
   0   { 0 } { 0 } { 0 } ; 071	DEL         
   0   { 0 } { 0 } { 0 } ; 072	DOWN ARR    
   0   { 0 } { 0 } { 0 } ; 073	(only get 73 with numlock on)
   0   { 0 } { 0 } { 0 } ; 074	RT ARR      
   0   { 0 } { 0 } { 0 } ; 075	UP ARR     
   0   { 0 } { 0 } { 0 } ; 076	escapecancel
   0   { 0 } { 0 } { 0 } ; 077	numlock
   0   { 0 } { 0 } { 0 } ; 078  f11      MARK
   0   { 0 } { 0 } { 0 } ; 079	numpad +
   0   { 0 } { 0 } { 0 } ; 07A	PG DN       lc 3 pad
   0   { 0 } { 0 } { 0 } ; 07B  numpad 
   0   { 0 } { 0 } { 0 } ; 07C	numpad *
   0   { 0 } { 0 } { 0 } ; 07D	PG UP       lc 9 pad
   0   { 0 } { 0 } { 0 } ; 07E  scroll lock>OVERTYPE (INSERT)
   0   { 0 } { 0 } { 0 } ; 07F 
   0   { 0 } { 0 } { 0 } ; 080
   0   { 0 } { 0 } { 0 } ; 081
   0   { 0 } { 0 } { 0 } ; 082
   0   { 0 } { 0 } { 0 } ; 083  f7
   0   { 0 } { 0 } { 0 } ; 084  alt+print screen = sysrq on PC kbd SYSTEM key

END HOT KEYS TABLE
                                    
