lda@clyde.UUCP (Larry D. Auton) (01/20/84)
I'm glad to see this being asked. It gives me a chance to reply with a broader question. Does anyone have an "official" list of what each of the fields mean. Side effects are important, too. I have several versions of the manual page for termcap(5), none of which is complete. Please, if you have "the whole thing", post it, mail it, or put it on television. Something as crucial as this shouldn't be kept under wraps. -- Larry D. Auton AT&T Technologies WH 2C-122 (201)386-4272 ihnp4!clyde!lda
bmt@we53.UUCP (01/20/84)
What about attached printer on/off? We would like to use termcap routines
for a lot of our projects, but this has made it difficult.
Perhaps this has been discussed before, but how would we be able
to have attributes added to the standard set currently offered?
we53!bmt("Brian Thomas @ AT&T %s\n",whatever_my_company_is_called_this_week);
St. Louis, MO guy@rlgvax.UUCP (Guy Harris) (01/22/84)
The 4.2BSD "sysline" command uses some new termcap entries, which aren't
documented in "term(5)" in the 4.2BSD manual:
ts move cursor to status line; it is assumed that this takes one
parameter, which is the column of the status line to go to
fs move cursor from status line; it is assumed that this restores
the cursor position to what it was before the "ts"
ds display status line (this is assumed to be a toggle, alternately
turning it on and off)
es flag - if yes, can use escape sequences like those for turning on
reverse video and for cursor addressing on status line
There are lots of other capabilities which aren't documented; the problem is
that anybody can write a program which assumes a new capability, stick that
capability into /etc/termcap, and not tell anybody. Here is the list, as
of the 4.2BSD "termcap(5)" manual page:
Name Type Pad? Description
ae str (P) End alternate character set
al str (P*) Add new blank line
am bool Terminal has automatic margins
as str (P) Start alternate character set
bc str Backspace if not "^H"
bs bool Terminal can backspace with "^H"
bt str (P) Back tab
bw bool Backspace wraps from column 0 to last column
CC str Command character in prototype if terminal settable
cd str (P*) Clear to end of display
ce str (P) Clear to end of line
ch str (P) Like cm but horizontal motion only, line stays same
cl str (P*) Clear screen
cm str (P) Cursor motion
co num Number of columns in a line
cr str (P*) Carriage return, (default "^M")
cs str (P) Change scrolling region (vt100), like cm
cv str (P) Like ch but vertical only.
da bool Display may be retained above
dB num Number of millisec of bs delay needed
db bool Display may be retained below
dC num Number of millisec of cr delay needed
dc str (P*) Delete character
dF num Number of millisec of ff delay needed
dl str (P*) Delete line
dm str Delete mode (enter)
dN num Number of millisec of nl delay needed
do str Down one line
dT num Number of millisec of tab delay needed
ed str End delete mode
ei str End insert mode; give ":ei=:" if "ic"
eo str Can erase overstrikes with a blank
ff str (P*) Hardcopy terminal page eject (default "^L")
hc bool Hardcopy terminal
hd str Half-line down (forward 1/2 linefeed)
ho str Home cursor (if no "cm")
hu str Half-line up (reverse 1/2 linefeed)
hz str Hazeltine; can't print ~'s
ic str (P) Insert character
if str Name of file containing "is"
im bool Insert mode (enter); give ":im=:" if "ic"
in bool Insert mode distinguishes nulls on display
ip str (P*) Insert pad after character inserted
is str Terminal initialization string
k0-k9 str Sent by "other" function keys 0-9
kb str Sent by backspace key
kd str Sent by terminal down arrow key
ke str Out of "keypad transmit" mode
kh str Sent by home key
kl str Sent by terminal left arrow key
kn num Number of "other" keys
ko str Termcap entries for other non-function keys
kr str Sent by terminal right arrow key
ks str Put terminal in "keypad transmit" mode
ku str Sent by terminal up arrow key
l0-l9 str Labels on "other" function keys
li num Number of lines on screen or page
ll str Last line, first column (if no "cm")
ma str Arrow key map, used by vi version 2 only
mi bool Safe to move while in insert mode
ml str Memory lock on above cursor.
ms bool Safe to move while in standout and underline mode
mu str Memory unlock (turn off memory lock).
nc bool No correctly working carriage return (DM2500,H2000)
nd str Non-destructive space (cursor right)
nl str (P*) Newline character (default "\en")
ns bool Terminal is a \s-2CRT\s+2 but doesn't scroll.
os bool Terminal overstrikes
pc str Pad character (rather than null)
pt bool Has hardware tabs (may need to be set with "is")
se str End stand out mode
sf str (P) Scroll forwards
sg num Number of blank chars left by so or se
so str Begin stand out mode
sr str (P) Scroll reverse (backwards)
ta str (P) Tab (other than "^I" or with padding)
tc str Entry of similar terminal - must be last
te str String to end programs that use "cm"
ti str String to begin programs that use "cm"
uc str Underscore one char and move past it
ue str End underscore mode
ug num Number of blank chars left by us or ue
ul bool Terminal underlines even though it doesn't overstrike
up str Upline (cursor up)
us str Start underscore mode
vb str Visible bell (may not move cursor)
ve str Sequence to end open/visual mode
vs str Sequence to start open/visual mode
xb bool Beehive (f1=escape, f2=ctrl C)
xn bool A newline is ignored after a wrap (Concept)
xr bool Return acts like ce \er \en (Delta Data)
xs bool Standout not erased by writing over it (HP 264?)
xt bool Tabs are destructive, magic so char (Teleray 1061)
A question: do the capabilities "l0" through "l9", when the description refers
to "labels", merely describe what's written on they keycaps, or should a
program which can load up "softkeys", when the program is running on a terminal
with "softkeys" whose labels can be set from the computer, load those labels
into the "softkeys"? And, if so, what good are they, considering different
programs may want to put up different labels?
Guy Harris
{seismo,ihnp4,allegra}!rlgvax!guygam@proper.UUCP (Gordon Moffett) (01/25/84)
There are some useful terminal capabilities I would like to include in /etc/termcap, and would like to know if there exist any conventions for adding new fields/names. Specifically: Turn on/off status/25th line Enter/exit (load) status line. I could make up some names, of course, but wanted to check `out there' if someone else had created names for these which might become conven- tional.
faunt@hplabsc.UUCP (Doug Faunt) (01/27/84)
Er, uh, I don't know who defined it, but we are using MT here for terminals with META (EDIT) keys on them for use with various flavors of EMACS. We have HP2641's,45's,48's,22's,23's and 2382's, and Heath (Zenith) 19's modified for this, as well as AAA's that can come with them. ....!hplabs!faunt faunt.hplabs@rand-relay
mark@cbosgd.UUCP (Mark Horton) (01/31/84)
Caution - the master capability list uses "km" for the existence of a meta key, both in terminfo and termcap. (Also, smm (tc=mm) and rmm (tc=mo) turn the meta key on and off, if the terminal can do this - the Ambassador can.) Variable name TI TC has_meta_key, "km" "km" Has a meta key (shift, sets parity bit) meta_off, "rmm" "mo" Turn off "meta mode" meta_on, "smm" "mm" Turn on "meta mode" (8th bit) While I don't really care what goes into termcap, there is upward compatibility code in curses to handle termcap, and such code will understand km but not MT. I caution against writing code that uses MT - it will eventually burn you. The "km" capability is in System V (Release 2 and later) and also will probably be in 4.3BSD. (No, I can't easily change it to use MT instead, it's too late. System V Release 2 is out the door.) Mark
thomas@utah-gr.UUCP (Spencer W. Thomas) (02/03/84)
Mea culpa! I am the one, as far as I know, who invented the MT termcap entry. I promptly told Mark about it, and he said (quote filtered through the haze of memory) "Oh, I've already called that 'km'". But, alas, MT had slipped out the back door with some other software, so ... =Spencer
faunt@hplabsc.UUCP (Doug Faunt) (02/05/84)
MT seems to have come with Goslings EMACS.