1 # Copyright (c) 1989, 1993
2 # The Regents of the University of California. All rights reserved.
4 # Redistribution and use in source and binary forms, with or without
5 # modification, are permitted provided that the following conditions
7 # 1. Redistributions of source code must retain the above copyright
8 # notice, this list of conditions and the following disclaimer.
9 # 2. Redistributions in binary form must reproduce the above copyright
10 # notice, this list of conditions and the following disclaimer in the
11 # documentation and/or other materials provided with the distribution.
12 # 3. All advertising materials mentioning features or use of this software
13 # must display the following acknowledgement:
14 # This product includes software developed by the University of
15 # California, Berkeley and its contributors.
16 # 4. Neither the name of the University nor the names of its contributors
17 # may be used to endorse or promote products derived from this software
18 # without specific prior written permission.
20 # THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
21 # ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
22 # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
23 # ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
24 # FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
25 # DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
26 # OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
27 # HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
28 # LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
29 # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
32 # @(#)map3270 8.2 (Berkeley) 4/1/94
35 # This file contains mappings between characters entered from the keyboard,
36 # and 3270 keys, for use by programs (like tn3270) doing 3270 emulation
39 # Inside the single quotes, a caret ("^") introduces a control character
40 # sequence (rub out = ^?, by the way). Also inside the single quotes,
41 # a backslash ('\') introduces an escaped character. Also, \n, \r, \t,
42 # are all as in C, and \E is another way of representing escape.
44 # NOTE that while we are defining lots of function, much of that
45 # function (ie: local editing keys) may not yet be available from tn3270.
47 # Please e-mail changes to termcap@berkeley.edu or uunet!ucbvax!termcap.
63 delete = '^d' | '^?'; # rubout
71 pfk1 = '\E1'; pfk2 = '\E2'; pfk3 = '\E3'; pfk4 = '\E4';
72 pfk5 = '\E5'; pfk6 = '\E6'; pfk7 = '\E7'; pfk8 = '\E8';
73 pfk9 = '\E9'; pfk10 = '\E0'; pfk11 = '\E:'; pfk12 = '\E-';
74 pfk13 = '^f13'; pfk14 = '^f14'; pfk15 = '^f15'; pfk16 = '^f16';
75 pfk17 = '^f17'; pfk18 = '^f18'; pfk19 = '^f19'; pfk20 = '^f20';
76 pfk21 = '^f21'; pfk22 = '^f22'; pfk23 = '^f23'; pfk24 = '^f24';
78 # program attention keys
89 reset = '^t'; # well, there is a little confusion here...
92 reshow = '^v'; # redisplay screen
93 escape = '^c'; # escape to telnet command mode
108 920c | tvi920c | 920b { # tvi920c definitions...
114 # cursor movement keys
115 nl = '^^' | '^n'; # home
117 btab = '^b' | '\E^i';
125 delete = '^?' | '^d'; # delete
132 # program function keys
135 pfk1 = '^a@^m'; pfk2 = '^aA^m'; pfk3 = '^aB^m'; pfk4 = '^aC^m';
136 pfk5 = '^aD^m'; pfk6 = '^aE^m'; pfk7 = '^aF^m'; pfk8 = '^aG^m';
137 pfk9 = '^aH^m'; pfk10 = '^aI^m'; pfk11 = '^aJ^m';
143 pfk11 = '\E^a@^m'; pfk12 = '\E^aA^m';
144 pfk13 = '\E^aB^m'; pfk14 = '\E^aC^m'; pfk15 = '\E^aD^m'; pfk16 = '\E^aE^m';
145 pfk17 = '\E^aF^m'; pfk18 = '\E^aG^m'; pfk19 = '\E^aH^m'; pfk20 = '\E^aI^m';
148 # ESC SHIFT-F1 to ESC SHIFT-F4
149 pfk21 = '\E^a`^m'; pfk22 = '\E^aa^m'; pfk23 = '\E^ab^m'; pfk24 = '\E^ac^m';
151 pfk1 = '\E1'; pfk2 = '\E2'; pfk3 = '\E3'; pfk4 = '\E4';
152 pfk5 = '\E5'; pfk6 = '\E6'; pfk7 = '\E7'; pfk8 = '\E8';
153 pfk9 = '\E9'; pfk10 = '\E0'; pfk11 = '\E-'; pfk12 = '\E=';
154 pfk13 = '^f13'; pfk14 = '^f14'; pfk15 = '^f15'; pfk16 = '^f16';
155 pfk17 = '^f17'; pfk18 = '^f18'; pfk19 = '^f19'; pfk20 = '^f20';
156 pfk21 = '^f21'; pfk22 = '^f22'; pfk23 = '^f23'; pfk24 = '^f24';
158 # program attention keys
160 pa1 = '^a`^m' | '^p1';
161 pa2 = '^aa^m' | '^p2';
162 pa3 = '^ab^m' | '^p3';
164 # miscellaneous 3270 keys
171 reset = '^t'; # there is some confusion here...
175 escape = '^c'; # escape to telnet command mode
184 coltab = '\Ei' | '\EI';
185 colbak = '\Eb' | '\EB';
186 indent = '\El' | '\EL';
187 undent = '\Eh' | '\EH';
188 } # end of tvi920c table...
190 925 | tvi925 | 925vb | tvi925vb | televideo 925 {
197 # cursor movement keys
210 delete = '^?'; # that's rubout...
213 insrt = '\E ' | '\EW';
215 # program function keys
242 pfk1 = '\E1'; pfk2 = '\E2'; pfk3 = '\E3'; pfk4 = '\E4';
243 pfk5 = '\E5'; pfk6 = '\E6'; pfk7 = '\E7'; pfk8 = '\E8';
244 pfk9 = '\E9'; pfk10 = '\E0'; pfk11 = '\E-'; pfk12 = '\E=';
245 pfk13 = '^f13'; pfk14 = '^f14'; pfk15 = '^f15'; pfk16 = '^f16';
246 pfk17 = '^f17'; pfk18 = '^f18'; pfk19 = '^f19'; pfk20 = '^f20';
247 pfk21 = '^f21'; pfk22 = '^f22'; pfk23 = '^f23'; pfk24 = '^f24';
249 # program attention keys
260 reset = '^t'; # again, there is some confusion here...
264 escape = '^c'; # escape to telnet command mode
287 # cursor movement keys
300 delete = '^?'; # that's rubout...
303 insrt = '\E ' | '\EW';
307 # program function keys
334 pfk1 = '\E1'; pfk2 = '\E2'; pfk3 = '\E3'; pfk4 = '\E4';
335 pfk5 = '\E5'; pfk6 = '\E6'; pfk7 = '\E7'; pfk8 = '\E8';
336 pfk9 = '\E9'; pfk10 = '\E0'; pfk11 = '\E-'; pfk12 = '\E=';
337 pfk13 = '^f13'; pfk14 = '^f14'; pfk15 = '^f15'; pfk16 = '^f16';
338 pfk17 = '^f17'; pfk18 = '^f18'; pfk19 = '^f19'; pfk20 = '^f20';
339 pfk21 = '^f21'; pfk22 = '^f22'; pfk23 = '^f23'; pfk24 = '^f24';
341 # program attention keys
352 reset = '^t'; # again, there is some confusion here...
356 escape = '^c'; # escape to telnet command mode
371 h19 | heath | h19b | heathkit | heath-19 | z19 | zenith {
390 pfk1 = '\E?p\E?q'; pfk2 = '\E?p\E?r'; pfk3 = '\E?p\E?s'; pfk4 = '\E?p\E?t';
391 pfk5 = '\E?p\E?u'; pfk6 = '\E?p\E?v'; pfk7 = '\E?p\E?w'; pfk8 = '\E?p\E?x';
392 pfk9 = '\E?p\E?y'; pfk10 = '\E?q\E?p'; pfk11 = '\E?q\E?q'; pfk12 = '\E?q\E?r';
393 pfk13 = '\E?q\E?s'; pfk14 = '\E?q\E?t'; pfk15 = '\E?q\E?u'; pfk16 = '\E?q\E?v';
394 pfk17 = '\E?q\E?w'; pfk18 = '\E?q\E?x'; pfk19 = '\E?q\E?y'; pfk20 = '\E?r\E?p';
395 pfk21 = '\E?r\E?q'; pfk22 = '\E?r\E?r'; pfk23 = '\E?r\E?s'; pfk24 = '\E?r\E?t';
397 pfk1 = '\E1'; pfk2 = '\E2'; pfk3 = '\E3'; pfk4 = '\E4';
398 pfk5 = '\E5'; pfk6 = '\E6'; pfk7 = '\E7'; pfk8 = '\E8';
399 pfk9 = '\E9'; pfk10 = '\E0'; pfk11 = '\E-'; pfk12 = '\E=';
400 pfk13 = '^f13'; pfk14 = '^f14'; pfk15 = '^f15'; pfk16 = '^f16';
401 pfk17 = '^f17'; pfk18 = '^f18'; pfk19 = '^f19'; pfk20 = '^f20';
402 pfk21 = '^f21'; pfk22 = '^f22'; pfk23 = '^f23'; pfk24 = '^f24';
404 # program attention keys
412 # cursel = '\E.'; # find out what this does
417 reset = '^t'; # well, there is a little confusion here...
419 reshow = '^v'; # redisplay screen
420 escape = '^c'; # escape to telnet command mode
435 co | c100 | concept | c100-4p | concept100 {
437 clear = '^z' | '^\2';
443 right = '^l' | '\E=';
448 delete = '^d' | '^?' | '^\1';
454 pfk1 = '\E\E1' | '^\5'; pfk2 = '\E\E2' | '^\6'; pfk3 = '\E\E3' | '^\7';
455 pfk4 = '\E\E4' | '^\8'; pfk5 = '\E\E5' | '^\9'; pfk6 = '\E\E6' | '^\:';
456 pfk7 = '\E\E7' | '^\;'; pfk8 = '\E\E8' | '^\<'; pfk9 = '\E\E9' | '^\=';
457 pfk10 = '\E\E0' | '^\>'; pfk11 = '\E\E-' | '^\?'; pfk12 = '^\@';
458 pfk13 = '^\A'; pfk14 = '^\B'; pfk15 = '^\)'; pfk16 = '^\*';
459 pfk17 = '^\+'; pfk18 = '^\,'; pfk19 = '^\-'; pfk20 = '^\.';
460 pfk21 = '^\/'; pfk22 = '^\C'; pfk23 = '^\D'; pfk24 = '^\E';
462 pfk1 = '\E1'; pfk2 = '\E2'; pfk3 = '\E3'; pfk4 = '\E4';
463 pfk5 = '\E5'; pfk6 = '\E6'; pfk7 = '\E7'; pfk8 = '\E8';
464 pfk9 = '\E9'; pfk10 = '\E0'; pfk11 = '\E-'; pfk12 = '^f12';
465 pfk13 = '^f13'; pfk14 = '^f14'; pfk15 = '^f15'; pfk16 = '^f16';
466 pfk17 = '^f17'; pfk18 = '^f18'; pfk19 = '^f19'; pfk20 = '^f20';
467 pfk21 = '^f21'; pfk22 = '^f22'; pfk23 = '^f23'; pfk24 = '^f24';
469 # program attention keys
484 reset = '^t'; # well, there is a little confusion here...
486 reshow = '^v'; # redisplay screen
487 escape = '^c'; # escape to telnet command mode
500 avt | avt-8p-s | avt-4p-s | avt-rv {
502 clear = '^z' | '\EOM';
507 left = '^h' | '\E[D';
508 right = '^l' | '\E[C';
510 down = '^j' | '\E[B';
516 insrt = '^ ' | '\E ';
519 pfk1 = '\EOq' | '\E1'; pfk2 = '\EOr' | '\E2'; pfk3 = '\EOs' | '\E3';
520 pfk4 = '\EOt' | '\E4'; pfk5 = '\EOu' | '\E5'; pfk6 = '\EOv' | '\E6';
521 pfk7 = '\EOw' | '\E7'; pfk8 = '\EOx' | '\E8'; pfk9 = '\EOy' | '\E9';
522 pfk10 = '\EOP\EOp' | '\E0'; pfk11 = '\EOP\EOq' | '\E-';
523 pfk12 = '\EOP\EOr' | '\E='; pfk13 = '\EOP\EOs' | '^f13';
524 pfk14 = '\EOP\EOt' | '^f14'; pfk15 = '\EOP\EOu' | '^f15';
525 pfk16 = '\EOP\EOv' | '^f16'; pfk17 = '\EOP\EOw' | '^f17';
526 pfk18 = '\EOP\EOx' | '^f18'; pfk19 = '\EOP\EOy' | '^f19';
527 pfk20 = '\EOQ\EOp' | '^f20'; pfk21 = '\EOQ\EOq' | '^f21';
529 pfk22 = '^f22'; pfk23 = '^f23'; pfk24 = '^f24';
531 # program attention keys
532 pa1 = '\E\EOP' | '^p1';
533 pa2 = '\E\EOQ' | '^p2';
537 escape = '^c'; # escape to telnet command mode
553 tvipt | vp | televideopt {
572 pfk1 = '\E1' | '^A@^m';
573 pfk2 = '\E2' | '^AA^m';
574 pfk3 = '\E3' | '^AB^m';
575 pfk4 = '\E4' | '^AC^m';
576 pfk5 = '\E5' | '^AD^m';
577 pfk6 = '\E6' | '^AE^m';
578 pfk7 = '\E7' | '^AF^m';
582 pfk11 = '\E!' | '\E^A@^m';
583 pfk12 = '\E@' | '\E^AA^m';
584 pfk13 = '\E#' | '\E^AB^m';
585 pfk14 = '\E$' | '\E^AC^m';
586 pfk15 = '\E%' | '\E^AD^m';
587 pfk16 = '\E^AE^m' | '\E\^';
588 pfk17 = '\E&' | '\E^AF^m';
593 # program attention keys
604 reset = '^t'; # well, there is a little confusion here...
607 reshow = '^v'; # redisplay screen
608 escape = '^c'; # escape to telnet command mode
615 coltab = '\Ei' | '\EI';
616 colbak = '\Eb' | '\EB';
617 indent = '\El' | '\EL';
618 undent = '\Eh' | '\EH';
620 vt100 | vt100nam | pt100 | vt125 | vt102 | direct831 | tek4125 | pcplot | microvax | vt220 | vt320 | xterm{
622 clear = '^z' | '\EOM';
627 left = '^h' | '\E[D' | '\EOD';
628 right = '^l' | '\E[C' | '\EOC';
629 up = '^k' | '\E[A' | '\EOA';
630 down = '\E[B' | '\EOB';
633 delete = '^d' | '^?';
636 insrt = '^ ' | '\E ';
639 pfk1 = '\EOq' | '\E1'; pfk2 = '\EOr' | '\E2'; pfk3 = '\EOs' | '\E3';
640 pfk4 = '\EOt' | '\E4'; pfk5 = '\EOu' | '\E5'; pfk6 = '\EOv' | '\E6';
641 pfk7 = '\EOw' | '\E7'; pfk8 = '\EOx' | '\E8'; pfk9 = '\EOy' | '\E9';
642 pfk10 = '\EOP\EOp' | '\E0'; pfk11 = '\EOP\EOq' | '\E-';
643 pfk12 = '\EOP\EOr' | '\E='; pfk13 = '\EOP\EOs' | '^f13';
644 pfk14 = '\EOP\EOt' | '^f14'; pfk15 = '\EOP\EOu' | '^f15';
645 pfk16 = '\EOP\EOv' | '^f16'; pfk17 = '\EOP\EOw' | '^f17';
646 pfk18 = '\EOP\EOx' | '^f18'; pfk19 = '\EOP\EOy' | '^f19';
647 pfk20 = '\EOQ\EOp' | '^f20'; pfk21 = '\EOQ\EOq' | '^f21';
649 # program attention keys
650 pa1 = '\E\EOP' | '^p1';
651 pa2 = '\E\EOQ' | '^p2';
655 escape = '^c'; # escape to telnet command mode
669 } # end of vt100, etc.
673 clear = '^z' | '\E[222z';
677 btab = '^b' | '\E[195z' | '\E[216z';
678 left = '^h' | '\E[D' | '\EOD';
679 right = '^l' | '\E[C' | '\EOC';
680 up = '^k' | '\E[A' | '\EOA';
681 down = '\E[B' | '\EOB';
684 delete = '^d' | '^?';
685 eeof = '^e' | '\E[214z';
686 einp = '^w' | '\E[213z';
687 insrt = '\E ' | '\E[220z';
692 pfk1 = '\E[224z' | '\E1'; pfk2 = '\E[225z' | '\E2';
693 pfk3 = '\E[226z' | '\E3'; pfk4 = '\E[227z' | '\E4';
694 pfk5 = '\E[228z' | '\E5'; pfk6 = '\E[229z' | '\E6';
695 pfk7 = '\E[230z' | '\E7'; pfk8 = '\E[231z' | '\E8';
696 pfk9 = '\E[232z' | '\E9'; pfk10 = '\E[208z' | '\E0';
697 pfk11 = '\E[209z' | '\E-'; pfk12 = '\E[210z' | '\E=';
698 pfk13 = '^f13'; pfk14 = '^f14'; pfk15 = '^f15'; pfk16 = '^f16';
699 pfk17 = '^f17'; pfk18 = '^f18'; pfk19 = '^f19'; pfk20 = '^f20';
700 pfk21 = '^f21'; pfk22 = '^f22'; pfk23 = '^f23'; pfk24 = '^f24';
702 # program attention keys
703 pa1 = '^p1' | '\E[211z';
704 pa2 = '^p2' | '\E[212z';
713 reset = '^t'; # well, there is a little confusion here...
716 reshow = '^v'; # redisplay screen
717 escape = '^c'; # escape to telnet command mode
730 # Works with /usr/ucb/tn3270 except tn3270pc which requires /usr/new/tn3270.
732 msk22714 | mskermit22714 | msk227 | mskermit227 {
735 # MS-Kermit UCB 227.14 to Unix then tn3270 to CMS.
736 # Includes underlying ADM3A keystrokes for full S/1 compatibiliy.
737 # Attempts to work for both "do unix" and "do cms" keyboards. Differences are
738 # marked with (C) for CMS only or (U) for Unix only. Incidental effects are
739 # enclosed in square brackets [].
740 # New functions WERASE Ctrl-\ and FERASE Ctrl-_.
743 clear = '^z'; # keypad + (C)
745 nl = '^n'; # keypad End (C)
747 btab = '^b' | '\E^I'; # |<--- (C|U)
748 left = '^h'; # keypad Left
749 right = '^l'; # keypad Right
750 up = '^k'; # keypad Up
751 down = '^j' | '\EB'; # keypad Down (U|C)
753 home = '^^' | '^@'; # keypad Home (U|C)
754 dp = '^u' | '^a'; # [ keypad PgUp (U) ]
757 delete = '^d' | '^?'; # keypad Del
758 # [ keypad PgDn (U) ]
760 einp = '^w'; # keypad - (C)
761 insrt = '\E ' | '\Ei'; # keypad Ins (C|U)
763 # pf keys IBM PC/XT/AT and ADM3A Esc d
764 pfk1 = '\E1'; pfk2 = '\E2'; pfk3 = '\E3'; pfk4 = '\E4'; pfk5 = '\E5';
765 pfk6 = '\E6'; pfk7 = '\E7'; pfk8 = '\E8'; pfk9 = '\E9'; pfk10= '\E0';
766 # pf keys IBM PC/XT/AT Shift and ADM3A Ctrl-F nn
767 pfk11='^f11'; pfk12='^f12'; pfk13='^f13'; pfk14='^f14'; pfk15='^f15';
768 pfk16='^f16'; pfk17='^f17'; pfk18='^f18'; pfk19='^f19'; pfk20='^f20';
769 # pf keys IBM PC/XT/AT Ctrl- and ADM3A Ctrl-F nn
770 pfk21='^f21'; pfk22='^f22'; pfk23='^f23'; pfk24='^f24'; pfk25='^f25';
771 pfk26='^f26'; pfk27='^f27'; pfk28='^f28'; pfk29='^f29'; pfk30='^f30';
772 # pf keys IBM PC/XT/AT Ctrl-Shift- and ADM3A Ctrl-F nn
773 pfk31='^f31'; pfk32='^f32'; pfk33='^f33'; pfk34='^f34'; pfk35='^f35';
775 # pf keys IBM PC/XT/AT Alt-1 to Alt-= (generated as, Esc d, ^F 11, ^F 12)
776 # pf keys ADM3A Esc d (d = 1 to 0 interpreted as above)
777 pfk11 = '\E-'; pfk12 = '\E=';
779 # program attention keys (same as ADM3A)
780 pa1 = '^p1'; # Alt-F1
781 pa2 = '^p2'; # Alt-F2
782 pa3 = '^p3'; # Alt-F3
783 #pa4 = '^p4'; # Alt-F3
784 #testreq = '^pr' | '^pR'; # Alt-F5
796 escape = '^c'; # escape to telnet
801 clrtab = '\E:' | '\E+';
805 #coltab = '\Ei' | '\EI'; # cannot use Esc i
806 colbak = '\Eb'; # on S/1 \EB is down
807 #colbak = '\Eb' | '\EB'; # cannot use Esc B
808 indent = '\El' | '\EL';
809 undent = '\Eh' | '\EH'; # on S/1 \EH is Home
813 ansisys | ansisysk | nansisys | nansisysk {
816 # IBM PC/XT/AT using the ansi.sys | ansi.sysk | nansi.sys | nansi.sysk termcaps.
818 # PROBLEM: cannot use periods in termcap name until mset fixed (gts 9-5-86).
820 # PROBLEM: cannot use eval `mset ...` until Unix csh changed to allow more
821 # than 1024 characters in an environment string or until mset changed to
822 # return only the filename if the resulting string is longer than 1024.
824 # PROBLEM when NUL (^@) immediately follows a Return: Unix telent apparently
825 # ignores the NUL! (Can tn3270 negotiate a different newline?)
827 # Nearly identical to the map3270 for the IBM PC TN3270, which itself is nearly
828 # identical to the MS-Kermit UCB 227.14 keyboard which in turn was a modest
829 # improvement of the BIJOU Yterm keyboard. See HELP TN3270PC on CMS.
830 # Includes the underlying ADM3A keystrokes for full S/1 compatibility.
831 # Adds some Ctrl-keypad keys to compensate for TN3270 ROMBIOS dependency
832 # which prevents separate use of the keypad plus and minus keys.
833 # Adds new functions WERASE and FERASE.
837 clear = '^z' | '^@w'; # Ctrl-Home
839 nl = '^n' | '^@O'; # keypad End
841 btab = '^b' | '^@^O'; # |<---
842 left = '^h' | '^@K'; # keypad Left
843 right = '^l' | '^@M'; # keypad Right
844 up = '^k' | '^@H'; # keypad Up
845 down = '^j' | '^@P'; # keypad Down
846 home = '^^' | '^@G'; # keypad Home
847 # (cannot use Ctrl-@)
851 delete = '^d' | '^?' | '^@S'; # keypad Del
852 eeof = '^e' | '^@u'; # keypad Ctrl-End
854 insrt = '\E ' | '^@R' | '\E\Ei'; # keypad Ins
856 # pf keys IBM PC/XT/AT
857 pfk1 = '^@;'; pfk2 = '^@<'; pfk3 = '^@='; pfk4 = '^@>'; pfk5 = '^@?';
858 pfk6 = '^@@'; pfk7 = '^@A'; pfk8 = '^@B'; pfk9 = '^@C'; pfk10= '^@D';
859 # pf keys IBM PC/XT/AT Shift
860 pfk11 = '^@T'; pfk12 = '^@U'; pfk13 = '^@V'; pfk14 = '^@W'; pfk15 = '^@X';
861 pfk16 = '^@Y'; pfk17 = '^@Z'; pfk18 = '^@['; pfk19 = '^@\\'; pfk20 = '^@]';
862 # pf keys IBM PC/XT/AT Ctrl-
863 pfk21 = '^@\^';pfk22 = '^@_'; pfk23 = '^@`'; pfk24 = '^@a'; pfk25 = '^@b';
864 pfk26 = '^@c'; pfk27 = '^@d'; pfk28 = '^@e'; pfk29 = '^@\f'; pfk30 = '^@g';
865 # pf keys IBM PC/XT/AT Ctrl-Shift- (cannot be done yet with PC tn3270)
866 # pf keys IBM PC/XT/AT Alt-d
867 pfk1 = '^@x'; pfk2 = '^@y'; pfk3 = '^@z'; pfk4 = '^@{'; pfk5 = '^@|';
868 pfk6 = '^@}'; pfk7 = '^@~'; pfk8 = '^@^?';pfk9 = '^@^@';pfk10= '^@^A';
869 pfk11='^@^B'; pfk12= '^@^C';
871 # pf keys ADM3A Esc d
872 pfk1 = '\E1'; pfk2 = '\E2'; pfk3 = '\E3'; pfk4 = '\E4'; pfk5 = '\E5';
873 pfk6 = '\E6'; pfk7 = '\E7'; pfk8 = '\E8'; pfk9 = '\E9'; pfk10= '\E0';
874 pfk11 = '\E-'; pfk12 = '\E=';
875 # pf keys ADM3A Ctrl-F n n
876 pfk1 = '^f01'; pfk2 = '^f02'; pfk3 = '^f03'; pfk4 = '^f04'; pfk5= '^f05';
877 pfk6 = '^f06'; pfk7 = '^f07'; pfk8 = '^f08'; pfk9 = '^f09'; pfk10= '^f10';
878 pfk11= '^f11'; pfk12= '^f12'; pfk13= '^f13'; pfk14= '^f14'; pfk15= '^f15';
879 pfk16= '^f16'; pfk17= '^f17'; pfk18= '^f18'; pfk19= '^f19'; pfk20= '^f20';
880 pfk21= '^f21'; pfk22= '^f22'; pfk23= '^f23'; pfk24= '^f24'; pfk25= '^f25';
881 pfk26= '^f26'; pfk27= '^f27'; pfk28= '^f28'; pfk29= '^f29'; pfk30= '^f30';
882 pfk31= '^f31'; pfk32= '^f32'; pfk33= '^f33'; pfk34= '^f34'; pfk35= '^f35';
885 # program attention keys
886 pa1 = '^p1' | '^@h'; # Alt-F1
887 pa2 = '^p2' | '^@i'; # Alt-F2
888 pa3 = '^p3' | '^@j'; # Alt-F3
889 #pa4 = '^p4' | '^@k'; # Alt-F4
890 #testreq = '^pr' | '^pR' | '^@l' # Alt-F5
896 pfk7 = '^@I' | '\E^U'; # keypad PgUp
897 pfk8 = '^@Q' | '\E^D'; # keypad PgDn
904 escape = '^c'; # escape to TN3270 command prompt
909 clrtab = '\E:' | '\E+';
912 coltab = '\Ei' | '\EI';
913 colbak = '\Eb' | '\EB'; # on S/1 \EB is down
914 indent = '\El' | '\EL';
915 undent = '\Eh' | '\EH'; # on S/1 \EH is Home
919 tn3270pc | ibm-3278-2 {
923 # MAP3270 for the IBM PC logged into Unix with PC TN3270 with TERM=nansisys,
924 # nansisysk, ansisys or ansisysk, hence requires KETBD=tn3270pc.
926 # MAP3270 for the IBM PC
927 # Nearly identical to the MS-Kermit UCB 227.14 keyboard which in turn was
928 # an modest improvement of the BIJOU Yterm keyboard.
929 # Includes underlying ADM3A keystrokes for full S/1 compatibiliy.
930 # Adds some Ctrl-keypad keys to compensate for TN3270 ROMBIOS dependency
931 # which prevents separate use of the keypad plus and minus keys, and adds
932 # new functions WERASE, FERASE, WORDTAB, WORDBACKTAB, WORDEND and FIELDEND.
933 # Where possible these extensions are compatible with IBM PC keystroke usage
934 # (see XT technical reference manual Keyboard Usage Guidelines).
935 # Includes F11 and F12 keys from the new IBM PC/XT/AT keyboard.
938 centsign = '\Ec' | '\EC'; # CentSign for input
940 clear = '^z' | '^Aw'; # Ctrl-Home
942 nl = '^n' | '^AO'; # keypad End
944 btab = '^b' | '\E^I' | '^A^O'; # |<---
945 left = '^h' | '^AK'; # keypad Left
946 right = '^l' | '^AM'; # keypad Right
947 up = '^k' | '^AH'; # keypad Up
948 down = '^j' | '^AP'; # keypad Down
949 home = '^^' | '^AG' | '^@'; # keypad Home
953 delete = '^d' | '^AS'; # keypad Del
954 eeof = '^e' | '^Au'; # keypad End
956 insrt = '\E ' | '^AR'; # keypad Ins
958 # pf keys IBM PC/XT/AT
959 pfk1 = '^A;'; pfk2 = '^A<'; pfk3 = '^A='; pfk4 = '^A>'; pfk5 = '^A?';
960 pfk6 = '^A@'; pfk7 = '^AA'; pfk8 = '^AB'; pfk9 = '^AC'; pfk10= '^AD';
961 # pf keys IBM PC/XT/AT Shift
962 pfk11 = '^AT'; pfk12 = '^AU'; pfk13 = '^AV'; pfk14 = '^AW'; pfk15 = '^AX';
963 pfk16 = '^AY'; pfk17 = '^AZ'; pfk18 = '^A['; pfk19 = '^A\\'; pfk20 = '^A]';
964 # pf keys IBM PC/XT/AT Ctrl-
965 pfk21 = '^A\^';pfk22 = '^A_'; pfk23 = '^A`'; pfk24 = '^Aa'; pfk25 = '^Ab';
966 pfk26 = '^Ac'; pfk27 = '^Ad'; pfk28 = '^Ae'; pfk29 = '^Af'; pfk30 = '^Ag';
967 # pf keys IBM PC/XT/AT Alt-d
968 pfk1 = '^Ax'; pfk2 = '^Ay'; pfk3 = '^Az'; pfk4 = '^A{'; pfk5 = '^A|';
969 pfk6 = '^A}'; pfk7 = '^A~'; pfk8 = '^A^?';pfk9 = '^A^A^@';pfk10= '^A^A^A';
970 pfk11='^A^A^b'; pfk12= '^A^A^c';
971 # pf keys NEW IBM PC/XT/AT Keyboard
972 pfk11='^A^A^e'; pfk12= '^A^A^f';
974 # pf keys ADM3A Esc d
975 pfk1 = '\E1'; pfk2 = '\E2'; pfk3 = '\E3'; pfk4 = '\E4'; pfk5 = '\E5';
976 pfk6 = '\E6'; pfk7 = '\E7'; pfk8 = '\E8'; pfk9 = '\E9'; pfk10= '\E0';
977 pfk11 = '\E-'; pfk12 = '\E=';
978 # pf keys ADM3A Ctrl-F n n
979 pfk1 = '^f01'; pfk2 = '^f02'; pfk3 = '^f03'; pfk4 = '^f04'; pfk5= '^f05';
980 pfk6 = '^f06'; pfk7 = '^f07'; pfk8 = '^f08'; pfk9 = '^f09'; pfk10= '^f10';
981 pfk11= '^f11'; pfk12= '^f12'; pfk13= '^f13'; pfk14= '^f14'; pfk15= '^f15';
982 pfk16= '^f16'; pfk17= '^f17'; pfk18= '^f18'; pfk19= '^f19'; pfk20= '^f20';
983 pfk21= '^f21'; pfk22= '^f22'; pfk23= '^f23'; pfk24= '^f24'; pfk25= '^f25';
984 pfk26= '^f26'; pfk27= '^f27'; pfk28= '^f28'; pfk29= '^f29'; pfk30= '^f30';
985 pfk31= '^f31'; pfk32= '^f32'; pfk33= '^f33'; pfk34= '^f34'; pfk35= '^f35';
988 # program attention keys
989 pa1 = '^p1' | '^Ah'; # Alt-F1
990 pa2 = '^p2' | '^Ai'; # Alt-F2
991 pa3 = '^p3' | '^Aj'; # Alt-F3
992 treq = '^pr' | '^pR' | '^Al'; # Alt-F5
998 wordtab = '^At'; # Ctrl-Right
999 wordbacktab = '^As'; # Ctrl-Left
1000 wordend = '^A^A^d'; # Ctrl-PgUp
1001 fieldend = '^Av'; # Ctrl-PgDn
1002 pfk7 = '^AI'; # keypad PgUp
1003 pfk8 = '^AQ'; # keypad PgDn
1005 # local control keys
1006 reset = '^r' | '^t';
1007 master_reset = '^g';
1010 escape = '^c'; # to command prompt
1011 disc = '^pS1D'; # disconnect (suspend)?
1012 sync = '^pS1S'; # in sync with user?
1014 # local editing keys
1017 clrtab = '\E:' | '\E+';
1020 coltab = '\Ei' | '\EI';
1021 colbak = '\Eb' | '\EB'; # on S/1 \EB is down
1022 indent = '\El' | '\EL';
1023 undent = '\Eh' | '\EH'; # on S/1 \EH is Home