I got some xterm resources off the net that I use with VMS. I don't remember where, and I hacked them a bit. But here is the command I use:
#!/bin/sh # vmsterm # from an original script by Bob Ess # key translations by Erik Ahlefeldt # modified for TrueType fonts and extra options by Bob Eager # modified to suppress utf-8 for EIGHT_BIT mode # # Script file using Xterm and telnet to connect to a VMS host # and give a decent vt220 emulation. # # Defaults # CURSOR=white FG=white BG=black HOST=localhost PORT=5555 TT=YES TTFONT=Hack-Regular FONT=9x15 BFONT=9x15bold FONTSIZE=10 COLS=80 SCROLLBACK=1000 TERMID=vt220 # ME="${0##*/}" # # Usage statement # Usage(){ echo " Usage: ${ME} [options]" echo " Options: -80 for 80 column terminal" echo " -132 for 132 column terminal" echo " (default is ${COLS})" echo " -bg colorname (default ${BG})" echo " -fg colorname (default ${FG})" echo " -fn fontname (when using -nott) (default ${FONT})" echo " -fb bold fontname (when using -nott) (default ${BFONT})" echo " -fa TrueType face name (not with -nott) (default ${TTFONT})" echo " -fs font size (not with -nott) (default ${FONTSIZE})" echo " -nott Don't use TrueType fonts (default is to use Truetype)" echo " -sl scrollback lines (default ${SCROLLBACK})" echo " -host [name | IP ] (default ${HOST})" echo " -port number (default ${PORT})" echo " -help|-h display help" echo "" echo " Example: \"${ME} -80 -fg white -bg black -fn 9x15 -fb 9x15b -host earth\"" echo " Starts a VMS session with an 80 column terminal" echo " with a black background, white foreground, a normal" echo " font of 9x15 and a bold font of 9x15b, and connects" echo " to the node 'earth'" echo " Example: \"${ME} -host earth\"" echo " Starts a VMS session with default terminal settings " echo " Example: \"${ME} -help\"" echo " Displays ${ME} options " exit 1 } # # Parse the command line arguments # while [ $# != 0 ]; do case $1 in -80) COLS=80 FONT=spc12x24c BFONT=spc12x24b shift;; -132) COLS=132 FONT=9x15 BFONT=9x15b shift;; -fg) shift FG=$1 shift;; -bg) shift BG=$1 shift;; -fn) shift FONT=$1 shift;; -fb) shift BFONT=$1 shift;; -fa) shift TTFONT=$1 shift;; -fs) shift FONTSIZE=$1 shift;; -nott) shift TT=NO shift;; -sl) shift SCROLLBACK=$1 shift;; -host) shift HOST=$1 shift;; -port) shift PORT=$1 shift;; -h|-help|*) Usage;; esac done if [ "${TT}" == "YES" ]; then FONTSEL="-fa ${TTFONT} -fs ${FONTSIZE}" else FONTSEL="-fn ${FONT} -fb ${BFONT}" fi xterm -title "VMSterm" -sb -sl ${SCROLLBACK} -geometry ${COLS}x24 \ -132 -fg ${FG} -bg ${BG} -cr ${CURSOR} ${FONTSEL} \ -rightbar -ti ${TERMID} -uc -ut \ -xrm XTerm.vt100.utf8:0 \ -xrm \ 'XTerm*VT100.translations: #override \n \ ~Shift <Key>F1: string(0x1b) string("OP") \n \ ~Shift <Key>F2: string(0x1b) string("OQ") \n \ ~Shift <Key>F3: string(0x1b) string("OR") \n \ ~Shift <Key>F4: string(0x1b) string("OS") \n \ ~Shift <Key>F5: string("Break") \n \ ~Shift <Key>F6: string(0x1b) string("[17~") \n \ ~Shift <Key>F7: string(0x1b) string("[18~") \n \ ~Shift <Key>F8: string(0x1b) string("[19~") \n \ ~Shift <Key>F9: string(0x1b) string("[20~") \n \ ~Shift <Key>F10: string(0x1b) string("[21~") \n \ ~Shift <Key>F11: string(0x1b) string("[23~") \n \ ~Shift <Key>F12: string(0x1b) string("[24~") \n \ Shift <Key>F1: string(0x1b) string("[23~") \n \ Shift <Key>F2: string(0x1b) string("[24~") \n \ Shift <Key>F3: string(0x1b) string("[25~") \n \ Shift <Key>F4: string(0x1b) string("[26~") \n \ Shift <Key>F5: string(0x1b) string("[28~") \n \ Shift <Key>F6: string(0x1b) string("[29~") \n \ Shift <Key>F7: string(0x1b) string("[31~") \n \ Shift <Key>F8: string(0x1b) string("[32~") \n \ Shift <Key>F9: string(0x1b) string("[33~") \n \ Shift <Key>F10: string(0x1b) string("[34~") \n \ Shift <Key>F11: string(0x1b) string("[28~") \n \ Shift <Key>F12: string(0x1b) string("[29~") \n \ <Key>Print: string(0x1b) string("[28~") \n \ <Key>Cancel: string(0x1b) string("[29~") \n \ <Key>Pause: string(0x1b) string("Om") \n \ <Key>Insert: string(0x1b) string("[2~") \n \ <Key>Delete: string(0x1b) string("[3~") \n \ <Key>Home: string(0x1b) string("[1~") \n \ <Key>End: string(0x1b) string("[4~") \n \ <Key>Prior: string(0x1b) string("[5~") \n \ <Key>Next: string(0x1b) string("[6~") \n \ <Key>BackSpace: string(0x7f) \n \ <Key>Num_Lock: 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("Ol") \n \ <Key>KP_Enter: string(0x1b) string("OM") \n \ <Key>KP_Decimal: string(0x1b) string("On") \n \ <Key>KP_0: string(0x1b) string("Op") \n \ <Key>KP_1: string(0x1b) string("Oq") \n \ <Key>KP_2: string(0x1b) string("Or") \n \ <Key>KP_3: string(0x1b) string("Os") \n \ <Key>KP_4: string(0x1b) string("Ot") \n \ <Key>KP_5: string(0x1b) string("Ou") \n \ <Key>KP_6: string(0x1b) string("Ov") \n \ <Key>KP_7: string(0x1b) string("Ow") \n \ <Key>KP_8: string(0x1b) string("Ox") \n \ <Key>KP_9: string(0x1b) string("Oy") \n \ ~Shift <Key>Up: string(0x1b) string("[A") \n \ Shift <Key>Up: scroll-back(1,lines) \n \ ~Shift <Key>Down: string(0x1b) string("[B") \n \ Shift <Key>Down: scroll-forw(1,lines) \n \ <Key>Right: string(0x1b) string("[C") \n \ <Key>Left: string(0x1b) string("[D")' \ -e telnet $HOST $PORT _______________________________________________ Simh mailing list Simh@trailing-edge.com http://mailman.trailing-edge.com/mailman/listinfo/simh