3 # Copyright (c) 1989, 1993
4 # The Regents of the University of California. All rights reserved.
6 # Redistribution and use in source and binary forms, with or without
7 # modification, are permitted provided that the following conditions
9 # 1. Redistributions of source code must retain the above copyright
10 # notice, this list of conditions and the following disclaimer.
11 # 2. Redistributions in binary form must reproduce the above copyright
12 # notice, this list of conditions and the following disclaimer in the
13 # documentation and/or other materials provided with the distribution.
14 # 3. All advertising materials mentioning features or use of this software
15 # must display the following acknowledgement:
16 # This product includes software developed by the University of
17 # California, Berkeley and its contributors.
18 # 4. Neither the name of the University nor the names of its contributors
19 # may be used to endorse or promote products derived from this software
20 # without specific prior written permission.
22 # THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
23 # ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
24 # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
25 # ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
26 # FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
27 # DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
28 # OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
29 # HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
30 # LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
31 # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
34 # @(#)map3270 8.2 (Berkeley) 4/1/94
37 # This file contains mappings between characters entered from the keyboard,
38 # and 3270 keys, for use by programs (like tn3270) doing 3270 emulation
41 # Inside the single quotes, a caret ("^") introduces a control character
42 # sequence (rub out = ^?, by the way). Also inside the single quotes,
43 # a backslash ('\') introduces an escaped character. Also, \n, \r, \t,
44 # are all as in C, and \E is another way of representing escape.
46 # NOTE that while we are defining lots of function, much of that
47 # function (ie: local editing keys) may not yet be available from tn3270.
49 # Please e-mail changes to termcap@berkeley.edu or uunet!ucbvax!termcap.
65 delete = '^d' | '^?'; # rubout
73 pfk1 = '\E1'; pfk2 = '\E2'; pfk3 = '\E3'; pfk4 = '\E4';
74 pfk5 = '\E5'; pfk6 = '\E6'; pfk7 = '\E7'; pfk8 = '\E8';
75 pfk9 = '\E9'; pfk10 = '\E0'; pfk11 = '\E:'; pfk12 = '\E-';
76 pfk13 = '^f13'; pfk14 = '^f14'; pfk15 = '^f15'; pfk16 = '^f16';
77 pfk17 = '^f17'; pfk18 = '^f18'; pfk19 = '^f19'; pfk20 = '^f20';
78 pfk21 = '^f21'; pfk22 = '^f22'; pfk23 = '^f23'; pfk24 = '^f24';
80 # program attention keys
91 reset = '^t'; # well, there is a little confusion here...
94 reshow = '^v'; # redisplay screen
95 escape = '^c'; # escape to telnet command mode
110 920c | tvi920c | 920b { # tvi920c definitions...
116 # cursor movement keys
117 nl = '^^' | '^n'; # home
119 btab = '^b' | '\E^i';
127 delete = '^?' | '^d'; # delete
134 # program function keys
137 pfk1 = '^a@^m'; pfk2 = '^aA^m'; pfk3 = '^aB^m'; pfk4 = '^aC^m';
138 pfk5 = '^aD^m'; pfk6 = '^aE^m'; pfk7 = '^aF^m'; pfk8 = '^aG^m';
139 pfk9 = '^aH^m'; pfk10 = '^aI^m'; pfk11 = '^aJ^m';
145 pfk11 = '\E^a@^m'; pfk12 = '\E^aA^m';
146 pfk13 = '\E^aB^m'; pfk14 = '\E^aC^m'; pfk15 = '\E^aD^m'; pfk16 = '\E^aE^m';
147 pfk17 = '\E^aF^m'; pfk18 = '\E^aG^m'; pfk19 = '\E^aH^m'; pfk20 = '\E^aI^m';
150 # ESC SHIFT-F1 to ESC SHIFT-F4
151 pfk21 = '\E^a`^m'; pfk22 = '\E^aa^m'; pfk23 = '\E^ab^m'; pfk24 = '\E^ac^m';
153 pfk1 = '\E1'; pfk2 = '\E2'; pfk3 = '\E3'; pfk4 = '\E4';
154 pfk5 = '\E5'; pfk6 = '\E6'; pfk7 = '\E7'; pfk8 = '\E8';
155 pfk9 = '\E9'; pfk10 = '\E0'; pfk11 = '\E-'; pfk12 = '\E=';
156 pfk13 = '^f13'; pfk14 = '^f14'; pfk15 = '^f15'; pfk16 = '^f16';
157 pfk17 = '^f17'; pfk18 = '^f18'; pfk19 = '^f19'; pfk20 = '^f20';
158 pfk21 = '^f21'; pfk22 = '^f22'; pfk23 = '^f23'; pfk24 = '^f24';
160 # program attention keys
162 pa1 = '^a`^m' | '^p1';
163 pa2 = '^aa^m' | '^p2';
164 pa3 = '^ab^m' | '^p3';
166 # miscellaneous 3270 keys
173 reset = '^t'; # there is some confusion here...
177 escape = '^c'; # escape to telnet command mode
186 coltab = '\Ei' | '\EI';
187 colbak = '\Eb' | '\EB';
188 indent = '\El' | '\EL';
189 undent = '\Eh' | '\EH';
190 } # end of tvi920c table...
192 925 | tvi925 | 925vb | tvi925vb | televideo 925 {
199 # cursor movement keys
212 delete = '^?'; # that's rubout...
215 insrt = '\E ' | '\EW';
217 # program function keys
244 pfk1 = '\E1'; pfk2 = '\E2'; pfk3 = '\E3'; pfk4 = '\E4';
245 pfk5 = '\E5'; pfk6 = '\E6'; pfk7 = '\E7'; pfk8 = '\E8';
246 pfk9 = '\E9'; pfk10 = '\E0'; pfk11 = '\E-'; pfk12 = '\E=';
247 pfk13 = '^f13'; pfk14 = '^f14'; pfk15 = '^f15'; pfk16 = '^f16';
248 pfk17 = '^f17'; pfk18 = '^f18'; pfk19 = '^f19'; pfk20 = '^f20';
249 pfk21 = '^f21'; pfk22 = '^f22'; pfk23 = '^f23'; pfk24 = '^f24';
251 # program attention keys
262 reset = '^t'; # again, there is some confusion here...
266 escape = '^c'; # escape to telnet command mode
289 # cursor movement keys
302 delete = '^?'; # that's rubout...
305 insrt = '\E ' | '\EW';
309 # program function keys
336 pfk1 = '\E1'; pfk2 = '\E2'; pfk3 = '\E3'; pfk4 = '\E4';
337 pfk5 = '\E5'; pfk6 = '\E6'; pfk7 = '\E7'; pfk8 = '\E8';
338 pfk9 = '\E9'; pfk10 = '\E0'; pfk11 = '\E-'; pfk12 = '\E=';
339 pfk13 = '^f13'; pfk14 = '^f14'; pfk15 = '^f15'; pfk16 = '^f16';
340 pfk17 = '^f17'; pfk18 = '^f18'; pfk19 = '^f19'; pfk20 = '^f20';
341 pfk21 = '^f21'; pfk22 = '^f22'; pfk23 = '^f23'; pfk24 = '^f24';
343 # program attention keys
354 reset = '^t'; # again, there is some confusion here...
358 escape = '^c'; # escape to telnet command mode
373 h19 | heath | h19b | heathkit | heath-19 | z19 | zenith {
392 pfk1 = '\E?p\E?q'; pfk2 = '\E?p\E?r'; pfk3 = '\E?p\E?s'; pfk4 = '\E?p\E?t';
393 pfk5 = '\E?p\E?u'; pfk6 = '\E?p\E?v'; pfk7 = '\E?p\E?w'; pfk8 = '\E?p\E?x';
394 pfk9 = '\E?p\E?y'; pfk10 = '\E?q\E?p'; pfk11 = '\E?q\E?q'; pfk12 = '\E?q\E?r';
395 pfk13 = '\E?q\E?s'; pfk14 = '\E?q\E?t'; pfk15 = '\E?q\E?u'; pfk16 = '\E?q\E?v';
396 pfk17 = '\E?q\E?w'; pfk18 = '\E?q\E?x'; pfk19 = '\E?q\E?y'; pfk20 = '\E?r\E?p';
397 pfk21 = '\E?r\E?q'; pfk22 = '\E?r\E?r'; pfk23 = '\E?r\E?s'; pfk24 = '\E?r\E?t';
399 pfk1 = '\E1'; pfk2 = '\E2'; pfk3 = '\E3'; pfk4 = '\E4';
400 pfk5 = '\E5'; pfk6 = '\E6'; pfk7 = '\E7'; pfk8 = '\E8';
401 pfk9 = '\E9'; pfk10 = '\E0'; pfk11 = '\E-'; pfk12 = '\E=';
402 pfk13 = '^f13'; pfk14 = '^f14'; pfk15 = '^f15'; pfk16 = '^f16';
403 pfk17 = '^f17'; pfk18 = '^f18'; pfk19 = '^f19'; pfk20 = '^f20';
404 pfk21 = '^f21'; pfk22 = '^f22'; pfk23 = '^f23'; pfk24 = '^f24';
406 # program attention keys
414 # cursel = '\E.'; # find out what this does
419 reset = '^t'; # well, there is a little confusion here...
421 reshow = '^v'; # redisplay screen
422 escape = '^c'; # escape to telnet command mode
437 co | c100 | concept | c100-4p | concept100 {
439 clear = '^z' | '^\2';
445 right = '^l' | '\E=';
450 delete = '^d' | '^?' | '^\1';
456 pfk1 = '\E\E1' | '^\5'; pfk2 = '\E\E2' | '^\6'; pfk3 = '\E\E3' | '^\7';
457 pfk4 = '\E\E4' | '^\8'; pfk5 = '\E\E5' | '^\9'; pfk6 = '\E\E6' | '^\:';
458 pfk7 = '\E\E7' | '^\;'; pfk8 = '\E\E8' | '^\<'; pfk9 = '\E\E9' | '^\=';
459 pfk10 = '\E\E0' | '^\>'; pfk11 = '\E\E-' | '^\?'; pfk12 = '^\@';
460 pfk13 = '^\A'; pfk14 = '^\B'; pfk15 = '^\)'; pfk16 = '^\*';
461 pfk17 = '^\+'; pfk18 = '^\,'; pfk19 = '^\-'; pfk20 = '^\.';
462 pfk21 = '^\/'; pfk22 = '^\C'; pfk23 = '^\D'; pfk24 = '^\E';
464 pfk1 = '\E1'; pfk2 = '\E2'; pfk3 = '\E3'; pfk4 = '\E4';
465 pfk5 = '\E5'; pfk6 = '\E6'; pfk7 = '\E7'; pfk8 = '\E8';
466 pfk9 = '\E9'; pfk10 = '\E0'; pfk11 = '\E-'; pfk12 = '^f12';
467 pfk13 = '^f13'; pfk14 = '^f14'; pfk15 = '^f15'; pfk16 = '^f16';
468 pfk17 = '^f17'; pfk18 = '^f18'; pfk19 = '^f19'; pfk20 = '^f20';
469 pfk21 = '^f21'; pfk22 = '^f22'; pfk23 = '^f23'; pfk24 = '^f24';
471 # program attention keys
486 reset = '^t'; # well, there is a little confusion here...
488 reshow = '^v'; # redisplay screen
489 escape = '^c'; # escape to telnet command mode
502 avt | avt-8p-s | avt-4p-s | avt-rv {
504 clear = '^z' | '\EOM';
509 left = '^h' | '\E[D';
510 right = '^l' | '\E[C';
512 down = '^j' | '\E[B';
518 insrt = '^ ' | '\E ';
521 pfk1 = '\EOq' | '\E1'; pfk2 = '\EOr' | '\E2'; pfk3 = '\EOs' | '\E3';
522 pfk4 = '\EOt' | '\E4'; pfk5 = '\EOu' | '\E5'; pfk6 = '\EOv' | '\E6';
523 pfk7 = '\EOw' | '\E7'; pfk8 = '\EOx' | '\E8'; pfk9 = '\EOy' | '\E9';
524 pfk10 = '\EOP\EOp' | '\E0'; pfk11 = '\EOP\EOq' | '\E-';
525 pfk12 = '\EOP\EOr' | '\E='; pfk13 = '\EOP\EOs' | '^f13';
526 pfk14 = '\EOP\EOt' | '^f14'; pfk15 = '\EOP\EOu' | '^f15';
527 pfk16 = '\EOP\EOv' | '^f16'; pfk17 = '\EOP\EOw' | '^f17';
528 pfk18 = '\EOP\EOx' | '^f18'; pfk19 = '\EOP\EOy' | '^f19';
529 pfk20 = '\EOQ\EOp' | '^f20'; pfk21 = '\EOQ\EOq' | '^f21';
531 pfk22 = '^f22'; pfk23 = '^f23'; pfk24 = '^f24';
533 # program attention keys
534 pa1 = '\E\EOP' | '^p1';
535 pa2 = '\E\EOQ' | '^p2';
539 escape = '^c'; # escape to telnet command mode
555 tvipt | vp | televideopt {
574 pfk1 = '\E1' | '^A@^m';
575 pfk2 = '\E2' | '^AA^m';
576 pfk3 = '\E3' | '^AB^m';
577 pfk4 = '\E4' | '^AC^m';
578 pfk5 = '\E5' | '^AD^m';
579 pfk6 = '\E6' | '^AE^m';
580 pfk7 = '\E7' | '^AF^m';
584 pfk11 = '\E!' | '\E^A@^m';
585 pfk12 = '\E@' | '\E^AA^m';
586 pfk13 = '\E#' | '\E^AB^m';
587 pfk14 = '\E$' | '\E^AC^m';
588 pfk15 = '\E%' | '\E^AD^m';
589 pfk16 = '\E^AE^m' | '\E\^';
590 pfk17 = '\E&' | '\E^AF^m';
595 # program attention keys
606 reset = '^t'; # well, there is a little confusion here...
609 reshow = '^v'; # redisplay screen
610 escape = '^c'; # escape to telnet command mode
617 coltab = '\Ei' | '\EI';
618 colbak = '\Eb' | '\EB';
619 indent = '\El' | '\EL';
620 undent = '\Eh' | '\EH';
622 vt100 | vt100nam | pt100 | vt125 | vt102 | direct831 | tek4125 | pcplot | microvax | vt220 | vt320 | xterm{
624 clear = '^z' | '\EOM';
629 left = '^h' | '\E[D' | '\EOD';
630 right = '^l' | '\E[C' | '\EOC';
631 up = '^k' | '\E[A' | '\EOA';
632 down = '\E[B' | '\EOB';
635 delete = '^d' | '^?';
638 insrt = '^ ' | '\E ';
641 pfk1 = '\EOq' | '\E1'; pfk2 = '\EOr' | '\E2'; pfk3 = '\EOs' | '\E3';
642 pfk4 = '\EOt' | '\E4'; pfk5 = '\EOu' | '\E5'; pfk6 = '\EOv' | '\E6';
643 pfk7 = '\EOw' | '\E7'; pfk8 = '\EOx' | '\E8'; pfk9 = '\EOy' | '\E9';
644 pfk10 = '\EOP\EOp' | '\E0'; pfk11 = '\EOP\EOq' | '\E-';
645 pfk12 = '\EOP\EOr' | '\E='; pfk13 = '\EOP\EOs' | '^f13';
646 pfk14 = '\EOP\EOt' | '^f14'; pfk15 = '\EOP\EOu' | '^f15';
647 pfk16 = '\EOP\EOv' | '^f16'; pfk17 = '\EOP\EOw' | '^f17';
648 pfk18 = '\EOP\EOx' | '^f18'; pfk19 = '\EOP\EOy' | '^f19';
649 pfk20 = '\EOQ\EOp' | '^f20'; pfk21 = '\EOQ\EOq' | '^f21';
651 # program attention keys
652 pa1 = '\E\EOP' | '^p1';
653 pa2 = '\E\EOQ' | '^p2';
657 escape = '^c'; # escape to telnet command mode
671 } # end of vt100, etc.
675 clear = '^z' | '\E[222z';
679 btab = '^b' | '\E[195z' | '\E[216z';
680 left = '^h' | '\E[D' | '\EOD';
681 right = '^l' | '\E[C' | '\EOC';
682 up = '^k' | '\E[A' | '\EOA';
683 down = '\E[B' | '\EOB';
686 delete = '^d' | '^?';
687 eeof = '^e' | '\E[214z';
688 einp = '^w' | '\E[213z';
689 insrt = '\E ' | '\E[220z';
694 pfk1 = '\E[224z' | '\E1'; pfk2 = '\E[225z' | '\E2';
695 pfk3 = '\E[226z' | '\E3'; pfk4 = '\E[227z' | '\E4';
696 pfk5 = '\E[228z' | '\E5'; pfk6 = '\E[229z' | '\E6';
697 pfk7 = '\E[230z' | '\E7'; pfk8 = '\E[231z' | '\E8';
698 pfk9 = '\E[232z' | '\E9'; pfk10 = '\E[208z' | '\E0';
699 pfk11 = '\E[209z' | '\E-'; pfk12 = '\E[210z' | '\E=';
700 pfk13 = '^f13'; pfk14 = '^f14'; pfk15 = '^f15'; pfk16 = '^f16';
701 pfk17 = '^f17'; pfk18 = '^f18'; pfk19 = '^f19'; pfk20 = '^f20';
702 pfk21 = '^f21'; pfk22 = '^f22'; pfk23 = '^f23'; pfk24 = '^f24';
704 # program attention keys
705 pa1 = '^p1' | '\E[211z';
706 pa2 = '^p2' | '\E[212z';
715 reset = '^t'; # well, there is a little confusion here...
718 reshow = '^v'; # redisplay screen
719 escape = '^c'; # escape to telnet command mode
732 # Works with /usr/ucb/tn3270 except tn3270pc which requires /usr/new/tn3270.
734 msk22714 | mskermit22714 | msk227 | mskermit227 {
737 # MS-Kermit UCB 227.14 to Unix then tn3270 to CMS.
738 # Includes underlying ADM3A keystrokes for full S/1 compatibiliy.
739 # Attempts to work for both "do unix" and "do cms" keyboards. Differences are
740 # marked with (C) for CMS only or (U) for Unix only. Incidental effects are
741 # enclosed in square brackets [].
742 # New functions WERASE Ctrl-\ and FERASE Ctrl-_.
745 clear = '^z'; # keypad + (C)
747 nl = '^n'; # keypad End (C)
749 btab = '^b' | '\E^I'; # |<--- (C|U)
750 left = '^h'; # keypad Left
751 right = '^l'; # keypad Right
752 up = '^k'; # keypad Up
753 down = '^j' | '\EB'; # keypad Down (U|C)
755 home = '^^' | '^@'; # keypad Home (U|C)
756 dp = '^u' | '^a'; # [ keypad PgUp (U) ]
759 delete = '^d' | '^?'; # keypad Del
760 # [ keypad PgDn (U) ]
762 einp = '^w'; # keypad - (C)
763 insrt = '\E ' | '\Ei'; # keypad Ins (C|U)
765 # pf keys IBM PC/XT/AT and ADM3A Esc d
766 pfk1 = '\E1'; pfk2 = '\E2'; pfk3 = '\E3'; pfk4 = '\E4'; pfk5 = '\E5';
767 pfk6 = '\E6'; pfk7 = '\E7'; pfk8 = '\E8'; pfk9 = '\E9'; pfk10= '\E0';
768 # pf keys IBM PC/XT/AT Shift and ADM3A Ctrl-F nn
769 pfk11='^f11'; pfk12='^f12'; pfk13='^f13'; pfk14='^f14'; pfk15='^f15';
770 pfk16='^f16'; pfk17='^f17'; pfk18='^f18'; pfk19='^f19'; pfk20='^f20';
771 # pf keys IBM PC/XT/AT Ctrl- and ADM3A Ctrl-F nn
772 pfk21='^f21'; pfk22='^f22'; pfk23='^f23'; pfk24='^f24'; pfk25='^f25';
773 pfk26='^f26'; pfk27='^f27'; pfk28='^f28'; pfk29='^f29'; pfk30='^f30';
774 # pf keys IBM PC/XT/AT Ctrl-Shift- and ADM3A Ctrl-F nn
775 pfk31='^f31'; pfk32='^f32'; pfk33='^f33'; pfk34='^f34'; pfk35='^f35';
777 # pf keys IBM PC/XT/AT Alt-1 to Alt-= (generated as, Esc d, ^F 11, ^F 12)
778 # pf keys ADM3A Esc d (d = 1 to 0 interpreted as above)
779 pfk11 = '\E-'; pfk12 = '\E=';
781 # program attention keys (same as ADM3A)
782 pa1 = '^p1'; # Alt-F1
783 pa2 = '^p2'; # Alt-F2
784 pa3 = '^p3'; # Alt-F3
785 #pa4 = '^p4'; # Alt-F3
786 #testreq = '^pr' | '^pR'; # Alt-F5
798 escape = '^c'; # escape to telnet
803 clrtab = '\E:' | '\E+';
807 #coltab = '\Ei' | '\EI'; # cannot use Esc i
808 colbak = '\Eb'; # on S/1 \EB is down
809 #colbak = '\Eb' | '\EB'; # cannot use Esc B
810 indent = '\El' | '\EL';
811 undent = '\Eh' | '\EH'; # on S/1 \EH is Home
815 ansisys | ansisysk | nansisys | nansisysk {
818 # IBM PC/XT/AT using the ansi.sys | ansi.sysk | nansi.sys | nansi.sysk termcaps.
820 # PROBLEM: cannot use periods in termcap name until mset fixed (gts 9-5-86).
822 # PROBLEM: cannot use eval `mset ...` until Unix csh changed to allow more
823 # than 1024 characters in an environment string or until mset changed to
824 # return only the filename if the resulting string is longer than 1024.
826 # PROBLEM when NUL (^@) immediately follows a Return: Unix telent apparently
827 # ignores the NUL! (Can tn3270 negotiate a different newline?)
829 # Nearly identical to the map3270 for the IBM PC TN3270, which itself is nearly
830 # identical to the MS-Kermit UCB 227.14 keyboard which in turn was a modest
831 # improvement of the BIJOU Yterm keyboard. See HELP TN3270PC on CMS.
832 # Includes the underlying ADM3A keystrokes for full S/1 compatibility.
833 # Adds some Ctrl-keypad keys to compensate for TN3270 ROMBIOS dependency
834 # which prevents separate use of the keypad plus and minus keys.
835 # Adds new functions WERASE and FERASE.
839 clear = '^z' | '^@w'; # Ctrl-Home
841 nl = '^n' | '^@O'; # keypad End
843 btab = '^b' | '^@^O'; # |<---
844 left = '^h' | '^@K'; # keypad Left
845 right = '^l' | '^@M'; # keypad Right
846 up = '^k' | '^@H'; # keypad Up
847 down = '^j' | '^@P'; # keypad Down
848 home = '^^' | '^@G'; # keypad Home
849 # (cannot use Ctrl-@)
853 delete = '^d' | '^?' | '^@S'; # keypad Del
854 eeof = '^e' | '^@u'; # keypad Ctrl-End
856 insrt = '\E ' | '^@R' | '\E\Ei'; # keypad Ins
858 # pf keys IBM PC/XT/AT
859 pfk1 = '^@;'; pfk2 = '^@<'; pfk3 = '^@='; pfk4 = '^@>'; pfk5 = '^@?';
860 pfk6 = '^@@'; pfk7 = '^@A'; pfk8 = '^@B'; pfk9 = '^@C'; pfk10= '^@D';
861 # pf keys IBM PC/XT/AT Shift
862 pfk11 = '^@T'; pfk12 = '^@U'; pfk13 = '^@V'; pfk14 = '^@W'; pfk15 = '^@X';
863 pfk16 = '^@Y'; pfk17 = '^@Z'; pfk18 = '^@['; pfk19 = '^@\\'; pfk20 = '^@]';
864 # pf keys IBM PC/XT/AT Ctrl-
865 pfk21 = '^@\^';pfk22 = '^@_'; pfk23 = '^@`'; pfk24 = '^@a'; pfk25 = '^@b';
866 pfk26 = '^@c'; pfk27 = '^@d'; pfk28 = '^@e'; pfk29 = '^@\f'; pfk30 = '^@g';
867 # pf keys IBM PC/XT/AT Ctrl-Shift- (cannot be done yet with PC tn3270)
868 # pf keys IBM PC/XT/AT Alt-d
869 pfk1 = '^@x'; pfk2 = '^@y'; pfk3 = '^@z'; pfk4 = '^@{'; pfk5 = '^@|';
870 pfk6 = '^@}'; pfk7 = '^@~'; pfk8 = '^@^?';pfk9 = '^@^@';pfk10= '^@^A';
871 pfk11='^@^B'; pfk12= '^@^C';
873 # pf keys ADM3A Esc d
874 pfk1 = '\E1'; pfk2 = '\E2'; pfk3 = '\E3'; pfk4 = '\E4'; pfk5 = '\E5';
875 pfk6 = '\E6'; pfk7 = '\E7'; pfk8 = '\E8'; pfk9 = '\E9'; pfk10= '\E0';
876 pfk11 = '\E-'; pfk12 = '\E=';
877 # pf keys ADM3A Ctrl-F n n
878 pfk1 = '^f01'; pfk2 = '^f02'; pfk3 = '^f03'; pfk4 = '^f04'; pfk5= '^f05';
879 pfk6 = '^f06'; pfk7 = '^f07'; pfk8 = '^f08'; pfk9 = '^f09'; pfk10= '^f10';
880 pfk11= '^f11'; pfk12= '^f12'; pfk13= '^f13'; pfk14= '^f14'; pfk15= '^f15';
881 pfk16= '^f16'; pfk17= '^f17'; pfk18= '^f18'; pfk19= '^f19'; pfk20= '^f20';
882 pfk21= '^f21'; pfk22= '^f22'; pfk23= '^f23'; pfk24= '^f24'; pfk25= '^f25';
883 pfk26= '^f26'; pfk27= '^f27'; pfk28= '^f28'; pfk29= '^f29'; pfk30= '^f30';
884 pfk31= '^f31'; pfk32= '^f32'; pfk33= '^f33'; pfk34= '^f34'; pfk35= '^f35';
887 # program attention keys
888 pa1 = '^p1' | '^@h'; # Alt-F1
889 pa2 = '^p2' | '^@i'; # Alt-F2
890 pa3 = '^p3' | '^@j'; # Alt-F3
891 #pa4 = '^p4' | '^@k'; # Alt-F4
892 #testreq = '^pr' | '^pR' | '^@l' # Alt-F5
898 pfk7 = '^@I' | '\E^U'; # keypad PgUp
899 pfk8 = '^@Q' | '\E^D'; # keypad PgDn
906 escape = '^c'; # escape to TN3270 command prompt
911 clrtab = '\E:' | '\E+';
914 coltab = '\Ei' | '\EI';
915 colbak = '\Eb' | '\EB'; # on S/1 \EB is down
916 indent = '\El' | '\EL';
917 undent = '\Eh' | '\EH'; # on S/1 \EH is Home
921 tn3270pc | ibm-3278-2 {
925 # MAP3270 for the IBM PC logged into Unix with PC TN3270 with TERM=nansisys,
926 # nansisysk, ansisys or ansisysk, hence requires KETBD=tn3270pc.
928 # MAP3270 for the IBM PC
929 # Nearly identical to the MS-Kermit UCB 227.14 keyboard which in turn was
930 # an modest improvement of the BIJOU Yterm keyboard.
931 # Includes underlying ADM3A keystrokes for full S/1 compatibiliy.
932 # Adds some Ctrl-keypad keys to compensate for TN3270 ROMBIOS dependency
933 # which prevents separate use of the keypad plus and minus keys, and adds
934 # new functions WERASE, FERASE, WORDTAB, WORDBACKTAB, WORDEND and FIELDEND.
935 # Where possible these extensions are compatible with IBM PC keystroke usage
936 # (see XT technical reference manual Keyboard Usage Guidelines).
937 # Includes F11 and F12 keys from the new IBM PC/XT/AT keyboard.
940 centsign = '\Ec' | '\EC'; # CentSign for input
942 clear = '^z' | '^Aw'; # Ctrl-Home
944 nl = '^n' | '^AO'; # keypad End
946 btab = '^b' | '\E^I' | '^A^O'; # |<---
947 left = '^h' | '^AK'; # keypad Left
948 right = '^l' | '^AM'; # keypad Right
949 up = '^k' | '^AH'; # keypad Up
950 down = '^j' | '^AP'; # keypad Down
951 home = '^^' | '^AG' | '^@'; # keypad Home
955 delete = '^d' | '^AS'; # keypad Del
956 eeof = '^e' | '^Au'; # keypad End
958 insrt = '\E ' | '^AR'; # keypad Ins
960 # pf keys IBM PC/XT/AT
961 pfk1 = '^A;'; pfk2 = '^A<'; pfk3 = '^A='; pfk4 = '^A>'; pfk5 = '^A?';
962 pfk6 = '^A@'; pfk7 = '^AA'; pfk8 = '^AB'; pfk9 = '^AC'; pfk10= '^AD';
963 # pf keys IBM PC/XT/AT Shift
964 pfk11 = '^AT'; pfk12 = '^AU'; pfk13 = '^AV'; pfk14 = '^AW'; pfk15 = '^AX';
965 pfk16 = '^AY'; pfk17 = '^AZ'; pfk18 = '^A['; pfk19 = '^A\\'; pfk20 = '^A]';
966 # pf keys IBM PC/XT/AT Ctrl-
967 pfk21 = '^A\^';pfk22 = '^A_'; pfk23 = '^A`'; pfk24 = '^Aa'; pfk25 = '^Ab';
968 pfk26 = '^Ac'; pfk27 = '^Ad'; pfk28 = '^Ae'; pfk29 = '^Af'; pfk30 = '^Ag';
969 # pf keys IBM PC/XT/AT Alt-d
970 pfk1 = '^Ax'; pfk2 = '^Ay'; pfk3 = '^Az'; pfk4 = '^A{'; pfk5 = '^A|';
971 pfk6 = '^A}'; pfk7 = '^A~'; pfk8 = '^A^?';pfk9 = '^A^A^@';pfk10= '^A^A^A';
972 pfk11='^A^A^b'; pfk12= '^A^A^c';
973 # pf keys NEW IBM PC/XT/AT Keyboard
974 pfk11='^A^A^e'; pfk12= '^A^A^f';
976 # pf keys ADM3A Esc d
977 pfk1 = '\E1'; pfk2 = '\E2'; pfk3 = '\E3'; pfk4 = '\E4'; pfk5 = '\E5';
978 pfk6 = '\E6'; pfk7 = '\E7'; pfk8 = '\E8'; pfk9 = '\E9'; pfk10= '\E0';
979 pfk11 = '\E-'; pfk12 = '\E=';
980 # pf keys ADM3A Ctrl-F n n
981 pfk1 = '^f01'; pfk2 = '^f02'; pfk3 = '^f03'; pfk4 = '^f04'; pfk5= '^f05';
982 pfk6 = '^f06'; pfk7 = '^f07'; pfk8 = '^f08'; pfk9 = '^f09'; pfk10= '^f10';
983 pfk11= '^f11'; pfk12= '^f12'; pfk13= '^f13'; pfk14= '^f14'; pfk15= '^f15';
984 pfk16= '^f16'; pfk17= '^f17'; pfk18= '^f18'; pfk19= '^f19'; pfk20= '^f20';
985 pfk21= '^f21'; pfk22= '^f22'; pfk23= '^f23'; pfk24= '^f24'; pfk25= '^f25';
986 pfk26= '^f26'; pfk27= '^f27'; pfk28= '^f28'; pfk29= '^f29'; pfk30= '^f30';
987 pfk31= '^f31'; pfk32= '^f32'; pfk33= '^f33'; pfk34= '^f34'; pfk35= '^f35';
990 # program attention keys
991 pa1 = '^p1' | '^Ah'; # Alt-F1
992 pa2 = '^p2' | '^Ai'; # Alt-F2
993 pa3 = '^p3' | '^Aj'; # Alt-F3
994 treq = '^pr' | '^pR' | '^Al'; # Alt-F5
1000 wordtab = '^At'; # Ctrl-Right
1001 wordbacktab = '^As'; # Ctrl-Left
1002 wordend = '^A^A^d'; # Ctrl-PgUp
1003 fieldend = '^Av'; # Ctrl-PgDn
1004 pfk7 = '^AI'; # keypad PgUp
1005 pfk8 = '^AQ'; # keypad PgDn
1007 # local control keys
1008 reset = '^r' | '^t';
1009 master_reset = '^g';
1012 escape = '^c'; # to command prompt
1013 disc = '^pS1D'; # disconnect (suspend)?
1014 sync = '^pS1S'; # in sync with user?
1016 # local editing keys
1019 clrtab = '\E:' | '\E+';
1022 coltab = '\Ei' | '\EI';
1023 colbak = '\Eb' | '\EB'; # on S/1 \EB is down
1024 indent = '\El' | '\EL';
1025 undent = '\Eh' | '\EH'; # on S/1 \EH is Home