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