[comp.sys.sgi] tn3270, vt100 keyboards, IRIX 3.3...

Claude.P.Cantin@nrc.CA (03/08/91)

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

afleming@watsci.waterloo.edu (Allan Fleming) (03/08/91)

In article <9103071116.aa04968@VMB.BRL.MIL> Claude.P.Cantin@nrc.CA writes:
>
>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.
>
I had similar problems when we switched - for some reason SGI changed the
terminfo's for the vt*'s. Since SGI ignored my inquiries, I just reloaded 
the terminfo's for all of the vt*'s from 3.2 (easier than extracting the 
source, changing it back, and recompiling all of them) and all of my
problems went away. Has nothing to do with filtering out "ESC=", you could also
reconfigure the terminal to match - but if you talk to IRIX 3.3 and 
something else, you'd have to reconfigure the terminal each time you switch. 
Why they switched from the default vt configuration is beyond me.

Regards, Allan