x3270 Manual Page

Contents

Name
Synopsis
Description
Options
Fonts
Character Sets
Character Classes
Keypad
Hosts Database
Color Schemes
Pseudo-Color
NVT (ANSI) Mode
Menus
Status Line
Icons
Keymaps
Macros and Scripts
Composite Characters
APL Support
5250 (AS/400) Support
Screen Printing
Bugs
Passthru
Files
See Also
Copyrights
Version

Name

x3270 - IBM host access tool

Synopsis

x3270 [options] [host]

Description

x3270 opens a telnet connection to an IBM host in an X window. It implements RFCs 2355 (TN3270E), 1576 (TN3270) and 1646 (LU name selection), and supports IND$FILE file transfer. The window created by x3270 can use its own font for displaying characters, so it is a fairly accurate representation of an IBM 3278 or 3279. It is similar to tn3270(1) except that it is X-based, not curses-based.

The full syntax for host is:

[prefix:]...[LUname@]hostname[:port]

Prepending a p: onto hostname causes the connection to go through the telnet-passthru service rather than directly to the host. See PASSTHRU below.

Prepending an s: onto hostname removes the "extended data stream" option reported to the host. See -tn below for further information.

Prepending an n: onto hostname turns off TN3270E support for the session.

A specific LU name to use may be specified by prepending it to the hostname with an `@'. Multiple LU names to try can be separated by commas. An empty LU can be placed in the list with an extra comma.

On systems that support the forkpty library call, the hostname may be replaced with -e and a command string. This will cause x3270 to connect to a local child process, such as a shell.

The port to connect to defaults to telnet. This can be overridden with the -port option, or by appending a port to the hostname with a colon `:'. (For compatability with previous versions of x3270 and with tn3270(1), the port may also be specified as a second, separate argument.)

Options

x3270 is a toolkit based program, so it understands standard Xt options and resources. It also understands the following options:
-activeicon
Specifies that the icon should be a miniature version of the screen image. See ICONS below.
-apl
Sets up APL mode. This is actually an abbreviation for several options. See APL SUPPORT below.
-cc range:value[,...]
Sets character classes. See CHARACTER CLASSES, below.
-charset name
Specifies an EBCDIC host character set. See CHARACTER SETS below.
-clear toggle
Sets the initial value of toggle to false. The list of toggle names is under MENUS below.
-efont name
Specifies a font for the emulator window. See FONTS below.
-iconname name
Specifies an alternate title for the program icon.
-iconx x
Specifies the initial x coordinate for the program icon.
-icony y
Specifies the initial y coordinate for the program icon.
-keymap name
Specifies a keymap name and optional modifiers. See KEYMAPS below.
-keypad
Turns on the keypad as soon as x3270 starts.
-model name
The model of 3270 display to be emulated. The model name is in three parts, any of which may be omitted:

The first part is the base model, which is either 3278 or 3279. 3278 specifies a monochrome 3270 display; 3279 specifies a color 3270 display. When 3278 emulation is specified for a color X display, fields are displayed using pseudo-colors; see PSEUDO-COLOR below.

The second part is the model number, which specifies the number of rows and columns. Model 4 is the default.

Model Number
Columns
Rows
2
80
24
3
80
30
4
80
43
5
132
27

Note: Technically, there is no such 3270 display as a 3279-4 or 3279-5, but most hosts seem to work with them anyway.

The third part specifies the Extended 3270 Data Stream, and is given as -E. It signals the host that the 3270 display is capable of displaying extended field attributes, and supports structured fields and query replies. A 3279 always uses the Extended Data Stream (whether or not -E is specified); for a 3278 it is optional.

The default model for a color X display is 3279-4-E. For a monochrome X display, it is 3278-4-E. (The behavior of previous versions of x3270 on color X displays can be specified as 3278-4).

-mono
Forces x3270 to believe it is running on a monochrome X display.
-once
Causes x3270 to exit after a host disconnects. This option has effect only if a hostname is specified on the command line.
-oversize colsxrows
Makes the screen larger than the default for the chosen model number. This option has effect only in combination with extended data stream support (the -E suffix on the model), and only if the host supports the Query Reply structured field. The number of columns multiplied by the number of rows must not exceed 16383 (3fff hex), the limit of 14-bit 3270 buffer addressing.
-port n
Specifies a different TCP port to connect to. n can be a name from /etc/services like telnet, or a number. This option changes the default port number used for all connections. (The positional parameter affects only the initial connection.)
-reconnect
Causes x3270 to automatically reconnect to the host if it ever disconnects. This option has effect only if a hostname is specified on the command line.
-sb
Turns on the scrollbar.
+sb
Turns the scrollbar off.
-scheme name
Specifes a color scheme to use in 3279 mode. This option has effect only in combination with 3279 emulation. See COLOR SCHEMES below.
-script
Causes x3270 to read commands from standard input, with the results written to standard output. The protocol for these commands is documented in x3270-script(1).
-sl n
Specifies that n lines should be saved for scrolling back. The default is 64.
-set toggle
Sets the initial value of toggle to true. The list of toggle names is under MENUS below.
-tn name
Specifies the terminal name to be transmitted over the telnet connection. The default name is IBM-model_name, for example, IBM-3279-4-E for a color X display, or IBM-3278-4-E for a monochrome X display.

Some hosts are confused by the -E suffix on the terminal name, and will ignore the extra screen area on models 3, 4 and 5. Prepending an :s on the hostname removes the -E from the terminal name when connecting to such hosts.

The name can also be specified with the "x3270.termName" resource.

-trace
Turns on data stream tracing at startup. Unlike turning it on from a menu option, there is no pop-up to confirm the file name, which defaults to /tmp/x3trc.process_id.
-tracefile file
Specifies a file to save data stream and event traces into, overriding the default of /tmp/x3trc.process_id. If the value stdout is given, then traces will be written to standard output. If the value none is given, then traces will be piped directly to the monitor window, and no file will be created.
-tracefilesize size
Places a limit on the size of a trace file. If this option is not specified, or is specified as 0 or none, the trace file will be unlimited. If specified, the trace file cannot already exist, and the (silently enforced) minimum size is 64 Kbytes. The value of size can have a K or M suffix, indicating kilobytes or megabytes respectively.

After reading resource definitions from the X server and any standandard X11 resource definition files ($HOME/.Xdefaults, etc.), x3270 will read definitions from the file $HOME/.x3270pro. This file contains local customizations and is also used to save changed options by the Save Changed Options in File menu option.

Note that -xrm options override any definitions in the .x3270pro file.

Fonts

x3270 does not use the "*font" resource for its main window. Instead, it uses a custom 14-point font called 3270, which is a close approximation of a real 3270 display and allows x3270 to display the ISO 8859-1 (Latin-1) character set and special status-line symbols. A more compact font, 3270-12, is also supported, as are the various sized fonts 3270gt8, 3270gt12, 3270gt16, 3270-20, 3270gt24, and 3270gt32. The fonts 3270h and 3270gr are also included to allow display of Hebrew and Greek text, respectively.

The font may be specified with the -efont option or the "x3270.emulatorFont" resource.

x3270 can also use any X11 font that implements the display character set required by the host EBCDIC character set.

An additional font, 3270d, is supplied. This font is identical to the default 3270 font, except that it has bitmaps defined for field attribute characters. This means that field attributes, which are normally displayed as blanks, are now visible on the screen. The characters displayed are hexadecimal codes, which can be translated using a document provided with the x3270 sources.

The font can be changed at any time through a menu option. It can also be implicitly changed by changing the size of the x3270 window with the mouse: if the window is made larger, x3270 will try to change to a larger font, and vice-versa.

Character Sets

The -charset option or the "x3270.charset" resource controls the EBCDIC host character set used by x3270. Available sets include:

Charset Name
Code Page
Display Character Sets
apl
37
3270cg-1a
belgian
500
3270cg-1a 3270-cg1 iso8859-1
bracket
37
3270cg-1a 3270-cg1 iso8859-1
brazilian
275
3270cg-1a 3270-cg1 iso8859-1
finnish
278
3270cg-1a 3270-cg1 iso8859-1
french
297
3270cg-1a 3270-cg1 iso8859-1
german
273
3270cg-1a 3270-cg1 iso8859-1
greek
423
3270cg-7
hebrew
424
3270cg-8
icelandic
871
3270cg-1a 3270-cg1 iso8859-1
iso-hebrew
424
iso8859-8
iso-turkish
1026
iso8859-9
italian
280
3270cg-1a 3270-cg1 iso8859-1
norwegian
277
3270cg-1a 3270-cg1 iso8859-1
russian
880
koi8-r
solvenian
870
iso8859-2
thai
838
iso8859-11 tis620.2529-0
uk
285
3270cg-1a 3270-cg1 iso8859-1
us-intl
37
3270cg-1a 3270-cg1 iso8859-1

The default character set is bracket, which is useful for common IBM hosts which use EBCDIC codes 0xAD and 0xBD for the `[' and `]' characters, respectively.

Most 3270 fonts implement the 3270cg-1 display character set, which is a reordered version of the ISO 8859-1 character set. Some implement the 3270cg-1a display character set, which is a superset of 3270cg-1 that includes APL2 characters. 3270h and 3270gr implement special character sets for Hebrew and Greek, respectively.

You can also specify national-language translations for your keyboard; see KEYMAPS below.

Character Classes

x3270 supports character classes (groupings of characters chosen with a double mouse click) in the same manner as xterm(1). The "x3270.charClass" resource or the -cc option can be used to alter the character class table. The default table is the same as xterm's; It groups letters together, and puts most punctuation characters in individual classes. To put all non-whitespace characters together in the same class (and duplicate the behavior of some early versions of x3270, use the following value:

33-127:48,161-255:48

See xterm(1) for further syntax details.

Keypad

A keypad may optionally be displayed, with a mouse-clickable button for each 3270 function key (these functions are also available from the keyboard). The keypad can be turned on and off by clicking on the "keypad" button in the upper-right-hand corner of the window. The "x3270.keypad" resource controls where it is displayed. Options are:

left in a separate window, to the left of the screen
right in a separate window, to the right of the screen
bottom in a separate window, below the screen
integral in the same window as the screen, below it

The default is right.

If the "x3270.keypadOn" resource is set to true, the keypad will be displayed at startup.

Hosts Database

x3270 uses the ibm_hosts database to construct a pull-down menu of hosts to connect to. It also allows host name aliases to be defined, as well as specifying macros to be executed when a connection is first made. See ibm_hosts(5) for details.

You may specify a different ibm_hosts database with the "x3270.hostsFile" resource.

Color Schemes

When emulating a 3279 display, the X colors used to draw the display are selected by two resources: the "x3270.colorScheme" resource, which gives the name of the color scheme to use, and the individual "x3270.colorScheme.xxx" resources, which give the actual definitions. The color scheme resources are documented in the Resources file with the x3270 source.

The color scheme may also be changed while x3270 is running with a selection from the Options menu.

Pseudo-Color

When emulating a 3278 display on a color X display, x3270 does not understand IBM 3270 color protocols. Instead, it draws text in one of three colors depending on the field attributes. Those colors may be customized using the following resources (shown with their default values):

x3270.normalColor: green
x3270.boldColor: cyan
x3270.inputColor: orange
x3270.colorBackground: black
x3270.selectBackground: dim gray

NVT (ANSI) Mode

Some hosts use an ASCII front-end to do initial login negotiation, then later switch to 3270 mode. x3270 will emulate an ANSI X.64 terminal until the host places it in 3270 mode (telnet BINARY and SEND EOR modes, or TN3270E mode negotiation). The emulation is fairly complete; however, it is not intended to make x3270 a replacement for xterm(1).

If the host later negotiates to stop functioning in 3270 mode, x3270 will return to ANSI emulation.

In NVT mode, x3270 supports both character-at-a-time mode and line mode operation. You may select the mode with a menu option. When in line mode, the special characters and operational characteristics are defined by resources:

Mode/Character Resource Default
Translate CR to NL x3270.icrnl true
Translate NL to CR x3270.inlcr false
Erase previous character x3270.erase ^?
Erase entire line x3270.kill ^U
Erase previous word x3270.werase ^W
Redisplay line x3270.rprnt ^R
Ignore special meaning of next character x3270.lnext ^V
Interrupt x3270.intr ^C
Quit x3270.quit ^\
End of file x3270.eof ^D

Separate keymaps can be defined for use only when x3270 is in 3270 mode or NVT mode. See KEYMAPS for details.

Menus

x3270 has a menu bar with three pull-down menus (File, Options, and Connect) and a button to turn the keypad on and off. The pull-down menus are also available as pop-up menus by using the "Ctrl" key and the left, middle and right mouse buttons, respectively.

The menu bar can be turned off by setting the "x3270.menuBar" resource to false.

Many sections of the File and Options menus are toggles, options that may be either on or off. The entries under the File menu are as follows:

File Transfer
Initiates transferring a file between the IBM host and the local workstation, using the IND$FILE protocol. A pop-up menu allows specifying the file names and other attributes of the transfer.
The IND$FILE program must be installed on the IBM host, and the 3270 cursor must be located in a field that will accept a TSO or VM/CMS command.
Printer Session
Starts or stops a printer session.
Trace Data Stream
If set, network traffic (both a hexadecimal representation and its interpretation) are logged to the file /tmp/x3trc.process_id, and a window is popped up to monitor the data. The file name is confirmed with a pop-up; the default directory name for the trace file can be changed with the "x3270.traceDir" resource.
Trace Keyboard/Mouse Events
If set, information about keyboard and mouse events and the actions that x3270 takes in response are logged to a file. This is the same file as used for tracing the data stream, above. Event tracing is useful for creating and debugging custom keymaps, macros and scripts. For example, it will tell you precisely what action was taken in response to pressing a particular key. If the key is not mapped, it will tell you the keysym name and keycode so you can add it to a custom keymap.
Save Screen(s) in File
If set, saves an ASCII representation of the current screen image in the file /tmp/x3scr.process_id. A pop-up allows the file name to be changed; the default directory name can be changed with the "x3270.traceDir" resource. The pop-up also has buttons to choose between saving just the current image, or continuously saving it as it is redrawn.
Save Changed Options in File
Saves into a file the values of all options that have been changed since x3270 was started. A pop-up allows the file name to be changed; the default file is .x3270pro in the user's home directory. If the file already exists, it is appended to. x3270 will read the contents of this file the next time it starts up. The options settings in the file override any resources defined with xrdb or in the user's .Xdefaults file; command-line switches override the file. A different options file can be specified by the X3270PRO environment variable. If the environment variable NOX3270PRO is set, no options file will be read.
Execute an Action
Allows an action name and parameters to be entered from the keyboard. This allows experimentation with actions without having to edit keymaps and repeatedly restart x3270.

The toggles under the Options menu are as follows:

Monocase
If set, x3270 operates in uppercase-only mode.
Blinking Cursor
If set, the cursor blinks once per second.
Blank Fill
If set, x3270 behaves in some un-3270-like ways. First, when a character is typed into a field, all nulls in the field to the left of that character are changed to blanks. This eliminates a common 3270 data-entry surprise. Second, in insert mode, trailing blanks in a field are treated like nulls, eliminating the annoying `lock-up' that often occurs when inserting into an field with (apparent) space at the end.
Show Timing
If set, the time taken by the host to process an AID is displayed on the status line.
Track Cursor
If set, the cursor position is displayed on the status line.
Scrollbar
If set, the scrollbar appears.
Wraparound
If set, the ANSI terminal emulator automatically assumes a NEWLINE character when it reaches the end of a line.
Paste with Left Margin
If set, puts restrictions on how pasted text is placed on the screen. The position of the cursor at the time the paste operation is begun is used as a left margin. No pasted text will fill any area of the screen to the left of that position. This option is useful for pasting into certain IBM editors that use the left side of the screen for control information.
Select by Rectangles
If set, x3270 will always select rectangular areas of the screen. Otherwise, x3270 selects by rectangles when in 3270 mode, but in ANSI mode it selects continuous regions of the screen like xterm(1).

The names of the toggles for use with the -set and -clear options are as follows:

Menu Option Name
Monocase monoCase
Blinking Cursor cursorBlink
Blank Fill blankFill
Show Timing showTiming
Track Cursor cursorPos
Trace Data Stream dsTrace
Trace Keyboard/Mouse Events eventTrace
Save Screen(s) in File screenTrace
Scrollbar scrollBar
Wraparound lineWrap
Paste with Left Margin marginedPaste
Select by Rectangles rectangleSelect

In addition, the toggle altCursor can be used to select the cursor type. If set, an underline cursor will be used. If clear, the normal block cursor will be used.

These names also represent resources that can be set in your .Xdefaults file. For example, if you always want to have the scrollbar on, you can add the following to your .Xdefaults:

x3270.scrollBar: true

Status Line

The x3270 status line contains a variety of information. From left to right, the fields are:
comm status
Three symbols indicate the state of the connection to the host. If connected, the right-hand symbol is a solid box; if not, it is a question mark.
keyboard lock
If the keyboard is locked, an "X" symbol and a message field indicate the reason for the keyboard lock.
Three characters indicate the keyboard modifier status. "M" indicates the Meta key, "A" the Alt key, and an up-arrow or "^" indicates the Shift key.
compose
The letter "C" indicates that a composite character is in progress. If another symbol follows the "C", it is the first character of the composite.
typeahead
The letter "T" indicates that one or more keystrokes are in the typeahead buffer.
temporary keymap
The letter "K" indicates that a temporary keymap is in effect.
reverse
The letter "R" indicates that the keyboard is in reverse field entry mode.
insert mode
A thick caret "^" or the letter "I" indicates that the keyboard is in insert mode.
timing
A clock symbol and a time in seconds indicate the time it took to process the last AID or the time to connect to a host. This display is optional.
cursor position
The cursor row and column are optionally displayed, separated by a "/".

Icons

If the -activeicon option is given (or the "x3270.activeIcon" resource is set to true), x3270 will attempt to make its icon a miniature version of the current screen image. This function is highly dependent on your window manager:
mwm
The size of the icon is limited by the "Mwm.iconImageMaximum" resource, which defaults to 50x50. The image will be clipped at the bottom and right. The icon cannot accept keyboard input.
olwm
The full screen image of all 3270 models can be displayed on the icon. However, the icon cannot be resized, so if the model is later changed with an x3270 menu option, the icon image will be corrupted. The icon cannot accept keyboard input.
twm and tvtwm
The full screen image of all 3270 models can be displayed on the icon, and the icon can be resized. The icon can accept keyboard input.

However, twm does not put labels on application-supplied icon windows. You can have x3270 add its own label to the icon by setting the "x3270.labelIcon" resource to true. The default font for icon labels is 8x13; you may change it with the "x3270.iconLabelFont" resource.

Keymaps

The type of keyboard may be specified with the -keymap switch or using either the KEYMAP or KEYBD environment variables. The types of supported keyboards include sun_k3, sun_k4, sun_k5, hp-k1, hp-pc and ncd.

The keymap may also be specified as a comma-separated list of names. Later definitions override earlier ones. This is used to specify both a primary keyboard type and a set of modifiers. The modifiers defined include:

ow
(OpenWindows) Swaps the middle and right mouse button definitions, so the middle button performs the "Extend" function and the right-hand button performs the "Paste" function. Also changes the cut and paste actions to use the OpenWindows CLIPBOARD.
alt
Replaces the default "Meta" key definitions with "Alt" definitions, for keyboards which do not have a "Meta" key.
apl
Allows entry of APL characters (see APL SUPPORT below).
finnish7
Replaces the bracket, brace and bar keys with common Finnish characters.
norwegian7
Replaces the bracket, brace and bar keys with common Norwegian characters.

A temporary keymap can also be specified while x3270 is running with the Keymap action. When the action Keymap(n) is executed, temporary keymap n is added to or deleted from the current keymap. Multiple temporary keymaps can be active simultaneously. The action Keymap(None) restores the original keymap. Note: When Keymap() is specified as part of a list of multiple actions in a keymap, it must be the last action in the list.

The temporary keymap hebrew is provided to allow entry of Hebrew characters.

The X Toolkit translation mechanism is used to provide keyboard emulation. It maps events into actions. The best documentation can be found with X toolkit documents, but the following should suffice for simple customization.

An Xt event consists of (at least) four fields. The first is called a modifier. It may be any combination of Meta, Shift and Ctrl. If it is prefaced by !, it means those modifiers only. The second field is the specific event, in x3270 usually just <Key>. The third field is the detail field, which gives the actual key. The name of the key may be determined using the xev program or with the "Trace X Events" menu option. The last field is the action, which is the internal emulator function. A complete list of actions may be found later in the manual.

There are three levels of translation tables in x3270. The first is a defined by the resource x3270.keymap.base. It defines alphabetic, numeric, function keys, and such basic functions as Enter and Delete. It allows a minimal useful functionality. It is generally compiled in x3270, but can be overridden.

The second level is a keyboard specific table, which is selected by the x3270.keymap resource, and defined by the x3270.keymap.name resource (where name is the value of the x3270.keymap resource). This keymap defines actions for such things as keypad keys, and keys unique to certain keyboards. Several predefined keymaps are included with x3270.

The third level is a user customizable table which may be used to augment or override key definitions. This keymap is defined by the x3270.keymap.name.user resource.

In addition, keymaps may be defined for use in 3270 mode or NVT mode only. These keymaps use the suffixes .3270 and .nvt in their names, respectively. If a keymap x3270.keymap.name.mode is defined, it will augment the keymap x3270.keymap.name when x3270 is in the given mode. If a keymap x3270.keymap.name.user.mode is defined, it will augment the keymap x3270.keymap.name.user when x3270 is in the given mode.

The default translation table x3270.keymap.base is:
<Key>Multi_key Compose()
Shift<Key>Left KybdSelect(Left,PRIMARY)
<Key>Left Left()
Meta<Key>Right NextWord()
Shift<Key>Right KybdSelect(Right,PRIMARY)
<Key>Right Right()
Shift<Key>Up KybdSelect(Up,PRIMARY)
<Key>Up Up()
Shift<Key>Down KybdSelect(Down,PRIMARY)
<Key>Down Down()
Ctrl<Btn1Down> HandleMenu(quitMenu)
Ctrl<Btn2Down> HandleMenu(optionsMenu)
Ctrl<Btn3Down> HandleMenu(hostMenu)
Shift<Btn1Down> MoveCursor()
<Btn1Down> select-start()
<Btn1Motion> select-extend()
<Btn2Down> ignore()
<Btn2Motion> ignore()
<Btn2Up> insert-selection(PRIMARY)
<Btn3Down> start-extend()
<Btn3Motion> select-extend()
<BtnUp> select-end(PRIMARY)
Meta<Key>F1 PF(13)
Meta<Key>F2 PF(14)
Meta<Key>F3 PF(15)
Meta<Key>F4 PF(16)
Meta<Key>F5 PF(17)
Meta<Key>F6 PF(18)
Meta<Key>F7 PF(19)
Meta<Key>F8 PF(20)
Meta<Key>F9 PF(21)
Meta<Key>F10 PF(22)
Meta<Key>F11 PF(23)
Meta<Key>F12 PF(24)
<Key>F1 PF(1)
<Key>F2 PF(2)
<Key>F3 PF(3)
<Key>F4 PF(4)
<Key>F5 PF(5)
<Key>F6 PF(6)
<Key>F7 PF(7)
<Key>F8 PF(8)
<Key>F9 PF(9)
<Key>F10 PF(10)
<Key>F11 PF(11)
<Key>F12 PF(12)
Alt<Key>q Quit()
:<Key> Default()

The default 3270-mode table x3270.keymap.base.3270 adds the following definitions:
Shift<Key>Return Newline()
<Key>Return Enter()
<Key>Linefeed Newline()
Shift<Key>Tab BackTab()
<Key>Tab Tab()
<Key>Home Home()
Meta<Key>Left PreviousWord()
Meta<Key>Right NextWord()
<Key>Insert Insert()
<Key>Delete Delete()
<Key>BackSpace BackSpace()
Ctrl Shift<Btn1Down> MouseSelect()
Shift<Btn1Down> MoveCursor()
Meta<Key>1 PA(1)
Meta<Key>2 PA(2)
Meta<Key>3 PA(3)
Meta<Key>a Attn()
Meta<Key>b PrintWindow()
Meta<Key>c Clear()
Meta<Key>d Delete()
Meta<Key>h Home()
Meta<Key>i Insert()
Meta<Key>l Redraw()
Meta<Key>p PrintText()
Meta<Key>r Reset()
Meta<Key>u Unselect()
Ctrl<Key>u DeleteField()
Ctrl<Key>w DeleteWord()
:Meta<Key>asciicircum Key(notsign)

Meta is the diamond shaped key on a sun_k4, "Alt" on an NCD, "Extend Char" on an HP. The following xmodmap command must be used on the NCD to allow use the the "Alt" key:

xmodmap -e "keysym Alt_L = Meta_L"

The left mouse button may be used to make a selection. Clicking once unselects the current selection. Clicking twice selects the word under the mouse cursor. Clicking three times selects the line under the mouse cursor. Clicking and dragging selects a rectangular area of the display.

The middle mouse button may be used to paste a selection.

The right mouse button may also be used for selections, selecting the rectangular area between the current position and where the left button was last pressed.

On color X displays, the "x3270.selectBackground" resource is used to distinguish the selected text from the rest of the screen. On monochrome X displays, selected text is in reverse video. (It can be distinguished from a block cursor because the block cursor covers slightly less than an entire character position on the screen.)

The left mouse button, when pressed with the "Shift" key held down, moves the 3270 cursor to the where the mouse cursor is pointing.

This is the complete list of keymap-callable actions. Other actions are defined for use by scripts and are documented in x3270-script(1); still others are defined for internal use by x3270 and are not documented here.

Attn attention key
AltCursor switch between block and underscore cursor
BackSpace move cursor left (or send ASCII BS)
BackTab tab to start of previous input field
CircumNot input "^" in NVT mode, or "¬" in 3270 mode
Clear clear screen
Compose next two keys form a special symbol
Connect(l3h_t h, host) connect to host
CursorSelect Cursor Select AID
Cut erase selected text
Default enter key literally
Delete delete character under cursor (or send ASCII DEL)
DeleteField delete the entire field
DeleteWord delete the current or previous word
Disconnect disconnect from host
Down move cursor down
Dup duplicate field
Enter Enter AID (or send ASCII CR)
Erase erase previous character (or send ASCII BS)
EraseEOF erase to end of current field
EraseInput erase all input fields
Execute(cmd) execute a command in a shell
FieldEnd move cursor to end of field
FieldExit clear to end of field and skip to next (5250 emulation)
FieldMark mark field
HandleMenu(name) pop up a menu
HexString(l3h_t h, hex_digits) insert control-character string
Home move cursor to first input field
Insert set insert mode
Interrupt send TELNET IP to host
Key(l3h_t h, keysym) insert key keysym
Key(l3h_t h, 0xxx) insert key with ASCII code xx
Keymap(keymap) toggle alternate keymap (or remove with None)
KybdSelect(direction[,atom...]) Extend selection by one row or column
Left move cursor left
Left2 move cursor left 2 positions
Macro(macro) run a macro
MonoCase toggle uppercase-only mode
MoveCursor move cursor to mouse position
MoveCursor(l3h_t h, row, col) move cursor to (row,col)
MoveCursorSelect move cursor to mouse position, light pen selection
Newline move cursor to first field on next line (or send ASCII LF)
NextWord move cursor to next word
PA(l3h_t h, n) Program Attention AID (n from 1 to 3)
PF(l3h_t h, n) Program Function AID (n from 1 to 24)
PreviousWord move cursor to previous word
Printer(Start[,lu]|Stop) Start or stop printer session
PrintText(command) print screen text on printer
PrintWindow(command) print screen image (bitmap) on printer
Quit exit x3270
Reconnect reconnect to previous host
Redraw redraw window
Reset reset locked keyboard
Right move cursor right
Right2 move cursor right 2 positions
SetFont(font) change emulator font
Script(command[,arg...]) run a script
String(l3h_t h, string) insert string (simple macro facility)
SysReq System Request AID
Tab move cursor to next input field
ToggleInsert toggle insert mode
ToggleReverse toggle reverse-input mode
Transfer(l3h_t h, option=value...) file transfer
Unselect release selection
Up move cursor up
(the following are similar to xterm)
ignore do nothing
insert-selection([atom[,atom...]]) paste selection
move-select a combination of MoveCursor and select-start
select-end(atom[,atom...]]) complete selection and assign to atom(s)
select-extend move the end of a selection
select-start mark the beginning of a selection
set-select(atom[,atom...]]) assign existing selection to atom(s)
start-extend begin marking the end of a selection

Macros and Scripts

There are several types of macros and script functions available.
The String Action
The simplest method for macros is provided via the String action. The arguments to String are one or more double-quoted strings which are inserted directly as if typed. The C backslash conventions are honored as follows. (Entries marked * mean that after sending the AID code to the host, x3270 will wait for the host to unlock the keyboard before further processing the string.)
\b Left
\f Clear*
\n Enter*
\pan PA(n)*
\pfnn PF(nn)*
\r Newline
\t Tab
\T BackTab

An example keymap entry would be:

Meta<Key>p: String("probs clearrdr\n")

Note: The strings are in ASCII and converted to EBCDIC, so beware of inserting control codes. Also, a backslash before a p may need to be doubled so it will not be removed when a resource file is read.

There is also an alternate form of the String action, HexString, which is used to enter non-printing data. The argument to HexString is a string of hexadecimal digits, two per character. A leading 0x or 0X is optional. In 3270 mode, the hexadecimal data represent EBCDIC characters, which are entered into the current field. In NVT mode, the hexadecimal data represent ASCII characters, which are sent directly to the host.

The Script Action
This action causes x3270 to start a child process which can execute x3270 actions. Standard input and output from the child process are piped back to x3270. The Script action is fully documented in x3270-script(1).
The macros Resource
An alternate method of defining macros is the "x3270.macros" resource. This resource is similar to a keymap, but instead of defining keyboard mappings, it associates a list of X actions with a name. These names are displayed on a Macros menu that appears when x3270 is connected to a host. Selecting one of the names on the menu executes the X actions associated with it. Typically the actions are String calls, but any action may be specified. Here is a sample macros resource definition, which would result in a four-entry Macros menu:
x3270.macros: \
log off: String("logout\n")\n\
vtam: String("dial vtam\n")\n\
pa1: PA(1)\n\
alt printer: PrintText("lpr -Plw2")

You can also a different set of macros for each host. If there is a resource named `x3270.macros.somehost', it defines the macros menu for when x3270 is connected to somehost.

The -script Option
This facility allows x3270 to operate under the complete control of a script. x3270 accepts actions from standard input, and prints results on standard output. The -script option is fully documented in x3270-script(1).

Composite Characters

x3270 allows the direct entry of accented letters and special symbols. Pressing and releasing the "Compose" key, followed by two other keys, causes entry of the symbol combining those two keys. For example, "Compose" followed by the "C" key and the "," (comma) key, enters the "C-cedilla" symbol. A C on the status line indicates a pending composite character.

The mappings between these pairs of ordinary keys and the symbols they represent is controlled by the "x3270.composeMap" resource; it gives the name of the map to use. The maps themselves are named "x3270.composeMap.name". The default is "latin1", which gives mappings for most of the symbols in the ISO 8859-1 Latin-1 character set that are not in the 7-bit ASCII character set.

Note: The default keymap defines the "Multi_key" keysym as the "Compose" key. If your keyboard lacks such a key, you may set up your own "Compose" key with a keymap that maps some other keysym onto the Compose action.

APL Support

x3270 supports the full APL2 character set and the entry of APL characters from the keyboard.

APL characters are supported only in the special 3270 font.

Keyboard entry of APL characters is supported through the apl keymap modifier. This modifier defines the "Alt" key as an APL key, with a typical APL keyboard layout, e.g., "Alt" pressed with the A key results in the APL "alpha" symbol. Overstruck characters such as "quad-quote" are not defined as single keystrokes; instead they are entered as composites (see COMPOSITE CHARACTERS above). A special composite map, apl, is provided for this purpose.

Note: Some keyboards do not the "Alt" key as a modifier, so keymaps that use the "Alt" key will not function. On a Sun for example, this can be remedied with the command:

xmodmap -e "add mod2 = Alt_L"

For convenience, an -apl option is defined, which is an abbreviation for the following resource definitions:

x3270.keymap: your_keymap_name,apl
x3270.charset: apl
x3270.composeMap: apl

There are a number of APL characters that are similar in appearance to non-APL characters. In particular, the APL "stile", "slope," "tilde" and "quotedot" characters are similar to the EBCDIC "bar", "backslash," "tilde" and "exclaim" characters. The APL characters are entered with the "Alt" key, and have slightly different appearances.

The complete list of special APL keysyms is as follows. Entries marked with an asterisk (*) represent simple aliases for standard EBCDIC characters. Entries marked with an (S) represent Sharp APL charatcers.

APL Symbol Hex x3270 Keysym x3270 Key x3270 Composed Keys
A underbar 41 apl_Aunderbar Alt-A A + underbar
alpha B0 apl_alpha Alt-a  
B underbar 42 apl_Bunderbar Alt-B B + underbar
bar 60* apl_bar -  
brace left C0 apl_braceleft Alt-{  
brace right D0 apl_braceright Alt-}  
C underbar 43 apl_Cunderbar Alt-C C + underbar
circle 9D apl_circle Alt-o  
circle bar ED apl_circlebar   circle + bar
circle slope CF apl_circleslope   circle + slope
circle star FD apl_circlestar   circle + star
circle stile CD apl_circlestile   circle + stile
colon 7A* apl_colon :  
comma 6B* apl_comma ,  
comma bar (S) E5 apl_commabar   comma + bar
D underbar 44 apl_Dunderbar Alt-D D + underbar
del BA apl_del Alt-g  
del stile DC apl_delstile   del + stile
del tilde FB apl_deltilde   del + tilde
delta BB apl_delta Alt-h  
delta stile DD apl_deltastile   delta + stile
delta underbar FC apl_deltaunderbar   delta + underbar
diamond 70 apl_diamond   up caret + down caret
dieresis 72 apl_dieresis Alt-1  
dieresis circle (S) E5 apl_dieresiscircle   dieresis + circle
dieresis dot EC apl_dieresisdot   dieresis + dot
dieresis jot (S) E4 apl_dieresisjot   dieresis + jot
divide B8 apl_divide Alt-+  
dot 4B* apl_dot .  
down arrow 8B apl_downarrow Alt-u  
down caret 78 apl_downcaret Alt-9  
down caret tilde CB apl_downcarettilde   down caret + tilde
down shoe AB apl_downshoe Alt-v  
down stile 8E apl_downstile Alt-d  
down tack AC apl_downtack Alt-b  
down tack jot FE apl_downtackjot   down tack + jot
down tack up tack DA apl_downtackuptack   down tack + up tack
E underbar 45 apl_Eunderbar Alt-E E + underbar
epsilon B1 apl_epsilon Alt-e  
epsilon underbar 75 apl_epsilonunderbar   epsilon + underbar
equal 7E* apl_equal "="  
equal underbar E1 apl_equalunderbar   equal + underbar
euro (S) E7 apl_euro   C + =
F underbar 46 apl_Funderbar Alt-F F + underbar
G underbar 47 apl_Gunderbar Alt-G G + underbar
greater 6E* apl_greater >  
H underbar 48 apl_Hunderbar Alt-H H + underbar
I underbar 49 apl_Iunderbar Alt-I I + underbar
iota B2 apl_iota Alt-i  
iota underbar 74 apl_iotaunderbar   iota + underbar
J underbar 51 apl_Junderbar Alt-J J + underbar
jot AF apl_jot alt-j  
K underbar 52 apl_Kunderbar Alt-K K + underbar
L underbar 53 apl_Lunderbar Alt-L L + underbar
left arrow 9F apl_leftarrow Alt-[  
left bracket AD apl_leftbracket [  
left paren 4D* apl_leftparen (  
left shoe 9B apl_leftshoe Alt-z  
less 4C* apl_less <  
M underbar 54 apl_Munderbar Alt-M M + underbar
N underbar 55 apl_Nunderbar Alt-N N + underbar
not equal BE apl_notequal Alt-8 equal + slash
not greater 8C apl_notgreater Alt-4 less + equal
not less AE apl_notless Alt-6 greater + equal
O underbar 56 apl_Ounderbar Alt-O O + underbar
omega B4 apl_omega Alt-w  
overbar A0 apl_overbar Alt-2  
P underbar 57 apl_Punderbar Alt-P P + underbar
plus 4E* apl_plus +  
Q underbar 58 apl_Qunderbar Alt-Q Q + underbar
quad 90 apl_quad Alt-l  
quad divide EE apl_quaddivide   quad + divide
quad jot 73 apl_quadjot   quad + jot
quad quote DE apl_quadquote   quad + quote
quad slope CE apl_quadslope   quad + slope
query 6F* apl_query ?  
quote 7D* apl_quote '  
quote dot DB apl_quotedot   quote + dot
R underbar 59 apl_Runderbar Alt-R R + underbar
rho B3 apl_rho Alt-r  
right arrow 8F apl_rightarrow Alt-]  
right bracket BD apl_rightbracket ]  
right paren 5D* apl_rightparen )  
right shoe 9A apl_rightshoe Alt-x  
S underbar 62 apl_Sunderbar Alt-S S + underbar
semicolon 5E* apl_semicolon ;  
slash 61* apl_slash /  
slash bar EA apl_slashbar   slash + bar
slope B7 apl_slope Alt-\  
slope bar EB apl_slopebar   slope + bar
squad CC apl_squad   quad + quad
star 5C* apl_star *  
stile BF apl_stile Alt-|  
T underbar 63 apl_Tunderbar Alt-T T + underbar
tilde 80 apl_tilde Alt-~  
times B6 apl_times Alt-=  
U underbar 64 apl_Uunderbar Alt-U U + underbar
underbar 6D* apl_underbar "_"  
up arrow 8A apl_uparrow Alt-y  
up caret 71 apl_upcaret Alt-0  
up caret tilde CA apl_upcarettilde   up caret + tilde
up shoe AA apl_upshoe Alt-c  
up shoe jot DF apl_upshoejot   up shoe + jot
up stile 8D apl_upstile Alt-s  
up tack BC apl_uptack Alt-n  
up tack jot EF apl_uptackjot   up tack + jot
V underbar 65 apl_Vunderbar Alt-V V + underbar
W underbar 66 apl_Wunderbar Alt-W W + underbar
X underbar 67 apl_Xunderbar Alt-X X + underbar
Y underbar 68 apl_Yunderbar Alt-Y Y + underbar
Z underbar 69 apl_Zunderbar Alt-Z Z + underbar

5250 (AS/400) Support

x3270 provides limited support for 5250 (AS/400) emulation. This is not native 5250 terminal emulation, but rather for use with hosts which allow a 3270 terminal to emulate a 5250. A 5250 keymap is defined, which maps the keyboard function keys to the 5250 emulators PA/PF key sequences, as well as redefining the Return key to use the special FieldExit action. The command line for 5250 support is:
x3270 -model 2 -keymap 5250

Screen Printing

Screen printing is handled through options on the File menu or by the PrintText and PrintWindow actions. Each results in a pop-up to confirm the print command.

The PrintText action (usually assigned to the key <Meta>p) sends the current screen image to the printer as ASCII characters. The default command used to print the data is controlled by the "x3270.printTextCommand" resource; the default is lpr. You may also use a keymap definition to pass a print command the PrintText action itself. The command receives the screen text as its standard input. For example, the following keymap will save the screen text in a file:

Meta<Key>f: PrintText("cat >screen.image")

Note: HardPrint is an alias for PrintText.

The PrintWindow action (usually assigned to the key <Meta>b) sends the current screen image to the printer as a bitmap. The default command used to print the data is controlled by the "x3270.printWindowCommand" resource; the default is

xwd -id %d | xpr | lpr.

You may also use a keymap definition to pass a print command to the PrintWindow action itself. If the command contains the text "%d", the window ID of x3270 will be substituted before it is run. For example, the following keymap will pop up a duplicate of the current screen image:

Meta<Key>g: PrintWindow("xwd -id %d | xwud &")

If the command for PrintWindow or PrintText begins with an "@" character, the initial pop-up menu to confirm the print command is not displayed and the command cannot be edited.

Bugs

Cursor highlighting will not work with if you use the NoTitleFocus option in your .twmrc file.

Passthru

x3270 supports the Sun telnet-passthru service provided by the in.telnet-gw server. This allows outbound telnet connections through a firewall machine. When a p: is prepended to a hostname, x3270 acts much like the itelnet(1) command. It contacts the machine named internet-gateway at the port defined in /etc/services as telnet-passthru (which defaults to 3514). It then passes the requested hostname and port to the in.telnet-gw server.

Files

/usr/lib/X11/x3270/ibm_hosts
$HOME/.x3270pro

See Also

s3270(1), c3270(1), tcl3270(1), ibm_hosts(5), x3270-script(1), pr3287(1), telnet(1), tn3270(1)
X Toolkit Intrinsics
Data Stream Programmer's Reference, IBM GA23-0059
Character Set Reference, IBM GA27-3831
RFC 1576, TN3270 Current Practices
RFC 1646, TN3270 Extensions for LUname and Printer Selection
RFC 2355, TN3270 Enhancements

Copyrights

Modifications Copyright © 1993, 1994, 1995, 1996, 1997, 1999, 2000, 2001 by Paul Mattes.
Original X11 Port Copyright © 1990 by Jeff Sparkes.

Permission to use, copy, modify, and distribute this software and its documentation for any purpose and without fee is hereby granted, provided that the above copyright notice appear in all copies and that both that copyright notice and this permission notice appear in supporting documentation.
Copyright © 1989 by Georgia Tech Research Corporation, Atlanta, GA 30332.
All Rights Reserved. GTRC hereby grants public use of this software. Derivative works based on this software must incorporate this copyright notice.
5250 Emulation Code Copyright © Minolta (Schweiz) AG, Beat Rubischon.

Version

x3270 3.2.18
This HTML document and the accompanying troff document were generated with a set of write-only m4 macros and the powerful vi editor.
Last modified 31 December 2001.