Caps revision 50276
150276Speter##############################################################################
250276Speter# Copyright (c) 1998 Free Software Foundation, Inc.                          #
350276Speter#                                                                            #
450276Speter# Permission is hereby granted, free of charge, to any person obtaining a    #
550276Speter# copy of this software and associated documentation files (the "Software"), #
650276Speter# to deal in the Software without restriction, including without limitation  #
750276Speter# the rights to use, copy, modify, merge, publish, distribute, distribute    #
850276Speter# with modifications, sublicense, and/or sell copies of the Software, and to #
950276Speter# permit persons to whom the Software is furnished to do so, subject to the  #
1050276Speter# following conditions:                                                      #
1150276Speter#                                                                            #
1250276Speter# The above copyright notice and this permission notice shall be included in #
1350276Speter# all copies or substantial portions of the Software.                        #
1450276Speter#                                                                            #
1550276Speter# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR #
1650276Speter# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,   #
1750276Speter# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL    #
1850276Speter# THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER      #
1950276Speter# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING    #
2050276Speter# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER        #
2150276Speter# DEALINGS IN THE SOFTWARE.                                                  #
2250276Speter#                                                                            #
2350276Speter# Except as contained in this notice, the name(s) of the above copyright     #
2450276Speter# holders shall not be used in advertising or otherwise to promote the sale, #
2550276Speter# use or other dealings in this Software without prior written               #
2650276Speter# authorization.                                                             #
2750276Speter##############################################################################
2850276Speter#
2950276Speter# Author: Zeyd M. Ben-Halim <zmbenhal@netcom.com> 1992,1995
3050276Speter#    and: Eric S. Raymond <esr@snark.thyrsus.com>
3150276Speter#
3250276Speter# $Id: Caps,v 1.24 1999/01/17 02:01:44 tom Exp $
3350276Speter#
3450276Speter# This is the master termcap/terminfo capability table.
3550276Speter#
3650276Speter# This table is used to generate initializers for tables that drive tic,
3750276Speter# infocmp, and the library compilation code used to support the termcap 
3850276Speter# compatibility hack.  It is also used to generate the tabular portion of the
3950276Speter# terminfo(5) man page; lines beginning with `#%' are passed through to become
4050276Speter# the terminfo table.
4150276Speter#
4250276Speter# This file has three major sections; a standard-capabilities table, two
4350276Speter# extension-capability tables, and a section of aliases declarations.
4450276Speter# The first two have the same format, as follows:
4550276Speter#
4650276Speter# FILE FORMAT
4750276Speter#
4850276Speter# Column 1: terminfo variable name
4950276Speter# Column 2: terminfo capability name
5050276Speter# Column 3: capability type (boolean, numeric, or string)
5150276Speter# Column 4: termcap capability name
5250276Speter# Column 5: Lead with `Y' if capability should be emitted in termcap
5350276Speter#           translations, `-' otherwise
5450276Speter# Column 6: capability description
5550276Speter#
5650276Speter# The codes following [Y-] in column 5 describe the versions of termcap which
5750276Speter# use the given capability.  This information is not used by the curses library
5850276Speter# proper; rather, it's there to help the terminfo maintainer avoid emitting
5950276Speter# termcap entry translations that are more than 1023 bytes long (and tank a
6050276Speter# lot of old termcap-using programs).  The codes read as follows:
6150276Speter#	B = mentioned in the BSD man page for 4.4BSD curses
6250276Speter#	C = used by the 4.4BSD curses library
6350276Speter#	G = mentioned in the documentation for GNU termcap
6450276Speter#	E = used by GNU Emacs
6550276Speter#	K = remove this terminfo capability when translating to standard format
6650276Speter# The important codes are C and E.  A cap with C or E should be preserved in
6750276Speter# translation if possible.  The problem is that preserving all such caps may
6850276Speter# lead to some termcap translations being too long.  The termcap maintainer
6950276Speter# has a bit of a juggling act to do...potential problem cases are marked with
7050276Speter# a * or **.
7150276Speter#
7250276Speter# The aliases section has the following format:
7350276Speter#
7450276Speter# Column 1: either `capalias' or `infoalias'
7550276Speter# Column 2: name to be aliased
7650276Speter# Column 3: what name it should translate to.  The name IGNORE means it
7750276Speter#           should be discarded with a warning message.
7850276Speter# Column 4: name of the extension set (used for compiler warning messages)
7950276Speter# Column 5: capability description (usually an associated terminfo variable)
8050276Speter#
8150276Speter# HANDLING TERMCAP AND TERMINFO EXTENSIONS
8250276Speter#
8350276Speter# There are basically five different ways to handle termcap and terminfo
8450276Speter# extensions:
8550276Speter#
8650276Speter# 1. Don't list the capname here, or list it but comment it out (the latter
8750276Speter# is preferable; someone might want to handle it in the future).  If you do
8850276Speter# this, the capability will be treated as unknown and raise a warning from
8950276Speter# the compiler.
9050276Speter#
9150276Speter# 2. Alias it.  This is appropriate if the capability has the same meaning
9250276Speter# as an already-supported one.  The compiler will handle aliasing, emitting
9350276Speter# an appropriate informational message whenever an alias fires.
9450276Speter#
9550276Speter# 3. List it in the standard table.  You almost certainly do *not* want
9650276Speter# to do this -- the capabilities in that one, and their order, have been
9750276Speter# carefully chosen to be SVr4-binary-compatible when they're written out
9850276Speter# as a terminfo object, and breaking this would be bad.  It's up the ncurses
9950276Speter# library what to do with the terminfo data after it's read in.
10050276Speter#
10150276Speter# 4. List it in the aliases table with an IGNORE target field.  If you
10250276Speter# do this, the capability will be ignored on input (though the user will
10350276Speter# get a warning message about it).
10450276Speter#
10550276Speter# 5. List it in the extensions table. If you do this, the compiler will
10650276Speter# silently accept the capability, but the curses library proper will never
10750276Speter# see it (because it won't be written out as part of the terminfo object
10850276Speter# format).  It's up to you what you have the compiler do with it.
10950276Speter#
11050276Speter# There are two opposite reasons to choose option 5.  One is when you want
11150276Speter# to eat the capability silently and discard it when doing translations
11250276Speter# to terminfo with tic -I.  Some very old obsolete BSD caps like :kn: are
11350276Speter# in this class.  Nothing will ever use them again.
11450276Speter#
11550276Speter# More usually, you want the compiler to try to deduce something from the
11650276Speter# capability value that it can use to translate it into your output format.
11750276Speter# You'll need to write custom code, probably in postprocess_termcap() or
11850276Speter# postprocess_terminfo(), to handle the translation.
11950276Speter#
12050276Speter# CONTROLLING ENTRY LENGTH 
12150276Speter#
12250276Speter# Notes on specific elisions made to fit translations within 1023 bytes:
12350276Speter#
12450276Speter# Machines with IBM PC-like keyboards want to be able to define the following
12550276Speter# keys: key_npage, key_ppage, key_home, key_ll (which is used for in termcap-
12650276Speter# only environments for End or Home-Down), key_dc, and key_ic.  This is also
12750276Speter# the set of keys the `joe' editor will be upset if it can't see.  So don't 
12850276Speter# trim those out of the set to be translated to termcap, or various users of
12950276Speter# the termcap file will become irate.
13050276Speter#
13150276Speter# It might look tempting to leave those long init strings out of translations.
13250276Speter# We can't do it (yet); 4.4BSD tput and tset use them.
13350276Speter#
13450276Speter# We retain the sgr capability in translation in spite of the fact that neither
13550276Speter# 4.4BSD nor GNU Emacs uses it, because (a) some entry naming distinctions are
13650276Speter# hard to understand without it, and (b) the entries in which it is long tend
13750276Speter# to be older types that don't use up a lot of string space on function keys.
13850276Speter# The tic(1) translation code will complain and elide it if it makes a critical
13950276Speter# difference (there is special code in tic to recognize this situation).
14050276Speter#
14150276Speter# Yes, BSD tset(1) uses hpa.  We elide hpa/vpa anyway because the motion
14250276Speter# optimizer in BSD curses didn't use them.  This omission seems to be the
14350276Speter# single most effective one, it shortened the resolved length of all thirteen
14450276Speter# problem entries in the 9.9.0 version of the terminfo master below critical.
14550276Speter#
14650276Speter# It would be nice to keep f11 and f12 for Emacs use, but a couple of termcap
14750276Speter# translations go back over critical if we do this.  As 4.4BSD curses fades
14850276Speter# into history and GNU termcap's application base shrinks towards being GNU 
14950276Speter# Emacs only, we'll probably elide out some BSD-only capabilities in order
15050276Speter# to buy space for non-essentials Emacs is still using.  Capabilities high
15150276Speter# on that hit list: rc, sc, uc.
15250276Speter#
15350276Speter#############################################################################
15450276Speter#
15550276Speter# STANDARD CAPABILITIES
15650276Speter#
15750276Speter#%The following is a complete table of the capabilities included in a
15850276Speter#%terminfo description block and available to terminfo-using code.  In each
15950276Speter#%line of the table,
16050276Speter#%
16150276Speter#%The \fBvariable\fR is the name by which the programmer (at the terminfo level)
16250276Speter#%accesses the capability.
16350276Speter#%
16450276Speter#%The \fBcapname\fR is the short name used in the text of the database,
16550276Speter#%and is used by a person updating the database.
16650276Speter#%Whenever possible, capnames are chosen to be the same as or similar to
16750276Speter#%the ANSI X3.64-1979 standard (now superseded by ECMA-48, which uses 
16850276Speter#%identical or very similar names).  Semantics are also intended to match
16950276Speter#%those of the specification.
17050276Speter#%
17150276Speter#%The termcap code is the old
17250276Speter#%.B termcap
17350276Speter#%capability name (some capabilities are new, and have names which termcap
17450276Speter#%did not originate).
17550276Speter#%.P
17650276Speter#%Capability names have no hard length limit, but an informal limit of 5
17750276Speter#%characters has been adopted to keep them short and to allow the tabs in
17850276Speter#%the source file
17950276Speter#%.B Caps
18050276Speter#%to line up nicely.
18150276Speter#%
18250276Speter#%Finally, the description field attempts to convey the semantics of the
18350276Speter#%capability.  You may find some codes in the description field:
18450276Speter#%.TP
18550276Speter#%(P)
18650276Speter#%indicates that padding may be specified
18750276Speter#%.TP
18850276Speter#%#[1-9]
18950276Speter#%in the description field indicates that the string is passed through tparm with
19050276Speter#%parms as given (#\fIi\fP).
19150276Speter#%.TP
19250276Speter#%(P*)
19350276Speter#%indicates that padding may vary in proportion to the number of
19450276Speter#%lines affected
19550276Speter#%.TP
19650276Speter#%(#\d\fIi\fP\u)
19750276Speter#%indicates the \fIi\fP\uth\d parameter.
19850276Speter#%
19950276Speter#%.PP
20050276Speter#% These are the boolean capabilities:
20150276Speter#%
20250276Speter#%.na
20350276Speter#%.TS H
20450276Speter#%center expand;
20550276Speter#%c l l c
20650276Speter#%c l l c
20750276Speter#%lw25 lw6 lw2 lw20.
20850276Speter#%\fBVariable	Cap-	TCap	Description\fR
20950276Speter#%\fBBooleans	name	Code\fR
21050276Speterauto_left_margin	bw	bool	bw	YB-G-	cub1 wraps from column 0 to last column
21150276Speterauto_right_margin	am	bool	am	YBCGE	terminal has automatic margins
21250276Speterno_esc_ctlc     	xsb	bool	xb	YBCG-	beehive (f1=escape, f2=ctrl C)
21350276Speterceol_standout_glitch	xhp	bool	xs	YBCGE	standout not erased by overwriting (hp)
21450276Spetereat_newline_glitch	xenl	bool	xn	YBCGE	newline ignored after 80 cols (concept)
21550276Spetererase_overstrike	eo	bool	eo	YBCG-	can erase overstrikes with a blank
21650276Spetergeneric_type    	gn	bool	gn	YB-G-	generic line type
21750276Speterhard_copy       	hc	bool	hc	YBCG-	hardcopy terminal
21850276Speterhas_meta_key    	km	bool	km	YB-GE	Has a meta key (shift, sets parity bit)
21950276Speterhas_status_line 	hs	bool	hs	YB-G-	has extra status line
22050276Speterinsert_null_glitch	in	bool	in	YBCGE	insert mode distinguishes nulls
22150276Spetermemory_above    	da	bool	da	YBCG-	display may be retained above the screen
22250276Spetermemory_below    	db	bool	db	YB-GE	display may be retained below the screen
22350276Spetermove_insert_mode	mir	bool	mi	YBCGE	safe to move while in insert mode
22450276Spetermove_standout_mode	msgr	bool	ms	YBCGE	safe to move while in standout mode
22550276Speterover_strike     	os	bool	os	YBCG-	terminal can overstrike
22650276Speterstatus_line_esc_ok	eslok	bool	es	YB-G-	escape can be used on the status line
22750276Speterdest_tabs_magic_smso	xt	bool	xt	YBCGE	tabs destructive, magic so char (t1061)
22850276Spetertilde_glitch    	hz	bool	hz	YB-GE	can't print ~'s (hazeltine)
22950276Spetertransparent_underline	ul	bool	ul	YBCGE	underline character overstrikes
23050276Speterxon_xoff        	xon	bool	xo	YB---	terminal uses xon/xoff handshaking
23150276Speterneeds_xon_xoff  	nxon	bool	nx	-----	padding won't work, xon/xoff required
23250276Speterprtr_silent     	mc5i	bool	5i	-----	printer won't echo on screen
23350276Speterhard_cursor     	chts	bool	HC	-----	cursor is hard to see
23450276Speternon_rev_rmcup   	nrrmc	bool	NR	-----	smcup does not reverse rmcup
23550276Speterno_pad_char     	npc	bool	NP	-----	pad character does not exist
23650276Speternon_dest_scroll_region	ndscr	bool	ND	-----	scrolling region is non-destructive
23750276Spetercan_change      	ccc	bool	cc	-----	terminal can re-define existing colors
23850276Speterback_color_erase	bce	bool	ut	-----	screen erased with background color
23950276Speterhue_lightness_saturation	hls	bool	hl	-----	terminal uses only HLS color notation (Tektronix)
24050276Spetercol_addr_glitch 	xhpa	bool	YA	-----	only positive motion for hpa/mhpa caps
24150276Spetercr_cancels_micro_mode	crxm	bool	YB	-----	using cr turns off micro mode
24250276Speterhas_print_wheel 	daisy	bool	YC	-----	printer needs operator to change character set
24350276Speterrow_addr_glitch 	xvpa	bool	YD	-----	only positive motion for vpa/mvpa caps
24450276Spetersemi_auto_right_margin	sam	bool	YE	-----	printing in last column causes cr
24550276Spetercpi_changes_res 	cpix	bool	YF	-----	changing character pitch changes resolution
24650276Speterlpi_changes_res 	lpix	bool	YG	-----	changing line pitch changes resolution
24750276Speter#%.TE
24850276Speter#%.ad
24950276Speter#%
25050276Speter#%These are the numeric capabilities:
25150276Speter#%
25250276Speter#%.na
25350276Speter#%.TS H
25450276Speter#%center expand;
25550276Speter#%c l l c
25650276Speter#%c l l c
25750276Speter#%lw25 lw6 lw2 lw20.
25850276Speter#%\fBVariable	Cap-	TCap	Description\fR
25950276Speter#%\fBNumeric	name	Code\fR
26050276Spetercolumns         	cols	num	co	YBCGE	number of columns in a line
26150276Speterinit_tabs       	it	num	it	YB-G-	tabs initially every # spaces
26250276Speterlines           	lines	num	li	YBCGE	number of lines on screen or page
26350276Speterlines_of_memory 	lm	num	lm	YB-G-	lines of memory if > line. 0 means varies
26450276Spetermagic_cookie_glitch	xmc	num	sg	YBCGE	number of blank characters left by smso or rmso
26550276Speterpadding_baud_rate	pb	num	pb	YB-GE	lowest baud rate where padding needed
26650276Spetervirtual_terminal	vt	num	vt	YB---	virtual terminal number (CB/unix)
26750276Speterwidth_status_line	wsl	num	ws	YB-G-	number of columns in status line
26850276Speternum_labels      	nlab	num	Nl	-----	number of labels on screen
26950276Speterlabel_height    	lh	num	lh	-----	rows in each label
27050276Speterlabel_width     	lw	num	lw	-----	columns in each label
27150276Spetermax_attributes  	ma	num	ma	YBC--	maximum combined attributes terminal can handle
27250276Spetermaximum_windows 	wnum	num	MW	-----	maximum number of defineable windows
27350276Speter# These came in with SVr4's color support
27450276Spetermax_colors      	colors	num	Co	-----	maximum number of colors on screen
27550276Spetermax_pairs       	pairs	num	pa	-----	maximum number of color-pairs on the screen
27650276Speterno_color_video  	ncv	num	NC	-----	video attributes that can't be used with colors
27750276Speter#%.TE
27850276Speter#%.ad
27950276Speter#%
28050276Speter#%The following numeric capabilities are present in the SVr4.0 term structure,
28150276Speter#%but are not yet documented in the man page.  They came in with SVr4's
28250276Speter#%printer support.
28350276Speter#%
28450276Speter#%.na
28550276Speter#%.TS H
28650276Speter#%center expand;
28750276Speter#%c l l c
28850276Speter#%c l l c
28950276Speter#%lw25 lw6 lw2 lw20.
29050276Speter#%\fBVariable	Cap-	TCap	Description\fR
29150276Speter#%\fBNumeric	name	Code\fR
29250276Speterbuffer_capacity 	bufsz	num	Ya	-----	numbers of bytes buffered before printing
29350276Speterdot_vert_spacing	spinv	num	Yb	-----	spacing of pins vertically in pins per inch
29450276Speterdot_horz_spacing	spinh	num	Yc	-----	spacing of dots horizontally in dots per inch
29550276Spetermax_micro_address	maddr	num	Yd	-----	maximum value in micro_..._address
29650276Spetermax_micro_jump  	mjump	num	Ye	-----	maximum value in parm_..._micro
29750276Spetermicro_col_size  	mcs	num	Yf	-----	character step size when in micro mode
29850276Spetermicro_line_size 	mls	num	Yg	-----	line step size when in micro mode
29950276Speternumber_of_pins  	npins	num	Yh	-----	numbers of pins in print-head
30050276Speteroutput_res_char 	orc	num	Yi	-----	horizontal resolution in units per line
30150276Speteroutput_res_line 	orl	num	Yj	-----	vertical resolution in units per line
30250276Speteroutput_res_horz_inch	orhi	num	Yk	-----	horizontal resolution in units per inch
30350276Speteroutput_res_vert_inch	orvi	num	Yl	-----	vertical resolution in units per inch
30450276Speterprint_rate      	cps	num	Ym	-----	print rate in characters per second
30550276Speterwide_char_size  	widcs	num	Yn	-----	character step size when in double wide mode
30650276Speterbuttons         	btns	num	BT	-----	number of buttons on mouse
30750276Speterbit_image_entwining	bitwin	num	Yo	-----	number of passes for each bit-image row
30850276Speterbit_image_type  	bitype	num	Yp	-----	type of bit-image device
30950276Speter#%.TE
31050276Speter#%.ad
31150276Speter#%
31250276Speter#%These are the string capabilities:
31350276Speter#%
31450276Speter#%.na
31550276Speter#%.TS H
31650276Speter#%center expand;
31750276Speter#%c l l c
31850276Speter#%c l l c
31950276Speter#%lw25 lw6 lw2 lw20.
32050276Speter#%\fBVariable	Cap-	TCap	Description\fR
32150276Speter#%\fBString	name	Code\fR
32250276Speterback_tab        	cbt	str	bt	YBCGE	back tab (P)
32350276Speterbell            	bel	str	bl	YB-GE	audible signal (bell) (P)
32450276Spetercarriage_return 	cr	str	cr	YBCGE	carriage return (P*) (P*)
32550276Speterchange_scroll_region	csr	str	cs	YBCGE	change region to line #1 to line #2 (P)
32650276Speterclear_all_tabs  	tbc	str	ct	YB-G-	clear all tab stops (P)
32750276Speterclear_screen    	clear	str	cl	YBCGE	clear screen and home cursor (P*)
32850276Speterclr_eol         	el	str	ce	YBCGE	clear to end of line (P)
32950276Speterclr_eos         	ed	str	cd	YBCGE	clear to end of screen (P*)
33050276Spetercolumn_address  	hpa	str	ch	-B-GE**	horizontal position #1, absolute (P)
33150276Spetercommand_character	cmdch	str	CC	YB-G-	terminal settable cmd character in prototype !?
33250276Spetercursor_address  	cup	str	cm	YBCGE	move to row #1 columns #2
33350276Spetercursor_down     	cud1	str	do	YBCGE	down one line
33450276Spetercursor_home     	home	str	ho	YBCGE	home cursor (if no cup)
33550276Spetercursor_invisible	civis	str	vi	YB-G-	make cursor invisible
33650276Spetercursor_left     	cub1	str	le	YBCGE	move left one space
33750276Spetercursor_mem_address	mrcup	str	CM	YB-G-	memory relative cursor addressing
33850276Spetercursor_normal   	cnorm	str	ve	YBCGE	make cursor appear normal (undo civis/cvvis)
33950276Spetercursor_right    	cuf1	str	nd	YBCGE	non-destructive space (move right one space)
34050276Spetercursor_to_ll    	ll	str	ll	YBCGE	last line, first column (if no cup)
34150276Spetercursor_up       	cuu1	str	up	YBCGE	up one line
34250276Spetercursor_visible  	cvvis	str	vs	YBCGE	make cursor very visible
34350276Speterdelete_character	dch1	str	dc	YBCGE	delete character (P*)
34450276Speterdelete_line     	dl1	str	dl	YBCGE	delete line (P*)
34550276Speterdis_status_line 	dsl	str	ds	YB-G-	disable status line
34650276Speterdown_half_line  	hd	str	hd	YB-G-	half a line down
34750276Speterenter_alt_charset_mode	smacs	str	as	YB-G-	start alternate character set (P)
34850276Speterenter_blink_mode	blink	str	mb	YB-G-	turn on blinking
34950276Speterenter_bold_mode 	bold	str	md	YB-G-	turn on bold (extra bright) mode
35050276Speterenter_ca_mode   	smcup	str	ti	YBCGE	string to start programs using cup
35150276Speterenter_delete_mode	smdc	str	dm	YBCGE	enter delete mode
35250276Speterenter_dim_mode  	dim	str	mh	YB-G-	turn on half-bright mode
35350276Speterenter_insert_mode	smir	str	im	YBCGE	enter insert mode
35450276Speterenter_secure_mode	invis	str	mk	-B-G-*	turn on blank mode (characters invisible)
35550276Speterenter_protected_mode	prot	str	mp	-B-G-*	turn on protected mode
35650276Speterenter_reverse_mode	rev	str	mr	YB-G-	turn on reverse video mode
35750276Speterenter_standout_mode	smso	str	so	YBCGE	begin standout mode
35850276Speterenter_underline_mode	smul	str	us	YBCGE	begin underline mode
35950276Spetererase_chars     	ech	str	ec	YB-G-	erase #1 characters (P)
36050276Speterexit_alt_charset_mode	rmacs	str	ae	YB-G-	end alternate character set (P)
36150276Speterexit_attribute_mode	sgr0	str	me	YB-GE	turn off all attributes
36250276Speterexit_ca_mode    	rmcup	str	te	YBCGE	strings to end programs using cup
36350276Speterexit_delete_mode	rmdc	str	ed	YBCGE	end delete mode
36450276Speterexit_insert_mode	rmir	str	ei	YBCGE	exit insert mode
36550276Speterexit_standout_mode	rmso	str	se	YBCGE	exit standout mode
36650276Speterexit_underline_mode	rmul	str	ue	YBCGE	exit underline mode
36750276Speterflash_screen    	flash	str	vb	YBCGE	visible bell (may not move cursor)
36850276Speterform_feed       	ff	str	ff	YB-G-	hardcopy terminal page eject (P*)
36950276Speterfrom_status_line	fsl	str	fs	YB-G-	return from status line
37050276Speterinit_1string    	is1	str	i1	YB-G-	initialization string
37150276Speterinit_2string    	is2	str	is	YB-G-	initialization string
37250276Speterinit_3string    	is3	str	i3	YB-G-	initialization string
37350276Speterinit_file       	if	str	if	YB-G-	name of initialization file
37450276Speterinsert_character	ich1	str	ic	YBCGE	insert character (P)
37550276Speterinsert_line     	il1	str	al	YBCGE	insert line (P*)
37650276Speterinsert_padding  	ip	str	ip	YBCGE	insert padding after inserted character
37750276Speterkey_backspace   	kbs	str	kb	YB-G-	backspace key
37850276Speterkey_catab       	ktbc	str	ka	-B-G-*	clear-all-tabs key
37950276Speterkey_clear       	kclr	str	kC	-B-G-*	clear-screen or erase key
38050276Speterkey_ctab        	kctab	str	kt	-B-G-*	clear-tab key
38150276Speterkey_dc          	kdch1	str	kD	YB-G-	delete-character key
38250276Speterkey_dl          	kdl1	str	kL	-B-G-*	delete-line key
38350276Speterkey_down        	kcud1	str	kd	YBCGE	down-arrow key
38450276Speterkey_eic         	krmir	str	kM	-B-G-*	sent by rmir or smir in insert mode
38550276Speterkey_eol         	kel	str	kE	-B-G-*	clear-to-end-of-line key
38650276Speterkey_eos         	ked	str	kS	-B-G-*	clear-to-end-of-screen key
38750276Speterkey_f0          	kf0	str	k0	YBCGE	F0 function key
38850276Speterkey_f1          	kf1	str	k1	YBCGE	F1 function key
38950276Speterkey_f10         	kf10	str	k;	----E	F10 function key
39050276Speterkey_f2          	kf2	str	k2	YBCGE	F2 function key
39150276Speterkey_f3          	kf3	str	k3	YBCGE	F3 function key
39250276Speterkey_f4          	kf4	str	k4	YBCGE	F4 function key
39350276Speterkey_f5          	kf5	str	k5	YBCGE	F5 function key
39450276Speterkey_f6          	kf6	str	k6	YBCGE	F6 function key
39550276Speterkey_f7          	kf7	str	k7	YBCGE	F7 function key
39650276Speterkey_f8          	kf8	str	k8	YBCGE	F8 function key
39750276Speterkey_f9          	kf9	str	k9	YBCGE	F9 function key
39850276Speterkey_home        	khome	str	kh	YBCGE	home key
39950276Speterkey_ic          	kich1	str	kI	YB-GE	insert-character key
40050276Speterkey_il          	kil1	str	kA	-B-G-*	insert-line key
40150276Speterkey_left        	kcub1	str	kl	YBCGE	left-arrow key
40250276Speterkey_ll          	kll	str	kH	YB-G-	lower-left key (home down)
40350276Speterkey_npage        	knp	str	kN	YB-GE	next-page key
40450276Speterkey_ppage       	kpp	str	kP	YB-GE	previous-page key
40550276Speterkey_right       	kcuf1	str	kr	YBCGE	right-arrow key
40650276Speterkey_sf          	kind	str	kF	-B-G-*	scroll-forward key
40750276Speterkey_sr          	kri	str	kR	-B-G-*	scroll-backward key
40850276Speterkey_stab        	khts	str	kT	-B-G-*	set-tab key
40950276Speterkey_up          	kcuu1	str	ku	YBCGE	up-arrow key
41050276Speterkeypad_local    	rmkx	str	ke	YBCGE	leave 'keyboard_transmit' mode
41150276Speterkeypad_xmit     	smkx	str	ks	YBCGE	enter 'keyboard_transmit' mode
41250276Speterlab_f0          	lf0	str	l0	-B-G-*	label on function key f0 if not f0
41350276Speterlab_f1          	lf1	str	l1	-B-G-*	label on function key f1 if not f1
41450276Speterlab_f10          	lf10	str	la	-----	label on function key f10 if not f10
41550276Speterlab_f2          	lf2	str	l2	-B-G-*	label on function key f2 if not f2
41650276Speterlab_f3          	lf3	str	l3	-B-G-*	label on function key f3 if not f3
41750276Speterlab_f4          	lf4	str	l4	-B-G-*	label on function key f4 if not f4
41850276Speterlab_f5          	lf5	str	l5	-B-G-*	label on function key f5 if not f5
41950276Speterlab_f6          	lf6	str	l6	-B-G-*	label on function key f6 if not f6
42050276Speterlab_f7          	lf7	str	l7	-B-G-*	label on function key f7 if not f7
42150276Speterlab_f8          	lf8	str	l8	-B-G-*	label on function key f8 if not f8
42250276Speterlab_f9          	lf9	str	l9	-B-G-*	label on function key f9 if not f9
42350276Spetermeta_off          	rmm	str	mo	YB-G-*	turn off meta mode
42450276Spetermeta_on         	smm	str	mm	YB-G-*	turn on meta mode (8th-bit on)
42550276Speternewline         	nel	str	nw	YB-G-*	newline (behave like cr followed by lf)
42650276Speterpad_char          	pad	str	pc	YBCGE	padding char (instead of null)
42750276Speterparm_dch          	dch	str	DC	YB-GE	delete #1 characters (P*)
42850276Speterparm_delete_line	dl	str	DL	YBCGE	delete #1 lines (P*)
42950276Speterparm_down_cursor	cud	str	DO	YBCGE	down #1 lines (P*)
43050276Speterparm_ich          	ich	str	IC	YB-GE	insert #1 characters (P*)
43150276Speterparm_index          	indn	str	SF	YBCG-	scroll forward #1 lines (P)
43250276Speterparm_insert_line	il	str	AL	YBCGE	insert #1 lines (P*)
43350276Speterparm_left_cursor	cub	str	LE	YBCGE	move #1 characters to the left (P)
43450276Speterparm_right_cursor	cuf	str	RI	YBCGE	move #1 characters to the right (P*)
43550276Speterparm_rindex          	rin	str	SR	YBCG-	scroll back #1 lines (P)
43650276Speterparm_up_cursor  	cuu	str	UP	YBCGE	up #1 lines (P*)
43750276Speterpkey_key        	pfkey	str	pk	-B---	program function key #1 to type string #2
43850276Speterpkey_local          	pfloc	str	pl	-B---	program function key #1 to execute string #2
43950276Speterpkey_xmit          	pfx	str	px	-B---	program function key #1 to transmit string #2
44050276Speterprint_screen          	mc0	str	ps	-B-G-*	print contents of screen
44150276Speterprtr_off          	mc4	str	pf	-B-G-*	turn off printer
44250276Speterprtr_on         	mc5	str	po	-B-G-*	turn on printer
44350276Speterrepeat_char          	rep	str	rp	YB-GE	repeat char #1 #2 times (P*)
44450276Speterreset_1string          	rs1	str	r1	-B---	reset string
44550276Speterreset_2string          	rs2	str	r2	-B---	reset string
44650276Speterreset_3string          	rs3	str	r3	-B---	reset string
44750276Speterreset_file          	rf	str	rf	-B---	name of reset file
44850276Speterrestore_cursor        	rc	str	rc	YBCG-	restore cursor to position of last save_cursor
44950276Speterrow_address          	vpa	str	cv	-B-GE**	vertical position #1 absolute (P)
45050276Spetersave_cursor          	sc	str	sc	YBCG-	save current cursor position (P)
45150276Speterscroll_forward        	ind	str	sf	YBCGE	scroll text up (P)
45250276Speterscroll_reverse        	ri	str	sr	YBCGE	scroll text down (P)
45350276Speterset_attributes        	sgr	str	sa	YB-G-	define video attributes #1-#9 (PG9)
45450276Speterset_tab         	hts	str	st	YB-G-	set a tab in every row, current columns
45550276Speterset_window      	wind	str	wi	-B-GE	current window is lines #1-#2 cols #3-#4
45650276Spetertab             	ht	str	ta	YBCGE	tab to next 8-space hardware tab stop
45750276Speterto_status_line  	tsl	str	ts	YB-G-	move to status line
45850276Speterunderline_char  	uc	str	uc	YBCG-	underline char and move past it
45950276Speterup_half_line    	hu	str	hu	YB-G-	half a line up
46050276Speterinit_prog       	iprog	str	iP	-B---	path name of program for initialization
46150276Speterkey_a1          	ka1	str	K1	YB-GE	upper left of keypad
46250276Speterkey_a3          	ka3	str	K3	YB-GE	upper right of keypad
46350276Speterkey_b2          	kb2	str	K2	YB-GE	center of keypad
46450276Speterkey_c1          	kc1	str	K4	YB-GE	lower left of keypad
46550276Speterkey_c3          	kc3	str	K5	YB-GE	lower right of keypad
46650276Speterprtr_non        	mc5p	str	pO	-B-G-*	turn on printer for #1 bytes
46750276Speter#
46850276Speter# SVr1 capabilities stop here.	IBM's version of terminfo is the same as
46950276Speter# SVr4 up to this point, but has a different set afterwards.
47050276Speter#
47150276Speterchar_padding    	rmp	str	rP	-----	like ip but when in insert mode
47250276Speteracs_chars       	acsc	str	ac	-----	graphics charset pairs, based on vt100
47350276Speterplab_norm       	pln	str	pn	-----	program label #1 to show string #2
47450276Speterkey_btab        	kcbt	str	kB	-----	back-tab key
47550276Speterenter_xon_mode  	smxon	str	SX	-----	turn on xon/xoff handshaking
47650276Speterexit_xon_mode   	rmxon	str	RX	-----	turn off xon/xoff handshaking
47750276Speterenter_am_mode   	smam	str	SA	-----	turn on automatic margins
47850276Speterexit_am_mode    	rmam	str	RA	-----	turn off automatic margins
47950276Speterxon_character   	xonc	str	XN	-----	XON character
48050276Speterxoff_character  	xoffc	str	XF	-----	XOFF character
48150276Speterena_acs          	enacs	str	eA	-----	enable alternate char set
48250276Speterlabel_on        	smln	str	LO	-----	turn on soft labels
48350276Speterlabel_off       	rmln	str	LF	-----	turn off soft labels
48450276Speterkey_beg          	kbeg	str	@1	-----	begin key
48550276Speterkey_cancel      	kcan	str	@2	-----	cancel key
48650276Speterkey_close       	kclo	str	@3	-----	close key
48750276Speterkey_command     	kcmd	str	@4	-----	command key
48850276Speterkey_copy        	kcpy	str	@5	-----	copy key
48950276Speterkey_create      	kcrt	str	@6	-----	create key
49050276Speterkey_end          	kend	str	@7	-----	end key
49150276Speterkey_enter       	kent	str	@8	-----	enter/send key
49250276Speterkey_exit        	kext	str	@9	-----	exit key
49350276Speterkey_find        	kfnd	str	@0	-----	find key
49450276Speterkey_help          	khlp	str	%1	-----	help key
49550276Speterkey_mark          	kmrk	str	%2	-----	mark key
49650276Speterkey_message          	kmsg	str	%3	-----	message key
49750276Speterkey_move          	kmov	str	%4	-----	move key
49850276Speterkey_next          	knxt	str	%5	-----	next key
49950276Speterkey_open          	kopn	str	%6	-----	open key
50050276Speterkey_options          	kopt	str	%7	-----	options key
50150276Speterkey_previous          	kprv	str	%8	-----	previous key
50250276Speterkey_print          	kprt	str	%9	-----	print key
50350276Speterkey_redo          	krdo	str	%0	-----	redo key
50450276Speterkey_reference          	kref	str	&1	-----	reference key
50550276Speterkey_refresh          	krfr	str	&2	-----	refresh key
50650276Speterkey_replace          	krpl	str	&3	-----	replace key
50750276Speterkey_restart          	krst	str	&4	-----	restart key
50850276Speterkey_resume          	kres	str	&5	-----	resume key
50950276Speterkey_save          	ksav	str	&6	-----	save key
51050276Speterkey_suspend          	kspd	str	&7	-----	suspend key
51150276Speterkey_undo        	kund	str	&8	-----	undo key
51250276Speterkey_sbeg        	kBEG	str	&9	-----	shifted begin key
51350276Speterkey_scancel     	kCAN	str	&0	-----	shifted cancel key
51450276Speterkey_scommand    	kCMD	str	*1	-----	shifted command key
51550276Speterkey_scopy       	kCPY	str	*2	-----	shifted copy key
51650276Speterkey_screate     	kCRT	str	*3	-----	shifted create key
51750276Speterkey_sdc         	kDC	str	*4	-----	shifted delete-character key
51850276Speterkey_sdl          	kDL	str	*5	-----	shifted delete-line key
51950276Speterkey_select      	kslt	str	*6	-----	select key
52050276Speterkey_send        	kEND	str	*7	-----	shifted end key
52150276Speterkey_seol          	kEOL	str	*8	-----	shifted clear-to-end-of-line key
52250276Speterkey_sexit          	kEXT	str	*9	-----	shifted exit key
52350276Speterkey_sfind          	kFND	str	*0	-----	shifted find key
52450276Speterkey_shelp          	kHLP	str	#1	-----	shifted help key
52550276Speterkey_shome          	kHOM	str	#2	-----	shifted home key
52650276Speterkey_sic          	kIC	str	#3	-----	shifted insert-character key
52750276Speterkey_sleft          	kLFT	str	#4	-----	shifted left-arrow key
52850276Speterkey_smessage          	kMSG	str	%a	-----	shifted message key
52950276Speterkey_smove          	kMOV	str	%b	-----	shifted move key
53050276Speterkey_snext          	kNXT	str	%c	-----	shifted next key
53150276Speterkey_soptions          	kOPT	str	%d	-----	shifted options key
53250276Speterkey_sprevious          	kPRV	str	%e	-----	shifted previous key
53350276Speterkey_sprint          	kPRT	str	%f	-----	shifted print key
53450276Speterkey_sredo          	kRDO	str	%g	-----	shifted redo key
53550276Speterkey_sreplace          	kRPL	str	%h	-----	shifted replace key
53650276Speterkey_sright      	kRIT	str	%i	-----	shifted right-arrow key
53750276Speterkey_srsume      	kRES	str	%j	-----	shifted resume key
53850276Speterkey_ssave       	kSAV	str	!1	-----	shifted save key
53950276Speterkey_ssuspend    	kSPD	str	!2	-----	shifted suspend key
54050276Speterkey_sundo       	kUND	str	!3	-----	shifted undo key
54150276Speterreq_for_input   	rfi	str	RF	-----	send next input char (for ptys)
54250276Speterkey_f11         	kf11	str	F1	----E	F11 function key
54350276Speterkey_f12         	kf12	str	F2	----E	F12 function key
54450276Speterkey_f13         	kf13	str	F3	----E	F13 function key
54550276Speterkey_f14         	kf14	str	F4	----E	F14 function key
54650276Speterkey_f15         	kf15	str	F5	----E	F15 function key
54750276Speterkey_f16         	kf16	str	F6	----E	F16 function key
54850276Speterkey_f17         	kf17	str	F7	----E	F17 function key
54950276Speterkey_f18         	kf18	str	F8	----E	F18 function key
55050276Speterkey_f19         	kf19	str	F9	----E	F19 function key
55150276Speterkey_f20         	kf20	str	FA	----E	F20 function key
55250276Speterkey_f21         	kf21	str	FB	----E	F21 function key
55350276Speterkey_f22         	kf22	str	FC	----E	F22 function key
55450276Speterkey_f23         	kf23	str	FD	----E	F23 function key
55550276Speterkey_f24         	kf24	str	FE	----E	F24 function key
55650276Speterkey_f25         	kf25	str	FF	----E	F25 function key
55750276Speterkey_f26         	kf26	str	FG	----E	F26 function key
55850276Speterkey_f27         	kf27	str	FH	----E	F27 function key
55950276Speterkey_f28         	kf28	str	FI	----E	F28 function key
56050276Speterkey_f29         	kf29	str	FJ	----E	F29 function key
56150276Speterkey_f30         	kf30	str	FK	----E	F30 function key
56250276Speterkey_f31         	kf31	str	FL	----E	F31 function key
56350276Speterkey_f32         	kf32	str	FM	----E	F32 function key
56450276Speterkey_f33         	kf33	str	FN	----E	F33 function key
56550276Speterkey_f34         	kf34	str	FO	----E	F34 function key
56650276Speterkey_f35         	kf35	str	FP	----E	F35 function key
56750276Speterkey_f36         	kf36	str	FQ	----E	F36 function key
56850276Speterkey_f37         	kf37	str	FR	----E	F37 function key
56950276Speterkey_f38         	kf38	str	FS	----E	F38 function key
57050276Speterkey_f39         	kf39	str	FT	----E	F39 function key
57150276Speterkey_f40         	kf40	str	FU	----E	F40 function key
57250276Speterkey_f41         	kf41	str	FV	----E	F41 function key
57350276Speterkey_f42         	kf42	str	FW	----E	F42 function key
57450276Speterkey_f43         	kf43	str	FX	----E	F43 function key
57550276Speterkey_f44         	kf44	str	FY	----E	F44 function key
57650276Speterkey_f45         	kf45	str	FZ	----E	F45 function key
57750276Speterkey_f46         	kf46	str	Fa	----E	F46 function key
57850276Speterkey_f47         	kf47	str	Fb	----E	F47 function key
57950276Speterkey_f48         	kf48	str	Fc	----E	F48 function key
58050276Speterkey_f49         	kf49	str	Fd	----E	F49 function key
58150276Speterkey_f50         	kf50	str	Fe	----E	F50 function key
58250276Speterkey_f51         	kf51	str	Ff	----E	F51 function key
58350276Speterkey_f52         	kf52	str	Fg	----E	F52 function key
58450276Speterkey_f53         	kf53	str	Fh	----E	F53 function key
58550276Speterkey_f54         	kf54	str	Fi	----E	F54 function key
58650276Speterkey_f55         	kf55	str	Fj	----E	F55 function key
58750276Speterkey_f56         	kf56	str	Fk	----E	F56 function key
58850276Speterkey_f57         	kf57	str	Fl	----E	F57 function key
58950276Speterkey_f58         	kf58	str	Fm	----E	F58 function key
59050276Speterkey_f59         	kf59	str	Fn	----E	F59 function key
59150276Speterkey_f60         	kf60	str	Fo	----E	F60 function key
59250276Speterkey_f61         	kf61	str	Fp	----E	F61 function key
59350276Speterkey_f62         	kf62	str	Fq	----E	F62 function key
59450276Speterkey_f63         	kf63	str	Fr	----E	F63 function key
59550276Speterclr_bol         	el1	str	cb	-----	Clear to beginning of line
59650276Speterclear_margins    	mgc	str	MC	-----	clear right and left soft margins
59750276Speterset_left_margin    	smgl	str	ML	-----	set left soft margin at current column
59850276Speterset_right_margin	smgr	str	MR	-----	set right soft margin at current column
59950276Speterlabel_format    	fln	str	Lf	-----	label format
60050276Speterset_clock       	sclk	str	SC	-----	set clock, #1 hrs #2 mins #3 secs
60150276Speterdisplay_clock   	dclk	str	DK	-----	display clock at (#1,#2)
60250276Speterremove_clock    	rmclk	str	RC	-----	remove clock
60350276Spetercreate_window   	cwin	str	CW	-----	define a window #1 from #2,#3 to #4,#5
60450276Spetergoto_window     	wingo	str	WG	-----	go to window #1
60550276Speterhangup           	hup	str	HU	-----	hang-up phone
60650276Speterdial_phone      	dial	str	DI	-----	dial number #1
60750276Speterquick_dial      	qdial	str	QD	-----	dial number #1 without checking
60850276Spetertone             	tone	str	TO	-----	select touch tone dialing
60950276Speterpulse           	pulse	str	PU	-----	select pulse dialing
61050276Speterflash_hook      	hook	str	fh	-----	flash switch hook
61150276Speterfixed_pause     	pause	str	PA	-----	pause for 2-3 seconds
61250276Speterwait_tone       	wait	str	WA	-----	wait for dial-tone
61350276Speteruser0           	u0	str	u0	-----	User string #0
61450276Speteruser1           	u1	str	u1	-----	User string #1
61550276Speteruser2           	u2	str	u2	-----	User string #2
61650276Speteruser3           	u3	str	u3	-----	User string #3
61750276Speteruser4           	u4	str	u4	-----	User string #4
61850276Speteruser5           	u5	str	u5	-----	User string #5
61950276Speteruser6           	u6	str	u6	-----	User string #6
62050276Speteruser7           	u7	str	u7	-----	User string #7
62150276Speteruser8           	u8	str	u8	-----	User string #8
62250276Speteruser9           	u9	str	u9	-----	User string #9
62350276Speter#
62450276Speter# SVr4 added these capabilities to support color
62550276Speter#
62650276Speterorig_pair       	op	str	op	-----	Set default pair to its original value
62750276Speterorig_colors     	oc	str	oc	-----	Set all color pairs to the original ones
62850276Speterinitialize_color	initc	str	Ic	-----	initialize color #1 to (#2,#3,#4)
62950276Speterinitialize_pair  	initp	str	Ip	-----	Initialize color pair #1 to fg=(#2,#3,#4), bg=(#5,#6,#7)
63050276Speterset_color_pair  	scp	str	sp	-----	Set current color pair to #1
63150276Speterset_foreground  	setf	str	Sf	-----	Set foreground color #1
63250276Speterset_background  	setb	str	Sb	-----	Set background color #1
63350276Speter#
63450276Speter# SVr4 added these capabilities to support printers
63550276Speter#
63650276Speterchange_char_pitch	cpi	str	ZA	-----	Change number of characters per inch
63750276Speterchange_line_pitch	lpi	str	ZB	-----	Change number of lines per inch
63850276Speterchange_res_horz  	chr	str	ZC	-----	Change horizontal resolution
63950276Speterchange_res_vert  	cvr	str	ZD	-----	Change vertical resolution
64050276Speterdefine_char     	defc	str	ZE	-----	Define a character
64150276Speterenter_doublewide_mode	swidm	str	ZF	-----	Enter double-wide mode
64250276Speterenter_draft_quality	sdrfq	str	ZG	-----	Enter draft-quality mode
64350276Speterenter_italics_mode	sitm	str	ZH	-----	Enter italic mode
64450276Speterenter_leftward_mode	slm	str	ZI	-----	Start leftward carriage motion
64550276Speterenter_micro_mode	smicm	str	ZJ	-----	Start micro-motion mode
64650276Speterenter_near_letter_quality	snlq	str	ZK	-----	Enter NLQ mode
64750276Speterenter_normal_quality	snrmq	str	ZL	-----	Enter normal-quality mode
64850276Speterenter_shadow_mode	sshm	str	ZM	-----	Enter shadow-print mode
64950276Speterenter_subscript_mode	ssubm	str	ZN	-----	Enter subscript mode
65050276Speterenter_superscript_mode	ssupm	str	ZO	-----	Enter superscript mode
65150276Speterenter_upward_mode	sum	str	ZP	-----	Start upward carriage motion
65250276Speterexit_doublewide_mode	rwidm	str	ZQ	-----	End double-wide mode
65350276Speterexit_italics_mode	ritm	str	ZR	-----	End italic mode
65450276Speterexit_leftward_mode	rlm	str	ZS	-----	End left-motion mode
65550276Speterexit_micro_mode 	rmicm	str	ZT	-----	End micro-motion mode
65650276Speterexit_shadow_mode	rshm	str	ZU	-----	End shadow-print mode
65750276Speterexit_subscript_mode	rsubm	str	ZV	-----	End subscript mode
65850276Speterexit_superscript_mode	rsupm	str	ZW	-----	End superscript mode
65950276Speterexit_upward_mode	rum	str	ZX	-----	End reverse character motion
66050276Spetermicro_column_address	mhpa	str	ZY	-----	Like column_address in micro mode
66150276Spetermicro_down      	mcud1	str	ZZ	-----	Like cursor_down in micro mode
66250276Spetermicro_left      	mcub1	str	Za	-----	Like cursor_left in micro mode
66350276Spetermicro_right     	mcuf1	str	Zb	-----	Like cursor_right in micro mode
66450276Spetermicro_row_address	mvpa	str	Zc	-----	Like row_address in micro mode
66550276Spetermicro_up        	mcuu1	str	Zd	-----	Like cursor_up in micro mode
66650276Speterorder_of_pins   	porder	str	Ze	-----	Match software bits to print-head pins
66750276Speterparm_down_micro 	mcud	str	Zf	-----	Like parm_down_cursor in micro mode
66850276Speterparm_left_micro 	mcub	str	Zg	-----	Like parm_left_cursor in micro mode
66950276Speterparm_right_micro	mcuf	str	Zh	-----	Like parm_right_cursor in micro mode
67050276Speterparm_up_micro   	mcuu	str	Zi	-----	Like parm_up_cursor in micro mode
67150276Speterselect_char_set 	scs	str	Zj	-----	Select character set
67250276Speterset_bottom_margin	smgb	str	Zk	-----	Set bottom margin at current line
67350276Speterset_bottom_margin_parm	smgbp	str	Zl	-----	Set bottom margin at line #1 or #2 lines from bottom
67450276Speterset_left_margin_parm	smglp	str	Zm	-----	Set left (right) margin at column #1 (#2)
67550276Speterset_right_margin_parm	smgrp	str	Zn	-----	Set right margin at column #1
67650276Speterset_top_margin  	smgt	str	Zo	-----	Set top margin at current line
67750276Speterset_top_margin_parm	smgtp	str	Zp	-----	Set top (bottom) margin at row #1 (#2)
67850276Speterstart_bit_image 	sbim	str	Zq	-----	Start printing bit image graphics
67950276Speterstart_char_set_def	scsd	str	Zr	-----	Start character set definition
68050276Speterstop_bit_image  	rbim	str	Zs	-----	Stop printing bit image graphics
68150276Speterstop_char_set_def	rcsd	str	Zt	-----	End definition of character set
68250276Spetersubscript_characters	subcs	str	Zu	-----	List of subscriptable characters
68350276Spetersuperscript_characters	supcs	str	Zv	-----	List of superscriptable characters
68450276Speterthese_cause_cr  	docr	str	Zw	-----	Printing any of these characters causes CR
68550276Speterzero_motion     	zerom	str	Zx	-----	No motion for subsequent character
68650276Speter#%.TE
68750276Speter#%.ad
68850276Speter#%
68950276Speter#%The following string capabilities are present in the SVr4.0 term structure,
69050276Speter#%but were originally not documented in the man page.
69150276Speter#%
69250276Speter#%.na
69350276Speter#%.TS H
69450276Speter#%center expand;
69550276Speter#%c l l c
69650276Speter#%c l l c
69750276Speter#%lw25 lw6 lw2 lw18.
69850276Speter#%\fBVariable	Cap-	TCap	Description\fR
69950276Speter#%\fBString	name	Code\fR
70050276Speterchar_set_names  	csnm	str	Zy	-----	List of character set names
70150276Speterkey_mouse       	kmous	str	Km	-----	Mouse event has occurred
70250276Spetermouse_info      	minfo	str	Mi	-----	Mouse status information
70350276Speterreq_mouse_pos   	reqmp	str	RQ	-----	Request mouse position
70450276Speterget_mouse       	getm	str	Gm	-----	Curses should get button events
70550276Speterset_a_foreground	setaf	str	AF	-----	Set foreground color using ANSI escape
70650276Speterset_a_background	setab	str	AB	-----	Set background color using ANSI escape
70750276Speterpkey_plab       	pfxl	str	xl	-----	Program function key #1 to type string #2 and show string #3
70850276Speterdevice_type     	devt	str	dv	-----	Indicate language/codeset support
70950276Spetercode_set_init   	csin	str	ci	-----	Init sequence for multiple codesets
71050276Speterset0_des_seq    	s0ds	str	s0	-----	Shift to code set 0 (EUC set 0, ASCII)
71150276Speterset1_des_seq    	s1ds	str	s1	-----	Shift to code set 1
71250276Speterset2_des_seq    	s2ds	str	s2	-----	Shift to code set 2
71350276Speterset3_des_seq    	s3ds	str	s3	-----	Shift to code set 3
71450276Speterset_lr_margin   	smglr	str	ML	-----	Set both left and right margins to #1, #2
71550276Speterset_tb_margin   	smgtb	str	MT	-----	Sets both top and bottom margins to #1, #2
71650276Speterbit_image_repeat	birep	str	Xy	-----	Repeat bit image cell #1 #2 times
71750276Speterbit_image_newline	binel	str	Zz	-----	Move to next row of the bit image
71850276Speterbit_image_carriage_return	bicr	str	Yv	-----	Move to beginning of same row
71950276Spetercolor_names     	colornm	str	Yw	-----	Give name for color #1
72050276Speterdefine_bit_image_region	defbi	str	Yx	-----	Define rectangualar bit image region
72150276Speterend_bit_image_region	endbi	str	Yy	-----	End a bit-image region
72250276Speterset_color_band  	setcolor	str	Yz	-----	Change to ribbon color #1
72350276Speterset_page_length 	slines	str	YZ	-----	Set page length to #1 lines
72450276Speter#
72550276Speter# SVr4 added these capabilities for direct PC-clone support
72650276Speter#
72750276Speterdisplay_pc_char 	dispc	str	S1	-----	Display PC character
72850276Speterenter_pc_charset_mode	smpch	str	S2	-----	Enter PC character display mode
72950276Speterexit_pc_charset_mode	rmpch	str	S3	-----	Exit PC character display mode
73050276Speterenter_scancode_mode	smsc	str	S4	-----	Enter PC scancode mode
73150276Speterexit_scancode_mode	rmsc	str	S5	-----	Exit PC scancode mode
73250276Speterpc_term_options 	pctrm	str	S6	-----	PC terminal options
73350276Speterscancode_escape 	scesc	str	S7	-----	Escape for scancode emulation
73450276Speteralt_scancode_esc	scesa	str	S8	-----	Alternate escape for scancode emulation
73550276Speter#%.TE
73650276Speter#%.ad
73750276Speter#%
73850276Speter#%.in .8i
73950276Speter#%The XSI Curses standard added these.  They are some post-4.1 
74050276Speter#%versions of System V curses, e.g., Solaris 2.5 and IRIX 6.x.
74150276Speter#%The \fBncurses\fR termcap names for them are invented; according to the
74250276Speter#%XSI Curses standard, they have no termcap names.  If your compiled terminfo
74350276Speter#%entries use these, they may not be binary-compatible with System V terminfo
74450276Speter#%entries after SVr4.1; beware!
74550276Speter#%
74650276Speter#%.na
74750276Speter#%.TS H
74850276Speter#%center expand;
74950276Speter#%c l l c
75050276Speter#%c l l c
75150276Speter#%lw25 lw6 lw2 lw20.
75250276Speter#%\fBVariable	Cap-	TCap	Description\fR
75350276Speter#%\fBString	name	Code\fR
75450276Speterenter_horizontal_hl_mode	ehhlm	str	Xh	-----	Enter horizontal highlight mode
75550276Speterenter_left_hl_mode	elhlm	str	Xl	-----	Enter left highlight mode
75650276Speterenter_low_hl_mode	elohlm	str	Xo	-----	Enter low highlight mode
75750276Speterenter_right_hl_mode	erhlm	str	Xr	-----	Enter right highlight mode
75850276Speterenter_top_hl_mode	ethlm	str	Xt	-----	Enter top highlight mode
75950276Speterenter_vertical_hl_mode	evhlm	str	Xv	-----	Enter vertical highlight mode
76050276Speterset_a_attributes	sgr1	str	sA	-----	Define second set of video attributes #1-#6
76150276Speterset_pglen_inch  	slength	str	sL	-----	YI Set page length to #1 hundredth of an inch
76250276Speter#%.TE
76350276Speter#%.ad
76450276Speter#
76550276Speter# The magic token below tells the tic compiler-generator code that all the caps
76650276Speter# past it should be ignored (not written out) when dumping terminfo objects. It
76750276Speter# also tells the man page table generator not to pass through following lines
76850276Speter# This means we can have obsolete capabilities and pseudo-capabilities that are
76950276Speter# recognized for termcap or terminfo compilation, but not output.
77050276Speter#
77150276Speter# %%-STOP-HERE-%%
77250276Speter#
77350276Speter# Don't move this casually!  In fact, don't move it at all unless you're
77450276Speter# either doing it to add System V or XPG4 extensions, or have decided you
77550276Speter# don't care about SVr4 binary compatibility.
77650276Speter#
77750276Speter#############################################################################
77850276Speter#
77950276Speter# TERMCAP EXTENSION CAPABILITIES
78050276Speter#
78150276Speter# The capabilities below are either obsolete or extensions on certain systems.
78250276Speter# They are not used by SVR4 terminfo.  Some are used by captoinfo to translate
78350276Speter# termcap sources; the rest are listed for completeness, and in case somebody
78450276Speter# cares about them enough to hack in code that will translate them into
78550276Speter# terminfo capabilities.
78650276Speter#
78750276Speter# The first part of the list is from Ross Ridge's `mytinfo' package
78850276Speter# (comp.sources.unix, volume 26); the variable names and terminfo names (as
78950276Speter# well as the termcap codes) match his list.
79050276Speter#
79150276Speter# This group of codes is not marked obsolete in 4.4BSD, but have no direct
79250276Speter# terminfo equivalents.  The rs capability is specially translated to terminfo
79350276Speter# r2, and vice versa, if an entry does not already have an r2.  Similarly,
79450276Speter# i2 is translated to r3 if there is no r3 (because SV terminfo maps is to i2).
79550276Speter# The ug capability is thrown away, but assumed to be whatever sg is if the
79650276Speter# latter is nonzero and we're dumping in termcap format.
79750276Speter#
79850276Spetertermcap_init2		OTi2	str	i2	YB---	secondary initialization string
79950276Spetertermcap_reset		OTrs	str	rs	YB-G-	terminal reset string
80050276Spetermagic_cookie_glitch_ul	OTug	num	ug	YBCGE	number of blanks left by ul
80150276Speter#
80250276Speter# Obsolete termcap capabilities.  Some are used for termcap translation.  The
80350276Speter# code uses the 'OT' prefix we put on obsolete capabilities to suppress
80450276Speter# printing them in terminfo source dumps of compiled entries.
80550276Speter#
80650276Speterbackspaces_with_bs      OTbs	bool	bs	YBCGE	uses ^H to move left
80750276Spetercrt_no_scrolling    	OTns	bool	ns	YBCG-	crt cannot scroll
80850276Speterno_correctly_working_cr	OTnc	bool	nc	YBCG-	no way to go to start of line
80950276Spetercarriage_return_delay	OTdC	num	dC	YB-G-	pad needed for CR
81050276Speternew_line_delay		OTdN	num	dN	YB-G-	pad needed for LF
81150276Speterlinefeed_if_not_lf      OTnl	str	nl	YBCGE	use to move down
81250276Speterbackspace_if_not_bs     OTbc	str	bc	YBCGE	move left, if not ^H
81350276Speter#
81450276Speter# GNU termcap library extensions.  The GNU termcap file distributed with
81550276Speter# Emacs no longer uses these, but MT showed up in pre-9.0 versions of the
81650276Speter# BSD termcap file.  The name clash with terminfo MT is resolved by type
81750276Speter# info; MT is converted to km.
81850276Speter#
81950276Spetergnu_has_meta_key	OTMT	bool	MT	----E	has meta key
82050276Speter# gnu_tab_width		OTtw	num	tw	----E	tab width in spaces
82150276Speter#
82250276Speter# GNU termcap *does* include the following extended capability,  Only the
82350276Speter# now-obsolete Ann Arbor terminals used it.
82450276Speter#
82550276Speter# gnu_change_scroll_region	OTcS	str	cS	---GE	alternate set scrolling region 
82650276Speter#
82750276Speter# The following comments describe capnames so ancient that I believe no
82850276Speter# software uses them any longer.  Some of these have to go because they
82950276Speter# clash with terminfo names in ways that cannot be resolved by type
83050276Speter# information.
83150276Speter#
83250276Speter# These mytinfo codes are not used in the 4.4BSD curses code.  They are
83350276Speter# marked obsolete in the 4.4BSD manual pages.
83450276Speter#
83550276Speter# There is one conflict with terminfo; ma is in both.  This conflict is
83650276Speter# resolved by type information.
83750276Speter#
83850276Speter# The `ko' capability is translated by special code.  It should contain a
83950276Speter# comma-separated list of capabilities for which there are corresponding keys.
84050276Speter# The `kn' code is accepted but ignored.
84150276Speter#
84250276Speter# The `ma' capability seems to have been designed to map between the rogue(2)
84350276Speter# motion keys (including jkhl) and characters emitted by arrow keys on some
84450276Speter# primitive pre-ANSI terminals.  It's so obsolete it's fossilized...
84550276Speter#
84650276Speter# Here is a description of memory_lock_above and memory_unlock:
84750276Speter# "You can 'freeze' data on the screen by turning on Memory Lock in a line of
84850276Speter# text.  All lines above the cursor's current line become locked in place on
84950276Speter# the screen.  Then enter data normally.  When the screen fills up, any
85050276Speter# further data entered forces the first line of unfrozen line text to scroll
85150276Speter# under the frozen data.  Lines scrolled off the screen are inserted into
85250276Speter# memory immediately preceding the first frozen line." (from the HP 700/96
85350276Speter# User's manual).  VT100/ANSI memory lock set is \E[>2h, reset is \E[>2l.
85450276Speter#
85550276Speter# Applications that use terminfo are supposed to behave as though xr is
85650276Speter# always true.
85750276Speter#
85850276Speterlinefeed_is_newline     OTNL	bool	NL	YB---	move down with \n
85950276Speter# even_parity		OTEP	bool	EP	-B---	terminal requires even parity
86050276Speter# odd_parity		OTOP	bool	OP	-B---	terminal requires odd parity
86150276Speter# half_duplex		OTHD	bool	HD	-B---	terminal is half-duplex
86250276Speter# lower_case_only	OTLC	bool	LC	-B---	terminal has only lower case
86350276Speter# upper_case_only	OTUC	bool	UC	-B---	terminal has only upper case
86450276Speterbackspace_delay		OTdB	num	dB	YB-G-	padding required for ^H
86550276Speter# form_feed_delay	OTdF	num	dF	-B-G-	padding required for ^L
86650276Speterhorizontal_tab_delay	OTdT	num	dT	YB-G-	padding required for ^I
86750276Speter# vertical_tab_delay	OTdV	num	dV	-B---	padding required for ^V
86850276Speternumber_of_function_keys	OTkn	num	kn	-B-G-	count of function keys
86950276Speterother_non_function_keys OTko	str	ko	-B-G-	list of self-mapped keycaps
87050276Speterarrow_key_map           OTma	str	ma	YBC--	map arrow keys rogue(1) motion keys
87150276Speter# memory_lock_above     OTml	str	ml	-B---	lock visible screen memory above the current line
87250276Speter# memory_unlock         OTmu	str	mu	-B---	unlock visible screen memory above the current line
87350276Speterhas_hardware_tabs       OTpt	bool	pt	YB---	has 8-char tabs invoked with ^I
87450276Speterreturn_does_clr_eol	OTxr	bool	xr	YB---	return clears the line
87550276Speter# tek_4025_insert_line	OTxx	bool	xx	-BC--	Tektronix 4025 insert-line glitch
87650276Speter#
87750276Speter# mytinfo described this as a termcap capability, but it's not listed in the
87850276Speter# 4.4BSD man pages, and not found in the 4.4BSD termcap file.  The ncurses
87950276Speter# package, like System V, behaves as though it is always true.
88050276Speter#
88150276Speter# rind_only_at_top	OTxq	bool	xq	-----	reverse index only works from top line
88250276Speter#
88350276Speter# University of Waterloo termcap extensions (as described in mytinfo).
88450276Speter# The `xl' termcap file clashes with a terminfo name; this ambiguity cannot
88550276Speter# be resolved by a type check.  The descriptions are guesses from what was
88650276Speter# in the mytinfo tables. 
88750276Speter#
88850276Speter# key_interrupt_char    OTki	str	ki	-----	string set by interrupt key (?)
88950276Speter# key_kill_char         OTkk	str	kk	-----	string set by kill key (?)
89050276Speter# key_suspend_char      OTkz	str	kz	-----	string set by suspend key (?)
89150276Speter# initialization_messy	OTxc	bool	xc	-----	initialization leaves garbage on the screen (?)
89250276Speter# ind_at_bottom_does_cr	OTxl	bool	xl	-----	index does a carriage return
89350276Speter#
89450276Speter# Nonstandard capabilities unique to Ross Ridge's `mytinfo' package.
89550276Speter# SR clashes with a terminfo name; this ambiguity cannot be resolved by a type
89650276Speter# check.
89750276Speter#
89850276Speter# scroll_left          	OTsl1	str	Sl	-----	scroll screen leftward
89950276Speter# scroll_right         	OTsr1	str	Sr	-----	scroll screen rightward
90050276Speter# parm_scroll_left     	OTsl	str	SL	-----	scroll screen leftward #1 characters
90150276Speter# parm_scroll_right    	OTsr	str	SR	-----	scroll screen rightward #1 characters
90250276Speter#
90350276Speter# The mytinfo capabilities end here.
90450276Speter#
90550276Speter# XENIX extensions:
90650276Speter#
90750276Speter# Xenix defined its own set of forms-drawing capabilities:
90850276Speter#
90950276Speter# cap	IBM ASCII	description             ACS         	ASCII
91050276Speter# ---	-----------	--------------------    -------------	------
91150276Speter# G1	191 \277 M-?	single upper right   	ACS_URCORNER
91250276Speter# G2	218 \332 M-Z	single upper left	ACS_ULCORNER
91350276Speter# G3	192 \300 M-@	single lower left	ACS_LLCORNER
91450276Speter# G4	217 \331 M-Y	single lower right	ACS_LRCORNER
91550276Speter# G5	187 \273 M-;	double upper right
91650276Speter# G6	201 \311 M-I	double upper left
91750276Speter# G7	200 \310 M-H	double lower left
91850276Speter# G8	188 \274 M-<	double lower right
91950276Speter# GC	197 \305 M-E	single intersection	ACS_PLUS	_ _
92050276Speter# GD	194 \302 M-B	single down-tick	ACS_TTEE	 |
92150276Speter# GH	196 \304 M-D	single horizontal line	ACS_HLINE
92250276Speter# GL	180 \264 M-4	single left tick	ACS_RTEE	-|
92350276Speter# GR	195 \303 M-C	single right tick	ACS_LTEE	|-
92450276Speter# GU	193 \301 M-A	single up tick		ACS_BTEE	_|_
92550276Speter# GV	179 \263 M-3	single vertical line	ACS_VLINE
92650276Speter# Gc	206 \316 M-N	double intersection
92750276Speter# Gd	203 \313 M-K	double down tick
92850276Speter# Gh	205 \315 M-M	double horizontal line
92950276Speter# Gl	204 \204 M-L	double left tick
93050276Speter# Gr	185 \271 M-9	double right tick
93150276Speter# Gu	202 \312 M-J	double up tick
93250276Speter# Gv	186 \272 M-:	double vertical line
93350276Speter#
93450276Speter# The compiler will translate the single-line caps and discard the others
93550276Speter# (via IGNORE aliases further down).  We don't want to do normal pad 
93650276Speter# translation on these, they're often single-character printable ASCII
93750276Speter# strings that happen to be numerics.  There's awk code in parametrized.sh
93850276Speter# that detects the acs_ prefix and uses it to suppress pad translation.
93950276Speter# These terminfo names are invented.
94050276Speter#
94150276Speteracs_ulcorner    	OTG2	str	G2	-----	single upper left
94250276Speteracs_llcorner    	OTG3	str	G3	-----	single lower left
94350276Speteracs_urcorner    	OTG1	str	G1	-----	single upper right
94450276Speteracs_lrcorner    	OTG4	str	G4	-----	single lower right
94550276Speteracs_ltee        	OTGR	str	GR	-----	tee pointing right
94650276Speteracs_rtee        	OTGL	str	GL	-----	tee pointing left
94750276Speteracs_btee        	OTGU	str	GU	-----	tee pointing up
94850276Speteracs_ttee        	OTGD	str	GD	-----	tee pointing down
94950276Speteracs_hline       	OTGH	str	GH	-----	single horizontal line
95050276Speteracs_vline       	OTGV	str	GV	-----	single vertical line
95150276Speteracs_plus        	OTGC	str	GC	-----	single intersection
95250276Speter#
95350276Speter#############################################################################
95450276Speter#
95550276Speter# TERMINFO EXTENSION CAPABILITIES
95650276Speter#
95750276Speter# This section is almost all comments.  What it's mainly for is to describe
95850276Speter# what capabilities need to be squeezed out to get down to the XSI Curses
95950276Speter# standard set.  They are flagged with K.
96050276Speter#
96150276Speter# HP extensions
96250276Speter#
96350276Speter# These extensions follow ptr_non (replacing everything after it) in HP
96450276Speter# terminfo files.  Except for memory_lock and memory_unlock, they are
96550276Speter# functionally identical to SVr4 extensions, but they make the binary format
96650276Speter# different.  Grrr....
96750276Speter#
96850276Spetermemory_lock		meml	str	ml	----K	memory lock above
96950276Spetermemory_unlock    	memu	str	mu	----K	memory unlock
97050276Speter#plab_norm       	pln	str	pn	-----	program label #1 to show string #2
97150276Speter#label_on        	smln	str	LO	-----	turn on soft labels
97250276Speter#label_off       	rmln	str	LF	-----	turn off soft labels
97350276Speter#key_f11         	kf11	str	F1	-----	F11 function key
97450276Speter#key_f12         	kf12	str	F2	-----	F12 function key
97550276Speter#key_f13         	kf13	str	F3	-----	F13 function key
97650276Speter#key_f14         	kf14	str	F4	-----	F14 function key
97750276Speter#key_f15         	kf15	str	F5	-----	F15 function key
97850276Speter#key_f16         	kf16	str	F6	-----	F16 function key
97950276Speter#key_f17         	kf17	str	F7	-----	F17 function key
98050276Speter#key_f18         	kf18	str	F8	-----	F18 function key
98150276Speter#key_f19         	kf19	str	F9	-----	F19 function key
98250276Speter#key_f20         	kf20	str	FA	-----	F20 function key
98350276Speter#key_f21         	kf21	str	FB	-----	F21 function key
98450276Speter#key_f22         	kf22	str	FC	-----	F22 function key
98550276Speter#key_f23         	kf23	str	FD	-----	F23 function key
98650276Speter#key_f24         	kf24	str	FE	-----	F24 function key
98750276Speter#key_f25         	kf25	str	FF	-----	F25 function key
98850276Speter#key_f26         	kf26	str	FG	-----	F26 function key
98950276Speter#key_f27         	kf27	str	FH	-----	F27 function key
99050276Speter#key_f28         	kf28	str	FI	-----	F28 function key
99150276Speter#key_f29         	kf29	str	FJ	-----	F29 function key
99250276Speter#key_f30         	kf30	str	FK	-----	F30 function key
99350276Speter#key_f31         	kf31	str	FL	-----	F31 function key
99450276Speter#key_f32         	kf32	str	FM	-----	F32 function key
99550276Speter#key_f33         	kf33	str	FN	-----	F33 function key
99650276Speter#key_f34         	kf34	str	FO	-----	F34 function key
99750276Speter#key_f35         	kf35	str	FP	-----	F35 function key
99850276Speter#key_f36         	kf36	str	FQ	-----	F36 function key
99950276Speter#key_f37         	kf37	str	FR	-----	F37 function key
100050276Speter#key_f38         	kf38	str	FS	-----	F38 function key
100150276Speter#key_f39         	kf39	str	FT	-----	F39 function key
100250276Speter#key_f40         	kf40	str	FU	-----	F40 function key
100350276Speter#key_f41         	kf41	str	FV	-----	F41 function key
100450276Speter#key_f42         	kf42	str	FW	-----	F42 function key
100550276Speter#key_f43         	kf43	str	FX	-----	F43 function key
100650276Speter#key_f44         	kf44	str	FY	-----	F44 function key
100750276Speter#key_f45         	kf45	str	FZ	-----	F45 function key
100850276Speter#key_f46         	kf46	str	Fa	-----	F46 function key
100950276Speter#key_f47         	kf47	str	Fb	-----	F47 function key
101050276Speter#key_f48         	kf48	str	Fc	-----	F48 function key
101150276Speter#key_f49         	kf49	str	Fd	-----	F49 function key
101250276Speter#key_f50         	kf50	str	Fe	-----	F50 function key
101350276Speter#key_f51         	kf51	str	Ff	-----	F51 function key
101450276Speter#key_f52         	kf52	str	Fg	-----	F52 function key
101550276Speter#key_f53         	kf53	str	Fh	-----	F53 function key
101650276Speter#key_f54         	kf54	str	Fi	-----	F54 function key
101750276Speter#key_f55         	kf55	str	Fj	-----	F55 function key
101850276Speter#key_f56         	kf56	str	Fk	-----	F56 function key
101950276Speter#key_f57         	kf57	str	Fl	-----	F57 function key
102050276Speter#key_f58         	kf58	str	Fm	-----	F58 function key
102150276Speter#key_f59         	kf59	str	Fn	-----	F59 function key
102250276Speter#key_f60         	kf60	str	Fo	-----	F60 function key
102350276Speter#key_f61         	kf61	str	Fp	-----	F61 function key
102450276Speter#key_f62         	kf62	str	Fq	-----	F62 function key
102550276Speter#key_f63         	kf63	str	Fr	-----	F63 function key
102650276Speter#
102750276Speter# IBM extensions
102850276Speter#
102950276Speter# These extensions follow ptr_non (replacing everything after it) in IBM
103050276Speter# terminfo files.
103150276Speter#
103250276Speter# The places in the box[12] capabilities correspond to acsc characters, here is
103350276Speter# the mapping:
103450276Speter#
103550276Speter#	box1[0]  = ACS_ULCORNER
103650276Speter#	box1[1]  = ACS_HLINE	
103750276Speter#	box1[2]  = ACS_URCORNER
103850276Speter#	box1[3]  = ACS_VLINE
103950276Speter#	box1[4]  = ACS_LRCORNER
104050276Speter#	box1[5]  = ACS_LLCORNER
104150276Speter#	box1[6]  = ACS_TTEE
104250276Speter#	box1[7]  = ACS_RTEE
104350276Speter#	box1[8]  = ACS_BTEE
104450276Speter#	box1[9]  = ACS_LTEE
104550276Speter#	box1[10] = ACS_PLUS
104650276Speter#
104750276Speter# The box2 characters are the double-line versions of these forms graphics.
104850276Speter#
104950276Speterbox_chars_1    	box1	str	bx	----K	box characters primary set
105050276Speter#box_chars_2          	box2	str	by	----K	box characters secondary set
105150276Speter#box_attr_1     	batt1	str	Bx	----K	attributes for box1
105250276Speter#box_attr_2     	batt2	str	By	----K	attributes for box2
105350276Speter#color_bg_0     	colb0	str	d0	----K	background color 0
105450276Speter#color_bg_1     	colb1	str	d1	----K	background color 1
105550276Speter#color_bg_2     	colb2	str	d2	----K	background color 2
105650276Speter#color_bg_3     	colb3	str	d3	----K	background color 3
105750276Speter#color_bg_4     	colb4	str	d4	----K	background color 4
105850276Speter#color_bg_5     	colb5	str	d5	----K	background color 5
105950276Speter#color_bg_6     	colb6	str	d6	----K	background color 6
106050276Speter#color_bg_7     	colb7	str	d7	----K	background color 7
106150276Speter#color_fg_0     	colf0	str	c0	----K	foreground color 0
106250276Speter#color_fg_1     	colf1	str	c1	----K	foreground color 1
106350276Speter#color_fg_2     	colf2	str	c2	----K	foreground color 2
106450276Speter#color_fg_3     	colf3	str	c3	----K	foreground color 3
106550276Speter#color_fg_4     	colf4	str	c4	----K	foreground color 4
106650276Speter#color_fg_5     	colf5	str	c5	----K	foreground color 5
106750276Speter#color_fg_6     	colf6	str	c6	----K	foreground color 6
106850276Speter#color_fg_7     	colf7	str	c7	----K	foreground color 7
106950276Speter#font_0         	font0	str	f0	-----	select font 0
107050276Speter#font_1         	font1	str	f1	-----	select font 1
107150276Speter#font_2         	font2	str	f2	-----	select font 2
107250276Speter#font_3         	font3	str	f3	-----	select font 3
107350276Speter#font_4         	font4	str	f4	----K	select font 4
107450276Speter#font_5         	font5	str	f5	----K	select font 5
107550276Speter#font_6         	font6	str	f6	----K	select font 6
107650276Speter#font_7         	font7	str	f7	----K	select font 7
107750276Speter#key_back_tab   	kbtab	str	k0	-----	backtab key
107850276Speter#key_do         	kdo	str	ki	----K	do request key
107950276Speter#key_command    	kcmd	str	kd	----K	command-request key
108050276Speter#key_command_pane	kcpn	str	kW	----K	command-pane key
108150276Speter#key_end        	kend	str	kw	-----	end key
108250276Speter#key_help       	khlp	str	kq	-----	help key
108350276Speter#key_newline		knl	str	nl	----K	newline key
108450276Speter#key_next_pane  	knpn	str	kv	----K	next-pane key
108550276Speter#key_prev_cmd   	kppn	str	kp	----K	previous-command key
108650276Speter#key_prev_pane  	kppn	str	kV	----K	previous-pane key
108750276Speter#key_quit       	kquit	str	kQ	----K	quit key
108850276Speter#key_select     	ksel	str	kU	-----	select key
108950276Speter#key_scroll_left	kscl	str	kz	----K	scroll left
109050276Speter#key_scroll_right	kscr	str	kZ	----K	scroll right
109150276Speter#key_tab        	ktab	str	ko	----K	tab key
109250276Speter#key_smap_in1   	kmpf1	str	Kv	----K	special mapped key 1 input
109350276Speter#key_smap_out1  	kmpt1	str	KV	----K	special mapped key 1 output
109450276Speter#key_smap_in2   	kmpf2	str	Kw	----K	special mapped key 2 input
109550276Speter#key_smap_out2  	kmpt2	str	KW	----K	special mapped key 2 output
109650276Speter#key_smap_in3   	kmpf3	str	Kx	----K	special mapped key 3 input
109750276Speter#key_smap_out3  	kmpt3	str	KX	----K	special mapped key 3 output
109850276Speter#key_smap_in4   	kmpf4	str	Ky	----K	special mapped key 4 input
109950276Speter#key_smap_out4  	kmpt4	str	KY	----K	special mapped key 4 output
110050276Speter#key_smap_in5   	kmpf5	str	Kz	----K	special mapped key 5 input
110150276Speter#key_smap_out5  	kmpt5	str	KZ	----K	special mapped key 5 output
110250276Speter#appl_defined_str      	apstr	str	za	----K	application-defined string
110350276Speter# The key_smap_in[6789] and key_smap_out[6789] capabilities aren't described in
110450276Speter# the IBM manual pages, so the cap name strings are guesses.  The terminfo
110550276Speter# names are almost certainly right, the termcap ones almost certainly wrong.
110650276Speter#key_smap_in6   	kmpf6	str	k!	----K	special mapped key 6 input
110750276Speter#key_smap_out6  	kmpt6	str	K@	----K	special mapped key 6 output
110850276Speter#key_smap_in7   	kmpf7	str	k#	----K	special mapped key 7 input
110950276Speter#key_smap_out7  	kmpt7	str	K$	----K	special mapped key 7 output
111050276Speter#key_smap_in8   	kmpf8	str	k%	----K	special mapped key 8 input
111150276Speter#key_smap_out8  	kmpt8	str	K^	----K	special mapped key 8 output
111250276Speter#key_smap_in9   	kmpf9	str	k&	----K	special mapped key 9 input
111350276Speter#key_smap_out9  	kmpt9	str	K*	----K	special mapped key 9 output
111450276Speter# Undocumented capabilities end here
111550276Speter#key_sf1        	ksf1	str	S1	----K	special function key 1
111650276Speter#key_sf2        	ksf2	str	S2	----K	special function key 2
111750276Speter#key_sf3        	ksf3	str	S3	----K	special function key 3
111850276Speter#key_sf4        	ksf4	str	S4	----K	special function key 4
111950276Speter#key_sf5        	ksf5	str	S5	----K	special function key 5
112050276Speter#key_sf6        	ksf6	str	S6	----K	special function key 6
112150276Speter#key_sf7        	ksf7	str	S7	----K	special function key 7
112250276Speter#key_sf8        	ksf8	str	S8	----K	special function key 8
112350276Speter#key_sf9        	ksf9	str	S9	----K	special function key 9
112450276Speter#key_sf10        	ksf10	str	SA	----K	special function key 10
112550276Speter#key_f11        	kf11	str	k<	-----	function key 11
112650276Speter#key_f12        	kf12	str	k>	-----	function key 12
112750276Speter# The key_f13 through key_f64 capabilities aren't described in
112850276Speter# the IBM manual pages, so the cap name strings are guesses.  The terminfo
112950276Speter# names are almost certainly right, the termcap ones certainly wrong.
113050276Speter#key_f13        	kf13	str	k+	-----	function key 13
113150276Speter#key_f14        	kf14	str	k+	-----	function key 14
113250276Speter#key_f15        	kf15	str	k+	-----	function key 15
113350276Speter#key_f16        	kf16	str	k+	-----	function key 16
113450276Speter#key_f17        	kf17	str	k+	-----	function key 17
113550276Speter#key_f18        	kf18	str	k+	-----	function key 18
113650276Speter#key_f19        	kf19	str	k+	-----	function key 19
113750276Speter#key_f20        	kf20	str	k+	-----	function key 20
113850276Speter#key_f21        	kf21	str	k+	-----	function key 21
113950276Speter#key_f22        	kf22	str	k+	-----	function key 22
114050276Speter#key_f23        	kf23	str	k+	-----	function key 23
114150276Speter#key_f24        	kf24	str	k+	-----	function key 24
114250276Speter#key_f25        	kf25	str	k+	-----	function key 25
114350276Speter#key_f26        	kf26	str	k+	-----	function key 26
114450276Speter#key_f27        	kf26	str	k+	-----	function key 26
114550276Speter#key_f28        	kf28	str	k+	-----	function key 28
114650276Speter#key_f29        	kf29	str	k+	-----	function key 29
114750276Speter#key_f30        	kf30	str	k+	-----	function key 30
114850276Speter#key_f31        	kf31	str	k+	-----	function key 31
114950276Speter#key_f32        	kf31	str	k+	-----	function key 32
115050276Speter#key_f33        	kf33	str	k+	-----	function key 33
115150276Speter#key_f34        	kf34	str	k+	-----	function key 34
115250276Speter#key_f35        	kf35	str	k+	-----	function key 35
115350276Speter#key_f36        	kf36	str	k+	-----	function key 36
115450276Speter#key_f37        	kf37	str	k+	-----	function key 37
115550276Speter#key_f38        	kf38	str	k+	-----	function key 38
115650276Speter#key_f39        	kf39	str	k+	-----	function key 39
115750276Speter#key_f40        	kf40	str	k+	-----	function key 40
115850276Speter#key_f41        	kf41	str	k+	-----	function key 41
115950276Speter#key_f42        	kf42	str	k+	-----	function key 42
116050276Speter#key_f43        	kf43	str	k+	-----	function key 43
116150276Speter#key_f44        	kf44	str	k+	-----	function key 44
116250276Speter#key_f45        	kf45	str	k+	-----	function key 45
116350276Speter#key_f46        	kf46	str	k+	-----	function key 46
116450276Speter#key_f47        	kf47	str	k+	-----	function key 47
116550276Speter#key_f48        	kf48	str	k+	-----	function key 48
116650276Speter#key_f49        	kf49	str	k+	-----	function key 49
116750276Speter#key_f50        	kf50	str	k+	-----	function key 50
116850276Speter#key_f51        	kf51	str	k+	-----	function key 51
116950276Speter#key_f52        	kf52	str	k+	-----	function key 52
117050276Speter#key_f53        	kf53	str	k+	-----	function key 53
117150276Speter#key_f54        	kf54	str	k+	-----	function key 54
117250276Speter#key_f55        	kf55	str	k+	-----	function key 55
117350276Speter#key_f56        	kf56	str	k+	-----	function key 56
117450276Speter#key_f57        	kf57	str	k+	-----	function key 57
117550276Speter#key_f58        	kf58	str	k+	-----	function key 58
117650276Speter#key_f59        	kf59	str	k+	-----	function key 59
117750276Speter#key_f60        	kf60	str	k+	-----	function key 60
117850276Speter#key_f61        	kf61	str	k+	-----	function key 61
117950276Speter#key_f62        	kf62	str	k+	-----	function key 62
118050276Speter#key_f63        	kf63	str	k+	-----	function key 63
118150276Speter# Undocumented capabilities end here.
118250276Speter#key_action     	kact	str	kJ	----K	sent by action key
118350276Speter# The IBM docs say these capabilities are for table-drawing, and are
118450276Speter# valid only for aixterm descriptions.
118550276Speter#enter_topline_mode	topl	str	tp	----K	start top-line mode
118650276Speter#enter_bottom_mode	btml	str	bm	----K	start bottom-line mode
118750276Speter#enter_rvert_mode	rvert	str	rv	----K	start right-vertical mode
118850276Speter#enter_lvert_mode	lvert	str	lv	----K	start left-vertical mode
118950276Speter#
119050276Speter#############################################################################
119150276Speter#
119250276Speter# ALIAS DECLARATIONS
119350276Speter#
119450276Speter# Here we set up aliases for translating extensions into standard terminfo.
119550276Speter#
119650276Speter#---------------------------------- Termcap aliases -------------------------
119750276Speter#
119850276Speter# BSD aliases:
119950276Speter#
120050276Speter# This is a common error in many termcap files.  We'll get notified during
120150276Speter# translation when this (or any other alias) fires.
120250276Speter#
120350276Spetercapalias	sb	sr	BSD	scroll text down
120450276Speter#
120550276Speter# AT&T extensions:
120650276Speter#
120750276Speter# The old AT&T 5410, 5420, 5425, pc6300plus, 610, and s4 entries used a set of
120850276Speter# nonstandard capabilities.  Its signature is the KM capability, used to name
120950276Speter# some sort of keymap file.  EE, BO, CI, CV, XS, DS, FL and FE are in this
121050276Speter# set.  Comments in the original, and a little cross-checking with other AT&T
121150276Speter# documentation, seem to establish the following mappings:
121250276Speter#
121350276Spetercapalias	BO	mr	AT&T	enter_reverse_mode
121450276Spetercapalias	CI	vi	AT&T	cursor_invisible
121550276Spetercapalias	CV	ve	AT&T	cursor_normal
121650276Spetercapalias	DS	mh	AT&T	enter_dim_mode
121750276Speter#capalias	EE	me	AT&T	exit_attribute_mode	
121850276Spetercapalias	FE	LF	AT&T	label_on
121950276Spetercapalias	FL	LO	AT&T	label_off
122050276Spetercapalias	XS	mk	AT&T	enter_secure_mode
122150276Speter#
122250276Speter# We comment out EE because the conflicting XENIX EE is more common in 
122350276Speter# old entries.
122450276Speter#
122550276Speter# XENIX extensions:
122650276Speter#
122750276Speter# These are the ones we know how to translate directly:
122850276Speter#
122950276Spetercapalias	EE	mh	XENIX	exit_attribute_mode	
123050276Spetercapalias	GE	ae	XENIX	exit_alt_charset_mode
123150276Spetercapalias	GS	as	XENIX	enter_alt_charset_mode
123250276Spetercapalias	CF	vi	XENIX	cursor_invis
123350276Spetercapalias	CO	ve	XENIX	cursor_normal
123450276Spetercapalias	EN	@7	XENIX	key_end
123550276Spetercapalias	HM	kh	XENIX	key_home
123650276Spetercapalias	LD	kL	XENIX	key_dl
123750276Spetercapalias	PD	kN	XENIX	key_npage
123850276Spetercapalias	PN	po	XENIX	prtr_off
123950276Spetercapalias	PS	pf	XENIX	prtr_on
124050276Spetercapalias	PU	kP	XENIX	key_ppage
124150276Spetercapalias	RT	@8	XENIX	kent
124250276Spetercapalias	UP	ku	XENIX	kcuu1
124350276Spetercapalias	G6	IGNORE	XENIX	double-ACS_ULCORNER
124450276Spetercapalias	G7	IGNORE	XENIX	double-ACS_LLCORNER
124550276Spetercapalias	G5	IGNORE	XENIX	double-ACS_URCORNER
124650276Spetercapalias	G8	IGNORE	XENIX	double-ACS_LRCORNER
124750276Spetercapalias	Gr	IGNORE	XENIX	double-ACS_LTEE
124850276Spetercapalias	Gr	IGNORE	XENIX	double-ACS_RTEE
124950276Spetercapalias	Gu	IGNORE	XENIX	double-ACS_BTEE
125050276Spetercapalias	Gd	IGNORE	XENIX	double ACS_TTEE
125150276Spetercapalias	Gh	IGNORE	XENIX	double-ACS_HLINE
125250276Spetercapalias	Gv	IGNORE	XENIX	double-ACS_VLINE
125350276Spetercapalias	Gc	IGNORE	XENIX	double-ACS_PLUS
125450276Spetercapalias	GG	IGNORE	XENIX	acs-glitch
125550276Speter#
125650276Speter# IBM extensions:
125750276Speter#
125850276Spetercapalias	kq	%1	IBM	key_help
125950276Speter#
126050276Speter# Iris extensions:
126150276Speter#
126250276Spetercapalias	HS	mh	IRIS	enter_dim_mode
126350276Speter#
126450276Speter# Tektronix extensions:
126550276Speter#
126650276Spetercapalias	KA	k;	Tek	key_f10
126750276Spetercapalias	KB	F1	Tek	key_f11
126850276Spetercapalias	KC	F2	Tek	key_f12
126950276Spetercapalias	KD	F3	Tek	key_f13
127050276Spetercapalias	KE	F4	Tek	key_f14
127150276Spetercapalias	KF	F5	Tek	key_f15
127250276Spetercapalias	BC	Sb	Tek	set_background
127350276Spetercapalias	FC	Sf	Tek	set_foreground
127450276Speter#
127550276Speter# There are also the following:
127650276Speter#
127750276Speter#	XENIX	XENIX variable name	name clash with terminfo?
127850276Speter#	-----	-------------------	-------------------------
127950276Speter#	CL	key_char_left
128050276Speter#	CR	key_char_right
128150276Speter#	CW	key_change_window
128250276Speter#	HP	??
128350276Speter#	LF	key_linefeed 		label_off
128450276Speter#	NU	key_next_unlocked_cell
128550276Speter#	PL	??
128650276Speter#	PR	??
128750276Speter#	RC	key_recalc		remove_clock
128850276Speter#	RF	key_toggle_ref		req_for_input
128950276Speter#	WL	key_word_left
129050276Speter#	WR	key_word_right
129150276Speter#
129250276Speter# If you know what any of the question-marked ones mean, please tell us.
129350276Speter#
129450276Speter#--------------------------------- Terminfo aliases ------------------------
129550276Speter#
129650276Speter# IBM extensions:
129750276Speter#
129850276Speterinfoalias	font0	s0ds	IBM	set0_des_seq
129950276Speterinfoalias	font1	s1ds	IBM	set1_des_seq
130050276Speterinfoalias	font2	s2ds	IBM	set2_des_seq
130150276Speterinfoalias	font3	s3ds	IBM	set3_des_seq
130250276Speterinfoalias	kbtab	kcbt	IBM	key_backtab
130350276Speterinfoalias	ksel	kslt	IBM	key_select
130450276Speter#
130550276Speter# Some others are identical to SVr4/XPG4 capabilities, in particular:
130650276Speter# kcmd, kend, khlp, and kf11...kf63.
130750276Speter#
130850276Speter#############################################################################
130950276Speter#
131050276Speter# The following sets edit modes for GNU EMACS
131150276Speter# Local Variables:
131250276Speter# case-fold-search:nil
131350276Speter# truncate-lines:t
131450276Speter# End:
1315