4.4BSD/usr/share/man/cat5/map3270.0
MAP3270(5) BSD Programmer's Manual MAP3270(5)
NNAAMMEE
map3270 - database for mapping ascii keystrokes into IBM
3270 keys
SSYYNNOOPPSSIISS
mmaapp33227700
DDEESSCCRRIIPPTTIIOONN
When emulating IBM-syle 3270 terminals under UNIX (see
_t_n_3_2_7_0(1)), a mapping must be performed between sequences
of keys hit on a user's (ascii) keyboard, and the keys
that are available on a 3270. For example, a 3270 has a
key labeled EEEEOOFF which erases the contents of the current
field from the location of the cursor to the end. In
order to accomplish this function, the terminal user and a
program emulating a 3270 must agree on what keys will be
typed to invoke the EEEEOOFF function.
The requirements for these sequences are:
1) that the first character of the sequence be outside of the
standard ascii printable characters;
2) that no sequence _b_e an initial part of another (although
sequences may _s_h_a_r_e initial parts).
FFOORRMMAATT
The file consists of entries for various keyboards. The
first part of an entry lists the names of the keyboards
which use that entry. These names will often be the same
as in _/_e_t_c_/_t_e_r_m_c_a_p (see _t_e_r_m_c_a_p(5)); however, note that
often the terminals from various termcap entries will all
use the same _m_a_p_3_2_7_0 entry; for example, both 925 and
925vb (for 925 with visual bells) would probably use the
same _m_a_p_3_2_7_0 entry. Additionally, there are occasions
when the terminal type defines a window manager, and it
will then be necessary to specify a keyboard name (via the
KKEEYYBBDD environment variable) as the name of the entry.
After the names, separated by vertical bars (`|'), comes a
left brace (`{'); the definitions; and, finally, a right
brace (`}').
Each definition consists of a reserved keyword (see list
below) which identifies the 3270 function (extended as
defined below), followed by an equal sign (`='), followed
by the various ways to generate this particular function,
followed by a semi-colon (`;'). Each way is a sequence of
strings of _p_r_i_n_t_a_b_l_e ascii characters enclosed inside sin-
gle quotes (`''); various ways (alternatives) are sepa-
rated by vertical bars (`|').
4.3 Berkeley Distribution June 6, 1993 1
MAP3270(5) BSD Programmer's Manual MAP3270(5)
Inside the single quotes, a few characters are special. A
caret (`^') specifies that the next character is the
``control'' character of whatever the character is. So,
`^a' represents control-a, ie: hexadecimal 1 (note that
`^A' would generate the same code). To generate rruubboouutt
(DEL), one enters `^?'. To represent a control character
inside a file requires using the caret to represent a con-
trol sequence; simply typing control-A will not work.
Note: the ctrl-caret sequence (to generate a hexadecimal
1E) is represented as `^^' (not `^\^').
In addition to the caret, a letter may be preceeded by a
backslash (`\'). Since this has little effect for most
characters, its use is usually not recommended. For the
case of a single quote (`''), the backslash prevents that
single quote from terminating the string. For the case of
a caret (`^'), the backslash prevents the caret from hav-
ing its special meaning. To have the backslash be part of
the string, it is necessary to place two backslashes
('\\') in the file.
In addition, the following characters are special:
`\E' means an escape character;
`\n' means newline;
`\t' means tab;
`\r' means carriage return.
It is not necessary for each character in a string to be
enclosed within single quotes. `\E\E\E' means three
escape characters.
Comments, which may appear anywhere on a line, begin with
a hash mark (`#'), and terminate at the end of that line.
However, comments cannot begin inside a quoted string; a
hash mark inside a quoted string has no special meaning.
33227700 KKEEYYSS SSUUPPPPOORRTTEEDD
The following is the list of 3270 key names that are sup-
ported in this file. Note that some of the keys don't
really exist on a 3270. In particular, the developers of
this file have relied extensively on the work at the Yale
University Computer Center with their 3270 emulator which
runs in an IBM Series/1 front end. The following list
corresponds closely to the functions that the developers
of the Yale code offer in their product.
IInn tthhee ffoolllloowwiinngg lliisstt,, tthhee ssttaarrrreedd ((""**"")) ffuunnccttiioonnss aarree nnoott
ssuuppppoorrtteedd bbyy _t_n_3_2_7_0(1). An unsupported function will
cause _t_n_3_2_7_0_(_1_) to send a (possibly visual) bell sequence
4.3 Berkeley Distribution June 6, 1993 2
MAP3270(5) BSD Programmer's Manual MAP3270(5)
to the user's terminal.
3270 Key Name Functional description
(*)LPRT local print
DP dup character
FM field mark character
CURSEL cursor select
CENTSIGN EBCDIC cent sign
RESHOW redisplay the screen
EINP erase input
EEOF erase end of field
DELETE delete character
INSRT toggle insert mode
TAB field tab
BTAB field back tab
COLTAB column tab
COLBAK column back tab
INDENT indent one tab stop
UNDENT undent one tab stop
NL new line
HOME home the cursor
UP up cursor
DOWN down cursor
RIGHT right cursor
LEFT left cursor
SETTAB set a column tab
DELTAB delete a columntab
SETMRG set left margin
SETHOM set home position
CLRTAB clear all column tabs
(*)APLON apl on
(*)APLOFF apl off
(*)APLEND treat input as ascii
(*)PCON xon/xoff on
(*)PCOFF xon/xoff off
DISC disconnect (suspend)
(*)INIT new terminal type
(*)ALTK alternate keyboard dvorak
FLINP flush input
ERASE erase last character
WERASE erase last word
FERASE erase field
SYNCH we are in synch with the user
RESET reset key-unlock keyboard
MASTER_RESET reset, unlock and redisplay
(*)XOFF please hold output
(*)XON please give me output
ESCAPE enter telnet command mode
WORDTAB tab to beginning of next word
WORDBACKTAB tab to beginning of current/last word
4.3 Berkeley Distribution June 6, 1993 3
MAP3270(5) BSD Programmer's Manual MAP3270(5)
WORDEND tab to end of current/next word
FIELDEND tab to last non-blank of current/next
unprotected (writable) field.
PA1 program attention 1
PA2 program attention 2
PA3 program attention 3
CLEAR local clear of the 3270 screen
TREQ test request
ENTER enter key
PFK1 program function key 1
PFK2 program function key 2
etc. etc.
PFK36 program function key 36
AA SSAAMMPPLLEE EENNTTRRYY
The following entry is used by tn3270(1) when unable to
locate a reasonable version in the user's environment and
in /etc/map3270:
name { # actual name comes from TERM variable
clear = '^z';
flinp = '^x';
enter = '^m';
delete = '^d' | '^?'; # note that '^?' is delete (rubout)
synch = '^r';
reshow = '^v';
eeof = '^e';
tab = '^i';
btab = '^b';
nl = '^n';
left = '^h';
right = '^l';
up = '^k';
down = '^j';
einp = '^w';
reset = '^t';
xoff = '^s';
xon = '^q';
escape = '^c';
ferase = '^u';
insrt = ' ';
# program attention keys
pa1 = '^p1'; pa2 = '^p2'; pa3 = '^p3';
# program function 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 = '\E!'; pfk14 = '\E@'; pfk15 = '\E#'; pfk16 = '\E$';
4.3 Berkeley Distribution June 6, 1993 4
MAP3270(5) BSD Programmer's Manual MAP3270(5)
pfk17 = '\E%'; pfk18 = '\E'; pfk19 = '\E&'; pfk20 = '\E*';
pfk21 = '\E('; pfk22 = '\E)'; pfk23 = '\E_'; pfk24 = '\E+';
}
IIBBMM 33227700 KKEEYY DDEEFFIINNIITTOONNSS FFOORR AANN AABBOOVVEE DDEEFFIINNIITTIIOONN
The charts below show the proper keys to emulate each 3270
function when using the default key mapping supplied with
_t_n_3_2_7_0(1) and _m_s_e_t(1).
Command Keys IBM 3270 Key Default Key(s)
Enter RETURN
Clear control-z
Cursor Movement Keys
New Line control-n or
Home
Tab control-i
Back Tab control-b
Cursor Left control-h
Cursor Right control-l
Cursor Up control-k
Cursor Down control-j or
LINE FEED
Edit Control Keys
Delete Char control-d or
RUB
Erase EOF control-e
Erase Input control-w
Insert Mode ESC Space
End Insert ESC Space
Program Function Keys
PF1 ESC 1
PF2 ESC 2
... ...
PF10 ESC 0
PF11 ESC -
PF12 ESC =
PF13 ESC !
PF14 ESC @
... ...
PF24 ESC +
Program Attention Keys
PA1 control-p 1
PA2 control-p 2
PA3 control-p 3
Local Control Keys
Reset After Error control-r
Purge Input Buffer control-x
Keyboard Unlock control-t
Redisplay Screen control-v
Other Keys
Erase current field control-u
4.3 Berkeley Distribution June 6, 1993 5
MAP3270(5) BSD Programmer's Manual MAP3270(5)
FFIILLEESS
/etc/map3270
SSEEEE AALLSSOO
tn3270(1), mset(1), _Y_a_l_e _A_S_C_I_I _T_e_r_m_i_n_a_l _C_o_m_m_u_n_i_c_a_t_i_o_n _S_y_s_-
_t_e_m _I_I _P_r_o_g_r_a_m _D_e_s_c_r_i_p_t_i_o_n_/_O_p_e_r_a_t_o_r_'_s _M_a_n_u_a_l (IBM
SB30-1911)
AAUUTTHHOORR
Greg Minshall
BBUUGGSS
_T_n_3_2_7_0 doesn't yet understand how to process all the func-
tions available in _m_a_p_3_2_7_0_; when such a function is
requested _t_n_3_2_7_0 will beep at you.
The definition of "word" (for "word erase", "word tab")
should be a run-time option. Currently it is defined as
the kernel tty driver defines it (strings of non-
whitespace); more than one person would rather use the
"vi" definition (strings of specials, strings of alphanu-
meric).
4.3 Berkeley Distribution June 6, 1993 6