Defines keyboard mapping and colors for the tn3270 command.
The /usr/lib/cns/cns3270 file defines keyboard mapping and colors for the tn3270 command. When emulating 3270 terminals, mapping must be performed between key sequences entered on a user's (ASCII) keyboard and the keys that are available on a 3270 emulator.
For example, the 3270 emulator key EEOF erases the contents of the current field from the location of the cursor to the end of the field. In order to accomplish this function, the terminal user and a program emulating a 3270 emulator must be compatible with regard to what keys invoke the EEOF function.
The requirements for these sequences are:
The /usr/lib/cns/cns3270 file consists of entries for various terminals. The first part of an entry lists names of terminals using that entry. These names should be the same as those in the /usr/share/lib/terminfo/*.ti files.
Note: Often, several terminals from different /usr/share/lib/terminfo/*.ti entries use the same cns3270 file entry. For example, both 925 and 925vb (for 925 with visual bells) might use the same cns3270 file entry. Each name is separated by a | (vertical bar), after which comes a { (left brace); the definitions; and finally, a } (right brace).
The definitions begin with a reserved keyword, which identifies the 3270 function. The keyword is followed by an = (equal sign), which in turn is followed by the various string sequences to generate the particular function. The definitions end with a ; (semi-colon). The string sequences are printable ASCII characters enclosed inside ' ' (single quotes) and separated by | (vertical bars).
Special characters can be used within ' ' (single quotes). A ^ (caret) indicates a control character. For example, the string '^a' represents Ctrl-A; that is, hexadecimal 1 (the string '^A' generates the same code). To generate delete or rubout, enter '^d' '^?' (Ctrl-D or Ctrl-?). To represent a control character in the cns3270 file, you must use the caret. Typing Control-A or Ctrl-A does not work.
Note: The Ctrl-^ key sequence (to generate a hexadecimal 1E) is represented as '^^' (not '^\^').
The \ (backslash) special character precedes other characters to change their meaning. Because this has little effect for most characters, its use is not recommended. The backslash prevents a single quote from terminating a string, for example the string '^\'' represents Ctrl-'. For a backslash to be part of a string, place two backslashes ('\\') in the string.
In addition, the following characters are special:
'\e' Specifies an escape character. '\n' Specifies a new line. '\t' Specifies a tab. '\r' Specifies a carriage return.
It is not necessary for each character in a string to be enclosed within single quotes. The string '\e\e\e' means three escape characters.
Comments, which may appear anywhere on a line, begin with a # (pound sign) and terminate at the end of that line. However, comments cannot begin inside a quoted string. A pound sign inside a quoted string has no special meaning.
Note: Some of the following keys do not exist on a 3270 emulator. The functions listed with an * (asterisk) are not supported by the tn3270 command. An unsupported function causes the tn3270 command to send a bell sequence to the user's terminal.
The /usr/lib/cns/cns3270 file supports the following list of 3270 key names:
The following default entry is included within the tn3270 command and is used when it is unable to locate a version in the user's environment or the /usr/lib/cns/cns3270 file.
name { # actual name comes from TERM variable clear = '^z'; flinp = '^x'; enter = '^m'; delete = '^d' | '^?'; # note that '^?' is delete (rubout) synch = '^r'; reshow = '^v'; eeof = '^e'; tab = '^i'; btab = '^b'; nl = '^n'; left = '^h'; right = '^l'; up = '^k'; down = '^j'; einp = '^w'; reset = '^t'; xoff = '^s'; xon = '^q'; escape = '^c'; ferase = '^u'; insrt = ' '; # program attention keys pa1 = '^p1'; pa2 = '^p2'; pa3 = '^p3'; # program function keys pfk1 = '1'; pfk2 = '2'; pfk3 = '3'; pfk4 = '4'; pfk5 = '5'; pfk6 = '6'; pfk7 = '7'; pfk8 = '8'; pfk9 = '9'; pfk10 = ' '; pfk11 = '-'; pfk12 = '='; pfk13 = ''; pfk14 = '@'; pfk15 = '0; pfk17 = ''; pfk18 = ''; pfk19 = ''; pfk20 = '; pfk21 = ' pfk22 = ')'; pfk23 = '_'; pfk24 = ' '; }
The following table shows the proper keys to emulate each 3270 function when using the default key mapping supplied with the tn3270 command.
3270 Key Definitions | ||
Function | 3270 Key | Default Key(s) |
Command Keys | Enter | RETURN |
Clear | Ctrl-z | |
Attention | Ctrl-F12 | |
Cursor Movement Keys | New line | Ctrl-n or Home |
Tab | Ctrl-i | |
Back tab | Ctrl-b | |
Cursor left | Ctrl-h | |
Cursor right | Ctrl-l | |
Cursor up | Ctrl-k | |
Cursor down | Ctrl-j or LINE FEED | |
Edit Control Keys | Delete char | Ctrl-d or RUB |
Erase EOF | Ctrl-e | |
Erase input | Ctrl-w | |
Insert mode | ESC Space | |
End insert | ESC Space | |
Program Function Keys | PF1 | ESC 1 |
PF2 | ESC 2 | |
... | ... | |
PF10 | ESC 0 | |
PF11 | ESC - | |
PF12 | ESC = | |
PF13 | ESC ! | |
PF14 | ESC @ | |
... | ... | |
PF24 | ESC + | |
Program Attention Keys | PA1 | Ctrl-p 1 |
PA2 | Ctrl-p 2 | |
PA3 | Ctrl-p 3 | |
Local Control Keys | Reset after error | Ctrl-r |
Purge input buffer | Ctrl-x | |
Keyboard unlock | Ctrl-t | |
Redisplay screen | Ctrl-v | |
Other Keys | Erase current field | Ctrl-u |
/usr/share/lib/terminfo/*.ti | Files containing terminal information. |
The telnet, or tn3270 command.
Changing the Assignment of a Key Set in AIX Version 4.3 System User's Guide: Communications and Networks.