[comp.emacs] Meta Keys and Modems

david@WUBIOS.WUSTL.EDU (David J. Camp) (10/24/90)

In Reply to this Note From: <Rich Kaul>
>
>In article <MPF.90Oct22182031@triplea.cs.umd.edu> mpf@triplea.cs.umd.edu (Martin Farach) writes:
>   						Since the line
>   I am using is an 8 bit line, I assume there is some way of sending all
>   8 bits.  Does anyone know of some terminal emulator for IBM clones
>   that supports this type of behavior?
>
>I use Kermit 3.0 and the following to do it.  Just make sure to load
>this keymap before starting.  I got this off the net some time ago --
>while it say it's for Kermit 2.31 it still works.
>
>-rich
>
[kermit initialization script deleted]

I want to suggest an alternative approach.  I have defined the 
necessary configuration files to configure Kermit (and hence 
NCSA_Telnet), termcap, terminfo, the Grand Editor, and Sas 
to use the standard vt220 keyboard definitions.  I am provding
these mappings below in a shar file.  Since your keyboard will
be used for other processes than emacs, I suggest that you use
these standard mappings, and use termcap or emacs to map them
further into emacs commands.  -David-

david@wubios.wustl.edu                 ^        Mr. David J. Camp
david%wubios@wugate.wustl.edu        < * >      +1 314 382 0584
...!uunet!wugate!wubios!david          v
                                            "God loves material things."

#! /bin/sh
# This is a shell archive.  Remove anything before this line, then unpack
# it by saving it into a file and typing "sh file".  To overwrite existing
# files, type "sh file -c".  You can also feed this as standard input via
# unshar, or by typing "sh <file", e.g..  If this archive is complete, you
# will see the following message at the end:
#		"End of shell archive."
# Contents:  Makefile README getsize.c initmnp.tak keydefs.ini vge
#   vterm.add vterm.term vtkbfile
# Wrapped by david@wubios on Tue Sep 25 15:50:33 1990
PATH=/bin:/usr/bin:/usr/ucb ; export PATH
if test -f 'Makefile' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'Makefile'\"
else
echo shar: Extracting \"'Makefile'\" \(329 characters\)
sed "s/^X//" >'Makefile' <<'END_OF_FILE'
X# make file for getsize
X
Xall:
X	cc -o getsize getsize.c -lcurses -ltermcap
X	echo .nf | cat - README > getsize.l
X
Xinstall: all
X	install -cs -o root -g wheel -m 0755 getsize /usr/local/bin
X	install -c -o root -g wheel -m 0644 getsize.l /usr/man/manl
X
Xclean:
X	/bin/rm -f getsize getsize.l
X
Xshar:
X	make clean
X	shar -o ../vterm.shar *
END_OF_FILE
if test 329 -ne `wc -c <'Makefile'`; then
    echo shar: \"'Makefile'\" unpacked with wrong size!
fi
# end of 'Makefile'
fi
if test -f 'README' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'README'\"
else
echo shar: Extracting \"'README'\" \(1708 characters\)
sed "s/^X//" >'README' <<'END_OF_FILE'
XI am releasing a keyboard mapping standard called 'vterm'.  Included in
Xthe release are initialization scripts to configure MS-Kermit, the Grand
XEditor, and Unix-Sas to conform to the vt220 keyboard.  This should also
Xwork with NCSA_Telnet when they finish conforming their keyboard mapping
Xto the Kermit standard.  I also included an MS-Kermit script that will
Xconfigure a Practical Peripherals MNP5 modem properly.
X
XThere is no automatic configuration.  You must copy the files to the
Xappropriate place on your system and run the appropriate commands (e.g.
Xtic and ticadd) for installation.  The files can be found in
Xwuarchive:pub/vterm.shar.Z via anonymous ftp or bitftp@pucc.bitnet.
X
XPlease let me know how I can improve this software.  -David-
X
XA companion program is called getsize.  It is a C program that will 
Xdetermine the size of an ansi terminal.  It is designed to be run from 
Xa .login script.  I use the following code for its implementation:
X
Xif ($TERM == "vterm" || $TERM == "wterm") then
X    set noglob
X    eval `/bin/sh -c "/usr/local/bin/getsize 2> /dev/tty"`
X    unset noglob
X    endif
X
XTo install run 'make', become root, and run 'make install'.  I have only
Xtested this on a Sun 3/260 running SunOS 4.0.3.  Any improvements,
Xincluding patches to make it work on other systems are welcome.
X
XIt would be nice if you make an effort to keep it compatible with
Xsystems on which it is already working.  -David-
X
Xdavid@wubios.wustl.edu                 ^        Mr. David J. Camp
Xdavid%wubios@wugate.wustl.edu        < * >      +1 314 382 0584
X...!uunet!wugate!wubios!david          v        "Be kind to sinners."
X"Concentration impedes Inspiration."  ---  "Depend on God, who has dominion."
END_OF_FILE
if test 1708 -ne `wc -c <'README'`; then
    echo shar: \"'README'\" unpacked with wrong size!
fi
# end of 'README'
fi
if test -f 'getsize.c' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'getsize.c'\"
else
echo shar: Extracting \"'getsize.c'\" \(2996 characters\)
sed "s/^X//" >'getsize.c' <<'END_OF_FILE'
X/* getsize.c -- gets the size of an ansi terminal */
X/* compile with: cc -o getsize getsize.c -lcurses -ltermcap */
X/* AUTHOR:
Xdavid@wubios.wustl.edu                 ^        Mr. David J. Camp
Xdavid%wubios@wugate.wustl.edu        < * >      +1 314 382 0584
X...!uunet!wugate!wubios!david          v        "Be kind to sinners."
X"Concentration impedes Inspiration."  ---  "Depend on God, who has dominion."
X*/
X
X#include <stdio.h>
X#include <curses.h>
X#include <string.h>
X
Xvoid main (argc, argv)
Xint argc;
Xchar * argv [];
X
X{
Xint row, col;
Xint inrow, incol;
Xchar buffer [1024];
Xint bufptr;
X
X/* Initialize terminal to eliminate cooked processing. */
Xinitscr();
Xcbreak();
Xnoecho();
X/* Eliminate I/O buffering. */
Xsetbuf (stderr, NULL);
Xsetbuf (stdin, NULL);
Xsetbuf (stdout, NULL);
X/* Set wrap mode off. */
Xfprintf (stderr, "\033[?7l");
X/* Set scroll region to entire screen. */
Xfprintf (stderr, "\033[0;0;0;0r");
Xrow = 1;
Xcol = 0;
Xinrow = 1;
Xincol = 0;
Xwhile (incol == col)
X    {
X    col += 100;
X    /* Position Cursor at upper right corner. */
X    fprintf (stderr, "\033[%d;%dH", row, col);
X    /* Ask for cursor position. */
X    fprintf (stderr, "\033[6n");
X    /* Wait for Escape character. */
X    while ((int) (buffer [0] = fgetc (stdin)) != '\033')
X        ;
X    /* Look for CPR terminator. */
X    for (bufptr = 1; (buffer [bufptr] = fgetc (stdin)) != 'R'; bufptr++)
X        /* Restart scan at each Escape character. */
X        if (buffer [bufptr] == '\033')
X            bufptr = 0;
X    /* Decode cursor position. */
X    sscanf (buffer, "\033[%d;%dR", &inrow, &incol);
X    }
Xrow = inrow;
Xwhile (inrow == row)
X    {
X    row += 100;
X    /* Position Cursor at lower right corner. */
X    fprintf (stderr, "\033[%d;%dH", row, incol);
X    /* Ask for cursor position. */
X    fprintf (stderr, "\033[6n");
X    /* Wait for Escape Character. */
X    while ((int) (buffer [0] = fgetc (stdin)) != '\033')
X        ;
X    /* Look for CPR terminator. */
X    for (bufptr = 1; (buffer [bufptr] = fgetc (stdin)) != 'R'; bufptr++)
X        /* Restart scan at each Escape character. */
X        if (buffer [bufptr] == '\033')
X            bufptr = 0;
X        ;
X    /* Decode cursor position. */
X    sscanf (buffer, "\033[%d;%dR", &inrow, &incol);
X    }
X/* Position Cursor at lower left corner, for convenience. */
Xfprintf (stderr, "\033[%d;%dH", inrow, 1);
X/* Reenable wrap mode. */
Xfprintf (stderr, "\033[?7h");
X/* Reenable cooked I/O processing. */
Xnocbreak();
Xecho();
X/* Produce configuration statements for the Unix environment. */
Xfprintf (stdout, "setenv COLUMNS %d;\n", incol);
Xfprintf (stdout, "setenv LINES %d;\n", inrow);
Xfprintf (stdout, "stty rows %d;\n", inrow);
Xfprintf (stdout, "stty cols %d;\n", incol);
Xfprintf (stdout, "clear;\n");
Xfprintf (stdout, "/usr/5bin/echo '\\033[1;%d;1;%dr';\n", inrow, incol);
X/* Call tset to get its -s output on stdout, with modifications. */
Xsprintf (buffer, 
X        "tset -s | sed -e 's/li#[0-9]*/li#%d/' -e 's/co#[0-9]*/co#%d/'", 
X        inrow, incol);
Xsystem (buffer);
X}
END_OF_FILE
if test 2996 -ne `wc -c <'getsize.c'`; then
    echo shar: \"'getsize.c'\" unpacked with wrong size!
fi
# end of 'getsize.c'
fi
if test -f 'initmnp.tak' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'initmnp.tak'\"
else
echo shar: Extracting \"'initmnp.tak'\" \(921 characters\)
sed "s/^X//" >'initmnp.tak' <<'END_OF_FILE'
Xset baud 9600
Xset parity none
Xoutput atb1\13
XINPUT 4 OK
Xoutput ate1\13
XINPUT 4 OK
Xoutput atl2\13
XINPUT 4 OK
Xoutput atm1\13
XINPUT 4 OK
Xoutput atq0\13
XINPUT 4 OK
Xoutput att\13
XINPUT 4 OK
Xoutput atv1\13
XINPUT 4 OK
Xoutput atx4\13
XINPUT 4 OK
Xoutput aty0\13
XINPUT 4 OK
Xoutput at&c0\13
XINPUT 4 OK
Xoutput at&d0\13
XINPUT 4 OK
Xoutput at&g0\13
XINPUT 4 OK
Xoutput at&j0\13
XINPUT 4 OK
Xoutput at&p0\13
XINPUT 4 OK
Xoutput at&y0\13
XINPUT 4 OK
Xoutput at\a3\13
XINPUT 4 OK
Xoutput at\c2\13
XINPUT 4 OK
Xoutput at\e1\13
XINPUT 4 OK
Xoutput at\g1\13
XINPUT 4 OK
Xoutput at\j0\13
XINPUT 4 OK
Xoutput at\k5\13
XINPUT 4 OK
Xoutput at\l1\13
XINPUT 4 OK
Xoutput at\n3\13
XINPUT 4 OK
Xoutput at\q1\13
XINPUT 4 OK
Xoutput at\t0\13
XINPUT 4 OK
Xoutput at\v1\13
XINPUT 4 OK
Xoutput at\x0\13
XINPUT 4 OK
Xoutput at%a13\13
XINPUT 4 OK
Xoutput at%b4\13
XINPUT 4 OK
Xoutput at%c1\13
XINPUT 4 OK
Xoutput at&w\13
XINPUT 4 OK
END_OF_FILE
if test 921 -ne `wc -c <'initmnp.tak'`; then
    echo shar: \"'initmnp.tak'\" unpacked with wrong size!
fi
# end of 'initmnp.tak'
fi
if test -f 'keydefs.ini' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'keydefs.ini'\"
else
echo shar: Extracting \"'keydefs.ini'\" \(4858 characters\)
sed "s/^X//" >'keydefs.ini' <<'END_OF_FILE'
Xset key \2443      ;     AF11
Xset key \2444      ;     AF12
Xset key \852 \27OA;     SF1
Xset key \853 \27OB;     SF2
Xset key \854 \27OC;     SF3
Xset key \855 \27OD;     SF4
Xset key \856 \27OE;     SF5
Xset key \857 \27OF;     SF6
Xset key \858 \27OG;     SF7
Xset key \859 \27OH;     SF8
Xset key \860 \27OI;     SF9
Xset key \861 \27OJ;     SF10
Xset key \903      ;     SF11
Xset key \904      ;     SF12
Xset key \1374 \27Oa;     <ctl>F1
Xset key \1375 \27Ob;     <ctl>F2
Xset key \1376 \27Oc;     <ctl>F3
Xset key \1377 \27Od;     <ctl>F4
Xset key \1378 \27Oe;     <ctl>F5
Xset key \1379 \27Of;     <ctl>F6
X;set key \1380 \27Og;     <ctl>F7
Xset key \1380 \kupscn;    <ctl>F7 changed  to kermit up screen
X;set key \1381 \27Oh;     <ctl>F8
Xset key \1381 \kdnscn;    <ctl>F8 changed to kermit down screen
Xset key \1382 \27Oi;     <ctl>F9
Xset key \1383 \27Oj;     <ctl>F10
X
Xset key \2469          ;<alt><tab>
Xset key \1428          ;<ctrl><tab>
Xset key \315 \27OP;        F1     = PF1
Xset key \316 \27OQ;        F2     = PF2
Xset key \317 \27OR;        F3     = PF3
Xset key \318 \27OS;        F4     = PF4
Xset key \319 \27[16~;      F5     = invented sequence
Xset key \320 \27[17~;      F6     = F6
Xset key \321 \27[18~;      F7     = F7
Xset key \322 \27[19~;      F8     = F8
Xset key \323 \27[20~;      F9     = F9
Xset key \324 \27[21~;      F10    = F10
Xset key \389 \27[23~;      F11    = F11
Xset key \390 \27[24~;      F12    = F12
X
Xset key \2408 \27[23~;     AF1    = F11
Xset key \2409 \27[24~;     AF2    = F12
Xset key \2410 \27[25~;     AF3    = F13
Xset key \2411 \27[26~;     AF4    = F14
Xset key \2412 \27[28~;     AF5    = F15
Xset key \2413 \27[29~;     AF6    = F16
Xset key \2414 \27[31~;     AF7    = F17
Xset key \2415 \27[32~;     AF8    = F18
Xset key \2416 \27[33~;     AF9    = F19
Xset key \2417 \27[34~;     AF10   = F20
X
Xset key \2433 \27Op;       Alt+0  = KeyPad 0
Xset key \2424 \27Oq;       Alt+1  = KeyPad 1
Xset key \2425 \27Or;       Alt+2  = KeyPad 2
Xset key \2426 \27Os;       Alt+3  = KeyPad 3
Xset key \2427 \27Ot;       Alt+4  = KeyPad 4
Xset key \2428 \27Ou;       Alt+5  = KeyPad 5
Xset key \2429 \27Ov;       Alt+6  = KeyPad 6
Xset key \2430 \27Ow;       Alt+7  = KeyPad 7
Xset key \2431 \27Ox;       Alt+8  = KeyPad 8
Xset key \2432 \27Oy;       Alt+9  = KeyPad 9
X
Xset key \2334 \27?A;    alt A
Xset key \2334 \27?B;    alt B
Xset key \2350 \27?C;    alt C
Xset key \2336 \27?D;    alt D
Xset key \2322 \27?E;    alt E
Xset key \2337 \27?F;    alt F
Xset key \2338 \27?G;    alt G
Xset key \2338 \27?H;    alt H
Xset key \2327 \27?I;    alt I
Xset key \2340 \27?J;    alt J
Xset key \2341 \27?K;    alt K
Xset key \2342 \27?L;    alt L
Xset key \2354 \27?M;    alt M
Xset key \2353 \27?N;    alt N
Xset key \2328 \27?O;    alt O
Xset key \2329 \27?P;    alt P
Xset key \2320 \27?Q;    alt Q
Xset key \2323 \27?R;    alt R
Xset key \2335 \27?S;    alt S
Xset key \2324 \27?T;    alt T
Xset key \2326 \27?U;    alt U
Xset key \2351 \27?V;    alt V
Xset key \2321 \27?W;    alt W
Xset key \2349 \27?X;    alt X
Xset key \2325 \27?Y;    alt Y
Xset key \2348 \27?Z;    alt Z
X
X
Xset key \338   \27[2~;     insert
Xset key \4434  \27[2~;    (gray insert)
Xset key \339   \27[3~;     delete
Xset key \4435  \27[3~;    (gray delete)
X
Xset key \1412  \Kupscn;    <ctl><PgUp>
Xset key \5508  \Kupscn;    <ctl><PgUp>  Ext
Xset key \1398  \Kdnscn;    <ctl><PgDn>
Xset key \5494  \Kdnscn;    <ctl><PgDn>  Ext
Xset key \329   \27[5~;     PgUp
Xset key \4425  \27[5~;     PgUp Ext
Xset key \337   \27[6~;     PgDn
Xset key \4433  \27[6~;     PgDn Ext
Xset key \1421  \Kupone;    Ctrl+UpArrow
Xset key \5517  \Kupone;    Ctrl+UpArrow Ext
Xset key \1425  \Kdnone;    Ctrl+DnArrow
Xset key \5521  \Kdnone;    Ctrl+DnArrow Ext
X
Xset key \1399  \27?a;    <ctl><home>
Xset key \5495  \27?a;    <ctl><home>  Ext
Xset key \1397  \27?b;    <ctl><end>
Xset key \5493  \27?b;    <ctl><end>   Ext
Xset key \1396  \27?e;    <ctl><right>
Xset key \5492  \27?e;    <ctl><right> Ext
Xset key \1395  \27?f;    <ctl><left>
Xset key \5491  \27?f;    <ctl><left>  Ext
X
Xset key \327   \27[1~;    <home>
Xset key \4423  \27[1~;    <home> Ext
Xset key \335   \27[4~;    <end>
Xset key \4431  \27[4~;    <end> Ext
X
Xset key \271   \9   ; <tab>
Xset key \783   \27\9   ; shift+tab
X
Xset key \851   \Kkpdot; Shift+Delete-NumLock (KeyPad Dot)
Xset key \330   \Kkpminus; KeyPad Minus
X
Xset key \328   \Kuparr; UpArrow
Xset key \4424  \Kuparr; UpArrow Ext
Xset key \331   \Klfarr; LeftArrow
Xset key \4427  \Klfarr; LeftArrow Ext
Xset key \336   \Kdnarr; DownArrow
Xset key \4432  \Kdnarr; DownArrow Ext
Xset key \333   \Krtarr; RightArrow
Xset key \4429  \Krtarr; RightArrow
X
Xset key \4365  \Kkpenter; KeyPad Enter Ext
Xset key \334   \Kkpenter; KeyPad Plus = Enter
Xset key \311   \Kkpcoma;  KeyPad Asterisk = Comma
END_OF_FILE
if test 4858 -ne `wc -c <'keydefs.ini'`; then
    echo shar: \"'keydefs.ini'\" unpacked with wrong size!
fi
# end of 'keydefs.ini'
fi
if test -f 'vge' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'vge'\"
else
echo shar: Extracting \"'vge'\" \(62 characters\)
sed "s/^X//" >'vge' <<'END_OF_FILE'
Xge -kbfile /usr/local/lib/vtkbfile $1 $2 $3 $4 $5 $6 $7 $8 $9
END_OF_FILE
if test 62 -ne `wc -c <'vge'`; then
    echo shar: \"'vge'\" unpacked with wrong size!
fi
chmod +x 'vge'
# end of 'vge'
fi
if test -f 'vterm.add' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'vterm.add'\"
else
echo shar: Extracting \"'vterm.add'\" \(8385 characters\)
sed "s/^X//" >'vterm.add' <<'END_OF_FILE'
Xterm|vterm|ansi terminal tracking DEC upgrades,
X   k_home=\E[1~,
X   k_ppage=\E[5~
X   k_npage=\E[6~
X   k_dc=\E[3~,
X   k_backspace=\177,
X   k_instoggle=\E[2~,
X   k_pfld=\E^I,
X   k_deofld=\E?E,
X   k_dl=\E?D,
X   k_nword=\E?U,
X   k_pword=\E?V,
X   k_mveol=\E[4~,
X# function keys
X   key_f11=\E[16~, lab_f11=F5,
X   key_f12=\E[17~, lab_f12=F6,
X   key_f13=\E[18~, lab_f13=F7,
X   key_f14=\E[19~, lab_f14=F8,
X   key_f15=\E[20~, lab_f15=F9,
X   key_f16=\E[21~, lab_f16=F10,
X   key_f17=\E[23~, lab_f17=AF1,
X   key_f18=\E[24~, lab_f18=AF2,
X   key_f19=\E[25~, lab_f19=AF3,
X   key_f20=\E[26~, lab_f20=AF4,
X   key_f21=\E[28~, lab_f21=AF5,
X   key_f22=\E[29~, lab_f22=AF6,
X   key_f23=\E[31~, lab_f23=AF7,
X   key_f24=\E[32~, lab_f24=AF8,
X   key_f25=\E[33~, lab_f25=AF9,
X   key_f26=\E[34~, lab_f26=AF10,
X   key_f27@,  lab_f27@,
X   key_f28@,  lab_f28@,
X   key_f29=\EOp, lab_f29=ALT0,
X   key_f30=\EOq, lab_f30=ALT1,
X   key_f31=\EOr, lab_f31=ALT2,
X   key_f32=\EOs, lab_f32=ALT3,
X   key_f33=\EOt, lab_f33=ALT4,
X   key_f34=\EOu, lab_f34=ALT5,
X   key_f35=\EOv, lab_f35=ALT6,
X   key_f36=\EOw, lab_f36=ALT7,
X   key_f37=\EOx, lab_f37=ALT8,
X   key_f38=\EOy, lab_f38=ALT9,
X   key_f39=\EOl, lab_f39=Keypd\s\,,
X   key_f40=\EOm, lab_f40=Keypd\s-,
X   key_f41=\EOn, lab_f41=Keypd\s.,
X##################################################################
X#   init_keys=\E[?1h,  makes application mode
X#   programming to numeric and then when leaving back to application
X#   so that can use the shifted f1 to f4 and cursor
X
X#   init_keys=\E[?1h\E=, 
X#   restore_keys=\E[?1l\E>, 
X
X   init_keys@,
X
X   k_up=\E[A, k_down=\E[B, k_right=\E[C, k_left=\E[D,
X
X   k_nfld=\E?l,
X
X   k_dword=\EOE,
X
X   k_mvbol=\E?f,
X
X#    key_f42=\EOA,      lab_f42=ShftF1,
X#    key_f43=\EOB,      lab_f43=ShftF2,
X#    key_f44=\EOC,      lab_f44=ShftF3,
X#    key_f45=\EOD,      lab_f45=ShftF4,
X    key_f46=\EOE,      lab_f46=ShftF5,
X    key_f47=\EOF,      lab_f47=ShftF6,
X    key_f48=\EOG,      lab_f48=ShftF7,
X    key_f49=\EOH,      lab_f49=ShftF8,
X    key_f50=\EOI,      lab_f50=ShftF9,
X    key_f51=\EOJ,      lab_f51=ShftF10,
X    key_f52=\EOa,      lab_f52=CntlF1,
X    key_f53=\EOb,      lab_f53=CntlF2,
X    key_f54=\EOc,      lab_f54=CntlF3,
X    key_f55=\EOd,      lab_f55=CntlF4,
X    key_f56=\EOe,      lab_f56=CntlF5,
X    key_f57=\EOf,      lab_f57=CntlF6,
X    key_f58=\EOg,      lab_f58=CntlF7,
X    key_f59=\EOh,      lab_f59=CntlF8,
X    key_f60=\EOi,      lab_f60=CntlF9,
X    key_f61=\EOj,      lab_f61=CntlF10,
X    key_f62=\EOq,      lab_f62=AltF1,
X    key_f63=\EOr,      lab_f63=AltF2,
X    key_f64=\EOs,      lab_f64=AltF3,
X    key_f65=\EOt,      lab_f65=AltF4,
X    key_f66=\EOu,      lab_f66=AltF5,
X    key_f67=\EOv,      lab_f67=AltF6,
X    key_f68=\EOw,      lab_f68=AltF7,
X    key_f69=\EOx,      lab_f69=AltF8,
X    key_f70=\EOy,      lab_f70=AltF9,
X    key_f71=\EOp,      lab_f71=AltF10,
X
X# Alt D, E, U, V are set to fixed keys
X
X    key_f72=\E?A,           lab_f72=altA,
X    key_f73=\E?B,           lab_f73=altB,
X    key_f74=\E?C,           lab_f74=altC,
X    key_f75=\E?F,           lab_f75=altF,
X    key_f76=\E?G,           lab_f76=altG,
X    key_f77=\E?H,           lab_f77=altH,
X    key_f78=\E?I,           lab_f78=altI,
X    key_f79=\E?J,           lab_f79=altJ,
X    key_f80=\E?K,           lab_f80=altK,
X    key_f81=\E?L,           lab_f81=altL,
X    key_f82=\E?M,           lab_f82=altM,
X    key_f83=\E?N,           lab_f83=altN,
X    key_f84=\E?O,           lab_f84=altO,
X    key_f85=\E?P,           lab_f85=altP,
X    key_f86=\E?Q,           lab_f86=altQ,
X    key_f87=\E?R,           lab_f87=altR,
X    key_f88=\E?S,           lab_f88=altS,
X    key_f89=\E?T,           lab_f89=altT,
X    key_f90=\E?W,           lab_f90=altW,
X    key_f91=\E?X,           lab_f91=altX,
X    key_f92=\E?Y,           lab_f92=altY,
X    key_f93=\E?Z,           lab_f93=altZ,
X
X# specials
X    key_f94=\E?c,           lab_f94=CntlPgU,
X    key_f95=\E?d,           lab_f95=CntlPgD,
X    key_f96=\E?a,           lab_f96=CntlHOM,
X    key_f97=\E?b,           lab_f97=CntlEND,
X    use=vt340,
X########################################
X#
X# TERMINFO ADDENDUM SOURCE FILE -- vt300 series
X#
Xvt300|vt320|vt330|vt340|vt300 series in VT300 mode/7 bit control,
X# initialization
X#   \E[63;1"p -- set terminal mode to vt300, 7-bit control
X#      WARNING -- changing mode, resets other things to default settings
X#  - \E[?7h same as "AUTOWRAP YES" in setup mode  
X   init_fullscreen_mode=\E[63;1"p\E[?7h,
X# name of program which queries the terminal and writes terminal restore
X#  info to stderr
X   terminqpgm=vt340_report,
X# get everything from vt200
X   use=vt200,
X########################################
X#
X# TERMINFO ADDENDUM SOURCE FILE -- vt200 series
X#
Xvt200|vt220|vt230|vt240|vt200 series in VT200 mode/7 bit control,
X# miscellaneous
X   am2,
X   shared_text_graph,
X# note: ^Z is printable, but we want it to appear in Keys Window
X#  printable_chars=^Z,
X#
X# init/restore
X#    \E[62;1"p -- set terminal mode to vt200, 7-bit control
X#      WARNING -- changing mode, resets other things to default settings
X#  - \E[?7h same as "AUTOWRAP YES" in setup mode  
X   init_fullscreen_mode=\E[62;1"p\E[?7h,
X# function keys
X   key_f30=\E[17~, lab_f30=F6,
X   key_f31=\E[18~, lab_f31=F7,
X   key_f32=\E[19~, lab_f32=F8,
X   key_f33=\E[20~, lab_f33=F9,
X   key_f34=\E[21~, lab_f34=F10,
X#   key_f35=\E[23~, lab_f35=F11, -- no, use as color/attribute hotkey
X#   key_f36=\E[24~, lab_f36=F12, -- no, set to backspace
X#   key_f37=\E[25~, lab_f37=F13, -- no, set to carriage return
X   key_colattr_prefix=\E[23~,
X   k_backspace=\E[24~,
X   k_cr=\E[25~,
X   key_f38=\E[26~, lab_f38=F14,
X   key_f39=\E[28~, lab_f39=Help,
X   key_f40=\E[29~, lab_f40=Do,
X   key_f41=\E[31~, lab_f41=F17,
X   key_f42=\E[32~, lab_f42=F18,
X   key_f43=\E[33~, lab_f43=F19,
X   key_f44=\E[34~, lab_f44=F20,
X# editing keypad
X#   key_f50=\E[1~,  lab_f50=Find,
X#  key_f51=\E[2~,  lab_f51=InsHere,
X#  key_f52=\E[3~,  lab_f52=Remove,
X#   key_f53=\E[4~,  lab_f53=Select,
X   key_f54=\E[5~,  lab_f54=PrvScr,
X   key_f55=\E[6~,  lab_f55=NxtScr,
X# get the rest from ansi terminal entry
X   use=vt100,
X
X########################################
X#
X# TERMINFO ADDENDUM SOURCE FILE -- vt100
X# TERMINFO ADDENDUM SOURCE FILE -- vt125 (like vt100 but with graphics)
X# TERMINFO ADDENDUM SOURCE FILE -- vt131 (like vt100 but faster)
X# TERMINFO ADDENDUM SOURCE FILE -- vt132
X#
Xvt100|vt125|vt131|vt132|vt100 series,
X   am2,
X#  - \E[?7h same as "AUTOWRAP YES" in setup mode  
X   init_fullscreen_mode=\E[?7h,
X# miscellaneous
X# note: put graphics flag here since all vt terminals with graphics
X#    capabilities share terminal memory
X   shared_text_graph,
X# printable_chars=^X^Z,
X# get the rest from ansi terminal entry
X   use=ansi,
X########################################
X#
X# TERMINFO ADDENDUM SOURCE FILE -- ansi
X#
Xansi|common keys on ansi terminals,
X# miscellaneous
X   linechars=lqkxmj,  
X   key_colattr_prefix=\E\E,
X# entries for numeric keypad keys
X   key_f70=\EOp, lab_f70=Keypd\s0,
X   key_f71=\EOq, lab_f71=Keypd\s1,
X   key_f72=\EOr, lab_f72=Keypd\s2,
X   key_f73=\EOs, lab_f73=Keypd\s3,
X   key_f74=\EOt, lab_f74=Keypd\s4,
X   key_f75=\EOu, lab_f75=Keypd\s5,
X   key_f76=\EOv, lab_f76=Keypd\s6,
X   key_f77=\EOw, lab_f77=Keypd\s7,
X   key_f78=\EOx, lab_f78=Keypd\s8,
X   key_f79=\EOy, lab_f79=Keypd\s9,
X   key_f80=\EOl, lab_f80=Keypd\s\,,
X   key_f81=\EOm, lab_f81=Keypd\s-,
X   key_f82=\EOn, lab_f82=Keypd\s.,
X   k_cr=\EOM,
X# entries for arrow keys
X   k_up=\EOA, k_down=\EOB, k_right=\EOC, k_left=\EOD,
X# misc special keys -- rubout key
X   k_backspace=\177,
X# initialization
X#  - \E[?1h same as CURSORKEYS YES  (F1-F4 send \EOA - \EOD)
X   init_keys=\E[?1h,
X#  - \E(B   same as "SELECTCHARSET G0, B" in setup mode  
X#  - \E)0   same as "SELECTCHARSET G1, 0" in setup mode  
X   init_alt_char_set=\E(B\E)0,
X# set up control characters
X   use=cntlchars,
X########################################
X#
X# CONTROL CHARACTER KEY SETUPS
X#
Xcntlchars|Control Character Key Setups,
X# keys we have no choice about
X   k_backspace=^H, k_nfld=^I, 
X# deleting
X   k_dword=^W,  k_deofld=^E,  k_dc=^D,
X# moving cursor 
X   k_pword=^T,  k_nword=^Y,    
X   k_home=^U,  
X   k_down=^N,  k_left=^J,  k_up=^K,  k_right=^L,
X   k_mvbol=^O,  k_mveol=^P,       
X# insert toggle
X   k_instoggle=^X,
X# unused (left for keys window)
X#  ^A, ^Z,   -- BACKWARD, FORWARD 
X#  ^R, ^F, ^G, ^V, ^B  -- PASTE, STORE, CUT, MARK, UNMARK 
X#  ^C if not unix interrupt char
X# unusable 
X#  ^Q, ^S -- XON/XOFF processing 
X
END_OF_FILE
if test 8385 -ne `wc -c <'vterm.add'`; then
    echo shar: \"'vterm.add'\" unpacked with wrong size!
fi
# end of 'vterm.add'
fi
if test -f 'vterm.term' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'vterm.term'\"
else
echo shar: Extracting \"'vterm.term'\" \(185 characters\)
sed "s/^X//" >'vterm.term' <<'END_OF_FILE'
Xterm|vterm|ansi terminal tracking Dec upgrades,
X  km,
X  kf1=\EOP, lf1=F1,
X  kf2=\EOQ, lf2=F2,
X  kf3=\EOR, lf3=F3,
X  kf4=\EOS, lf4=F4,
X  rmkx=\E[?1l\E>, 
X  smkx=\E[?1h\E=, 
X  use=vt340,
END_OF_FILE
if test 185 -ne `wc -c <'vterm.term'`; then
    echo shar: \"'vterm.term'\" unpacked with wrong size!
fi
# end of 'vterm.term'
fi
if test -f 'vtkbfile' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'vtkbfile'\"
else
echo shar: Extracting \"'vtkbfile'\" \(3964 characters\)
sed "s/^X//" >'vtkbfile' <<'END_OF_FILE'
X#
X# keyboard mapping file for use with wubios Kermit Keys
X# d.j. camp modified again 6 July 1990 to get more functions
X# d.c. camp (david@wubios.WUstl.EDU) 3/28/90 modified for vterm
X# j.p. miller (phil@wubios.WUstl.edu)  2/2/89  version 0.2
X^[ "OE" : <del-space>     :  SF5
X^[ "OF" : <+tab>          :  SF6
X^[ "OG" : <-tab>          :  SF7
X^[ "OH" : <tabchar>       :  SF8
X^[ "OI" : <tabstop>       :  SF9
X^[ "OJ" : <window>        :  SF10
X^[ "Oa" : <fill>          :  CF1
X^[ "Ob" : <justify>       :  CF2
X^[ "Oc" : <center>        :  CF3
X^[ "Oi" : <undefined>     :  CF9
X^[ "Oj" : </window>       :  CF10
X#
X# these might not work
X^[ "?c" : <cmd><-window>  :  <ctl><PgUp>
X^[ "?d" : <cmd><+window>  :  <ctl><PgDn>
X#
X^[ "OP" : <cmd>           :  F1
X^[ "OQ" : <open>          :  F2 also alt-o
X^[ "OR" : <refresh>       :  F3 ???? alt-r current +window
X^[ "OS" : <mark>          :  F4 ???? alt-m current with alt-n -+ word
X^[ "[16~" : <alt>           :  F5
X^[ "[17~" : <pick>          :  F6
X^[ "[18~" : <-window>       :  F7
X^[ "[19~" : <+window>       :  F8
X^[ "[20~" : <replace>       :  F9
X^[ "[21~" : <+search>       :  F10
X^[ "[23~" : <ctrl-char>     :  AF1
X^[ "[24~" : <close>         :  AF2
X^[ "[25~" : <split>         :  AF3
X^[ "[26~" : <join>          :  AF4   changed
X^[ "[28~" : <win-left>      :  AF5   changed
X^[ "[29~" : <win-right>     :  AF6   changed
X^[ "[31~" : <-lines>        :  AF7
X^[ "[32~" : <+lines>        :  AF8
X^[ "[33~" : <chg-win>       :  AF9
X^[ "[34~" : <-search>       :  AF10
X^[ "Op" : <window>        :  Alt+0
X^[ "Oq" : <fill>          :  Alt+1
X^[ "Or" : <justify>       :  Alt+2
X^[ "Os" : <center>        :  ALt+3
X^[ "Ot" : </window>       :  Alt+4
X^[ "Ou" : <del-space>     :  ALT+5
X^[ "Ov" : <+tab>          :  ALT+6
X^[ "Ow" : <-tab>          :  Alt+7
X^[ "Ox" : <tabchar>       :  Alt+8
X^[ "Oy" : <tabstop>       :  Alt+9
X#
X#
X^[ "?A" : <cmd>           :  <alt>A
X^[ "?B" : <undefined>     :
X^[ "?C" : <center>        :  <alt>C    changed center from <ctrl-char>
X^[ "?D" : <close>         :  <alt>D    changed to delete line from -lines
X^[ "?E" : <erase-eol>     :  <alt>E  changed  Erase to end of line from -window
X^[ "?F" : <justify>       :  <alt>F  changed Fill-in r. just. from +lines
X^[ "?G" : <undefined>     :  <alt>G  changed from home
X^[ "?H" : <undefined>     :  help xxxxxxxxxxxxxxxxxx ??????
X^[ "?I" : <undefined>     :  <alt>I  changed
X^[ "?J" : <join>          :  <alt>J
X^[ "?K" : <column>        :  <alt>K  maybe ok
X^[ "?L" : <fill>          :  <alt>L  changed left justifiy
X^[ "?M" : <mark>          :  <alt>M  changed MARK
X^[ "?N" : <undefined>     :  <alt>N  changed something from +word
X^[ "?O" : <open>          :  <alt>O
X^[ "?P" : <pick>          :  <alt>P  ok for proximity with q = (quit?)
X^[ "?Q" : <cmd><pick>     :  <alt>Q
X^[ "?R" : <refresh>       :  <alt>R  changed REFRESH
X^[ "?S" : <split>         :  <alt>S  changed SPLIT
X^[ "?T" : <tabstop>       :  <alt>T  changed ???? something else ????
X^[ "?U" : <+word>         :  <alt>U  maybe <+word> from <mark> now A-M
X^[ "?V" : <-word>         :  <alt>V  maybe <-word> from <close> now A-d
X^[ "?W" : <chg-win>       :  <alt>W
X^[ "?X" : <cmd>"exit q"<return>   : <alt>X  exit/quit
X^[ "?Z" : <cmd>"exit"<return> : <alt>Z
X#
X^I      : <+tab>          : <tab>        changed
X#^[^I    : <-tab>          : <s><tab>     changed
X#
X^[^I   : <cmd>"col 1"<return>   : <Shift>+<Tab>
X^[ "[1~" : <cmd>          : <Home>
X^[ "?a" : <home>          : <ctl><home>
X^[ "[4~" : <cmd>"col 78"<return>  : <end>
X^[ "?b" : <cmd><home>     :  <ctl><end>
X#
X#
X^[ "[5~" : <-window>      :  <PgUp>        changed
X^[ "[6~" : <+window>      :  <PgDn>        changed
X#
X^[ "?e" : <cmd><right>    :  <ctl><right>
X^[ "?f" : <cmd><left>     :  <ctl><left>
X^[ "[2~" : <insert-toggle> :  <Insert>
X^[ "[3~" : <del-char>     :  <Delete>
X^[ "OA" : <up>            :  up arrow
X^[ "OB" : <down>          :  down arrow
X^[ "OC" : <right>         :  right arrow
X^[ "OD" : <left>          :  left arrow
END_OF_FILE
if test 3964 -ne `wc -c <'vtkbfile'`; then
    echo shar: \"'vtkbfile'\" unpacked with wrong size!
fi
# end of 'vtkbfile'
fi
echo shar: End of shell archive.
exit 0