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