xref: /freebsd/share/termcap/termcap.5 (revision c2d6966a951d53144707facae9b624de03aeb20f)
1afe61c15SRodney W. Grimes.\" Copyright (c) 1985, 1991, 1993, 1994
2afe61c15SRodney W. Grimes.\"	The Regents of the University of California.  All rights reserved.
3afe61c15SRodney W. Grimes.\"
4afe61c15SRodney W. Grimes.\" Redistribution and use in source and binary forms, with or without
5afe61c15SRodney W. Grimes.\" modification, are permitted provided that the following conditions
6afe61c15SRodney W. Grimes.\" are met:
7afe61c15SRodney W. Grimes.\" 1. Redistributions of source code must retain the above copyright
8afe61c15SRodney W. Grimes.\"    notice, this list of conditions and the following disclaimer.
9afe61c15SRodney W. Grimes.\" 2. Redistributions in binary form must reproduce the above copyright
10afe61c15SRodney W. Grimes.\"    notice, this list of conditions and the following disclaimer in the
11afe61c15SRodney W. Grimes.\"    documentation and/or other materials provided with the distribution.
12afe61c15SRodney W. Grimes.\" 3. All advertising materials mentioning features or use of this software
13afe61c15SRodney W. Grimes.\"    must display the following acknowledgement:
14afe61c15SRodney W. Grimes.\"	This product includes software developed by the University of
15afe61c15SRodney W. Grimes.\"	California, Berkeley and its contributors.
16afe61c15SRodney W. Grimes.\" 4. Neither the name of the University nor the names of its contributors
17afe61c15SRodney W. Grimes.\"    may be used to endorse or promote products derived from this software
18afe61c15SRodney W. Grimes.\"    without specific prior written permission.
19afe61c15SRodney W. Grimes.\"
20afe61c15SRodney W. Grimes.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
21afe61c15SRodney W. Grimes.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
22afe61c15SRodney W. Grimes.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
23afe61c15SRodney W. Grimes.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
24afe61c15SRodney W. Grimes.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
25afe61c15SRodney W. Grimes.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
26afe61c15SRodney W. Grimes.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
27afe61c15SRodney W. Grimes.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
28afe61c15SRodney W. Grimes.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
29afe61c15SRodney W. Grimes.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
30afe61c15SRodney W. Grimes.\" SUCH DAMAGE.
31afe61c15SRodney W. Grimes.\"
32afe61c15SRodney W. Grimes.\"     @(#)termcap.5	8.3 (Berkeley) 4/16/94
33d29578eaSAndrey A. Chernov.\"
34d29578eaSAndrey A. Chernov.\" /***************************************************************************
35d29578eaSAndrey A. Chernov.\" *                            COPYRIGHT NOTICE                              *
36d29578eaSAndrey A. Chernov.\" ****************************************************************************
37d29578eaSAndrey A. Chernov.\" *                ncurses is copyright (C) 1992-1995                        *
38d29578eaSAndrey A. Chernov.\" *                          Zeyd M. Ben-Halim                               *
39d29578eaSAndrey A. Chernov.\" *                          zmbenhal@netcom.com                             *
40d29578eaSAndrey A. Chernov.\" *                          Eric S. Raymond                                 *
41d29578eaSAndrey A. Chernov.\" *                          esr@snark.thyrsus.com                           *
42d29578eaSAndrey A. Chernov.\" *                                                                          *
43d29578eaSAndrey A. Chernov.\" *        Permission is hereby granted to reproduce and distribute ncurses  *
44d29578eaSAndrey A. Chernov.\" *        by any means and for any fee, whether alone or as part of a       *
45d29578eaSAndrey A. Chernov.\" *        larger distribution, in source or in binary form, PROVIDED        *
46d29578eaSAndrey A. Chernov.\" *        this notice is included with any such distribution, and is not    *
47d29578eaSAndrey A. Chernov.\" *        removed from any of its header files. Mention of ncurses in any   *
48d29578eaSAndrey A. Chernov.\" *        applications linked with it is highly appreciated.                *
49d29578eaSAndrey A. Chernov.\" *                                                                          *
50d29578eaSAndrey A. Chernov.\" *        ncurses comes AS IS with no warranty, implied or expressed.       *
51d29578eaSAndrey A. Chernov.\" *                                                                          *
52d29578eaSAndrey A. Chernov.\" ***************************************************************************/
53d29578eaSAndrey A. Chernov.\"
547f3dea24SPeter Wemm.\" $FreeBSD$
55afe61c15SRodney W. Grimes.\"
56afe61c15SRodney W. Grimes.Dd April 16, 1994
57afe61c15SRodney W. Grimes.Dt TERMCAP 5
583d45e180SRuslan Ermilov.Os
59afe61c15SRodney W. Grimes.Sh NAME
60afe61c15SRodney W. Grimes.Nm termcap
61afe61c15SRodney W. Grimes.Nd terminal capability data base
62afe61c15SRodney W. Grimes.Sh SYNOPSIS
6336ab9525SJohn-Mark Gurney.Nm
64afe61c15SRodney W. Grimes.Sh DESCRIPTION
65afe61c15SRodney W. GrimesThe
6636ab9525SJohn-Mark Gurney.Nm
67afe61c15SRodney W. Grimesfile
68afe61c15SRodney W. Grimesis a data base describing terminals,
69afe61c15SRodney W. Grimesused,
70afe61c15SRodney W. Grimesfor example,
71afe61c15SRodney W. Grimesby
72afe61c15SRodney W. Grimes.Xr \&vi 1
73afe61c15SRodney W. Grimesand
74436aece8SNik Clayton.Xr ncurses 3 .
75afe61c15SRodney W. GrimesTerminals are described in
7636ab9525SJohn-Mark Gurney.Nm
77afe61c15SRodney W. Grimesby giving a set of capabilities that they have and by describing
78afe61c15SRodney W. Grimeshow operations are performed.
79afe61c15SRodney W. GrimesPadding requirements and initialization sequences
80afe61c15SRodney W. Grimesare included in
814b66483fSRuslan Ermilov.Nm .
82afe61c15SRodney W. Grimes.Pp
83afe61c15SRodney W. GrimesEntries in
8436ab9525SJohn-Mark Gurney.Nm
85afe61c15SRodney W. Grimesconsist of a number of `:'-separated fields.
86afe61c15SRodney W. GrimesThe first entry for each terminal gives the names that are known for the
87afe61c15SRodney W. Grimesterminal, separated by `|' characters.
88afe61c15SRodney W. GrimesThe first name given is the most common abbreviation for the terminal.
89afe61c15SRodney W. GrimesThe last name given should be a long name fully identifying the terminal,
90afe61c15SRodney W. Grimesand all others are understood as synonyms for the terminal name.
91afe61c15SRodney W. GrimesAll names but the last should be in lower case and contain no blanks;
92afe61c15SRodney W. Grimesthe last name may well contain upper case characters and blanks for
93afe61c15SRodney W. Grimesreadability.
94afe61c15SRodney W. Grimes.Pp
95afe61c15SRodney W. GrimesTerminal names (except for the last, verbose entry)
96afe61c15SRodney W. Grimesshould be chosen using the following conventions.
97afe61c15SRodney W. GrimesThe particular piece of hardware making up the terminal
98afe61c15SRodney W. Grimesshould have a root name chosen, thus
99afe61c15SRodney W. Grimes.Dq hp2621
100afe61c15SRodney W. GrimesThis name should not contain hyphens.
101afe61c15SRodney W. GrimesModes that the hardware can be in
102afe61c15SRodney W. Grimesor user preferences
103afe61c15SRodney W. Grimesshould be indicated by appending a hyphen and an indicator of the mode.
104afe61c15SRodney W. GrimesTherefore, a
105afe61c15SRodney W. Grimes.Dq vt100
106afe61c15SRodney W. Grimesin 132-column mode would be
107afe61c15SRodney W. Grimes.Dq vt100-w .
108afe61c15SRodney W. GrimesThe following suffixes should be used where possible:
109afe61c15SRodney W. Grimes.Pp
11046eea498SRuslan Ermilov.Bl -column indent "With automatic margins (usually default)xx" -offset indent
1113136363fSRuslan Ermilov.Sy "Suffix	Meaning	Example"
112afe61c15SRodney W. Grimes-w	Wide mode (more than 80 columns)	vt100-w
113afe61c15SRodney W. Grimes-am	With automatic margins (usually default)	vt100-am
114afe61c15SRodney W. Grimes-nam	Without automatic margins	vt100-nam
115afe61c15SRodney W. Grimes.Pf \- Ar n Ta No "Number of lines on screen	aaa-60"
116afe61c15SRodney W. Grimes-na	No arrow keys (leave them in local)	concept100-na
117afe61c15SRodney W. Grimes.Pf \- Ar \&np Ta No "Number of pages of memory	concept100-4p"
118afe61c15SRodney W. Grimes-rv	Reverse video	concept100-rv
119afe61c15SRodney W. Grimes.El
120afe61c15SRodney W. Grimes.Sh CAPABILITIES
121d29578eaSAndrey A. ChernovThe description field attempts to convey the semantics of the
1226d249eeeSSheldon Hearncapability.
1236d249eeeSSheldon HearnYou may find some codes in the description field:
124afe61c15SRodney W. Grimes.Pp
125d29578eaSAndrey A. Chernov.Bl -tag -width #[1-9]
126d29578eaSAndrey A. Chernov.It (P)
127d29578eaSAndrey A. Chernovindicates that padding may be specified.
128d29578eaSAndrey A. Chernov.It #[1-9]
129d29578eaSAndrey A. Chernovin the description field indicates that the string is passed through
130c2d6966aSPhilippe Charnier.Xr tparm 3
131d29578eaSAndrey A. Chernovor
132c2d6966aSPhilippe Charnier.Xr tgoto 3
133d29578eaSAndrey A. Chernovwith parms as given (#\fIi\fP).
134d29578eaSAndrey A. Chernov.It (P*)
135d29578eaSAndrey A. Chernovindicates that padding may vary in proportion to the number of
136d29578eaSAndrey A. Chernovlines affected.
137d29578eaSAndrey A. Chernov.It (#\d\fIi\fP\u)
138d29578eaSAndrey A. Chernovindicates the \fIi\fP\uth\d parameter.
139d29578eaSAndrey A. Chernov.El
140d29578eaSAndrey A. Chernov.Pp
141d29578eaSAndrey A. ChernovThese are the boolean capabilities:
142d29578eaSAndrey A. Chernov.Bd -literal
143d29578eaSAndrey A. Chernov\fBBoolean			TCap	Description\fR
144d29578eaSAndrey A. Chernov\fBVariables		Code\fR
145d29578eaSAndrey A. Chernovauto_left_margin	bw	cursor_left wraps from column 0	to last
146d29578eaSAndrey A. Chernov				column
147d29578eaSAndrey A. Chernovauto_right_margin	am	terminal has automatic margins
148d29578eaSAndrey A. Chernovno_esc_ctlc		xb	beehive	(f1=escape, f2=ctrl C)
149d29578eaSAndrey A. Chernovceol_standout_glitch	xs	standout not erased by overwriting (hp)
150d29578eaSAndrey A. Chernoveat_newline_glitch	xn	newline	ignored	after 80 cols (concept)
151d29578eaSAndrey A. Chernoverase_overstrike	eo	can erase overstrikes with a blank
152d29578eaSAndrey A. Chernovgeneric_type		gn	generic	line type
153d29578eaSAndrey A. Chernovhard_copy		hc	hardcopy terminal
154d29578eaSAndrey A. Chernovhas_meta_key		km	Has a meta key,	sets msb high
155d29578eaSAndrey A. Chernovhas_status_line		hs	has extra status line
156d29578eaSAndrey A. Chernovinsert_null_glitch	in	insert mode distinguishes nulls
157d29578eaSAndrey A. Chernovmemory_above		da	display	may be retained	above the screen
158d29578eaSAndrey A. Chernovmemory_below		db	display	may be retained	below the screen
159d29578eaSAndrey A. Chernovmove_insert_mode	mi	safe to	move while in insert mode
160d29578eaSAndrey A. Chernovmove_standout_mode	ms	safe to	move while in standout mode
161d29578eaSAndrey A. Chernovover_strike		os	terminal can overstrike
162d29578eaSAndrey A. Chernovstatus_line_esc_ok	es	escape can be used on the status line
163d29578eaSAndrey A. Chernovdest_tabs_magic_smso	xt	tabs destructive, magic	so char	(t1061)
164d29578eaSAndrey A. Chernovtilde_glitch		hz	can't print ~'s	(hazeltine)
165d29578eaSAndrey A. Chernovtransparent_underline	ul	underline character overstrikes
166d29578eaSAndrey A. Chernovxon_xoff		xo	terminal uses xon/xoff handshaking
167d29578eaSAndrey A. Chernovneeds_xon_xoff		nx	padding	won't work, xon/xoff required
168d29578eaSAndrey A. Chernovprtr_silent		5i	printer	won't echo on screen
169d29578eaSAndrey A. Chernovhard_cursor		HC	cursor is hard to see
170d29578eaSAndrey A. Chernovnon_rev_rmcup		NR	enter_ca_mode does not reverse exit_ca_mode
171d29578eaSAndrey A. Chernovno_pad_char		NP	pad character does not exist
172d29578eaSAndrey A. Chernovnon_dest_scroll_region	ND	scrolling region is non-destructive
173d29578eaSAndrey A. Chernovcan_change		cc	terminal can re-define existing	colors
174d29578eaSAndrey A. Chernovback_color_erase	ut	screen erased with background color
175d29578eaSAndrey A. Chernovhue_lightness_saturation	hl	terminal uses only HLS color
176d29578eaSAndrey A. Chernov					notation (tektronix)
177d29578eaSAndrey A. Chernovcol_addr_glitch		YA	only positive motion for column	address	and
178d29578eaSAndrey A. Chernov				micro_column_address caps
179d29578eaSAndrey A. Chernovcr_cancels_micro_mode	YB	using cr turns off micro mode
180d29578eaSAndrey A. Chernovhas_print_wheel		YC	printer	needs operator to change character
181d29578eaSAndrey A. Chernov				set
182d29578eaSAndrey A. Chernovrow_addr_glitch		YD	only positive motion for row_address and
183d29578eaSAndrey A. Chernov				micro_row_address caps
184d29578eaSAndrey A. Chernovsemi_auto_right_margin	YE	printing in last column	causes cr
185d29578eaSAndrey A. Chernovcpi_changes_res		YF	changing character pitch changes resolution
186d29578eaSAndrey A. Chernovlpi_changes_res		YG	changing line pitch changes resolution
187afe61c15SRodney W. Grimes.Ed
188afe61c15SRodney W. Grimes.Pp
189d29578eaSAndrey A. ChernovThese are the numeric capabilities:
190d29578eaSAndrey A. Chernov.Bd -literal
191d29578eaSAndrey A. Chernov\fBNumeric			TCap	Description\fR
192d29578eaSAndrey A. Chernov\fBVariables		Code\fR
193d29578eaSAndrey A. Chernovcolumns			co	number of columns in aline
194d29578eaSAndrey A. Chernovinit_tabs		it	tabs initially every # spaces
195d29578eaSAndrey A. Chernovlines			li	number of lines	on screen or page
196d29578eaSAndrey A. Chernovlines_of_memory		lm	lines of memory	if > line. 0 =>	varies
197d29578eaSAndrey A. Chernovmagic_cookie_glitch	sg	number of blank	chars left by
198d29578eaSAndrey A. Chernov				enter_standout_mode or exit_standout_mode
199d29578eaSAndrey A. Chernovpadding_baud_rate	pb	lowest baud rate where padding needed
200d29578eaSAndrey A. Chernovvirtual_terminal	vt	virtual	terminal number	(CB/unix)
201d29578eaSAndrey A. Chernovwidth_status_line	ws	columns	in status line
202d29578eaSAndrey A. Chernovnum_labels		Nl	number of labels on screen
203d29578eaSAndrey A. Chernovlabel_height		lh	rows in	each label
204d29578eaSAndrey A. Chernovlabel_width		lw	columns	in each	label
205d29578eaSAndrey A. Chernovmax_attributes		ma	maximum	combined attributes terminal can
206d29578eaSAndrey A. Chernov				handle
2071499abeeSPoul-Henning Kampmaximum_windows		MW	maximum	number of definable windows
208d29578eaSAndrey A. Chernovmagic_cookie_glitch_ul	ug	number of blanks left by underline
209d29578eaSAndrey A. Chernov#
210d29578eaSAndrey A. Chernov# These came in with SVr4's color support
211d29578eaSAndrey A. Chernov#
212d29578eaSAndrey A. Chernovmax_colors		Co	maximum	numbers	of colors on screen
213d29578eaSAndrey A. Chernovmax_pairs		pa	maximum	number of color-pairs on the screen
214d29578eaSAndrey A. Chernovno_color_video		NC	video attributes that can't be used with
215d29578eaSAndrey A. Chernov				colors
216d29578eaSAndrey A. Chernov#
217d29578eaSAndrey A. Chernov# The following	numeric	capabilities are present in the	SVr4.0 term
218d29578eaSAndrey A. Chernov# structure, but are not yet documented	in the man page.
219d29578eaSAndrey A. Chernov# They came in with SVr4's printer support.
220d29578eaSAndrey A. Chernov#
221d29578eaSAndrey A. Chernovbuffer_capacity		Ya	numbers	of bytes buffered before printing
222d29578eaSAndrey A. Chernovdot_vert_spacing	Yb	spacing	of pins	vertically in pins per inch
223d29578eaSAndrey A. Chernovdot_horz_spacing	Yc	spacing	of dots	horizontally in	dots per
224d29578eaSAndrey A. Chernov				inch
225d29578eaSAndrey A. Chernovmax_micro_address	Yd	maximum	value in micro_..._address
226d29578eaSAndrey A. Chernovmax_micro_jump		Ye	maximum	value in parm_..._micro
227d29578eaSAndrey A. Chernovmicro_char_size		Yf	character size when in micro mode
228d29578eaSAndrey A. Chernovmicro_line_size		Yg	line size when in micro	mode
229d29578eaSAndrey A. Chernovnumber_of_pins		Yh	numbers	of pins	in print-head
230d29578eaSAndrey A. Chernovoutput_res_char		Yi	horizontal resolution in units per line
231d29578eaSAndrey A. Chernovoutput_res_line		Yj	vertical resolution in units per line
232d29578eaSAndrey A. Chernovoutput_res_horz_inch	Yk	horizontal resolution in units per inch
233d29578eaSAndrey A. Chernovoutput_res_vert_inch	Yl	vertical resolution in units per inch
234d29578eaSAndrey A. Chernovprint_rate		Ym	print rate in chars per	second
235d29578eaSAndrey A. Chernovwide_char_size		Yn	character step size when in double wide
236d29578eaSAndrey A. Chernov				mode
237d29578eaSAndrey A. Chernovbuttons			BT	number of buttons on mouse
238d29578eaSAndrey A. Chernovbit_image_entwining	Yo	number of passed for each bit-image row
239d29578eaSAndrey A. Chernovbit_image_type		Yp	type of	bit-image device
240d29578eaSAndrey A. Chernov.Ed
241d29578eaSAndrey A. Chernov.Pp
242d29578eaSAndrey A. ChernovThese are the string capabilities:
243d29578eaSAndrey A. Chernov.Bd -literal
244d29578eaSAndrey A. Chernov\fBString			TCap	Description\fR
245d29578eaSAndrey A. Chernov\fBVariables		Code\fR
246d29578eaSAndrey A. Chernovback_tab		bt	back tab (P)
247d29578eaSAndrey A. Chernovbell			bl	audible	signal (bell) (P)
248d29578eaSAndrey A. Chernovcarriage_return		cr	carriage return	(P*)
249d29578eaSAndrey A. Chernovchange_scroll_region	cs	change region to line #1 to line #2 (P)
250d29578eaSAndrey A. Chernovclear_all_tabs		ct	clear all tab stops (P)
251d29578eaSAndrey A. Chernovclear_screen		cl	clear screen and home cursor (P*)
252d29578eaSAndrey A. Chernovclr_eol			ce	clear to end of	line (P)
253d29578eaSAndrey A. Chernovclr_eos			cd	clear to end of	screen (P*)
254d29578eaSAndrey A. Chernovcolumn_address		ch	horizontal position #1,	absolute (P)
255d29578eaSAndrey A. Chernovcommand_character	CC	terminal settable cmd character	in
256d29578eaSAndrey A. Chernov				prototype
257d29578eaSAndrey A. Chernovcursor_address		cm	move to	row #1 columns #2
258d29578eaSAndrey A. Chernovcursor_down		do	down one line
259d29578eaSAndrey A. Chernovcursor_home		ho	home cursor
260d29578eaSAndrey A. Chernovcursor_invisible	vi	make cursor invisible
261d29578eaSAndrey A. Chernovcursor_left		le	move left one space
262d29578eaSAndrey A. Chernovcursor_mem_address	CM	memory relative	cursor addressing
263d29578eaSAndrey A. Chernovcursor_normal		ve	make cursor appear normal (undo
264d29578eaSAndrey A. Chernov				cursor_invisible/cursor_visible)
265d29578eaSAndrey A. Chernovcursor_right		nd	move right one space
266d29578eaSAndrey A. Chernovcursor_to_ll		ll	last line, first column
267d29578eaSAndrey A. Chernovcursor_up		up	up one line
268d29578eaSAndrey A. Chernovcursor_visible		vs	make cursor very visible
269d29578eaSAndrey A. Chernovdelete_character	dc	delete character (P*)
270d29578eaSAndrey A. Chernovdelete_line		dl	delete line (P*)
271d29578eaSAndrey A. Chernovdis_status_line		ds	disable	status line
272d29578eaSAndrey A. Chernovdown_half_line		hd	half a line down
273d29578eaSAndrey A. Chernoventer_alt_charset_mode	as	start alternate	character set (P)
274d29578eaSAndrey A. Chernoventer_blink_mode	mb	turn on	blinking
275d29578eaSAndrey A. Chernoventer_bold_mode		md	turn on	bold (extra bright) mode
276d29578eaSAndrey A. Chernoventer_ca_mode		ti	string to start	programs using
277d29578eaSAndrey A. Chernov				cursor_address
278d29578eaSAndrey A. Chernoventer_delete_mode	dm	enter delete mode
279d29578eaSAndrey A. Chernoventer_dim_mode		mh	turn on	half-bright mode
280d29578eaSAndrey A. Chernoventer_insert_mode	im	enter insert mode
281d29578eaSAndrey A. Chernoventer_secure_mode	mk	turn on	blank mode (characters invisible)
282d29578eaSAndrey A. Chernoventer_protected_mode	mp	turn on	protected mode
283d29578eaSAndrey A. Chernoventer_reverse_mode	mr	turn on	reverse	video mode
284d29578eaSAndrey A. Chernoventer_standout_mode	so	begin standout mode
285d29578eaSAndrey A. Chernoventer_underline_mode	us	begin underline	mode
286d29578eaSAndrey A. Chernoverase_chars		ec	erase #1 characters (P)
287d29578eaSAndrey A. Chernovexit_alt_charset_mode	ae	end alternate character	set (P)
288d29578eaSAndrey A. Chernovexit_attribute_mode	me	turn off all attributes
289d29578eaSAndrey A. Chernovexit_ca_mode		te	strings	to end programs	using cup
290d29578eaSAndrey A. Chernovexit_delete_mode	ed	end delete mode
291d29578eaSAndrey A. Chernovexit_insert_mode	ei	exit insert mode
292d29578eaSAndrey A. Chernovexit_standout_mode	se	exit standout mode
293d29578eaSAndrey A. Chernovexit_underline_mode	ue	exit underline mode
294d29578eaSAndrey A. Chernovflash_screen		vb	visible	bell (may not move cursor)
295d29578eaSAndrey A. Chernovform_feed		ff	hardcopy terminal page eject (P*)
296d29578eaSAndrey A. Chernovfrom_status_line	fs	return from status line
297d29578eaSAndrey A. Chernovinit_1string		i1	initialization string
298d29578eaSAndrey A. Chernovinit_2string		is	initialization string
299d29578eaSAndrey A. Chernovinit_3string		i3	initialization string
300d29578eaSAndrey A. Chernovinit_file		if	name of	initialization file
301d29578eaSAndrey A. Chernovinsert_character	ic	insert character (P)
302d29578eaSAndrey A. Chernovinsert_line		al	insert line (P*)
303d29578eaSAndrey A. Chernovinsert_padding		ip	insert padding after inserted character
304d29578eaSAndrey A. Chernovkey_backspace		kb	backspace key
305d29578eaSAndrey A. Chernovkey_catab		ka	clear-all-tabs key
306d29578eaSAndrey A. Chernovkey_clear		kC	clear-screen or	erase key
307d29578eaSAndrey A. Chernovkey_ctab		kt	clear-tab key
308d29578eaSAndrey A. Chernovkey_dc			kD	delete-character key
309d29578eaSAndrey A. Chernovkey_dl			kL	delete-line key
310d29578eaSAndrey A. Chernovkey_down		kd	down-arrow key
311d29578eaSAndrey A. Chernovkey_eic			kM	sent by	rmir or	smir in	insert mode
312d29578eaSAndrey A. Chernovkey_eol			kE	clear-to-end-of-line key
313d29578eaSAndrey A. Chernovkey_eos			kS	clear-to-end-of-screen key
314d29578eaSAndrey A. Chernovkey_f0			k0	F0 function key
315d29578eaSAndrey A. Chernovkey_f1			k1	F1 function key
316d29578eaSAndrey A. Chernovkey_f10			k;	F10 function key
317d29578eaSAndrey A. Chernovkey_f2			k2	F2 function key
318d29578eaSAndrey A. Chernovkey_f3			k3	F3 function key
319d29578eaSAndrey A. Chernovkey_f4			k4	F4 function key
320d29578eaSAndrey A. Chernovkey_f5			k5	F5 function key
321d29578eaSAndrey A. Chernovkey_f6			k6	F6 function key
322d29578eaSAndrey A. Chernovkey_f7			k7	F7 function key
3231499abeeSPoul-Henning Kampkey_f8			k8	F8 function key
324d29578eaSAndrey A. Chernovkey_f9			k9	F9 function key
325d29578eaSAndrey A. Chernovkey_home		kh	home key
326d29578eaSAndrey A. Chernovkey_ic			kI	insert-character key
327d29578eaSAndrey A. Chernovkey_il			kA	insert-line key
328d29578eaSAndrey A. Chernovkey_left		kl	left-arrow key
329d29578eaSAndrey A. Chernovkey_ll			kH	last-line key
330d29578eaSAndrey A. Chernovkey_npage		kN	next-page key
331d29578eaSAndrey A. Chernovkey_ppage		kP	prev-page key
332d29578eaSAndrey A. Chernovkey_right		kr	right-arrow key
333d29578eaSAndrey A. Chernovkey_sf			kF	scroll-forward key
334d29578eaSAndrey A. Chernovkey_sr			kR	scroll-backward	key
335d29578eaSAndrey A. Chernovkey_stab		kT	set-tab	key
336d29578eaSAndrey A. Chernovkey_up			ku	up-arrow key
337d29578eaSAndrey A. Chernovkeypad_local		ke	leave 'keyboard_transmit' mode
338d29578eaSAndrey A. Chernovkeypad_xmit		ks	enter 'keyboard_transmit' mode
339d29578eaSAndrey A. Chernovlab_f0			l0	label on function key f0 if not	f0
340d29578eaSAndrey A. Chernovlab_f1			l1	label on function key f1 if not	f1
341d29578eaSAndrey A. Chernovlab_f10			la	label on function key f10 if not f10
342d29578eaSAndrey A. Chernovlab_f2			l2	label on function key f2 if not	f2
343d29578eaSAndrey A. Chernovlab_f3			l3	label on function key f3 if not	f3
344d29578eaSAndrey A. Chernovlab_f4			l4	label on function key f4 if not	f4
345d83e0741STim Vanderhoeklab_f5			l5	label on function key f5 if not	f5
346d29578eaSAndrey A. Chernovlab_f6			l6	label on function key f6 if not	f6
347d29578eaSAndrey A. Chernovlab_f7			l7	label on function key f7 if not	f7
348d29578eaSAndrey A. Chernovlab_f8			l8	label on function key f8 if not	f8
349d29578eaSAndrey A. Chernovlab_f9			l9	label on function key f9 if not	f9
350d29578eaSAndrey A. Chernovmeta_off		mo	turn off meta mode
351d29578eaSAndrey A. Chernovmeta_on			mm	turn on	meta mode (8th-bit on)
352d29578eaSAndrey A. Chernovnewline			nw	newline	(behave	like cr	followed by lf)
353d29578eaSAndrey A. Chernovpad_char		pc	padding	char (instead of null)
354d29578eaSAndrey A. Chernovparm_dch		DC	delete #1 chars	(P*)
355d29578eaSAndrey A. Chernovparm_delete_line	DL	delete #1 lines	(P*)
356d29578eaSAndrey A. Chernovparm_down_cursor	DO	down #1	lines (P*)
357d29578eaSAndrey A. Chernovparm_ich		IC	insert #1 chars	(P*)
358d29578eaSAndrey A. Chernovparm_index		SF	scroll forward #1 lines	(P)
359d29578eaSAndrey A. Chernovparm_insert_line	AL	insert #1 lines	(P*)
360d29578eaSAndrey A. Chernovparm_left_cursor	LE	move #1	chars to the left (P)
361d29578eaSAndrey A. Chernovparm_right_cursor	RI	move #1	chars to the right (P*)
362d29578eaSAndrey A. Chernovparm_rindex		SR	scroll back #1 lines (P)
363d29578eaSAndrey A. Chernovparm_up_cursor		UP	up #1 lines (P*)
364d29578eaSAndrey A. Chernovpkey_key		pk	program	function key #1	to type	string #2
365d29578eaSAndrey A. Chernovpkey_local		pl	program	function key #1	to execute
366d29578eaSAndrey A. Chernov				string #2
367d29578eaSAndrey A. Chernovpkey_xmit		px	program	function key #1	to transmit
368d29578eaSAndrey A. Chernov				string #2
369d29578eaSAndrey A. Chernovprint_screen		ps	print contents of screen
370d29578eaSAndrey A. Chernovprtr_off		pf	turn off printer
371d29578eaSAndrey A. Chernovprtr_on			po	turn on	printer
372d29578eaSAndrey A. Chernovrepeat_char		rp	repeat char #1 #2 times	(P*)
373d29578eaSAndrey A. Chernovreset_1string		r1	reset string
374d29578eaSAndrey A. Chernovreset_2string		r2	reset string
375d29578eaSAndrey A. Chernovreset_3string		r3	reset string
376d29578eaSAndrey A. Chernovreset_file		rf	name of	reset file
377d29578eaSAndrey A. Chernovrestore_cursor		rc	restore	cursor to last position	of
378d29578eaSAndrey A. Chernov				save_cursor
379d29578eaSAndrey A. Chernovrow_address		cv	vertical position #1 absolute (P)
380d29578eaSAndrey A. Chernovsave_cursor		sc	save current cursor position (P)
381d29578eaSAndrey A. Chernovscroll_forward		sf	scroll text up (P)
382d29578eaSAndrey A. Chernovscroll_reverse		sr	scroll text down (P)
383d29578eaSAndrey A. Chernovset_attributes		sa	define video attributes	#1-#9 (PG9)
384d29578eaSAndrey A. Chernovset_tab			st	set a tab in every row,	current	columns
385d29578eaSAndrey A. Chernovset_window		wi	current	window is lines	#1-#2 cols #3-#4
386d29578eaSAndrey A. Chernovtab			ta	tab to next 8-space hardware tab stop
387d29578eaSAndrey A. Chernovto_status_line		ts	move to	status line
388d29578eaSAndrey A. Chernovunderline_char		uc	underline char and move	past it
389d29578eaSAndrey A. Chernovup_half_line		hu	half a line up
390d29578eaSAndrey A. Chernovinit_prog		iP	path name of program for initialization
391d29578eaSAndrey A. Chernovkey_a1			K1	upper left of keypad
392d29578eaSAndrey A. Chernovkey_a3			K3	upper right of keypad
393d29578eaSAndrey A. Chernovkey_b2			K2	center of keypad
394d29578eaSAndrey A. Chernovkey_c1			K4	lower left of keypad
395d29578eaSAndrey A. Chernovkey_c3			K5	lower right of keypad
396d29578eaSAndrey A. Chernovprtr_non		pO	turn on	printer	for #1 bytes
397d29578eaSAndrey A. Chernovtermcap_init2		i2	secondary initialization string
398d29578eaSAndrey A. Chernovtermcap_reset		rs	terminal reset string
399d29578eaSAndrey A. Chernov#
400d29578eaSAndrey A. Chernov# SVr1 capabilities stop here.	IBM's version of terminfo is the same as
401d29578eaSAndrey A. Chernov# SVr4 up to this point, but has a different set afterwards.
402d29578eaSAndrey A. Chernov#
403d29578eaSAndrey A. Chernovchar_padding		rP	like insert_padding but	when in	insert mode
404d29578eaSAndrey A. Chernovacs_chars		ac	graphics charset pairs - def=vt100
405d29578eaSAndrey A. Chernovplab_norm		pn	program	label #1 to show string	#2
406d29578eaSAndrey A. Chernovkey_btab		kB	back-tab key
407d29578eaSAndrey A. Chernoventer_xon_mode		SX	turn on	xon/xoff handshaking
408d29578eaSAndrey A. Chernovexit_xon_mode		RX	turn off xon/xoff handshaking
409d29578eaSAndrey A. Chernoventer_am_mode		SA	turn on	automatic margins
410d29578eaSAndrey A. Chernovexit_am_mode		RA	turn off automatic margins
411d29578eaSAndrey A. Chernovxon_character		XN	XON character
412d29578eaSAndrey A. Chernovxoff_character		XF	XOFF character
413d29578eaSAndrey A. Chernovena_acs			eA	enable alternate char set
414d29578eaSAndrey A. Chernovlabel_on		LO	turn on	soft labels
415d29578eaSAndrey A. Chernovlabel_off		LF	turn off soft labels
416d29578eaSAndrey A. Chernovkey_beg			@1	begin key
417d29578eaSAndrey A. Chernovkey_cancel		@2	cancel key
418d29578eaSAndrey A. Chernovkey_close		@3	close key
419d29578eaSAndrey A. Chernovkey_command		@4	command	key
420d29578eaSAndrey A. Chernovkey_copy		@5	copy key
421d29578eaSAndrey A. Chernovkey_create		@6	create key
422d29578eaSAndrey A. Chernovkey_end			@7	end key
423d29578eaSAndrey A. Chernovkey_enter		@8	enter/send key
424d29578eaSAndrey A. Chernovkey_exit		@9	exit key
425d29578eaSAndrey A. Chernovkey_find		@0	find key
426d29578eaSAndrey A. Chernovkey_help		%1	help key
427d29578eaSAndrey A. Chernovkey_mark		%2	mark key
428d29578eaSAndrey A. Chernovkey_message		%3	message	key
429d29578eaSAndrey A. Chernovkey_move		%4	move key
430d29578eaSAndrey A. Chernovkey_next		%5	next key
431d29578eaSAndrey A. Chernovkey_open		%6	open key
432d29578eaSAndrey A. Chernovkey_options		%7	options	key
433d29578eaSAndrey A. Chernovkey_previous		%8	previous key
434d29578eaSAndrey A. Chernovkey_print		%9	print key
435d29578eaSAndrey A. Chernovkey_redo		%0	redo key
436d29578eaSAndrey A. Chernovkey_reference		&1	reference key
437d29578eaSAndrey A. Chernovkey_refresh		&2	refresh	key
438d29578eaSAndrey A. Chernovkey_replace		&3	replace	key
439d29578eaSAndrey A. Chernovkey_restart		&4	restart	key
440d29578eaSAndrey A. Chernovkey_resume		&5	resume key
441d29578eaSAndrey A. Chernovkey_save		&6	save key
442d29578eaSAndrey A. Chernovkey_suspend		&7	suspend	key
443d29578eaSAndrey A. Chernovkey_undo		&8	undo key
444d29578eaSAndrey A. Chernovkey_sbeg		&9	shifted	key
445d29578eaSAndrey A. Chernovkey_scancel		&0	shifted	key
446d29578eaSAndrey A. Chernovkey_scommand		*1	shifted	key
447d29578eaSAndrey A. Chernovkey_scopy		*2	shifted	key
448d29578eaSAndrey A. Chernovkey_screate		*3	shifted	key
449d29578eaSAndrey A. Chernovkey_sdc			*4	shifted	key
450d29578eaSAndrey A. Chernovkey_sdl			*5	shifted	key
451d29578eaSAndrey A. Chernovkey_select		*6	select key
452d29578eaSAndrey A. Chernovkey_send		*7	shifted	key
453d29578eaSAndrey A. Chernovkey_seol		*8	shifted	key
454d29578eaSAndrey A. Chernovkey_sexit		*9	shifted	key
455d29578eaSAndrey A. Chernovkey_sfind		*0	shifted	key
456d29578eaSAndrey A. Chernovkey_shelp		#1	shifted	key
457d29578eaSAndrey A. Chernovkey_shome		#2	shifted	key
458d29578eaSAndrey A. Chernovkey_sic			#3	shifted	key
459d29578eaSAndrey A. Chernovkey_sleft		#4	shifted	key
460d29578eaSAndrey A. Chernovkey_smessage		%a	shifted	key
461d29578eaSAndrey A. Chernovkey_smove		%b	shifted	key
462d29578eaSAndrey A. Chernovkey_snext		%c	shifted	key
463d29578eaSAndrey A. Chernovkey_soptions		%d	shifted	key
464d29578eaSAndrey A. Chernovkey_sprevious		%e	shifted	key
465d29578eaSAndrey A. Chernovkey_sprint		%f	shifted	key
466d29578eaSAndrey A. Chernovkey_sredo		%g	shifted	key
467d29578eaSAndrey A. Chernovkey_sreplace		%h	shifted	key
468d29578eaSAndrey A. Chernovkey_sright		%i	shifted	key
469d29578eaSAndrey A. Chernovkey_srsume		%j	shifted	key
470d29578eaSAndrey A. Chernovkey_ssave		!1	shifted	key
471d29578eaSAndrey A. Chernovkey_ssuspend		!2	shifted	key
472d29578eaSAndrey A. Chernovkey_sundo		!3	shifted	key
473d29578eaSAndrey A. Chernovreq_for_input		RF	send next input	char (for ptys)
474d29578eaSAndrey A. Chernovkey_f11			F1	F11 function key
475d29578eaSAndrey A. Chernovkey_f12			F2	F12 function key
476d29578eaSAndrey A. Chernovkey_f13			F3	F13 function key
477d29578eaSAndrey A. Chernovkey_f14			F4	F14 function key
478d29578eaSAndrey A. Chernovkey_f15			F5	F15 function key
479d29578eaSAndrey A. Chernovkey_f16			F6	F16 function key
480d29578eaSAndrey A. Chernovkey_f17			F7	F17 function key
481d29578eaSAndrey A. Chernovkey_f18			F8	F18 function key
482d29578eaSAndrey A. Chernovkey_f19			F9	F19 function key
483d29578eaSAndrey A. Chernovkey_f20			FA	F20 function key
484d29578eaSAndrey A. Chernovkey_f21			FB	F21 function key
485d29578eaSAndrey A. Chernovkey_f22			FC	F22 function key
486d29578eaSAndrey A. Chernovkey_f23			FD	F23 function key
487d29578eaSAndrey A. Chernovkey_f24			FE	F24 function key
488d29578eaSAndrey A. Chernovkey_f25			FF	F25 function key
489d29578eaSAndrey A. Chernovkey_f26			FG	F26 function key
490d29578eaSAndrey A. Chernovkey_f27			FH	F27 function key
491d29578eaSAndrey A. Chernovkey_f28			FI	F28 function key
492d29578eaSAndrey A. Chernovkey_f29			FJ	F29 function key
493d29578eaSAndrey A. Chernovkey_f30			FK	F30 function key
494d29578eaSAndrey A. Chernovkey_f31			FL	F31 function key
495d29578eaSAndrey A. Chernovkey_f32			FM	F32 function key
496d29578eaSAndrey A. Chernovkey_f33			FN	F33 function key
497d29578eaSAndrey A. Chernovkey_f34			FO	F34 function key
498d29578eaSAndrey A. Chernovkey_f35			FP	F35 function key
499d29578eaSAndrey A. Chernovkey_f36			FQ	F36 function key
500d29578eaSAndrey A. Chernovkey_f37			FR	F37 function key
501d29578eaSAndrey A. Chernovkey_f38			FS	F38 function key
502d29578eaSAndrey A. Chernovkey_f39			FT	F39 function key
503d29578eaSAndrey A. Chernovkey_f40			FU	F40 function key
504d29578eaSAndrey A. Chernovkey_f41			FV	F41 function key
505d29578eaSAndrey A. Chernovkey_f42			FW	F42 function key
506d29578eaSAndrey A. Chernovkey_f43			FX	F43 function key
507d29578eaSAndrey A. Chernovkey_f44			FY	F44 function key
508d29578eaSAndrey A. Chernovkey_f45			FZ	F45 function key
509d29578eaSAndrey A. Chernovkey_f46			Fa	F46 function key
510d29578eaSAndrey A. Chernovkey_f47			Fb	F47 function key
511d29578eaSAndrey A. Chernovkey_f48			Fc	F48 function key
512d29578eaSAndrey A. Chernovkey_f49			Fd	F49 function key
513d29578eaSAndrey A. Chernovkey_f50			Fe	F50 function key
514d29578eaSAndrey A. Chernovkey_f51			Ff	F51 function key
515d29578eaSAndrey A. Chernovkey_f52			Fg	F52 function key
516d29578eaSAndrey A. Chernovkey_f53			Fh	F53 function key
517d29578eaSAndrey A. Chernovkey_f54			Fi	F54 function key
518d29578eaSAndrey A. Chernovkey_f55			Fj	F55 function key
519d29578eaSAndrey A. Chernovkey_f56			Fk	F56 function key
520d29578eaSAndrey A. Chernovkey_f57			Fl	F57 function key
521d29578eaSAndrey A. Chernovkey_f58			Fm	F58 function key
522d29578eaSAndrey A. Chernovkey_f59			Fn	F59 function key
523d29578eaSAndrey A. Chernovkey_f60			Fo	F60 function key
524d29578eaSAndrey A. Chernovkey_f61			Fp	F61 function key
525d29578eaSAndrey A. Chernovkey_f62			Fq	F62 function key
526d29578eaSAndrey A. Chernovkey_f63			Fr	F63 function key
527d29578eaSAndrey A. Chernovclr_bol			cb	Clear to beginning of line
528d29578eaSAndrey A. Chernovclear_margins		MC	clear right and	left soft margins
529d29578eaSAndrey A. Chernovset_left_margin		ML	set left soft margin
530d29578eaSAndrey A. Chernovset_right_margin	MR	set right soft margin
531d29578eaSAndrey A. Chernovlabel_format		Lf	label format
532d29578eaSAndrey A. Chernovset_clock		SC	set clock, #1 hrs #2 mins #3 secs
533d29578eaSAndrey A. Chernovdisplay_clock		DK	display	clock at (#1,#2)
534d29578eaSAndrey A. Chernovremove_clock		RC	remove clock
535d29578eaSAndrey A. Chernovcreate_window		CW	define a window	#1 from	#2, #3 to #4, #5
536d29578eaSAndrey A. Chernovgoto_window		WG	go to window #1
537d29578eaSAndrey A. Chernovhangup			HU	hang-up	phone
538d29578eaSAndrey A. Chernovdial_phone		DI	dial number #1
539d29578eaSAndrey A. Chernovquick_dial		QD	dial number #1 without checking
540d29578eaSAndrey A. Chernovtone			TO	select touch tone dialing
541d29578eaSAndrey A. Chernovpulse			PU	select pulse dialling
542d29578eaSAndrey A. Chernovflash_hook		fh	flash switch hook
543d29578eaSAndrey A. Chernovfixed_pause		PA	pause for 2-3 seconds
544d29578eaSAndrey A. Chernovwait_tone		WA	wait for dial-tone
545d29578eaSAndrey A. Chernovuser0			u0	User string #0
546d29578eaSAndrey A. Chernovuser1			u1	User string #1
547d29578eaSAndrey A. Chernovuser2			u2	User string #2
548d29578eaSAndrey A. Chernovuser3			u3	User string #3
549d29578eaSAndrey A. Chernovuser4			u4	User string #4
550d29578eaSAndrey A. Chernovuser5			u5	User string #5
551d29578eaSAndrey A. Chernovuser6			u6	User string #6
552d29578eaSAndrey A. Chernovuser7			u7	User string #7
553d29578eaSAndrey A. Chernovuser8			u8	User string #8
554d29578eaSAndrey A. Chernovuser9			u9	User string #9
555d29578eaSAndrey A. Chernov#
556d29578eaSAndrey A. Chernov# SVr4 added these capabilities to support color
557d29578eaSAndrey A. Chernov#
558d29578eaSAndrey A. Chernovorig_pair		op	Set default pair to its	original value
559d29578eaSAndrey A. Chernovorig_colors		oc	Set all	color pairs to the original ones
560d29578eaSAndrey A. Chernovinitialize_color	Ic	initialize color #1 to (#2,#3,#4)
561d29578eaSAndrey A. Chernovinitialize_pair		Ip	Initialize color pair #1 to fg=(#2,#3,#4),
562d29578eaSAndrey A. Chernov				bg=(#5,#6,#7)
563d29578eaSAndrey A. Chernovset_color_pair		sp	Set current color pair to #1
564d29578eaSAndrey A. Chernovset_foreground		Sf	Set foreground color #1
565d29578eaSAndrey A. Chernovset_background		Sb	Set background color #1
566d29578eaSAndrey A. Chernov#
567d29578eaSAndrey A. Chernov# SVr4 added these capabilities to support printers
568d29578eaSAndrey A. Chernov#
569d29578eaSAndrey A. Chernovchange_char_pitch	ZA	Change number of characters per	inch
570d29578eaSAndrey A. Chernovchange_line_pitch	ZB	Change number of lines per inch
571d29578eaSAndrey A. Chernovchange_res_horz		ZC	Change horizontal resolution
572d29578eaSAndrey A. Chernovchange_res_vert		ZD	Change vertical	resolution
573d29578eaSAndrey A. Chernovdefine_char		ZE	Define a character
574d29578eaSAndrey A. Chernoventer_doublewide_mode	ZF	Enter double-wide mode
575d29578eaSAndrey A. Chernoventer_draft_quality	ZG	Enter draft-quality mode
576d29578eaSAndrey A. Chernoventer_italics_mode	ZH	Enter italic mode
577d29578eaSAndrey A. Chernoventer_leftward_mode	ZI	Start leftward carriage	motion
578d29578eaSAndrey A. Chernoventer_micro_mode	ZJ	Start micro-motion mode
579d29578eaSAndrey A. Chernoventer_near_letter_quality	ZK	Enter NLQ mode
580d29578eaSAndrey A. Chernoventer_normal_quality	ZL	Enter normal-quality mode
581d29578eaSAndrey A. Chernoventer_shadow_mode	ZM	Enter shadow-print mode
582d29578eaSAndrey A. Chernoventer_subscript_mode	ZN	Enter subscript	mode
583d29578eaSAndrey A. Chernoventer_superscript_mode	ZO	Enter superscript mode
584d29578eaSAndrey A. Chernoventer_upward_mode	ZP	Start upward carriage motion
585d29578eaSAndrey A. Chernovexit_doublewide_mode	ZQ	End double-wide	mode
586d29578eaSAndrey A. Chernovexit_italics_mode	ZR	End italic mode
587d29578eaSAndrey A. Chernovexit_leftward_mode	ZS	End left-motion	mode
588d29578eaSAndrey A. Chernovexit_micro_mode		ZT	End micro-motion mode
589d29578eaSAndrey A. Chernovexit_shadow_mode	ZU	End shadow-print mode
590d29578eaSAndrey A. Chernovexit_subscript_mode	ZV	End subscript mode
591d29578eaSAndrey A. Chernovexit_superscript_mode	ZW	End superscript	mode
592d29578eaSAndrey A. Chernovexit_upward_mode	ZX	End reverse character motion
593d29578eaSAndrey A. Chernovmicro_column_address	ZY	Like column_address in micro mode
594d29578eaSAndrey A. Chernovmicro_down		ZZ	Like cursor_down in micro mode
595d29578eaSAndrey A. Chernovmicro_left		Za	Like cursor_left in micro mode
596d29578eaSAndrey A. Chernovmicro_right		Zb	Like cursor_right in micro mode
597d29578eaSAndrey A. Chernovmicro_row_address	Zc	Like row_address in micro mode
598d29578eaSAndrey A. Chernovmicro_up		Zd	Like cursor_up in micro	mode
599d29578eaSAndrey A. Chernovorder_of_pins		Ze	Match software bits to print-head pins
600d29578eaSAndrey A. Chernovparm_down_micro		Zf	Like parm_down_cursor in micro mode
601d29578eaSAndrey A. Chernovparm_left_micro		Zg	Like parm_left_cursor in micro mode
602d29578eaSAndrey A. Chernovparm_right_micro	Zh	Like parm_right_cursor in micro	mode
603d29578eaSAndrey A. Chernovparm_up_micro		Zi	Like parm_up_cursor in micro mode
604d29578eaSAndrey A. Chernovselect_char_set		Zj	Select character set
605d29578eaSAndrey A. Chernovset_bottom_margin	Zk	Set bottom margin at current line
606d29578eaSAndrey A. Chernovset_bottom_margin_parm	Zl	Set bottom margin at line #1 or	#2 lines
607d29578eaSAndrey A. Chernov				from bottom
608d29578eaSAndrey A. Chernovset_left_margin_parm	Zm	Set left (right) margin	at column #1 (#2)
609d29578eaSAndrey A. Chernovset_right_margin_parm	Zn	Set right margin at column #1
610d29578eaSAndrey A. Chernovset_top_margin		Zo	Set top	margin at current line
611d29578eaSAndrey A. Chernovset_top_margin_parm	Zp	Set top	(bottom) margin	at row #1 (#2)
6121499abeeSPoul-Henning Kampstart_bit_image		Zq	Start printing bit image graphics
613d29578eaSAndrey A. Chernovstart_char_set_def	Zr	Start character	set definition
614d29578eaSAndrey A. Chernovstop_bit_image		Zs	Stop printing bit image	graphics
615d29578eaSAndrey A. Chernovstop_char_set_def	Zt	End definition of character aet
6161499abeeSPoul-Henning Kampsubscript_characters	Zu	List of	subscriptible characters
6171499abeeSPoul-Henning Kampsuperscript_characters	Zv	List of	superscriptible	characters
618d29578eaSAndrey A. Chernovthese_cause_cr		Zw	Printing any of	these chars causes CR
619d29578eaSAndrey A. Chernovzero_motion		Zx	No motion for subsequent character
620d29578eaSAndrey A. Chernov#
621d29578eaSAndrey A. Chernov# The following	string capabilities are	present	in the SVr4.0 term
622d29578eaSAndrey A. Chernov# structure, but are not documented in the man page.
623d29578eaSAndrey A. Chernov#
624d29578eaSAndrey A. Chernovchar_set_names		Zy	List of	character set names
625d29578eaSAndrey A. Chernovkey_mouse		Km	Mouse event has	occurred
626d29578eaSAndrey A. Chernovmouse_info		Mi	Mouse status information
627d29578eaSAndrey A. Chernovreq_mouse_pos		RQ	Request	mouse position
628d29578eaSAndrey A. Chernovget_mouse		Gm	Curses should get button events
629d29578eaSAndrey A. Chernovset_a_foreground	AF	Set ANSI foreground color
630d29578eaSAndrey A. Chernovset_a_background	AB	Set ANSI background color
631d29578eaSAndrey A. Chernovpkey_plab		xl	Program	function key #1	to type	string #2
632d29578eaSAndrey A. Chernov				and show string	#3
633d29578eaSAndrey A. Chernovdevice_type		dv	Indicate language/codeset support
634d29578eaSAndrey A. Chernovcode_set_init		ci	Init sequence for multiple codesets
635d29578eaSAndrey A. Chernovset0_des_seq		s0	Shift to code set 0 (EUC set 0,	ASCII)
636d29578eaSAndrey A. Chernovset1_des_seq		s1	Shift to code set 1
637d29578eaSAndrey A. Chernovset2_des_seq		s2	Shift to code set 2
638d29578eaSAndrey A. Chernovset3_des_seq		s3	Shift to code set 3
639d29578eaSAndrey A. Chernovset_lr_margin		ML	Set both left and right	margins	to #1, #2
640d29578eaSAndrey A. Chernovset_tb_margin		MT	Sets both top and bottom margins to #1,	#2
641d29578eaSAndrey A. Chernovbit_image_repeat	Xy	Repeat bit image cell #1 #2 times
642d29578eaSAndrey A. Chernovbit_image_newline	Zz	Move to	next row of the	bit image
643d29578eaSAndrey A. Chernovbit_image_carriage_return	Yv	Move to	beginning of same row
644d29578eaSAndrey A. Chernovcolor_names		Yw	Give name for color #1
6451499abeeSPoul-Henning Kampdefine_bit_image_region	Yx	Define rectangular bit image region
646d29578eaSAndrey A. Chernovend_bit_image_region	Yy	End a bit-image	region
647d29578eaSAndrey A. Chernovset_color_band		Yz	Change to ribbon color #1
648d29578eaSAndrey A. Chernovset_page_length		YZ	Set page length	to #1 lines
649d29578eaSAndrey A. Chernov#
650d29578eaSAndrey A. Chernov# SVr4 added these capabilities for direct PC-clone support
651d29578eaSAndrey A. Chernov#
652d29578eaSAndrey A. Chernovdisplay_pc_char		S1	Display	PC character
653d29578eaSAndrey A. Chernoventer_pc_charset_mode	S2	Enter PC character display mode
654d29578eaSAndrey A. Chernovexit_pc_charset_mode	S3	Exit PC	character display mode
655d29578eaSAndrey A. Chernoventer_scancode_mode	S4	Enter PC scancode mode
656d29578eaSAndrey A. Chernovexit_scancode_mode	S5	Exit PC	scancode mode
657d29578eaSAndrey A. Chernovpc_term_options		S6	PC terminal options
658d29578eaSAndrey A. Chernovscancode_escape		S7	Escape for scancode emulation
659d29578eaSAndrey A. Chernovalt_scancode_esc	S8	Alternate escape for scancode emulation
660d29578eaSAndrey A. Chernov#
661d29578eaSAndrey A. Chernov# The XSI Curses standard added	these.
662d29578eaSAndrey A. Chernov#
663d29578eaSAndrey A. Chernoventer_horizontal_hl_mode	Xh	Enter horizontal highlight mode
664d29578eaSAndrey A. Chernoventer_left_hl_mode	Xl	Enter left highlight mode
665d29578eaSAndrey A. Chernoventer_low_hl_mode	Xo	Enter low highlight mode
666d29578eaSAndrey A. Chernoventer_right_hl_mode	Xr	Enter right highlight mode
667d29578eaSAndrey A. Chernoventer_top_hl_mode	Xt	Enter top highlight mode
668d29578eaSAndrey A. Chernoventer_vertical_hl_mode	Xv	Enter vertical highlight mode
669d29578eaSAndrey A. Chernov.Ed
670d29578eaSAndrey A. Chernov.Pp
671d29578eaSAndrey A. ChernovObsolete termcap capabilities.
672afe61c15SRodney W. GrimesNew software should not rely on them at all.
673d29578eaSAndrey A. Chernov.Bd -literal
674d29578eaSAndrey A. Chernov\fBBoolean			TCap	Description\fR
675d29578eaSAndrey A. Chernov\fBVariables		Code\fR
676d29578eaSAndrey A. Chernovlinefeed_is_newline	NL	move down with ^J
677d29578eaSAndrey A. Chernoveven_parity		EP	terminal requires even parity
678d29578eaSAndrey A. Chernovodd_parity		OP	terminal requires odd parity
679d29578eaSAndrey A. Chernovhalf_duplex		HD	terminal is half-duplex
680d29578eaSAndrey A. Chernovlower_case_only		LC	terminal has only lower	case
681d29578eaSAndrey A. Chernovupper_case_only		UC	terminal has only upper	case
682d29578eaSAndrey A. Chernovhas_hardware_tabs	pt	has 8-char tabs	invoked	with ^I
683d29578eaSAndrey A. Chernovreturn_does_clr_eol	xr	return clears the line
684d29578eaSAndrey A. Chernovtek_4025_insert_line	xx	Tektronix 4025 insert-line glitch
685d29578eaSAndrey A. Chernovbackspaces_with_bs	bs	uses ^H	to move	left
686d29578eaSAndrey A. Chernovcrt_no_scrolling	ns	crt cannot scroll
687d29578eaSAndrey A. Chernovno_correctly_working_cr	nc	no way to go to	start of line
688d29578eaSAndrey A. Chernov.Ed
689d29578eaSAndrey A. Chernov.Bd -literal
690d29578eaSAndrey A. Chernov\fBNumber			TCap	Description\fR
691d29578eaSAndrey A. Chernov\fBVariables		Code\fR
692d29578eaSAndrey A. Chernovbackspace_delay		dB	padding	required for ^H
693d29578eaSAndrey A. Chernovform_feed_delay		dF	padding	required for ^L
694d29578eaSAndrey A. Chernovhorizontal_tab_delay	dT	padding	required for ^I
695d29578eaSAndrey A. Chernovvertical_tab_delay	dV	padding	required for ^V
696d29578eaSAndrey A. Chernovnumber_of_function_keys	kn	count of function keys
697d29578eaSAndrey A. Chernovcarriage_return_delay	dC	pad needed for CR
698d29578eaSAndrey A. Chernovnew_line_delay		dN	pad needed for LF
699d29578eaSAndrey A. Chernov.Ed
700d29578eaSAndrey A. Chernov.Bd -literal
701d29578eaSAndrey A. Chernov\fBString			TCap	Description\fR
702d29578eaSAndrey A. Chernov\fBVariables		Code\fR
703d29578eaSAndrey A. Chernovother_non_function_keys	ko	list of	self-mapped keycaps
7045972d8dfSRuslan Ermilovarrow_key_map		ma	map arrow keys
705d29578eaSAndrey A. Chernovmemory_lock_above	ml	lock visible screen memory above the
706d29578eaSAndrey A. Chernov				current	line
707d29578eaSAndrey A. Chernovmemory_unlock		mu	unlock visible screen memory above the
708d29578eaSAndrey A. Chernov				current	line
709d29578eaSAndrey A. Chernovlinefeed_if_not_lf	nl	use to move down
710d29578eaSAndrey A. Chernovbackspace_if_not_bs	bc	move left, if not ^H
711d29578eaSAndrey A. Chernov.Ed
712afe61c15SRodney W. Grimes.Ss A Sample Entry
713afe61c15SRodney W. GrimesThe following entry, which describes the Concept\-100, is among the more
714afe61c15SRodney W. Grimescomplex entries in the
71536ab9525SJohn-Mark Gurney.Nm
716afe61c15SRodney W. Grimesfile as of this writing.
717afe61c15SRodney W. Grimes.Pp
718afe61c15SRodney W. Grimes.Bd -literal
719afe61c15SRodney W. Grimesca\||\|concept100\||\|c100\||\|concept\||\|c104\||\|concept100-4p\||\|HDS Concept\-100:\e
720afe61c15SRodney W. Grimes	:al=3*\eE^R:am:bl=^G:cd=16*\eE^C:ce=16\eE^U:cl=2*^L:cm=\eEa%+ %+ :\e
721afe61c15SRodney W. Grimes	:co#80:.cr=9^M:db:dc=16\eE^A:dl=3*\eE^B:do=^J:ei=\eE\e200:eo:im=\eE^P:in:\e
722afe61c15SRodney W. Grimes	:ip=16*:is=\eEU\eEf\eE7\eE5\eE8\eEl\eENH\eEK\eE\e200\eEo&\e200\eEo\e47\eE:k1=\eE5:\e
723afe61c15SRodney W. Grimes	:k2=\eE6:k3=\eE7:kb=^h:kd=\eE<:ke=\eEx:kh=\eE?:kl=\eE>:kr=\eE=:ks=\eEX:\e
724afe61c15SRodney W. Grimes	:ku=\eE;:le=^H:li#24:mb=\eEC:me=\eEN\e200:mh=\eEE:mi:mk=\eEH:mp=\eEI:\e
725afe61c15SRodney W. Grimes	:mr=\eED:nd=\eE=:pb#9600:rp=0.2*\eEr%.%+ :se=\eEd\eEe:sf=^J:so=\eEE\eED:\e
726afe61c15SRodney W. Grimes	:.ta=8\et:te=\eEv    \e200\e200\e200\e200\e200\e200\eEp\er\en:\e
727afe61c15SRodney W. Grimes	:ti=\eEU\eEv  8p\eEp\er:ue=\eEg:ul:up=\eE;:us=\eEG:\e
728afe61c15SRodney W. Grimes	:vb=\eEk\e200\e200\e200\e200\e200\e200\e200\e200\e200\e200\e200\e200\e200\e200\eEK:\e
729afe61c15SRodney W. Grimes	:ve=\eEw:vs=\eEW:vt#8:xn:\e
730afe61c15SRodney W. Grimes	:bs:cr=^M:dC#9:dT#8:nl=^J:ta=^I:pt:
731afe61c15SRodney W. Grimes.Ed
732afe61c15SRodney W. Grimes.Pp
733afe61c15SRodney W. GrimesEntries may continue onto multiple lines by giving a \e as the last
734afe61c15SRodney W. Grimescharacter of a line, and empty fields
735afe61c15SRodney W. Grimesmay be included for readability (here between the last field on a line
736afe61c15SRodney W. Grimesand the first field on the next).
737afe61c15SRodney W. GrimesComments may be included on lines beginning with
738afe61c15SRodney W. Grimes.Dq # .
739afe61c15SRodney W. Grimes.Ss Types of Capabilities
740afe61c15SRodney W. GrimesCapabilities in
74136ab9525SJohn-Mark Gurney.Nm
742afe61c15SRodney W. Grimesare of three types: Boolean capabilities,
743afe61c15SRodney W. Grimeswhich indicate particular features that the terminal has;
744afe61c15SRodney W. Grimesnumeric capabilities,
745afe61c15SRodney W. Grimesgiving the size of the display or the size of other attributes;
746afe61c15SRodney W. Grimesand string capabilities,
747afe61c15SRodney W. Grimeswhich give character sequences that can be used to perform particular
748afe61c15SRodney W. Grimesterminal operations.
749afe61c15SRodney W. GrimesAll capabilities have two-letter codes.
750afe61c15SRodney W. GrimesFor instance, the fact that
751afe61c15SRodney W. Grimesthe Concept has
752afe61c15SRodney W. Grimes.Em automatic margins
753afe61c15SRodney W. Grimes(an automatic return and linefeed
754afe61c15SRodney W. Grimeswhen the end of a line is reached) is indicated by the Boolean capability
755afe61c15SRodney W. Grimes.Sy \&am .
756afe61c15SRodney W. GrimesHence the description of the Concept includes
757afe61c15SRodney W. Grimes.Sy \&am .
758afe61c15SRodney W. Grimes.Pp
759afe61c15SRodney W. GrimesNumeric capabilities are followed by the character `#' then the value.
760afe61c15SRodney W. GrimesIn the example above
761afe61c15SRodney W. Grimes.Sy \&co ,
762afe61c15SRodney W. Grimeswhich indicates the number of columns the display has,
763afe61c15SRodney W. Grimesgives the value `80' for the Concept.
764afe61c15SRodney W. Grimes.Pp
765afe61c15SRodney W. GrimesFinally, string-valued capabilities, such as
766afe61c15SRodney W. Grimes.Sy \&ce
767afe61c15SRodney W. Grimes(clear-to-end-of-line
768afe61c15SRodney W. Grimessequence) are given by the two-letter code, an `=', then a string
769afe61c15SRodney W. Grimesending at the next following `:'.
770afe61c15SRodney W. GrimesA delay in milliseconds may appear after
771afe61c15SRodney W. Grimesthe `=' in such a capability,
772afe61c15SRodney W. Grimeswhich causes padding characters to be supplied by
773c2d6966aSPhilippe Charnier.Xr tputs 3
774afe61c15SRodney W. Grimesafter the remainder of the string is sent to provide this delay.
775afe61c15SRodney W. GrimesThe delay can be either a number,
776afe61c15SRodney W. Grimessuch as `20', or a number followed by
777afe61c15SRodney W. Grimesan `*',
778afe61c15SRodney W. Grimessuch as `3*'.
779afe61c15SRodney W. GrimesAn `*' indicates that the padding required is proportional
780afe61c15SRodney W. Grimesto the number of lines affected by the operation, and the amount given is
781afe61c15SRodney W. Grimesthe per-affected-line padding required.
782afe61c15SRodney W. Grimes(In the case of insert-character,
783afe61c15SRodney W. Grimesthe factor is still the number of
784afe61c15SRodney W. Grimes.Em lines
785afe61c15SRodney W. Grimesaffected;
786afe61c15SRodney W. Grimesthis is always 1 unless the terminal has
787afe61c15SRodney W. Grimes.Sy \&in
788afe61c15SRodney W. Grimesand the software uses it.)
789afe61c15SRodney W. GrimesWhen an `*' is specified, it is sometimes useful to give a delay of the form
790afe61c15SRodney W. Grimes`3.5' to specify a delay per line to tenths of milliseconds.
791afe61c15SRodney W. Grimes(Only one decimal place is allowed.)
792afe61c15SRodney W. Grimes.Pp
793afe61c15SRodney W. GrimesA number of escape sequences are provided in the string-valued capabilities
794afe61c15SRodney W. Grimesfor easy encoding of control characters there.
795afe61c15SRodney W. Grimes.Sy \&\eE
796afe61c15SRodney W. Grimesmaps to an
797afe61c15SRodney W. Grimes.Dv ESC
798afe61c15SRodney W. Grimescharacter,
799afe61c15SRodney W. Grimes.Sy \&^X
800afe61c15SRodney W. Grimesmaps to a control-X for any appropriate X,
801afe61c15SRodney W. Grimesand the sequences
802afe61c15SRodney W. Grimes.Sy \&\en
803afe61c15SRodney W. Grimes.Sy \&\er
804afe61c15SRodney W. Grimes.Sy \&\et
805afe61c15SRodney W. Grimes.Sy \&\eb
806afe61c15SRodney W. Grimes.Sy \&\ef
807afe61c15SRodney W. Grimesmap to linefeed, return, tab, backspace, and formfeed, respectively.
808afe61c15SRodney W. GrimesFinally, characters may be given as three octal digits after a
809afe61c15SRodney W. Grimes.Sy \&\e ,
810afe61c15SRodney W. Grimesand the characters
811afe61c15SRodney W. Grimes.Sy \&^
812afe61c15SRodney W. Grimesand
813afe61c15SRodney W. Grimes.Sy \&\e
814afe61c15SRodney W. Grimesmay be given as
815afe61c15SRodney W. Grimes.Sy \&\e^
816afe61c15SRodney W. Grimesand
817afe61c15SRodney W. Grimes.Sy \&\e\e .
818afe61c15SRodney W. GrimesIf it is necessary to place a
819afe61c15SRodney W. Grimes.Sy \&:
820f350abf8SRuslan Ermilovin a capability it must be escaped as
821f350abf8SRuslan Ermilov.Sy \e:
822f350abf8SRuslan Ermilovor be encoded as
823afe61c15SRodney W. Grimes.Sy \&\e072 .
824afe61c15SRodney W. GrimesIf it is necessary to place a
825afe61c15SRodney W. Grimes.Dv NUL
826afe61c15SRodney W. Grimescharacter in a string capability it
827afe61c15SRodney W. Grimesmust be encoded as
828afe61c15SRodney W. Grimes.Sy \&\e200 .
829afe61c15SRodney W. Grimes(The routines that deal with
83036ab9525SJohn-Mark Gurney.Nm
831afe61c15SRodney W. Grimesuse C strings and strip the high bits of the output very late, so that
832afe61c15SRodney W. Grimesa
833afe61c15SRodney W. Grimes.Sy \&\e200
834afe61c15SRodney W. Grimescomes out as a
835afe61c15SRodney W. Grimes.Sy \&\e000
836afe61c15SRodney W. Grimeswould.)
837afe61c15SRodney W. Grimes.Pp
838afe61c15SRodney W. GrimesSometimes individual capabilities must be commented out.
839afe61c15SRodney W. GrimesTo do this, put a period before the capability name.
840afe61c15SRodney W. GrimesFor example, see the first
841afe61c15SRodney W. Grimes.Sy \&cr
842afe61c15SRodney W. Grimesand
843afe61c15SRodney W. Grimes.Sy \&ta
844afe61c15SRodney W. Grimesin the example above.
845afe61c15SRodney W. Grimes.Ss Preparing Descriptions
846afe61c15SRodney W. GrimesThe most effective way to prepare a terminal description is by imitating
847afe61c15SRodney W. Grimesthe description of a similar terminal in
84836ab9525SJohn-Mark Gurney.Nm
849afe61c15SRodney W. Grimesand to build up a description gradually, using partial descriptions
850afe61c15SRodney W. Grimeswith
851c2d6966aSPhilippe Charnier.Xr \&vi 1
852afe61c15SRodney W. Grimesto check that they are correct.
853afe61c15SRodney W. GrimesBe aware that a very unusual terminal may expose deficiencies in
854afe61c15SRodney W. Grimesthe ability of the
85536ab9525SJohn-Mark Gurney.Nm
856afe61c15SRodney W. Grimesfile to describe it
857afe61c15SRodney W. Grimesor bugs in
858c2d6966aSPhilippe Charnier.Xr \&vi 1 .
859afe61c15SRodney W. GrimesTo easily test a new terminal description you are working on
860afe61c15SRodney W. Grimesyou can put it in your home directory in a file called
861afe61c15SRodney W. Grimes.Pa .termcap
862afe61c15SRodney W. Grimesand programs will look there before looking in
863afe61c15SRodney W. Grimes.Pa /usr/share/misc/termcap .
864afe61c15SRodney W. GrimesYou can also set the environment variable
865afe61c15SRodney W. Grimes.Ev TERMPATH
866afe61c15SRodney W. Grimesto a list of absolute file pathnames (separated by spaces or colons),
867afe61c15SRodney W. Grimesone of which contains the description you are working on,
868afe61c15SRodney W. Grimesand programs will search them in the order listed, and nowhere else.
869afe61c15SRodney W. GrimesSee
870afe61c15SRodney W. Grimes.Xr termcap 3 .
871afe61c15SRodney W. GrimesThe
872afe61c15SRodney W. Grimes.Ev TERMCAP
873afe61c15SRodney W. Grimesenvironment variable is usually set to the
87436ab9525SJohn-Mark Gurney.Nm
875afe61c15SRodney W. Grimesentry itself
876afe61c15SRodney W. Grimesto avoid reading files when starting up a program.
877afe61c15SRodney W. Grimes.Pp
878afe61c15SRodney W. GrimesTo get the padding for insert-line right
879afe61c15SRodney W. Grimes(if the terminal manufacturer did not document it),
880afe61c15SRodney W. Grimesa severe test is to use
881c2d6966aSPhilippe Charnier.Xr \&vi 1
882afe61c15SRodney W. Grimesto edit
883afe61c15SRodney W. Grimes.Pa /etc/passwd
884afe61c15SRodney W. Grimesat 9600 baud, delete roughly 16 lines from the middle of the screen,
885afe61c15SRodney W. Grimesthen hit the `u' key several times quickly.
886afe61c15SRodney W. GrimesIf the display messes up, more padding is usually needed.
887afe61c15SRodney W. GrimesA similar test can be used for insert-character.
888afe61c15SRodney W. Grimes.Ss Basic Capabilities
889afe61c15SRodney W. GrimesThe number of columns on each line of the display is given by the
890afe61c15SRodney W. Grimes.Sy \&co
891afe61c15SRodney W. Grimesnumeric capability.
892afe61c15SRodney W. GrimesIf the display is a
893afe61c15SRodney W. Grimes.Tn CRT ,
894afe61c15SRodney W. Grimesthen the
895afe61c15SRodney W. Grimesnumber of lines on the screen is given by the
896afe61c15SRodney W. Grimes.Sy \&li
897afe61c15SRodney W. Grimescapability.
898afe61c15SRodney W. GrimesIf the display wraps around to the beginning of the next line when
899afe61c15SRodney W. Grimesthe cursor reaches the right margin, then it should have the
900afe61c15SRodney W. Grimes.Sy \&am
901afe61c15SRodney W. Grimescapability.
902afe61c15SRodney W. GrimesIf the terminal can clear its screen,
903afe61c15SRodney W. Grimesthe code to do this is given by the
904afe61c15SRodney W. Grimes.Sy \&cl
905afe61c15SRodney W. Grimesstring capability.
906afe61c15SRodney W. GrimesIf the terminal overstrikes
907afe61c15SRodney W. Grimes(rather than clearing the position when a character is overwritten),
908afe61c15SRodney W. Grimesit should have the
909afe61c15SRodney W. Grimes.Sy \&os
910afe61c15SRodney W. Grimescapability.
911afe61c15SRodney W. GrimesIf the terminal is a printing terminal,
912afe61c15SRodney W. Grimeswith no soft copy unit,
913afe61c15SRodney W. Grimesgive it both
914afe61c15SRodney W. Grimes.Sy \&hc
915afe61c15SRodney W. Grimesand
916afe61c15SRodney W. Grimes.Sy \&os .
917afe61c15SRodney W. Grimes.Pf ( Sy \&os
918afe61c15SRodney W. Grimesapplies to storage scope terminals,
919afe61c15SRodney W. Grimessuch as the Tektronix 4010 series,
920afe61c15SRodney W. Grimesas well as to hard copy and
921afe61c15SRodney W. Grimes.Tn APL
922afe61c15SRodney W. Grimesterminals.)
923afe61c15SRodney W. GrimesIf there is a code to move the cursor to the left edge of the current row,
924afe61c15SRodney W. Grimesgive this as
925afe61c15SRodney W. Grimes.Sy \&cr .
926afe61c15SRodney W. Grimes(Normally this will be carriage-return,
927afe61c15SRodney W. Grimes.Sy \&^M . )
928afe61c15SRodney W. GrimesIf there is a code to produce an audible signal (bell, beep,
929afe61c15SRodney W. Grimesetc.),
930afe61c15SRodney W. Grimesgive this as
931afe61c15SRodney W. Grimes.Sy \&bl .
932afe61c15SRodney W. Grimes.Pp
933afe61c15SRodney W. GrimesIf there is a code (such as backspace)
934afe61c15SRodney W. Grimesto move the cursor one position to the left,
935afe61c15SRodney W. Grimesthat capability should be given as
936afe61c15SRodney W. Grimes.Sy \&le .
937afe61c15SRodney W. GrimesSimilarly,
938afe61c15SRodney W. Grimescodes to move to the right, up, and down
939afe61c15SRodney W. Grimesshould be given as
940afe61c15SRodney W. Grimes.Sy \&nd ,
941afe61c15SRodney W. Grimes.Sy \&up ,
942afe61c15SRodney W. Grimesand
943afe61c15SRodney W. Grimes.Sy \&do ,
944afe61c15SRodney W. Grimesrespectively.
945afe61c15SRodney W. GrimesThese
946afe61c15SRodney W. Grimes.Em local cursor motions
947afe61c15SRodney W. Grimesshould not alter the text they pass over;
948afe61c15SRodney W. Grimesfor example, you would not normally use
949afe61c15SRodney W. Grimes.Dq nd=\ \&
950afe61c15SRodney W. Grimesunless the terminal has the
951afe61c15SRodney W. Grimes.Sy \&os
952afe61c15SRodney W. Grimescapability,
953afe61c15SRodney W. Grimesbecause the space would erase the character moved over.
954afe61c15SRodney W. Grimes.Pp
955afe61c15SRodney W. GrimesA very important point here is that the local cursor motions encoded
956afe61c15SRodney W. Grimesin
95736ab9525SJohn-Mark Gurney.Nm
958afe61c15SRodney W. Grimeshave undefined behavior at the left and top edges of a
959afe61c15SRodney W. Grimes.Tn CRT
960afe61c15SRodney W. Grimesdisplay.
961afe61c15SRodney W. GrimesPrograms should never attempt to backspace around the left edge,
962afe61c15SRodney W. Grimesunless
963afe61c15SRodney W. Grimes.Sy \&bw
964afe61c15SRodney W. Grimesis given, and never attempt to go up off the top
965afe61c15SRodney W. Grimesusing local cursor motions.
966afe61c15SRodney W. Grimes.Pp
967afe61c15SRodney W. GrimesIn order to scroll text up,
968afe61c15SRodney W. Grimesa program goes to the bottom left corner of the screen and sends the
969afe61c15SRodney W. Grimes.Sy \&sf
970afe61c15SRodney W. Grimes(index) string.
971afe61c15SRodney W. GrimesTo scroll text down,
972afe61c15SRodney W. Grimesa program goes to the top left corner of the screen and sends the
973afe61c15SRodney W. Grimes.Sy \&sr
974afe61c15SRodney W. Grimes(reverse index) string.
975afe61c15SRodney W. GrimesThe strings
976afe61c15SRodney W. Grimes.Sy \&sf
977afe61c15SRodney W. Grimesand
978afe61c15SRodney W. Grimes.Sy \&sr
979afe61c15SRodney W. Grimeshave undefined behavior
980afe61c15SRodney W. Grimeswhen not on their respective corners of the screen.
981afe61c15SRodney W. GrimesParameterized versions of the scrolling sequences are
982afe61c15SRodney W. Grimes.Sy \&SF
983afe61c15SRodney W. Grimesand
984afe61c15SRodney W. Grimes.Sy \&SR ,
985afe61c15SRodney W. Grimeswhich have the same semantics as
986afe61c15SRodney W. Grimes.Sy \&sf
987afe61c15SRodney W. Grimesand
988afe61c15SRodney W. Grimes.Sy \&sr
989afe61c15SRodney W. Grimesexcept that they take one parameter
990afe61c15SRodney W. Grimesand scroll that many lines.
991afe61c15SRodney W. GrimesThey also have undefined behavior
992afe61c15SRodney W. Grimesexcept at the appropriate corner of the screen.
993afe61c15SRodney W. Grimes.Pp
994afe61c15SRodney W. GrimesThe
995afe61c15SRodney W. Grimes.Sy \&am
996afe61c15SRodney W. Grimescapability tells whether the cursor sticks at the right
997afe61c15SRodney W. Grimesedge of the screen when text is output there,
998afe61c15SRodney W. Grimesbut this does not necessarily apply to
999afe61c15SRodney W. Grimes.Sy \&nd
1000afe61c15SRodney W. Grimesfrom the last column.
1001afe61c15SRodney W. GrimesLeftward local motion is defined from the left edge only when
1002afe61c15SRodney W. Grimes.Sy \&bw
1003afe61c15SRodney W. Grimesis given; then an
1004afe61c15SRodney W. Grimes.Sy \&le
1005afe61c15SRodney W. Grimesfrom the left edge will move to the right edge of the previous row.
1006afe61c15SRodney W. GrimesThis is useful for drawing a box around the edge of the screen,
1007afe61c15SRodney W. Grimesfor example.
1008afe61c15SRodney W. GrimesIf the terminal has switch-selectable automatic margins,
1009afe61c15SRodney W. Grimesthe
101036ab9525SJohn-Mark Gurney.Nm
1011afe61c15SRodney W. Grimesdescription usually assumes that this feature is on,
1012afe61c15SRodney W. Grimes.Em i.e . ,
1013afe61c15SRodney W. Grimes.Sy \&am .
1014afe61c15SRodney W. GrimesIf the terminal has a command
1015afe61c15SRodney W. Grimesthat moves to the first column of the next line,
1016afe61c15SRodney W. Grimesthat command can be given as
1017afe61c15SRodney W. Grimes.Sy \&nw
1018afe61c15SRodney W. Grimes(newline).
1019afe61c15SRodney W. GrimesIt is permissible for this to clear the remainder of the current line,
1020afe61c15SRodney W. Grimesso if the terminal has no correctly-working
1021afe61c15SRodney W. Grimes.Tn \&CR
1022afe61c15SRodney W. Grimesand
1023afe61c15SRodney W. Grimes.Tn \&LF
1024afe61c15SRodney W. Grimesit may still be possible to craft a working
1025afe61c15SRodney W. Grimes.Sy \&nw
1026afe61c15SRodney W. Grimesout of one or both of them.
1027afe61c15SRodney W. Grimes.Pp
1028afe61c15SRodney W. GrimesThese capabilities suffice to describe hardcopy and
1029afe61c15SRodney W. Grimes.Dq glass-tty
1030afe61c15SRodney W. Grimesterminals.
1031afe61c15SRodney W. GrimesThus the Teletype model 33 is described as
1032afe61c15SRodney W. Grimes.Bd -literal -offset indent
1033afe61c15SRodney W. GrimesT3\||\|tty33\||\|33\||\|tty\||\|Teletype model 33:\e
1034afe61c15SRodney W. Grimes	:bl=^G:co#72:cr=^M:do=^J:hc:os:
1035afe61c15SRodney W. Grimes.Ed
1036afe61c15SRodney W. Grimes.Pp
1037afe61c15SRodney W. Grimesand the Lear Siegler
1038afe61c15SRodney W. Grimes.Tn ADM Ns \-3
1039afe61c15SRodney W. Grimesis described as
1040afe61c15SRodney W. Grimes.Bd -literal -offset indent
1041afe61c15SRodney W. Grimesl3\||\|adm3\||\|3\||\|LSI \s-1ADM\s0-3:\e
1042afe61c15SRodney W. Grimes:am:bl=^G:cl=^Z:co#80:cr=^M:do=^J:le=^H:li#24:sf=^J:
1043afe61c15SRodney W. Grimes.Ed
1044afe61c15SRodney W. Grimes.Ss Parameterized Strings
1045afe61c15SRodney W. GrimesCursor addressing and other strings requiring parameters
1046afe61c15SRodney W. Grimesare described by a
1047afe61c15SRodney W. Grimesparameterized string capability, with
1048afe61c15SRodney W. Grimes.Xr printf 3 Ns \-like
1049afe61c15SRodney W. Grimesescapes
1050afe61c15SRodney W. Grimes.Sy \&%x
1051afe61c15SRodney W. Grimesin it,
1052afe61c15SRodney W. Grimeswhile other characters are passed through unchanged.
1053afe61c15SRodney W. GrimesFor example, to address the cursor the
1054afe61c15SRodney W. Grimes.Sy \&cm
1055afe61c15SRodney W. Grimescapability is given, using two parameters: the row and column to move to.
1056afe61c15SRodney W. Grimes(Rows and columns are numbered from zero and refer to the physical screen
1057afe61c15SRodney W. Grimesvisible to the user, not to any unseen memory.
1058afe61c15SRodney W. GrimesIf the terminal has memory-relative cursor addressing,
1059afe61c15SRodney W. Grimesthat can be indicated by an analogous
1060afe61c15SRodney W. Grimes.Sy \&CM
1061afe61c15SRodney W. Grimescapability.)
1062afe61c15SRodney W. Grimes.Pp
1063afe61c15SRodney W. GrimesThe
1064afe61c15SRodney W. Grimes.Sy \&%
1065afe61c15SRodney W. Grimesencodings have the following meanings:
1066afe61c15SRodney W. Grimes.Bl -column xxxxx
1067afe61c15SRodney W. Grimes.It "%%	output `%'"
1068afe61c15SRodney W. Grimes.It "%d	output value as in"
1069c2d6966aSPhilippe Charnier.Xr printf 3
1070afe61c15SRodney W. Grimes%d
1071afe61c15SRodney W. Grimes.It "%2	output value as in"
1072c2d6966aSPhilippe Charnier.Xr printf 3
1073afe61c15SRodney W. Grimes%2d
1074afe61c15SRodney W. Grimes.It "%3	output value as in"
1075c2d6966aSPhilippe Charnier.Xr printf 3
1076afe61c15SRodney W. Grimes%3d
1077afe61c15SRodney W. Grimes.It "%.	output value as in"
1078c2d6966aSPhilippe Charnier.Xr printf 3
1079afe61c15SRodney W. Grimes%c
1080afe61c15SRodney W. Grimes.It "%+" Ns Em x Ta No add
1081afe61c15SRodney W. Grimes.Em x
1082afe61c15SRodney W. Grimesto value, then do %.
1083afe61c15SRodney W. Grimes.It "%>" Ns Em \&xy Ta No if
1084afe61c15SRodney W. Grimesvalue >
1085afe61c15SRodney W. Grimes.Em x
1086afe61c15SRodney W. Grimesthen add
1087afe61c15SRodney W. Grimes.Em y ,
1088afe61c15SRodney W. Grimesno output
1089afe61c15SRodney W. Grimes.It "%r	reverse order of two parameters, no output"
1090afe61c15SRodney W. Grimes.It "%i	increment by one, no output"
1091afe61c15SRodney W. Grimes.It "%n	exclusive-or all parameters with 0140 (Datamedia 2500)"
10923136363fSRuslan Ermilov.It "\&%B" Ta Tn BCD No "(16*(value/10)) + (value%10), no output"
1093afe61c15SRodney W. Grimes.It "%D	Reverse coding (value \- 2*(value%16)), no output (Delta Data)."
1094afe61c15SRodney W. Grimes.El
1095afe61c15SRodney W. Grimes.Pp
1096afe61c15SRodney W. GrimesConsider the Hewlett-Packard 2645, which, to get to row 3 and column 12, needs
1097afe61c15SRodney W. Grimesto be sent
1098afe61c15SRodney W. Grimes.Dq \eE&a12c03Y
1099afe61c15SRodney W. Grimespadded for 6 milliseconds.
1100afe61c15SRodney W. GrimesNote that the order
1101afe61c15SRodney W. Grimesof the row and column coordinates is reversed here
1102afe61c15SRodney W. Grimesand that the row and column
1103afe61c15SRodney W. Grimesare sent as two-digit integers.
1104afe61c15SRodney W. GrimesThus its
1105afe61c15SRodney W. Grimes.Sy \&cm
1106afe61c15SRodney W. Grimescapability is
1107afe61c15SRodney W. Grimes.Dq Li cm=6\eE&%r%2c%2Y .
1108afe61c15SRodney W. Grimes.Pp
1109afe61c15SRodney W. GrimesThe Datamedia 2500 needs the current row and column sent
1110afe61c15SRodney W. Grimesencoded in binary using
1111afe61c15SRodney W. Grimes.Dq \&%. .
1112afe61c15SRodney W. GrimesTerminals that use
11133136363fSRuslan Ermilov.Dq %.\&
1114afe61c15SRodney W. Grimesneed to be able to
1115afe61c15SRodney W. Grimesbackspace the cursor
1116c4d9468eSRuslan Ermilov.Pq Sy \&le
1117afe61c15SRodney W. Grimesand to move the cursor up one line on the screen
1118c4d9468eSRuslan Ermilov.Pq Sy \&up .
1119afe61c15SRodney W. GrimesThis is necessary because it is not always safe to transmit
1120afe61c15SRodney W. Grimes.Sy \&\en ,
1121afe61c15SRodney W. Grimes.Sy \&^D ,
1122afe61c15SRodney W. Grimesand
1123afe61c15SRodney W. Grimes.Sy \&\er ,
1124afe61c15SRodney W. Grimesas the system may change or discard them.
1125afe61c15SRodney W. Grimes(Programs using
112636ab9525SJohn-Mark Gurney.Nm
1127afe61c15SRodney W. Grimesmust set terminal modes so that tabs are not expanded, so
1128afe61c15SRodney W. Grimes.Sy \&\et
1129afe61c15SRodney W. Grimesis safe to send.
1130afe61c15SRodney W. GrimesThis turns out to be essential for the Ann Arbor 4080.)
1131afe61c15SRodney W. Grimes.Pp
1132afe61c15SRodney W. GrimesA final example is the Lear Siegler
1133afe61c15SRodney W. Grimes.Tn ADM Ns \-3a ,
1134afe61c15SRodney W. Grimeswhich offsets row and column
1135afe61c15SRodney W. Grimesby a blank character, thus
1136afe61c15SRodney W. Grimes.Dq Li cm=\eE=%+ %+\ \& .
1137afe61c15SRodney W. Grimes.Pp
1138afe61c15SRodney W. GrimesRow or column absolute cursor addressing
1139afe61c15SRodney W. Grimescan be given as single parameter capabilities
1140afe61c15SRodney W. Grimes.Sy \&ch
1141afe61c15SRodney W. Grimes(horizontal position absolute) and
1142afe61c15SRodney W. Grimes.Sy \&cv
1143afe61c15SRodney W. Grimes(vertical position absolute).
1144afe61c15SRodney W. GrimesSometimes these are shorter than the more general two-parameter sequence
1145afe61c15SRodney W. Grimes(as with the Hewlett-Packard 2645) and can be used in preference to
1146afe61c15SRodney W. Grimes.Sy \&cm .
1147afe61c15SRodney W. GrimesIf there are parameterized local motions
1148afe61c15SRodney W. Grimes.Pf ( Em e.g . ,
1149afe61c15SRodney W. Grimesmove
1150afe61c15SRodney W. Grimes.Ar n
1151afe61c15SRodney W. Grimespositions to the right)
1152afe61c15SRodney W. Grimesthese can be given as
1153afe61c15SRodney W. Grimes.Sy \&DO ,
1154afe61c15SRodney W. Grimes.Sy \&LE ,
1155afe61c15SRodney W. Grimes.Sy \&RI ,
1156afe61c15SRodney W. Grimesand
1157afe61c15SRodney W. Grimes.Sy \&UP
1158afe61c15SRodney W. Grimeswith a single parameter indicating how many positions to move.
1159afe61c15SRodney W. GrimesThese are primarily useful if the terminal does not have
1160afe61c15SRodney W. Grimes.Sy \&cm ,
1161afe61c15SRodney W. Grimessuch as the Tektronix 4025.
1162afe61c15SRodney W. Grimes.Ss Cursor Motions
1163afe61c15SRodney W. Grimes.Pp
1164afe61c15SRodney W. GrimesIf the terminal has a fast way to home the cursor
1165afe61c15SRodney W. Grimes(to the very upper left corner of the screen), this can be given as
1166afe61c15SRodney W. Grimes.Sy \&ho .
1167afe61c15SRodney W. GrimesSimilarly, a fast way of getting to the lower left-hand corner
1168afe61c15SRodney W. Grimescan be given as
1169afe61c15SRodney W. Grimes.Sy \&ll ;
1170afe61c15SRodney W. Grimesthis may involve going up with
1171afe61c15SRodney W. Grimes.Sy \&up
1172afe61c15SRodney W. Grimesfrom the home position,
1173afe61c15SRodney W. Grimesbut a program should never do this itself (unless
1174afe61c15SRodney W. Grimes.Sy \&ll
1175afe61c15SRodney W. Grimesdoes), because it can
1176afe61c15SRodney W. Grimesmake no assumption about the effect of moving up from the home position.
1177afe61c15SRodney W. GrimesNote that the home position is the same as
1178afe61c15SRodney W. Grimescursor address (0,0): to the top left corner of the screen, not of memory.
1179afe61c15SRodney W. Grimes(Therefore, the
1180afe61c15SRodney W. Grimes.Dq \eEH
1181afe61c15SRodney W. Grimessequence on Hewlett-Packard terminals
1182afe61c15SRodney W. Grimescannot be used for
1183afe61c15SRodney W. Grimes.Sy \&ho . )
1184afe61c15SRodney W. Grimes.Ss Area Clears
1185afe61c15SRodney W. GrimesIf the terminal can clear from the current position to the end of the
1186afe61c15SRodney W. Grimesline, leaving the cursor where it is, this should be given as
1187afe61c15SRodney W. Grimes.Sy \&ce .
1188afe61c15SRodney W. GrimesIf the terminal can clear from the current position to the end of the
1189afe61c15SRodney W. Grimesdisplay, this should be given as
1190afe61c15SRodney W. Grimes.Sy \&cd .
1191afe61c15SRodney W. Grimes.Sy \&cd
1192afe61c15SRodney W. Grimesmust only be invoked from the first column of a line.
1193afe61c15SRodney W. Grimes(Therefore,
1194afe61c15SRodney W. Grimesit can be simulated by a request to delete a large number of lines,
1195afe61c15SRodney W. Grimesif a true
1196afe61c15SRodney W. Grimes.Sy \&cd
1197afe61c15SRodney W. Grimesis not available.)
1198afe61c15SRodney W. Grimes.Ss Insert/Delete Line
1199afe61c15SRodney W. GrimesIf the terminal can open a new blank line
1200afe61c15SRodney W. Grimesbefore the line containing the cursor,
1201afe61c15SRodney W. Grimesthis should be given as
1202afe61c15SRodney W. Grimes.Sy \&al ;
1203afe61c15SRodney W. Grimesthis must be invoked only from the first
1204afe61c15SRodney W. Grimesposition of a line.
1205afe61c15SRodney W. GrimesThe cursor must then appear at the left of the newly blank line.
1206afe61c15SRodney W. GrimesIf the terminal can delete the line that the cursor is on, this
1207afe61c15SRodney W. Grimesshould be given as
1208afe61c15SRodney W. Grimes.Sy \&dl ;
1209afe61c15SRodney W. Grimesthis must only be used from the first position on
1210afe61c15SRodney W. Grimesthe line to be deleted.
1211afe61c15SRodney W. GrimesVersions of
1212afe61c15SRodney W. Grimes.Sy \&al
1213afe61c15SRodney W. Grimesand
1214afe61c15SRodney W. Grimes.Sy \&dl
1215afe61c15SRodney W. Grimeswhich take a single parameter
1216afe61c15SRodney W. Grimesand insert or delete that many lines
1217afe61c15SRodney W. Grimescan be given as
1218afe61c15SRodney W. Grimes.Sy \&AL
1219afe61c15SRodney W. Grimesand
1220afe61c15SRodney W. Grimes.Sy \&DL .
1221afe61c15SRodney W. GrimesIf the terminal has a settable scrolling region
1222afe61c15SRodney W. Grimes(like the VT100),
1223afe61c15SRodney W. Grimesthe command to set this can be described with the
1224afe61c15SRodney W. Grimes.Sy \&cs
1225afe61c15SRodney W. Grimescapability,
1226afe61c15SRodney W. Grimeswhich takes two parameters: the top and bottom lines of the scrolling region.
1227afe61c15SRodney W. GrimesThe cursor position is, alas, undefined after using this command.
1228afe61c15SRodney W. GrimesIt is possible to get the effect of insert or delete line
1229afe61c15SRodney W. Grimesusing this command \(em the
1230afe61c15SRodney W. Grimes.Sy \&sc
1231afe61c15SRodney W. Grimesand
1232afe61c15SRodney W. Grimes.Sy \&rc
1233afe61c15SRodney W. Grimes(save and restore cursor) commands are also useful.
1234afe61c15SRodney W. GrimesInserting lines at the top or bottom of the screen can also be done using
1235afe61c15SRodney W. Grimes.Sy \&sr
1236afe61c15SRodney W. Grimesor
1237afe61c15SRodney W. Grimes.Sy \&sf
1238afe61c15SRodney W. Grimeson many terminals without a true insert/delete line,
1239afe61c15SRodney W. Grimesand is often faster even on terminals with those features.
1240afe61c15SRodney W. Grimes.Pp
1241afe61c15SRodney W. GrimesIf the terminal has the ability to define a window as part of memory
1242afe61c15SRodney W. Grimeswhich all commands affect, it should be given as the parameterized string
1243afe61c15SRodney W. Grimes.Sy \&wi .
1244afe61c15SRodney W. GrimesThe four parameters are the starting and ending lines in memory
1245afe61c15SRodney W. Grimesand the starting and ending columns in memory, in that order.
1246afe61c15SRodney W. Grimes(This
1247d0353b83SRuslan Ermilov.Xr terminfo 5
1248afe61c15SRodney W. Grimescapability is described for completeness.
1249afe61c15SRodney W. GrimesIt is unlikely that any
12504b66483fSRuslan Ermilov.Nm Ns \-using
1251afe61c15SRodney W. Grimesprogram will support it.)
1252afe61c15SRodney W. Grimes.Pp
1253afe61c15SRodney W. GrimesIf the terminal can retain display memory above the screen, then the
1254afe61c15SRodney W. Grimes.Sy \&da
1255afe61c15SRodney W. Grimescapability should be given;
1256afe61c15SRodney W. Grimesif display memory can be retained
1257afe61c15SRodney W. Grimesbelow, then
1258afe61c15SRodney W. Grimes.Sy \&db
1259afe61c15SRodney W. Grimesshould be given.
1260afe61c15SRodney W. GrimesThese indicate
1261afe61c15SRodney W. Grimesthat deleting a line or scrolling may bring non-blank lines up from below
1262afe61c15SRodney W. Grimesor that scrolling back with
1263afe61c15SRodney W. Grimes.Sy \&sr
1264afe61c15SRodney W. Grimesmay bring down non-blank lines.
1265afe61c15SRodney W. Grimes.Ss Insert/Delete Character
1266afe61c15SRodney W. GrimesThere are two basic kinds of intelligent terminals with respect to
1267afe61c15SRodney W. Grimesinsert/delete character that can be described using
12684b66483fSRuslan Ermilov.Nm .
1269afe61c15SRodney W. GrimesThe most common insert/delete character operations affect only the characters
1270afe61c15SRodney W. Grimeson the current line and shift characters off the end of the line rigidly.
1271afe61c15SRodney W. GrimesOther terminals, such as the Concept\-100 and the Perkin Elmer Owl, make
1272afe61c15SRodney W. Grimesa distinction between typed and untyped blanks on the screen, shifting
1273afe61c15SRodney W. Grimesupon an insert or delete only to an untyped blank on the screen which is
1274afe61c15SRodney W. Grimeseither eliminated or expanded to two untyped blanks.
1275afe61c15SRodney W. GrimesYou can determine
1276afe61c15SRodney W. Grimesthe kind of terminal you have by clearing the screen then typing
1277afe61c15SRodney W. Grimestext separated by cursor motions.
1278afe61c15SRodney W. GrimesType
1279afe61c15SRodney W. Grimes.Dq Li abc\ \ \ \ def
1280afe61c15SRodney W. Grimesusing local
1281afe61c15SRodney W. Grimescursor motions (not spaces) between the
1282afe61c15SRodney W. Grimes.Dq abc
1283afe61c15SRodney W. Grimesand the
1284afe61c15SRodney W. Grimes.Dq def .
1285afe61c15SRodney W. GrimesThen position the cursor before the
1286afe61c15SRodney W. Grimes.Dq abc
1287afe61c15SRodney W. Grimesand put the terminal in insert
1288afe61c15SRodney W. Grimesmode.
1289afe61c15SRodney W. GrimesIf typing characters causes the rest of the line to shift
1290afe61c15SRodney W. Grimesrigidly and characters to fall off the end, then your terminal does
1291afe61c15SRodney W. Grimesnot distinguish between blanks and untyped positions.
1292afe61c15SRodney W. GrimesIf the
1293afe61c15SRodney W. Grimes.Dq abc
1294afe61c15SRodney W. Grimesshifts over to the
1295afe61c15SRodney W. Grimes.Dq def
1296afe61c15SRodney W. Grimeswhich then move together around the end of the
1297afe61c15SRodney W. Grimescurrent line and onto the next as you insert, then you have the second type of
1298afe61c15SRodney W. Grimesterminal and should give the capability
1299afe61c15SRodney W. Grimes.Sy \&in ,
1300afe61c15SRodney W. Grimeswhich stands for
1301afe61c15SRodney W. Grimes.Dq insert null .
1302afe61c15SRodney W. GrimesWhile these are two logically separate attributes
1303afe61c15SRodney W. Grimes(one line
1304afe61c15SRodney W. Grimes.Em \&vs .
1305afe61c15SRodney W. Grimesmulti-line insert mode,
1306afe61c15SRodney W. Grimesand special treatment of untyped spaces),
1307afe61c15SRodney W. Grimeswe have seen no terminals whose insert
1308afe61c15SRodney W. Grimesmode cannot be described with the single attribute.
1309afe61c15SRodney W. Grimes.Pp
131036ab9525SJohn-Mark GurneyThe
131136ab9525SJohn-Mark Gurney.Nm
131236ab9525SJohn-Mark Gurneyentries can describe both terminals that have an insert mode and terminals
1313afe61c15SRodney W. Grimesthat send a simple sequence to open a blank position on the current line.
1314afe61c15SRodney W. GrimesGive as
1315afe61c15SRodney W. Grimes.Sy \&im
1316afe61c15SRodney W. Grimesthe sequence to get into insert mode.
1317afe61c15SRodney W. GrimesGive as
1318afe61c15SRodney W. Grimes.Sy \&ei
1319afe61c15SRodney W. Grimesthe sequence to leave insert mode.
1320afe61c15SRodney W. GrimesNow give as
1321afe61c15SRodney W. Grimes.Sy \&ic
1322afe61c15SRodney W. Grimesany sequence that needs to be sent just before
1323afe61c15SRodney W. Grimeseach character to be inserted.
1324afe61c15SRodney W. GrimesMost terminals with a true insert mode
1325afe61c15SRodney W. Grimeswill not give
1326afe61c15SRodney W. Grimes.Sy \&ic ;
1327afe61c15SRodney W. Grimesterminals that use a sequence to open a screen
1328afe61c15SRodney W. Grimesposition should give it here.
1329afe61c15SRodney W. Grimes(If your terminal has both,
1330afe61c15SRodney W. Grimesinsert mode is usually preferable to
1331afe61c15SRodney W. Grimes.Sy \&ic .
1332afe61c15SRodney W. GrimesDo not give both unless the terminal actually requires both to be used
1333afe61c15SRodney W. Grimesin combination.)
1334afe61c15SRodney W. GrimesIf post-insert padding is needed, give this as a number of milliseconds
1335afe61c15SRodney W. Grimesin
1336afe61c15SRodney W. Grimes.Sy \&ip
1337afe61c15SRodney W. Grimes(a string option).
1338afe61c15SRodney W. GrimesAny other sequence that may need to be
1339afe61c15SRodney W. Grimessent after insertion of a single character can also be given in
1340afe61c15SRodney W. Grimes.Sy \&ip .
1341afe61c15SRodney W. GrimesIf your terminal needs to be placed into an `insert mode'
1342afe61c15SRodney W. Grimesand needs a special code preceding each inserted character,
1343afe61c15SRodney W. Grimesthen both
1344afe61c15SRodney W. Grimes.Sy \&im Ns / Sy \&ei
1345afe61c15SRodney W. Grimesand
1346afe61c15SRodney W. Grimes.Sy \&ic
1347afe61c15SRodney W. Grimescan be given, and both will be used.
1348afe61c15SRodney W. GrimesThe
1349afe61c15SRodney W. Grimes.Sy \&IC
1350afe61c15SRodney W. Grimescapability, with one parameter
1351afe61c15SRodney W. Grimes.Em n ,
1352afe61c15SRodney W. Grimeswill repeat the effects of
1353afe61c15SRodney W. Grimes.Sy \&ic
1354afe61c15SRodney W. Grimes.Em n
1355afe61c15SRodney W. Grimestimes.
1356afe61c15SRodney W. Grimes.Pp
1357afe61c15SRodney W. GrimesIt is occasionally necessary to move around while in insert mode
1358afe61c15SRodney W. Grimesto delete characters on the same line
1359afe61c15SRodney W. Grimes.Pf ( Em e.g . ,
1360afe61c15SRodney W. Grimesif there is a tab after
1361afe61c15SRodney W. Grimesthe insertion position).
1362afe61c15SRodney W. GrimesIf your terminal allows motion while in
1363afe61c15SRodney W. Grimesinsert mode, you can give the capability
1364afe61c15SRodney W. Grimes.Sy \&mi
1365afe61c15SRodney W. Grimesto speed up inserting
1366afe61c15SRodney W. Grimesin this case.
1367afe61c15SRodney W. GrimesOmitting
1368afe61c15SRodney W. Grimes.Sy \&mi
1369afe61c15SRodney W. Grimeswill affect only speed.
1370afe61c15SRodney W. GrimesSome terminals
1371afe61c15SRodney W. Grimes(notably Datamedia's) must not have
1372afe61c15SRodney W. Grimes.Sy \&mi
1373afe61c15SRodney W. Grimesbecause of the way their
1374afe61c15SRodney W. Grimesinsert mode works.
1375afe61c15SRodney W. Grimes.Pp
1376afe61c15SRodney W. GrimesFinally, you can specify
1377afe61c15SRodney W. Grimes.Sy \&dc
1378afe61c15SRodney W. Grimesto delete a single character,
1379afe61c15SRodney W. Grimes.Sy \&DC
1380afe61c15SRodney W. Grimeswith one parameter
1381afe61c15SRodney W. Grimes.Em n
1382afe61c15SRodney W. Grimesto delete
1383afe61c15SRodney W. Grimes.Em n
1384afe61c15SRodney W. Grimescharacters,
1385afe61c15SRodney W. Grimesand delete mode by giving
1386afe61c15SRodney W. Grimes.Sy \&dm
1387afe61c15SRodney W. Grimesand
1388afe61c15SRodney W. Grimes.Sy \&ed
1389afe61c15SRodney W. Grimesto enter and exit delete mode
1390afe61c15SRodney W. Grimes(which is any mode the terminal needs to be placed in for
1391afe61c15SRodney W. Grimes.Sy \&dc
1392afe61c15SRodney W. Grimesto work).
1393afe61c15SRodney W. Grimes.Ss Highlighting, Underlining, and Visible  Bells
1394afe61c15SRodney W. GrimesIf your terminal has one or more kinds of display attributes,
1395afe61c15SRodney W. Grimesthese can be represented in a number of different ways.
1396afe61c15SRodney W. GrimesYou should choose one display form as
1397afe61c15SRodney W. Grimes.Em standout mode ,
1398afe61c15SRodney W. Grimesrepresenting a good high-contrast, easy-on-the-eyes format
1399afe61c15SRodney W. Grimesfor highlighting error messages and other attention getters.
1400afe61c15SRodney W. Grimes(If you have a choice, reverse video plus half-bright is good,
1401afe61c15SRodney W. Grimesor reverse video alone.)
1402afe61c15SRodney W. GrimesThe sequences to enter and exit standout mode
1403afe61c15SRodney W. Grimesare given as
1404afe61c15SRodney W. Grimes.Sy \&so
1405afe61c15SRodney W. Grimesand
1406afe61c15SRodney W. Grimes.Sy \&se ,
1407afe61c15SRodney W. Grimesrespectively.
1408afe61c15SRodney W. GrimesIf the code to change into or out of standout
1409afe61c15SRodney W. Grimesmode leaves one or even two blank spaces or garbage characters on the screen,
1410afe61c15SRodney W. Grimesas the
1411afe61c15SRodney W. Grimes.Tn TVI
1412afe61c15SRodney W. Grimes912 and Teleray 1061 do,
1413afe61c15SRodney W. Grimesthen
1414afe61c15SRodney W. Grimes.Sy \&sg
1415afe61c15SRodney W. Grimesshould be given to tell how many characters are left.
1416afe61c15SRodney W. Grimes.Pp
1417afe61c15SRodney W. GrimesCodes to begin underlining and end underlining can be given as
1418afe61c15SRodney W. Grimes.Sy \&us
1419afe61c15SRodney W. Grimesand
1420afe61c15SRodney W. Grimes.Sy \&ue ,
1421afe61c15SRodney W. Grimesrespectively.
1422afe61c15SRodney W. GrimesUnderline mode change garbage is specified by
1423afe61c15SRodney W. Grimes.Sy \&ug ,
1424afe61c15SRodney W. Grimessimilar to
1425afe61c15SRodney W. Grimes.Sy \&sg .
1426afe61c15SRodney W. GrimesIf the terminal has a code to underline the current character and move
1427afe61c15SRodney W. Grimesthe cursor one position to the right,
1428afe61c15SRodney W. Grimessuch as the Microterm Mime,
1429afe61c15SRodney W. Grimesthis can be given as
1430afe61c15SRodney W. Grimes.Sy \&uc .
1431afe61c15SRodney W. Grimes.Pp
1432afe61c15SRodney W. GrimesOther capabilities to enter various highlighting modes include
1433afe61c15SRodney W. Grimes.Sy \&mb
1434afe61c15SRodney W. Grimes(blinking),
1435afe61c15SRodney W. Grimes.Sy \&md
1436afe61c15SRodney W. Grimes(bold or extra bright),
1437afe61c15SRodney W. Grimes.Sy \&mh
1438afe61c15SRodney W. Grimes(dim or half-bright),
1439afe61c15SRodney W. Grimes.Sy \&mk
1440afe61c15SRodney W. Grimes(blanking or invisible text),
1441afe61c15SRodney W. Grimes.Sy \&mp
1442afe61c15SRodney W. Grimes(protected),
1443afe61c15SRodney W. Grimes.Sy \&mr
1444afe61c15SRodney W. Grimes(reverse video),
1445afe61c15SRodney W. Grimes.Sy \&me
1446afe61c15SRodney W. Grimes(turn off
1447afe61c15SRodney W. Grimes.Em all
1448afe61c15SRodney W. Grimesattribute modes),
1449afe61c15SRodney W. Grimes.Sy \&as
1450afe61c15SRodney W. Grimes(enter alternate character set mode), and
1451afe61c15SRodney W. Grimes.Sy \&ae
1452afe61c15SRodney W. Grimes(exit alternate character set mode).
1453afe61c15SRodney W. GrimesTurning on any of these modes singly may or may not turn off other modes.
1454afe61c15SRodney W. Grimes.Pp
1455afe61c15SRodney W. GrimesIf there is a sequence to set arbitrary combinations of mode,
1456afe61c15SRodney W. Grimesthis should be given as
1457afe61c15SRodney W. Grimes.Sy \&sa
1458afe61c15SRodney W. Grimes(set attributes), taking 9 parameters.
1459afe61c15SRodney W. GrimesEach parameter is either 0 or 1,
1460afe61c15SRodney W. Grimesas the corresponding attributes is on or off.
1461afe61c15SRodney W. GrimesThe 9 parameters are, in order: standout, underline, reverse, blink,
1462afe61c15SRodney W. Grimesdim, bold, blank, protect, and alternate character set.
1463afe61c15SRodney W. GrimesNot all modes need be supported by
1464afe61c15SRodney W. Grimes.Sy \&sa ,
1465afe61c15SRodney W. Grimesonly those for which corresponding attribute commands exist.
1466afe61c15SRodney W. Grimes(It is unlikely that a
146736ab9525SJohn-Mark Gurney.Nm Ns \-using
1468afe61c15SRodney W. Grimesprogram will support this capability, which is defined for compatibility
1469afe61c15SRodney W. Grimeswith
1470d0353b83SRuslan Ermilov.Xr terminfo 5 . )
1471afe61c15SRodney W. Grimes.Pp
1472afe61c15SRodney W. GrimesTerminals with the
1473afe61c15SRodney W. Grimes.Dq magic cookie
1474afe61c15SRodney W. Grimesglitches
1475afe61c15SRodney W. Grimes.Pf ( Sy \&sg
1476afe61c15SRodney W. Grimesand
1477afe61c15SRodney W. Grimes.Sy \&ug ) ,
1478afe61c15SRodney W. Grimesrather than maintaining extra attribute bits for each character cell,
1479afe61c15SRodney W. Grimesinstead deposit special
1480afe61c15SRodney W. Grimes.Dq cookies ,
1481afe61c15SRodney W. Grimesor
1482d0353b83SRuslan Ermilov.Dq garbage characters ,
1483afe61c15SRodney W. Grimeswhen they receive mode-setting sequences,
1484afe61c15SRodney W. Grimeswhich affect the display algorithm.
1485afe61c15SRodney W. Grimes.Pp
1486afe61c15SRodney W. GrimesSome terminals,
1487afe61c15SRodney W. Grimessuch as the Hewlett-Packard 2621,
1488afe61c15SRodney W. Grimesautomatically leave standout
1489afe61c15SRodney W. Grimesmode when they move to a new line or when the cursor is addressed.
1490afe61c15SRodney W. GrimesPrograms using standout mode
1491afe61c15SRodney W. Grimesshould exit standout mode on such terminals
1492afe61c15SRodney W. Grimesbefore moving the cursor or sending a newline.
1493afe61c15SRodney W. GrimesOn terminals where this is not a problem,
1494afe61c15SRodney W. Grimesthe
1495afe61c15SRodney W. Grimes.Sy \&ms
1496afe61c15SRodney W. Grimescapability should be present
1497afe61c15SRodney W. Grimesto say that this overhead is unnecessary.
1498afe61c15SRodney W. Grimes.Pp
1499afe61c15SRodney W. GrimesIf the terminal has
1500afe61c15SRodney W. Grimesa way of flashing the screen to indicate an error quietly
1501afe61c15SRodney W. Grimes(a bell replacement),
1502afe61c15SRodney W. Grimesthis can be given as
1503afe61c15SRodney W. Grimes.Sy \&vb ;
1504afe61c15SRodney W. Grimesit must not move the cursor.
1505afe61c15SRodney W. Grimes.Pp
1506afe61c15SRodney W. GrimesIf the cursor needs to be made more visible than normal
1507afe61c15SRodney W. Grimeswhen it is not on the bottom line
1508afe61c15SRodney W. Grimes(to change, for example, a non-blinking underline into an easier-to-find
1509afe61c15SRodney W. Grimesblock or blinking underline),
1510afe61c15SRodney W. Grimesgive this sequence as
1511afe61c15SRodney W. Grimes.Sy \&vs .
1512afe61c15SRodney W. GrimesIf there is a way to make the cursor completely invisible, give that as
1513afe61c15SRodney W. Grimes.Sy \&vi .
1514afe61c15SRodney W. GrimesThe capability
1515afe61c15SRodney W. Grimes.Sy \&ve ,
1516afe61c15SRodney W. Grimeswhich undoes the effects of both of these modes,
1517afe61c15SRodney W. Grimesshould also be given.
1518afe61c15SRodney W. Grimes.Pp
1519afe61c15SRodney W. GrimesIf your terminal correctly displays underlined characters
1520afe61c15SRodney W. Grimes(with no special codes needed)
1521afe61c15SRodney W. Grimeseven though it does not overstrike,
1522afe61c15SRodney W. Grimesthen you should give the capability
1523afe61c15SRodney W. Grimes.Sy \&ul .
1524afe61c15SRodney W. GrimesIf overstrikes are erasable with a blank,
1525afe61c15SRodney W. Grimesthis should be indicated by giving
1526afe61c15SRodney W. Grimes.Sy \&eo .
1527afe61c15SRodney W. Grimes.Ss Keypad
1528afe61c15SRodney W. GrimesIf the terminal has a keypad that transmits codes when the keys are pressed,
1529afe61c15SRodney W. Grimesthis information can be given.
1530afe61c15SRodney W. GrimesNote that it is not possible to handle
1531afe61c15SRodney W. Grimesterminals where the keypad only works in local mode
1532afe61c15SRodney W. Grimes(this applies, for example, to the unshifted Hewlett-Packard 2621 keys).
1533afe61c15SRodney W. GrimesIf the keypad can be set to transmit or not transmit,
1534afe61c15SRodney W. Grimesgive these codes as
1535afe61c15SRodney W. Grimes.Sy \&ks
1536afe61c15SRodney W. Grimesand
1537afe61c15SRodney W. Grimes.Sy \&ke .
1538afe61c15SRodney W. GrimesOtherwise the keypad is assumed to always transmit.
1539afe61c15SRodney W. GrimesThe codes sent by the left-arrow, right-arrow, up-arrow, down-arrow,
1540afe61c15SRodney W. Grimesand home keys can be given as
1541afe61c15SRodney W. Grimes.Sy \&kl ,
1542afe61c15SRodney W. Grimes.Sy \&kr ,
1543afe61c15SRodney W. Grimes.Sy \&ku ,
1544afe61c15SRodney W. Grimes.Sy \&kd ,
1545afe61c15SRodney W. Grimesand
1546afe61c15SRodney W. Grimes.Sy \&kh ,
1547afe61c15SRodney W. Grimesrespectively.
1548afe61c15SRodney W. GrimesIf there are function keys such as f0, f1, ..., f9, the codes they send
1549afe61c15SRodney W. Grimescan be given as
1550afe61c15SRodney W. Grimes.Sy \&k0 ,
1551afe61c15SRodney W. Grimes.Sy \&k1 ,
15523136363fSRuslan Ermilov\&...,
1553afe61c15SRodney W. Grimes.Sy \&k9 .
1554afe61c15SRodney W. GrimesIf these keys have labels other than the default f0 through f9, the labels
1555afe61c15SRodney W. Grimescan be given as
1556afe61c15SRodney W. Grimes.Sy \&l0 ,
1557afe61c15SRodney W. Grimes.Sy \&l1 ,
15583136363fSRuslan Ermilov\&...,
1559afe61c15SRodney W. Grimes.Sy \&l9 .
1560afe61c15SRodney W. GrimesThe codes transmitted by certain other special keys can be given:
1561afe61c15SRodney W. Grimes.Sy \&kH
1562afe61c15SRodney W. Grimes(home down),
1563afe61c15SRodney W. Grimes.Sy \&kb
1564afe61c15SRodney W. Grimes(backspace),
1565afe61c15SRodney W. Grimes.Sy \&ka
1566afe61c15SRodney W. Grimes(clear all tabs),
1567afe61c15SRodney W. Grimes.Sy \&kt
1568afe61c15SRodney W. Grimes(clear the tab stop in this column),
1569afe61c15SRodney W. Grimes.Sy \&kC
1570afe61c15SRodney W. Grimes(clear screen or erase),
1571afe61c15SRodney W. Grimes.Sy \&kD
1572afe61c15SRodney W. Grimes(delete character),
1573afe61c15SRodney W. Grimes.Sy \&kL
1574afe61c15SRodney W. Grimes(delete line),
1575afe61c15SRodney W. Grimes.Sy \&kM
1576afe61c15SRodney W. Grimes(exit insert mode),
1577afe61c15SRodney W. Grimes.Sy \&kE
1578afe61c15SRodney W. Grimes(clear to end of line),
1579afe61c15SRodney W. Grimes.Sy \&kS
1580afe61c15SRodney W. Grimes(clear to end of screen),
1581afe61c15SRodney W. Grimes.Sy \&kI
1582afe61c15SRodney W. Grimes(insert character or enter insert mode),
1583afe61c15SRodney W. Grimes.Sy \&kA
1584afe61c15SRodney W. Grimes(insert line),
1585afe61c15SRodney W. Grimes.Sy \&kN
1586afe61c15SRodney W. Grimes(next page),
1587afe61c15SRodney W. Grimes.Sy \&kP
1588afe61c15SRodney W. Grimes(previous page),
1589afe61c15SRodney W. Grimes.Sy \&kF
1590afe61c15SRodney W. Grimes(scroll forward/down),
1591afe61c15SRodney W. Grimes.Sy \&kR
1592afe61c15SRodney W. Grimes(scroll backward/up), and
1593afe61c15SRodney W. Grimes.Sy \&kT
1594afe61c15SRodney W. Grimes(set a tab stop in this column).
1595afe61c15SRodney W. GrimesIn addition, if the keypad has a 3 by 3 array of keys
1596afe61c15SRodney W. Grimesincluding the four arrow keys, then the other five keys can be given as
1597afe61c15SRodney W. Grimes.Sy \&K1 ,
1598afe61c15SRodney W. Grimes.Sy \&K2 ,
1599afe61c15SRodney W. Grimes.Sy \&K3 ,
1600afe61c15SRodney W. Grimes.Sy \&K4 ,
1601afe61c15SRodney W. Grimesand
1602afe61c15SRodney W. Grimes.Sy \&K5 .
1603afe61c15SRodney W. GrimesThese keys are useful when the effects of a 3 by 3 directional pad are needed.
1604afe61c15SRodney W. GrimesThe obsolete
1605afe61c15SRodney W. Grimes.Sy \&ko
1606afe61c15SRodney W. Grimescapability formerly used to describe
1607afe61c15SRodney W. Grimes.Dq other
1608afe61c15SRodney W. Grimesfunction keys has been
1609afe61c15SRodney W. Grimescompletely supplanted by the above capabilities.
1610afe61c15SRodney W. Grimes.Pp
1611afe61c15SRodney W. GrimesThe
1612afe61c15SRodney W. Grimes.Sy \&ma
1613afe61c15SRodney W. Grimesentry is also used to indicate arrow keys on terminals that have
1614afe61c15SRodney W. Grimessingle-character arrow keys.
1615afe61c15SRodney W. GrimesIt is obsolete but still in use in
1616afe61c15SRodney W. Grimesversion 2 of
1617afe61c15SRodney W. Grimes.Sy \&vi
1618afe61c15SRodney W. Grimeswhich must be run on some minicomputers due to
1619afe61c15SRodney W. Grimesmemory limitations.
1620afe61c15SRodney W. GrimesThis field is redundant with
1621afe61c15SRodney W. Grimes.Sy \&kl ,
1622afe61c15SRodney W. Grimes.Sy \&kr ,
1623afe61c15SRodney W. Grimes.Sy \&ku ,
1624afe61c15SRodney W. Grimes.Sy \&kd ,
1625afe61c15SRodney W. Grimesand
1626afe61c15SRodney W. Grimes.Sy \&kh .
1627afe61c15SRodney W. GrimesIt consists of groups of two characters.
1628afe61c15SRodney W. GrimesIn each group, the first character is what an arrow key sends, and the
1629afe61c15SRodney W. Grimessecond character is the corresponding
1630afe61c15SRodney W. Grimes.Sy \&vi
1631afe61c15SRodney W. Grimescommand.
1632afe61c15SRodney W. GrimesThese commands are
1633afe61c15SRodney W. Grimes.Ar h
1634afe61c15SRodney W. Grimesfor
1635afe61c15SRodney W. Grimes.Sy \&kl ,
1636afe61c15SRodney W. Grimes.Ar j
1637afe61c15SRodney W. Grimesfor
1638afe61c15SRodney W. Grimes.Sy \&kd ,
1639afe61c15SRodney W. Grimes.Ar k
1640afe61c15SRodney W. Grimesfor
1641afe61c15SRodney W. Grimes.Sy \&ku ,
1642afe61c15SRodney W. Grimes.Ar l
1643afe61c15SRodney W. Grimesfor
1644afe61c15SRodney W. Grimes.Sy \&kr ,
1645afe61c15SRodney W. Grimesand
1646afe61c15SRodney W. Grimes.Ar H
1647afe61c15SRodney W. Grimesfor
1648afe61c15SRodney W. Grimes.Sy \&kh .
1649afe61c15SRodney W. GrimesFor example, the Mime would have
1650afe61c15SRodney W. Grimes.Dq Li ma=^Hh^Kj^Zk^Xl
1651afe61c15SRodney W. Grimesindicating arrow keys left (^H), down (^K), up (^Z), and right (^X).
1652afe61c15SRodney W. Grimes(There is no home key on the Mime.)
1653afe61c15SRodney W. Grimes.Ss Tabs and Initialization
1654afe61c15SRodney W. GrimesIf the terminal needs to be in a special mode when running
1655afe61c15SRodney W. Grimesa program that uses these capabilities,
1656afe61c15SRodney W. Grimesthe codes to enter and exit this mode can be given as
1657afe61c15SRodney W. Grimes.Sy \&ti
1658afe61c15SRodney W. Grimesand
1659afe61c15SRodney W. Grimes.Sy \&te .
1660afe61c15SRodney W. GrimesThis arises, for example, from terminals like the Concept with more than
1661afe61c15SRodney W. Grimesone page of memory.
1662afe61c15SRodney W. GrimesIf the terminal has only memory-relative cursor addressing and not
1663afe61c15SRodney W. Grimesscreen-relative cursor addressing,
1664afe61c15SRodney W. Grimesa screen-sized window must be fixed into
1665afe61c15SRodney W. Grimesthe display for cursor addressing to work properly.
1666afe61c15SRodney W. GrimesThis is also used for the Tektronix 4025, where
1667afe61c15SRodney W. Grimes.Sy \&ti
1668afe61c15SRodney W. Grimessets the command character to be the one used by
16694b66483fSRuslan Ermilov.Nm .
1670afe61c15SRodney W. Grimes.Pp
1671afe61c15SRodney W. GrimesOther capabilities
1672afe61c15SRodney W. Grimesinclude
1673afe61c15SRodney W. Grimes.Sy \&is ,
1674afe61c15SRodney W. Grimesan initialization string for the terminal,
1675afe61c15SRodney W. Grimesand
1676afe61c15SRodney W. Grimes.Sy \&if ,
1677afe61c15SRodney W. Grimesthe name of a file containing long initialization strings.
1678afe61c15SRodney W. GrimesThese strings are expected to set the terminal into modes
1679afe61c15SRodney W. Grimesconsistent with the rest of the
168036ab9525SJohn-Mark Gurney.Nm
1681afe61c15SRodney W. Grimesdescription.
1682afe61c15SRodney W. GrimesThey are normally sent to the terminal by the
1683c2d6966aSPhilippe Charnier.Xr tset 1
1684afe61c15SRodney W. Grimesprogram each time the user logs in.
1685afe61c15SRodney W. GrimesThey will be printed in the following order:
1686afe61c15SRodney W. Grimes.Sy \&is ;
1687afe61c15SRodney W. Grimessetting tabs using
1688afe61c15SRodney W. Grimes.Sy \&ct
1689afe61c15SRodney W. Grimesand
1690afe61c15SRodney W. Grimes.Sy \&st ;
1691afe61c15SRodney W. Grimesand finally
1692afe61c15SRodney W. Grimes.Sy \&if .
1693afe61c15SRodney W. Grimes.Pf ( Xr Terminfo
1694afe61c15SRodney W. Grimesuses
1695afe61c15SRodney W. Grimes.Sy \&i\&1-i2
1696afe61c15SRodney W. Grimesinstead of
1697afe61c15SRodney W. Grimes.Sy \&is
1698afe61c15SRodney W. Grimesand runs the program
1699afe61c15SRodney W. Grimes.Sy \&iP
1700afe61c15SRodney W. Grimesand prints
1701afe61c15SRodney W. Grimes.Sy "\&i\&3"
1702afe61c15SRodney W. Grimesafter the other initializations.)
1703afe61c15SRodney W. GrimesA pair of sequences that does a harder reset from a totally unknown state
1704afe61c15SRodney W. Grimescan be analogously given as
1705afe61c15SRodney W. Grimes.Sy \&rs
1706afe61c15SRodney W. Grimesand
1707afe61c15SRodney W. Grimes.Sy \&if .
1708afe61c15SRodney W. GrimesThese strings are output by the
1709c2d6966aSPhilippe Charnier.Xr reset 1
1710afe61c15SRodney W. Grimesprogram, which is used when the terminal gets into a wedged state.
1711afe61c15SRodney W. Grimes.Pf ( Xr Terminfo
1712afe61c15SRodney W. Grimesuses
1713afe61c15SRodney W. Grimes.Sy "\&r1-r3"
1714afe61c15SRodney W. Grimesinstead of
1715afe61c15SRodney W. Grimes.Sy \&rs . )
1716afe61c15SRodney W. GrimesCommands are normally placed in
1717afe61c15SRodney W. Grimes.Sy \&rs
1718afe61c15SRodney W. Grimesand
1719afe61c15SRodney W. Grimes.Sy \&rf
1720afe61c15SRodney W. Grimesonly if they produce annoying effects on the screen and are not necessary
1721afe61c15SRodney W. Grimeswhen logging in.
1722afe61c15SRodney W. GrimesFor example, the command to set the VT100 into 80-column mode
1723afe61c15SRodney W. Grimeswould normally be part of
1724afe61c15SRodney W. Grimes.Sy \&is ,
1725afe61c15SRodney W. Grimesbut it causes an annoying glitch of the screen and is not normally needed
1726afe61c15SRodney W. Grimessince the terminal is usually already in 80-column mode.
1727afe61c15SRodney W. Grimes.Pp
1728afe61c15SRodney W. GrimesIf the terminal has hardware tabs,
1729afe61c15SRodney W. Grimesthe command to advance to the next tab stop can be given as
1730afe61c15SRodney W. Grimes.Sy \&ta
1731afe61c15SRodney W. Grimes(usually
1732afe61c15SRodney W. Grimes.Sy \&^I ) .
1733afe61c15SRodney W. GrimesA
1734afe61c15SRodney W. Grimes.Dq backtab
1735afe61c15SRodney W. Grimescommand which moves leftward to the previous tab stop
1736afe61c15SRodney W. Grimescan be given as
1737afe61c15SRodney W. Grimes.Sy \&bt .
1738afe61c15SRodney W. GrimesBy convention,
1739afe61c15SRodney W. Grimesif the terminal driver modes indicate that tab stops are being expanded
1740afe61c15SRodney W. Grimesby the computer rather than being sent to the terminal,
1741afe61c15SRodney W. Grimesprograms should not use
1742afe61c15SRodney W. Grimes.Sy \&ta
1743afe61c15SRodney W. Grimesor
1744afe61c15SRodney W. Grimes.Sy \&bt
1745afe61c15SRodney W. Grimeseven if they are present,
1746afe61c15SRodney W. Grimessince the user may not have the tab stops properly set.
1747afe61c15SRodney W. GrimesIf the terminal has hardware tabs that are initially set every
1748afe61c15SRodney W. Grimes.Ar n
1749afe61c15SRodney W. Grimespositions when the terminal is powered up, then the numeric parameter
1750afe61c15SRodney W. Grimes.Sy \&it
1751afe61c15SRodney W. Grimesis given, showing the number of positions between tab stops.
1752afe61c15SRodney W. GrimesThis is normally used by the
1753c2d6966aSPhilippe Charnier.Xr tset 1
1754afe61c15SRodney W. Grimescommand to determine whether to set the driver mode for hardware tab
1755afe61c15SRodney W. Grimesexpansion, and whether to set the tab stops.
1756afe61c15SRodney W. GrimesIf the terminal has tab stops that can be saved in nonvolatile memory, the
175736ab9525SJohn-Mark Gurney.Nm
1758afe61c15SRodney W. Grimesdescription can assume that they are properly set.
1759afe61c15SRodney W. Grimes.Pp
1760afe61c15SRodney W. GrimesIf there are commands to set and clear tab stops, they can be given as
1761afe61c15SRodney W. Grimes.Sy \&ct
1762afe61c15SRodney W. Grimes(clear all tab stops) and
1763afe61c15SRodney W. Grimes.Sy \&st
1764afe61c15SRodney W. Grimes(set a tab stop in the current column of every row).
1765afe61c15SRodney W. GrimesIf a more complex sequence is needed to set the tabs than can be
1766afe61c15SRodney W. Grimesdescribed by this, the sequence can be placed in
1767afe61c15SRodney W. Grimes.Sy \&is
1768afe61c15SRodney W. Grimesor
1769afe61c15SRodney W. Grimes.Sy \&if .
1770afe61c15SRodney W. Grimes.Ss Delays
1771afe61c15SRodney W. GrimesCertain capabilities control padding in the terminal driver.
1772afe61c15SRodney W. GrimesThese are primarily needed by hardcopy terminals and are used by the
1773c2d6966aSPhilippe Charnier.Xr tset 1
1774afe61c15SRodney W. Grimesprogram to set terminal driver modes appropriately.
1775afe61c15SRodney W. GrimesDelays embedded in the capabilities
1776afe61c15SRodney W. Grimes.Sy \&cr ,
1777afe61c15SRodney W. Grimes.Sy \&sf ,
1778afe61c15SRodney W. Grimes.Sy \&le ,
1779afe61c15SRodney W. Grimes.Sy \&ff ,
1780afe61c15SRodney W. Grimesand
1781afe61c15SRodney W. Grimes.Sy \&ta
1782afe61c15SRodney W. Grimeswill cause the appropriate delay bits to be set in the terminal driver.
1783afe61c15SRodney W. GrimesIf
1784afe61c15SRodney W. Grimes.Sy \&pb
1785afe61c15SRodney W. Grimes(padding baud rate) is given, these values can be ignored at baud rates
1786afe61c15SRodney W. Grimesbelow the value of
1787afe61c15SRodney W. Grimes.Sy \&pb .
1788afe61c15SRodney W. GrimesFor
1789afe61c15SRodney W. Grimes.Bx 4.2
1790c2d6966aSPhilippe Charnier.Xr tset 1 ,
1791afe61c15SRodney W. Grimesthe delays are given as numeric capabilities
1792afe61c15SRodney W. Grimes.Sy \&dC ,
1793afe61c15SRodney W. Grimes.Sy \&dN ,
1794afe61c15SRodney W. Grimes.Sy \&dB ,
1795afe61c15SRodney W. Grimes.Sy \&dF ,
1796afe61c15SRodney W. Grimesand
1797afe61c15SRodney W. Grimes.Sy \&dT
1798afe61c15SRodney W. Grimesinstead.
1799afe61c15SRodney W. Grimes.Ss Miscellaneous
1800afe61c15SRodney W. GrimesIf the terminal requires other than a
1801afe61c15SRodney W. Grimes.Dv NUL
1802afe61c15SRodney W. Grimes(zero) character as a pad,
1803afe61c15SRodney W. Grimesthis can be given as
1804afe61c15SRodney W. Grimes.Sy \&pc .
1805afe61c15SRodney W. GrimesOnly the first character of the
1806afe61c15SRodney W. Grimes.Sy \&pc
1807afe61c15SRodney W. Grimesstring is used.
1808afe61c15SRodney W. Grimes.Pp
1809afe61c15SRodney W. GrimesIf the terminal has commands to save and restore the position of the
1810afe61c15SRodney W. Grimescursor, give them as
1811afe61c15SRodney W. Grimes.Sy \&sc
1812afe61c15SRodney W. Grimesand
1813afe61c15SRodney W. Grimes.Sy \&rc .
1814afe61c15SRodney W. Grimes.Pp
1815afe61c15SRodney W. GrimesIf the terminal has an extra
1816afe61c15SRodney W. Grimes.Dq status line
1817afe61c15SRodney W. Grimesthat is not normally used by
1818afe61c15SRodney W. Grimessoftware, this fact can be indicated.
1819afe61c15SRodney W. GrimesIf the status line is viewed as an extra line below the bottom line,
1820afe61c15SRodney W. Grimesthen the capability
1821afe61c15SRodney W. Grimes.Sy \&hs
1822afe61c15SRodney W. Grimesshould be given.
1823afe61c15SRodney W. GrimesSpecial strings to go to a position in the status line and to return
1824afe61c15SRodney W. Grimesfrom the status line can be given as
1825afe61c15SRodney W. Grimes.Sy \&ts
1826afe61c15SRodney W. Grimesand
1827afe61c15SRodney W. Grimes.Sy \&fs .
1828afe61c15SRodney W. Grimes.Pf ( Xr \&fs
1829afe61c15SRodney W. Grimesmust leave the cursor position in the same place that it was before
1830afe61c15SRodney W. Grimes.Sy \&ts .
1831afe61c15SRodney W. GrimesIf necessary, the
1832afe61c15SRodney W. Grimes.Sy \&sc
1833afe61c15SRodney W. Grimesand
1834afe61c15SRodney W. Grimes.Sy \&rc
1835afe61c15SRodney W. Grimesstrings can be included in
1836afe61c15SRodney W. Grimes.Sy \&ts
1837afe61c15SRodney W. Grimesand
1838afe61c15SRodney W. Grimes.Sy \&fs
1839afe61c15SRodney W. Grimesto get this effect.)
1840afe61c15SRodney W. GrimesThe capability
1841afe61c15SRodney W. Grimes.Sy \&ts
1842afe61c15SRodney W. Grimestakes one parameter, which is the column number of the status line
1843afe61c15SRodney W. Grimesto which the cursor is to be moved.
1844afe61c15SRodney W. GrimesIf escape sequences and other special commands such as tab work while in
1845afe61c15SRodney W. Grimesthe status line, the flag
1846afe61c15SRodney W. Grimes.Sy \&es
1847afe61c15SRodney W. Grimescan be given.
1848afe61c15SRodney W. GrimesA string that turns off the status line (or otherwise erases its contents)
1849afe61c15SRodney W. Grimesshould be given as
1850afe61c15SRodney W. Grimes.Sy \&ds .
1851afe61c15SRodney W. GrimesThe status line is normally assumed to be the same width as the
1852afe61c15SRodney W. Grimesrest of the screen,
1853afe61c15SRodney W. Grimes.Em i.e . ,
1854afe61c15SRodney W. Grimes.Sy \&co .
1855afe61c15SRodney W. GrimesIf the status line is a different width (possibly because the terminal
1856afe61c15SRodney W. Grimesdoes not allow an entire line to be loaded), then its width in columns
1857afe61c15SRodney W. Grimescan be indicated with the numeric parameter
1858afe61c15SRodney W. Grimes.Sy \&ws .
1859afe61c15SRodney W. Grimes.Pp
1860afe61c15SRodney W. GrimesIf the terminal can move up or down half a line, this can be
1861afe61c15SRodney W. Grimesindicated with
1862afe61c15SRodney W. Grimes.Sy \&hu
1863afe61c15SRodney W. Grimes(half-line up) and
1864afe61c15SRodney W. Grimes.Sy \&hd
1865afe61c15SRodney W. Grimes(half-line down).
1866afe61c15SRodney W. GrimesThis is primarily useful for superscripts and subscripts on hardcopy
1867afe61c15SRodney W. Grimesterminals.
1868afe61c15SRodney W. GrimesIf a hardcopy terminal can eject to the next page (form feed),
1869afe61c15SRodney W. Grimesgive this as
1870afe61c15SRodney W. Grimes.Sy \&ff
1871afe61c15SRodney W. Grimes(usually
1872afe61c15SRodney W. Grimes.Sy \&^L ) .
1873afe61c15SRodney W. Grimes.Pp
1874afe61c15SRodney W. GrimesIf there is a command to repeat a given character a given number of times
1875afe61c15SRodney W. Grimes(to save time transmitting a large number of identical characters),
1876afe61c15SRodney W. Grimesthis can be indicated with the parameterized string
1877afe61c15SRodney W. Grimes.Sy \&rp .
1878afe61c15SRodney W. GrimesThe first parameter is the character to be repeated and the second is
1879afe61c15SRodney W. Grimesthe number of times to repeat it.
1880afe61c15SRodney W. Grimes(This is a
1881d0353b83SRuslan Ermilov.Xr terminfo 5
1882afe61c15SRodney W. Grimesfeature that is unlikely to be supported by a program that uses
18834b66483fSRuslan Ermilov.Nm . )
1884afe61c15SRodney W. Grimes.Pp
1885afe61c15SRodney W. GrimesIf the terminal has a settable command character, such as the
1886afe61c15SRodney W. GrimesTektronix 4025, this can be indicated with
1887afe61c15SRodney W. Grimes.Sy \&CC .
1888afe61c15SRodney W. GrimesA prototype command character is chosen which is used in all capabilities.
1889afe61c15SRodney W. GrimesThis character is given in the
1890afe61c15SRodney W. Grimes.Sy \&CC
1891afe61c15SRodney W. Grimescapability to identify it.
1892afe61c15SRodney W. GrimesThe following convention is supported on some
1893afe61c15SRodney W. Grimes.Ux
1894afe61c15SRodney W. Grimessystems:
1895afe61c15SRodney W. GrimesThe environment is to be searched for a
1896afe61c15SRodney W. Grimes.Ev \&CC
1897afe61c15SRodney W. Grimesvariable,
1898afe61c15SRodney W. Grimesand if found,
1899afe61c15SRodney W. Grimesall occurrences of the prototype character are replaced by the character
1900afe61c15SRodney W. Grimesin the environment variable.
1901afe61c15SRodney W. GrimesThis use of the
1902afe61c15SRodney W. Grimes.Ev \&CC
1903afe61c15SRodney W. Grimesenvironment variable
1904afe61c15SRodney W. Grimesis a very bad idea, as it conflicts with
1905afe61c15SRodney W. Grimes.Xr make 1 .
1906afe61c15SRodney W. Grimes.Pp
1907afe61c15SRodney W. GrimesTerminal descriptions that do not represent a specific kind of known
1908afe61c15SRodney W. Grimesterminal, such as
1909afe61c15SRodney W. Grimes.Em switch ,
1910afe61c15SRodney W. Grimes.Em dialup ,
1911afe61c15SRodney W. Grimes.Em patch ,
1912afe61c15SRodney W. Grimesand
1913c2d6966aSPhilippe Charnier.Em network ,
1914afe61c15SRodney W. Grimesshould include the
1915afe61c15SRodney W. Grimes.Sy \&gn
1916afe61c15SRodney W. Grimes(generic) capability so that programs can complain that they do not know
1917afe61c15SRodney W. Grimeshow to talk to the terminal.
1918afe61c15SRodney W. Grimes(This capability does not apply to
1919afe61c15SRodney W. Grimes.Em virtual
1920afe61c15SRodney W. Grimesterminal descriptions for which the escape sequences are known.)
1921afe61c15SRodney W. Grimes.Pp
1922afe61c15SRodney W. GrimesIf the terminal uses xoff/xon
1923afe61c15SRodney W. Grimes.Pq Tn DC3 Ns / Ns Tn DC1
1924afe61c15SRodney W. Grimeshandshaking for flow control, give
1925afe61c15SRodney W. Grimes.Sy \&xo .
1926afe61c15SRodney W. GrimesPadding information should still be included so that routines can make
1927afe61c15SRodney W. Grimesbetter decisions about costs, but actual pad characters will not be
1928afe61c15SRodney W. Grimestransmitted.
1929afe61c15SRodney W. Grimes.Pp
1930afe61c15SRodney W. GrimesIf the terminal has a
1931afe61c15SRodney W. Grimes.Dq meta key
1932afe61c15SRodney W. Grimeswhich acts as a shift key, setting the
1933afe61c15SRodney W. Grimes8th bit of any character transmitted, then this fact can be indicated with
1934afe61c15SRodney W. Grimes.Sy \&km .
1935afe61c15SRodney W. GrimesOtherwise, software will assume that the 8th bit is parity and it will
1936afe61c15SRodney W. Grimesusually be cleared.
1937afe61c15SRodney W. GrimesIf strings exist to turn this
1938afe61c15SRodney W. Grimes.Dq meta mode
1939afe61c15SRodney W. Grimeson and off, they can be given as
1940afe61c15SRodney W. Grimes.Sy \&mm
1941afe61c15SRodney W. Grimesand
1942afe61c15SRodney W. Grimes.Sy \&mo .
1943afe61c15SRodney W. Grimes.Pp
1944afe61c15SRodney W. GrimesIf the terminal has more lines of memory than will fit on the screen at once,
1945afe61c15SRodney W. Grimesthe number of lines of memory can be indicated with
1946afe61c15SRodney W. Grimes.Sy \&lm .
1947afe61c15SRodney W. GrimesAn explicit value of 0 indicates that the number of lines is not fixed,
1948afe61c15SRodney W. Grimesbut that there is still more memory than fits on the screen.
1949afe61c15SRodney W. Grimes.Pp
1950afe61c15SRodney W. GrimesIf the terminal is one of those supported by the
1951afe61c15SRodney W. Grimes.Ux
1952afe61c15SRodney W. Grimessystem virtual
1953afe61c15SRodney W. Grimesterminal protocol, the terminal number can be given as
1954afe61c15SRodney W. Grimes.Sy \&vt .
1955afe61c15SRodney W. Grimes.Pp
1956afe61c15SRodney W. GrimesMedia copy strings which control an auxiliary printer
1957afe61c15SRodney W. Grimesconnected to the terminal can be given as
1958afe61c15SRodney W. Grimes.Sy \&ps :
1959afe61c15SRodney W. Grimesprint the contents of the screen;
1960afe61c15SRodney W. Grimes.Sy \&pf :
1961afe61c15SRodney W. Grimesturn off the printer; and
1962afe61c15SRodney W. Grimes.Sy \&po :
1963afe61c15SRodney W. Grimesturn on the printer.
1964afe61c15SRodney W. GrimesWhen the printer is on, all text sent to the terminal will be sent to the
1965afe61c15SRodney W. Grimesprinter.
1966afe61c15SRodney W. GrimesIt is undefined whether the text is also displayed on the terminal screen
1967afe61c15SRodney W. Grimeswhen the printer is on.
1968afe61c15SRodney W. GrimesA variation
1969afe61c15SRodney W. Grimes.Sy \&pO
1970afe61c15SRodney W. Grimestakes one parameter and leaves the printer on for as many characters as the
1971afe61c15SRodney W. Grimesvalue of the parameter, then turns the printer off.
1972afe61c15SRodney W. GrimesThe parameter should not exceed 255.
1973afe61c15SRodney W. GrimesAll text, including
1974afe61c15SRodney W. Grimes.Sy \&pf ,
1975afe61c15SRodney W. Grimesis transparently passed to the printer while
1976afe61c15SRodney W. Grimes.Sy \&pO
1977afe61c15SRodney W. Grimesis in effect.
1978afe61c15SRodney W. Grimes.Pp
1979afe61c15SRodney W. GrimesStrings to program function keys can be given as
1980afe61c15SRodney W. Grimes.Sy \&pk ,
1981afe61c15SRodney W. Grimes.Sy \&pl ,
1982afe61c15SRodney W. Grimesand
1983afe61c15SRodney W. Grimes.Sy \&px .
1984afe61c15SRodney W. GrimesEach of these strings takes two parameters: the function key number
1985afe61c15SRodney W. Grimesto program (from 0 to 9) and the string to program it with.
1986afe61c15SRodney W. GrimesFunction key numbers out of this range may program undefined keys
1987afe61c15SRodney W. Grimesin a terminal-dependent manner.
1988afe61c15SRodney W. GrimesThe differences among the capabilities are that
1989afe61c15SRodney W. Grimes.Sy \&pk
1990afe61c15SRodney W. Grimescauses pressing the given key to be the same as the user typing the given
1991afe61c15SRodney W. Grimesstring;
1992afe61c15SRodney W. Grimes.Sy \&pl
1993afe61c15SRodney W. Grimescauses the string to be executed by the terminal in local mode;
1994afe61c15SRodney W. Grimesand
1995afe61c15SRodney W. Grimes.Sy \&px
1996afe61c15SRodney W. Grimescauses the string to be transmitted to the computer.
1997afe61c15SRodney W. GrimesUnfortunately, due to lack of a definition for string parameters in
199836ab9525SJohn-Mark Gurney.Nm ,
1999afe61c15SRodney W. Grimesonly
2000d0353b83SRuslan Ermilov.Xr terminfo 5
2001afe61c15SRodney W. Grimessupports these capabilities.
2002afe61c15SRodney W. Grimes.Ss Glitches and Braindamage
2003afe61c15SRodney W. GrimesHazeltine terminals, which do not allow `~' characters to be displayed,
2004afe61c15SRodney W. Grimesshould indicate
2005afe61c15SRodney W. Grimes.Sy \&hz .
2006afe61c15SRodney W. Grimes.Pp
2007afe61c15SRodney W. GrimesThe
2008afe61c15SRodney W. Grimes.Sy \&nc
2009afe61c15SRodney W. Grimescapability, now obsolete, formerly indicated Datamedia terminals,
2010afe61c15SRodney W. Grimeswhich echo
2011afe61c15SRodney W. Grimes.Sy \&\er \en
2012afe61c15SRodney W. Grimesfor
2013afe61c15SRodney W. Grimescarriage return then ignore a following linefeed.
2014afe61c15SRodney W. Grimes.Pp
2015afe61c15SRodney W. GrimesTerminals that ignore a linefeed immediately after an
2016afe61c15SRodney W. Grimes.Sy \&am
2017afe61c15SRodney W. Grimeswrap, such as the Concept, should indicate
2018afe61c15SRodney W. Grimes.Sy \&xn .
2019afe61c15SRodney W. Grimes.Pp
2020afe61c15SRodney W. GrimesIf
2021afe61c15SRodney W. Grimes.Sy \&ce
2022afe61c15SRodney W. Grimesis required to get rid of standout
2023afe61c15SRodney W. Grimes(instead of merely writing normal text on top of it),
2024afe61c15SRodney W. Grimes.Sy \&xs
2025afe61c15SRodney W. Grimesshould be given.
2026afe61c15SRodney W. Grimes.Pp
2027afe61c15SRodney W. GrimesTeleray terminals, where tabs turn all characters moved over to blanks,
2028afe61c15SRodney W. Grimesshould indicate
2029afe61c15SRodney W. Grimes.Sy \&xt
2030afe61c15SRodney W. Grimes(destructive tabs).
2031afe61c15SRodney W. GrimesThis glitch is also taken to mean that it is not possible
20323136363fSRuslan Ermilovto position the cursor on top of a
20333136363fSRuslan Ermilov.Dq magic cookie ,
20343136363fSRuslan Ermilovand that
2035afe61c15SRodney W. Grimesto erase standout mode it is necessary to use delete and insert line.
2036afe61c15SRodney W. Grimes.Pp
2037afe61c15SRodney W. GrimesThe Beehive Superbee, which is unable to correctly transmit the
2038afe61c15SRodney W. Grimes.Dv ESC
2039afe61c15SRodney W. Grimesor
2040afe61c15SRodney W. Grimes.Sy \&^C
2041afe61c15SRodney W. Grimescharacters, has
2042afe61c15SRodney W. Grimes.Sy \&xb ,
2043afe61c15SRodney W. Grimesindicating that the
2044afe61c15SRodney W. Grimes.Dq \&f\&1
2045afe61c15SRodney W. Grimeskey is used for
2046afe61c15SRodney W. Grimes.Dv ESC
2047afe61c15SRodney W. Grimesand
2048afe61c15SRodney W. Grimes.Dq \&f\&2
2049afe61c15SRodney W. Grimesfor ^C.
2050afe61c15SRodney W. Grimes(Only certain Superbees have this problem, depending on the
2051afe61c15SRodney W. Grimes.Tn ROM . )
2052afe61c15SRodney W. Grimes.Pp
2053afe61c15SRodney W. GrimesOther specific terminal problems may be corrected by adding more
2054afe61c15SRodney W. Grimescapabilities of the form
2055afe61c15SRodney W. Grimes.Sy x Em x .
2056afe61c15SRodney W. Grimes.Ss Similar Terminals
2057afe61c15SRodney W. GrimesIf there are two very similar terminals,
2058afe61c15SRodney W. Grimesone can be defined as being just like the other with certain exceptions.
2059afe61c15SRodney W. GrimesThe string capability
2060afe61c15SRodney W. Grimes.Sy \&tc
2061afe61c15SRodney W. Grimescan be given
2062afe61c15SRodney W. Grimeswith the name of the similar terminal.
2063afe61c15SRodney W. GrimesThis capability must be
2064afe61c15SRodney W. Grimes.Em last ,
2065afe61c15SRodney W. Grimesand the combined length of the entries
2066afe61c15SRodney W. Grimesmust not exceed 1024.
2067afe61c15SRodney W. GrimesThe capabilities given before
2068afe61c15SRodney W. Grimes.Sy \&tc
2069afe61c15SRodney W. Grimesoverride those in the terminal type invoked by
2070afe61c15SRodney W. Grimes.Sy \&tc .
2071afe61c15SRodney W. GrimesA capability can be canceled by placing
2072afe61c15SRodney W. Grimes.Sy \&xx@
2073afe61c15SRodney W. Grimesto the left of the
2074afe61c15SRodney W. Grimes.Sy \&tc
2075afe61c15SRodney W. Grimesinvocation, where
2076afe61c15SRodney W. Grimes.Sy \&xx
2077afe61c15SRodney W. Grimesis the capability.
2078afe61c15SRodney W. GrimesFor example, the entry
2079afe61c15SRodney W. Grimes.Bd -literal -offset indent
2080afe61c15SRodney W. Grimeshn\||\|2621\-nl:ks@:ke@:tc=2621:
2081afe61c15SRodney W. Grimes.Ed
2082afe61c15SRodney W. Grimes.Pp
2083afe61c15SRodney W. Grimesdefines a
2084afe61c15SRodney W. Grimes.Dq 2621\-nl
2085afe61c15SRodney W. Grimesthat does not have the
2086afe61c15SRodney W. Grimes.Sy \&ks
2087afe61c15SRodney W. Grimesor
2088afe61c15SRodney W. Grimes.Sy \&ke
2089afe61c15SRodney W. Grimescapabilities,
2090afe61c15SRodney W. Grimeshence does not turn on the function key labels when in visual mode.
2091afe61c15SRodney W. GrimesThis is useful for different modes for a terminal, or for different
2092afe61c15SRodney W. Grimesuser preferences.
2093afe61c15SRodney W. Grimes.Sh FILES
2094afe61c15SRodney W. Grimes.Bl -tag -width /usr/share/misc/termcap.db -compact
2095afe61c15SRodney W. Grimes.It Pa /usr/share/misc/termcap
2096afe61c15SRodney W. GrimesFile containing terminal descriptions.
2097afe61c15SRodney W. Grimes.It Pa /usr/share/misc/termcap.db
2098afe61c15SRodney W. GrimesHash database file containing terminal descriptions (see
2099afe61c15SRodney W. Grimes.Xr cap_mkdb 1 ) .
2100afe61c15SRodney W. Grimes.El
2101afe61c15SRodney W. Grimes.Sh SEE ALSO
2102afe61c15SRodney W. Grimes.Xr cap_mkdb 1 ,
2103af202156SWolfram Schneider.Xr ex 1 ,
2104afe61c15SRodney W. Grimes.Xr more 1 ,
2105afe61c15SRodney W. Grimes.Xr tset 1 ,
2106af202156SWolfram Schneider.Xr ul 1 ,
2107afe61c15SRodney W. Grimes.Xr vi 1 ,
2108436aece8SNik Clayton.Xr ncurses 3 ,
2109afe61c15SRodney W. Grimes.Xr printf 3 ,
2110afe61c15SRodney W. Grimes.Xr termcap 3 ,
211178b0b234SMike Pritchard.Xr term 5
2112afe61c15SRodney W. Grimes.Sh CAVEATS AND BUGS
2113afe61c15SRodney W. GrimesThe
2114afe61c15SRodney W. Grimes.Em Note :
211536ab9525SJohn-Mark Gurney.Nm
2116afe61c15SRodney W. Grimesfunctions
2117afe61c15SRodney W. Grimeswere replaced by
2118d0353b83SRuslan Ermilov.Xr terminfo 5
2119afe61c15SRodney W. Grimesin
2120afe61c15SRodney W. Grimes.At V
2121afe61c15SRodney W. GrimesRelease 2.0.
2122afe61c15SRodney W. GrimesThe transition will be relatively painless if capabilities flagged as
2123afe61c15SRodney W. Grimes.Dq obsolete
2124afe61c15SRodney W. Grimesare avoided.
2125afe61c15SRodney W. Grimes.Pp
2126afe61c15SRodney W. GrimesLines and columns are now stored by the kernel as well as in the termcap
2127afe61c15SRodney W. Grimesentry.
2128afe61c15SRodney W. GrimesMost programs now use the kernel information primarily; the information
2129afe61c15SRodney W. Grimesin this file is used only if the kernel does not have any information.
2130afe61c15SRodney W. Grimes.Pp
213136ab9525SJohn-Mark GurneyThe
213236ab9525SJohn-Mark Gurney.Xr \&vi 1
213336ab9525SJohn-Mark Gurneyprogram allows only 256 characters for string capabilities, and the routines
2134afe61c15SRodney W. Grimesin
2135afe61c15SRodney W. Grimes.Xr termlib 3
2136afe61c15SRodney W. Grimesdo not check for overflow of this buffer.
2137afe61c15SRodney W. GrimesThe total length of a single entry (excluding only escaped newlines)
2138afe61c15SRodney W. Grimesmay not exceed 1024.
2139afe61c15SRodney W. Grimes.Pp
2140afe61c15SRodney W. GrimesNot all programs support all entries.
2141afe61c15SRodney W. Grimes.Sh HISTORY
2142afe61c15SRodney W. GrimesThe
2143afe61c15SRodney W. Grimes.Nm
2144afe61c15SRodney W. Grimesfile format appeared in
2145afe61c15SRodney W. Grimes.Bx 3 .
2146