Cadet 1st Class
Cadet 1st Class
660 views

Virtual Box

I have a client running an application compiled using MF cobol for Unix V3.2, running on a bare metal install of SCO Openserver 6.0.0

As the current hardware is now 8 years old, I have attempted to move the application to a Virtualbox on LinuxMint 19.3.

All is well, except for one not so minor detail, the F10 and up and down arrow keys do not work, all the other F keys work, as well as the left and right arrow keys.

I do not have the source code. The application does not appear to use a special termcap or terminfo, nor does it use an adisctrl file.

Any suggestions?

0 Likes
4 Replies
Cadet 1st Class
Cadet 1st Class

I have given up. The problem occurs at the console, also with telnet, and is even worse with ssh.
I have installed another application written in MF cobol for which I have the source code, but a later version of the compiler (4.1) that uses  adis  This newer application does not exhibit the problem.
My assumption now is that this is a timing issue and that the overhead of the virtual system causes the application to misinterpret function keys.

 
0 Likes
Micro Focus Expert
Micro Focus Expert

There is a slight chance that the environment variable COBKEYTIMEOUT might help the original problem, if you haven't completely given up.  

Function Keys and COBKEYTIMEOUT

On network-based UNIX systems, information is split into packets, and thus under certain conditions it is possible for part of a function key sequence to be split across two packets. This can lead to incorrect key recognition. This typically occurs while using the telnet or the rlogin commands.

Server Express provides you with the COBKEYTIMEOUT environment variable, which you can use to determine the time-out between the arrival of the first key of a function or special key sequence and the arrival of the next. Setting this environment variable allows function key sequences to be recognized correctly. 

The time-out period, a value in the range 1 through 126, is dependent on the type of connection and the effective average baud rate. For example, ethernet connections should not require a value greater than 10. Using too small a value results in incorrect function and special key recognition; too large a value results in a delay when certain keys are pressed (such as Escape) unless they are followed by other keys (such as Escape).

If the value of the COBKEYTIMEOUT environment variable is outside the range 1 to 126, null, non-integer or the variable does not exist, then a direct connection between the terminal and the machine is assumed.

You could also use the COBKEYTIMEOUT environment variable to recognize function key sequences on terminals which do not send such sequences at the correct baud rate, but insert pauses between the characters instead.

This environment variable is read once only, when the screen handling subsystem is initialized. Changing its value after this has no effect.

0 Likes
Cadet 1st Class
Cadet 1st Class

Thanks for the tip, I tried using values of 1,5,7.10.15 and 20 with telnet, and at the virtualbox console, without success.

0 Likes
Cadet 1st Class
Cadet 1st Class

Re-did the entire installation using VMWare, and the problem went away.

0 Likes
The opinions expressed above are the personal opinions of the authors, not of Micro Focus. By using this site, you accept the Terms of Use and Rules of Participation. Certain versions of content ("Material") accessible here may contain branding from Hewlett-Packard Company (now HP Inc.) and Hewlett Packard Enterprise Company. As of September 1, 2017, the Material is now offered by Micro Focus, a separately owned and operated company. Any reference to the HP and Hewlett Packard Enterprise/HPE marks is historical in nature, and the HP and Hewlett Packard Enterprise/HPE marks are the property of their respective owners.