This document contains 3 sections: I. Procedure for mapping function keys under LWPD 4.1 using decudk method in TNVT220 II. Procedure for mapping function keys under LWPD 4.1 using decudk method in Host Presenter III. Procedure for mapping function keys under LWPD 4.1 in ANSI emulation in TNVT220 Section I. PROCEDURE FOR MAPPING FUNCTION KEYS UNDER LWPD 4.1 USING DECUDK METHOD ---------------------------------------------------------------------- *** TNVT220 *** Contents: 1. Introduction 2. modified EXTMAP.TXT file 3. diff summary of original EXTMAP.TXT and the modified version 4. sample .decudk file ---------------------------------------------------------------------- 1. Introduction To assign arbitrary character or escape sequences to function keys in TNVT220 in VT220 emulation, implement the DECUDK method: a. reassign PC Function keys to DEC Programmable Shift-Function keys in EXTMAP.TXT file (assuming the extended keyboard is being used) b. create .decudk file and define character or escape sequences to be assigned to the DEC Programmable keys In the example below I assigned: PC keys F1 - F10 to DEC keys Shift-F11 - Shift-F20 PgUp (Numeric) to Shift-F6 PgDown (Numeric) to Shift-F7 Home (Numeric) to Shift-F8 End (Numeric) to Shift-F9 Insert (Numeric) to Shift-F10 You may copy this file into C:\NET\HSTACC directory as is, or use diff summary to make modifications to the existing EXTMAP.TXT. It is *ESSENTIAL* that you save the original file first to a safe location in case an error occurs. Then compile the EXTMAP.TXT file with the KEY220 utility: C:\NET\HSTACC> key220 extmap.txt extmap.bin Before executing that command, also save the existing file EXTMAP.BIN. Next, create the .decudk file in the home account of the person who will be using remapped keyboard (or in a central location if all users are to be affected). When creating .decudk file, please note that ^[ means "Escape" key as quoted literally using vi, *NOT* two separate characters. Enter quoted characters through opening a file with vi, pressing "i" for "insert mode" then pressing "Ctrl-v" for "quote-next-character-literally" then pressing "Esc" key. Enter character sequences to be assigned using HEX notation between "/" and second "^[" on each line in the .decudk file. To activate the function keys, "cat" the .decudk file to the environment. You can also do it at the command prompt: $ cat .decudk or at the login time by placing the same command at the end of user's .profile (if login shell is sh, ksh, bash or zsh) or in .login if user's login shell is csh, tcsh or other csh-derivative. ---------------------------------------------------------------------- 2. modified EXTMAP.TXT # ---- cut here -------- # # Copyright (c) 1992 Novell, Inc. All Rights Reserved. # # THIS WORK IS SUBJECT TO U.S. AND INTERNATIONAL COPYRIGHT LAWS # AND TREATIES. NO PART OF THIS WORK MAY BE USED, PRACTICED, # PERFORMED COPIED, DISTRIBUTED, REVISED, MODIFIED, TRANSLATED, # ABRIDGED, CONDENSED, EXPANDED, COLLECTED, COMPILED, LINKED, # RECAST, TRANSFORMED OR ADAPTED WITHOUT THE PRIOR WRITTEN CONSENT # OF NOVELL, INC. ANY USE OR EXPLOITATION OF THIS WORK WITHOUT # AUTHORIZATION COULD SUBJECT THE PERPETRATOR TO CRIMINAL AND CIVIL # LIABILITY. # # VT220 Function Keys Map File - EXTMAP.TXT # This file is for the PCs with an enhanced 101/102 keys keyboard. # The enhanced PC keyboard has keys f11 and f12, and the functions keys # are on top. This file maps VT220 function keys to the PC keys as # closely as possible. # Line format: # VT220 Function Key = PC Key Sequence [, PC Key Sequence] ; # Defining VT220 Top-Row Function Keys DOSGate = Alt d; # Escape to DOS PrintScreen = Alt p; # Print Screen Set-up = Alt s; # Set-Up NextSession = Alt n; # Switch to Next TNVT220 Session TNVTGate = Alt t; # Escape to TNVT220 command proc Hold Screen = NULL; Break = NULL; Ctrl Break = NULL; Esc = Esc; F6 = Alt 6; F7 = Alt 7; F8 = Alt 8; F9 = Alt 9; F10 = Alt 0; F11 = Alt F1; F12 = Alt F2; F13 = Alt F3; F14 = Alt F4; F15 = Alt F5; F16 = Alt F6; F17 = Alt F7; F18 = Alt F8; F19 = Alt F9; F20 = Alt F10; Shift F6 = PgUp; Shift F7 = PgDn; Shift F8 = Home; Shift F9 = End; Shift F10 = Ins; Shift F11 = F1; Shift F12 = F2; Shift F13 = F3; Shift F14 = F4; Shift F15 = F5; Shift F16 = F6; Shift F17 = F7; Shift F18 = F8; Shift F19 = F9; Shift F20 = F10; # Auxiliary Keypad keys PF1 = Alt 1; PF2 = Alt 2; PF3 = Alt 3; PF4 = Alt 4; Aux 0 = Num 0; Aux 1 = Num 1; Aux 2 = Num 2; Aux 3 = Num 3; Aux 4 = Num 4; Aux 5 = Num 5; Aux 6 = Num 6; Aux 7 = Num 7; Aux 8 = Num 8; Aux 9 = Num 9; Aux Period = Num Period; Divide = Num Divide; # Not a VT220 Auxillary keypad key Multiply = Num Multiply; # Not a VT220 Auxillary keypad key Plus = Num Plus; # Not a VT220 Auxillary keypad key Aux Minus = Num Minus; Enter = Num Enter; Aux Comma = NULL; # Set to NULL for 4.1 release # Main Keypad keys Delete = Del; # Editing keypad keys Find = Insert; InsertHere = EditHome; Remove = PageUp; Select = Delete; PrevScreen = EditEnd; NextScreen = PageDown; Up Arrow = EditUp Arrow, Up Arrow; Down Arrow = EditDown Arrow, Down Arrow; Left Arrow = EditLeft Arrow, Left Arrow; Right Arrow = EditRight Arrow, Right Arrow; # Miscellaneous Defines Home = NULL; # if defined, generates Esc[H Vi-LineHome = NULL; Vi-LineEnd = NULL; Vi-ScreenHome = Ctrl Home; Vi-ScreenEnd = Ctrl End; Vi-Middle = Center; Vi-PgUp = NULL; Vi-PgDn = NULL; Vi-FileHome = Ctrl PgUp; Vi-FileEnd = Ctrl PgDn; Vi-Ins = NULL; # ---- cut here ---- ---------------------------------------------------------------------- 3. diff summary of the modified EXTMAP.TXT and the original EXTMAP.TXT 39,43c39,43 < F6 = Alt 6; < F7 = Alt 7; < F8 = Alt 8; < F9 = Alt 9; < F10 = Alt 0; --- > F6 = F6; > F7 = F7; > F8 = F8; > F9 = F9; > F10 = F10; 55,69c55,69 < Shift F6 = PgUp; < Shift F7 = PgDn; < Shift F8 = Home; < Shift F9 = End; < Shift F10 = Ins; < Shift F11 = F1; < Shift F12 = F2; < Shift F13 = F3; < Shift F14 = F4; < Shift F15 = F5; < Shift F16 = F6; < Shift F17 = F7; < Shift F18 = F8; < Shift F19 = F9; < Shift F20 = F10; --- > Shift F6 = Shift F6; > Shift F7 = Shift F7; > Shift F8 = Shift F8; > Shift F9 = Shift F9; > Shift F10 = Shift F10; > Shift F11 = Shift Alt F1; > Shift F12 = Shift Alt F2; > Shift F13 = Shift Alt F3; > Shift F14 = Shift Alt F4; > Shift F15 = Shift Alt F5; > Shift F16 = Shift Alt F6; > Shift F17 = Shift Alt F7; > Shift F18 = Shift Alt F8; > Shift F19 = Shift Alt F9; > Shift F20 = Shift Alt F10; 70a71 > 73,76c74,77 < PF1 = Alt 1; < PF2 = Alt 2; < PF3 = Alt 3; < PF4 = Alt 4; --- > PF1 = F1; > PF2 = F2; > PF3 = F3; > PF4 = F4; 123,124c124,125 < Vi-LineHome = NULL; < Vi-LineEnd = NULL; --- > Vi-LineHome = Home; > Vi-LineEnd = End; 128,129c129,130 < Vi-PgUp = NULL; < Vi-PgDn = NULL; --- > Vi-PgUp = PgUp; > Vi-PgDn = PgDn; 132c133 < Vi-Ins = NULL; --- > Vi-Ins = Ins; ---------------------------------------------------------------------- 4. sample .decudk file ^[P0;1|17/1B5B4A^[\ DEC Programmable Shift F6 - assigned to PgUp ^[P1;1|18/1B5B4E^[\ DEC Programmable Shift F7 - assigned to PgDown ^[P1;1|19/1B344A^[\ DEC Programmable Shift F8 - assigned to Home ^[P1;1|20/1B334A^[\ DEC Programmable Shift F9 - assigned to End ^[P1;1|21/1B4F60^[\ DEC Programmable Shift F10 - assigned to Insert ^[P1;1|23/1B4F50^[\ DEC Programmable Shift F11 - assigned to F1 ^[P1;1|24/1B4F51^[\ DEC Programmable Shift F12 - assigned to F2 ^[P1;1|25/1B4F52^[\ DEC Programmable Shift F13 - assigned to F3 ^[P1;1|26/1B4F53^[\ DEC Programmable Shift F14 - assigned to F4 ^[P1;1|28/1B4F54^[\ DEC Programmable Shift F15 - assigned to F5 ^[P1;1|29/1B4F55^[\ DEC Programmable Shift F16 - assigned to F6 ^[P1;1|31/1B4F56^[\ DEC Programmable Shift F17 - assigned to F7 ^[P1;1|32/1B4F57^[\ DEC Programmable Shift F18 - assigned to F8 ^[P1;1|33/1B4F58^[\ DEC Programmable Shift F19 - assigned to F9 ^[P1;1|34/1B4F59^[\ DEC Programmable Shift F20 - assigned to F11 ---------------------------------------------------------------------- Section II. *** HOST PRESENTER *** Contents: 1. Introduction 2. modified UNIX_MAP.TXT file 3. diff summary of original UNIX_MAP.TXT and the modified version 4. sample .decudk file ---------------------------------------------------------------------- 1. Introduction To assign arbitrary character or escape sequences to function keys in Host Presenter in VT220 emulation, implement the DECUDK method: a. reassign PC Function keys to DEC Programmable Shift-Function keys in UNIX_MAP.TXT file b. create .decudk file and define character or escape sequences to be assigned to the DEC Programmable keys In the example below I assigned: PC keys F1 - F11 to DEC keys Shift-F11 - Shift-F20 PgUp (Numeric and Edit) to Shift-F6 PgDown (Numeric and Edit) to Shift-F7 Home (Numeric and Edit) to Shift-F8 End (Numeric and Edit) to Shift-F9 Insert (Numeric and Edit) to Shift-F10 You may copy this file into C:\NET\HSTACC directory as is, or use diff summary to make modifications to the existing UNIX_MAP.TXT. It is *ESSENTIAL* that you save the original file first to a safe location in case an error occurs. Then compile the UNIX_MAP.TXT file with the KEY220 utility: C:\NET\HSTACC> key220 unix_map.txt unix_map.win Before executing that command, also save the existing file unix_map.win. Next, create the .decudk file in the home account of the person who will be using remapped keyboard (or in a central location if all users are to be affected). When creating .decudk file, please note that ^[ means "Escape" key as quoted literally using vi, *NOT* two separate characters. Enter quoted characters through opening a file with vi, pressing "i" for "insert mode" then pressing "Ctrl-v" for "quote-next-character-literally" then pressing "Esc" key. Enter character sequences to be assigned using HEX notation between "/" and second "^[" on each line in the .decudk file. To activate the function keys, "cat" the .decudk file to the environment. You can also do it at the command prompt: $ cat .decudk or at the login time by placing the same command at the end of user's .profile (if login shell is sh, ksh, bash or zsh) or in .login if user's login shell is csh, tcsh or other csh-derivative. ---------------------------------------------------------------------- 2. modified UNIX_MAP.TXT # # Copyright (c) 1992 Novell, Inc. All Rights Reserved. # # THIS WORK IS SUBJECT TO U.S. AND INTERNATIONAL COPYRIGHT LAWS # AND TREATIES. NO PART OF THIS WORK MAY BE USED, PRACTICED, # PERFORMED COPIED, DISTRIBUTED, REVISED, MODIFIED, TRANSLATED, # ABRIDGED, CONDENSED, EXPANDED, COLLECTED, COMPILED, LINKED, # RECAST, TRANSFORMED OR ADAPTED WITHOUT THE PRIOR WRITTEN CONSENT # OF NOVELL, INC. ANY USE OR EXPLOITATION OF THIS WORK WITHOUT # AUTHORIZATION COULD SUBJECT THE PERPETRATOR TO CRIMINAL AND CIVIL # LIABILITY. # # VT220 Function Keys Map File - UNIX_MAP.TXT # This file is for the PCs with an enhanced 101/102 keys keyboard. # The enhanced PC keyboard has keys f11 and f12, and the functions keys # are on top. This file is provided for the users who don't access DEC # machines (don't need DEC VT Edit keys) and would prefer easy access to # Unix VI functions. TYPE = WINDOWS; NAME = Unix VI Map ; # Line format: # VT220 Function Key = PC Key Sequence [, PC Key Sequence] ; # Defining VT220 Top-Row Function Keys # The following 5 keys are not used in Host Presenter PrintScreen = NULL; # Print Screen Set-Up = NULL; # Set-Up DOSGate = NULL; # Escape to DOS NextSession = NULL; # Switch TNVT220 Session TNVTGate = NULL; # TNVT220 command proc gate Hold Screen = ScrollLock; # Hold Screen Break = NULL; # Break Ctrl Break = Ctrl Break; # Answer back key Esc = Esc; # Escape key F6 = NULL; F7 = NULL; F8 = NULL; F9 = NULL; F10 = NULL; F11 = NULL; F12 = NULL; F13 = NULL; F14 = NULL; F15 = Ctrl F5; F16 = Ctrl F6; F17 = Ctrl F7; F18 = Ctrl F8; F19 = Ctrl F9; F20 = Ctrl F11; # F10 is used by Windows Shift f6 = PageUp; Shift f7 = PageDown; Shift f8 = editHome; Shift f9 = editEnd; Shift f10 = Insert; Shift f11 = f1; Shift f12 = f2; Shift f13 = f3; Shift f14 = f4; Shift f15 = f5; Shift f16 = f6; Shift f17 = f7; Shift f18 = f8; Shift f19 = f9; Shift f20 = f11; # F10 is used by Windows # Main Keypad keys Delete = Delete, Del; # Editing keypad keys Find = NULL; InsertHere = NULL; Remove = NULL; Select = NULL; PrevScreen = NULL; NextScreen = NULL; UpArrow = EditUpArrow, UpArrow; DownArrow = EditDownArrow, DownArrow; LeftArrow = EditLeftArrow, LeftArrow; RightArrow = EditRightArrow, RightArrow; # Auxiliary Keypad keys PF1 = Ctrl f1; PF2 = Ctrl f2; PF3 = Ctrl f3; PF4 = Ctrl f4; Aux 0 = Num 0; Aux 1 = Num 1; Aux 2 = Num 2; Aux 3 = Num 3; Aux 4 = Num 4; Aux 5 = Num 5; Aux 6 = Num 6; Aux 7 = Num 7; Aux 8 = Num 8; Aux 9 = Num 9; Aux Period = Num Period; Divide = Num Divide; # Not a VT220 Auxillary keypad key Multiply = Num Multiply; # Not a VT220 Auxillary keypad key Plus = Num Plus; # Not a VT220 Auxillary keypad key Aux Minus = Num Minus; Enter = Num Enter; Aux Comma = NULL; # Set to NULL for 4.1 release # Miscellaneous defines Home = NULL; # If defined, generates Esc[H Vi-ScreenHome = AltEditHome; Vi-PgUp = NULL; Vi-PgDn = NULL; Vi-ScreenEnd = AltEditEnd; Vi-Ins = NULL; Vi-Middle = NULL; # Aux keypad not avail in Windows Vi-LineHome = NULL; Vi-LineEnd = NULL; Vi-FileHome = shiftEditHome; Vi-FileEnd = shiftEditEnd; # ---- cut here ---- ---------------------------------------------------------------------- 45,53c45,53 < F6 = NULL; < F7 = NULL; < F8 = NULL; < F9 = NULL; < F10 = NULL; < F11 = NULL; < F12 = NULL; < F13 = NULL; < F14 = NULL; --- > F6 = F6; > F7 = F7; > F8 = F8; > F9 = F9; > F10 = F11; # F10 is used by Windows > F11 = Ctrl F1; > F12 = Ctrl F2; > F13 = Ctrl F3; > F14 = Ctrl F4; 61,75c61,75 < Shift f6 = PageUp; < Shift f7 = PageDown; < Shift f8 = editHome; < Shift f9 = editEnd; < Shift f10 = Insert; < Shift f11 = f1; < Shift f12 = f2; < Shift f13 = f3; < Shift f14 = f4; < Shift f15 = f5; < Shift f16 = f6; < Shift f17 = f7; < Shift f18 = f8; < Shift f19 = f9; < Shift f20 = f11; # F10 is used by Windows --- > Shift f6 = Shift f6; > Shift f7 = Shift f7; > Shift f8 = Shift f8; > Shift f9 = Shift f9; > Shift f10 = Shift f11; # F10 is used by Windows > Shift f11 = Shift Ctrl f1; > Shift f12 = Shift Ctrl f2; > Shift f13 = Shift Ctrl f3; > Shift f14 = Shift Ctrl f4; > Shift f15 = Shift Ctrl f5; > Shift f16 = Shift Ctrl f6; > Shift f17 = Shift Ctrl f7; > Shift f18 = Shift Ctrl f8; > Shift f19 = Shift Ctrl f9; > Shift f20 = Shift Ctrl f11; # F10 is used by Windows 100,103c100,103 < PF1 = Ctrl f1; < PF2 = Ctrl f2; < PF3 = Ctrl f3; < PF4 = Ctrl f4; --- > PF1 = f1; > PF2 = f2; > PF3 = f3; > PF4 = f4; 131,132c131,132 < Vi-PgUp = NULL; < Vi-PgDn = NULL; --- > Vi-PgUp = PageUp; > Vi-PgDn = PageDown; 134,137c134,137 < Vi-Ins = NULL; < Vi-Middle = NULL; # Aux keypad not avail in Windows < Vi-LineHome = NULL; < Vi-LineEnd = NULL; --- > Vi-Ins = Ins; > Vi-Middle = NULL; # Aux keypad not avail in Windows > Vi-LineHome = editHome; > Vi-LineEnd = editEnd; ---------------------------------------------------------------------- 4. sample .decudk file ^[P0;1|17/1B5B4A^[\ DEC Programmable Shift F6 - assigned to PgUp ^[P1;1|18/1B5B4E^[\ DEC Programmable Shift F7 - assigned to PgDown ^[P1;1|19/1B344A^[\ DEC Programmable Shift F8 - assigned to Home ^[P1;1|20/1B334A^[\ DEC Programmable Shift F9 - assigned to End ^[P1;1|21/1B4F60^[\ DEC Programmable Shift F10 - assigned to Insert ^[P1;1|23/1B4F50^[\ DEC Programmable Shift F11 - assigned to F1 ^[P1;1|24/1B4F51^[\ DEC Programmable Shift F12 - assigned to F2 ^[P1;1|25/1B4F52^[\ DEC Programmable Shift F13 - assigned to F3 ^[P1;1|26/1B4F53^[\ DEC Programmable Shift F14 - assigned to F4 ^[P1;1|28/1B4F54^[\ DEC Programmable Shift F15 - assigned to F5 ^[P1;1|29/1B4F55^[\ DEC Programmable Shift F16 - assigned to F6 ^[P1;1|31/1B4F56^[\ DEC Programmable Shift F17 - assigned to F7 ^[P1;1|32/1B4F57^[\ DEC Programmable Shift F18 - assigned to F8 ^[P1;1|33/1B4F58^[\ DEC Programmable Shift F19 - assigned to F9 ^[P1;1|34/1B4F59^[\ DEC Programmable Shift F20 - assigned to F11 ---------------------------------------------------------------------- Section III. PROCEDURE FOR MAPPING FUNCTION KEYS IN TNVT220 UNDER ANSI EMULATION ------------------------------------------------------------------- Contents: --------- 1. Introduction 2. Default key mappings under ANSI emulation 3. How to use it in practice 4. Final caveat ----------------------------------------------------------------- 1. Introduction One of the elements of setting up ANSI emulation in TNVT220 is mapping the keys on the keyboard through KBDDATA, a file found in \NET\HSTACC directory on the drive where LWPD 4.1 is installed. The KBDDATA file as shipped included only few mappings. The following is a list of all defaults (as shipped), and also a list of the codes that all mappable keys produce both on the PC side and the UNIX side (if not remapped). Those codes are presented in the form that is understood by KBDDATA. This listing also contains additional information where appropriate. ----------------------------------------------------------------- 2. Default key mappings under ANSI emulation Key on the PC Codes on the Codes on the keyboard DOS side UNIX side Additional Info ------------- ------------ ------------ --------------- Esc 27 27 F1 0;59 59 F2 0;60 60 F3 0;61 61 F4 0;62 62 F5 0;63 63 F6 0;64 64 F7 0;65 65 F8 0;66 66 F9 0;67 67 F10 0;68 68 Alt-F1 0;104 104 Alt-F2 0;105 105 Alt-F3 0;106 106 Alt-F4 0;107 107 Alt-F5 0;108 108 Alt-F6 0;109 109 Alt-F7 0;110 110 Alt-F8 0;111 111 Alt-F9 0;112 112 Alt-F10 0;113 113 Ctrl-F1 0;94 94 Ctrl-F2 0;95 95 Ctrl-F3 0;96 96 Ctrl-F4 0;97 97 Ctrl-F5 0;98 98 Ctrl-F6 0;99 99 Ctrl-F7 0;100 100 Ctrl-F8 0;101 101 Ctrl-F9 0;102 102 Ctrl-F10 0;103 103 Shift-F1 0;84 84 Shift-F2 0;85 85 Shift-F3 0;86 86 Shift-F4 0;87 87 Shift-F5 0;88 88 Shift-F6 0;89 89 Shift-F7 0;90 90 Shift-F8 0;91 91 Shift-F9 0;92 92 Shift-F10 0;93 93 ~ 126 126 ` 96 96 ! 33 33 @ 64 64 # 35 35 $ 36 36 % 37 37 ^ 94 94 & 38 38 ( 40 40 ) 41 41 _ 95 95 + 43 43 1 49 49 2 50 50 3 51 51 4 52 52 5 53 53 6 54 54 7 55 55 8 56 56 9 57 57 0 58 58 - 45 45 = 61 61 Ctrl-2 3 3 Same as Ctrl-C - interrupt Ctrl-6 30 30 Ctrl-- 31 31 Bsp 8 8 Ctrl-Bsp 127 127 Sometimes used as interrupt on the UNIX side. Often used as backspace. Shift-Bsp 8 8 See Bsp Alt-1 0;120 120 Alt-2 0;121 121 Alt-3 0;122 122 Alt-4 0;123 123 Alt-5 0;124 124 Alt-6 0;125 125 Alt-7 0;126 126 Alt-8 0;127 127 See Ctrl-Bsp Alt-9 0;128 128 UNIX host echoes back 0;10 (^@) Alt-10 0;129 1 Actually sent is 129, but UNIX host translates it into 1 Alt-- 0;130 2 Sent is 130, translated into 2 Alt-= 0;131 3 Sent is 131, translated to 3, works like Ctrl-C Del 0;83 127 See Ctrl-Bsp Ins 0;82 82 Home 0;72 72 End 0;76 76 PgUp 0;73 -1 EOF PgDn 0;81 21 Ctrl-Home 0;119 119 Ctrl-End 0;117 117 Ctrl-PgUp 0;132 -1 EOF Ctrl-PgDn 0;118 118 left 0;75 8 Same as Bsp right 0;77 12 Same as Ctrl-L - "treat this line as the last one on the page, start next page from the top of the screen". In DOS known as Form Feed. q 113 113 w 119 119 e 101 101 r 114 114 t 116 116 y 121 121 u 117 117 i 105 105 o 111 111 p 112 112 [ 91 91 ] 93 93 \ 92 92 a 97 97 s 115 115 d 100 100 f 102 102 g 103 103 h 104 104 j 106 106 k 107 107 l 108 108 ; 59 59 ' 39 39 z 122 122 x 120 120 c 99 99 v 118 118 b 98 98 n 110 110 m 109 109 , 44 44 . 46 46 / 47 47 Q 81 81 W 87 87 E 69 69 R 82 82 T 84 84 Y 89 89 U 85 85 I 73 73 O 79 79 P 80 80 { 123 123 } 125 125 | 124 124 A 65 65 S 83 83 D 68 68 F 70 70 G 71 71 H 72 72 J 74 74 K 75 75 L 76 76 : 58 58 " 34 34 Z 90 90 X 88 88 C 67 67 V 86 86 B 66 66 N 78 78 M 77 77 < 60 60 > 62 62 ? 63 63 Ctrl-q 17 17 Resume display Ctrl-w 23 23 Ctrl-e 5 5 Ctrl-r 18 18 Ctrl-t 20 20 Ctrl-y 25 25 Ctrl-u 21 21 Ctrl-i 9 9 Tab Ctrl-o 15 3 Interrupt Ctrl-p 16 Captured by DOS for printing mode Ctrl-[ 27 27 Esc Ctrl-] 29 29 Ctrl-\ 28 28 Quit - Diagnostic Core Dump Ctrl-a 1 1 Ctrl-s 19 19 Stop display Ctrl-d 4 -1 EOF Ctrl-f 6 6 Ctrl-g 7 7 Bell Ctrl-h 8 8 Bsp Ctrl-j 10 10 Newline Ctrl-k 11 11 Ctrl-l 12 12 See Ctrl-right Ctrl-z 26 26 Sometimes used to stop jobs in job control (if supported) Ctrl-x 24 24 Ctrl-c 3 3 Ctrl-v 22 22 Quote next keystroke literally Ctrl-b 2 2 Ctrl-n 14 14 Ctrl-m 13 13 CR Alt-q 0;16 16 UNIX echoes back Ctrl-p (16) to terminal, which turns on local printing from screen Alt-w 0;17 17 Alt-e 0;18 18 Alt-r 0;19 19 On UNIX side same as Ctrl-s - stop display Alt-t 0;20 Captured by TNVT220 - Prompt Gate Alt-y 0;21 21 Alt-u 0;22 22 Same as Ctrl-v - quote next keystroke literally Alt-i 0;23 23 Alt-o 0;24 24 Alt-p 0;25 25 Alt-a 0;30 30 Alt-s 0;31 Captured by TNVT220 - Setup Menu Gate Alt-d 0;32 Captured by TNVT220 - DOS Gate Alt-f 0;33 33 Alt-g 0;34 34 Alt-h 0;35 35 Alt-j 0;36 36 Alt-k 0;37 37 Alt-l 0;38 38 Alt-z 0;44 44 Alt-x 0;45 45 Alt-c 0;46 46 Alt-v 0;47 47 Alt-b 0;48 48 Alt-n 0;49 Captured by TNVT220 - Next Session Gate Alt-m 0;50 50 ---------------------------------------------------------------------- 3. How to use it in practice To remap a key you should: a. Find the code(s) for the key to be remapped b. Find the code(s) for the string you want to assign to the key c. Edit top and bottom portion of KBDDATA. Example: To remap Alt-F4 (Alt-Function key 4) and assign it a string "^[[Ot" (without quotes; ^[ symbolizes escape) follow these steps: a. Find Alt-F4 in the table listed in 2. It is 0;107 b. Find codes for ^[[Ot - it is: 27;91;79;116 c. Edit top and bottom portions of KBDDATA: - top portion entry would look as follows: [0;107;27;91;79;116p# - bottom portion: [0;107;0;107p# When you now launch TNVT220 in ANSI mode, your Alt-F4 should work the way you like it. To verify that your string is indeed being sent, enter the following command at the UNIX host prompt (assuming sh-like shell and SUN, AIX, SYSV and similar OS): $ echo -n ^v | od -c Here is how to read the above: type "echo -n" (without quotes), press Ctrl-V, then press the key you wish to verify (Alt-F4 in this case), then type "| od -c" and press . You should see the following: 0000000 033 [ O t 0000004 Ignore the first "0000000" string. The rest shows "033" - octal for "Esc", then [Ot - characters which follow escape in your sequence. The "0000004" shows number of characters sent. You may change the switch at "od" from -c to -x if you wish to see all characters in hex notation. NOTE: A few UNIX OSes may not react to the above command in a standard way. Ask your UNIX SysAdmin for correct syntax. ----------------------------------------------------------------------- 4. Final caveat Due to less than perfect compatibility of the ANSI emulation definition on many UNIX hosts with the common PC driver ANSI.SYS, ANSI emulation may sometimes prove to be unpredictible. Consult with your knowledgeable UNIX SysAdmin. Tony Porczyk -------------------------------------------------------------------- * Internet: tporczyk@novell.com * Tony Porczyk - 1-800-NETWARE * * MHS Mail: tonyp @ novell * Novell Tech Support - San Jose * --------------------------------------------------------------------