SUMMARY: Configuring Sun Terminal Type 5 to emulate VMS EDT editor keys

From: Tammi L. Turner (TTurner@UH.EDU)
Date: Sat Jul 03 1993 - 01:28:36 CDT


Here is a SUMMARY for configuring a SUN terminal type 5 for use as a VT100
terminal to emulate the VMS EDT editor keys. Thanks for all of the responses.
I tried them all to see which worked best for me. The first one seemed to do the trick for me. They all require the use of xterm. No one seemed to know how to get it to work in cmdtool or shelltool. Sorry I don't have the headers for all of the messages.

#1: from feldt@phyast.nhn.uoknor.edu (Andy Feldt)

   What we use is the following:

1) Use an xterm (not cmdtool or shelltool) window. xterm is in /usr/openwin/bin
   as of OW3.0

2) add the following to your .Xdefaults file:

XTerm*sunFunctionKeys: True
XTerm*VT100.Translations: #override <Key>R2: keymap(vt)
XTerm*vtKeymap.translations: \
    <Key>R2: keymap(None) \n\
    <Key>KP_Enter: string(0x1B) string("OM") \n\
    <Key>R1: string(0x1B) string("OP") \n\
    <Key>KP_Divide: string(0x1B) string("OQ") \n\
    <Key>KP_Multiply: string(0x1B) string("OR") \n\
    <Key>KP_Subtract: string(0x1B) string("OS") \n\
    <Key>KP_Add: string(0x1B) string("Om") \n\
    <Key>KP_Decimal: string(0x1B) string("On") \n\
    <Key>Insert: string(0x1B) string("Op") \n\
    <Key>R13: string(0x1B) string("Oq") \n\
    <Key>Down: string(0x1B) string("Or") \n\
    <Key>R15: string(0x1B) string("Os") \n\
    <Key>Left: string(0x1B) string("Ot") \n\
    <Key>R11: string(0x1B) string("Ou") \n\
    <Key>Right: string(0x1B) string("Ov") \n\
    <Key>R7: string(0x1B) string("Ow") \n\
    <Key>Up: string(0x1B) string("Ox") \n\
    <Key>R9: string(0x1B) string("Oy") \n\
    <Key>F9: string(0x1B) string("OA") \n\
    <Key>F10: string(0x1B) string("OB") \n\
    <Key>F7: string(0x1B) string("OC") \n\
    <Key>F8: string(0x1B) string("OD")

Now, the next time you start up OW (or if you use xrdb to reread your
.Xdefaults file, now) and then start up an xterm, the keypad has the
potential to act like a Vt100 keypad. This is controlled by a toggle
key - here set to be the 'Print Screen' key. There is no physical
indication of which mode you are in, so you just have to remember (or
try pressing 'Print Screen' again to toggle back). Also, I was unable to
map the NumLock key to be PF1 (Gold), so that is mapped to the 'Pause'
key. The arrow keys at the bottom no longer work when this is done, so
they have been mapped to F7-F10 (can't map F11 and F12). This is because
they are totally equivalent to KP4, KP8, KP2 and KP6. Note also that this
whole scheme breaks when you go to Solaris 2.2 (OW 3.2)
and I haven't had a chance to find the problem yet.

Good luck!

Andy Feldt
System Support Programmer
Department of Physics and Astronomy
The University of Oklahoma

#2 from babb@k2.sanders.lockheed.com (Scott Babb):

This is what I have in my .Xdefaults to set up VT-100 emulation in
Xterminals (only, not shelltools, cmdtools, etc.):

xterm*scrollBar: True
XTerm*sunFunctionKeys: True
XTerm*VT100.Translations: #override Ctrl<Key>F5: keymap(vt)
XTerm*vtKeymap.translations: \
    Ctrl<Key>F5: keymap(num) \n\
    <Key>KP_Enter: string(0x1B) string("OM") \n\
    <Key>F1: string(0x1B) string("OP") \n\
    <Key>F2: string(0x1B) string("OQ") \n\
    <Key>F3: string(0x1B) string("OR") \n\
    <Key>F4: string(0x1B) string("OS") \n\
    <Key>KP_Add: string(0x1B) string("Ol") \n\
    <Key>KP_Subtract: string(0x1B) string("Om") \n\
    <Key>KP_Decimal: string(0x1B) string("On") \n\
    <Key>Insert: string(0x1B) string("Op") \n\
    <Key>R13: string(0x1B) string("Oq") \n\
    <Key>Down: string(0x1B) string("Or") \n\
    <Key>R15: string(0x1B) string("Os") \n\
    <Key>Left: string(0x1B) string("Ot") \n\
    <Key>R11: string(0x1B) string("Ou") \n\
    <Key>Right: string(0x1B) string("Ov") \n\
    <Key>R7: string(0x1B) string("Ow") \n\
    <Key>Up: string(0x1B) string("Ox") \n\
    <Key>R9: string(0x1B) string("Oy") \n\
    <Key>F5: string(0x1B) string("OA") \n\
    <Key>F6: string(0x1B) string("OB") \n\
    <Key>F7: string(0x1B) string("OD") \n\
    <Key>F8: string(0x1B) string("OC")
XTerm*numKeymap.translations: \
    Ctrl<Key>F5: keymap(None) \n\
    <Key>KP_Enter: string(0x0D) \n\
    <Key>F1: string(0x1B) string("OP") \n\
    <Key>F2: string(0x1B) string("OQ") \n\
    <Key>F3: string(0x1B) string("OR") \n\
    <Key>F4: string(0x1B) string("OS") \n\
    <Key>KP_Add: string("+") \n\
    <Key>KP_Subtract: string("-") \n\
    <Key>KP_Multiply: string("*") \n\
    <Key>KP_Divide: string("/") \n\
    <Key>KP_Decimal: string(".") \n\
    <Key>Insert: string("0") \n\
    <Key>R13: string("1") \n\
    <Key>Down: string("2") \n\
    <Key>R15: string("3") \n\
    <Key>Left: string("4") \n\
    <Key>R11: string("5") \n\
    <Key>Right: string("6") \n\
    <Key>R7: string("7") \n\
    <Key>Up: string("8") \n\
    <Key>R9: string("9") \n\
    <Key>F5: string(0x1B) string("OA") \n\
    <Key>F6: string(0x1B) string("OB") \n\
    <Key>F7: string(0x1B) string("OD") \n\
    <Key>F8: string(0x1B) string("OC")

When you start up an xterm, the keyboard is in normal Sun mode.

If you hit <Control-F5>, then the F1-F4 keys become the VT-100 PF1-PF4
keys, and the F5-F8 keys become the VT-100 arrow keys (up, down, left,
and right, respectively) and the numeric keypad outputs VT-100
application keypad codes.

Hitting <Control-F5> again leaves the F1-F8 keys with the VT-100 codes,
but it changes the numeric keypad to output the characters on the keys.

A third <Control-F5> puts the keyboard back into Sun mode.

I haven't been able to get the "inverted T" arrow keypad to put out the
VT-100 arrow key codes yet, but I've only worked on this for a half an
hour or so before I had to go on to the next emergency ;-). Enjoy!

-Scott

#3: (sorry I deleted header so I can't give name)

we use the following combination, which basically makes
the type 5 act like a type 4, so that to go to end of line
in EDT you have to hit Shift-downarrow on the keypad
(i.e. to cancel the "arrowness" of the keypad you have
to hold down the Shift key). if you don't like this, at
least this should give you the info you need.

***
***create file .keytable in your home directory
***

#ident "@(#)US_UNIX5.kt 1.2 91/09/14 KEYTABLES SMI"
#
# Copyright (c) 1991, Sun Microsystems, Inc. RESTRICTED RIGHTS LEGEND:
# Use, duplication, or disclosure by the Government is subject to
# restrictions as set forth in subparagraph (c)(1)(ii) of the Rights in
# Technical Data and Computer Software clause at DFARS 52.227-7013 and
# in similar clauses in the FAR and NASA FAR Supplement.
#
# Copyright (c) 1991 Sun Microsystems, Inc.
#
# Keytable for a Sun Type-5 U.S. UNIX keyboard (US_UNIX5.kt)
######################################################################
# Important Note:
#
# If you would just like to remap some keys on your keyboard
# you should use xmodmap rather than building a new keytable.
#
######################################################################
# The current (default) column mappings are for standard X (see
# Section 5 of the X Window System Protocol):
#
# -----------------------------------------------------------------------------
# | column 1 | column 2 | column 3 | column 4 |
# =============================================================================
# | no mods | Shift | ModeSwitch | ModeSwitch Shift |
# -----------------------------------------------------------------------------
#
# To build a keytable for a new keyboard layout, you will need the
# scancode map, i.e., a scancode for each hardware key, and a keysym
# map, i.e., the symbols on the keycap associated with each scancode.
# You may also want to include an LED map, i.e., a number (1 to 32)
# assigned to each existing LED (e.g., the CapsLock LED).
#
# You should probably start with a copy of an existing keytable and
# replace the existing scancodes with your new scancodes. Then,
# incrementally modify entries as needed. To test a new keytable,
# copy it to $HOME/.keytable and start OpenWindows.
#
# There are two maps that need to be constructed:
# 1. Modifier map
# 2. Keysym map
#
# and one optional map:
# 3. LED map
#
# To reduce loading time at startup, remove all comments and convert
# spaces to tabs.
######################################################################

#Keyword -- do not remove
MODMAP

#Keyword -- do not remove
MAXKEYSPERMODIFIER 2

#
# Modifier map
#
# The modifier map gets loaded according to the entries below.
# Scancodes generally range from 1 to 255. Since X keycodes range
# from 8 to 255, the MAXSCANCODE must be less than or equal to the
# MINSCANCODE + 247. Consult your keyboard documentation to obtain
# the scancode for each key.
#
# Note that you enter **scancodes** in the entries below, not keycodes.
# For example, if you wanted the "lock" modifier group to contain the
# keycode for XK_Caps_Lock, you would enter the scancode for the key
# that has "CapsLock" printed on it.
#
# Notes:
# The xmodmap utility can be used to verify the map during development.
# In the output from xmodmap, KEYCODE = SCANCODE + (8 - MINSCANCODE).
#
# Format of an entry:
# modifier_group_identifier scancode scancode ...
#
shift 99 110 # Left Shift, Right Shift
lock 119 # CapsLock
control 76 # Control
mod1 120 122 # Left Meta, Right Meta
mod2 13 # Altgraph
mod3 23 # NumLock
mod4 19 # Alt
mod5 0 # None

#Keyword -- do not remove
END

######################################################################

#Keyword -- do not remove
KEYSYMMAP

#Keyword -- do not remove
MINSCANCODE 1

#Keyword -- do not remove
MAXSCANCODE 125

#
# Keysym table
#
# The goal here is to specify all of the different keysyms that
# appear on each phyical key.
#
# If "R" appears as the first attribute after the scancode, the
# appropriate action will be taken to make this key REPEAT.
# The default is NOREPEAT so be sure to specify "R" for all keys
# you wish to be repeating keys (repeat keys generate multiple
# keystrokes when held down -- see man page for xset).
#
# If "P" appears as the second attribute after the scancode, the
# appropriate action will be taken to make the key a PSEUDOLOCK key.
# The default is NOPSEUDOLOCK. Pseudolock keys are keys that do
# not physically lock in the down state. The server simulates lock
# key action by setting and clearing the appropriate modifier bit
# in the modifier state mask on alternate KeyPress and KeyRelease
# events of KeyPress-KeyRelease pairs. In other words, the first
# time you press (and release) the key, lock is turned ON, the
# next time you press (and release) the key, lock is turned OFF, etc.
#
# Format of an entry:
# scancode {N|R}{N|P} keysym keysym ...
#
# Entry template:
# 000 RN XK_Keysym XK_Keysym XK_Keysym XK_Keysym
#
# Notes:
# Entries may be in any order. If there are duplicates, the
# last of the duplicate entries takes precedence.
# No space may appear between the attribute code letters.
#

############################# First Row ################################
#
#Scan Atts Col1 Col2 Col3 Col4
#

15 RN XK_Linefeed
118 NN XK_Help

29 RN XK_Escape

5 RN XK_F1
6 RN XK_F2
8 RN XK_F3
10 RN XK_F4

12 RN XK_F5
14 RN XK_F6
16 RN XK_F7
17 RN XK_F8

18 RN XK_F9
7 RN XK_F10
9 RN XK_F11
11 RN XK_F12

22 NN XK_R2 XK_R2 XK_Print SunXK_Sys_Req
23 NP XK_Num_Lock
21 NN XK_R1 XK_R1 XK_Pause XK_Break

############################# Second Row ###############################
#
#Scan Atts Col1 Col2 Col3 Col4
#

1 NN XK_L1 XK_L1 SunXK_Stop
3 NN XK_L2 XK_L2 SunXK_Again

42 RN XK_Delete
30 RN XK_1 XK_exclam
31 RN XK_2 XK_at
32 RN XK_3 XK_numbersign
33 RN XK_4 XK_dollar
34 RN XK_5 XK_percent
35 RN XK_6 XK_asciicircum
36 RN XK_7 XK_ampersand
37 RN XK_8 XK_asterisk
38 RN XK_9 XK_parenleft
39 RN XK_0 XK_parenright
40 RN XK_minus XK_underscore
41 RN XK_equal XK_plus
43 RN XK_BackSpace

44 RN XK_Insert
52 RN XK_Home
96 RN XK_Prior

98 RN XK_KP_Equal
46 RN XK_KP_Divide
47 RN XK_KP_Multiply
71 RN XK_KP_Subtract

############################# Third Row ################################
#
#Scan Atts Col1 Col2 Col3 Col4
#

25 NN XK_L3 XK_L3 SunXK_Props
26 NN XK_L4 XK_L4 SunXK_Undo

53 RN XK_Tab
54 RN XK_Q
55 RN XK_W
56 RN XK_E
57 RN XK_R
58 RN XK_T
59 RN XK_Y
60 RN XK_U
61 RN XK_I
62 RN XK_O
63 RN XK_P
64 RN XK_bracketleft XK_braceleft
65 RN XK_bracketright XK_braceright
88 RN XK_backslash XK_bar XK_brokenbar

66 RN XK_quoteleft XK_asciitilde
74 NN XK_End
123 NN XK_Next

68 RN XK_KP_7
69 RN XK_KP_8
70 RN XK_KP_9
125 RN XK_KP_Add

############################# Fourth Row ################################
#
#Scan Atts Col1 Col2 Col3 Col4
#

49 NN XK_L5 XK_L5 SunXK_Front
51 NN XK_L6 XK_L6 SunXK_Copy

119 NP XK_Caps_Lock
77 RN XK_A
78 RN XK_S
79 RN XK_D
80 RN XK_F
81 RN XK_G
82 RN XK_H
83 RN XK_J
84 RN XK_K
85 RN XK_L
86 RN XK_semicolon XK_colon
87 RN XK_quoteright XK_quotedbl
89 RN XK_Return

91 RN XK_KP_4
92 RN XK_KP_5
93 RN XK_KP_6

############################# Fifth Row ################################
#
#Scan Atts Col1 Col2 Col3 Col4
#

72 NN XK_L7 XK_L7 SunXK_Open
73 NN XK_L8 XK_L8 SunXK_Paste

99 NN XK_Shift_L
100 RN XK_Z
101 RN XK_X
102 RN XK_C
103 RN XK_V
104 RN XK_B
105 RN XK_N
106 RN XK_M
107 RN XK_comma XK_less
108 RN XK_period XK_greater
109 RN XK_slash XK_question
110 NN XK_Shift_R

20 RN XK_Up

112 RN XK_KP_1
113 RN XK_KP_2
114 RN XK_KP_3
90 RN XK_KP_Enter

############################# Sixth Row ################################
#
#Scan Atts Col1 Col2 Col3 Col4
#

95 NN XK_L9 XK_L9 SunXK_Find
97 NN XK_L10 XK_L10 SunXK_Cut

76 NN XK_Control_L
19 NN XK_Alt_L
120 NN XK_Meta_L
121 RN XK_space
122 NN XK_Meta_R
67 NN SunXK_Compose
13 NN SunXK_AltGraph

24 RN XK_Left
27 RN XK_Down
28 RN XK_Right

94 RN XK_KP_0
50 RN XK_KP_Decimal

#Keyword -- do not remove
END

######################################################################

#Keyword -- do not remove
LEDMAP

# LED map
#
# The LED map gets placed in a property on the root window.
#
# Format of an entry:
# keysym number
#

# Type 5 keyboard has 4 LEDs.

#Keyword -- do not remove
MAXLED 4

XK_Num_Lock 1 # NumLock
XK_Multi_key 2 # Compose
XK_Scroll_Lock 3 # ScrollLock
XK_Caps_Lock 4 # CapsLock

#Keyword -- do not remove
END

######################################################################

#Keyword -- do not remove
ESCSEQUENCE

# Escape Sequence
#
# The Escape Sequence is stored in the server.
#
# Format of an entry:
# scancode
#
# Notes: Entries appear in the order they must be held down to trigger an
# escape from the server. The maximum length of an escape sequence is 5 keys.
#

1 # XK_L1
19 # XK_Alt_L
42 # XK_Delete

#Keyword -- do not remove
END

######################################################################

***
***now we remap some keys for various reasons:
***

#!/bin/sh
#
# script to set up keypad keys to their EXDC standard
# values for a type-4 keyboard.
#
# 93/05/28 Danny Johnson original (from ~setup/.xinitrc)
#
#####################################################

xmodmap - <<.
keycode 16 = F11
keycode 18 = F12
keycode 52 = F24 KP_Equal
keycode 53 = F25 KP_Divide
keycode 54 = F26 KP_Multiply
keycode 57 = Delete KP_Decimal
keycode 101 = Insert KP_0
keycode 119 = End KP_1
keycode 121 = Next KP_3
keycode 99 = F31 KP_5
keycode 75 = Home KP_7
keycode 77 = Prior KP_9
keycode 76 = Up KP_8 F28
keycode 120 = Down KP_2 F34
keycode 100 = Right KP_6 F32
keycode 98 = Left KP_4 F30
.

***
***now the real action is in .Xdefaults:
***

XTerm*Font: screen.b.16
XTerm*C132: true
XTerm*ScrollBar: true
XTerm*SaveLines: 1000
XTerm*SunFunctionKeys: false
XTerm.VT100.Translations: \
#override \
   ~Ctrl ~Meta <BtnUp>: select-end(CLIPBOARD, CUT_BUFFER0) \n\
   ~Ctrl ~Meta <Btn2Down>: start-extend() \n\
   ~Meta <Btn2Motion>: select-extend() \n\
   ~Ctrl ~Meta <Btn3Down>: ignore() \n\
   ~Meta <Btn3Motion>: ignore() \n\
   ~Shift<Key>Tab: string(0x09) \n\
   Shift<Key>Tab: string(0x1b) string("tab") \n\
   ~Shift<Key>Break: string(0x0d) string(0x0d) string("aleimb") string(0x1b) string("OM") \n\
   Shift<Key>Break: string(0x1b) string("brk") \n\
   ~Shift<Key>Pause: string(0x0d) string(0x0d) string("aleimb") string(0x1b) string("OM") \n\
   Shift<Key>Pause: string(0x1b) string("brk") \n\
   <Key>F18: insert-selection(CLIPBOARD, CUT_BUFFER0) \n\
   <Key>F16: ignore() \n\
   <Key>F20: ignore() \n\
   <Key>Print: string(0x1b) string("prt") \n\
   ~Mod3<Key>KP_Equal: string(0x1b) string("OP") \n\
   Mod3<Key>KP_Equal: string("=") \n\
   ~Mod3<Key>KP_Divide: string(0x1b) string("OQ") \n\
   Mod3<Key>KP_Divide: string("/") \n\
   ~Mod3<Key>KP_Multiply: string(0x1b) string("OR") \n\
   Mod3<Key>KP_Multiply: string("*") \n\
   ~Mod2 ~Mod3<Key>KP_Subtract: string(0x1b) string("OS") \n\
   ~Mod2 Mod3<Key>KP_Subtract: string("-") \n\
   Mod2<Key>KP_Subtract: string(0x1b) string("prt") \n\
   ~Mod2 ~Mod3<Key>KP_7: string(0x1b) string("Ow") \n\
   Mod3<Key>KP_7: string("7") \n\
   Mod2<Key>Home: scroll-back(9999,page) \n\
   ~Mod3 Shift<Key>KP_8: string(0x1b) string("Ox") \n\
   ~Mod3 ~Shift<Key>KP_8: string(0x1b) string("[A") \n\
   Mod3<Key>KP_8: string("8") \n\
   ~Mod2 ~Mod3<Key>KP_9: string(0x1b) string("Oy") \n\
   Mod3<Key>KP_9: string("9") \n\
   Mod2<Key>Prior: scroll-back(1,halfpage) \n\
   ~Mod3 Shift<Key>KP_Add: string(0x1b) string("Om") \n\
   ~Mod3 ~Shift<Key>KP_Add: string(0x1b) string("Ol") \n\
   Mod3<Key>KP_Add: string("+") \n\
   ~Mod3 Shift<Key>KP_4: string(0x1b) string("Ot") \n\
   ~Mod3 ~Shift<Key>KP_4: string(0x1b) string("[D") \n\
   Mod3<Key>KP_4: string("4") \n\
   ~Mod3<Key>KP_5: string(0x1b) string("Ou") \n\
   Mod3<Key>KP_5: string("5") \n\
   ~Mod3 Shift<Key>KP_6: string(0x1b) string("Ov") \n\
   ~Mod3 ~Shift<Key>KP_6: string(0x1b) string("[C") \n\
   Mod3<Key>KP_6: string("6") \n\
   ~Mod2 ~Mod3<Key>KP_1: string(0x1b) string("Oq") \n\
   Mod3<Key>KP_1: string("1") \n\
   Mod2<Key>End: scroll-forw(9999,page) \n\
   ~Mod3 Shift<Key>KP_2: string(0x1b) string("Or") \n\
   ~Mod3 ~Shift<Key>KP_2: string(0x1b) string("[B") \n\
   Mod3<Key>KP_2: string("2") \n\
   ~Mod2 ~Mod3<Key>KP_3: string(0x1b) string("Os") \n\
   Mod3<Key>KP_3: string("3") \n\
   Mod2<Key>Next: scroll-forw(1,halfpage) \n\
   <Key>KP_Enter: string(0x1b) string("OM") \n\
   ~Mod2 ~Mod3<Key>KP_0: string(0x1b) string("Op") \n\
   ~Mod2 Mod3<Key>KP_0: string("0") \n\
   Mod2<Key>KP_0: string(0x1b) string("ins") \n\
   ~Mod3<Key>KP_Decimal: string(0x1b) string("On") \n\
   Mod3<Key>KP_Decimal: string(".")

#4 from reynolds@icgmfg.mke.ab.com (Mike Reynolds)

I use the xterm key mapping to do this at our site. Here is how to set it up...

1) Create a key mapping file (I've included one you can start with). See
   the man page for xterm for more info.

2) In your xinitrc file read in the keymap for xterm by doing the following
   xrdb command.

> xrdb -merge /usr/local/lib/xterm_keymap

3) When you execute "xterm -name VAX" your mappings will be there. The -name
   tells xterm what section of the key mappingd to use. That way you can
   have more that one set of mappings in the keymap file.

Note: I use this keymap file on a type 4 keyboard now so you may need to
change some thing to make it usable. A I have the function keys set up to
do...

F1 Next Buffer
F2 Open Buffer
F3 Insert File
F4 Find & Replace
F5 Shell
F6 Quit/No Save
F7 Split Window
F8 Next Window
F9 Do
F10 Save & Exit
F11 Session Type
F12 <None>

We have a modified version of EDT/TPU here so the mappings may not all work.

Hope this helps.
_______________________________________________________________________________
                                                                  ___
Michael D. Reynolds /\ | \
Allen-Bradley Co. Milwaukee, WI USA / \ | |
Dept 818 CAM Operations Office /____\ _____ |----\
Voice: (414)382-3615 Fax: (414)382-2742 / \ | |
Internet: reynolds@icgmfg.mke.ab.com / \ |____/
uunet: uunet!tinman2!camg2.icgmfg!reynolds A Rockwell International Company
----------
X-Sun-Data-Type: default
X-Sun-Data-Name: xterm_keymap
X-Sun-Content-Lines: 131

#
XTerm*ttyModes: erase
XTerm*borderWidth: 15
XTerm*loginShell: off
XTerm*reverseWrap: on
XTerm*scrollBar: on
XTerm*scrollbar*thickness: 15
XTerm*saveLines: 1000
#
XTerm*VT100*visualBell: off
XTerm*VT100*Geometry: 80x24-10+0
XTerm*VT100*font: -misc-fixed-medium-r-normal--15-*-*-*-*-*-*
XTerm*VT100*boldFont: -misc-fixed-bold-r-normal--15-*-*-*-*-*-*
XTerm*VT100*c132: off
#
XTerm*VT100.Translations:#override \
 Meta <KeyPress> L2: keymap(vax) \n\
 ~Ctrl ~Meta <Btn1Up>: select-end(PRIMARY, CUT_BUFFER0, CLIPBOARD) \n\
 ~Ctrl ~Meta <Btn2Down>: start-extend() \n\
 ~Ctrl ~Meta <Btn2Up>: select-end(PRIMARY, CUT_BUFFER0, CLIPBOARD) \n\
 ~Ctrl ~Meta <Btn3Down>: ignore() \n\
 ~Ctrl ~Meta <Btn3Up>: insert-selection(PRIMARY, CUT_BUFFER0, CLIPBOARD)
#
VAX*VT100.Translations:#override\n\
 Shift <KeyPress> R4: string("=")\n\
 Shift <KeyPress> R5: string("/")\n\
 Shift <KeyPress> R6: string("*")\n\
 Shift <KeyPress> R7: string("7")\n\
 Shift <KeyPress> R8: string("8")\n\
 Shift <KeyPress> R9: string("9")\n\
 Shift <KeyPress> R10: string("4")\n\
 Shift <KeyPress> R11: string("5")\n\
 Shift <KeyPress> R12: string("6")\n\
 Shift <KeyPress> R13: string("1")\n\
 Shift <KeyPress> R14: string("2")\n\
 Shift <KeyPress> R15: string("3")\n\
 Shift <KeyPress> KP_Subtract: string("-")\n\
 Shift <KeyPress> KP_Add: string("+")\n\
 Shift <KeyPress> KP_Enter: string("0x0D")\n\
 Shift <KeyPress> KP_Decimal: string(".")\n\
 Shift <KeyPress> Insert: string("0")\n\
 Meta <KeyPress> Up: string("0x1B")string("Ox")\n\
 Meta <KeyPress> Left: string("0x1B")string("Ot")\n\
 Meta <KeyPress> Right: string("0x1B")string("Ov")\n\
 Meta <KeyPress> Down: string("0x1B")string("Or")\n\
 Meta <KeyPress> R1: string("0x1B")string("Ol")\n\
 Meta <KeyPress> R4: string("0x1B")string("OP")\n\
 Meta <KeyPress> R5: string("0x1B")string("OQ")\n\
 Meta <KeyPress> R6: string("0x1B")string("OR")\n\
 Meta <KeyPress> R7: string("0x1B")string("Ow")\n\
 Meta <KeyPress> R9: string("0x1B")string("Oy")\n\
 Meta <KeyPress> R11: string("0x1B")string("Ou")\n\
 Meta <KeyPress> R13: string("0x1B")string("Oq")\n\
 Meta <KeyPress> R15: string("0x1B")string("Os")\n\
 Meta <KeyPress> KP_Subtract: string("0x1B")string("OS")\n\
 Meta <KeyPress> KP_Add: string("0x1B")string("Om")\n\
 Meta <KeyPress> KP_Enter: string("0x1B")string("OM")\n\
 Meta <KeyPress> KP_Decimal: string("0x1B")string("On")\n\
 Meta <KeyPress> Insert: string("0x1B")string("Op")\n\
         <KeyPress> R1: string("0x1B")string("OP")\n\
         <KeyPress> R4: string("0x1B")string("OP")\n\
         <KeyPress> R5: string("0x1B")string("OQ")\n\
         <KeyPress> R6: string("0x1B")string("OR")\n\
         <KeyPress> R7: string("0x1B")string("[31~")\n\
         <KeyPress> R9: string("0x1B")string("[5~")\n\
         <KeyPress> R11: string("0x1B")string("[4~")\n\
         <KeyPress> R13: string("0x1B")string("[32~")\n\
         <KeyPress> R15: string("0x1B")string("[6~")\n\
         <KeyPress> R8: string("0x1B")string("[A")\n\
         <KeyPress> R10: string("0x1B")string("[D")\n\
         <KeyPress> R12: string("0x1B")string("[C")\n\
         <KeyPress> R14: string("0x1B")string("[B")\n\
         <KeyPress> KP_Subtract: string("0x1B")string("OS")\n\
         <KeyPress> KP_Add: string("0x1B")string("Om")\n\
         <KeyPress> KP_Enter: string("0x1B")string("Op")\n\
         <KeyPress> KP_Decimal: string("0x1B")string("Ol")\n\
         <KeyPress> Insert: string("0x1B")string("[26~")\n\
         <KeyPress> L3: string("0x1B")string("[29~")\n\
         <KeyPress> L4: string("0x1B")string("Oy")\n\
         <KeyPress> L6: string("0x1B")string("[3~")string("0x1B")string("[2~")\n\
         <KeyPress> L8: string("0x1B")string("[2~")\n\
         <KeyPress> L9: string("0x1B")string("[1~")\n\
         <KeyPress> L10: string("0x1B")string("[3~")\n\
         <KeyPress> F1: string("0x1B")string("[34~")\n\
         <KeyPress> F2: string("0x1B")string("OP")string("G")\n\
         <KeyPress> F3: string("0x1B")string("OP")string("I")\n\
         <KeyPress> F4: string("0x1B")string("OP")string("0x1B")string("Oy")\n\
         <KeyPress> F5: string("0x1B")string("OP")string("S")\n\
         <KeyPress> F6: string("")\n\
         <KeyPress> F7: string("0x1B")string("[18~")\n\
         <KeyPress> F8: string("0x1B")string("[19~")\n\
         <KeyPress> F9: string("0x1B")string("[29~")\n\
         <KeyPress> F10: string("0x1B")string("[21~")\n\
         <KeyPress> F11: string("0x1B")string("[23~")\n\
 ~Ctrl ~Meta <Btn1Up>: select-end(PRIMARY, CUT_BUFFER0, CLIPBOARD) \n\
 ~Ctrl ~Meta <Btn2Down>: start-extend() \n\
 ~Ctrl ~Meta <Btn2Up>: select-end(PRIMARY, CUT_BUFFER0, CLIPBOARD) \n\
 ~Ctrl ~Meta <Btn3Down>: ignore() \n\
 ~Ctrl ~Meta <Btn3Up>: insert-selection(PRIMARY, CUT_BUFFER0, CLIPBOARD)
#
TN3270*VT100.scrollBar: off
TN3270*VT100.Translations:#override\n\
 Meta <KeyPress> L2: keymap(None)\n\
 Shift <KeyPress> F1: string("0x1B")string("!")\n\
 Shift <KeyPress> F2: string("0x1B")string("@")\n\
 Shift <KeyPress> F3: string("0x1B")string("#")\n\
 Shift <KeyPress> F4: string("0x1B")string("$")\n\
 Shift <KeyPress> F5: string("0x1B")string("%")\n\
 Shift <KeyPress> F6: string("0x1B")string("^")\n\
 Shift <KeyPress> F7: string("0x1B")string("&")\n\
 Shift <KeyPress> F8: string("0x1B")string("*")\n\
 Shift <KeyPress> F9: string("0x1B")string("(")\n\
 Shift <KeyPress> F10: string("0x1B")string(")")\n\
 Shift <KeyPress> F11: string("0x1B")string("_")\n\
 Shift <KeyPress> F12: string("0x1B")string("+")\n\
         <KeyPress> F1: string("0x1B")string("[224z")\n\
         <KeyPress> F2: string("0x1B")string("[225z")\n\
         <KeyPress> F3: string("0x1B")string("[226z")\n\
         <KeyPress> F4: string("0x1B")string("[227z")\n\
         <KeyPress> F5: string("0x1B")string("[228z")\n\
         <KeyPress> F6: string("0x1B")string("[229z")\n\
         <KeyPress> F7: string("0x1B")string("[230z")\n\
         <KeyPress> F8: string("0x1B")string("[231z")\n\
         <KeyPress> F9: string("0x1B")string("[232z")\n\
         <KeyPress> F10: string("0x1B")string("[233z")\n\
         <KeyPress> F11: string("0x1B")string("[234z")\n\
         <KeyPress> F12: string("0x1B")string("[235z")\n\
         <KeyPress> Return: string("
         <KeyPress> KP_Enter: string("
 Shift <KeyPress> Tab: string("0x1B")string("OP")\n\
         <KeyPress> Tab: string(" ")\n



This archive was generated by hypermail 2.1.2 : Fri Sep 28 2001 - 23:07:59 CDT