386BSD 0.1 development
[unix-history] / usr / src / usr.bin / tn3270 / map3270.5
CommitLineData
7b089094
WJ
1.\" Copyright (c) 1986 The Regents of the University of California.
2.\" All rights reserved.
3.\"
4.\" Redistribution and use in source and binary forms, with or without
5.\" modification, are permitted provided that the following conditions
6.\" are met:
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.
19.\"
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
30.\" SUCH DAMAGE.
31.\"
32.\" @(#)map3270.5 4.5 (Berkeley) 7/31/91
33.\"
34.TH MAP3270 5 "July 31, 1991"
35.UC 6
36.SH NAME
37map3270 \- database for mapping ascii keystrokes into IBM 3270 keys
38.SH SYNOPSIS
39.B map3270
40.SH DESCRIPTION
41When emulating IBM-syle 3270 terminals under \s-1UNIX\s0 (see \fItn3270\fR(1)),
42a mapping must be performed between sequences of keys hit on
43a user's (ascii) keyboard, and the keys that are
44available on a 3270. For example, a 3270 has a key labeled
45.B EEOF
46which erases the contents of the current field from the
47location of the cursor to the end.
48In order to accomplish this function,
49the terminal user and a program emulating a 3270 must
50agree on what keys will be typed
51to invoke the
52.B EEOF
53function.
54.PP
55The requirements for these sequences are:
56.nf
57.ta 4n 9n
58.sp
59 1) that the first character of the sequence be outside of the
60 standard ascii printable characters;
61.sp
62 2) that no sequence \fIbe\fR an initial part of another (although
63 sequences may \fIshare\fR initial parts).
64.sp
65.fi
66.SH FORMAT
67The file consists of entries for various keyboards. The first part
68of an entry lists the names of the keyboards which use that entry.
69These names will often be the same as in
70.I /etc/termcap
71(see
72.IR termcap (5));
73however, note that often the terminals from various termcap entries will all
74use the same
75.I map3270
76entry; for example, both 925 and 925vb (for
77925 with visual bells) would probably use the same
78.I map3270
79entry.
80Additionally, there are occasions when the terminal type defines
81a window manager, and it will then be necessary to specify a
82keyboard name (via the
83.B KEYBD
84environment variable) as the name of the entry.
85After the names, separated by vertical bars (`|'), comes a left
86brace (`{'); the definitions; and, finally, a right brace
87(`}').
88.PP
89Each definition consists of a reserved keyword (see list below) which
90identifies the 3270 function (extended as defined below), followed
91by an equal sign (`='), followed by the various ways to generate
92this particular function, followed by a semi-colon (`;').
93Each way is a sequence of strings of
94.I printable
95ascii characters enclosed inside single quotes (`\(aa');
96various ways (alternatives) are separated by vertical bars (`|').
97.PP
98Inside the single quotes, a few characters are special.
99A caret
100(`^') specifies that the next character is
101the ``control'' character of whatever the character is.
102So, `^a'
103represents control-a, ie: hexadecimal 1
104(note that `^A' would generate the same code).
105To generate
106.B rubout
107(DEL),
108one enters `^?'.
109To represent a control character inside a file
110requires using the caret to represent a control sequence;
111simply typing control-A will not work.
112Note: the ctrl-caret sequence
113(to generate a hexadecimal 1E)
114is represented as `^^' (not `^\e^').
115.PP
116In addition to the caret, a letter may be preceeded by a backslash (`\e').
117Since this has little effect for most characters,
118its use is usually not recommended.
119For the case of a single quote (`\(aa'), the backslash
120prevents that single quote from terminating the string.
121For the case of a caret (`^'), the backslash prevents
122the caret from having its special meaning.
123To have the backslash be part of the string, it is necessary to
124place two backslashes ('\e\e') in the file.
125.PP
126In addition, the following characters are special:
127.sp
128.nf
129.in +0.5i
130`\eE' means an escape character;
131`\en' means newline;
132`\et' means tab;
133`\er' means carriage return.
134.in -0.5i
135.fi
136.sp
137It is not necessary for each character in a string
138to be enclosed within single quotes.
139`\eE\eE\eE' means three escape characters.
140.PP
141Comments, which may appear anywhere on a line,
142begin with a hash mark (`#'), and terminate
143at the end of that line.
144However, comments cannot begin inside a quoted string;
145a hash mark inside a quoted string has no special meaning.
146.PP
147.SH 3270 KEYS SUPPORTED
148The following is the list of 3270 key names that are supported in this file.
149Note that some of the keys don't really exist on a 3270.
150In particular, the developers of this file have relied
151extensively on the work at the Yale University Computer Center with
152their 3270 emulator which runs in an IBM Series/1 front end.
153The following list corresponds closely to the functions
154that the developers of the Yale code offer in their product.
155.sp
156.B In the following list, the
157.B starred ("*")
158.B functions are not supported by
159.IR tn3270 (1).
160An unsupported function will cause
161.IR tn3270(1)
162to send a (possibly visual) bell sequence to the user's terminal.
163.sp
164.nf
165 3270 Key Name Functional description
166
167 (*)LPRT local print
168 DP dup character
169 FM field mark character
170 CURSEL cursor select
171 CENTSIGN EBCDIC cent sign
172 RESHOW redisplay the screen
173 EINP erase input
174 EEOF erase end of field
175 DELETE delete character
176 INSRT toggle insert mode
177 TAB field tab
178 BTAB field back tab
179 COLTAB column tab
180 COLBAK column back tab
181 INDENT indent one tab stop
182 UNDENT undent one tab stop
183 NL new line
184 HOME home the cursor
185 UP up cursor
186 DOWN down cursor
187 RIGHT right cursor
188 LEFT left cursor
189 SETTAB set a column tab
190 DELTAB delete a columntab
191 SETMRG set left margin
192 SETHOM set home position
193 CLRTAB clear all column tabs
194 (*)APLON apl on
195 (*)APLOFF apl off
196 (*)APLEND treat input as ascii
197 (*)PCON xon/xoff on
198 (*)PCOFF xon/xoff off
199 DISC disconnect (suspend)
200 (*)INIT new terminal type
201 (*)ALTK alternate keyboard dvorak
202 FLINP flush input
203 ERASE erase last character
204 WERASE erase last word
205 FERASE erase field
206 SYNCH we are in synch with the user
207 RESET reset key-unlock keyboard
208 MASTER_RESET reset, unlock and redisplay
209 (*)XOFF please hold output
210 (*)XON please give me output
211 ESCAPE enter telnet command mode
212 WORDTAB tab to beginning of next word
213 WORDBACKTAB tab to beginning of current/last word
214 WORDEND tab to end of current/next word
215 FIELDEND tab to last non-blank of current/next
216 unprotected (writable) field.
217
218 PA1 program attention 1
219 PA2 program attention 2
220 PA3 program attention 3
221
222 CLEAR local clear of the 3270 screen
223 TREQ test request
224 ENTER enter key
225
226 PFK1 program function key 1
227 PFK2 program function key 2
228 etc. etc.
229 PFK36 program function key 36
230.SH A SAMPLE ENTRY
231The following entry is used by
232tn3270(1) when unable to locate a reasonable version in the
233user's environment and in /etc/map3270:
234.sp
235.nf
236 name { # actual name comes from TERM variable
237 clear = '^z';
238 flinp = '^x';
239 enter = '^m';
240 delete = '^d' | '^?'; # note that '^?' is delete (rubout)
241 synch = '^r';
242 reshow = '^v';
243 eeof = '^e';
244 tab = '^i';
245 btab = '^b';
246 nl = '^n';
247 left = '^h';
248 right = '^l';
249 up = '^k';
250 down = '^j';
251 einp = '^w';
252 reset = '^t';
253 xoff = '^s';
254 xon = '^q';
255 escape = '^c';
256 ferase = '^u';
257 insrt = '\E ';
258 # program attention keys
259 pa1 = '^p1'; pa2 = '^p2'; pa3 = '^p3';
260 # program function keys
261 pfk1 = '\eE1'; pfk2 = '\eE2'; pfk3 = '\eE3'; pfk4 = '\eE4';
262 pfk5 = '\eE5'; pfk6 = '\eE6'; pfk7 = '\eE7'; pfk8 = '\eE8';
263 pfk9 = '\eE9'; pfk10 = '\eE0'; pfk11 = '\eE-'; pfk12 = '\eE=';
264 pfk13 = '\eE!'; pfk14 = '\eE@'; pfk15 = '\eE#'; pfk16 = '\eE$';
265 pfk17 = '\eE%'; pfk18 = '\eE'; pfk19 = '\eE&'; pfk20 = '\eE*';
266 pfk21 = '\eE('; pfk22 = '\eE)'; pfk23 = '\eE_'; pfk24 = '\eE+';
267 }
268.fi
269.SH "IBM 3270 KEY DEFINITONS FOR AN ABOVE DEFINITION"
270The charts below show the proper keys to emulate
271each 3270 function when using the default key mapping supplied
272with
273.IR tn3270 (1)
274and
275.IR mset (1).
276.sp
277.nf
278 Command Keys IBM 3270 Key Default Key(s)
279 Enter RETURN
280 Clear control-z
281 Cursor Movement Keys
282 New Line control-n or
283 Home
284 Tab control-i
285 Back Tab control-b
286 Cursor Left control-h
287 Cursor Right control-l
288 Cursor Up control-k
289 Cursor Down control-j or
290 LINE FEED
291 Edit Control Keys
292 Delete Char control-d or
293 RUB
294 Erase EOF control-e
295 Erase Input control-w
296 Insert Mode ESC Space
297 End Insert ESC Space
298 Program Function Keys
299 PF1 ESC 1
300 PF2 ESC 2
301 ... ...
302 PF10 ESC 0
303 PF11 ESC -
304 PF12 ESC =
305 PF13 ESC !
306 PF14 ESC @
307 ... ...
308 PF24 ESC +
309 Program Attention Keys
310 PA1 control-p 1
311 PA2 control-p 2
312 PA3 control-p 3
313 Local Control Keys
314 Reset After Error control-r
315 Purge Input Buffer control-x
316 Keyboard Unlock control-t
317 Redisplay Screen control-v
318 Other Keys
319 Erase current field control-u
320.fi
321.SH FILES
322/etc/map3270
323.SH SEE ALSO
324tn3270(1), mset(1), \fIYale ASCII Terminal Communication
325System II Program Description/Operator's Manual\fR
326(IBM SB30-1911)
327.SH AUTHOR
328Greg Minshall
329.SH BUGS
330.I Tn3270
331doesn't yet understand how to process all the functions
332available in
333.I map3270;
334when such a function is requested
335.I tn3270
336will beep at you.
337.PP
338The definition of "word" (for "word erase", "word tab") should be a run-time
339option. Currently it is defined as the kernel tty driver defines it (strings
340of non-whitespace); more than one person would rather use the "vi" definition
341(strings of specials, strings of alphanumeric).