# /usr/share/misc/map3270
# mail corrections and additions to "termcap"
#
# this file contains mappings between characters entered from the keyboard,
# and 3270 keys, for use by programs (like tn3270) doing 3270 emulation
# from unix.
#
# inside the single quotes, a caret ("^") introduces a control character
# sequence (rub out = ^?, by the way).  also inside the single quotes,
# a backslash ('\') introduces an escaped character.  Also, \n, \r, \t,
# are all as in c, and \E is another way of representing escape.
#
#	NOTE that while we are defining lots of function, much of that
# function (ie: local editing keys) may not yet be available from
# tn3270.


3a | adm3a {
    enter = '^m';
    clear = '^z';

    nl = '^n' | '^^';
    tab = '^i';
    btab = '^b';
    left = '^h';
    right = '^l';
    up = '^k';
    down = '^j';
    home = '^@';

    delete = '^d' | '^?';
    eeof = '^e';
    einp = '^w';
    insrt = '\E ';
    dp = '^u';
    fm = '^y';

    # pf keys
    pfk1 = '\E1'; pfk2 = '\E2'; pfk3 = '\E3'; pfk4 = '\E4';
    pfk5 = '\E5'; pfk6 = '\E6'; pfk7 = '\E7'; pfk8 = '\E8';
    pfk9 = '\E9'; pfk10 = '\E0'; pfk11 = '\E:'; pfk12 = '\E-';
    pfk13 = '^f13'; pfk14 = '^f14'; pfk15 = '^f15'; pfk16 = '^f16';
    pfk17 = '^f17'; pfk18 = '^f18'; pfk19 = '^f19'; pfk20 = '^f20';
    pfk21 = '^f21'; pfk22 = '^f22'; pfk23 = '^f23'; pfk24 = '^f24';

    # program attention keys
    pa1 = '^p1';
    pa2 = '^p2';
    pa3 = '^p3';

    # other keys
    cursel = '\E.';

    # local control keys

    reset = '^t';	# well, there is a little confusion here...
    master_reset = '^g';
    flinp = '^x';
    reshow = '^v';	# redisplay screen 
    escape = '^c';	# escape to telnet command mode

    # local editing keys
    settab = '\E;';
    clrtab = '\E+';
    setmrg = '\E(';
    sethom = '\E!';
    coltab = '\Ei';
    colbak = '\Eb';
    indent = '\El';
    undent = '\Eh';

} # end of adm3a

920c | tvi920c {	# tvi920c definitions...

    # command keys
    enter = '^m';
    clear = '^z';

    # cursor movement keys
    nl = '^^';
    tab = '^i';
    btab = '^b';
    left = '^h';
    right = '^l';
    up = '^k';
    down = '^j';
    home = '^@';

    # edit control keys
    delete = '^?' | '^d';
    eeof = '^e';
    einp = '^w';
    insrt = '\E ';
    dp = '^u';
    fm = '^y';

    # program function keys
    pfk1 = '^a@^m'; pfk2 = '^aA^m'; pfk3 = '^aB^m'; pfk4 = '^aC^m';
    pfk5 = '^aD^m'; pfk6 = '^aE^m'; pfk7 = '^aF^m'; pfk8 = '^aG^m';
    pfk9 = '^aH^m'; pfk10 = '^aI^m'; pfk11 = '^aJ^m' | '\E^a@^m';
						pfk12 = '^aj^m' | '\E^aA^m';
    pfk13 = '\E^aB^m'; pfk14 = '\E^aC^m'; pfk15 = '\E^aD^m'; pfk16 = '\E^aE^m';
    pfk17 = '\E^aF^m'; pfk18 = '\E^aG^m'; pfk19 = '\E^aH^m'; pfk20 = '\E^aI^m';
    pfk21 = '\E^a`^m'; pfk22 = '\E^aa^m'; pfk23 = '\E^ab^m'; pfk24 = '\E^ac^m';

    # program attention keys

    pa1 = '^a`^m';
    pa2 = '^aa^m';
    pa3 = '^ab^m';

    # miscellaneous 3270 keys

    cursel = '\E.';

    # local control keys

    reset = '^t';		# there is some confusion here...
    master_reset = '^g';
    flinp = '^x';
    reshow = '^v';
    escape = '^c';	# escape to telnet command mode

    # local editing keys

    settab = '\E;';
    clrtab = '\E:';
    setmrg = '\E*';
    sethom = '\E!';
    coltab = '\Ei' | '\EI';
    colbak = '\Eb' | '\EB';
    indent = '\El' | '\EL';
    undent = '\Eh' | '\EH';
} # end of tvi920c table...

925 | tvi925 | 925vb | tvi925vb | televideo 925 {

    # command keys

    enter = '^m';
    clear = '^z';

    # cursor movement keys

    nl = '^j';
    tab = '^i';
    btab = '\EI';
    left = '^h';
    right = '^l';
    up = '^k';
    down = '^v';
    home = '^^';

    # edit control keys

    delete = '^?';	# that's rubout...
    eeof = '^e';
    einp = '^w';
    insrt = '\E ' | '\EW';

    # program function keys

    pfk1 = '^a@^m';
    pfk2 = '^aA^m';
    pfk3 = '^aB^m';
    pfk4 = '^aC^m';
    pfk5 = '^aD^m';
    pfk6 = '^aE^m';
    pfk7 = '^aF^m';
    pfk8 = '^aG^m';
    pfk9 = '^aH^m';
    pfk10 = '^aI^m';
    pfk11 = '^aJ^m';
    pfk12 = '\EQ';
    pfk13 = '\E^a@^m';
    pfk14 = '\E^aA^m';
    pfk15 = '\E^aB^m';
    pfk16 = '\E^aC^m';
    pfk17 = '\E^aD^m';
    pfk18 = '\E^aE^m';
    pfk19 = '\E^aF^m';
    pfk20 = '\E^aG^m';
    pfk21 = '\E^aH^m';
    pfk22 = '\E^aI^m';
    pfk23 = '\E^aJ^m';
    pfk24 = '\E\EQ';

    # program attention keys

    pa1 = '^a`^m';
    pa2 = '^aa^m';
    pa3 = '^ab^m';

    # other keys

    # local control keys

    reset = '^t';		# again, there is some confusion here...
    master_reset = '^g';
    flinp = '^x';
    reshow = '^b';
    escape = '^c';	# escape to telnet command mode

# local editing keys

    settab = '\EY';
    deltab = '\Ey';
    clrtab = '\E:';
    setmrg = '\ET';
    sethom = '\Et';
    coltab = '^p';
    colbak = '^o';
    indent = '\ER';
    undent = '\EE';
}


924 | tvi924 {

    # command keys

    enter = '^m';
    clear = '^z';

    # cursor movement keys

    nl = '^j';
    tab = '^i';
    btab = '\EI';
    left = '^h';
    right = '^l';
    up = '^k';
    down = '^v';
    home = '^^';

    # edit control keys

    delete = '^?';	# that's rubout...
    eeof = '^e';
    einp = '^w';
    insrt = '\E ' | '\EW';
    dp = '^u';
    fm = '^y';

    # program function keys

    pfk1 = '^a@^m';
    pfk2 = '^aA^m';
    pfk3 = '^aB^m';
    pfk4 = '^aC^m';
    pfk5 = '^aD^m';
    pfk6 = '^aE^m';
    pfk7 = '^aF^m';
    pfk8 = '^aG^m';
    pfk9 = '^aH^m';
    pfk10 = '^aI^m';
    pfk11 = '^aJ^m';
    pfk12 = '^aK^m';
    pfk13 = '\E^a@^m';
    pfk14 = '\E^aA^m';
    pfk15 = '\E^aB^m';
    pfk16 = '\E^aC^m';
    pfk17 = '\E^aD^m';
    pfk18 = '\E^aE^m';
    pfk19 = '\E^aF^m';
    pfk20 = '\E^aG^m';
    pfk21 = '\E^aH^m';
    pfk22 = '\E^aI^m';
    pfk23 = '\E^aJ^m';
    pfk24 = '\E^aK^m';

    # program attention keys

    pa1 = '^a`^m';
    pa2 = '^aa^m';
    pa3 = '^ab^m';

    # other keys

    # local control keys

    reset = '^t';		# again, there is some confusion here...
    master_reset = '^g';
    flinp = '^x';
    reshow = '^b';
    escape = '^c';	# escape to telnet command mode

    # local editing keys

    settab = '\EY';
    deltab = '\Ey';
    clrtab = '\E:';
    setmrg = '\ET';
    sethom = '\Et';
    coltab = '^p';
    colbak = '^o';
    indent = '\ER';
    undent = '\EE';
}

#kb | h19 | heath | h19b | heathkit | heath-19 | z19 | zenith {
 kb | h19 | heath | h19b | heathkit | z19 | zenith {  #coughs on heath-19
enter = '^m';
clear = '^z';

nl = '^n' | '^?';
tab = '^i';
btab = '^b';
left = '^h';
right = '^l';
up = '^k';
down = '^j';
home = '^@';

delete = '^d';
eeof = '^e';
einp = '^w';
insrt = '\E ';

# pf keys
pfk1 = '\E?p\E?q'; pfk2 = '\E?p\E?r'; pfk3 = '\E?p\E?s'; pfk4 = '\E?p\E?t';
pfk5 = '\E?p\E?u'; pfk6 = '\E?p\E?v'; pfk7 = '\E?p\E?w'; pfk8 = '\E?p\E?x';
pfk9 = '\E?p\E?y'; pfk10 = '\E?q\E?p'; pfk11 = '\E?q\E?q'; pfk12 = '\E?q\E?r';
pfk13 = '\E?q\E?s'; pfk14 = '\E?q\E?t'; pfk15 = '\E?q\E?u'; pfk16 = '\E?q\E?v';
pfk17 = '\E?q\E?w'; pfk18 = '\E?q\E?x'; pfk19 = '\E?q\E?y'; pfk20 = '\E?r\E?p';
pfk21 = '\E?r\E?q'; pfk22 = '\E?r\E?r'; pfk23 = '\E?r\E?s'; pfk24 = '\E?r\E?t';

# program attention keys
pa1 = '\EP';
pa2 = '\EQ';
pa3 = '\ER';

# other keys
# cursel = '\E.'; # find out what this does
master_reset = '^g';

# local control keys

reset = '^t';	# well, there is a little confusion here...
flinp = '^x';
reshow = '^v';	# redisplay screen 
escape = '^c';	# escape to telnet command mode

# local editing keys
settab = '\E;';
clrtab = '\E:';
setmrg = '\E\'';
sethom = '\E!';
coltab = '\Ei';
colbak = '\Eb';
indent = '\El';
undent = '\Eh';

} # end of h19


#co | c100 | concept | c100-4p | concept100 {
co | c100 | concept | concept100 {  # coughs on c100-4p
enter = '^m';
clear = '^z' | '^\2';

nl = '^n';
tab = '^i';
btab = '^b';
left = '^h' | '\E>';
right = '^l' | '\E=';
up = '^k' | '\E;';
down = '^j' | '\E<';
home = '\E?';

delete = '^d' | '^?' | '^\1';
eeof = '^e' | '^\3';
einp = '^w';
insrt = '^\0';

# pf keys
pfk1 = '\E\E1' | '^\5'; pfk2 = '\E\E2' | '^\6'; pfk3 = '\E\E3' | '^\7';
pfk4 = '\E\E4' | '^\8'; pfk5 = '\E\E5' | '^\9'; pfk6 = '\E\E6' | '^\:';
pfk7 = '\E\E7' | '^\;'; pfk8 = '\E\E8' | '^\<'; pfk9 = '\E\E9' | '^\=';
pfk10 = '\E\E0' | '^\>'; pfk11 = '\E\E-' | '^\?'; pfk12 = '^\@';
pfk13 = '^\A'; pfk14 = '^\B'; pfk15 = '^\)'; pfk16 = '^\*';
pfk17 = '^\+'; pfk18 = '^\,'; pfk19 = '^\-'; pfk20 = '^\.';
pfk21 = '^\/'; pfk22 = '^\C'; pfk23 = '^\D'; pfk24 = '^\E';

# program attention keys
pa1 = '^\%';
pa2 = '^\&' | '\E+';
pa3 = '^\\'';

# other keys
cursel = '\E.'; 
aplon = '\E{';
aplend = '\E}';
aploff = '\E_';
master_reset = '^g';

# local control keys

reset = '^t';	# well, there is a little confusion here...
flinp = '^x';
reshow = '^v';	# redisplay screen 
escape = '^c';	# escape to telnet command mode

# local editing keys
settab = '\E\E;';
clrtab = '\E\E:';
setmrg = '\E\E*';
sethom = '\E\E!';
coltab = '\E\Ei';
colbak = '\E\Eb';
indent = '\E\El';
undent = '\E\Eh';

} # end of concept
avt | vt100 | vt100nam | pt100 | vt125 | vt102 | direct831 {
enter = '^m';
clear = '^z' | '\EOM';			# Keypad enter key

nl = '^?';
tab = '^i';
btab = '^b';
left = '^h' | '\E[D' | '\EOD';		# Arrow key (application/numeric modes)
right = '^l' | '\E[C' | '\EOC';		# Arrow key (application/numeric modes)
up = '^k' | '\E[A' | '\EOA';		# Arrow key (application/numeric modes)
down = '^j' | '\E[B' | '\EOB';		# Arrow key (application/numeric modes)
home = '\EOn';				# Keypad period key

delete = '^d';
eeof = '^e';
einp = '^w';
insrt = '^ ';

# pfk keys
# Keypad digits 1-9 correspond to pf keys 1-9
pfk1 = '\EOq' | '\E1'; pfk2 = '\EOr' | '\E2'; pfk3 = '\EOs' | '\E3';
pfk4 = '\EOt' | '\E4'; pfk5 = '\EOu' | '\E5'; pfk6 = '\EOv' | '\E6';
pfk7 = '\EOw' | '\E7'; pfk8 = '\EOx' | '\E8'; pfk9 = '\EOy' | '\E9';

# Keypad digits 0-9 prefixed by pf1 (gold key) correspond to pfk10-19
pfk10 = '\EOP\EOp' | '\E0'; pfk11 = '\EOP\EOq' | '\E-';
pfk12 = '\EOP\EOr' | '\E='; pfk13 = '\EOP\EOs' | '^f13';
pfk14 = '\EOP\EOt' | '^f14'; pfk15 = '\EOP\EOu' | '^f15';
pfk16 = '\EOP\EOv' | '^f16'; pfk17 = '\EOP\EOw' | '^f17';
pfk18 = '\EOP\EOx' | '^f18'; pfk19 = '\EOP\EOy' | '^f19';

# Keypad digits 0-9 prefixed by pf2 correspond to pfk20,21
pfk20 = '\EOQ\EOp' | '^f20'; pfk21 = '\EOQ\EOq' | '^f21';

# program attention keys
pa1 = '\E\EOP' | '^p1';		# pa1 is Escape pf1
pa2 = '\E\EOQ' | '^p2';		# pa2 is Escape pf2

# local control keys

reset = '^t';	# well, there is a little confusion here...
flinp = '^x';
reshow = '^v';	# redisplay screen 
escape = '^c';	# escape to telnet command mode
master_reset = '^g';

# local editing keys
settab = '\E;';			# Escape key
deltab = '\E\'';		# Escape \
clrtab = '\E:';			# Escape :
setmrg = '\E,';			# Escape ,
sethom = '\E.';			# Escape .
coltab = '\E\E[B' | '\E\EOB';	# Escape down-arrow
colbak = '\E\E[A' | '\E\EOA';	# Escape up-arrow
indent = '\E\E[C' | '\E\EOC';	# Escape right-arrow
undent = '\E\E[D' | '\E\EOD';	# Escape left-arrow
}    # end of vt100, etc.

tvipt | vp | televideopt {
    enter = '^m';
    clear = '^z';

 nl = '^n';
    tab = '^i';
    btab = '^b';
    left = '^h';
    right = '^l';
    up = '^k';
    down = '^j';
    home = '^^';

    delete = '^?';
    eeof = '^e';
    einp = '^w';
    insrt = '\E ';

    # pf keys
    pfk1 = '\E1' | '^A@^m';		
    pfk2 = '\E2' | '^AA^m';
    pfk3 = '\E3' | '^AB^m'; 
    pfk4 = '\E4' | '^AC^m';
    pfk5 = '\E5' | '^AD^m';
    pfk6 = '\E6' | '^AE^m'; 
    pfk7 = '\E7' | '^AF^m';
    pfk8 = '\E8';
    pfk9 = '\E9';
    pfk10 = '\E0';
    pfk11 = '\E!' | '\E^A@^m';
    pfk12 = '\E@' | '\E^AA^m';
    pfk13 = '\E#' | '\E^AB^m';
    pfk14 = '\E$' | '\E^AC^m';
    pfk15 = '\E%' | '\E^AD^m';
    pfk16 = '\E^AE^m' | '\E\^';
    pfk17 = '\E&' | '\E^AF^m';
    pfk18 = '\E*'; 
    pfk19 = '\E(';
    pfk20 = '\E)';

    # program attention keys
    pa1 = '^AG^m';
    pa2 = '^AH^m';
    pa3 = '^AI^m';

    # other keys
#    # cursel = '\E.';

    # local control keys

    reset = '^t';	# well, there is a little confusion here...
    master_reset = '^g';
    flinp = '^x';
    reshow = '^v';	# redisplay screen 
    escape = '^c';	# escape to telnet command mode

    # local editing keys
    settab = '\E;';
    clrtab = '\E:';
    setmrg = '\E[';
    sethom = '\E+';
    coltab = '\Ei' | '\EI';
    colbak = '\Eb' | '\EB';
    indent = '\El' | '\EL';
    undent = '\Eh' | '\EH';
} # end of tvipt
