Commit | Line | Data |
---|---|---|
15637ed4 RG |
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 | |
37 | map3270 \- database for mapping ascii keystrokes into IBM 3270 keys | |
38 | .SH SYNOPSIS | |
39 | .B map3270 | |
40 | .SH DESCRIPTION | |
41 | When emulating IBM-syle 3270 terminals under \s-1UNIX\s0 (see \fItn3270\fR(1)), | |
42 | a mapping must be performed between sequences of keys hit on | |
43 | a user's (ascii) keyboard, and the keys that are | |
44 | available on a 3270. For example, a 3270 has a key labeled | |
45 | .B EEOF | |
46 | which erases the contents of the current field from the | |
47 | location of the cursor to the end. | |
48 | In order to accomplish this function, | |
49 | the terminal user and a program emulating a 3270 must | |
50 | agree on what keys will be typed | |
51 | to invoke the | |
52 | .B EEOF | |
53 | function. | |
54 | .PP | |
55 | The 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 | |
67 | The file consists of entries for various keyboards. The first part | |
68 | of an entry lists the names of the keyboards which use that entry. | |
69 | These names will often be the same as in | |
70 | .I /etc/termcap | |
71 | (see | |
72 | .IR termcap (5)); | |
73 | however, note that often the terminals from various termcap entries will all | |
74 | use the same | |
75 | .I map3270 | |
76 | entry; for example, both 925 and 925vb (for | |
77 | 925 with visual bells) would probably use the same | |
78 | .I map3270 | |
79 | entry. | |
80 | Additionally, there are occasions when the terminal type defines | |
81 | a window manager, and it will then be necessary to specify a | |
82 | keyboard name (via the | |
83 | .B KEYBD | |
84 | environment variable) as the name of the entry. | |
85 | After the names, separated by vertical bars (`|'), comes a left | |
86 | brace (`{'); the definitions; and, finally, a right brace | |
87 | (`}'). | |
88 | .PP | |
89 | Each definition consists of a reserved keyword (see list below) which | |
90 | identifies the 3270 function (extended as defined below), followed | |
91 | by an equal sign (`='), followed by the various ways to generate | |
92 | this particular function, followed by a semi-colon (`;'). | |
93 | Each way is a sequence of strings of | |
94 | .I printable | |
95 | ascii characters enclosed inside single quotes (`\(aa'); | |
96 | various ways (alternatives) are separated by vertical bars (`|'). | |
97 | .PP | |
98 | Inside the single quotes, a few characters are special. | |
99 | A caret | |
100 | (`^') specifies that the next character is | |
101 | the ``control'' character of whatever the character is. | |
102 | So, `^a' | |
103 | represents control-a, ie: hexadecimal 1 | |
104 | (note that `^A' would generate the same code). | |
105 | To generate | |
106 | .B rubout | |
107 | (DEL), | |
108 | one enters `^?'. | |
109 | To represent a control character inside a file | |
110 | requires using the caret to represent a control sequence; | |
111 | simply typing control-A will not work. | |
112 | Note: the ctrl-caret sequence | |
113 | (to generate a hexadecimal 1E) | |
114 | is represented as `^^' (not `^\e^'). | |
115 | .PP | |
116 | In addition to the caret, a letter may be preceeded by a backslash (`\e'). | |
117 | Since this has little effect for most characters, | |
118 | its use is usually not recommended. | |
119 | For the case of a single quote (`\(aa'), the backslash | |
120 | prevents that single quote from terminating the string. | |
121 | For the case of a caret (`^'), the backslash prevents | |
122 | the caret from having its special meaning. | |
123 | To have the backslash be part of the string, it is necessary to | |
124 | place two backslashes ('\e\e') in the file. | |
125 | .PP | |
126 | In 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 | |
137 | It is not necessary for each character in a string | |
138 | to be enclosed within single quotes. | |
139 | `\eE\eE\eE' means three escape characters. | |
140 | .PP | |
141 | Comments, which may appear anywhere on a line, | |
142 | begin with a hash mark (`#'), and terminate | |
143 | at the end of that line. | |
144 | However, comments cannot begin inside a quoted string; | |
145 | a hash mark inside a quoted string has no special meaning. | |
146 | .PP | |
147 | .SH 3270 KEYS SUPPORTED | |
148 | The following is the list of 3270 key names that are supported in this file. | |
149 | Note that some of the keys don't really exist on a 3270. | |
150 | In particular, the developers of this file have relied | |
151 | extensively on the work at the Yale University Computer Center with | |
152 | their 3270 emulator which runs in an IBM Series/1 front end. | |
153 | The following list corresponds closely to the functions | |
154 | that 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). | |
160 | An unsupported function will cause | |
161 | .IR tn3270(1) | |
162 | to 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 | |
231 | The following entry is used by | |
232 | tn3270(1) when unable to locate a reasonable version in the | |
233 | user'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" | |
270 | The charts below show the proper keys to emulate | |
271 | each 3270 function when using the default key mapping supplied | |
272 | with | |
273 | .IR tn3270 (1) | |
274 | and | |
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 | |
324 | tn3270(1), mset(1), \fIYale ASCII Terminal Communication | |
325 | System II Program Description/Operator's Manual\fR | |
326 | (IBM SB30-1911) | |
327 | .SH AUTHOR | |
328 | Greg Minshall | |
329 | .SH BUGS | |
330 | .I Tn3270 | |
331 | doesn't yet understand how to process all the functions | |
332 | available in | |
333 | .I map3270; | |
334 | when such a function is requested | |
335 | .I tn3270 | |
336 | will beep at you. | |
337 | .PP | |
338 | The definition of "word" (for "word erase", "word tab") should be a run-time | |
339 | option. Currently it is defined as the kernel tty driver defines it (strings | |
340 | of non-whitespace); more than one person would rather use the "vi" definition | |
341 | (strings of specials, strings of alphanumeric). |