Created On:  31 January 2013

Problem:

When using the PuTTY terminal emulator in its VT100+ emulation mode, and when setting the TERM environment variable on Linux/UNIX to TERM=vt220, emulation is generally good but function keys F5 and higher do not work.

Resolution:

Attached to this Knowledgebase article is a file named "vt220_src.txt".  This is a terminfo source file with improved function key entries.  It is identical to the file originally supplied with the COBOL product:

$COBDIR/terminfo/vt220.src

except that the kf5 through kf10 entries have been updated to values the PuTTY terminal emulator expects for these function keys, when operating in VT100+ emulation mode.

To install this new terminfo entry:

1) Download the attachment "vt220_src.txt"

2) Transfer it to the Linux/UNIX machine where it will be used

3) Log in with root credentials

4) Change directories to where MF COBOL is installed, then set these environment variables:

export COBDIR=`pwd`
export LD_LIBRARY_PATH=$COBDIR/lib:$LD_LIBRARY_PATH
export LIBPATH=$COBDIR/lib:$LIBPATH
export SHLIB_PATH=$COBDIR/lib:$SHLIB_PATH
export PATH=$COBDIR/bin:$PATH

LIBPATH is actually needed only on AIX, and SHLIB_PATH is needed only on HP/UX pa-risc, and for all other platforms only LD_LIBRARY_PATH is needed, but it doesn't hurt to set all these environment variables even when they're not needed -- the above settings cover all platforms.

5) Change directories to $COBDIR/terminfo

6) Rename the original vt220.src to vt220-orig.src

7) Copy the "vt220_src.txt" file into this directory, and re-name it "vt220.src"

8) Make sure the COBTERMINFO environment variable is not set

9) Enter the command:

 mftic vt220.src

This compiles the new terminfo entry, creating new entries in the "v" subdirectory.  From then on, all users of this installation of COBOL will use the updated terminfo entry.

Users should:

export TERM=vt220   (this could be done in users' .profile).

Configure PuTTY:  "Change Settings" --> "Keyboard" (below "Terminal") --> "The function keys and keypad" --> select "VT100+"   then save the PuTTY configuration.

If you do not have root permissions, and you want to use this new terminfo entry for your own purposes without altering $COBDIR, then:

1) Change directories to your home directory

2) Create a directory named "my_cobterminfo"

3) Change directories to my_cobterminfo

4) Copy the "vt220_src.txt" file into this directory, and re-name it "vt220.src"

5) Set the COBTERMINFO environment variable to this directory:

 export COBTERMINFO=`pwd`

6) Enter the command:

 mftic vt220.src

This creates a subdirectory named "v" into which is placed the compiled terminfo entries.

From then on, each time you log in, set COBTERMINFO to the following value (this can be done in your .profile):

export COBTERMINFO=~/my_cobterminfo:$COBDIR/terminfo

The "~" character above stands for your home directory.

Thus COBTERMINFO is set to a colon-separated list of directories: the "my_cobterminfo" subdirectory of your home directory, and also $COBDIR/terminfo.  Then configure PuTTY as described earlier, and set TERM=vt220 each time you log in.

 

 

 

Incident #2600314