; VT300.INI - MS-DOS Kermit keyboard setup for DEC VT200-300 series terminals.
; Originally contributed by Kevin Lowey, University of Saskatchewan Computing
; Services.  For use only with MS-DOS Kermit 3.10 or later.  Adapted for new
; features of version 3.10 at Columbia University.  Further modified by Kevin
; Lowey to correct some problems in the original keyboard layouts.
;
; Two different setups are provided, one for the 101-key extended PC keyboard,
; one for the 88-key original keyboard.	 This file (when used with MS-DOS
; Kermit 3.10 or later) automatically determines which kind of keyboard you
; have.	 See the comments in the file to learn the key assignments.
;
; NOTE: The key assignments made by this file comprise just one of an infinite
; number of possible arrangements.  No two people agree about how best to map
; DEC keyboard keys to IBM PC keys.  If the mappings done by this file do not
; suit your taste, feel free to make modifications.
;
; Usage: TAKE VT300.INI (or put this command in your MSKERMIT.INI file).
; If you will be emulating a VT220 or VT320 terminal on a DEC VAX computer 
; VMS 5.0 or later, and you have an 8-bit (no-parity) connection to it,
; also uncomment the following command:
;
;;; SET TERMINAL DISPLAY 8

; If you need to use the ISO Latin-1 character set in the 7-bit environment
; with the host sending Shift-In/Shift-Out (Ctrl-N/Ctrl-O) to switch between
; ASCII and special characters, uncomment the following command:
;
;;; set terminal character-set latin1 G1

; Standard VT terminal settings
;
set term tabs at 1:8

; Version test
;
if not < version 310 goto systest
echo VT300.INI requires MS-DOS Kermit Version 3.10 or later.
pop

; System check
;
:systest
if eq "\v(platform)" "IBM-PC" goto kbtest
echo VT300.INI is only for IBM PCs, PS/2s, and compatibles.
pop

; Automatic keyboard test
;
:kbtest
if equal "\v(keyboard)" "88" goto kb88
if equal "\v(keyboard)" "101" goto kb101
echo Keyboard type "\v(keyboard)" not supported by VT300.INI.
pop

:kb101
echo VT300.INI: IBM-101 Extended Keyboard Setup...
;
; ***************** IBM-101 Extended Keyboard Definitions ******************
;			    IBM KEY		 DEC KEY
; Numeric Keypad
; There are two definitions for each of the numeric keypad keys,
; one for when <NUM-LOCK> is pressed, and one when it isn't.
set key \850 \kkp0	  ; Keypad 0 (Numlock)	 Keypad 0
set key \338 \kkp0	  ; Keypad 0 (Normal)	 Keypad 0
set key \847 \kkp1	  ; Keypad 1 (Numlock)	 Keypad 1
set key \335 \kkp1	  ; Keypad 1 (Normal)	 Keypad 1
set key \848 \kkp2	  ; Keypad 2 (Numlock)	 Keypad 2
set key \336 \kkp2	  ; Keypad 2 (Normal)	 Keypad 2
set key \849 \kkp3	  ; Keypad 3 (Numlock)	 Keypad 3
set key \337 \kkp3	  ; Keypad 3 (Normal)	 Keypad 3
set key \843 \kkp4	  ; Keypad 4 (Numlock)	 Keypad 4
set key \331 \kkp4	  ; Keypad 4 (Normal)	 Keypad 4
set key \844 \kkp5	  ; Keypad 5 (Numlock)	 Keypad 5
set key \332 \kkp5	  ; Keypad 5 (Normal)	 Keypad 5
set key \845 \kkp6	  ; Keypad 6 (Numlock)	 Keypad 6
set key \333 \kkp6	  ; Keypad 6 (Normal)	 Keypad 6
set key \839 \kkp7	  ; Keypad 7 (Numlock)	 Keypad 7
set key \327 \kkp7	  ; Keypad 7 (Normal)	 Keypad 7
set key \840 \kkp8	  ; Keypad 8 (Numlock)	 Keypad 8
set key \328 \kkp8	  ; Keypad 8 (normal)	 Keypad 8
set key \841 \kkp9	  ; Keypad 9 (Numlock)	 Keypad 9
set key \329 \kkp9	  ; Keypad 9 (Normal)	 Keypad 9

set key \334  \kkpminus	  ; Keypad +		 Keypad -
set key \2382 \kkpcoma	  ; ALT Keypad +	 Keypad ,
set key \851  \kkpdot	  ; Keypad . (Numlock)	 Keypad .
set key \339  \kkpdot	  ; Keypad . (normal)	 Keypad .
set key \4365 \Kkpenter	  ; Keypad Enter	 Keypad Enter

			  ; F1			 PF1 (default Kermit)
			  ; Use GOLD.COM to make Num Lock work as F1/PF1/Gold.
set key \4399 \kPF2	  ; Keypad /		 PF2
set key \311  \kPF3	  ; Keypad *		 PF3
set key \330  \kPF4	  ; Keypad -		 PF4 Key

; F1 thru F20 keys	  IBM			 DEC
set key \1374 \kholdscrn  ; Control-F1		 F1
set key \1375 \kprtscn	  ; Control-F2		 F2
set key \1376 \khelp	  ; Control-F3		 Setup
; No Definition		  ; Control-F4		 F4

; Default mapping	  ; F1			 Gold (PF1)
; Default Mapping	  ; F2			 PF2
; Default Mapping	  ; F3			 PF3
; Default Mapping	  ; F4			 PF4
set key \319 \kbreak	  ; F5			 Break
set key \320 \Kdecf6	  ; F6			 DEC F6
set key \321 \Kdecf7	  ; F7			 DEC F7
set key \322 \KdecF8	  ; F8			 DEC F8
set key \323 \KdecF9	  ; F9			 DEC F9
set key \324 \KdecF10	  ; F10			 DEC F10
set key \389 \kdechelp	  ; F11			 DEC Help
set key \390 \kdecdo	  ; F12			 DEC Do
set key \2408 \kdecF11	  ; Alt-F1		 F11
set key \2409 \kdecF12	  ; Alt-F2		 F12
set key \2410 \kdecF13	  ; Alt-F3		 F13
set key \2411 \kdecF14	  ; Alt-F4		 F14
set key \2412 \kdechelp	  ; Alt-F5		 Help (F15)
set key \2413 \kdecdo	  ; Alt-F6		 Do (F16)
set key \2414 \kdecF17	  ; Alt-F7		 F17
set key \2415 \kdecF18	  ; Alt-F8		 F18
set key \2416 \kdecF19	  ; Alt-F9		 F19
set key \2417 \kdecF20	  ; Alt-F10		 F20

; Cursor Keypad
set key \4434 \kdecinsert ; Gray Insert		 DEC Insert Here
set key \4435 \kdecRemove ; Gray Delete		 DEC Remove
set key \4423 \kdecFind	  ; Gray Home		 DEC Find
set key \4431 \KdecSelect ; Gray End		 DEC Select
set key \4425 \KDecPrev	  ; Gray Page Up	 DEC Prev Screen
set key \4433 \KDecNext	  ; Gray Page Down	 DEC Next Screen
pop

:kb88
echo VT300.INI: IBM-88 Original Keyboard Setup...
;
; Key Definitions:
;
; The numeric keypad is mapped as follows:
;
;	 IBM Function			  VT100 Keys
;     Normal	  Shifted	    On the Numeric Keypad
;  -------------------------	  -------------------------
;  |  F1 |  F2 | SF1 | SF2 |	  | PF1 | PF2 | PF3 | PF4 |
;  |-----+-----+-----+-----|	  |-----+-----+-----+-----|
;  |  F3 |  F4 | SF3 | SF4 |	  |  7	|  8  |	 9  |  -  |
;  |-----+-----+-----+-----|	  |-----+-----+-----+-----|
;  |  F5 |  F6 | SF5 | SF6 |	  |  4	|  5  |	 6  |  ,  |
;  |-----+-----+-----+-----|	  |-----+-----+-----+-----|
;  |  F7 |  F8 | SF7 | SF8 |	  |  1	|  2  |	 3  |	  |
;  |-----------+-----|-----|	  |-----------+-----|ENTER|
;  |  F9 | F10 | SF9 | F10 |	  |	0     |	 .  |	  |
;  -------------------------	  -------------------------
;
; F9  is defined as DEC's Keypad-0 key.
; F10 is defined as DEC's Keypad-Enter key.
; SF9 is defined as DEC's Keypad-DOT key.
;
; The DEC F1 to F10 keys are mapped to the PC's Ctrl-F1 through Ctrl-F10 keys.
; The DEC F11 to F20 keys are mapped to the PC's Alt-F1 to Alt-F10 keys.
;
;  Definition		    PC key	   DEC key
set key \315 \kpf1	  ; F1		   PF1
set key \316 \kpF2	  ; F2		   PF2
set key \317 \kkp7	  ; F3		   Keypad 7
set key \318 \kkp8	  ; F4		   Keypad 8
set key \319 \kkp4	  ; F5		   Keypad 4
set key \320 \kkp5	  ; F6		   Keypad 5
set key \321 \kkp1	  ; F7		   Keypad 1
set key \322 \kkp2	  ; F8		   Keypad 2
set key \323 \kkp0	  ; F9		   Keypad 0
set key \324 \kkpenter	  ; F10		   Keypad Enter

set key \852 \kpf3	  ; Shift-F1	   PF3
set key \853 \kpf4	  ; Shift-F2	   PF4
set key \854 \kkp9	  ; Shift-F3	   Keypad 9
set key \855 \kkpminus	  ; Shift-F4	   Keypad Minus
set key \856 \kkp6	  ; Shift-F5	   Keypad 6
set key \857 \kkpcoma	  ; Shift-F6	   Keypad Comma
set key \858 \kkp3	  ; Shift-F7	   Keypad 3
set key \859 \kkpenter	  ; Shift-F8	   Keypad Enter
set key \860 \kkpdot	  ; Shift-F9	   Keypad Dot
set key \861 \kkpenter	  ; Shift-F10	   Keypad Enter (duplicate)

set key \1374 \kholdscrn  ; Control-F1	   F1
set key \1375 \kprtscn	  ; Control-F2	   F2
set key \1376 \khelp	  ; Control-F3	   Setup
; No Definition		  ; Control-F4	   F4
set key \1378 \kbreak	  ; Control-F5	   F5
set key \1379 \kdecF6	  ; Control-F6	   F6
set key \1380 \kdecF7	  ; Control-F7	   F7
set key \1381 \kdecF8	  ; Control-F8	   F8
set key \1382 \kdecF9	  ; Control-F9	   F9
set key \1383 \kdecF10	  ; Control-F10	   F10

set key \2408 \kdecF11	  ; Alt-F1	   F11
set key \2409 \kdecF12	  ; Alt-F2	   F12
set key \2410 \kdecF13	  ; Alt-F3	   F13
set key \2411 \kdecF14	  ; Alt-F4	   F14
set key \2412 \kdechelp	  ; Alt-F5	   Help (F15)
set key \2413 \kdecdo	  ; Alt-F6	   Do (F16)
set key \2414 \kdecF17	  ; Alt-F7	   F17
set key \2415 \kdecF18	  ; Alt-F8	   F18
set key \2416 \kdecF19	  ; Alt-F9	   F19
set key \2417 \kdecF20	  ; Alt-F10	   F20

; DEC cursor keypad equivalents:
set key \327  \kdecfind	  ; Home	   Find
set key \335  \kdecselect ; End		   Select
set key \329  \kdecprev	  ; PgUp	   Prev Screen
set key \337  \kdecnext	  ; PgDn	   Next Screen
set key \330  \kdechelp	  ; Keypad -	   Help
set key \334  \kdecdo	  ; Keypad +	   Do
set key \338  \kdecinsert ; Insert	   Insert Here
set key \339  \kdecremove ; Del		   Remove

; End of VT300.INI
