Commit | Line | Data |
---|---|---|
ff5df15a C |
1 | |
2 | ||
3 | ||
4 | MAP3270(5) UNIX Programmer's Manual MAP3270(5) | |
5 | ||
6 | ||
7 | ||
8 | N\bNA\bAM\bME\bE | |
9 | map3270 - database for mapping ascii keystrokes into IBM | |
10 | 3270 keys | |
11 | ||
12 | S\bSY\bYN\bNO\bOP\bPS\bSI\bIS\bS | |
13 | /\b/e\bet\btc\bc/\b/m\bma\bap\bp3\b32\b27\b70\b0 | |
14 | ||
15 | D\bDE\bES\bSC\bCR\bRI\bIP\bPT\bTI\bIO\bON\bN | |
16 | When emulating IBM-syle 3270 terminals under UNIX (see | |
17 | _\bt_\bn_\b3_\b2_\b7_\b0(1)), a mapping must be performed between sequences of | |
18 | keys hit on a user's (ascii) keyboard, and the keys that are | |
19 | available on a 3270. For example, a 3270 has a key labeled | |
20 | E\bEE\bEO\bOF\bF which erases the contents of the current field from the | |
21 | location of the cursor to the end. In order to accomplish | |
22 | this function, the terminal user and a program emulating a | |
23 | 3270 must agree on what keys will be typed to invoke the | |
24 | E\bEE\bEO\bOF\bF function. | |
25 | ||
26 | The requirements for these sequences are: | |
27 | ||
28 | 1.) that the first character of the sequence be outside of the | |
29 | standard ascii printable characters; | |
30 | ||
31 | 2.) that no one sequence _\bb_\be an initial part of another (although | |
32 | sequences may _\bs_\bh_\ba_\br_\be initial parts). | |
33 | ||
34 | ||
35 | F\bFO\bOR\bRM\bMA\bAT\bT | |
36 | The file consists of entries for various terminals. The | |
37 | first part of an entry lists the names of the terminals | |
38 | which use that entry. These names should be the same as in | |
39 | /_\be_\bt_\bc/_\bt_\be_\br_\bm_\bc_\ba_\bp (see _\bt_\be_\br_\bm_\bc_\ba_\bp(5)); note that often the terminals | |
40 | from various termcap entries will all use the same _\bm_\ba_\bp_\b3_\b2_\b7_\b0 | |
41 | entry; for example, both 925 and 925vb (for 925 with visual | |
42 | bells) would probably use the same _\bm_\ba_\bp_\b3_\b2_\b7_\b0 entry. After the | |
43 | names, separated by vertical bars (`|'), comes a left brace | |
44 | (`{'); the definitions; and, finally, a right brace (`}'). | |
45 | ||
46 | The definitions consist of a reserved keyword (see list | |
47 | below) which identifies the 3270 function (extended as | |
48 | defined below), followed by an equal sign (`='), followed by | |
49 | the various ways to generate this particular function, fol- | |
50 | lowed by a semi-colon (`;'). Each way is a sequence of | |
51 | strings of _\bp_\br_\bi_\bn_\bt_\ba_\bb_\bl_\be ascii characters enclosed inside single | |
52 | quotes (`''); various ways (options) are separated by verti- | |
53 | cal bars (`|'). | |
54 | ||
55 | Inside the single quotes, a few characters are special. A | |
56 | caret (`^') specifies that the next character is the ``con- | |
57 | trol'' character of whatever the character is. So, `^a' | |
58 | represents control-a, ie: hexadecimal 1 (note that `^A' | |
59 | would generate the same code). To generate r\bru\bub\bbo\bou\but\bt,\b, one | |
60 | ||
61 | ||
62 | ||
63 | Printed 7/9/88 January 11, 1986 1 | |
64 | ||
65 | ||
66 | ||
67 | ||
68 | ||
69 | ||
70 | MAP3270(5) UNIX Programmer's Manual MAP3270(5) | |
71 | ||
72 | ||
73 | ||
74 | enters `^?'. To represent a control character inside a file | |
75 | requires using the caret to represent a control sequence; | |
76 | simply typing control-A will not work. Note: the ctrl-caret | |
77 | sequence (to generate a hexadecimal 1E) is represented as | |
78 | `^^' (not `^\^'). | |
79 | ||
80 | In addition to the caret, a letter may be preceeded by a | |
81 | backslash (`\'). Since this has little effect for most | |
82 | characters, its use is usually not recommended. For the | |
83 | case of a single quote (`''), the backslash prevents that | |
84 | single quote from terminating the string. To have the | |
85 | backslash be part of the string, it is necessary to place | |
86 | two backslashes ('\\') in the file. | |
87 | ||
88 | In addition, the following characters are special: | |
89 | ||
90 | `\E' means an escape character; | |
91 | `\n' means newline; | |
92 | `\t' means tab; | |
93 | `\r' means carriage return. | |
94 | ||
95 | It is not necessary for each character in a string to be | |
96 | enclosed within single quotes. `\E\E\E' means three escape | |
97 | characters. | |
98 | ||
99 | Comments, which may appear anywhere on a line, begin with a | |
100 | hash mark (`#'), and terminate at the end of that line. | |
101 | However, comments cannot begin inside a quoted string; a | |
102 | hash mark inside a quoted string has no special meaning. | |
103 | ||
104 | 3\b32\b27\b70\b0 K\bKE\bEY\bYS\bS S\bSU\bUP\bPP\bPO\bOR\bRT\bTE\bED\bD | |
105 | The following is the list of 3270 key names that are sup- | |
106 | ported in this file. Note that some of the keys don't | |
107 | really exist on a 3270. In particular, the developers of | |
108 | this file have relied extensively on the work at the Yale | |
109 | University Computer Center with their 3270 emulator which | |
110 | runs in an IBM Series/1 front end. The following list | |
111 | corresponds closely to the functions that the developers of | |
112 | the Yale code offer in their product. | |
113 | ||
114 | I\bIn\bn t\bth\bhe\be f\bfo\bol\bll\blo\bow\bwi\bin\bng\bg l\bli\bis\bst\bt,\b, t\bth\bhe\be s\bst\bta\bar\brr\bre\bed\bd (\b("\b"*\b*"\b")\b) f\bfu\bun\bnc\bct\bti\bio\bon\bns\bs a\bar\bre\be n\bno\bot\bt | |
115 | s\bsu\bup\bpp\bpo\bor\brt\bte\bed\bd b\bby\by _\bt_\bn_\b3_\b2_\b7_\b0(1). An unsupported function will cause | |
116 | _\bt_\bn_\b3_\b2_\b7_\b0(_\b1) to send a bell sequence to the user's terminal. | |
117 | ||
118 | 3270 Key Name Functional description | |
119 | ||
120 | (*)LPRT local print | |
121 | DP dup character | |
122 | FM field mark character | |
123 | (*)CURSEL cursor select | |
124 | RESHOW redisplay the screen | |
125 | EINP erase input | |
126 | ||
127 | ||
128 | ||
129 | Printed 7/9/88 January 11, 1986 2 | |
130 | ||
131 | ||
132 | ||
133 | ||
134 | ||
135 | ||
136 | MAP3270(5) UNIX Programmer's Manual MAP3270(5) | |
137 | ||
138 | ||
139 | ||
140 | EEOF erase end of field | |
141 | DELETE delete character | |
142 | INSRT toggle insert mode | |
143 | TAB field tab | |
144 | BTAB field back tab | |
145 | COLTAB column tab | |
146 | COLBAK column back tab | |
147 | INDENT indent one tab stop | |
148 | UNDENT undent one tab stop | |
149 | NL new line | |
150 | HOME home the cursor | |
151 | UP up cursor | |
152 | DOWN down cursor | |
153 | RIGHT right cursor | |
154 | LEFT left cursor | |
155 | SETTAB set a column tab | |
156 | DELTAB delete a columntab | |
157 | SETMRG set left margin | |
158 | SETHOM set home position | |
159 | CLRTAB clear all column tabs | |
160 | (*)APLON apl on | |
161 | (*)APLOFF apl off | |
162 | (*)APLEND treat input as ascii | |
163 | (*)PCON xon/xoff on | |
164 | (*)PCOFF xon/xoff off | |
165 | DISC disconnect (suspend) | |
166 | (*)INIT new terminal type | |
167 | (*)ALTK alternate keyboard dvorak | |
168 | FLINP flush input | |
169 | ERASE erase last character | |
170 | WERASE erase last word | |
171 | FERASE erase field | |
172 | SYNCH we are in synch with the user | |
173 | RESET reset key-unlock keyboard | |
174 | MASTER_RESET reset, unlock and redisplay | |
175 | (*)XOFF please hold output | |
176 | (*)XON please give me output | |
177 | ESCAPE enter telnet command mode | |
178 | WORDTAB tab to beginning of next word | |
179 | WORDBACKTAB tab to beginning of current/last word | |
180 | WORDEND tab to end of current/next word | |
181 | FIELDEND tab to last non-blank of current/next | |
182 | unprotected (writable) field. | |
183 | ||
184 | PA1 program attention 1 | |
185 | PA2 program attention 2 | |
186 | PA3 program attention 3 | |
187 | ||
188 | CLEAR local clear of the 3270 screen | |
189 | TREQ test request | |
190 | ENTER enter key | |
191 | ||
192 | ||
193 | ||
194 | ||
195 | Printed 7/9/88 January 11, 1986 3 | |
196 | ||
197 | ||
198 | ||
199 | ||
200 | ||
201 | ||
202 | MAP3270(5) UNIX Programmer's Manual MAP3270(5) | |
203 | ||
204 | ||
205 | ||
206 | PFK1 program function key 1 | |
207 | PFK2 program function key 2 | |
208 | etc. etc. | |
209 | PFK36 program function key 36 | |
210 | ||
211 | A\bA S\bSA\bAM\bMP\bPL\bLE\bE E\bEN\bNT\bTR\bRY\bY | |
212 | The following entry is used by tn3270(1) when unable to | |
213 | locate a reasonable version in the user's environment and in | |
214 | /etc/map3270: | |
215 | ||
216 | name { # actual name comes from TERM variable | |
217 | clear = '^z'; | |
218 | flinp = '^x'; | |
219 | enter = '^m'; | |
220 | delete = '^d' | '^?'; # note that '^?' is delete (rubout) | |
221 | synch = '^r'; | |
222 | reshow = '^v'; | |
223 | eeof = '^e'; | |
224 | tab = '^i'; | |
225 | btab = '^b'; | |
226 | nl = '^n'; | |
227 | left = '^h'; | |
228 | right = '^l'; | |
229 | up = '^k'; | |
230 | down = '^j'; | |
231 | einp = '^w'; | |
232 | reset = '^t'; | |
233 | xoff = '^s'; | |
234 | xon = '^q'; | |
235 | escape = '^c'; | |
236 | ferase = '^u'; | |
237 | insrt = 'E '; | |
238 | # program attention keys | |
239 | pa1 = '^p1'; pa2 = '^p2'; pa3 = '^p3'; | |
240 | # program function keys | |
241 | pfk1 = 'E1'; pfk2 = 'E2'; pfk3 = 'E3'; pfk4 = 'E4'; | |
242 | pfk5 = 'E5'; pfk6 = 'E6'; pfk7 = 'E7'; pfk8 = 'E8'; | |
243 | pfk9 = 'E9'; pfk10 = 'E0'; pfk11 = 'E-'; pfk12 = 'E='; | |
244 | pfk13 = 'E!'; pfk14 = 'E@'; pfk15 = 'E#'; pfk16 = 'E$'; | |
245 | pfk17 = 'E%'; pfk18 = 'E'; pfk19 = 'E&'; pfk20 = 'E*'; | |
246 | pfk21 = 'E('; pfk22 = 'E)'; pfk23 = 'E_'; pfk24 = 'E+'; | |
247 | } | |
248 | ||
249 | I\bIB\bBM\bM 3\b32\b27\b70\b0 K\bKE\bEY\bY D\bDE\bEF\bFI\bIN\bNI\bIT\bTO\bON\bNS\bS F\bFO\bOR\bR A\bAN\bN A\bAB\bBO\bOV\bVE\bE D\bDE\bEF\bFI\bIN\bNI\bIT\bTI\bIO\bON\bN | |
250 | The charts below show the proper keys to emulate each 3270 | |
251 | function when using the default key mapping supplied with | |
252 | _\bt_\bn_\b3_\b2_\b7_\b0(1) and _\bm_\bs_\be_\bt(1). | |
253 | ||
254 | Command Keys IBM 3270 Key Default Key(s) | |
255 | Enter RETURN | |
256 | Clear control-z | |
257 | Cursor Movement Keys | |
258 | ||
259 | ||
260 | ||
261 | Printed 7/9/88 January 11, 1986 4 | |
262 | ||
263 | ||
264 | ||
265 | ||
266 | ||
267 | ||
268 | MAP3270(5) UNIX Programmer's Manual MAP3270(5) | |
269 | ||
270 | ||
271 | ||
272 | New Line control-n or | |
273 | Home | |
274 | Tab control-i | |
275 | Back Tab control-b | |
276 | Cursor Left control-h | |
277 | Cursor Right control-l | |
278 | Cursor Up control-k | |
279 | Cursor Down control-j or | |
280 | LINE FEED | |
281 | Edit Control Keys | |
282 | Delete Char control-d or | |
283 | RUB | |
284 | Erase EOF control-e | |
285 | Erase Input control-w | |
286 | Insert Mode ESC Space | |
287 | End Insert ESC Space | |
288 | Program Function Keys | |
289 | PF1 ESC 1 | |
290 | PF2 ESC 2 | |
291 | ... ... | |
292 | PF10 ESC 0 | |
293 | PF11 ESC - | |
294 | PF12 ESC = | |
295 | PF13 ESC ! | |
296 | PF14 ESC @ | |
297 | ... ... | |
298 | PF24 ESC + | |
299 | Program Attention Keys | |
300 | PA1 control-p 1 | |
301 | PA2 control-p 2 | |
302 | PA3 control-p 3 | |
303 | Local Control Keys | |
304 | Reset After Error control-r | |
305 | Purge Input Buffer control-x | |
306 | Keyboard Unlock control-t | |
307 | Redisplay Screen control-v | |
308 | Other Keys | |
309 | Erase current field control-u | |
310 | ||
311 | F\bFI\bIL\bLE\bES\bS | |
312 | /etc/map3270 | |
313 | ||
314 | S\bSE\bEE\bE A\bAL\bLS\bSO\bO | |
315 | tn3270(1), mset(1), _\bY_\ba_\bl_\be _\bA_\bS_\bC_\bI_\bI _\bT_\be_\br_\bm_\bi_\bn_\ba_\bl _\bC_\bo_\bm_\bm_\bu_\bn_\bi_\bc_\ba_\bt_\bi_\bo_\bn _\bS_\by_\bs_\bt_\be_\bm | |
316 | _\bI_\bI _\bP_\br_\bo_\bg_\br_\ba_\bm _\bD_\be_\bs_\bc_\br_\bi_\bp_\bt_\bi_\bo_\bn/_\bO_\bp_\be_\br_\ba_\bt_\bo_\br'_\bs _\bM_\ba_\bn_\bu_\ba_\bl (IBM SB30-1911) | |
317 | ||
318 | A\bAU\bUT\bTH\bHO\bOR\bR | |
319 | Greg Minshall | |
320 | ||
321 | B\bBU\bUG\bGS\bS | |
322 | _\bT_\bn_\b3_\b2_\b7_\b0 doesn't yet understand how to process all the func- | |
323 | tions available in _\bm_\ba_\bp_\b3_\b2_\b7_\b0; when such a function is | |
324 | ||
325 | ||
326 | ||
327 | Printed 7/9/88 January 11, 1986 5 | |
328 | ||
329 | ||
330 | ||
331 | ||
332 | ||
333 | ||
334 | MAP3270(5) UNIX Programmer's Manual MAP3270(5) | |
335 | ||
336 | ||
337 | ||
338 | requested _\bt_\bn_\b3_\b2_\b7_\b0 will beep at you. | |
339 | ||
340 | The definition of "word" (for "word delete", "word tab") | |
341 | should be a run-time option. Currently it is defined as the | |
342 | kernel tty driver defines it (strings of non-blanks); more | |
343 | than one person would rather use the "vi" definition | |
344 | (strings of specials, strings of alphanumeric). | |
345 | ||
346 | ||
347 | ||
348 | ||
349 | ||
350 | ||
351 | ||
352 | ||
353 | ||
354 | ||
355 | ||
356 | ||
357 | ||
358 | ||
359 | ||
360 | ||
361 | ||
362 | ||
363 | ||
364 | ||
365 | ||
366 | ||
367 | ||
368 | ||
369 | ||
370 | ||
371 | ||
372 | ||
373 | ||
374 | ||
375 | ||
376 | ||
377 | ||
378 | ||
379 | ||
380 | ||
381 | ||
382 | ||
383 | ||
384 | ||
385 | ||
386 | ||
387 | ||
388 | ||
389 | ||
390 | ||
391 | ||
392 | ||
393 | Printed 7/9/88 January 11, 1986 6 | |
394 | ||
395 | ||
396 |