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