HDS ViewStation System Administrator's Guide

A Hypertext Document


HDSperx HDS3270 Terminal Emulation Manual Page

This page describes the ViewStation's HDS3270 terminal emulation client manual page.

HDS3270 Terminal Emulation
This is the HDS3270 client manual page.

NAME
hds3270 - IBM remote host access tool

SYNOPSIS
hds3270 [ -model [ 2345 ] ] [ -port portnum ] [ -keymap name] [ -initstr string ] [ - mono ] host

DESCRIPTION
hds3270 opens a telnet connection to the given IBM host in an X window. The created window provides a fairly complete IBM 3278 terminal emulation. Since the window created by hds3270 uses its own font for displaying characters, is a fairly accurate representation of a 3278. It is similar to tn3270 (1) except that it is X based, not curses based.

hds3270 is a toolkit based program, it also understands all of the standard options and resources. The most important are "-rv" and "*reverseVideo" on mono systems.

The type of 3278 to be emulated is given by the -mode switch. The sizes of various emulated models are:
Model 2 80x24
Model 3 80x30
Model 4 80x43
Model 5 132x27
The default is Model 2 emulation.

The -port switch can be used to define the TCP port to connect to. The default port is the telnet port.

The -initstr switch can be used to specify a string to send the remote host once the TCP connection is established.

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 ibm (standard IBM 101/102 keyboards), ibm3270 (standard IBM 101/102 keyboards configured to use 3270 KeySyms), and lex3270 (Lexmark 122 keyboard configured to use 3270 KeySyms). The default is ibm.

The X Toolkit translation mechanism is used to provide keyboard emulation. It maps events into actions. The best documentation can be found with X11R4 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 alt, meta, shift and ctrl. If it is prefaced by !, it means those modifiers only. The second field is the specific event, in hds3270 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 R4 xev program. 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 hds3270. The first is a default, compiled in table. It defines alphabetic, numeric, function keys, and such basic functions as Enter and Delete. It allows a minimal useful functionality.

The second level is a keyboard specific table, which is found in the application default file, which defines actions for such things as keypad keys, and keys unique to certain keyboards.

The third level is a user customizable table which may be used to augment or override key definitions. This will typically be found in the users .Xdefaults file.

The naming for a lex122 keyboard would be:
hds3270.keymap.lex122:
hds3270.keymap.lex122.user:

The default translation table is:

1		1			.
<Expose>: 				Redraw()\n\
ShiftReturn:                      	Newline()\n\
~Shift<Key>Return:                    	Enter()\n\
Shift<Key>osfActivate:              	Newline()\n\
~Shift<Key>osfActivate:              	Enter()\n\
<KeyPress>Caps_Lock:               	ShiftOn()\n\
~Shift<KeyRelease>Caps_Lock:       	ShiftOff()\n\
<KeyPress>Shift_L:                  	ShiftOn()\n\
~Lock<KeyRelease>Shift_L:             	ShiftOff()\n\
<KeyPress>Shift_R:                   	ShiftOn()\n\
~Lock<KeyRelease>Shift_R:           	ShiftOff()\n\
Shift<Key>Tab:                      	BackTab()\n\
~Shift<Key>Tab:                    	Tab()\n\
Ctrl<Key>h:                         	Home()\n\
<Key>osfBeginLine:                  	Home()\n\ 
~Mod1~Shift<Key>osfLeft:           	Left()\n\ 
Mod1~Shift<Key>osfLeft:           	Left2()\n\
~Mod1Shift<Key>osfLeft:             	Left2()\n\
~Mod1~Shift<Key>osfRight:    		Right()\n\ 
Mod1~Shift<Key>osfRight:     		Right2()\n\        
~Mod1Shift<Key>osfRight:     		Right2()\n\
<Key>osfUp:    				Up()\n\         
<Key>osfDown:  				Down()\n\
Shift<Key>osfDelete:     		EraseEOF()\n\
~Shift<Key>osfDelete:   		Delete()\n\
<Key>osfBackSpace:  			Left()\n\
<Btn1Down>:				MoveCursor()\n\
Shift<Key>osfHelp:  			PF13()\n\  
Shift<Key>F2:  				PF14()\n\
Shift<Key>F3:  				PF15()\n\  
Shift<Key>osfMenu:  			PF16()\n\
Shift<Key>F5:  				PF17()\n\       
Shift<Key>F6:  				PF18()\n\
Shift<Key>F7:  				PF19()\n\       
Shift<Key>F8:  				PF20()\n\
Shift<Key>F9:  				PF21()\n\
Shift<Key>osfMenuBar:    		PF22()\n\
Shift<Key>F11: 				PF23()\n\       
Shift<Key>F12: 				PF24()\n\
<Key>osfHelp:  				PF1()\n\              
<Key>F2:  				PF2()\n\
<Key>F3:  				PF3()\n\              
<Key>osfMenu:  				PF4()\n\
<Key>F5:  				PF5()\n\
<Key>F6:  				PF6()\n\
<Key>F7:  				PF7()\n\         
<Key>F8:  				PF8()\n\
<Key>F9:  				PF9()\n\        
<Key>osfMenuBar:    			PF10()\n\
<Key>F11: 				PF11()\n\             
<Key>F12: 				PF12()\n\
Shift<Key>osfCancel:     		Reset()\n\
~Shift<Key>osfCancel:    		Clear()\n\
Mod1<Key>c:    				Clear()\n\
Mod1<Key>r:    				Reset()\n\
Mod1<Key>1:    				PA1()\n\        
Mod1<Key>2:    				PA2()\n\	 
Mod1<Key>i:    				Insert()\n\
<Key>osfInsert:     			Insert()\n\
Mod1<Key>d:    				Delete()\n\
Mod1<Key>h:    				Home()\n\
Ctrl<Key>l:    				Redraw()\n\ 
<Key>:    				Default()

Note that the left button may be used to move the cursor.
Mod1 is the Alt key on an IBM keyboard.
This is the complete list of actions:

l l l l Redraw Insert Enter AltCursor MonoCase Tab BackTab Reset Left Left2 Right Right2 Up Down Newline Dup Field Mark PA1 PA2 SysReq Clear CursorSelect EraseEOF EraseInput Home Delete Default MoveCursor String ShiftOn ShiftOff PF1-PF24

MACROS
A simple macro facility is provided via the String action. The arguments to String() are one or more double-quoted strings which are inserted directly as if typed. Hex constants may be entered in the form 0xff, and the C backslash con ventions are honored as follows:
l l. \b Left \f Clear \n Enter \r Newline \t Tab

An example action would be:
Mod1<Key>p: probs clearrdr\n")

Note: The strings are in ASCII and converted to EBCDIC, so beware of inserting control codes.

COLOR
hds3270 does not understand IBM 3270 color protocols. It merely draws text in one of three colors depending on the field attributes. Those colors may be customized using the following resources:
hds3270.normalColor: green
hds3270.boldColor: cyan
hds3270.inputColor: orange
hds3270.colorBackground: black


It is possible to get monochrome colors and behaviour using the -mono switch.

FILES
/usr/lib/X11/app-defaults/HDS3270

SEE ALSO
telnet(1), tn3270(1) X Toolkit Intrinsics (R4 version)

AUTHORS
Robert Viduya - SunView based 3270tool
Jeff Sparkes - X11 port
Edward Parks - HDS ViewStation FX port

BUGS
Since the custom font is not substitutable, the program cannot be coerced into using a different sized font. This means that the window is essentially fixed in size. If somebody wishes to contribute different sized fonts, I'll welcome them.

Return to Section Heading Page


Return to the Home Page

If you need more information than is available here, you can reach HDS via email at info@hds.com, or call us at 1.800.HDS.1551 in the USA, or at +610.277.8300 from outside the US. For questions or problems regarding the HDS WWW page, contact webmaster@hds.com.
© 1996 by HDS Network Systems Inc.