xref: /freebsd-13.1/contrib/ncurses/include/Caps (revision 4a1a9510)
10e3d5408SPeter Wemm##############################################################################
2*4a1a9510SRong-En Fan# Copyright 2019,2020 Thomas E. Dickey                                       #
30e3d5408SPeter Wemm# Copyright 1998-2015,2016 Free Software Foundation, Inc.                    #
40e3d5408SPeter Wemm#                                                                            #
50e3d5408SPeter Wemm# Permission is hereby granted, free of charge, to any person obtaining a    #
60e3d5408SPeter Wemm# copy of this software and associated documentation files (the "Software"), #
70e3d5408SPeter Wemm# to deal in the Software without restriction, including without limitation  #
80e3d5408SPeter Wemm# the rights to use, copy, modify, merge, publish, distribute, distribute    #
90e3d5408SPeter Wemm# with modifications, sublicense, and/or sell copies of the Software, and to #
100e3d5408SPeter Wemm# permit persons to whom the Software is furnished to do so, subject to the  #
110e3d5408SPeter Wemm# following conditions:                                                      #
120e3d5408SPeter Wemm#                                                                            #
130e3d5408SPeter Wemm# The above copyright notice and this permission notice shall be included in #
140e3d5408SPeter Wemm# all copies or substantial portions of the Software.                        #
150e3d5408SPeter Wemm#                                                                            #
160e3d5408SPeter Wemm# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR #
170e3d5408SPeter Wemm# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,   #
180e3d5408SPeter Wemm# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL    #
190e3d5408SPeter Wemm# THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER      #
200e3d5408SPeter Wemm# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING    #
210e3d5408SPeter Wemm# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER        #
220e3d5408SPeter Wemm# DEALINGS IN THE SOFTWARE.                                                  #
230e3d5408SPeter Wemm#                                                                            #
240e3d5408SPeter Wemm# Except as contained in this notice, the name(s) of the above copyright     #
250e3d5408SPeter Wemm# holders shall not be used in advertising or otherwise to promote the sale, #
260e3d5408SPeter Wemm# use or other dealings in this Software without prior written               #
270e3d5408SPeter Wemm# authorization.                                                             #
280e3d5408SPeter Wemm##############################################################################
290e3d5408SPeter Wemm#
300e3d5408SPeter Wemm# Author: Zeyd M. Ben-Halim <[email protected]> 1992,1995
310e3d5408SPeter Wemm#    and: Eric S. Raymond <[email protected]>
32*4a1a9510SRong-En Fan#
330e3d5408SPeter Wemm# $Id: Caps,v 1.45 2020/02/02 23:34:34 tom Exp $
340e3d5408SPeter Wemm#
350e3d5408SPeter Wemm# This is the master termcap/terminfo capability table.
360e3d5408SPeter Wemm#
370e3d5408SPeter Wemm# This table is used to generate initializers for tables that drive tic,
380e3d5408SPeter Wemm# infocmp, and the library compilation code used to support the termcap
390e3d5408SPeter Wemm# compatibility hack.  It is also used to generate the tabular portion of the
400e3d5408SPeter Wemm# terminfo(5) man page; lines beginning with `#%' are passed through to become
410e3d5408SPeter Wemm# the terminfo table.
420e3d5408SPeter Wemm#
430e3d5408SPeter Wemm# This file has three major sections; a standard-capabilities table, two
440e3d5408SPeter Wemm# extension-capability tables, and a section of aliases declarations.
450e3d5408SPeter Wemm# The first two have the same format, as follows:
460e3d5408SPeter Wemm#
470e3d5408SPeter Wemm# FILE FORMAT
480e3d5408SPeter Wemm#
490e3d5408SPeter Wemm# Column 1: terminfo variable name
500e3d5408SPeter Wemm# Column 2: terminfo capability name
510e3d5408SPeter Wemm# Column 3: capability type (boolean, numeric, or string)
5239f2269fSPeter Wemm# Column 4: termcap capability name
5339f2269fSPeter Wemm# Column 5: KEY_xxx name, if any, `-' otherwise
5439f2269fSPeter Wemm# Column 6: value for KEY_xxx name, if any, `-' otherwise
550e3d5408SPeter Wemm# Column 7: Lead with `Y' if capability should be emitted in termcap
5639f2269fSPeter Wemm#           translations, `-' otherwise
570e3d5408SPeter Wemm# Column 8: capability description
5839f2269fSPeter Wemm#
590e3d5408SPeter Wemm# The codes following [Y-] in column 7 describe the versions of termcap which
600e3d5408SPeter Wemm# use the given capability.  This information is not used by the curses library
610e3d5408SPeter Wemm# proper; rather, it's there to help the terminfo maintainer avoid emitting
620e3d5408SPeter Wemm# termcap entry translations that are more than 1023 bytes long (and tank a
630e3d5408SPeter Wemm# lot of old termcap-using programs).  The codes read as follows:
640e3d5408SPeter Wemm#	B = mentioned in the BSD man page for 4.4BSD curses
650e3d5408SPeter Wemm#	C = used by the 4.4BSD curses library
660e3d5408SPeter Wemm#	G = mentioned in the documentation for GNU termcap
670e3d5408SPeter Wemm#	E = used by GNU Emacs
680e3d5408SPeter Wemm#	K = remove this terminfo capability when translating to standard format
690e3d5408SPeter Wemm# The important codes are C and E.  A cap with C or E should be preserved in
700e3d5408SPeter Wemm# translation if possible.  The problem is that preserving all such caps may
710e3d5408SPeter Wemm# lead to some termcap translations being too long.  The termcap maintainer
7239f2269fSPeter Wemm# has a bit of a juggling act to do...potential problem cases are marked with
730e3d5408SPeter Wemm# an asterisk (*).
740e3d5408SPeter Wemm#
750e3d5408SPeter Wemm# The aliases section has the following format:
760e3d5408SPeter Wemm#
770e3d5408SPeter Wemm# Column 1: either `capalias' or `infoalias'
780e3d5408SPeter Wemm# Column 2: name to be aliased
790e3d5408SPeter Wemm# Column 3: what name it should translate to.  The name IGNORE means it
800e3d5408SPeter Wemm#           should be discarded with a warning message.
810e3d5408SPeter Wemm# Column 4: name of the extension set (used for compiler warning messages)
820e3d5408SPeter Wemm# Column 5: capability description (usually an associated terminfo variable)
830e3d5408SPeter Wemm#
840e3d5408SPeter Wemm# HANDLING TERMCAP AND TERMINFO EXTENSIONS
850e3d5408SPeter Wemm#
860e3d5408SPeter Wemm# There are basically five different ways to handle termcap and terminfo
870e3d5408SPeter Wemm# extensions:
880e3d5408SPeter Wemm#
890e3d5408SPeter Wemm# 1. Don't list the capname here, or list it but comment it out (the latter
900e3d5408SPeter Wemm# is preferable; someone might want to handle it in the future).  If you do
910e3d5408SPeter Wemm# this, the capability will be treated as unknown and raise a warning from
920e3d5408SPeter Wemm# the compiler.
930e3d5408SPeter Wemm#
940e3d5408SPeter Wemm# 2. Alias it.  This is appropriate if the capability has the same meaning
950e3d5408SPeter Wemm# as an already-supported one.  The compiler will handle aliasing, emitting
960e3d5408SPeter Wemm# an appropriate informational message whenever an alias fires.
970e3d5408SPeter Wemm#
980e3d5408SPeter Wemm# 3. List it in the standard table.  You almost certainly do *not* want
990e3d5408SPeter Wemm# to do this -- the capabilities in that one, and their order, have been
1000e3d5408SPeter Wemm# carefully chosen to be SVr4-binary-compatible when they're written out
1010e3d5408SPeter Wemm# as a terminfo object, and breaking this would be bad.  It's up to the ncurses
1020e3d5408SPeter Wemm# library what to do with the terminfo data after it's read in.
1030e3d5408SPeter Wemm#
1040e3d5408SPeter Wemm# 4. List it in the aliases table with an IGNORE target field.  If you
1050e3d5408SPeter Wemm# do this, the capability will be ignored on input (though the user will
1060e3d5408SPeter Wemm# get a warning message about it).
1070e3d5408SPeter Wemm#
1080e3d5408SPeter Wemm# 5. List it in the extensions table. If you do this, the compiler will
1090e3d5408SPeter Wemm# silently accept the capability, but the curses library proper will never
1100e3d5408SPeter Wemm# see it (because it won't be written out as part of the terminfo object
1110e3d5408SPeter Wemm# format).  It's up to you what you have the compiler do with it.
1120e3d5408SPeter Wemm#
1130e3d5408SPeter Wemm# There are two opposite reasons to choose option 5.  One is when you want
1140e3d5408SPeter Wemm# to eat the capability silently and discard it when doing translations
1150e3d5408SPeter Wemm# to terminfo with tic -I.  Some very old obsolete BSD caps like :kn: are
1160e3d5408SPeter Wemm# in this class.  Nothing will ever use them again.
1170e3d5408SPeter Wemm#
1180e3d5408SPeter Wemm# More usually, you want the compiler to try to deduce something from the
1190e3d5408SPeter Wemm# capability value that it can use to translate it into your output format.
1200e3d5408SPeter Wemm# You'll need to write custom code, probably in postprocess_termcap() or
1210e3d5408SPeter Wemm# postprocess_terminfo(), to handle the translation.
1220e3d5408SPeter Wemm#
1230e3d5408SPeter Wemm# CONTROLLING ENTRY LENGTH
1240e3d5408SPeter Wemm#
1250e3d5408SPeter Wemm# Notes on specific elisions made to fit translations within 1023 bytes:
1260e3d5408SPeter Wemm#
1270e3d5408SPeter Wemm# Machines with IBM PC-like keyboards want to be able to define the following
1280e3d5408SPeter Wemm# keys: key_npage, key_ppage, key_home, key_ll (which is used for in termcap-
1290e3d5408SPeter Wemm# only environments for End or Home-Down), key_dc, and key_ic.  This is also
1300e3d5408SPeter Wemm# the set of keys the `joe' editor will be upset if it can't see.  So don't
1310e3d5408SPeter Wemm# trim those out of the set to be translated to termcap, or various users of
1320e3d5408SPeter Wemm# the termcap file will become irate.
1330e3d5408SPeter Wemm#
1340e3d5408SPeter Wemm# It might look tempting to leave those long init strings out of translations.
1350e3d5408SPeter Wemm# We can't do it (yet); 4.4BSD tput and tset use them.
1360e3d5408SPeter Wemm#
1370e3d5408SPeter Wemm# We retain the sgr capability in translation in spite of the fact that neither
1380e3d5408SPeter Wemm# 4.4BSD nor GNU Emacs uses it, because (a) some entry naming distinctions are
1390e3d5408SPeter Wemm# hard to understand without it, and (b) the entries in which it is long tend
1400e3d5408SPeter Wemm# to be older types that don't use up a lot of string space on function keys.
1410e3d5408SPeter Wemm# The tic(1) translation code will complain and elide it if it makes a critical
1420e3d5408SPeter Wemm# difference (there is special code in tic to recognize this situation).
1430e3d5408SPeter Wemm#
1440e3d5408SPeter Wemm# Yes, BSD tset(1) uses hpa.  We elide hpa/vpa anyway because the motion
1450e3d5408SPeter Wemm# optimizer in BSD curses didn't use them.  This omission seems to be the
1460e3d5408SPeter Wemm# single most effective one, it shortened the resolved length of all thirteen
1470e3d5408SPeter Wemm# problem entries in the 9.9.0 version of the terminfo master below critical.
1480e3d5408SPeter Wemm#
1490e3d5408SPeter Wemm# It would be nice to keep f11 and f12 for Emacs use, but a couple of termcap
1500e3d5408SPeter Wemm# translations go back over critical if we do this.  As 4.4BSD curses fades
1510e3d5408SPeter Wemm# into history and GNU termcap's application base shrinks towards being GNU
1520e3d5408SPeter Wemm# Emacs only, we'll probably elide out some BSD-only capabilities in order
1530e3d5408SPeter Wemm# to buy space for non-essentials Emacs is still using.  Capabilities high
1540e3d5408SPeter Wemm# on that hit list: rc, sc, uc.
1550e3d5408SPeter Wemm#
1560e3d5408SPeter Wemm#############################################################################
1570e3d5408SPeter Wemm#
1580e3d5408SPeter Wemm# STANDARD CAPABILITIES
1590e3d5408SPeter Wemm#
1600e3d5408SPeter Wemm#%The following is a complete table of the capabilities included in a
1610e3d5408SPeter Wemm#%terminfo description block and available to terminfo-using code.  In each
1620e3d5408SPeter Wemm#%line of the table,
1630e3d5408SPeter Wemm#%
1640e3d5408SPeter Wemm#%The \fBvariable\fR is the name by which the programmer (at the terminfo level)
1650e3d5408SPeter Wemm#%accesses the capability.
1660e3d5408SPeter Wemm#%
1670e3d5408SPeter Wemm#%The \fBcapname\fR is the short name used in the text of the database,
1680e3d5408SPeter Wemm#%and is used by a person updating the database.
1690e3d5408SPeter Wemm#%Whenever possible, capnames are chosen to be the same as or similar to
1700e3d5408SPeter Wemm#%the ANSI X3.64-1979 standard (now superseded by ECMA-48, which uses
1710e3d5408SPeter Wemm#%identical or very similar names).  Semantics are also intended to match
1720e3d5408SPeter Wemm#%those of the specification.
1730e3d5408SPeter Wemm#%
1740e3d5408SPeter Wemm#%The termcap code is the old
1750e3d5408SPeter Wemm#%.B termcap
1760e3d5408SPeter Wemm#%capability name (some capabilities are new, and have names which termcap
1770e3d5408SPeter Wemm#%did not originate).
1780e3d5408SPeter Wemm#%.P
1790e3d5408SPeter Wemm#%Capability names have no hard length limit, but an informal limit of 5
1800e3d5408SPeter Wemm#%characters has been adopted to keep them short and to allow the tabs in
1810e3d5408SPeter Wemm#%the source file
1820e3d5408SPeter Wemm#%.B Caps
1830e3d5408SPeter Wemm#%to line up nicely.
1840e3d5408SPeter Wemm#%
1850e3d5408SPeter Wemm#%Finally, the description field attempts to convey the semantics of the
1860e3d5408SPeter Wemm#%capability.  You may find some codes in the description field:
1870e3d5408SPeter Wemm#%.TP
1880e3d5408SPeter Wemm#%(P)
1890e3d5408SPeter Wemm#%indicates that padding may be specified
1900e3d5408SPeter Wemm#%.TP
1910e3d5408SPeter Wemm#%#[1-9]
1920e3d5408SPeter Wemm#%in the description field indicates that the string is passed through tparm with
1930e3d5408SPeter Wemm#%parms as given (#\fIi\fP).
1940e3d5408SPeter Wemm#%.TP
1950e3d5408SPeter Wemm#%(P*)
1960e3d5408SPeter Wemm#%indicates that padding may vary in proportion to the number of
1970e3d5408SPeter Wemm#%lines affected
1980e3d5408SPeter Wemm#%.TP
1990e3d5408SPeter Wemm#%(#\d\fIi\fP\u)
2000e3d5408SPeter Wemm#%indicates the \fIi\fP\uth\d parameter.
2010e3d5408SPeter Wemm#%
2020e3d5408SPeter Wemm#%.PP
2030e3d5408SPeter Wemm#% These are the boolean capabilities:
2040e3d5408SPeter Wemm#%
2050e3d5408SPeter Wemm#%.na
2060e3d5408SPeter Wemm#%.TS H
2070e3d5408SPeter Wemm#%center expand;
2080e3d5408SPeter Wemm#%c l l c
2090e3d5408SPeter Wemm#%c l l c
2100e3d5408SPeter Wemm#%lw25 lw6 lw2 lw20.
2110e3d5408SPeter Wemm#%\fBVariable	Cap-	TCap	Description\fR
21239f2269fSPeter Wemm#%\fBBooleans	name	Code\fR
21339f2269fSPeter Wemmauto_left_margin		bw	bool	bw	-	-	YB-G-	cub1 wraps from column 0 to last column
21439f2269fSPeter Wemmauto_right_margin		am	bool	am	-	-	YBCGE	terminal has automatic margins
21539f2269fSPeter Wemmno_esc_ctlc			xsb	bool	xb	-	-	YBCG-	beehive (f1=escape, f2=ctrl C)
21639f2269fSPeter Wemmceol_standout_glitch		xhp	bool	xs	-	-	YBCGE	standout not erased by overwriting (hp)
21739f2269fSPeter Wemmeat_newline_glitch		xenl	bool	xn	-	-	YBCGE	newline ignored after 80 cols (concept)
21839f2269fSPeter Wemmerase_overstrike		eo	bool	eo	-	-	YBCG-	can erase overstrikes with a blank
21939f2269fSPeter Wemmgeneric_type			gn	bool	gn	-	-	YB-G-	generic line type
22039f2269fSPeter Wemmhard_copy			hc	bool	hc	-	-	YBCG-	hardcopy terminal
22139f2269fSPeter Wemmhas_meta_key			km	bool	km	-	-	YB-GE	Has a meta key (i.e., sets 8th-bit)
22239f2269fSPeter Wemmhas_status_line			hs	bool	hs	-	-	YB-G-	has extra status line
22339f2269fSPeter Wemminsert_null_glitch		in	bool	in	-	-	YBCGE	insert mode distinguishes nulls
22439f2269fSPeter Wemmmemory_above			da	bool	da	-	-	YBCG-	display may be retained above the screen
22539f2269fSPeter Wemmmemory_below			db	bool	db	-	-	YB-GE	display may be retained below the screen
22639f2269fSPeter Wemmmove_insert_mode		mir	bool	mi	-	-	YBCGE	safe to move while in insert mode
22739f2269fSPeter Wemmmove_standout_mode		msgr	bool	ms	-	-	YBCGE	safe to move while in standout mode
22839f2269fSPeter Wemmover_strike			os	bool	os	-	-	YBCG-	terminal can overstrike
22939f2269fSPeter Wemmstatus_line_esc_ok		eslok	bool	es	-	-	YB-G-	escape can be used on the status line
23039f2269fSPeter Wemmdest_tabs_magic_smso		xt	bool	xt	-	-	YBCGE	tabs destructive, magic so char (t1061)
23139f2269fSPeter Wemmtilde_glitch			hz	bool	hz	-	-	YB-GE	cannot print ~'s (Hazeltine)
23239f2269fSPeter Wemmtransparent_underline		ul	bool	ul	-	-	YBCGE	underline character overstrikes
23339f2269fSPeter Wemmxon_xoff			xon	bool	xo	-	-	YB---	terminal uses xon/xoff handshaking
23439f2269fSPeter Wemmneeds_xon_xoff			nxon	bool	nx	-	-	-----	padding will not work, xon/xoff required
23539f2269fSPeter Wemmprtr_silent			mc5i	bool	5i	-	-	-----	printer will not echo on screen
23639f2269fSPeter Wemmhard_cursor			chts	bool	HC	-	-	-----	cursor is hard to see
23739f2269fSPeter Wemmnon_rev_rmcup			nrrmc	bool	NR	-	-	-----	smcup does not reverse rmcup
23839f2269fSPeter Wemmno_pad_char			npc	bool	NP	-	-	-----	pad character does not exist
23939f2269fSPeter Wemmnon_dest_scroll_region		ndscr	bool	ND	-	-	-----	scrolling region is non-destructive
24039f2269fSPeter Wemmcan_change			ccc	bool	cc	-	-	-----	terminal can re-define existing colors
24139f2269fSPeter Wemmback_color_erase		bce	bool	ut	-	-	-----	screen erased with background color
24239f2269fSPeter Wemmhue_lightness_saturation	hls	bool	hl	-	-	-----	terminal uses only HLS color notation (Tektronix)
24339f2269fSPeter Wemmcol_addr_glitch			xhpa	bool	YA	-	-	-----	only positive motion for hpa/mhpa caps
24439f2269fSPeter Wemmcr_cancels_micro_mode		crxm	bool	YB	-	-	-----	using cr turns off micro mode
24539f2269fSPeter Wemmhas_print_wheel			daisy	bool	YC	-	-	-----	printer needs operator to change character set
24639f2269fSPeter Wemmrow_addr_glitch			xvpa	bool	YD	-	-	-----	only positive motion for vpa/mvpa caps
24739f2269fSPeter Wemmsemi_auto_right_margin		sam	bool	YE	-	-	-----	printing in last column causes cr
24839f2269fSPeter Wemmcpi_changes_res			cpix	bool	YF	-	-	-----	changing character pitch changes resolution
2490e3d5408SPeter Wemmlpi_changes_res			lpix	bool	YG	-	-	-----	changing line pitch changes resolution
2500e3d5408SPeter Wemm#%.TE
2510e3d5408SPeter Wemm#%.ad
2520e3d5408SPeter Wemm#%
2530e3d5408SPeter Wemm#%These are the numeric capabilities:
2540e3d5408SPeter Wemm#%
2550e3d5408SPeter Wemm#%.na
2560e3d5408SPeter Wemm#%.TS H
2570e3d5408SPeter Wemm#%center expand;
2580e3d5408SPeter Wemm#%c l l c
2590e3d5408SPeter Wemm#%c l l c
2600e3d5408SPeter Wemm#%lw25 lw6 lw2 lw20.
2610e3d5408SPeter Wemm#%\fBVariable	Cap-	TCap	Description\fR
26239f2269fSPeter Wemm#%\fBNumeric	name	Code\fR
26339f2269fSPeter Wemmcolumns				cols	num	co	-	-	YBCGE	number of columns in a line
26439f2269fSPeter Wemminit_tabs			it	num	it	-	-	YB-G-	tabs initially every # spaces
26539f2269fSPeter Wemmlines				lines	num	li	-	-	YBCGE	number of lines on screen or page
26639f2269fSPeter Wemmlines_of_memory			lm	num	lm	-	-	YB-G-	lines of memory if > line. 0 means varies
26739f2269fSPeter Wemmmagic_cookie_glitch		xmc	num	sg	-	-	YBCGE	number of blank characters left by smso or rmso
26839f2269fSPeter Wemmpadding_baud_rate		pb	num	pb	-	-	YB-GE	lowest baud rate where padding needed
26939f2269fSPeter Wemmvirtual_terminal		vt	num	vt	-	-	YB---	virtual terminal number (CB/unix)
27039f2269fSPeter Wemmwidth_status_line		wsl	num	ws	-	-	YB-G-	number of columns in status line
27139f2269fSPeter Wemmnum_labels			nlab	num	Nl	-	-	-----	number of labels on screen
27239f2269fSPeter Wemmlabel_height			lh	num	lh	-	-	-----	rows in each label
27339f2269fSPeter Wemmlabel_width			lw	num	lw	-	-	-----	columns in each label
27439f2269fSPeter Wemmmax_attributes			ma	num	ma	-	-	YBC--	maximum combined attributes terminal can handle
2750e3d5408SPeter Wemmmaximum_windows			wnum	num	MW	-	-	-----	maximum number of definable windows
27639f2269fSPeter Wemm# These came in with SVr4's color support
27739f2269fSPeter Wemmmax_colors			colors	num	Co	-	-	-----	maximum number of colors on screen
27839f2269fSPeter Wemmmax_pairs			pairs	num	pa	-	-	-----	maximum number of color-pairs on the screen
2790e3d5408SPeter Wemmno_color_video			ncv	num	NC	-	-	-----	video attributes that cannot be used with colors
2800e3d5408SPeter Wemm#%.TE
2810e3d5408SPeter Wemm#%.ad
2820e3d5408SPeter Wemm#%
2830e3d5408SPeter Wemm#%The following numeric capabilities are present in the SVr4.0 term structure,
2840e3d5408SPeter Wemm#%but are not yet documented in the man page.  They came in with SVr4's
2850e3d5408SPeter Wemm#%printer support.
2860e3d5408SPeter Wemm#%
2870e3d5408SPeter Wemm#%.na
2880e3d5408SPeter Wemm#%.TS H
2890e3d5408SPeter Wemm#%center expand;
2900e3d5408SPeter Wemm#%c l l c
2910e3d5408SPeter Wemm#%c l l c
2920e3d5408SPeter Wemm#%lw25 lw6 lw2 lw20.
2930e3d5408SPeter Wemm#%\fBVariable	Cap-	TCap	Description\fR
29439f2269fSPeter Wemm#%\fBNumeric	name	Code\fR
29539f2269fSPeter Wemmbuffer_capacity			bufsz	num	Ya	-	-	-----	numbers of bytes buffered before printing
29639f2269fSPeter Wemmdot_vert_spacing		spinv	num	Yb	-	-	-----	spacing of pins vertically in pins per inch
29739f2269fSPeter Wemmdot_horz_spacing		spinh	num	Yc	-	-	-----	spacing of dots horizontally in dots per inch
29839f2269fSPeter Wemmmax_micro_address		maddr	num	Yd	-	-	-----	maximum value in micro_..._address
29939f2269fSPeter Wemmmax_micro_jump			mjump	num	Ye	-	-	-----	maximum value in parm_..._micro
30039f2269fSPeter Wemmmicro_col_size			mcs	num	Yf	-	-	-----	character step size when in micro mode
30139f2269fSPeter Wemmmicro_line_size			mls	num	Yg	-	-	-----	line step size when in micro mode
30239f2269fSPeter Wemmnumber_of_pins			npins	num	Yh	-	-	-----	numbers of pins in print-head
30339f2269fSPeter Wemmoutput_res_char			orc	num	Yi	-	-	-----	horizontal resolution in units per line
30439f2269fSPeter Wemmoutput_res_line			orl	num	Yj	-	-	-----	vertical resolution in units per line
30539f2269fSPeter Wemmoutput_res_horz_inch		orhi	num	Yk	-	-	-----	horizontal resolution in units per inch
30639f2269fSPeter Wemmoutput_res_vert_inch		orvi	num	Yl	-	-	-----	vertical resolution in units per inch
30739f2269fSPeter Wemmprint_rate			cps	num	Ym	-	-	-----	print rate in characters per second
30839f2269fSPeter Wemmwide_char_size			widcs	num	Yn	-	-	-----	character step size when in double wide mode
30939f2269fSPeter Wemmbuttons				btns	num	BT	-	-	-----	number of buttons on mouse
31039f2269fSPeter Wemmbit_image_entwining		bitwin	num	Yo	-	-	-----	number of passes for each bit-image row
3110e3d5408SPeter Wemmbit_image_type			bitype	num	Yp	-	-	-----	type of bit-image device
3120e3d5408SPeter Wemm#%.TE
3130e3d5408SPeter Wemm#%.ad
3140e3d5408SPeter Wemm#%
3150e3d5408SPeter Wemm#%These are the string capabilities:
3160e3d5408SPeter Wemm#%
3170e3d5408SPeter Wemm#%.na
3180e3d5408SPeter Wemm#%.TS H
3190e3d5408SPeter Wemm#%center expand;
3200e3d5408SPeter Wemm#%c l l c
3210e3d5408SPeter Wemm#%c l l c
3220e3d5408SPeter Wemm#%lw25 lw6 lw2 lw20.
3230e3d5408SPeter Wemm#%\fBVariable	Cap-	TCap	Description\fR
32439f2269fSPeter Wemm#%\fBString	name	Code\fR
32539f2269fSPeter Wemmback_tab			cbt	str	bt	-		-	YBCGE	back tab (P)
32639f2269fSPeter Wemmbell				bel	str	bl	-		-	YB-GE	audible signal (bell) (P)
32739f2269fSPeter Wemmcarriage_return			cr	str	cr	-		-	YBCGE	carriage return (P*) (P*)
32839f2269fSPeter Wemmchange_scroll_region		csr	str	cs	-		-	YBCGE	change region to line #1 to line #2 (P)
32939f2269fSPeter Wemmclear_all_tabs			tbc	str	ct	-		-	YB-G-	clear all tab stops (P)
33039f2269fSPeter Wemmclear_screen			clear	str	cl	-		-	YBCGE	clear screen and home cursor (P*)
33139f2269fSPeter Wemmclr_eol				el	str	ce	-		-	YBCGE	clear to end of line (P)
33239f2269fSPeter Wemmclr_eos				ed	str	cd	-		-	YBCGE	clear to end of screen (P*)
33339f2269fSPeter Wemmcolumn_address			hpa	str	ch	-		-	-B-GE*	horizontal position #1, absolute (P)
33439f2269fSPeter Wemmcommand_character		cmdch	str	CC	-		-	YB-G-	terminal settable cmd character in prototype !?
33539f2269fSPeter Wemmcursor_address			cup	str	cm	-		-	YBCGE	move to row #1 columns #2
33639f2269fSPeter Wemmcursor_down			cud1	str	do	-		-	YBCGE	down one line
33739f2269fSPeter Wemmcursor_home			home	str	ho	-		-	YBCGE	home cursor (if no cup)
33839f2269fSPeter Wemmcursor_invisible		civis	str	vi	-		-	YB-G-	make cursor invisible
33939f2269fSPeter Wemmcursor_left			cub1	str	le	-		-	YBCGE	move left one space
34039f2269fSPeter Wemmcursor_mem_address		mrcup	str	CM	-		-	YB-G-	memory relative cursor addressing, move to row #1 columns #2
34139f2269fSPeter Wemmcursor_normal			cnorm	str	ve	-		-	YBCGE	make cursor appear normal (undo civis/cvvis)
34239f2269fSPeter Wemmcursor_right			cuf1	str	nd	-		-	YBCGE	non-destructive space (move right one space)
34339f2269fSPeter Wemmcursor_to_ll			ll	str	ll	-		-	YBCGE	last line, first column (if no cup)
34439f2269fSPeter Wemmcursor_up			cuu1	str	up	-		-	YBCGE	up one line
34539f2269fSPeter Wemmcursor_visible			cvvis	str	vs	-		-	YBCGE	make cursor very visible
34639f2269fSPeter Wemmdelete_character		dch1	str	dc	-		-	YBCGE	delete character (P*)
34739f2269fSPeter Wemmdelete_line			dl1	str	dl	-		-	YBCGE	delete line (P*)
34839f2269fSPeter Wemmdis_status_line			dsl	str	ds	-		-	YB-G-	disable status line
34939f2269fSPeter Wemmdown_half_line			hd	str	hd	-		-	YB-G-	half a line down
35039f2269fSPeter Wemmenter_alt_charset_mode		smacs	str	as	-		-	YB-G-	start alternate character set (P)
35139f2269fSPeter Wemmenter_blink_mode		blink	str	mb	-		-	YB-G-	turn on blinking
35239f2269fSPeter Wemmenter_bold_mode			bold	str	md	-		-	YB-G-	turn on bold (extra bright) mode
35339f2269fSPeter Wemmenter_ca_mode			smcup	str	ti	-		-	YBCGE	string to start programs using cup
35439f2269fSPeter Wemmenter_delete_mode		smdc	str	dm	-		-	YBCGE	enter delete mode
35539f2269fSPeter Wemmenter_dim_mode			dim	str	mh	-		-	YB-G-	turn on half-bright mode
35639f2269fSPeter Wemmenter_insert_mode		smir	str	im	-		-	YBCGE	enter insert mode
35739f2269fSPeter Wemmenter_secure_mode		invis	str	mk	-		-	-B-G-*	turn on blank mode (characters invisible)
35839f2269fSPeter Wemmenter_protected_mode		prot	str	mp	-		-	-B-G-*	turn on protected mode
35939f2269fSPeter Wemmenter_reverse_mode		rev	str	mr	-		-	YB-G-	turn on reverse video mode
36039f2269fSPeter Wemmenter_standout_mode		smso	str	so	-		-	YBCGE	begin standout mode
36139f2269fSPeter Wemmenter_underline_mode		smul	str	us	-		-	YBCGE	begin underline mode
36239f2269fSPeter Wemmerase_chars			ech	str	ec	-		-	YB-G-	erase #1 characters (P)
36339f2269fSPeter Wemmexit_alt_charset_mode		rmacs	str	ae	-		-	YB-G-	end alternate character set (P)
36439f2269fSPeter Wemmexit_attribute_mode		sgr0	str	me	-		-	YB-GE	turn off all attributes
36539f2269fSPeter Wemmexit_ca_mode			rmcup	str	te	-		-	YBCGE	strings to end programs using cup
36639f2269fSPeter Wemmexit_delete_mode		rmdc	str	ed	-		-	YBCGE	end delete mode
36739f2269fSPeter Wemmexit_insert_mode		rmir	str	ei	-		-	YBCGE	exit insert mode
36839f2269fSPeter Wemmexit_standout_mode		rmso	str	se	-		-	YBCGE	exit standout mode
36939f2269fSPeter Wemmexit_underline_mode		rmul	str	ue	-		-	YBCGE	exit underline mode
37039f2269fSPeter Wemmflash_screen			flash	str	vb	-		-	YBCGE	visible bell (may not move cursor)
37139f2269fSPeter Wemmform_feed			ff	str	ff	-		-	YB-G-	hardcopy terminal page eject (P*)
37239f2269fSPeter Wemmfrom_status_line		fsl	str	fs	-		-	YB-G-	return from status line
37339f2269fSPeter Wemminit_1string			is1	str	i1	-		-	YB-G-	initialization string
37439f2269fSPeter Wemminit_2string			is2	str	is	-		-	YB-G-	initialization string
37539f2269fSPeter Wemminit_3string			is3	str	i3	-		-	YB-G-	initialization string
37639f2269fSPeter Wemminit_file			if	str	if	-		-	YB-G-	name of initialization file
37739f2269fSPeter Wemminsert_character		ich1	str	ic	-		-	YBCGE	insert character (P)
37839f2269fSPeter Wemminsert_line			il1	str	al	-		-	YBCGE	insert line (P*)
37939f2269fSPeter Wemminsert_padding			ip	str	ip	-		-	YBCGE	insert padding after inserted character
38039f2269fSPeter Wemmkey_backspace			kbs	str	kb	KEY_BACKSPACE	0407	YB-G-	backspace key
38139f2269fSPeter Wemmkey_catab			ktbc	str	ka	KEY_CATAB	0526	-B-G-*	clear-all-tabs key
38239f2269fSPeter Wemmkey_clear			kclr	str	kC	KEY_CLEAR	0515	-B-G-*	clear-screen or erase key
38339f2269fSPeter Wemmkey_ctab			kctab	str	kt	KEY_CTAB	0525	-B-G-*	clear-tab key
38439f2269fSPeter Wemmkey_dc				kdch1	str	kD	KEY_DC		0512	YB-G-	delete-character key
38539f2269fSPeter Wemmkey_dl				kdl1	str	kL	KEY_DL		0510	-B-G-*	delete-line key
38639f2269fSPeter Wemmkey_down			kcud1	str	kd	KEY_DOWN	0402	YBCGE	down-arrow key
38739f2269fSPeter Wemmkey_eic				krmir	str	kM	KEY_EIC		0514	-B-G-*	sent by rmir or smir in insert mode
38839f2269fSPeter Wemmkey_eol				kel	str	kE	KEY_EOL		0517	-B-G-*	clear-to-end-of-line key
38939f2269fSPeter Wemmkey_eos				ked	str	kS	KEY_EOS		0516	-B-G-*	clear-to-end-of-screen key
39039f2269fSPeter Wemmkey_f0				kf0	str	k0	KEY_F(0)	0410	YBCGE	F0 function key
39139f2269fSPeter Wemmkey_f1				kf1	str	k1	KEY_F(1)	-	YBCGE	F1 function key
39239f2269fSPeter Wemmkey_f10				kf10	str	k;	KEY_F(10)	-	----E	F10 function key
39339f2269fSPeter Wemmkey_f2				kf2	str	k2	KEY_F(2)	-	YBCGE	F2 function key
39439f2269fSPeter Wemmkey_f3				kf3	str	k3	KEY_F(3)	-	YBCGE	F3 function key
39539f2269fSPeter Wemmkey_f4				kf4	str	k4	KEY_F(4)	-	YBCGE	F4 function key
39639f2269fSPeter Wemmkey_f5				kf5	str	k5	KEY_F(5)	-	YBCGE	F5 function key
39739f2269fSPeter Wemmkey_f6				kf6	str	k6	KEY_F(6)	-	YBCGE	F6 function key
39839f2269fSPeter Wemmkey_f7				kf7	str	k7	KEY_F(7)	-	YBCGE	F7 function key
39939f2269fSPeter Wemmkey_f8				kf8	str	k8	KEY_F(8)	-	YBCGE	F8 function key
40039f2269fSPeter Wemmkey_f9				kf9	str	k9	KEY_F(9)	-	YBCGE	F9 function key
40139f2269fSPeter Wemmkey_home			khome	str	kh	KEY_HOME	0406	YBCGE	home key
40239f2269fSPeter Wemmkey_ic				kich1	str	kI	KEY_IC		0513	YB-GE	insert-character key
40339f2269fSPeter Wemmkey_il				kil1	str	kA	KEY_IL		0511	-B-G-*	insert-line key
40439f2269fSPeter Wemmkey_left			kcub1	str	kl	KEY_LEFT	0404	YBCGE	left-arrow key
40539f2269fSPeter Wemmkey_ll				kll	str	kH	KEY_LL		0533	YB-G-	lower-left key (home down)
40639f2269fSPeter Wemmkey_npage			knp	str	kN	KEY_NPAGE	0522	YB-GE	next-page key
40739f2269fSPeter Wemmkey_ppage			kpp	str	kP	KEY_PPAGE	0523	YB-GE	previous-page key
40839f2269fSPeter Wemmkey_right			kcuf1	str	kr	KEY_RIGHT	0405	YBCGE	right-arrow key
40939f2269fSPeter Wemmkey_sf				kind	str	kF	KEY_SF		0520	-B-G-*	scroll-forward key
41039f2269fSPeter Wemmkey_sr				kri	str	kR	KEY_SR		0521	-B-G-*	scroll-backward key
41139f2269fSPeter Wemmkey_stab			khts	str	kT	KEY_STAB	0524	-B-G-*	set-tab key
41239f2269fSPeter Wemmkey_up				kcuu1	str	ku	KEY_UP		0403	YBCGE	up-arrow key
41339f2269fSPeter Wemmkeypad_local			rmkx	str	ke	-		-	YBCGE	leave 'keyboard_transmit' mode
41439f2269fSPeter Wemmkeypad_xmit			smkx	str	ks	-		-	YBCGE	enter 'keyboard_transmit' mode
41539f2269fSPeter Wemmlab_f0				lf0	str	l0	-		-	-B-G-*	label on function key f0 if not f0
41639f2269fSPeter Wemmlab_f1				lf1	str	l1	-		-	-B-G-*	label on function key f1 if not f1
41739f2269fSPeter Wemmlab_f10				lf10	str	la	-		-	-----	label on function key f10 if not f10
41839f2269fSPeter Wemmlab_f2				lf2	str	l2	-		-	-B-G-*	label on function key f2 if not f2
41939f2269fSPeter Wemmlab_f3				lf3	str	l3	-		-	-B-G-*	label on function key f3 if not f3
42039f2269fSPeter Wemmlab_f4				lf4	str	l4	-		-	-B-G-*	label on function key f4 if not f4
42139f2269fSPeter Wemmlab_f5				lf5	str	l5	-		-	-B-G-*	label on function key f5 if not f5
42239f2269fSPeter Wemmlab_f6				lf6	str	l6	-		-	-B-G-*	label on function key f6 if not f6
42339f2269fSPeter Wemmlab_f7				lf7	str	l7	-		-	-B-G-*	label on function key f7 if not f7
42439f2269fSPeter Wemmlab_f8				lf8	str	l8	-		-	-B-G-*	label on function key f8 if not f8
42539f2269fSPeter Wemmlab_f9				lf9	str	l9	-		-	-B-G-*	label on function key f9 if not f9
42639f2269fSPeter Wemmmeta_off			rmm	str	mo	-		-	YB-G-*	turn off meta mode
42739f2269fSPeter Wemmmeta_on				smm	str	mm	-		-	YB-G-*	turn on meta mode (8th-bit on)
42839f2269fSPeter Wemmnewline				nel	str	nw	-		-	YB-G-*	newline (behave like cr followed by lf)
42939f2269fSPeter Wemmpad_char			pad	str	pc	-		-	YBCGE	padding char (instead of null)
43039f2269fSPeter Wemmparm_dch			dch	str	DC	-		-	YB-GE	delete #1 characters (P*)
43139f2269fSPeter Wemmparm_delete_line		dl	str	DL	-		-	YBCGE	delete #1 lines (P*)
43239f2269fSPeter Wemmparm_down_cursor		cud	str	DO	-		-	YBCGE	down #1 lines (P*)
43339f2269fSPeter Wemmparm_ich			ich	str	IC	-		-	YB-GE	insert #1 characters (P*)
43439f2269fSPeter Wemmparm_index			indn	str	SF	-		-	YBCG-	scroll forward #1 lines (P)
43539f2269fSPeter Wemmparm_insert_line		il	str	AL	-		-	YBCGE	insert #1 lines (P*)
43639f2269fSPeter Wemmparm_left_cursor		cub	str	LE	-		-	YBCGE	move #1 characters to the left (P)
43739f2269fSPeter Wemmparm_right_cursor		cuf	str	RI	-		-	YBCGE	move #1 characters to the right (P*)
43839f2269fSPeter Wemmparm_rindex			rin	str	SR	-		-	YBCG-	scroll back #1 lines (P)
43939f2269fSPeter Wemmparm_up_cursor			cuu	str	UP	-		-	YBCGE	up #1 lines (P*)
44039f2269fSPeter Wemmpkey_key			pfkey	str	pk	-		-	-B---	program function key #1 to type string #2
44139f2269fSPeter Wemmpkey_local			pfloc	str	pl	-		-	-B---	program function key #1 to execute string #2
44239f2269fSPeter Wemmpkey_xmit			pfx	str	px	-		-	-B---	program function key #1 to transmit string #2
44339f2269fSPeter Wemmprint_screen			mc0	str	ps	-		-	-B-G-*	print contents of screen
44439f2269fSPeter Wemmprtr_off			mc4	str	pf	-		-	-B-G-*	turn off printer
44539f2269fSPeter Wemmprtr_on				mc5	str	po	-		-	-B-G-*	turn on printer
44639f2269fSPeter Wemmrepeat_char			rep	str	rp	-		-	YB-GE	repeat char #1 #2 times (P*)
44739f2269fSPeter Wemmreset_1string			rs1	str	r1	-		-	-B---	reset string
44839f2269fSPeter Wemmreset_2string			rs2	str	r2	-		-	-B---	reset string
44939f2269fSPeter Wemmreset_3string			rs3	str	r3	-		-	-B---	reset string
45039f2269fSPeter Wemmreset_file			rf	str	rf	-		-	-B---	name of reset file
45139f2269fSPeter Wemmrestore_cursor			rc	str	rc	-		-	YBCG-	restore cursor to position of last save_cursor
45239f2269fSPeter Wemmrow_address			vpa	str	cv	-		-	-B-GE*	vertical position #1 absolute (P)
45339f2269fSPeter Wemmsave_cursor			sc	str	sc	-		-	YBCG-	save current cursor position (P)
45439f2269fSPeter Wemmscroll_forward			ind	str	sf	-		-	YBCGE	scroll text up (P)
45539f2269fSPeter Wemmscroll_reverse			ri	str	sr	-		-	YBCGE	scroll text down (P)
45639f2269fSPeter Wemmset_attributes			sgr	str	sa	-		-	YB-G-	define video attributes #1-#9 (PG9)
45739f2269fSPeter Wemmset_tab				hts	str	st	-		-	YB-G-	set a tab in every row, current columns
45839f2269fSPeter Wemmset_window			wind	str	wi	-		-	-B-GE	current window is lines #1-#2 cols #3-#4
45939f2269fSPeter Wemmtab				ht	str	ta	-		-	YBCGE	tab to next 8-space hardware tab stop
46039f2269fSPeter Wemmto_status_line			tsl	str	ts	-		-	YB-G-	move to status line, column #1
46139f2269fSPeter Wemmunderline_char			uc	str	uc	-		-	YBCG-	underline char and move past it
46239f2269fSPeter Wemmup_half_line			hu	str	hu	-		-	YB-G-	half a line up
46339f2269fSPeter Wemminit_prog			iprog	str	iP	-		-	-B---	path name of program for initialization
46439f2269fSPeter Wemmkey_a1				ka1	str	K1	KEY_A1		0534	YB-GE	upper left of keypad
46539f2269fSPeter Wemmkey_a3				ka3	str	K3	KEY_A3		0535	YB-GE	upper right of keypad
46639f2269fSPeter Wemmkey_b2				kb2	str	K2	KEY_B2		0536	YB-GE	center of keypad
46739f2269fSPeter Wemmkey_c1				kc1	str	K4	KEY_C1		0537	YB-GE	lower left of keypad
46839f2269fSPeter Wemmkey_c3				kc3	str	K5	KEY_C3		0540	YB-GE	lower right of keypad
4690e3d5408SPeter Wemmprtr_non			mc5p	str	pO	-		-	-B-G-*	turn on printer for #1 bytes
4700e3d5408SPeter Wemm#
4710e3d5408SPeter Wemm# SVr1 capabilities stop here.	IBM's version of terminfo is the same as
4720e3d5408SPeter Wemm# SVr4 up to this point, but has a different set afterwards.
47339f2269fSPeter Wemm#
47439f2269fSPeter Wemmchar_padding			rmp	str	rP	-		-	-----	like ip but when in insert mode
47539f2269fSPeter Wemmacs_chars			acsc	str	ac	-		-	-----	graphics charset pairs, based on vt100
47639f2269fSPeter Wemmplab_norm			pln	str	pn	-		-	-----	program label #1 to show string #2
47739f2269fSPeter Wemmkey_btab			kcbt	str	kB	KEY_BTAB	0541	-----	back-tab key
47839f2269fSPeter Wemmenter_xon_mode			smxon	str	SX	-		-	-----	turn on xon/xoff handshaking
47939f2269fSPeter Wemmexit_xon_mode			rmxon	str	RX	-		-	-----	turn off xon/xoff handshaking
48039f2269fSPeter Wemmenter_am_mode			smam	str	SA	-		-	-----	turn on automatic margins
48139f2269fSPeter Wemmexit_am_mode			rmam	str	RA	-		-	-----	turn off automatic margins
48239f2269fSPeter Wemmxon_character			xonc	str	XN	-		-	-----	XON character
48339f2269fSPeter Wemmxoff_character			xoffc	str	XF	-		-	-----	XOFF character
48439f2269fSPeter Wemmena_acs				enacs	str	eA	-		-	-----	enable alternate char set
48539f2269fSPeter Wemmlabel_on			smln	str	LO	-		-	-----	turn on soft labels
48639f2269fSPeter Wemmlabel_off			rmln	str	LF	-		-	-----	turn off soft labels
48739f2269fSPeter Wemmkey_beg				kbeg	str	@1	KEY_BEG		0542	-----	begin key
48839f2269fSPeter Wemmkey_cancel			kcan	str	@2	KEY_CANCEL	0543	-----	cancel key
48939f2269fSPeter Wemmkey_close			kclo	str	@3	KEY_CLOSE	0544	-----	close key
49039f2269fSPeter Wemmkey_command			kcmd	str	@4	KEY_COMMAND	0545	-----	command key
49139f2269fSPeter Wemmkey_copy			kcpy	str	@5	KEY_COPY	0546	-----	copy key
49239f2269fSPeter Wemmkey_create			kcrt	str	@6	KEY_CREATE	0547	-----	create key
49339f2269fSPeter Wemmkey_end				kend	str	@7	KEY_END		0550	-----	end key
49439f2269fSPeter Wemmkey_enter			kent	str	@8	KEY_ENTER	0527	-----	enter/send key
49539f2269fSPeter Wemmkey_exit			kext	str	@9	KEY_EXIT	0551	-----	exit key
49639f2269fSPeter Wemmkey_find			kfnd	str	@0	KEY_FIND	0552	-----	find key
49739f2269fSPeter Wemmkey_help			khlp	str	%1	KEY_HELP	0553	-----	help key
49839f2269fSPeter Wemmkey_mark			kmrk	str	%2	KEY_MARK	0554	-----	mark key
49939f2269fSPeter Wemmkey_message			kmsg	str	%3	KEY_MESSAGE	0555	-----	message key
50039f2269fSPeter Wemmkey_move			kmov	str	%4	KEY_MOVE	0556	-----	move key
50139f2269fSPeter Wemmkey_next			knxt	str	%5	KEY_NEXT	0557	-----	next key
50239f2269fSPeter Wemmkey_open			kopn	str	%6	KEY_OPEN	0560	-----	open key
50339f2269fSPeter Wemmkey_options			kopt	str	%7	KEY_OPTIONS	0561	-----	options key
50439f2269fSPeter Wemmkey_previous			kprv	str	%8	KEY_PREVIOUS	0562	-----	previous key
50539f2269fSPeter Wemmkey_print			kprt	str	%9	KEY_PRINT	0532	-----	print key
50639f2269fSPeter Wemmkey_redo			krdo	str	%0	KEY_REDO	0563	-----	redo key
50739f2269fSPeter Wemmkey_reference			kref	str	&1	KEY_REFERENCE	0564	-----	reference key
50839f2269fSPeter Wemmkey_refresh			krfr	str	&2	KEY_REFRESH	0565	-----	refresh key
50939f2269fSPeter Wemmkey_replace			krpl	str	&3	KEY_REPLACE	0566	-----	replace key
51039f2269fSPeter Wemmkey_restart			krst	str	&4	KEY_RESTART	0567	-----	restart key
51139f2269fSPeter Wemmkey_resume			kres	str	&5	KEY_RESUME	0570	-----	resume key
51239f2269fSPeter Wemmkey_save			ksav	str	&6	KEY_SAVE	0571	-----	save key
51339f2269fSPeter Wemmkey_suspend			kspd	str	&7	KEY_SUSPEND	0627	-----	suspend key
51439f2269fSPeter Wemmkey_undo			kund	str	&8	KEY_UNDO	0630	-----	undo key
51539f2269fSPeter Wemmkey_sbeg			kBEG	str	&9	KEY_SBEG	0572	-----	shifted begin key
51639f2269fSPeter Wemmkey_scancel			kCAN	str	&0	KEY_SCANCEL	0573	-----	shifted cancel key
51739f2269fSPeter Wemmkey_scommand			kCMD	str	*1	KEY_SCOMMAND	0574	-----	shifted command key
51839f2269fSPeter Wemmkey_scopy			kCPY	str	*2	KEY_SCOPY	0575	-----	shifted copy key
51939f2269fSPeter Wemmkey_screate			kCRT	str	*3	KEY_SCREATE	0576	-----	shifted create key
52039f2269fSPeter Wemmkey_sdc				kDC	str	*4	KEY_SDC		0577	-----	shifted delete-character key
52139f2269fSPeter Wemmkey_sdl				kDL	str	*5	KEY_SDL		0600	-----	shifted delete-line key
52239f2269fSPeter Wemmkey_select			kslt	str	*6	KEY_SELECT	0601	-----	select key
52339f2269fSPeter Wemmkey_send			kEND	str	*7	KEY_SEND	0602	-----	shifted end key
52439f2269fSPeter Wemmkey_seol			kEOL	str	*8	KEY_SEOL	0603	-----	shifted clear-to-end-of-line key
52539f2269fSPeter Wemmkey_sexit			kEXT	str	*9	KEY_SEXIT	0604	-----	shifted exit key
52639f2269fSPeter Wemmkey_sfind			kFND	str	*0	KEY_SFIND	0605	-----	shifted find key
52739f2269fSPeter Wemmkey_shelp			kHLP	str	#1	KEY_SHELP	0606	-----	shifted help key
52839f2269fSPeter Wemmkey_shome			kHOM	str	#2	KEY_SHOME	0607	-----	shifted home key
52939f2269fSPeter Wemmkey_sic				kIC	str	#3	KEY_SIC		0610	-----	shifted insert-character key
53039f2269fSPeter Wemmkey_sleft			kLFT	str	#4	KEY_SLEFT	0611	-----	shifted left-arrow key
53139f2269fSPeter Wemmkey_smessage			kMSG	str	%a	KEY_SMESSAGE	0612	-----	shifted message key
53239f2269fSPeter Wemmkey_smove			kMOV	str	%b	KEY_SMOVE	0613	-----	shifted move key
53339f2269fSPeter Wemmkey_snext			kNXT	str	%c	KEY_SNEXT	0614	-----	shifted next key
53439f2269fSPeter Wemmkey_soptions			kOPT	str	%d	KEY_SOPTIONS	0615	-----	shifted options key
53539f2269fSPeter Wemmkey_sprevious			kPRV	str	%e	KEY_SPREVIOUS	0616	-----	shifted previous key
53639f2269fSPeter Wemmkey_sprint			kPRT	str	%f	KEY_SPRINT	0617	-----	shifted print key
53739f2269fSPeter Wemmkey_sredo			kRDO	str	%g	KEY_SREDO	0620	-----	shifted redo key
53839f2269fSPeter Wemmkey_sreplace			kRPL	str	%h	KEY_SREPLACE	0621	-----	shifted replace key
53939f2269fSPeter Wemmkey_sright			kRIT	str	%i	KEY_SRIGHT	0622	-----	shifted right-arrow key
54039f2269fSPeter Wemmkey_srsume			kRES	str	%j	KEY_SRSUME	0623	-----	shifted resume key
54139f2269fSPeter Wemmkey_ssave			kSAV	str	!1	KEY_SSAVE	0624	-----	shifted save key
54239f2269fSPeter Wemmkey_ssuspend			kSPD	str	!2	KEY_SSUSPEND	0625	-----	shifted suspend key
54339f2269fSPeter Wemmkey_sundo			kUND	str	!3	KEY_SUNDO	0626	-----	shifted undo key
54439f2269fSPeter Wemmreq_for_input			rfi	str	RF	-		-	-----	send next input char (for ptys)
54539f2269fSPeter Wemmkey_f11				kf11	str	F1	KEY_F(11)	-	----E	F11 function key
54639f2269fSPeter Wemmkey_f12				kf12	str	F2	KEY_F(12)	-	----E	F12 function key
54739f2269fSPeter Wemmkey_f13				kf13	str	F3	KEY_F(13)	-	----E	F13 function key
54839f2269fSPeter Wemmkey_f14				kf14	str	F4	KEY_F(14)	-	----E	F14 function key
54939f2269fSPeter Wemmkey_f15				kf15	str	F5	KEY_F(15)	-	----E	F15 function key
55039f2269fSPeter Wemmkey_f16				kf16	str	F6	KEY_F(16)	-	----E	F16 function key
55139f2269fSPeter Wemmkey_f17				kf17	str	F7	KEY_F(17)	-	----E	F17 function key
55239f2269fSPeter Wemmkey_f18				kf18	str	F8	KEY_F(18)	-	----E	F18 function key
55339f2269fSPeter Wemmkey_f19				kf19	str	F9	KEY_F(19)	-	----E	F19 function key
55439f2269fSPeter Wemmkey_f20				kf20	str	FA	KEY_F(20)	-	----E	F20 function key
55539f2269fSPeter Wemmkey_f21				kf21	str	FB	KEY_F(21)	-	----E	F21 function key
55639f2269fSPeter Wemmkey_f22				kf22	str	FC	KEY_F(22)	-	----E	F22 function key
55739f2269fSPeter Wemmkey_f23				kf23	str	FD	KEY_F(23)	-	----E	F23 function key
55839f2269fSPeter Wemmkey_f24				kf24	str	FE	KEY_F(24)	-	----E	F24 function key
55939f2269fSPeter Wemmkey_f25				kf25	str	FF	KEY_F(25)	-	----E	F25 function key
56039f2269fSPeter Wemmkey_f26				kf26	str	FG	KEY_F(26)	-	----E	F26 function key
56139f2269fSPeter Wemmkey_f27				kf27	str	FH	KEY_F(27)	-	----E	F27 function key
56239f2269fSPeter Wemmkey_f28				kf28	str	FI	KEY_F(28)	-	----E	F28 function key
56339f2269fSPeter Wemmkey_f29				kf29	str	FJ	KEY_F(29)	-	----E	F29 function key
56439f2269fSPeter Wemmkey_f30				kf30	str	FK	KEY_F(30)	-	----E	F30 function key
56539f2269fSPeter Wemmkey_f31				kf31	str	FL	KEY_F(31)	-	----E	F31 function key
56639f2269fSPeter Wemmkey_f32				kf32	str	FM	KEY_F(32)	-	----E	F32 function key
56739f2269fSPeter Wemmkey_f33				kf33	str	FN	KEY_F(33)	-	----E	F33 function key
56839f2269fSPeter Wemmkey_f34				kf34	str	FO	KEY_F(34)	-	----E	F34 function key
56939f2269fSPeter Wemmkey_f35				kf35	str	FP	KEY_F(35)	-	----E	F35 function key
57039f2269fSPeter Wemmkey_f36				kf36	str	FQ	KEY_F(36)	-	----E	F36 function key
57139f2269fSPeter Wemmkey_f37				kf37	str	FR	KEY_F(37)	-	----E	F37 function key
57239f2269fSPeter Wemmkey_f38				kf38	str	FS	KEY_F(38)	-	----E	F38 function key
57339f2269fSPeter Wemmkey_f39				kf39	str	FT	KEY_F(39)	-	----E	F39 function key
57439f2269fSPeter Wemmkey_f40				kf40	str	FU	KEY_F(40)	-	----E	F40 function key
57539f2269fSPeter Wemmkey_f41				kf41	str	FV	KEY_F(41)	-	----E	F41 function key
57639f2269fSPeter Wemmkey_f42				kf42	str	FW	KEY_F(42)	-	----E	F42 function key
57739f2269fSPeter Wemmkey_f43				kf43	str	FX	KEY_F(43)	-	----E	F43 function key
57839f2269fSPeter Wemmkey_f44				kf44	str	FY	KEY_F(44)	-	----E	F44 function key
57939f2269fSPeter Wemmkey_f45				kf45	str	FZ	KEY_F(45)	-	----E	F45 function key
58039f2269fSPeter Wemmkey_f46				kf46	str	Fa	KEY_F(46)	-	----E	F46 function key
58139f2269fSPeter Wemmkey_f47				kf47	str	Fb	KEY_F(47)	-	----E	F47 function key
58239f2269fSPeter Wemmkey_f48				kf48	str	Fc	KEY_F(48)	-	----E	F48 function key
58339f2269fSPeter Wemmkey_f49				kf49	str	Fd	KEY_F(49)	-	----E	F49 function key
58439f2269fSPeter Wemmkey_f50				kf50	str	Fe	KEY_F(50)	-	----E	F50 function key
58539f2269fSPeter Wemmkey_f51				kf51	str	Ff	KEY_F(51)	-	----E	F51 function key
58639f2269fSPeter Wemmkey_f52				kf52	str	Fg	KEY_F(52)	-	----E	F52 function key
58739f2269fSPeter Wemmkey_f53				kf53	str	Fh	KEY_F(53)	-	----E	F53 function key
58839f2269fSPeter Wemmkey_f54				kf54	str	Fi	KEY_F(54)	-	----E	F54 function key
58939f2269fSPeter Wemmkey_f55				kf55	str	Fj	KEY_F(55)	-	----E	F55 function key
59039f2269fSPeter Wemmkey_f56				kf56	str	Fk	KEY_F(56)	-	----E	F56 function key
59139f2269fSPeter Wemmkey_f57				kf57	str	Fl	KEY_F(57)	-	----E	F57 function key
59239f2269fSPeter Wemmkey_f58				kf58	str	Fm	KEY_F(58)	-	----E	F58 function key
59339f2269fSPeter Wemmkey_f59				kf59	str	Fn	KEY_F(59)	-	----E	F59 function key
59439f2269fSPeter Wemmkey_f60				kf60	str	Fo	KEY_F(60)	-	----E	F60 function key
59539f2269fSPeter Wemmkey_f61				kf61	str	Fp	KEY_F(61)	-	----E	F61 function key
59639f2269fSPeter Wemmkey_f62				kf62	str	Fq	KEY_F(62)	-	----E	F62 function key
59739f2269fSPeter Wemmkey_f63				kf63	str	Fr	KEY_F(63)	-	----E	F63 function key
59839f2269fSPeter Wemmclr_bol				el1	str	cb	-		-	-----	Clear to beginning of line
59939f2269fSPeter Wemmclear_margins			mgc	str	MC	-		-	-----	clear right and left soft margins
60039f2269fSPeter Wemmset_left_margin			smgl	str	ML	-		-	-----	set left soft margin at current column.	 See smgl. (ML is not in BSD termcap).
60139f2269fSPeter Wemmset_right_margin		smgr	str	MR	-		-	-----	set right soft margin at current column
60239f2269fSPeter Wemmlabel_format			fln	str	Lf	-		-	-----	label format
60339f2269fSPeter Wemmset_clock			sclk	str	SC	-		-	-----	set clock, #1 hrs #2 mins #3 secs
60439f2269fSPeter Wemmdisplay_clock			dclk	str	DK	-		-	-----	display clock
60539f2269fSPeter Wemmremove_clock			rmclk	str	RC	-		-	-----	remove clock
60639f2269fSPeter Wemmcreate_window			cwin	str	CW	-		-	-----	define a window #1 from #2,#3 to #4,#5
60739f2269fSPeter Wemmgoto_window			wingo	str	WG	-		-	-----	go to window #1
60839f2269fSPeter Wemmhangup				hup	str	HU	-		-	-----	hang-up phone
60939f2269fSPeter Wemmdial_phone			dial	str	DI	-		-	-----	dial number #1
61039f2269fSPeter Wemmquick_dial			qdial	str	QD	-		-	-----	dial number #1 without checking
61139f2269fSPeter Wemmtone				tone	str	TO	-		-	-----	select touch tone dialing
61239f2269fSPeter Wemmpulse				pulse	str	PU	-		-	-----	select pulse dialing
61339f2269fSPeter Wemmflash_hook			hook	str	fh	-		-	-----	flash switch hook
61439f2269fSPeter Wemmfixed_pause			pause	str	PA	-		-	-----	pause for 2-3 seconds
61539f2269fSPeter Wemmwait_tone			wait	str	WA	-		-	-----	wait for dial-tone
61639f2269fSPeter Wemmuser0				u0	str	u0	-		-	-----	User string #0
61739f2269fSPeter Wemmuser1				u1	str	u1	-		-	-----	User string #1
61839f2269fSPeter Wemmuser2				u2	str	u2	-		-	-----	User string #2
61939f2269fSPeter Wemmuser3				u3	str	u3	-		-	-----	User string #3
62039f2269fSPeter Wemmuser4				u4	str	u4	-		-	-----	User string #4
62139f2269fSPeter Wemmuser5				u5	str	u5	-		-	-----	User string #5
62239f2269fSPeter Wemmuser6				u6	str	u6	-		-	-----	User string #6
62339f2269fSPeter Wemmuser7				u7	str	u7	-		-	-----	User string #7
62439f2269fSPeter Wemmuser8				u8	str	u8	-		-	-----	User string #8
6250e3d5408SPeter Wemmuser9				u9	str	u9	-		-	-----	User string #9
6260e3d5408SPeter Wemm#
6270e3d5408SPeter Wemm# SVr4 added these capabilities to support color
62839f2269fSPeter Wemm#
62939f2269fSPeter Wemmorig_pair			op	str	op	-		-	-----	Set default pair to its original value
63039f2269fSPeter Wemmorig_colors			oc	str	oc	-		-	-----	Set all color pairs to the original ones
63139f2269fSPeter Wemminitialize_color		initc	str	Ic	-		-	-----	initialize color #1 to (#2,#3,#4)
63239f2269fSPeter Wemminitialize_pair			initp	str	Ip	-		-	-----	Initialize color pair #1 to fg=(#2,#3,#4), bg=(#5,#6,#7)
63339f2269fSPeter Wemmset_color_pair			scp	str	sp	-		-	-----	Set current color pair to #1
63439f2269fSPeter Wemmset_foreground			setf	str	Sf	-		-	-----	Set foreground color #1
6350e3d5408SPeter Wemmset_background			setb	str	Sb	-		-	-----	Set background color #1
6360e3d5408SPeter Wemm#
6370e3d5408SPeter Wemm# SVr4 added these capabilities to support printers
63839f2269fSPeter Wemm#
63939f2269fSPeter Wemmchange_char_pitch		cpi	str	ZA	-		-	-----	Change number of characters per inch to #1
64039f2269fSPeter Wemmchange_line_pitch		lpi	str	ZB	-		-	-----	Change number of lines per inch to #1
64139f2269fSPeter Wemmchange_res_horz			chr	str	ZC	-		-	-----	Change horizontal resolution to #1
64239f2269fSPeter Wemmchange_res_vert			cvr	str	ZD	-		-	-----	Change vertical resolution to #1
64339f2269fSPeter Wemmdefine_char			defc	str	ZE	-		-	-----	Define a character #1, #2 dots wide, descender #3
64439f2269fSPeter Wemmenter_doublewide_mode		swidm	str	ZF	-		-	-----	Enter double-wide mode
64539f2269fSPeter Wemmenter_draft_quality		sdrfq	str	ZG	-		-	-----	Enter draft-quality mode
64639f2269fSPeter Wemmenter_italics_mode		sitm	str	ZH	-		-	-----	Enter italic mode
64739f2269fSPeter Wemmenter_leftward_mode		slm	str	ZI	-		-	-----	Start leftward carriage motion
64839f2269fSPeter Wemmenter_micro_mode		smicm	str	ZJ	-		-	-----	Start micro-motion mode
64939f2269fSPeter Wemmenter_near_letter_quality	snlq	str	ZK	-		-	-----	Enter NLQ mode
65039f2269fSPeter Wemmenter_normal_quality		snrmq	str	ZL	-		-	-----	Enter normal-quality mode
65139f2269fSPeter Wemmenter_shadow_mode		sshm	str	ZM	-		-	-----	Enter shadow-print mode
65239f2269fSPeter Wemmenter_subscript_mode		ssubm	str	ZN	-		-	-----	Enter subscript mode
65339f2269fSPeter Wemmenter_superscript_mode		ssupm	str	ZO	-		-	-----	Enter superscript mode
65439f2269fSPeter Wemmenter_upward_mode		sum	str	ZP	-		-	-----	Start upward carriage motion
65539f2269fSPeter Wemmexit_doublewide_mode		rwidm	str	ZQ	-		-	-----	End double-wide mode
65639f2269fSPeter Wemmexit_italics_mode		ritm	str	ZR	-		-	-----	End italic mode
65739f2269fSPeter Wemmexit_leftward_mode		rlm	str	ZS	-		-	-----	End left-motion mode
65839f2269fSPeter Wemmexit_micro_mode			rmicm	str	ZT	-		-	-----	End micro-motion mode
65939f2269fSPeter Wemmexit_shadow_mode		rshm	str	ZU	-		-	-----	End shadow-print mode
66039f2269fSPeter Wemmexit_subscript_mode		rsubm	str	ZV	-		-	-----	End subscript mode
66139f2269fSPeter Wemmexit_superscript_mode		rsupm	str	ZW	-		-	-----	End superscript mode
66239f2269fSPeter Wemmexit_upward_mode		rum	str	ZX	-		-	-----	End reverse character motion
66339f2269fSPeter Wemmmicro_column_address		mhpa	str	ZY	-		-	-----	Like column_address in micro mode
66439f2269fSPeter Wemmmicro_down			mcud1	str	ZZ	-		-	-----	Like cursor_down in micro mode
66539f2269fSPeter Wemmmicro_left			mcub1	str	Za	-		-	-----	Like cursor_left in micro mode
66639f2269fSPeter Wemmmicro_right			mcuf1	str	Zb	-		-	-----	Like cursor_right in micro mode
66739f2269fSPeter Wemmmicro_row_address		mvpa	str	Zc	-		-	-----	Like row_address #1 in micro mode
66839f2269fSPeter Wemmmicro_up			mcuu1	str	Zd	-		-	-----	Like cursor_up in micro mode
66939f2269fSPeter Wemmorder_of_pins			porder	str	Ze	-		-	-----	Match software bits to print-head pins
67039f2269fSPeter Wemmparm_down_micro			mcud	str	Zf	-		-	-----	Like parm_down_cursor in micro mode
67139f2269fSPeter Wemmparm_left_micro			mcub	str	Zg	-		-	-----	Like parm_left_cursor in micro mode
67239f2269fSPeter Wemmparm_right_micro		mcuf	str	Zh	-		-	-----	Like parm_right_cursor in micro mode
67339f2269fSPeter Wemmparm_up_micro			mcuu	str	Zi	-		-	-----	Like parm_up_cursor in micro mode
67439f2269fSPeter Wemmselect_char_set			scs	str	Zj	-		-	-----	Select character set, #1
67539f2269fSPeter Wemmset_bottom_margin		smgb	str	Zk	-		-	-----	Set bottom margin at current line
67639f2269fSPeter Wemmset_bottom_margin_parm		smgbp	str	Zl	-		-	-----	Set bottom margin at line #1 or (if smgtp is not given) #2 lines from bottom
67739f2269fSPeter Wemmset_left_margin_parm		smglp	str	Zm	-		-	-----	Set left (right) margin at column #1
67839f2269fSPeter Wemmset_right_margin_parm		smgrp	str	Zn	-		-	-----	Set right margin at column #1
67939f2269fSPeter Wemmset_top_margin			smgt	str	Zo	-		-	-----	Set top margin at current line
68039f2269fSPeter Wemmset_top_margin_parm		smgtp	str	Zp	-		-	-----	Set top (bottom) margin at row #1
68139f2269fSPeter Wemmstart_bit_image			sbim	str	Zq	-		-	-----	Start printing bit image graphics
68239f2269fSPeter Wemmstart_char_set_def		scsd	str	Zr	-		-	-----	Start character set definition #1, with #2 characters in the set
68339f2269fSPeter Wemmstop_bit_image			rbim	str	Zs	-		-	-----	Stop printing bit image graphics
68439f2269fSPeter Wemmstop_char_set_def		rcsd	str	Zt	-		-	-----	End definition of character set #1
68539f2269fSPeter Wemmsubscript_characters		subcs	str	Zu	-		-	-----	List of subscriptable characters
68639f2269fSPeter Wemmsuperscript_characters		supcs	str	Zv	-		-	-----	List of superscriptable characters
68739f2269fSPeter Wemmthese_cause_cr			docr	str	Zw	-		-	-----	Printing any of these characters causes CR
6880e3d5408SPeter Wemmzero_motion			zerom	str	Zx	-		-	-----	No motion for subsequent character
6890e3d5408SPeter Wemm#%.TE
6900e3d5408SPeter Wemm#%.ad
6910e3d5408SPeter Wemm#%
6920e3d5408SPeter Wemm#%The following string capabilities are present in the SVr4.0 term structure,
6930e3d5408SPeter Wemm#%but were originally not documented in the man page.
6940e3d5408SPeter Wemm#%
6950e3d5408SPeter Wemm#%.na
6960e3d5408SPeter Wemm#%.TS H
6970e3d5408SPeter Wemm#%center expand;
6980e3d5408SPeter Wemm#%c l l c
6990e3d5408SPeter Wemm#%c l l c
7000e3d5408SPeter Wemm#%lw25 lw6 lw2 lw18.
7010e3d5408SPeter Wemm#%\fBVariable	Cap-	TCap	Description\fR
70239f2269fSPeter Wemm#%\fBString	name	Code\fR
70339f2269fSPeter Wemmchar_set_names			csnm	str	Zy	-		-	-----	Produce #1'th item from list of character set names
70439f2269fSPeter Wemmkey_mouse			kmous	str	Km	KEY_MOUSE	0631	-----	Mouse event has occurred
70539f2269fSPeter Wemmmouse_info			minfo	str	Mi	-		-	-----	Mouse status information
70639f2269fSPeter Wemmreq_mouse_pos			reqmp	str	RQ	-		-	-----	Request mouse position
70739f2269fSPeter Wemmget_mouse			getm	str	Gm	-		-	-----	Curses should get button events, parameter #1 not documented.
70839f2269fSPeter Wemmset_a_foreground		setaf	str	AF	-		-	-----	Set foreground color to #1, using ANSI escape
70939f2269fSPeter Wemmset_a_background		setab	str	AB	-		-	-----	Set background color to #1, using ANSI escape
71039f2269fSPeter Wemmpkey_plab			pfxl	str	xl	-		-	-----	Program function key #1 to type string #2 and show string #3
71139f2269fSPeter Wemmdevice_type			devt	str	dv	-		-	-----	Indicate language/codeset support
71239f2269fSPeter Wemmcode_set_init			csin	str	ci	-		-	-----	Init sequence for multiple codesets
71339f2269fSPeter Wemmset0_des_seq			s0ds	str	s0	-		-	-----	Shift to codeset 0 (EUC set 0, ASCII)
71439f2269fSPeter Wemmset1_des_seq			s1ds	str	s1	-		-	-----	Shift to codeset 1
71539f2269fSPeter Wemmset2_des_seq			s2ds	str	s2	-		-	-----	Shift to codeset 2
71639f2269fSPeter Wemmset3_des_seq			s3ds	str	s3	-		-	-----	Shift to codeset 3
71739f2269fSPeter Wemmset_lr_margin			smglr	str	ML	-		-	-----	Set both left and right margins to #1, #2.  (ML is not in BSD termcap).
71839f2269fSPeter Wemmset_tb_margin			smgtb	str	MT	-		-	-----	Sets both top and bottom margins to #1, #2
71939f2269fSPeter Wemmbit_image_repeat		birep	str	Xy	-		-	-----	Repeat bit image cell #1 #2 times
72039f2269fSPeter Wemmbit_image_newline		binel	str	Zz	-		-	-----	Move to next row of the bit image
72139f2269fSPeter Wemmbit_image_carriage_return	bicr	str	Yv	-		-	-----	Move to beginning of same row
72239f2269fSPeter Wemmcolor_names			colornm	str	Yw	-		-	-----	Give name for color #1
72339f2269fSPeter Wemmdefine_bit_image_region		defbi	str	Yx	-		-	-----	Define rectangular bit image region
72439f2269fSPeter Wemmend_bit_image_region		endbi	str	Yy	-		-	-----	End a bit-image region
72539f2269fSPeter Wemmset_color_band		setcolor	str	Yz	-		-	-----	Change to ribbon color #1
7260e3d5408SPeter Wemmset_page_length			slines	str	YZ	-		-	-----	Set page length to #1 lines
7270e3d5408SPeter Wemm#
7280e3d5408SPeter Wemm# SVr4 added these capabilities for direct PC-clone support
72939f2269fSPeter Wemm#
73039f2269fSPeter Wemmdisplay_pc_char			dispc	str	S1	-		-	-----	Display PC character #1
73139f2269fSPeter Wemmenter_pc_charset_mode		smpch	str	S2	-		-	-----	Enter PC character display mode
73239f2269fSPeter Wemmexit_pc_charset_mode		rmpch	str	S3	-		-	-----	Exit PC character display mode
73339f2269fSPeter Wemmenter_scancode_mode		smsc	str	S4	-		-	-----	Enter PC scancode mode
73439f2269fSPeter Wemmexit_scancode_mode		rmsc	str	S5	-		-	-----	Exit PC scancode mode
73539f2269fSPeter Wemmpc_term_options			pctrm	str	S6	-		-	-----	PC terminal options
73639f2269fSPeter Wemmscancode_escape			scesc	str	S7	-		-	-----	Escape for scancode emulation
7370e3d5408SPeter Wemmalt_scancode_esc		scesa	str	S8	-		-	-----	Alternate escape for scancode emulation
7380e3d5408SPeter Wemm#%.TE
7390e3d5408SPeter Wemm#%.ad
7400e3d5408SPeter Wemm#%
7410e3d5408SPeter Wemm#%.in .8i
7420e3d5408SPeter Wemm#%The XSI Curses standard added these hardcopy capabilities.
7430e3d5408SPeter Wemm#%They were used in some post-4.1 versions of System V curses,
7440e3d5408SPeter Wemm#%e.g., Solaris 2.5 and IRIX 6.x.
7450e3d5408SPeter Wemm#%Except for \fBYI\fP, the \fBncurses\fR termcap names for them are invented.
7460e3d5408SPeter Wemm#%According to the XSI Curses standard, they have no termcap names.
7470e3d5408SPeter Wemm#%If your compiled terminfo entries use these,
7480e3d5408SPeter Wemm#%they may not be binary-compatible with System V terminfo
7490e3d5408SPeter Wemm#%entries after SVr4.1; beware!
7500e3d5408SPeter Wemm#%
7510e3d5408SPeter Wemm#%.na
7520e3d5408SPeter Wemm#%.TS H
7530e3d5408SPeter Wemm#%center expand;
7540e3d5408SPeter Wemm#%c l l c
7550e3d5408SPeter Wemm#%c l l c
75639f2269fSPeter Wemm#%lw25 lw6 lw2 lw20.
75739f2269fSPeter Wemm#%\fBVariable	Cap-	TCap	Description\fR
75839f2269fSPeter Wemm#%\fBString	name	Code\fR
75939f2269fSPeter Wemmenter_horizontal_hl_mode	ehhlm	str	Xh	-		-	-----	Enter horizontal highlight mode
76039f2269fSPeter Wemmenter_left_hl_mode		elhlm	str	Xl	-		-	-----	Enter left highlight mode
76139f2269fSPeter Wemmenter_low_hl_mode		elohlm	str	Xo	-		-	-----	Enter low highlight mode
76239f2269fSPeter Wemmenter_right_hl_mode		erhlm	str	Xr	-		-	-----	Enter right highlight mode
76339f2269fSPeter Wemmenter_top_hl_mode		ethlm	str	Xt	-		-	-----	Enter top highlight mode
7640e3d5408SPeter Wemmenter_vertical_hl_mode		evhlm	str	Xv	-		-	-----	Enter vertical highlight mode
7650e3d5408SPeter Wemmset_a_attributes		sgr1	str	sA	-		-	-----	Define second set of video attributes #1-#6
7660e3d5408SPeter Wemmset_pglen_inch			slength	str	YI	-		-	-----	Set page length to #1 hundredth of an inch (some implementations use sL for termcap).
7670e3d5408SPeter Wemm#%.TE
7680e3d5408SPeter Wemm#%.ad
7690e3d5408SPeter Wemm#
7700e3d5408SPeter Wemm# The magic token below tells the tic compiler-generator code that all the caps
7710e3d5408SPeter Wemm# past it should be ignored (not written out) when dumping terminfo objects. It
7720e3d5408SPeter Wemm# also tells the man page table generator not to pass through following lines
7730e3d5408SPeter Wemm# This means we can have obsolete capabilities and pseudo-capabilities that are
7740e3d5408SPeter Wemm# recognized for termcap or terminfo compilation, but not output.
7750e3d5408SPeter Wemm#
7760e3d5408SPeter Wemm# %%-STOP-HERE-%%
7770e3d5408SPeter Wemm#
7780e3d5408SPeter Wemm# Don't move this casually!  In fact, don't move it at all unless you're
7790e3d5408SPeter Wemm# either doing it to add System V or XPG4 extensions, or have decided you
7800e3d5408SPeter Wemm# don't care about SVr4 binary compatibility.
7810e3d5408SPeter Wemm#
7820e3d5408SPeter Wemm#############################################################################
7830e3d5408SPeter Wemm#
7840e3d5408SPeter Wemm# TERMCAP EXTENSION CAPABILITIES
7850e3d5408SPeter Wemm#
7860e3d5408SPeter Wemm# The capabilities below are either obsolete or extensions on certain systems.
7870e3d5408SPeter Wemm# They are not used by SVR4 terminfo.  Some are used by captoinfo to translate
7880e3d5408SPeter Wemm# termcap sources; the rest are listed for completeness, and in case somebody
7890e3d5408SPeter Wemm# cares about them enough to hack in code that will translate them into
7900e3d5408SPeter Wemm# terminfo capabilities.
7910e3d5408SPeter Wemm#
7920e3d5408SPeter Wemm# The first part of the list is from Ross Ridge's `mytinfo' package
7930e3d5408SPeter Wemm# (comp.sources.unix, volume 26); the variable names and terminfo names (as
7940e3d5408SPeter Wemm# well as the termcap codes) match his list.
7950e3d5408SPeter Wemm#
7960e3d5408SPeter Wemm# This group of codes is not marked obsolete in 4.4BSD, but have no direct
7970e3d5408SPeter Wemm# terminfo equivalents.  The rs capability is specially translated to terminfo
7980e3d5408SPeter Wemm# r2, and vice versa, if an entry does not already have an r2.  Similarly,
7990e3d5408SPeter Wemm# i2 is translated to r3 if there is no r3 (because SV terminfo maps is to i2).
80039f2269fSPeter Wemm# The ug capability is thrown away, but assumed to be whatever sg is if the
80139f2269fSPeter Wemm# latter is nonzero and we're dumping in termcap format.
80239f2269fSPeter Wemm#
8030e3d5408SPeter Wemmtermcap_init2			OTi2	str	i2	-		-	YB---	secondary initialization string
8040e3d5408SPeter Wemmtermcap_reset			OTrs	str	rs	-		-	YB-G-	terminal reset string
8050e3d5408SPeter Wemmmagic_cookie_glitch_ul		OTug	num	ug	-		-	YBCGE	number of blanks left by ul
8060e3d5408SPeter Wemm#
8070e3d5408SPeter Wemm# Obsolete termcap capabilities.  Some are used for termcap translation.  The
80839f2269fSPeter Wemm# code uses the 'OT' prefix we put on obsolete capabilities to suppress
80939f2269fSPeter Wemm# printing them in terminfo source dumps of compiled entries.
81039f2269fSPeter Wemm#
81139f2269fSPeter Wemmbackspaces_with_bs		OTbs	bool	bs	-		-	YBCGE	uses ^H to move left
81239f2269fSPeter Wemmcrt_no_scrolling		OTns	bool	ns	-		-	YBCG-	crt cannot scroll
81339f2269fSPeter Wemmno_correctly_working_cr		OTnc	bool	nc	-		-	YBCG-	no way to go to start of line
81439f2269fSPeter Wemmcarriage_return_delay		OTdC	num	dC	-		-	YB-G-	pad needed for CR
8150e3d5408SPeter Wemmnew_line_delay			OTdN	num	dN	-		-	YB-G-	pad needed for LF
8160e3d5408SPeter Wemmlinefeed_if_not_lf		OTnl	str	nl	-		-	YBCGE	use to move down
8170e3d5408SPeter Wemmbackspace_if_not_bs		OTbc	str	bc	-		-	YBCGE	move left, if not ^H
8180e3d5408SPeter Wemm#
8190e3d5408SPeter Wemm# GNU termcap library extensions.  The GNU termcap file distributed with
8200e3d5408SPeter Wemm# Emacs no longer uses these, but MT showed up in pre-9.0 versions of the
82139f2269fSPeter Wemm# BSD termcap file.  The name clash with terminfo MT is resolved by type
82239f2269fSPeter Wemm# info; MT is converted to km.
8230e3d5408SPeter Wemm#
8240e3d5408SPeter Wemmgnu_has_meta_key		OTMT	bool	MT	-		-	----E	has meta key
8250e3d5408SPeter Wemm# gnu_tab_width			OTtw	num	tw	-		-	----E	tab width in spaces
8260e3d5408SPeter Wemm#
82739f2269fSPeter Wemm# GNU termcap *does* include the following extended capability,  Only the
8280e3d5408SPeter Wemm# now-obsolete Ann Arbor terminals used it.
8290e3d5408SPeter Wemm#
8300e3d5408SPeter Wemm# gnu_change_scroll_region	OTcS	str	cS	-		-	---GE	alternate set scrolling region
8310e3d5408SPeter Wemm#
8320e3d5408SPeter Wemm# The following comments describe capnames so ancient that I believe no
8330e3d5408SPeter Wemm# software uses them any longer.  Some of these have to go because they
8340e3d5408SPeter Wemm# clash with terminfo names in ways that cannot be resolved by type
8350e3d5408SPeter Wemm# information.
8360e3d5408SPeter Wemm#
8370e3d5408SPeter Wemm# These mytinfo codes are not used in the 4.4BSD curses code.  They are
8380e3d5408SPeter Wemm# marked obsolete in the 4.4BSD manual pages.
8390e3d5408SPeter Wemm#
8400e3d5408SPeter Wemm# There is one conflict with terminfo; ma is in both.  This conflict is
8410e3d5408SPeter Wemm# resolved by type information.
8420e3d5408SPeter Wemm#
8430e3d5408SPeter Wemm# The `ko' capability is translated by special code.  It should contain a
8440e3d5408SPeter Wemm# comma-separated list of capabilities for which there are corresponding keys.
8450e3d5408SPeter Wemm# The `kn' code is accepted but ignored.
8460e3d5408SPeter Wemm#
8470e3d5408SPeter Wemm# The `ma' capability was a 4.0BSD feature used by vi version 2.
8480e3d5408SPeter Wemm# It consists of pairs of characters corresponding to kl, kr, ku, kd, and kh.
8490e3d5408SPeter Wemm# Besides being obsolete, that interpretation conflicts with max_attributes.
8500e3d5408SPeter Wemm#
8510e3d5408SPeter Wemm# Here is a description of memory_lock_above and memory_unlock:
8520e3d5408SPeter Wemm# "You can 'freeze' data on the screen by turning on Memory Lock in a line of
8530e3d5408SPeter Wemm# text.  All lines above the cursor's current line become locked in place on
8540e3d5408SPeter Wemm# the screen.  Then enter data normally.  When the screen fills up, any
8550e3d5408SPeter Wemm# further data entered forces the first line of unfrozen line text to scroll
8560e3d5408SPeter Wemm# under the frozen data.  Lines scrolled off the screen are inserted into
8570e3d5408SPeter Wemm# memory immediately preceding the first frozen line." (from the HP 700/96
8580e3d5408SPeter Wemm# User's manual).  VT100/ANSI memory lock set is \E[>2h, reset is \E[>2l.
8590e3d5408SPeter Wemm#
86039f2269fSPeter Wemm# Applications that use terminfo are supposed to behave as though xr is
86139f2269fSPeter Wemm# always true.
86239f2269fSPeter Wemm#
86339f2269fSPeter Wemmlinefeed_is_newline		OTNL	bool	NL	-		-	YB---	move down with \n
86439f2269fSPeter Wemm# even_parity			OTEP	bool	EP	-		-	-B---	terminal requires even parity
86539f2269fSPeter Wemm# odd_parity			OTOP	bool	OP	-		-	-B---	terminal requires odd parity
86639f2269fSPeter Wemm# half_duplex			OTHD	bool	HD	-		-	-B---	terminal is half-duplex
86739f2269fSPeter Wemm# lower_case_only		OTLC	bool	LC	-		-	-B---	terminal has only lower case
86839f2269fSPeter Wemm# upper_case_only		OTUC	bool	UC	-		-	-B---	terminal has only upper case
86939f2269fSPeter Wemmbackspace_delay			OTdB	num	dB	-		-	YB-G-	padding required for ^H
87039f2269fSPeter Wemm# form_feed_delay		OTdF	num	dF	-		-	-B-G-	padding required for ^L
87139f2269fSPeter Wemmhorizontal_tab_delay		OTdT	num	dT	-		-	YB-G-	padding required for ^I
87239f2269fSPeter Wemm# vertical_tab_delay		OTdV	num	dV	-		-	-B---	padding required for ^V
87339f2269fSPeter Wemmnumber_of_function_keys		OTkn	num	kn	-		-	-B-G-	count of function keys
87439f2269fSPeter Wemmother_non_function_keys		OTko	str	ko	-		-	-B-G-	list of self-mapped keycaps
87539f2269fSPeter Wemmarrow_key_map			OTma	str	ma	-		-	YBC--	map motion-keys for vi version 2
87639f2269fSPeter Wemm# memory_lock_above		OTml	str	ml	-		-	-B---	lock visible screen memory above the current line
87739f2269fSPeter Wemm# memory_unlock			OTmu	str	mu	-		-	-B---	unlock visible screen memory above the current line
8780e3d5408SPeter Wemmhas_hardware_tabs		OTpt	bool	pt	-		-	YB---	has 8-char tabs invoked with ^I
8790e3d5408SPeter Wemmreturn_does_clr_eol		OTxr	bool	xr	-		-	YB---	return clears the line
8800e3d5408SPeter Wemm# tek_4025_insert_line		OTxx	bool	xx	-		-	-BC--	Tektronix 4025 insert-line glitch
8810e3d5408SPeter Wemm#
8820e3d5408SPeter Wemm# mytinfo described this as a termcap capability, but it's not listed in the
88339f2269fSPeter Wemm# 4.4BSD man pages, and not found in the 4.4BSD termcap file.  The ncurses
8840e3d5408SPeter Wemm# package, like System V, behaves as though it is always true.
8850e3d5408SPeter Wemm#
8860e3d5408SPeter Wemm# rind_only_at_top		OTxq	bool	xq	-		-	-----	reverse index only works from top line
8870e3d5408SPeter Wemm#
8880e3d5408SPeter Wemm# University of Waterloo termcap extensions (as described in mytinfo).
8890e3d5408SPeter Wemm# The `xl' termcap file clashes with a terminfo name; this ambiguity cannot
89039f2269fSPeter Wemm# be resolved by a type check.  The descriptions are guesses from what was
89139f2269fSPeter Wemm# in the mytinfo tables.
89239f2269fSPeter Wemm#
89339f2269fSPeter Wemm# key_interrupt_char		OTki	str	ki	-		-	-----	string set by interrupt key (?)
89439f2269fSPeter Wemm# key_kill_char			OTkk	str	kk	-		-	-----	string set by kill key (?)
8950e3d5408SPeter Wemm# key_suspend_char		OTkz	str	kz	-		-	-----	string set by suspend key (?)
8960e3d5408SPeter Wemm# initialization_messy		OTxc	bool	xc	-		-	-----	initialization leaves garbage on the screen (?)
8970e3d5408SPeter Wemm# ind_at_bottom_does_cr		OTxl	bool	xl	-		-	-----	index does a carriage return
8980e3d5408SPeter Wemm#
8990e3d5408SPeter Wemm# Nonstandard capabilities unique to Ross Ridge's `mytinfo' package.
90039f2269fSPeter Wemm# SR clashes with a terminfo name; this ambiguity cannot be resolved by a type
90139f2269fSPeter Wemm# check.
90239f2269fSPeter Wemm#
90339f2269fSPeter Wemm# scroll_left			OTsl1	str	Sl	-		-	-----	scroll screen leftward
9040e3d5408SPeter Wemm# scroll_right			OTsr1	str	Sr	-		-	-----	scroll screen rightward
9050e3d5408SPeter Wemm# parm_scroll_left		OTsl	str	SL	-		-	-----	scroll screen leftward #1 characters
9060e3d5408SPeter Wemm# parm_scroll_right		OTsr	str	SR	-		-	-----	scroll screen rightward #1 characters
9070e3d5408SPeter Wemm#
9080e3d5408SPeter Wemm# The mytinfo capabilities end here.
9090e3d5408SPeter Wemm#
9100e3d5408SPeter Wemm# XENIX extensions:
9110e3d5408SPeter Wemm#
9120e3d5408SPeter Wemm# Xenix defined its own set of forms-drawing capabilities:
9130e3d5408SPeter Wemm#
9140e3d5408SPeter Wemm# cap	IBM ASCII	description             ACS         	ASCII
9150e3d5408SPeter Wemm# ---	-----------	--------------------    -------------	------
9160e3d5408SPeter Wemm# G1	191 \277 M-?	single upper right   	ACS_URCORNER
9170e3d5408SPeter Wemm# G2	218 \332 M-Z	single upper left	ACS_ULCORNER
9180e3d5408SPeter Wemm# G3	192 \300 M-@	single lower left	ACS_LLCORNER
9190e3d5408SPeter Wemm# G4	217 \331 M-Y	single lower right	ACS_LRCORNER
9200e3d5408SPeter Wemm# G5	187 \273 M-;	double upper right
9210e3d5408SPeter Wemm# G6	201 \311 M-I	double upper left
9220e3d5408SPeter Wemm# G7	200 \310 M-H	double lower left
9230e3d5408SPeter Wemm# G8	188 \274 M-<	double lower right
9240e3d5408SPeter Wemm# GC	197 \305 M-E	single intersection	ACS_PLUS	_ _
9250e3d5408SPeter Wemm# GD	194 \302 M-B	single down-tick	ACS_TTEE	 |
9260e3d5408SPeter Wemm# GH	196 \304 M-D	single horizontal line	ACS_HLINE
9270e3d5408SPeter Wemm# GL	180 \264 M-4	single left tick	ACS_RTEE	-|
9280e3d5408SPeter Wemm# GR	195 \303 M-C	single right tick	ACS_LTEE	|-
9290e3d5408SPeter Wemm# GU	193 \301 M-A	single up tick		ACS_BTEE	_|_
9300e3d5408SPeter Wemm# GV	179 \263 M-3	single vertical line	ACS_VLINE
9310e3d5408SPeter Wemm# Gc	206 \316 M-N	double intersection
9320e3d5408SPeter Wemm# Gd	203 \313 M-K	double down tick
9330e3d5408SPeter Wemm# Gh	205 \315 M-M	double horizontal line
9340e3d5408SPeter Wemm# Gl	204 \204 M-L	double left tick
9350e3d5408SPeter Wemm# Gr	185 \271 M-9	double right tick
9360e3d5408SPeter Wemm# Gu	202 \312 M-J	double up tick
9370e3d5408SPeter Wemm# Gv	186 \272 M-:	double vertical line
9380e3d5408SPeter Wemm#
9390e3d5408SPeter Wemm# The compiler will translate the single-line caps and discard the others
9400e3d5408SPeter Wemm# (via IGNORE aliases further down).  We don't want to do normal pad
9410e3d5408SPeter Wemm# translation on these, they're often single-character printable ASCII
9420e3d5408SPeter Wemm# strings that happen to be numerics.  There's awk code in parametrized.sh
94339f2269fSPeter Wemm# that detects the acs_ prefix and uses it to suppress pad translation.
94439f2269fSPeter Wemm# These terminfo names are invented.
94539f2269fSPeter Wemm#
94639f2269fSPeter Wemmacs_ulcorner			OTG2	str	G2	-		-	-----	single upper left
94739f2269fSPeter Wemmacs_llcorner			OTG3	str	G3	-		-	-----	single lower left
94839f2269fSPeter Wemmacs_urcorner			OTG1	str	G1	-		-	-----	single upper right
94939f2269fSPeter Wemmacs_lrcorner			OTG4	str	G4	-		-	-----	single lower right
95039f2269fSPeter Wemmacs_ltee			OTGR	str	GR	-		-	-----	tee pointing right
95139f2269fSPeter Wemmacs_rtee			OTGL	str	GL	-		-	-----	tee pointing left
95239f2269fSPeter Wemmacs_btee			OTGU	str	GU	-		-	-----	tee pointing up
95339f2269fSPeter Wemmacs_ttee			OTGD	str	GD	-		-	-----	tee pointing down
9540e3d5408SPeter Wemmacs_hline			OTGH	str	GH	-		-	-----	single horizontal line
9550e3d5408SPeter Wemmacs_vline			OTGV	str	GV	-		-	-----	single vertical line
9560e3d5408SPeter Wemmacs_plus			OTGC	str	GC	-		-	-----	single intersection
9570e3d5408SPeter Wemm#
9580e3d5408SPeter Wemm#############################################################################
9590e3d5408SPeter Wemm#
9600e3d5408SPeter Wemm# TERMINFO EXTENSION CAPABILITIES
9610e3d5408SPeter Wemm#
9620e3d5408SPeter Wemm# (see Caps-ncurses for the complete set of comments)
9630e3d5408SPeter Wemm#
9640e3d5408SPeter Wemmmemory_lock			meml	str	ml	-		-	----K	lock memory above cursor
9650e3d5408SPeter Wemmmemory_unlock			memu	str	mu	-		-	----K	unlock memory
9660e3d5408SPeter Wemmbox_chars_1			box1	str	bx	-		-	----K	box characters primary set
9670e3d5408SPeter Wemm#############################################################################
9680e3d5408SPeter Wemm