This is the mail archive of the
cygwin-xfree@cygwin.com
mailing list for the Cygwin XFree86 project.
Re: Xterminal
- From: <Ingvaldur dot Sigurjonsson at ementor dot se>
- To: <cygwin-xfree at cygwin dot com>
- Date: Mon, 25 Aug 2003 11:56:26 +0200
- Subject: Re: Xterminal
- Reply-to: cygwin-xfree at cygwin dot com
Hi all,
Enclosed you find a 'decxterm.sh'-shell script that launches an ordinary xterm but with the keyboard remapped to suit OpenVMS LK* keyboard mappings.
I was previously using DECTerm but after the latest upgrade of XFree86 Server for Cygwin (-> 4.3x) the keyboard didn't function as it used to be. I couldn't get any key's that needed the 'AltGr' in a combination (like '@','$','{','[',']','}'). I'm using Swedish keyboard layout. The same symptom appears when I'm using GVIM from OpenVMS, haven't tried Emacs yet (maybe in next life...).
I also recommend that you copy the DECW-fonts (the 75dpi and/or 100dpi) from OpenVMS to your XFree86/Cygwin fontdirectory /usr/X11R6/lib/X11/fonts...
I found them here: SYS$COMMON:[SYSFONT.DECW].
You add the DECW fonts to your fontpath with a script like:
#!/bin/sh
echo "Adding DECW Fonts (75dpi)"
xset fp+ /usr/X11R6/lib/X11/fonts/decw/75dpi
I've been using the XFree86/Cygwin daily since April against OpenVMS systems and Unixes, and I must say that I'm very impressed by it, previously I did use Reflection X (and Xcursion), but XFree86/Cygwin is a very good alternative/replacement for those products.
Regards
- Ingvaldur
> Gillian,
> Yes, it can work with VMS. I used to work at the NSCL (National
> Superconducting Cyclotron Laboratory) and they used VMS and I was able
> to get it to work, as were others that posted some information on the
> Internet. However, I do not recall what the correct steps were to take,
> nor do I recall who had posted information on how to do this. My best
> suggestion is for you to search Google.
> Good luck,
> Harold
> Gillian Dell wrote:
>> Hello.
>> I've installed the cygwin/xfree86 package on my PC.
>> My question is, can it worked with a remote VMS
>> machine (running DECWindows motif)?.
>> If so I do I configure it to run?
>>
>> Regards,
>>
>> Gillian
#!/bin/sh
# The procedure remaps the Sun Keyboard, IBM AIX PC type Keyboard,
# Linux PC type Keyboard and Tru64 Compaq Unix keyboards to mappings
# suitable for VMS
#
# Created by Geoff Kingsmill (Geoff.Kingsmill@compaq.com)
# Revision 1.0 20-Oct-1997
# Revision 1.1 15-Nov-1997 - added Linux support
# Revision 1.2 27-May-1998 - added help text for keys above arrow keys
# Revision 1.3 19-May-1999 - fixed Linux Insert, Home, Prior, Delete and End key
# Revision 1.4 29-Jun-1999 - added Tru64 Unix, Digital Unix, OSF1
# Revision 1.5 10-Oct-1999 - modified OSF1 keyboard mapping to support both
# the LKxxx keyboards and the PC keyboards.
# Modified default xterm options which can be
# overriden by the DECXTERM_OPTIONS variable.
# The default Terminal Emulator can now be
# overridden using the variable DECXTERM_EMULATOR.
# Alt/F1-F10 now replaced with Shift/F1-F10 as
# most of the window managers have these keys
# mapped to special functions.
# Added HP-UX support.
# Revision 1.6 19-Oct-1999 - minor modifications and added lots of help.
#
# usage: DECxterm [-option ...]
# which are identical to xterm. "#man xterm" for further details
# eg: DECxterm -e telnet yakka.ali.dec.com
#
# Note 1: All keys in the same position are mapped to the standard
# VMS LKxxx ikeyboard except for the keys between the main keyboard
# keys and the Numeric/Application keys which remain as labelled.
# The keys on an DEC LKxxx Keyboard are marked on other keyboards as:-
# Find marked Home, Insert marked the same, Remove marked Delete,
# Select marked End, Previous marked Page-Up and Next marked Page-Down.
#
# Note 2: Shift/F1 to Shift/F10 are mapped to F11 to F20
#
# Note 3: Other Terminal Emulators such as dtterm or dxterm can be used
# by setting the variable DECXTERM_EMULATOR. The default is xterm.
#
# Note 4: The default xterm qualiers are defined by the variable
# DECXTERM_OPTIONS and are set to:-
# -fn 9X15 Default font
# -sb Enable scroll bars
# -sl 500 Number of lines saved that are scrolled off the top of window
# -cr red Set the cursor color to red
# -tn vt100 Set the terminal type to vt100
# -132 Allow switching between 80 and 132 columns
# The default settings can be changed by defining this environment
# variable before running DECxterm.
#
xterm_options="${DECXTERM_OPTIONS:=-fn 9X15 -sb -sl 1000 -rightbar -cr red -tn vt100 -132}"
#
# Note 5: To modify this program or to add further keyboard mappings do the
# following:-
# 1. Build the following program using the command:-
# HP-UX: "# cc -Aa -o vmskbmap vmskbmap.c"
# Linux,OSF1,AIX,Solaris: "# cc -o vmskbmap vmskbmap.c"
##include <stdio.h>
#main() {
# long key=0xa;
# int ch, esc=0x1b, lf=0xa;
# char keytext[80]="This Key has been mapped to";
# while (1) {
# /* get a character from input */
# ch=getchar();
# /* Print the Key Name when an escape or line-feed character is returned */
# if (ch == lf || (ch == esc && (key != 0 && key != lf))) {
# switch (key)
# {
# case 0x5b31317e: printf("%s F1",keytext); break;
# case 0x5b31327e: printf("%s F2",keytext); break;
# case 0x5b31337e: printf("%s F3",keytext); break;
# case 0x5b31347e: printf("%s F4",keytext); break;
# case 0x5b31357e: printf("%s F5",keytext); break;
# case 0x5b31377e: printf("%s F6/Intr-Halt",keytext); break;
# case 0x5b31387e: printf("%s F7/Resume",keytext); break;
# case 0x5b31397e: printf("%s F8/Cancel",keytext); break;
# case 0x5b32307e: printf("%s F9/Main-Screen",keytext); break;
# case 0x5b32317e: printf("%s F10/Exit",keytext); break;
# case 0x5b32337e: printf("%s F11/Alt-Char",keytext); break;
# case 0x5b32347e: printf("%s F12/Pr-Field",keytext); break;
# case 0x5b32357e: printf("%s F13/Er-Line",keytext); break;
# case 0x5b32367e: printf("%s F14/Insert-Overstrike",keytext); break;
# case 0x5b32387e: printf("%s F15/Help",keytext); break;
# case 0x5b32397e: printf("%s F16/Do",keytext); break;
# case 0x5b33317e: printf("%s F17",keytext); break;
# case 0x5b33327e: printf("%s F18",keytext); break;
# case 0x5b33337e: printf("%s F19",keytext); break;
# case 0x5b33347e: printf("%s F20",keytext); break;
#
# case 0x4f50: printf("%s PF1",keytext); break;
# case 0x4f51: printf("%s PF2",keytext); break;
# case 0x4f52: printf("%s PF3",keytext); break;
# case 0x4f53: printf("%s PF4",keytext); break;
# case 0x4f4d: printf("%s KP_Enter",keytext); break;
# case 0x4f6c: printf("%s KP_Separator",keytext); break;
# case 0x4f6d: printf("%s KP_Subtract",keytext); break;
# case 0x4f6e: printf("%s KP_Decimal",keytext); break;
# case 0x4f70: printf("%s KP_0",keytext); break;
# case 0x4f71: printf("%s KP_1",keytext); break;
# case 0x4f72: printf("%s KP_2",keytext); break;
# case 0x4f73: printf("%s KP_3",keytext); break;
# case 0x4f74: printf("%s KP_4",keytext); break;
# case 0x4f75: printf("%s KP_5",keytext); break;
# case 0x4f76: printf("%s KP_6",keytext); break;
# case 0x4f77: printf("%s KP_7",keytext); break;
# case 0x4f78: printf("%s KP_8",keytext); break;
# case 0x4f79: printf("%s KP_9",keytext); break;
#
# case 0x5b317e: printf("%s Find",keytext); break;
# case 0x5b327e: printf("%s Insert",keytext); break;
# case 0x5b337e: printf("%s Remove",keytext); break;
# case 0x5b347e: printf("%s Select",keytext); break;
# case 0x5b357e: printf("%s Previous",keytext); break;
# case 0x5b367e: printf("%s Next",keytext); break;
# case 0x5b41: printf("%s Up",keytext); break;
# case 0x5b42: printf("%s Down",keytext); break;
# case 0x5b43: printf("%s Left",keytext); break;
# case 0x5b44: printf("%s Right",keytext); break;
#
# case 0xa: break; /* Ignore LF */
# case 0x7f: printf("%s Delete",keytext); break;
# default: printf("This Key has NOT been remapped");
# }
# printf("\n");
# }
# /* keep appending each byte. x256 moves character left one byte */
# key = key*256+ch;
# /* reset the key code if the last entered character is Newline or ESCAPE */
# /* Don't include the Escape as it makes the case string too long */
# if (ch == lf || ch == esc) key = 0;
#
# /* print the byte value if it is not a line terminator */
# if (ch != lf) printf("Value = Hex %x", ch);
# /* if the character is printable then print the ascii char */
# if (ch >= ' ') printf(", char = >%c<", ch);
# /* if the character is an Escape the print <ESC> */
# if (ch == esc) printf(", char = <ESC>");
# /* start a new line for next character */
# printf("\n");
# }
#}
# 2. Find the Xwindow key names by running the standard X utility XEV.
# 3. Now modify DECxterm and Map the key names to a keyboard code
# using the keyboard mapping information supplied below.
# 4. Create an xterm display using the newly created DECxterm script.
# 5. Configure the terminal to display control characters by entering the
# command "# stty echoctl iexten"
# 6. Now run the vmskbmap problem that was built in step 1.
# If you now enter a key followed by a return you should see the
# ascii text, the hexadecimal representation and the VMS mapped keyname.
# This should be compared to the keyboard mapping information supplied
# below to ensure the key is mapped correctly.
# 7. Please mail any updates to Geoff.Kingsmill@compaq.com
#
#
# Keyboard Mapping
# ================
#
## VMS keyname "KB code required for VMS", alternate Key Name
# Delete "\177 - octal 177" = BackSpace
#
# Top row of keys
# ---------------
#
## VMS keyname "KB code required for VMS", alternate Key Name or mapping
# F1 "<ESC>[11~"
# F2 "<ESC>[12~"
# F3 "<ESC>[13~"
# F4 "<ESC>[14~"
# F5 "<ESC>[15~"
# Interrupt "<ESC>[17~" = F6
# Resume "<ESC>[18~" = F7
# Cancel "<ESC>[19~" = F8
# Main Screen "<ESC>[20~" = F9
# Exit "<ESC>[21~" = F10
# Alt Char "<ESC>[23~" = F11, Shift/F1
# (SUN) F11 key called SunF36
# (OSF1) F11 key called Escape
# Previous Field "<ESC>[24~" = F12, Shift/F2
# (SUN) F12 key called SunF37
# Erase Line "<ESC>[25~" = F13, Shift/F3
# Insert/Overstrike "<ESC>[26~" = F14, Shift/F4
# HELP "<ESC>[28~" = Shift/F5,
# (SUN) F22 (key in usual location marked Print Screen)
# (AIX) Print (key in usual location marked Print Screen)
# (Linux|HP-UX) Print (key in usual location marked Print Screen)
# DO "<ESC>[29~" = Shift/F6,
# (SUN) F21, F23 (key in usual location marked Scroll/Pause)
# (AIX) Cancel, Pause (key in usual location marked Cancel/Pause)
# (LinuxHP-UX) Scroll, Pause (key in usual location marked Scroll/Pause)
# F17 "<ESC>[31~" = Shift/F7,
# (SUN) SunAudioMute (key in usual location above NumLock PF1)
# F18 "<ESC>[32~" = Shift/F8,
# (SUN) SunAudioLowerVolume (key in usual location above KP/ PF2)
# (on Sun CDE systems this key not mapped to X)
# F19 "<ESC>[33~" = Shift/F9
# (SUN) SunAudioRaiseVolume (key in usual location above KP* PF3)
# (on Sun CDE systems this key not mapped to X)
# F20 "<ESC>[34~" = Shift/F10,
# (SUN) SunPowerSwitch (key in usual location above KP- PF4)
# (on Sun CDE systems this key not mapped to X)
#
# Keypad
# ------
#
## VMS keyname "KB code required for VMS", alternate Key Name or mapping
# PF1 "<ESC>[OP"
# (SUN, AIX, HP-UX, Linux, OSF1-PC) Num_Lock
# PF2 "<ESC>[OQ"
# (SUN, AIX, HP-UX, Linux, OSF1-PC) KP_Divide, F25
# PF3 "<ESC>[OR"
# (SUN, AIX, HP-UX, Linux, OSF1-PC) KP_Multiply, F26
# PF4 "<ESC>[OS"
# (SUN, AIX, HP-UX, Linux, OSF1-PC) KP_Subtract, F24
# KP_Subtract "<ESC>[Om"
# (SUN, AIX, HP-UX, Linux, OSF1-PC) Shift/KP_Add
# KP_Separator "<ESC>[Ol"
# (SUN, AIX, HP-UX, Linux) KP_Add
# KP_Enter "<ESC>[OM"
# KP_Decimal "<ESC>[On"
## For Keyboards with Num_Lock
## Off On
# KP_0 "<ESC>[Op" = KP_0, Insert
# KP_1 "<ESC>[Oq" = KP_1, F33
# KP_2 "<ESC>[Or" = KP_2, Down
# KP_3 "<ESC>[Os" = KP_3, F35
# KP_4 "<ESC>[Ot" = KP_4, Left
# KP_5 "<ESC>[Ou" = KP_5, F31
# KP_6 "<ESC>[Ov" = KP_6, Right
# KP_7 "<ESC>[Ow" = KP_7, F27
# KP_8 "<ESC>[Ox" = KP_8, Up
# KP_9 "<ESC>[Oy" = KP_9, F29
#
# Keys above Arrow Keys
# ---------------------
#
## VMS keyname "KB code required for VMS", alternate Key Name or mapping
# Find "<ESC>[1~" = Home
# Insert "<ESC>[2~" = Insert
# Remove "<ESC>[3~" = Delete
# Select "<ESC>[4~" = End
# Previous "<ESC>[5~" = Prior, Page Up
# Next "<ESC>[6~" = Next, Page Down
# Up "<ESC>[A"
# Down "<ESC>[B"
# Left "<ESC>[C"
# Right "<ESC>[D"
#
# Notes:
# - Shift<Key> must precede <Key>
# - string("\033") is an <ESC> seven bit character Octal=33, Decimal 27
# - <ESC>[ is equivalent to the <CSI> eight bit character Decimal 155
# - <ESC>O is equivalent to the <SS3> eight bit character Decimal 143
# - The VMS keyboard mapping codes can be found in sys$system:smgterms.txt
# - these lines can also be included in a resource file if required
# as follows:-
# # xrdb -nocpp -merge <<endxrdb
# myxterm*VT100.Translations: #override\n\
# <Key>BackSpace:string("\177")\n\
# Shift<Key>F1:string("\033")string("[23~")
# endxrdb
# # xterm -name myxterm
#
# echo "uname = " `uname`
case `uname` in
SunOS)
${DECXTERM_EMULATOR:=/usr/openwin/bin/xterm} \
-xrm 'xterm*VT100.Translations: #override\n\
<Key>BackSpace : string("\177")\n\
Shift<Key>F1 :string("\033") string("[23~")\n\
<Key>SunF36 :string("\033") string("[23~")\n\
Shift<Key>F2 :string("\033") string("[24~")\n\
<Key>SunF37 :string("\033") string("[24~")\n\
Shift<Key>F3 :string("\033") string("[25~")\n\
Shift<Key>F4 :string("\033") string("[26~")\n\
Shift<Key>F5 :string("\033") string("[28~")\n\
<Key>F22 :string("\033") string("[28~")\n\
Shift<Key>F6 :string("\033") string("[29~")\n\
<Key>F21 :string("\033") string("[29~")\n\
<Key>F23 :string("\033") string("[29~")\n\
<Key>F6 :string("\033") string("[17~")\n\
Shift<Key>F7 :string("\033") string("[31~")\n\
<Key>SunAudioMute :string("\033") string("[31~")\n\
<Key>F7 :string("\033") string("[18~")\n\
Shift<Key>F8 :string("\033") string("[32~")\n\
<Key>SunAudioLowerVolume :string("\033") string("[32~")\n\
<Key>F8 :string("\033") string("[19~")\n\
Shift<Key>F9 :string("\033") string("[33~")\n\
<Key>SunAudioRaiseVolume :string("\033") string("[33~")\n\
<Key>F9 :string("\033") string("[20~")\n\
Shift<Key>F10 :string("\033") string("[34~")\n\
<Key>SunPowerSwitch :string("\033") string("[34~")\n\
<Key>F10 :string("\033") string("[21~")\n\
<KeyPress>Num_Lock :string("\033") string("OP")\n\
<KeyRelease>Num_Lock :string("\033") string("OP")\n\
<Key>KP_Divide :string("\033") string("OQ")\n\
<Key>F25 :string("\033") string("OQ")\n\
<Key>KP_Multiply :string("\033") string("OR")\n\
<Key>F26 :string("\033") string("OR")\n\
<Key>KP_Subtract :string("\033") string("OS")\n\
<Key>F24 :string("\033") string("OS")\n\
Shift<Key>KP_Add :string("\033") string("Om")\n\
<Key>KP_Add :string("\033") string("Ol")\n\
<Key>KP_Enter :string("\033") string("OM")\n\
<Key>Delete :string("\033") string("On")\n\
<Key>KP_0 :string("\033") string("Op")\n\
<Key>KP_1 :string("\033") string("Oq")\n\
<Key>KP_2 :string("\033") string("Or")\n\
<Key>KP_3 :string("\033") string("Os")\n\
<Key>KP_4 :string("\033") string("Ot")\n\
<Key>KP_5 :string("\033") string("Ou")\n\
<Key>KP_6 :string("\033") string("Ov")\n\
<Key>KP_7 :string("\033") string("Ow")\n\
<Key>KP_8 :string("\033") string("Ox")\n\
<Key>KP_9 :string("\033") string("Oy")\n\
<Key>Insert :string("\033") string("[2~")\n\
<Key>Home :string("\033") string("[1~")\n\
<Key>Prior :string("\033") string("[5~")\n\
<Key>Delete :string("\033") string("[3~")\n\
<Key>End :string("\033") string("[4~")\n\
<Key>Next :string("\033") string("[6~")' \
$xterm_options $*
;;
AIX)
# It appears that AIX CDE has a character limit restriction with the
# -xrm qualifier. The spaced formatting used elsewhere failed on AIX
# systems. Reducing the number of characters resolved this problem.
# The error message received was similar to the following:-
# Warning: translation table syntax error: ',' or ':' expected while i
# parsing event sequence.
# Warning: ... found while parsing '<Key>Prior '
# There was no syntax error. Merely reducing the number of characters
# anywhere in the -xrm string resolved the problem.
${DECXTERM_EMULATOR:=/usr/lpp/X11/bin/xterm} \
-xrm 'xterm*VT100.Translations: #override\n\
<Key>BackSpace :string("\177")\n\
Shift<Key>F1 :string("\033[23~")\n\
Shift<Key>F2 :string("\033[24~")\n\
Shift<Key>F3 :string("\033[25~")\n\
Shift<Key>F4 :string("\033[26~")\n\
Shift<Key>F5 :string("\033[28~")\n\
<Key>Print :string("\033[28~")\n\
Shift<Key>F6 :string("\033[29~")\n\
<Key>Pause :string("\033[29~")\n\
<Key>Cancel :string("\033[29~")\n\
<Key>F6 :string("\033[17~")\n\
Shift<Key>F7 :string("\033[31~")\n\
<Key>F7 :string("\033[18~")\n\
Shift<Key>F8 :string("\033[32~")\n\
<Key>F8 :string("\033[19~")\n\
Shift<Key>F9 :string("\033[33~")\n\
<Key>F9 :string("\033[20~")\n\
Shift<Key>F10 :string("\033[34~")\n\
<Key>F10 :string("\033[21~")\n\
<KeyPress>Num_Lock :string("\033OP")\n\
<KeyRelease>Num_Lock :string("\033OP")\n\
<Key>KP_Divide :string("\033OQ")\n\
<Key>F25 :string("\033OQ")\n\
<Key>KP_Multiply :string("\033OR")\n\
<Key>F26 :string("\033OR")\n\
<Key>KP_Subtract :string("\033OS")\n\
<Key>F24 :string("\033OS")\n\
Shift<Key>KP_Add :string("\033Om")\n\
<Key>KP_Add :string("\033Ol")\n\
<Key>KP_Enter :string("\033OM")\n\
<Key>KP_Decimal :string("\033On")\n\
<Key>KP_0 :string("\033Op")\n\
<Key>KP_1 :string("\033Oq")\n\
<Key>KP_2 :string("\033Or")\n\
<Key>KP_3 :string("\033Os")\n\
<Key>KP_4 :string("\033Ot")\n\
<Key>KP_5 :string("\033Ou")\n\
<Key>KP_6 :string("\033Ov")\n\
<Key>KP_7 :string("\033Ow")\n\
<Key>KP_8 :string("\033Ox")\n\
<Key>KP_9 :string("\033Oy")\n\
<Key>Insert :string("\033[2~")\n\
<Key>Home :string("\033[1~")\n\
<Key>Prior :string("\033[5~")\n\
<Key>Delete :string("\033[3~")\n\
<Key>End :string("\033[4~")\n\
<Key>Next :string("\033[6~")' \
$xterm_options $*
;;
HP-UX | Linux)
${DECXTERM_EMULATOR:=/usr/bin/X11/xterm} \
-xrm 'xterm*VT100.Translations: #override\n\
<Key>BackSpace : string("\177")\n\
Shift<Key>F1 :string("\033") string("[23~")\n\
<Key>F1 :string("\033") string("[11~")\n\
Shift<Key>F2 :string("\033") string("[24~")\n\
<Key>F2 :string("\033") string("[12~")\n\
Shift<Key>F3 :string("\033") string("[25~")\n\
<Key>F3 :string("\033") string("[13~")\n\
Shift<Key>F4 :string("\033") string("[26~")\n\
<Key>F4 :string("\033") string("[14~")\n\
Shift<Key>F5 :string("\033") string("[28~")\n\
<Key>Print :string("\033") string("[28~")\n\
<Key>F5 :string("\033") string("[15~")\n\
Shift<Key>F6 :string("\033") string("[29~")\n\
<Key>Pause :string("\033") string("[29~")\n\
<Key>Scroll_Lock :string("\033") string("[29~")\n\
<Key>F6 :string("\033") string("[17~")\n\
Shift<Key>F7 :string("\033") string("[31~")\n\
<Key>F7 :string("\033") string("[18~")\n\
Shift<Key>F8 :string("\033") string("[32~")\n\
<Key>F8 :string("\033") string("[19~")\n\
Shift<Key>F9 :string("\033") string("[33~")\n\
<Key>F9 :string("\033") string("[20~")\n\
Shift<Key>F10 :string("\033") string("[34~")\n\
<Key>F10 :string("\033") string("[21~")\n\
<Key>Num_Lock :string("\033") string("OP")\n\
<Key>KP_Divide :string("\033") string("OQ")\n\
<Key>F25 :string("\033") string("OQ")\n\
<Key>KP_Multiply :string("\033") string("OR")\n\
<Key>F26 :string("\033") string("OR")\n\
<Key>KP_Subtract :string("\033") string("OS")\n\
<Key>F24 :string("\033") string("OS")\n\
Shift<Key>KP_Add :string("\033") string("Om")\n\
<Key>KP_Add :string("\033") string("Ol")\n\
<Key>KP_Enter :string("\033") string("OM")\n\
<Key>KP_Decimal :string("\033") string("On")\n\
<Key>KP_0 :string("\033") string("Op")\n\
<Key>KP_1 :string("\033") string("Oq")\n\
<Key>KP_2 :string("\033") string("Or")\n\
<Key>KP_3 :string("\033") string("Os")\n\
<Key>KP_4 :string("\033") string("Ot")\n\
<Key>KP_5 :string("\033") string("Ou")\n\
<Key>KP_6 :string("\033") string("Ov")\n\
<Key>KP_7 :string("\033") string("Ow")\n\
<Key>KP_8 :string("\033") string("Ox")\n\
<Key>KP_9 :string("\033") string("Oy")\n\
<Key>Insert :string("\033") string("[2~")\n\
<Key>Home :string("\033") string("[1~")\n\
<Key>Prior :string("\033") string("[5~")\n\
<Key>Delete :string("\033") string("[3~")\n\
<Key>End :string("\033") string("[4~")\n\
<Key>Next :string("\033") string("[6~")\n\
<Key>Up :string("\033") string("[A")\n\
<Key>Down :string("\033") string("[B")\n\
<Key>Left :string("\033") string("[C")\n\
<Key>Right :string("\033") string("[D")' \
$xterm_options $*
;;
OSF1)
KB=`/usr/sbin/sizer -wk | cut -c -2`
case $KB in
LK) # OSF1 LK2xx or LK4xx VMS style keyboards
${DECXTERM_EMULATOR:=/usr/bin/X11/xterm} \
-xrm 'xterm*VT100.Translations: #override\n\
Shift<Key>F1 :string("\033") string("[23~")\n\
<Key>Escape :string("\033") string("[23~")\n\
Shift<Key>F2 :string("\033") string("[24~")\n\
Shift<Key>F3 :string("\033") string("[25~")\n\
Shift<Key>F4 :string("\033") string("[26~")\n\
Shift<Key>F5 :string("\033") string("[28~")\n\
Shift<Key>F6 :string("\033") string("[29~")\n\
Shift<Key>F7 :string("\033") string("[31~")\n\
Shift<Key>F8 :string("\033") string("[32~")\n\
Shift<Key>F9 :string("\033") string("[33~")\n\
Shift<Key>F10 :string("\033") string("[34~")\n\
<Key>KP_Subtract :string("\033") string("Om")\n\
<Key>KP_Separator :string("\033") string("Ol")\n\
<Key>KP_Enter :string("\033") string("OM")\n\
<Key>KP_Decimal :string("\033") string("On")\n\
<Key>KP_0 :string("\033") string("Op")\n\
<Key>KP_1 :string("\033") string("Oq")\n\
<Key>KP_2 :string("\033") string("Or")\n\
<Key>KP_3 :string("\033") string("Os")\n\
<Key>KP_4 :string("\033") string("Ot")\n\
<Key>KP_5 :string("\033") string("Ou")\n\
<Key>KP_6 :string("\033") string("Ov")\n\
<Key>KP_7 :string("\033") string("Ow")\n\
<Key>KP_8 :string("\033") string("Ox")\n\
<Key>KP_9 :string("\033") string("Oy")' \
$xterm_options $*
;;
esac
;;
# CYGWIN*) # OSF1 PC style keyboard
CYGWIN_NT-5.0 | *) # OSF1 PC style keyboard
if [ "$KB" = "" ]; then
echo -n "Unable to determine Keyboard Type for `uname`, "
echo "Using default PC keyboard."
else
if [ "$KB" != PC ]; then
echo -n "DECxterm has not been configured for Keyboard Type $KB "
echo "on `uname`."
echo "Using default PC keyboard."
fi
fi
${DECXTERM_EMULATOR:=/usr/X11R6/bin/xterm} \
-xrm 'xterm*VT100.Translations: #override\n\
<Key>BackSpace : string("\177")\n\
Shift<Key>F1 :string("\033") string("[23~")\n\
<Key>Escape :string("\033") string("[23~")\n\
Shift<Key>F2 :string("\033") string("[24~")\n\
Shift<Key>F3 :string("\033") string("[25~")\n\
Shift<Key>F4 :string("\033") string("[26~")\n\
Shift<Key>F5 :string("\033") string("[28~")\n\
<Key>Print :string("\033") string("[28~")\n\
Shift<Key>F6 :string("\033") string("[29~")\n\
<Key>Pause :string("\033") string("[29~")\n\
<Key>Scroll_Lock :string("\033") string("[29~")\n\
<Key>F6 :string("\033") string("[17~")\n\
Shift<Key>F7 :string("\033") string("[31~")\n\
<Key>F7 :string("\033") string("[18~")\n\
Shift<Key>F8 :string("\033") string("[32~")\n\
<Key>F8 :string("\033") string("[19~")\n\
Shift<Key>F9 :string("\033") string("[33~")\n\
<Key>F9 :string("\033") string("[20~")\n\
Shift<Key>F10 :string("\033") string("[34~")\n\
<Key>F10 :string("\033") string("[21~")\n\
<Key>Num_Lock :string("\033") string("OP")\n\
<Key>KP_Divide :string("\033") string("OQ")\n\
<Key>F25 :string("\033") string("OQ")\n\
<Key>KP_Multiply :string("\033") string("OR")\n\
<Key>F26 :string("\033") string("OR")\n\
<Key>KP_Subtract :string("\033") string("OS")\n\
<Key>F24 :string("\033") string("OS")\n\
Shift<Key>KP_Add :string("\033") string("Om")\n\
<Key>KP_Add :string("\033") string("Ol")\n\
<Key>KP_Separator :string("\033") string("Ol")\n\
<Key>KP_Enter :string("\033") string("OM")\n\
<Key>KP_Decimal :string("\033") string("On")\n\
<Key>KP_0 :string("\033") string("Op")\n\
<Key>KP_1 :string("\033") string("Oq")\n\
<Key>KP_2 :string("\033") string("Or")\n\
<Key>KP_3 :string("\033") string("Os")\n\
<Key>KP_4 :string("\033") string("Ot")\n\
<Key>KP_5 :string("\033") string("Ou")\n\
<Key>KP_6 :string("\033") string("Ov")\n\
<Key>KP_7 :string("\033") string("Ow")\n\
<Key>KP_8 :string("\033") string("Ox")\n\
<Key>KP_9 :string("\033") string("Oy")\n\
<Key>Insert :string("\033") string("[2~")\n\
<Key>Home :string("\033") string("[1~")\n\
<Key>Prior :string("\033") string("[5~")\n\
<Key>Delete :string("\033") string("[3~")\n\
<Key>End :string("\033") string("[4~")\n\
<Key>Next :string("\033") string("[6~")' \
$xterm_options $*
;;
esac
# ;;
#
# *)
# echo "No Keyboard Mapping defined for `uname`, Using default settings"
# ${DECXTERM_EMULATOR:=xterm} $xterm_options $*
# ;;
# esac