tn3270, vt100 keyboards, IRIX 3.3...

Claude.P.Cantin at nrc.CA Claude.P.Cantin at nrc.CA
Fri Mar 8 02:16:36 AEST 1991


A few weeks ago, I sent a message asking if people noticed some behaviour
changes with tn3270 when they went from IRIX 3.2 to IRIX 3.3.
Only one person replied... asking about my findings.

To summarize my question, "vt100" terminal types lost the functionality
of  the right keypad ENTIRELY when going from IRIX 3.2 to IRIX 3.3.  Other
differences include the loss of the keypad's "enter" key as PA2 (on both
vt100 and iris-ansi keyboards).

Under IRIX 3.2, F2 and F3 did not work.

   bindkey -r f2
   bindkey -r f3

fixed those problems.  I have decided to use "bindkey" on all keys to make
sure all function and most keypad keys are reset to their original value
BEFORE tn3270 is invoked.

IRIX 3.3 filters out an "ESC=", which causes an "alternate keypad" to be used.
That "alternate keypad" is what I needed!  "ESC>" resets the keypad values.

SO, before calling tn3270 I sent an "ESC=" to the shell.  When getting out
of tn3270, I reset the keypad by sending an "ESC>".

For everyone using tn3270, here is the script I use to start the terminal
emulator:

    if test $TERM = "iris-ansi"
    then
        stty intr '^]'
        bindkey -r f1
        bindkey -r f2
        bindkey -r f3
        bindkey -r f4
        bindkey -r f5
        bindkey -r f6
        bindkey -r f7
        bindkey -r f8
        bindkey -r f9
        bindkey -r f10
        bindkey -r f11
        bindkey -r f12
        bindkey -r print-scrn
        bindkey -r insert
        bindkey -r end
        bindkey -r home
        bindkey -r scroll-lock
        bindkey -r pause
        bindkey -r page-up
        bindkey -r page-down
    fi
    # necessary since IRIX 3.3 to load alternate keypad (only for vt100).
    if test ! $TERM = "vt100"
    then
        echo "\033="
    fi
    /usr/local/bin/tn3270.orig vm.nrc.ca
    # resets keypad.
    if test ! $TERM = "vt100"
    then
        echo "\033>"
    fi

The only task left, for the "iris-ansi" terminal type, is to
redefine the keypads "enter" key to send "ESC O M" instead of 0x0d...

Note: "tn3270.orig" is the executable.
      "vm.nrc.ca" is the IBM 3090 we are connecting to.
      The name of the script is "tn3270".


                   Claude Cantin
                   National Research Council of Canada



More information about the Comp.sys.sgi mailing list