adding new fields to termcap
Guy Harris
guy at rlgvax.UUCP
Sun Jan 22 14:44:43 AEST 1984
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!guy
More information about the Comp.unix.wizards
mailing list