197049Speter##############################################################################
2166124Srafan# Copyright (c) 2001-2002,2006 Free Software Foundation, Inc.                #
397049Speter#                                                                            #
497049Speter# Permission is hereby granted, free of charge, to any person obtaining a    #
597049Speter# copy of this software and associated documentation files (the "Software"), #
697049Speter# to deal in the Software without restriction, including without limitation  #
797049Speter# the rights to use, copy, modify, merge, publish, distribute, distribute    #
897049Speter# with modifications, sublicense, and/or sell copies of the Software, and to #
997049Speter# permit persons to whom the Software is furnished to do so, subject to the  #
1097049Speter# following conditions:                                                      #
1197049Speter#                                                                            #
1297049Speter# The above copyright notice and this permission notice shall be included in #
1397049Speter# all copies or substantial portions of the Software.                        #
1497049Speter#                                                                            #
1597049Speter# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR #
1697049Speter# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,   #
1797049Speter# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL    #
1897049Speter# THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER      #
1997049Speter# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING    #
2097049Speter# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER        #
2197049Speter# DEALINGS IN THE SOFTWARE.                                                  #
2297049Speter#                                                                            #
2397049Speter# Except as contained in this notice, the name(s) of the above copyright     #
2497049Speter# holders shall not be used in advertising or otherwise to promote the sale, #
2597049Speter# use or other dealings in this Software without prior written               #
2697049Speter# authorization.                                                             #
2797049Speter##############################################################################
2897049Speter#
2997049Speter# Author: Thomas Dickey
3097049Speter#
31166124Srafan# $Id: Caps.uwin,v 1.4 2006/05/27 15:33:04 tom Exp $
3297049Speter#
3397049Speter# This is an adaptation of ncurses' termcap/terminfo capability table, which
3497049Speter# is designed to align with U/Win's terminfo.
3597049Speter#
3697049Speter# This table is used to generate initializers for tables that drive tic,
3797049Speter# infocmp, and the library compilation code used to support the termcap 
3897049Speter# compatibility hack.  It is also used to generate the tabular portion of the
3997049Speter# terminfo(5) man page; lines beginning with `#%' are passed through to become
4097049Speter# the terminfo table.
4197049Speter#
4297049Speter# This file has three major sections; a standard-capabilities table, two
4397049Speter# extension-capability tables, and a section of aliases declarations.
4497049Speter# The first two have the same format, as follows:
4597049Speter#
4697049Speter# FILE FORMAT
4797049Speter#
4897049Speter# Column 1: terminfo variable name
4997049Speter# Column 2: terminfo capability name
5097049Speter# Column 3: capability type (boolean, numeric, or string)
5197049Speter# Column 4: termcap capability name
5297049Speter# Column 5: KEY_xxx name, if any, `-' otherwise
5397049Speter# Column 6: value for KEY_xxx name, if any, `-' otherwise
5497049Speter# Column 7: Lead with `Y' if capability should be emitted in termcap
5597049Speter#           translations, `-' otherwise
5697049Speter# Column 8: capability description
5797049Speter#
5897049Speter# The codes following [Y-] in column 7 describe the versions of termcap which
5997049Speter# use the given capability.  This information is not used by the curses library
6097049Speter# proper; rather, it's there to help the terminfo maintainer avoid emitting
6197049Speter# termcap entry translations that are more than 1023 bytes long (and tank a
6297049Speter# lot of old termcap-using programs).  The codes read as follows:
6397049Speter#	B = mentioned in the BSD man page for 4.4BSD curses
6497049Speter#	C = used by the 4.4BSD curses library
6597049Speter#	G = mentioned in the documentation for GNU termcap
6697049Speter#	E = used by GNU Emacs
6797049Speter#	K = remove this terminfo capability when translating to standard format
6897049Speter# The important codes are C and E.  A cap with C or E should be preserved in
6997049Speter# translation if possible.  The problem is that preserving all such caps may
7097049Speter# lead to some termcap translations being too long.  The termcap maintainer
7197049Speter# has a bit of a juggling act to do...potential problem cases are marked with
7297049Speter# an asterisk (*).
7397049Speter#
7497049Speter# The aliases section has the following format:
7597049Speter#
7697049Speter# Column 1: either `capalias' or `infoalias'
7797049Speter# Column 2: name to be aliased
7897049Speter# Column 3: what name it should translate to.  The name IGNORE means it
7997049Speter#           should be discarded with a warning message.
8097049Speter# Column 4: name of the extension set (used for compiler warning messages)
8197049Speter# Column 5: capability description (usually an associated terminfo variable)
8297049Speter#
8397049Speter# HANDLING TERMCAP AND TERMINFO EXTENSIONS
8497049Speter#
8597049Speter# There are basically five different ways to handle termcap and terminfo
8697049Speter# extensions:
8797049Speter#
8897049Speter# 1. Don't list the capname here, or list it but comment it out (the latter
8997049Speter# is preferable; someone might want to handle it in the future).  If you do
9097049Speter# this, the capability will be treated as unknown and raise a warning from
9197049Speter# the compiler.
9297049Speter#
9397049Speter# 2. Alias it.  This is appropriate if the capability has the same meaning
9497049Speter# as an already-supported one.  The compiler will handle aliasing, emitting
9597049Speter# an appropriate informational message whenever an alias fires.
9697049Speter#
9797049Speter# 3. List it in the standard table.  You almost certainly do *not* want
9897049Speter# to do this -- the capabilities in that one, and their order, have been
9997049Speter# carefully chosen to be SVr4-binary-compatible when they're written out
10097049Speter# as a terminfo object, and breaking this would be bad.  It's up the ncurses
10197049Speter# library what to do with the terminfo data after it's read in.
10297049Speter#
10397049Speter# 4. List it in the aliases table with an IGNORE target field.  If you
10497049Speter# do this, the capability will be ignored on input (though the user will
10597049Speter# get a warning message about it).
10697049Speter#
10797049Speter# 5. List it in the extensions table. If you do this, the compiler will
10897049Speter# silently accept the capability, but the curses library proper will never
10997049Speter# see it (because it won't be written out as part of the terminfo object
11097049Speter# format).  It's up to you what you have the compiler do with it.
11197049Speter#
11297049Speter# There are two opposite reasons to choose option 5.  One is when you want
11397049Speter# to eat the capability silently and discard it when doing translations
11497049Speter# to terminfo with tic -I.  Some very old obsolete BSD caps like :kn: are
11597049Speter# in this class.  Nothing will ever use them again.
11697049Speter#
11797049Speter# More usually, you want the compiler to try to deduce something from the
11897049Speter# capability value that it can use to translate it into your output format.
11997049Speter# You'll need to write custom code, probably in postprocess_termcap() or
12097049Speter# postprocess_terminfo(), to handle the translation.
12197049Speter#
12297049Speter# CONTROLLING ENTRY LENGTH 
12397049Speter#
12497049Speter# Notes on specific elisions made to fit translations within 1023 bytes:
12597049Speter#
12697049Speter# Machines with IBM PC-like keyboards want to be able to define the following
12797049Speter# keys: key_npage, key_ppage, key_home, key_ll (which is used for in termcap-
12897049Speter# only environments for End or Home-Down), key_dc, and key_ic.  This is also
12997049Speter# the set of keys the `joe' editor will be upset if it can't see.  So don't 
13097049Speter# trim those out of the set to be translated to termcap, or various users of
13197049Speter# the termcap file will become irate.
13297049Speter#
13397049Speter# It might look tempting to leave those long init strings out of translations.
13497049Speter# We can't do it (yet); 4.4BSD tput and tset use them.
13597049Speter#
13697049Speter# We retain the sgr capability in translation in spite of the fact that neither
13797049Speter# 4.4BSD nor GNU Emacs uses it, because (a) some entry naming distinctions are
13897049Speter# hard to understand without it, and (b) the entries in which it is long tend
13997049Speter# to be older types that don't use up a lot of string space on function keys.
14097049Speter# The tic(1) translation code will complain and elide it if it makes a critical
14197049Speter# difference (there is special code in tic to recognize this situation).
14297049Speter#
14397049Speter# Yes, BSD tset(1) uses hpa.  We elide hpa/vpa anyway because the motion
14497049Speter# optimizer in BSD curses didn't use them.  This omission seems to be the
14597049Speter# single most effective one, it shortened the resolved length of all thirteen
14697049Speter# problem entries in the 9.9.0 version of the terminfo master below critical.
14797049Speter#
14897049Speter# It would be nice to keep f11 and f12 for Emacs use, but a couple of termcap
14997049Speter# translations go back over critical if we do this.  As 4.4BSD curses fades
15097049Speter# into history and GNU termcap's application base shrinks towards being GNU 
15197049Speter# Emacs only, we'll probably elide out some BSD-only capabilities in order
15297049Speter# to buy space for non-essentials Emacs is still using.  Capabilities high
15397049Speter# on that hit list: rc, sc, uc.
15497049Speter#
15597049Speter#############################################################################
15697049Speter#
15797049Speter# STANDARD CAPABILITIES
15897049Speter#
15997049Speter#%The following is a complete table of the capabilities included in a
16097049Speter#%terminfo description block and available to terminfo-using code.  In each
16197049Speter#%line of the table,
16297049Speter#%
16397049Speter#%The \fBvariable\fR is the name by which the programmer (at the terminfo level)
16497049Speter#%accesses the capability.
16597049Speter#%
16697049Speter#%The \fBcapname\fR is the short name used in the text of the database,
16797049Speter#%and is used by a person updating the database.
16897049Speter#%Whenever possible, capnames are chosen to be the same as or similar to
16997049Speter#%the ANSI X3.64-1979 standard (now superseded by ECMA-48, which uses 
17097049Speter#%identical or very similar names).  Semantics are also intended to match
17197049Speter#%those of the specification.
17297049Speter#%
17397049Speter#%The termcap code is the old
17497049Speter#%.B termcap
17597049Speter#%capability name (some capabilities are new, and have names which termcap
17697049Speter#%did not originate).
17797049Speter#%.P
17897049Speter#%Capability names have no hard length limit, but an informal limit of 5
17997049Speter#%characters has been adopted to keep them short and to allow the tabs in
18097049Speter#%the source file
18197049Speter#%.B Caps
18297049Speter#%to line up nicely.
18397049Speter#%
18497049Speter#%Finally, the description field attempts to convey the semantics of the
18597049Speter#%capability.  You may find some codes in the description field:
18697049Speter#%.TP
18797049Speter#%(P)
18897049Speter#%indicates that padding may be specified
18997049Speter#%.TP
19097049Speter#%#[1-9]
19197049Speter#%in the description field indicates that the string is passed through tparm with
19297049Speter#%parms as given (#\fIi\fP).
19397049Speter#%.TP
19497049Speter#%(P*)
19597049Speter#%indicates that padding may vary in proportion to the number of
19697049Speter#%lines affected
19797049Speter#%.TP
19897049Speter#%(#\d\fIi\fP\u)
19997049Speter#%indicates the \fIi\fP\uth\d parameter.
20097049Speter#%
20197049Speter#%.PP
20297049Speter#% These are the boolean capabilities:
20397049Speter#%
20497049Speter#%.na
20597049Speter#%.TS H
20697049Speter#%center expand;
20797049Speter#%c l l c
20897049Speter#%c l l c
20997049Speter#%lw25 lw6 lw2 lw20.
21097049Speter#%\fBVariable	Cap-	TCap	Description\fR
21197049Speter#%\fBBooleans	name	Code\fR
21297049Speterauto_left_margin		bw	bool	bw	-	-	YB-G-	cub1 wraps from column 0 to last column
21397049Speterauto_right_margin		am	bool	am	-	-	YBCGE	terminal has automatic margins
21497049Speterno_esc_ctlc			xsb	bool	xb	-	-	YBCG-	beehive (f1=escape, f2=ctrl C)
21597049Speterceol_standout_glitch		xhp	bool	xs	-	-	YBCGE	standout not erased by overwriting (hp)
21697049Spetereat_newline_glitch		xenl	bool	xn	-	-	YBCGE	newline ignored after 80 cols (concept)
21797049Spetererase_overstrike		eo	bool	eo	-	-	YBCG-	can erase overstrikes with a blank
21897049Spetergeneric_type			gn	bool	gn	-	-	YB-G-	generic line type
21997049Speterhard_copy			hc	bool	hc	-	-	YBCG-	hardcopy terminal
22097049Speterhas_meta_key			km	bool	km	-	-	YB-GE	Has a meta key (i.e., sets 8th-bit)
22197049Speterhas_status_line			hs	bool	hs	-	-	YB-G-	has extra status line
22297049Speterinsert_null_glitch		in	bool	in	-	-	YBCGE	insert mode distinguishes nulls
22397049Spetermemory_above			da	bool	da	-	-	YBCG-	display may be retained above the screen
22497049Spetermemory_below			db	bool	db	-	-	YB-GE	display may be retained below the screen
22597049Spetermove_insert_mode		mir	bool	mi	-	-	YBCGE	safe to move while in insert mode
22697049Spetermove_standout_mode		msgr	bool	ms	-	-	YBCGE	safe to move while in standout mode
22797049Speterover_strike			os	bool	os	-	-	YBCG-	terminal can overstrike
22897049Speterstatus_line_esc_ok		eslok	bool	es	-	-	YB-G-	escape can be used on the status line
22997049Speterdest_tabs_magic_smso		xt	bool	xt	-	-	YBCGE	tabs destructive, magic so char (t1061)
230166124Srafantilde_glitch			hz	bool	hz	-	-	YB-GE	cannot print ~'s (hazeltine)
23197049Spetertransparent_underline		ul	bool	ul	-	-	YBCGE	underline character overstrikes
23297049Speterxon_xoff			xon	bool	xo	-	-	YB---	terminal uses xon/xoff handshaking
233166124Srafanneeds_xon_xoff			nxon	bool	nx	-	-	-----	padding will not work, xon/xoff required
234166124Srafanprtr_silent			mc5i	bool	5i	-	-	-----	printer will not echo on screen
23597049Speterhard_cursor			chts	bool	HC	-	-	-----	cursor is hard to see
23697049Speternon_rev_rmcup			nrrmc	bool	NR	-	-	-----	smcup does not reverse rmcup
23797049Speterno_pad_char			npc	bool	NP	-	-	-----	pad character does not exist
23897049Speternon_dest_scroll_region		ndscr	bool	ND	-	-	-----	scrolling region is non-destructive
23997049Speterback_color_erase		bce	bool	ut	-	-	-----	screen erased with background color
24097049Spetercan_change			ccc	bool	cc	-	-	-----	terminal can re-define existing colors
24197049Speterhue_lightness_saturation	hls	bool	hl	-	-	-----	terminal uses only HLS color notation (Tektronix)
24297049Speter#%.TE
24397049Speter#%.ad
24497049Speter#%
24597049Speter#%These are the numeric capabilities:
24697049Speter#%
24797049Speter#%.na
24897049Speter#%.TS H
24997049Speter#%center expand;
25097049Speter#%c l l c
25197049Speter#%c l l c
25297049Speter#%lw25 lw6 lw2 lw20.
25397049Speter#%\fBVariable	Cap-	TCap	Description\fR
25497049Speter#%\fBNumeric	name	Code\fR
25597049Spetercolumns				cols	num	co	-	-	YBCGE	number of columns in a line
25697049Speterinit_tabs			it	num	it	-	-	YB-G-	tabs initially every # spaces
25797049Speterlines				lines	num	li	-	-	YBCGE	number of lines on screen or page
25897049Speterlines_of_memory			lm	num	lm	-	-	YB-G-	lines of memory if > line. 0 means varies
25997049Spetermagic_cookie_glitch		xmc	num	sg	-	-	YBCGE	number of blank characters left by smso or rmso
26097049Speterpadding_baud_rate		pb	num	pb	-	-	YB-GE	lowest baud rate where padding needed
26197049Spetervirtual_terminal		vt	num	vt	-	-	YB---	virtual terminal number (CB/unix)
26297049Speterwidth_status_line		wsl	num	ws	-	-	YB-G-	number of columns in status line
26397049Speternum_labels			nlab	num	Nl	-	-	-----	number of labels on screen
26497049Speterlabel_height			lh	num	lh	-	-	-----	rows in each label
26597049Speterlabel_width			lw	num	lw	-	-	-----	columns in each label
26697049Speterbuttons				btns	num	BT	-	-	-----	number of buttons on mouse
26797049Speter#max_attributes			ma	num	ma	-	-	YBC--	maximum combined attributes terminal can handle
26897049Speter#maximum_windows		wnum	num	MW	-	-	-----	maximum number of defineable windows
26997049Speter# These came in with SVr4's color support
27097049Spetermax_colors			colors	num	Co	-	-	-----	maximum number of colors on screen
27197049Spetermax_pairs			pairs	num	pa	-	-	-----	maximum number of color-pairs on the screen
272166124Srafanno_color_video			ncv	num	NC	-	-	-----	video attributes that cannot be used with colors
27397049Speter#%.TE
27497049Speter#%.ad
27597049Speter#%
27697049Speter#%The following numeric capabilities are present in the SVr4.0 term structure,
27797049Speter#%but are not yet documented in the man page.  They came in with SVr4's
27897049Speter#%printer support.
27997049Speter#%
28097049Speter#%.na
28197049Speter#%
28297049Speter#%These are the string capabilities:
28397049Speter#%
28497049Speter#%.na
28597049Speter#%.TS H
28697049Speter#%center expand;
28797049Speter#%c l l c
28897049Speter#%c l l c
28997049Speter#%lw25 lw6 lw2 lw20.
29097049Speter#%\fBVariable	Cap-	TCap	Description\fR
29197049Speter#%\fBString	name	Code\fR
29297049Speterback_tab			cbt	str	bt	-		-	YBCGE	back tab (P)
29397049Speterbell				bel	str	bl	-		-	YB-GE	audible signal (bell) (P)
29497049Spetercarriage_return			cr	str	cr	-		-	YBCGE	carriage return (P*) (P*)
29597049Speterchange_scroll_region		csr	str	cs	-		-	YBCGE	change region to line #1 to line #2 (P)
29697049Speterclear_all_tabs			tbc	str	ct	-		-	YB-G-	clear all tab stops (P)
29797049Speterclear_screen			clear	str	cl	-		-	YBCGE	clear screen and home cursor (P*)
29897049Speterclr_eol				el	str	ce	-		-	YBCGE	clear to end of line (P)
29997049Speterclr_eos				ed	str	cd	-		-	YBCGE	clear to end of screen (P*)
30097049Spetercolumn_address			hpa	str	ch	-		-	-B-GE*	horizontal position #1, absolute (P)
30197049Spetercommand_character		cmdch	str	CC	-		-	YB-G-	terminal settable cmd character in prototype !?
30297049Spetercursor_address			cup	str	cm	-		-	YBCGE	move to row #1 columns #2
30397049Spetercursor_down			cud1	str	do	-		-	YBCGE	down one line
30497049Spetercursor_home			home	str	ho	-		-	YBCGE	home cursor (if no cup)
30597049Spetercursor_invisible		civis	str	vi	-		-	YB-G-	make cursor invisible
30697049Spetercursor_left			cub1	str	le	-		-	YBCGE	move left one space
30797049Spetercursor_mem_address		mrcup	str	CM	-		-	YB-G-	memory relative cursor addressing, move to row #1 columns #2
30897049Spetercursor_normal			cnorm	str	ve	-		-	YBCGE	make cursor appear normal (undo civis/cvvis)
30997049Spetercursor_right			cuf1	str	nd	-		-	YBCGE	non-destructive space (move right one space)
31097049Spetercursor_to_ll			ll	str	ll	-		-	YBCGE	last line, first column (if no cup)
31197049Spetercursor_up			cuu1	str	up	-		-	YBCGE	up one line
31297049Spetercursor_visible			cvvis	str	vs	-		-	YBCGE	make cursor very visible
31397049Speterdelete_character		dch1	str	dc	-		-	YBCGE	delete character (P*)
31497049Speterdelete_line			dl1	str	dl	-		-	YBCGE	delete line (P*)
31597049Speterdis_status_line			dsl	str	ds	-		-	YB-G-	disable status line
31697049Speterdown_half_line			hd	str	hd	-		-	YB-G-	half a line down
31797049Speterenter_alt_charset_mode		smacs	str	as	-		-	YB-G-	start alternate character set (P)
31897049Speterenter_blink_mode		blink	str	mb	-		-	YB-G-	turn on blinking
31997049Speterenter_bold_mode			bold	str	md	-		-	YB-G-	turn on bold (extra bright) mode
32097049Speterenter_ca_mode			smcup	str	ti	-		-	YBCGE	string to start programs using cup
32197049Speterenter_delete_mode		smdc	str	dm	-		-	YBCGE	enter delete mode
32297049Speterenter_dim_mode			dim	str	mh	-		-	YB-G-	turn on half-bright mode
32397049Speterenter_insert_mode		smir	str	im	-		-	YBCGE	enter insert mode
32497049Speterenter_secure_mode		invis	str	mk	-		-	-B-G-*	turn on blank mode (characters invisible)
32597049Speterenter_protected_mode		prot	str	mp	-		-	-B-G-*	turn on protected mode
32697049Speterenter_reverse_mode		rev	str	mr	-		-	YB-G-	turn on reverse video mode
32797049Speterenter_standout_mode		smso	str	so	-		-	YBCGE	begin standout mode
32897049Speterenter_underline_mode		smul	str	us	-		-	YBCGE	begin underline mode
32997049Spetererase_chars			ech	str	ec	-		-	YB-G-	erase #1 characters (P)
33097049Speterexit_alt_charset_mode		rmacs	str	ae	-		-	YB-G-	end alternate character set (P)
33197049Speterexit_attribute_mode		sgr0	str	me	-		-	YB-GE	turn off all attributes
33297049Speterexit_ca_mode			rmcup	str	te	-		-	YBCGE	strings to end programs using cup
33397049Speterexit_delete_mode		rmdc	str	ed	-		-	YBCGE	end delete mode
33497049Speterexit_insert_mode		rmir	str	ei	-		-	YBCGE	exit insert mode
33597049Speterexit_standout_mode		rmso	str	se	-		-	YBCGE	exit standout mode
33697049Speterexit_underline_mode		rmul	str	ue	-		-	YBCGE	exit underline mode
33797049Speterflash_screen			flash	str	vb	-		-	YBCGE	visible bell (may not move cursor)
33897049Speterform_feed			ff	str	ff	-		-	YB-G-	hardcopy terminal page eject (P*)
33997049Speterfrom_status_line		fsl	str	fs	-		-	YB-G-	return from status line
34097049Speterinit_1string			is1	str	i1	-		-	YB-G-	initialization string
34197049Speterinit_2string			is2	str	is	-		-	YB-G-	initialization string
34297049Speterinit_3string			is3	str	i3	-		-	YB-G-	initialization string
34397049Speterinit_file			if	str	if	-		-	YB-G-	name of initialization file
34497049Speterinsert_character		ich1	str	ic	-		-	YBCGE	insert character (P)
34597049Speterinsert_line			il1	str	al	-		-	YBCGE	insert line (P*)
34697049Speterinsert_padding			ip	str	ip	-		-	YBCGE	insert padding after inserted character
34797049Speterkey_backspace			kbs	str	kb	KEY_BACKSPACE	0407	YB-G-	backspace key
34897049Speterkey_catab			ktbc	str	ka	KEY_CATAB	0526	-B-G-*	clear-all-tabs key
34997049Speterkey_clear			kclr	str	kC	KEY_CLEAR	0515	-B-G-*	clear-screen or erase key
35097049Speterkey_ctab			kctab	str	kt	KEY_CTAB	0525	-B-G-*	clear-tab key
35197049Speterkey_dc				kdch1	str	kD	KEY_DC		0512	YB-G-	delete-character key
35297049Speterkey_dl				kdl1	str	kL	KEY_DL		0510	-B-G-*	delete-line key
35397049Speterkey_down			kcud1	str	kd	KEY_DOWN	0402	YBCGE	down-arrow key
35497049Speterkey_eic				krmir	str	kM	KEY_EIC		0514	-B-G-*	sent by rmir or smir in insert mode
35597049Speterkey_eol				kel	str	kE	KEY_EOL		0517	-B-G-*	clear-to-end-of-line key
35697049Speterkey_eos				ked	str	kS	KEY_EOS		0516	-B-G-*	clear-to-end-of-screen key
35797049Speterkey_f0				kf0	str	k0	KEY_F(0)	0410	YBCGE	F0 function key
35897049Speterkey_f1				kf1	str	k1	KEY_F(1)	-	YBCGE	F1 function key
35997049Speterkey_f10				kf10	str	k;	KEY_F(10)	-	----E	F10 function key
36097049Speterkey_f2				kf2	str	k2	KEY_F(2)	-	YBCGE	F2 function key
36197049Speterkey_f3				kf3	str	k3	KEY_F(3)	-	YBCGE	F3 function key
36297049Speterkey_f4				kf4	str	k4	KEY_F(4)	-	YBCGE	F4 function key
36397049Speterkey_f5				kf5	str	k5	KEY_F(5)	-	YBCGE	F5 function key
36497049Speterkey_f6				kf6	str	k6	KEY_F(6)	-	YBCGE	F6 function key
36597049Speterkey_f7				kf7	str	k7	KEY_F(7)	-	YBCGE	F7 function key
36697049Speterkey_f8				kf8	str	k8	KEY_F(8)	-	YBCGE	F8 function key
36797049Speterkey_f9				kf9	str	k9	KEY_F(9)	-	YBCGE	F9 function key
36897049Speterkey_home			khome	str	kh	KEY_HOME	0406	YBCGE	home key
36997049Speterkey_ic				kich1	str	kI	KEY_IC		0513	YB-GE	insert-character key
37097049Speterkey_il				kil1	str	kA	KEY_IL		0511	-B-G-*	insert-line key
37197049Speterkey_left			kcub1	str	kl	KEY_LEFT	0404	YBCGE	left-arrow key
37297049Speterkey_ll				kll	str	kH	KEY_LL		0533	YB-G-	lower-left key (home down)
37397049Speterkey_npage			knp	str	kN	KEY_NPAGE	0522	YB-GE	next-page key
37497049Speterkey_ppage			kpp	str	kP	KEY_PPAGE	0523	YB-GE	previous-page key
37597049Speterkey_right			kcuf1	str	kr	KEY_RIGHT	0405	YBCGE	right-arrow key
37697049Speterkey_sf				kind	str	kF	KEY_SF		0520	-B-G-*	scroll-forward key
37797049Speterkey_sr				kri	str	kR	KEY_SR		0521	-B-G-*	scroll-backward key
37897049Speterkey_stab			khts	str	kT	KEY_STAB	0524	-B-G-*	set-tab key
37997049Speterkey_up				kcuu1	str	ku	KEY_UP		0403	YBCGE	up-arrow key
38097049Speterkeypad_local			rmkx	str	ke	-		-	YBCGE	leave 'keyboard_transmit' mode
38197049Speterkeypad_xmit			smkx	str	ks	-		-	YBCGE	enter 'keyboard_transmit' mode
38297049Speterlab_f0				lf0	str	l0	-		-	-B-G-*	label on function key f0 if not f0
38397049Speterlab_f1				lf1	str	l1	-		-	-B-G-*	label on function key f1 if not f1
38497049Speterlab_f10				lf10	str	la	-		-	-----	label on function key f10 if not f10
38597049Speterlab_f2				lf2	str	l2	-		-	-B-G-*	label on function key f2 if not f2
38697049Speterlab_f3				lf3	str	l3	-		-	-B-G-*	label on function key f3 if not f3
38797049Speterlab_f4				lf4	str	l4	-		-	-B-G-*	label on function key f4 if not f4
38897049Speterlab_f5				lf5	str	l5	-		-	-B-G-*	label on function key f5 if not f5
38997049Speterlab_f6				lf6	str	l6	-		-	-B-G-*	label on function key f6 if not f6
39097049Speterlab_f7				lf7	str	l7	-		-	-B-G-*	label on function key f7 if not f7
39197049Speterlab_f8				lf8	str	l8	-		-	-B-G-*	label on function key f8 if not f8
39297049Speterlab_f9				lf9	str	l9	-		-	-B-G-*	label on function key f9 if not f9
39397049Spetermeta_off			rmm	str	mo	-		-	YB-G-*	turn off meta mode
39497049Spetermeta_on				smm	str	mm	-		-	YB-G-*	turn on meta mode (8th-bit on)
39597049Speternewline				nel	str	nw	-		-	YB-G-*	newline (behave like cr followed by lf)
39697049Speterpad_char			pad	str	pc	-		-	YBCGE	padding char (instead of null)
39797049Speterparm_dch			dch	str	DC	-		-	YB-GE	delete #1 characters (P*)
39897049Speterparm_delete_line		dl	str	DL	-		-	YBCGE	delete #1 lines (P*)
39997049Speterparm_down_cursor		cud	str	DO	-		-	YBCGE	down #1 lines (P*)
40097049Speterparm_ich			ich	str	IC	-		-	YB-GE	insert #1 characters (P*)
40197049Speterparm_index			indn	str	SF	-		-	YBCG-	scroll forward #1 lines (P)
40297049Speterparm_insert_line		il	str	AL	-		-	YBCGE	insert #1 lines (P*)
40397049Speterparm_left_cursor		cub	str	LE	-		-	YBCGE	move #1 characters to the left (P)
40497049Speterparm_right_cursor		cuf	str	RI	-		-	YBCGE	move #1 characters to the right (P*)
40597049Speterparm_rindex			rin	str	SR	-		-	YBCG-	scroll back #1 lines (P)
40697049Speterparm_up_cursor			cuu	str	UP	-		-	YBCGE	up #1 lines (P*)
40797049Speterpkey_key			pfkey	str	pk	-		-	-B---	program function key #1 to type string #2
40897049Speterpkey_local			pfloc	str	pl	-		-	-B---	program function key #1 to execute string #2
40997049Speterpkey_xmit			pfx	str	px	-		-	-B---	program function key #1 to transmit string #2
41097049Speterprint_screen			mc0	str	ps	-		-	-B-G-*	print contents of screen
41197049Speterprtr_off			mc4	str	pf	-		-	-B-G-*	turn off printer
41297049Speterprtr_on				mc5	str	po	-		-	-B-G-*	turn on printer
41397049Speterrepeat_char			rep	str	rp	-		-	YB-GE	repeat char #1 #2 times (P*)
41497049Speterreset_1string			rs1	str	r1	-		-	-B---	reset string
41597049Speterreset_2string			rs2	str	r2	-		-	-B---	reset string
41697049Speterreset_3string			rs3	str	r3	-		-	-B---	reset string
41797049Speterreset_file			rf	str	rf	-		-	-B---	name of reset file
41897049Speterrestore_cursor			rc	str	rc	-		-	YBCG-	restore cursor to position of last save_cursor
41997049Speterrow_address			vpa	str	cv	-		-	-B-GE*	vertical position #1 absolute (P)
42097049Spetersave_cursor			sc	str	sc	-		-	YBCG-	save current cursor position (P)
42197049Speterscroll_forward			ind	str	sf	-		-	YBCGE	scroll text up (P)
42297049Speterscroll_reverse			ri	str	sr	-		-	YBCGE	scroll text down (P)
42397049Speterset_attributes			sgr	str	sa	-		-	YB-G-	define video attributes #1-#9 (PG9)
42497049Speterset_tab				hts	str	st	-		-	YB-G-	set a tab in every row, current columns
42597049Speterset_window			wind	str	wi	-		-	-B-GE	current window is lines #1-#2 cols #3-#4
42697049Spetertab				ht	str	ta	-		-	YBCGE	tab to next 8-space hardware tab stop
42797049Speterto_status_line			tsl	str	ts	-		-	YB-G-	move to status line, column #1
42897049Speterunderline_char			uc	str	uc	-		-	YBCG-	underline char and move past it
42997049Speterup_half_line			hu	str	hu	-		-	YB-G-	half a line up
43097049Speterinit_prog			iprog	str	iP	-		-	-B---	path name of program for initialization
43197049Speterkey_a1				ka1	str	K1	KEY_A1		0534	YB-GE	upper left of keypad
43297049Speterkey_a3				ka3	str	K3	KEY_A3		0535	YB-GE	upper right of keypad
43397049Speterkey_b2				kb2	str	K2	KEY_B2		0536	YB-GE	center of keypad
43497049Speterkey_c1				kc1	str	K4	KEY_C1		0537	YB-GE	lower left of keypad
43597049Speterkey_c3				kc3	str	K5	KEY_C3		0540	YB-GE	lower right of keypad
43697049Speterprtr_non			mc5p	str	pO	-		-	-B-G-*	turn on printer for #1 bytes
43797049Speter#
43897049Speter# SVr1 capabilities stop here.	IBM's version of terminfo is the same as
43997049Speter# SVr4 up to this point, but has a different set afterwards.
44097049Speter#
44197049Speterchar_padding			rmp	str	rP	-		-	-----	like ip but when in insert mode
44297049Speteracs_chars			acsc	str	ac	-		-	-----	graphics charset pairs, based on vt100
44397049Speterplab_norm			pln	str	pn	-		-	-----	program label #1 to show string #2
44497049Speterkey_btab			kcbt	str	kB	KEY_BTAB	0541	-----	back-tab key
44597049Speterenter_xon_mode			smxon	str	SX	-		-	-----	turn on xon/xoff handshaking
44697049Speterexit_xon_mode			rmxon	str	RX	-		-	-----	turn off xon/xoff handshaking
44797049Speterenter_am_mode			smam	str	SA	-		-	-----	turn on automatic margins
44897049Speterexit_am_mode			rmam	str	RA	-		-	-----	turn off automatic margins
44997049Speterxon_character			xonc	str	XN	-		-	-----	XON character
45097049Speterxoff_character			xoffc	str	XF	-		-	-----	XOFF character
45197049Speterena_acs				enacs	str	eA	-		-	-----	enable alternate char set
45297049Speterlabel_on			smln	str	LO	-		-	-----	turn on soft labels
45397049Speterlabel_off			rmln	str	LF	-		-	-----	turn off soft labels
45497049Speterkey_beg				kbeg	str	@1	KEY_BEG		0542	-----	begin key
45597049Speterkey_cancel			kcan	str	@2	KEY_CANCEL	0543	-----	cancel key
45697049Speterkey_close			kclo	str	@3	KEY_CLOSE	0544	-----	close key
45797049Speterkey_command			kcmd	str	@4	KEY_COMMAND	0545	-----	command key
45897049Speterkey_copy			kcpy	str	@5	KEY_COPY	0546	-----	copy key
45997049Speterkey_create			kcrt	str	@6	KEY_CREATE	0547	-----	create key
46097049Speterkey_end				kend	str	@7	KEY_END		0550	-----	end key
46197049Speterkey_enter			kent	str	@8	KEY_ENTER	0527	-----	enter/send key
46297049Speterkey_exit			kext	str	@9	KEY_EXIT	0551	-----	exit key
46397049Speterkey_find			kfnd	str	@0	KEY_FIND	0552	-----	find key
46497049Speterkey_help			khlp	str	%1	KEY_HELP	0553	-----	help key
46597049Speterkey_mark			kmrk	str	%2	KEY_MARK	0554	-----	mark key
46697049Speterkey_message			kmsg	str	%3	KEY_MESSAGE	0555	-----	message key
46797049Speterkey_move			kmov	str	%4	KEY_MOVE	0556	-----	move key
46897049Speterkey_next			knxt	str	%5	KEY_NEXT	0557	-----	next key
46997049Speterkey_open			kopn	str	%6	KEY_OPEN	0560	-----	open key
47097049Speterkey_options			kopt	str	%7	KEY_OPTIONS	0561	-----	options key
47197049Speterkey_previous			kprv	str	%8	KEY_PREVIOUS	0562	-----	previous key
47297049Speterkey_print			kprt	str	%9	KEY_PRINT	0532	-----	print key
47397049Speterkey_redo			krdo	str	%0	KEY_REDO	0563	-----	redo key
47497049Speterkey_reference			kref	str	&1	KEY_REFERENCE	0564	-----	reference key
47597049Speterkey_refresh			krfr	str	&2	KEY_REFRESH	0565	-----	refresh key
47697049Speterkey_replace			krpl	str	&3	KEY_REPLACE	0566	-----	replace key
47797049Speterkey_restart			krst	str	&4	KEY_RESTART	0567	-----	restart key
47897049Speterkey_resume			kres	str	&5	KEY_RESUME	0570	-----	resume key
47997049Speterkey_save			ksav	str	&6	KEY_SAVE	0571	-----	save key
48097049Speterkey_suspend			kspd	str	&7	KEY_SUSPEND	0627	-----	suspend key
48197049Speterkey_undo			kund	str	&8	KEY_UNDO	0630	-----	undo key
48297049Speterkey_sbeg			kBEG	str	&9	KEY_SBEG	0572	-----	shifted begin key
48397049Speterkey_scancel			kCAN	str	&0	KEY_SCANCEL	0573	-----	shifted cancel key
48497049Speterkey_scommand			kCMD	str	*1	KEY_SCOMMAND	0574	-----	shifted command key
48597049Speterkey_scopy			kCPY	str	*2	KEY_SCOPY	0575	-----	shifted copy key
48697049Speterkey_screate			kCRT	str	*3	KEY_SCREATE	0576	-----	shifted create key
48797049Speterkey_sdc				kDC	str	*4	KEY_SDC		0577	-----	shifted delete-character key
48897049Speterkey_sdl				kDL	str	*5	KEY_SDL		0600	-----	shifted delete-line key
48997049Speterkey_select			kslt	str	*6	KEY_SELECT	0601	-----	select key
49097049Speterkey_send			kEND	str	*7	KEY_SEND	0602	-----	shifted end key
49197049Speterkey_seol			kEOL	str	*8	KEY_SEOL	0603	-----	shifted clear-to-end-of-line key
49297049Speterkey_sexit			kEXT	str	*9	KEY_SEXIT	0604	-----	shifted exit key
49397049Speterkey_sfind			kFND	str	*0	KEY_SFIND	0605	-----	shifted find key
49497049Speterkey_shelp			kHLP	str	#1	KEY_SHELP	0606	-----	shifted help key
49597049Speterkey_shome			kHOM	str	#2	KEY_SHOME	0607	-----	shifted home key
49697049Speterkey_sic				kIC	str	#3	KEY_SIC		0610	-----	shifted insert-character key
49797049Speterkey_sleft			kLFT	str	#4	KEY_SLEFT	0611	-----	shifted left-arrow key
49897049Speterkey_smessage			kMSG	str	%a	KEY_SMESSAGE	0612	-----	shifted message key
49997049Speterkey_smove			kMOV	str	%b	KEY_SMOVE	0613	-----	shifted move key
50097049Speterkey_snext			kNXT	str	%c	KEY_SNEXT	0614	-----	shifted next key
50197049Speterkey_soptions			kOPT	str	%d	KEY_SOPTIONS	0615	-----	shifted options key
50297049Speterkey_sprevious			kPRV	str	%e	KEY_SPREVIOUS	0616	-----	shifted previous key
50397049Speterkey_sprint			kPRT	str	%f	KEY_SPRINT	0617	-----	shifted print key
50497049Speterkey_sredo			kRDO	str	%g	KEY_SREDO	0620	-----	shifted redo key
50597049Speterkey_sreplace			kRPL	str	%h	KEY_SREPLACE	0621	-----	shifted replace key
50697049Speterkey_sright			kRIT	str	%i	KEY_SRIGHT	0622	-----	shifted right-arrow key
50797049Speterkey_srsume			kRES	str	%j	KEY_SRSUME	0623	-----	shifted resume key
50897049Speterkey_ssave			kSAV	str	!1	KEY_SSAVE	0624	-----	shifted save key
50997049Speterkey_ssuspend			kSPD	str	!2	KEY_SSUSPEND	0625	-----	shifted suspend key
51097049Speterkey_sundo			kUND	str	!3	KEY_SUNDO	0626	-----	shifted undo key
51197049Speterreq_for_input			rfi	str	RF	-		-	-----	send next input char (for ptys)
51297049Speterkey_f11				kf11	str	F1	KEY_F(11)	-	----E	F11 function key
51397049Speterkey_f12				kf12	str	F2	KEY_F(12)	-	----E	F12 function key
51497049Speterkey_f13				kf13	str	F3	KEY_F(13)	-	----E	F13 function key
51597049Speterkey_f14				kf14	str	F4	KEY_F(14)	-	----E	F14 function key
51697049Speterkey_f15				kf15	str	F5	KEY_F(15)	-	----E	F15 function key
51797049Speterkey_f16				kf16	str	F6	KEY_F(16)	-	----E	F16 function key
51897049Speterkey_f17				kf17	str	F7	KEY_F(17)	-	----E	F17 function key
51997049Speterkey_f18				kf18	str	F8	KEY_F(18)	-	----E	F18 function key
52097049Speterkey_f19				kf19	str	F9	KEY_F(19)	-	----E	F19 function key
52197049Speterkey_f20				kf20	str	FA	KEY_F(20)	-	----E	F20 function key
52297049Speterkey_f21				kf21	str	FB	KEY_F(21)	-	----E	F21 function key
52397049Speterkey_f22				kf22	str	FC	KEY_F(22)	-	----E	F22 function key
52497049Speterkey_f23				kf23	str	FD	KEY_F(23)	-	----E	F23 function key
52597049Speterkey_f24				kf24	str	FE	KEY_F(24)	-	----E	F24 function key
52697049Speterkey_f25				kf25	str	FF	KEY_F(25)	-	----E	F25 function key
52797049Speterkey_f26				kf26	str	FG	KEY_F(26)	-	----E	F26 function key
52897049Speterkey_f27				kf27	str	FH	KEY_F(27)	-	----E	F27 function key
52997049Speterkey_f28				kf28	str	FI	KEY_F(28)	-	----E	F28 function key
53097049Speterkey_f29				kf29	str	FJ	KEY_F(29)	-	----E	F29 function key
53197049Speterkey_f30				kf30	str	FK	KEY_F(30)	-	----E	F30 function key
53297049Speterkey_f31				kf31	str	FL	KEY_F(31)	-	----E	F31 function key
53397049Speterkey_f32				kf32	str	FM	KEY_F(32)	-	----E	F32 function key
53497049Speterkey_f33				kf33	str	FN	KEY_F(33)	-	----E	F33 function key
53597049Speterkey_f34				kf34	str	FO	KEY_F(34)	-	----E	F34 function key
53697049Speterkey_f35				kf35	str	FP	KEY_F(35)	-	----E	F35 function key
53797049Speterkey_f36				kf36	str	FQ	KEY_F(36)	-	----E	F36 function key
53897049Speterkey_f37				kf37	str	FR	KEY_F(37)	-	----E	F37 function key
53997049Speterkey_f38				kf38	str	FS	KEY_F(38)	-	----E	F38 function key
54097049Speterkey_f39				kf39	str	FT	KEY_F(39)	-	----E	F39 function key
54197049Speterkey_f40				kf40	str	FU	KEY_F(40)	-	----E	F40 function key
54297049Speterkey_f41				kf41	str	FV	KEY_F(41)	-	----E	F41 function key
54397049Speterkey_f42				kf42	str	FW	KEY_F(42)	-	----E	F42 function key
54497049Speterkey_f43				kf43	str	FX	KEY_F(43)	-	----E	F43 function key
54597049Speterkey_f44				kf44	str	FY	KEY_F(44)	-	----E	F44 function key
54697049Speterkey_f45				kf45	str	FZ	KEY_F(45)	-	----E	F45 function key
54797049Speterkey_f46				kf46	str	Fa	KEY_F(46)	-	----E	F46 function key
54897049Speterkey_f47				kf47	str	Fb	KEY_F(47)	-	----E	F47 function key
54997049Speterkey_f48				kf48	str	Fc	KEY_F(48)	-	----E	F48 function key
55097049Speterkey_f49				kf49	str	Fd	KEY_F(49)	-	----E	F49 function key
55197049Speterkey_f50				kf50	str	Fe	KEY_F(50)	-	----E	F50 function key
55297049Speterkey_f51				kf51	str	Ff	KEY_F(51)	-	----E	F51 function key
55397049Speterkey_f52				kf52	str	Fg	KEY_F(52)	-	----E	F52 function key
55497049Speterkey_f53				kf53	str	Fh	KEY_F(53)	-	----E	F53 function key
55597049Speterkey_f54				kf54	str	Fi	KEY_F(54)	-	----E	F54 function key
55697049Speterkey_f55				kf55	str	Fj	KEY_F(55)	-	----E	F55 function key
55797049Speterkey_f56				kf56	str	Fk	KEY_F(56)	-	----E	F56 function key
55897049Speterkey_f57				kf57	str	Fl	KEY_F(57)	-	----E	F57 function key
55997049Speterkey_f58				kf58	str	Fm	KEY_F(58)	-	----E	F58 function key
56097049Speterkey_f59				kf59	str	Fn	KEY_F(59)	-	----E	F59 function key
56197049Speterkey_f60				kf60	str	Fo	KEY_F(60)	-	----E	F60 function key
56297049Speterkey_f61				kf61	str	Fp	KEY_F(61)	-	----E	F61 function key
56397049Speterkey_f62				kf62	str	Fq	KEY_F(62)	-	----E	F62 function key
56497049Speterkey_f63				kf63	str	Fr	KEY_F(63)	-	----E	F63 function key
56597049Speterclr_bol				el1	str	cb	-		-	-----	Clear to beginning of line
56697049Speterclear_margins			mgc	str	MC	-		-	-----	clear right and left soft margins
56797049Speterset_left_margin			smgl	str	ML	-		-	-----	set left soft margin at current column.	 See smgl. (ML is not in BSD termcap).
56897049Speterset_right_margin		smgr	str	MR	-		-	-----	set right soft margin at current column
56997049Speterdevice_type			devt	str	dv	-		-	-----	Indicate language/codeset support
57097049Spetercode_set_init			csin	str	ci	-		-	-----	Init sequence for multiple codesets
57197049Speterset0_des_seq			s0ds	str	s0	-		-	-----	Shift to codeset 0 (EUC set 0, ASCII)
57297049Speterset1_des_seq			s1ds	str	s1	-		-	-----	Shift to codeset 1
57397049Speterset2_des_seq			s2ds	str	s2	-		-	-----	Shift to codeset 2
57497049Speterset3_des_seq			s3ds	str	s3	-		-	-----	Shift to codeset 3
57597049Speterkey_mouse			kmous	str	Km	KEY_MOUSE	0631	-----	Mouse event has occurred
57697049Spetermouse_info			minfo	str	Mi	-		-	-----	Mouse status information
57797049Speterreq_mouse_pos			reqmp	str	RQ	-		-	-----	Request mouse position
57897049Speterget_mouse			getm	str	Gm	-		-	-----	Curses should get button events, parameter #1 not documented.
57997049Speterrelease_mouse			relm	str	Rm	-		-	-----	Curses should release the mouse */
58097049Spetercolor_names			colornm	str	Yw	-		-	-----	Give name for color #1
58197049Speterinitialize_color		initc	str	Ic	-		-	-----	initialize color #1 to (#2,#3,#4)
58297049Speterinitialize_pair			initp	str	Ip	-		-	-----	Initialize color pair #1 to fg=(#2,#3,#4), bg=(#5,#6,#7)
58397049Speterorig_colors			oc	str	oc	-		-	-----	Set all color pairs to the original ones
58497049Speterorig_pair			op	str	op	-		-	-----	Set default pair to its original value
58597049Speterset_a_background		setab	str	AB	-		-	-----	Set background color to #1, using ANSI escape
58697049Speterset_a_foreground		setaf	str	AF	-		-	-----	Set foreground color to #1, using ANSI escape
58797049Speterset_background			setb	str	Sb	-		-	-----	Set background color #1
58897049Speterset_color_pair			scp	str	sp	-		-	-----	Set current color pair to #1
58997049Speterset_foreground			setf	str	Sf	-		-	-----	Set foreground color #1
59097049Speter#%.TE
59197049Speter#%.ad
59297049Speter#%
59397049Speter# The magic token below tells the tic compiler-generator code that all the caps
59497049Speter# past it should be ignored (not written out) when dumping terminfo objects. It
59597049Speter# also tells the man page table generator not to pass through following lines
59697049Speter# This means we can have obsolete capabilities and pseudo-capabilities that are
59797049Speter# recognized for termcap or terminfo compilation, but not output.
59897049Speter#
59997049Speter# %%-STOP-HERE-%%
60097049Speter#
60197049Speter# Don't move this casually!  In fact, don't move it at all unless you're
60297049Speter# either doing it to add System V or XPG4 extensions, or have decided you
60397049Speter# don't care about SVr4 binary compatibility.
60497049Speter#
60597049Speter#############################################################################
60697049Speter#
60797049Speter# TERMCAP EXTENSION CAPABILITIES
60897049Speter#
60997049Speter# The capabilities below are either obsolete or extensions on certain systems.
61097049Speter# They are not used by SVR4 terminfo.  Some are used by captoinfo to translate
61197049Speter# termcap sources; the rest are listed for completeness, and in case somebody
61297049Speter# cares about them enough to hack in code that will translate them into
61397049Speter# terminfo capabilities.
61497049Speter#
61597049Speter# The first part of the list is from Ross Ridge's `mytinfo' package
61697049Speter# (comp.sources.unix, volume 26); the variable names and terminfo names (as
61797049Speter# well as the termcap codes) match his list.
61897049Speter#
61997049Speter# This group of codes is not marked obsolete in 4.4BSD, but have no direct
62097049Speter# terminfo equivalents.  The rs capability is specially translated to terminfo
62197049Speter# r2, and vice versa, if an entry does not already have an r2.  Similarly,
62297049Speter# i2 is translated to r3 if there is no r3 (because SV terminfo maps is to i2).
62397049Speter# The ug capability is thrown away, but assumed to be whatever sg is if the
62497049Speter# latter is nonzero and we're dumping in termcap format.
62597049Speter#
62697049Spetertermcap_init2			OTi2	str	i2	-		-	YB---	secondary initialization string
62797049Spetertermcap_reset			OTrs	str	rs	-		-	YB-G-	terminal reset string
62897049Spetermagic_cookie_glitch_ul		OTug	num	ug	-		-	YBCGE	number of blanks left by ul
62997049Speter#
63097049Speter# Obsolete termcap capabilities.  Some are used for termcap translation.  The
63197049Speter# code uses the 'OT' prefix we put on obsolete capabilities to suppress
63297049Speter# printing them in terminfo source dumps of compiled entries.
63397049Speter#
63497049Speterbackspaces_with_bs		OTbs	bool	bs	-		-	YBCGE	uses ^H to move left
63597049Spetercrt_no_scrolling		OTns	bool	ns	-		-	YBCG-	crt cannot scroll
63697049Speterno_correctly_working_cr		OTnc	bool	nc	-		-	YBCG-	no way to go to start of line
63797049Spetercarriage_return_delay		OTdC	num	dC	-		-	YB-G-	pad needed for CR
63897049Speternew_line_delay			OTdN	num	dN	-		-	YB-G-	pad needed for LF
63997049Speterlinefeed_if_not_lf		OTnl	str	nl	-		-	YBCGE	use to move down
64097049Speterbackspace_if_not_bs		OTbc	str	bc	-		-	YBCGE	move left, if not ^H
64197049Speter#
64297049Speter# GNU termcap library extensions.  The GNU termcap file distributed with
64397049Speter# Emacs no longer uses these, but MT showed up in pre-9.0 versions of the
64497049Speter# BSD termcap file.  The name clash with terminfo MT is resolved by type
64597049Speter# info; MT is converted to km.
64697049Speter#
64797049Spetergnu_has_meta_key		OTMT	bool	MT	-		-	----E	has meta key
64897049Speter# gnu_tab_width			OTtw	num	tw	-		-	----E	tab width in spaces
64997049Speter#
65097049Speter# GNU termcap *does* include the following extended capability,  Only the
65197049Speter# now-obsolete Ann Arbor terminals used it.
65297049Speter#
65397049Speter# gnu_change_scroll_region	OTcS	str	cS	-		-	---GE	alternate set scrolling region 
65497049Speter#
65597049Speter# The following comments describe capnames so ancient that I believe no
65697049Speter# software uses them any longer.  Some of these have to go because they
65797049Speter# clash with terminfo names in ways that cannot be resolved by type
65897049Speter# information.
65997049Speter#
66097049Speter# These mytinfo codes are not used in the 4.4BSD curses code.  They are
66197049Speter# marked obsolete in the 4.4BSD manual pages.
66297049Speter#
66397049Speter# There is one conflict with terminfo; ma is in both.  This conflict is
66497049Speter# resolved by type information.
66597049Speter#
66697049Speter# The `ko' capability is translated by special code.  It should contain a
66797049Speter# comma-separated list of capabilities for which there are corresponding keys.
66897049Speter# The `kn' code is accepted but ignored.
66997049Speter#
67097049Speter# The `ma' capability seems to have been designed to map between the rogue(2)
67197049Speter# motion keys (including jkhl) and characters emitted by arrow keys on some
67297049Speter# primitive pre-ANSI terminals.  It's so obsolete it's fossilized...
67397049Speter#
67497049Speter# Here is a description of memory_lock_above and memory_unlock:
67597049Speter# "You can 'freeze' data on the screen by turning on Memory Lock in a line of
67697049Speter# text.  All lines above the cursor's current line become locked in place on
67797049Speter# the screen.  Then enter data normally.  When the screen fills up, any
67897049Speter# further data entered forces the first line of unfrozen line text to scroll
67997049Speter# under the frozen data.  Lines scrolled off the screen are inserted into
68097049Speter# memory immediately preceding the first frozen line." (from the HP 700/96
68197049Speter# User's manual).  VT100/ANSI memory lock set is \E[>2h, reset is \E[>2l.
68297049Speter#
68397049Speter# Applications that use terminfo are supposed to behave as though xr is
68497049Speter# always true.
68597049Speter#
68697049Speterlinefeed_is_newline		OTNL	bool	NL	-		-	YB---	move down with \n
68797049Speter# even_parity			OTEP	bool	EP	-		-	-B---	terminal requires even parity
68897049Speter# odd_parity			OTOP	bool	OP	-		-	-B---	terminal requires odd parity
68997049Speter# half_duplex			OTHD	bool	HD	-		-	-B---	terminal is half-duplex
69097049Speter# lower_case_only		OTLC	bool	LC	-		-	-B---	terminal has only lower case
69197049Speter# upper_case_only		OTUC	bool	UC	-		-	-B---	terminal has only upper case
69297049Speterbackspace_delay			OTdB	num	dB	-		-	YB-G-	padding required for ^H
69397049Speter# form_feed_delay		OTdF	num	dF	-		-	-B-G-	padding required for ^L
69497049Speterhorizontal_tab_delay		OTdT	num	dT	-		-	YB-G-	padding required for ^I
69597049Speter# vertical_tab_delay		OTdV	num	dV	-		-	-B---	padding required for ^V
69697049Speternumber_of_function_keys		OTkn	num	kn	-		-	-B-G-	count of function keys
69797049Speterother_non_function_keys		OTko	str	ko	-		-	-B-G-	list of self-mapped keycaps
69897049Speterarrow_key_map			OTma	str	ma	-		-	YBC--	map arrow keys rogue(1) motion keys
69997049Speter# memory_lock_above		OTml	str	ml	-		-	-B---	lock visible screen memory above the current line
70097049Speter# memory_unlock			OTmu	str	mu	-		-	-B---	unlock visible screen memory above the current line
70197049Speterhas_hardware_tabs		OTpt	bool	pt	-		-	YB---	has 8-char tabs invoked with ^I
70297049Speterreturn_does_clr_eol		OTxr	bool	xr	-		-	YB---	return clears the line
70397049Speter# tek_4025_insert_line		OTxx	bool	xx	-		-	-BC--	Tektronix 4025 insert-line glitch
70497049Speter#
70597049Speter# mytinfo described this as a termcap capability, but it's not listed in the
70697049Speter# 4.4BSD man pages, and not found in the 4.4BSD termcap file.  The ncurses
70797049Speter# package, like System V, behaves as though it is always true.
70897049Speter#
70997049Speter# rind_only_at_top		OTxq	bool	xq	-		-	-----	reverse index only works from top line
71097049Speter#
71197049Speter# University of Waterloo termcap extensions (as described in mytinfo).
71297049Speter# The `xl' termcap file clashes with a terminfo name; this ambiguity cannot
71397049Speter# be resolved by a type check.  The descriptions are guesses from what was
71497049Speter# in the mytinfo tables. 
71597049Speter#
71697049Speter# key_interrupt_char		OTki	str	ki	-		-	-----	string set by interrupt key (?)
71797049Speter# key_kill_char			OTkk	str	kk	-		-	-----	string set by kill key (?)
71897049Speter# key_suspend_char		OTkz	str	kz	-		-	-----	string set by suspend key (?)
71997049Speter# initialization_messy		OTxc	bool	xc	-		-	-----	initialization leaves garbage on the screen (?)
72097049Speter# ind_at_bottom_does_cr		OTxl	bool	xl	-		-	-----	index does a carriage return
72197049Speter#
72297049Speter# Nonstandard capabilities unique to Ross Ridge's `mytinfo' package.
72397049Speter# SR clashes with a terminfo name; this ambiguity cannot be resolved by a type
72497049Speter# check.
72597049Speter#
72697049Speter# scroll_left			OTsl1	str	Sl	-		-	-----	scroll screen leftward
72797049Speter# scroll_right			OTsr1	str	Sr	-		-	-----	scroll screen rightward
72897049Speter# parm_scroll_left		OTsl	str	SL	-		-	-----	scroll screen leftward #1 characters
72997049Speter# parm_scroll_right		OTsr	str	SR	-		-	-----	scroll screen rightward #1 characters
73097049Speter#
73197049Speter# The mytinfo capabilities end here.
73297049Speter#
73397049Speter# XENIX extensions:
73497049Speter#
73597049Speter# Xenix defined its own set of forms-drawing capabilities:
73697049Speter#
73797049Speter# cap	IBM ASCII	description             ACS         	ASCII
73897049Speter# ---	-----------	--------------------    -------------	------
73997049Speter# G1	191 \277 M-?	single upper right   	ACS_URCORNER
74097049Speter# G2	218 \332 M-Z	single upper left	ACS_ULCORNER
74197049Speter# G3	192 \300 M-@	single lower left	ACS_LLCORNER
74297049Speter# G4	217 \331 M-Y	single lower right	ACS_LRCORNER
74397049Speter# G5	187 \273 M-;	double upper right
74497049Speter# G6	201 \311 M-I	double upper left
74597049Speter# G7	200 \310 M-H	double lower left
74697049Speter# G8	188 \274 M-<	double lower right
74797049Speter# GC	197 \305 M-E	single intersection	ACS_PLUS	_ _
74897049Speter# GD	194 \302 M-B	single down-tick	ACS_TTEE	 |
74997049Speter# GH	196 \304 M-D	single horizontal line	ACS_HLINE
75097049Speter# GL	180 \264 M-4	single left tick	ACS_RTEE	-|
75197049Speter# GR	195 \303 M-C	single right tick	ACS_LTEE	|-
75297049Speter# GU	193 \301 M-A	single up tick		ACS_BTEE	_|_
75397049Speter# GV	179 \263 M-3	single vertical line	ACS_VLINE
75497049Speter# Gc	206 \316 M-N	double intersection
75597049Speter# Gd	203 \313 M-K	double down tick
75697049Speter# Gh	205 \315 M-M	double horizontal line
75797049Speter# Gl	204 \204 M-L	double left tick
75897049Speter# Gr	185 \271 M-9	double right tick
75997049Speter# Gu	202 \312 M-J	double up tick
76097049Speter# Gv	186 \272 M-:	double vertical line
76197049Speter#
76297049Speter# The compiler will translate the single-line caps and discard the others
76397049Speter# (via IGNORE aliases further down).  We don't want to do normal pad 
76497049Speter# translation on these, they're often single-character printable ASCII
76597049Speter# strings that happen to be numerics.  There's awk code in parametrized.sh
76697049Speter# that detects the acs_ prefix and uses it to suppress pad translation.
76797049Speter# These terminfo names are invented.
76897049Speter#
76997049Speteracs_ulcorner			OTG2	str	G2	-		-	-----	single upper left
77097049Speteracs_llcorner			OTG3	str	G3	-		-	-----	single lower left
77197049Speteracs_urcorner			OTG1	str	G1	-		-	-----	single upper right
77297049Speteracs_lrcorner			OTG4	str	G4	-		-	-----	single lower right
77397049Speteracs_ltee			OTGR	str	GR	-		-	-----	tee pointing right
77497049Speteracs_rtee			OTGL	str	GL	-		-	-----	tee pointing left
77597049Speteracs_btee			OTGU	str	GU	-		-	-----	tee pointing up
77697049Speteracs_ttee			OTGD	str	GD	-		-	-----	tee pointing down
77797049Speteracs_hline			OTGH	str	GH	-		-	-----	single horizontal line
77897049Speteracs_vline			OTGV	str	GV	-		-	-----	single vertical line
77997049Speteracs_plus			OTGC	str	GC	-		-	-----	single intersection
78097049Speter#
78197049Speter#############################################################################
78297049Speter#
78397049Speter# TERMINFO EXTENSION CAPABILITIES
78497049Speter#
78597049Speter# This section is almost all comments.  What it's mainly for is to describe
78697049Speter# what capabilities need to be squeezed out to get down to the XSI Curses
78797049Speter# standard set.  They are flagged with K.
78897049Speter#
78997049Speter# HP extensions
79097049Speter#
79197049Speter# These extensions follow ptr_non (replacing everything after it) in HP
79297049Speter# terminfo files.  Except for memory_lock and memory_unlock, they are
79397049Speter# functionally identical to SVr4 extensions, but they make the binary format
79497049Speter# different.  Grrr....
79597049Speter#
796166124Srafanmemory_lock			meml	str	ml	-		-	----K	lock memory above cursor
797166124Srafanmemory_unlock			memu	str	mu	-		-	----K	unlock memory
79897049Speter#plab_norm			pln	str	pn	-		-	-----	program label #1 to show string #2
79997049Speter#label_on			smln	str	LO	-		-	-----	turn on soft labels
80097049Speter#label_off			rmln	str	LF	-		-	-----	turn off soft labels
80197049Speter#key_f11			kf11	str	F1	-		-	-----	F11 function key
80297049Speter#key_f12			kf12	str	F2	-		-	-----	F12 function key
80397049Speter#key_f13			kf13	str	F3	-		-	-----	F13 function key
80497049Speter#key_f14			kf14	str	F4	-		-	-----	F14 function key
80597049Speter#key_f15			kf15	str	F5	-		-	-----	F15 function key
80697049Speter#key_f16			kf16	str	F6	-		-	-----	F16 function key
80797049Speter#key_f17			kf17	str	F7	-		-	-----	F17 function key
80897049Speter#key_f18			kf18	str	F8	-		-	-----	F18 function key
80997049Speter#key_f19			kf19	str	F9	-		-	-----	F19 function key
81097049Speter#key_f20			kf20	str	FA	-		-	-----	F20 function key
81197049Speter#key_f21			kf21	str	FB	-		-	-----	F21 function key
81297049Speter#key_f22			kf22	str	FC	-		-	-----	F22 function key
81397049Speter#key_f23			kf23	str	FD	-		-	-----	F23 function key
81497049Speter#key_f24			kf24	str	FE	-		-	-----	F24 function key
81597049Speter#key_f25			kf25	str	FF	-		-	-----	F25 function key
81697049Speter#key_f26			kf26	str	FG	-		-	-----	F26 function key
81797049Speter#key_f27			kf27	str	FH	-		-	-----	F27 function key
81897049Speter#key_f28			kf28	str	FI	-		-	-----	F28 function key
81997049Speter#key_f29			kf29	str	FJ	-		-	-----	F29 function key
82097049Speter#key_f30			kf30	str	FK	-		-	-----	F30 function key
82197049Speter#key_f31			kf31	str	FL	-		-	-----	F31 function key
82297049Speter#key_f32			kf32	str	FM	-		-	-----	F32 function key
82397049Speter#key_f33			kf33	str	FN	-		-	-----	F33 function key
82497049Speter#key_f34			kf34	str	FO	-		-	-----	F34 function key
82597049Speter#key_f35			kf35	str	FP	-		-	-----	F35 function key
82697049Speter#key_f36			kf36	str	FQ	-		-	-----	F36 function key
82797049Speter#key_f37			kf37	str	FR	-		-	-----	F37 function key
82897049Speter#key_f38			kf38	str	FS	-		-	-----	F38 function key
82997049Speter#key_f39			kf39	str	FT	-		-	-----	F39 function key
83097049Speter#key_f40			kf40	str	FU	-		-	-----	F40 function key
83197049Speter#key_f41			kf41	str	FV	-		-	-----	F41 function key
83297049Speter#key_f42			kf42	str	FW	-		-	-----	F42 function key
83397049Speter#key_f43			kf43	str	FX	-		-	-----	F43 function key
83497049Speter#key_f44			kf44	str	FY	-		-	-----	F44 function key
83597049Speter#key_f45			kf45	str	FZ	-		-	-----	F45 function key
83697049Speter#key_f46			kf46	str	Fa	-		-	-----	F46 function key
83797049Speter#key_f47			kf47	str	Fb	-		-	-----	F47 function key
83897049Speter#key_f48			kf48	str	Fc	-		-	-----	F48 function key
83997049Speter#key_f49			kf49	str	Fd	-		-	-----	F49 function key
84097049Speter#key_f50			kf50	str	Fe	-		-	-----	F50 function key
84197049Speter#key_f51			kf51	str	Ff	-		-	-----	F51 function key
84297049Speter#key_f52			kf52	str	Fg	-		-	-----	F52 function key
84397049Speter#key_f53			kf53	str	Fh	-		-	-----	F53 function key
84497049Speter#key_f54			kf54	str	Fi	-		-	-----	F54 function key
84597049Speter#key_f55			kf55	str	Fj	-		-	-----	F55 function key
84697049Speter#key_f56			kf56	str	Fk	-		-	-----	F56 function key
84797049Speter#key_f57			kf57	str	Fl	-		-	-----	F57 function key
84897049Speter#key_f58			kf58	str	Fm	-		-	-----	F58 function key
84997049Speter#key_f59			kf59	str	Fn	-		-	-----	F59 function key
85097049Speter#key_f60			kf60	str	Fo	-		-	-----	F60 function key
85197049Speter#key_f61			kf61	str	Fp	-		-	-----	F61 function key
85297049Speter#key_f62			kf62	str	Fq	-		-	-----	F62 function key
85397049Speter#key_f63			kf63	str	Fr	-		-	-----	F63 function key
85497049Speter#
85597049Speter# IBM extensions
85697049Speter#
85797049Speter# These extensions follow ptr_non (replacing everything after it) in IBM
85897049Speter# terminfo files.
85997049Speter#
86097049Speter# The places in the box[12] capabilities correspond to acsc characters, here is
86197049Speter# the mapping:
86297049Speter#
86397049Speter#	box1[0]  = ACS_ULCORNER
86497049Speter#	box1[1]  = ACS_HLINE	
86597049Speter#	box1[2]  = ACS_URCORNER
86697049Speter#	box1[3]  = ACS_VLINE
86797049Speter#	box1[4]  = ACS_LRCORNER
86897049Speter#	box1[5]  = ACS_LLCORNER
86997049Speter#	box1[6]  = ACS_TTEE
87097049Speter#	box1[7]  = ACS_RTEE
87197049Speter#	box1[8]  = ACS_BTEE
87297049Speter#	box1[9]  = ACS_LTEE
87397049Speter#	box1[10] = ACS_PLUS
87497049Speter#
87597049Speter# The box2 characters are the double-line versions of these forms graphics.
87697049Speter#
87797049Speterbox_chars_1			box1	str	bx	-		-	----K	box characters primary set
87897049Speter#box_chars_2			box2	str	by	-		-	----K	box characters secondary set
87997049Speter#box_attr_1			batt1	str	Bx	-		-	----K	attributes for box1
88097049Speter#box_attr_2			batt2	str	By	-		-	----K	attributes for box2
88197049Speter#color_bg_0			colb0	str	d0	-		-	----K	background color 0
88297049Speter#color_bg_1			colb1	str	d1	-		-	----K	background color 1
88397049Speter#color_bg_2			colb2	str	d2	-		-	----K	background color 2
88497049Speter#color_bg_3			colb3	str	d3	-		-	----K	background color 3
88597049Speter#color_bg_4			colb4	str	d4	-		-	----K	background color 4
88697049Speter#color_bg_5			colb5	str	d5	-		-	----K	background color 5
88797049Speter#color_bg_6			colb6	str	d6	-		-	----K	background color 6
88897049Speter#color_bg_7			colb7	str	d7	-		-	----K	background color 7
88997049Speter#color_fg_0			colf0	str	c0	-		-	----K	foreground color 0
89097049Speter#color_fg_1			colf1	str	c1	-		-	----K	foreground color 1
89197049Speter#color_fg_2			colf2	str	c2	-		-	----K	foreground color 2
89297049Speter#color_fg_3			colf3	str	c3	-		-	----K	foreground color 3
89397049Speter#color_fg_4			colf4	str	c4	-		-	----K	foreground color 4
89497049Speter#color_fg_5			colf5	str	c5	-		-	----K	foreground color 5
89597049Speter#color_fg_6			colf6	str	c6	-		-	----K	foreground color 6
89697049Speter#color_fg_7			colf7	str	c7	-		-	----K	foreground color 7
89797049Speter#font_0				font0	str	f0	-		-	-----	select font 0
89897049Speter#font_1				font1	str	f1	-		-	-----	select font 1
89997049Speter#font_2				font2	str	f2	-		-	-----	select font 2
90097049Speter#font_3				font3	str	f3	-		-	-----	select font 3
90197049Speter#font_4				font4	str	f4	-		-	----K	select font 4
90297049Speter#font_5				font5	str	f5	-		-	----K	select font 5
90397049Speter#font_6				font6	str	f6	-		-	----K	select font 6
90497049Speter#font_7				font7	str	f7	-		-	----K	select font 7
90597049Speter#key_back_tab			kbtab	str	k0	-		-	-----	backtab key
90697049Speter#key_do				kdo	str	ki	-		-	----K	do request key
90797049Speter#key_command			kcmd	str	kd	-		-	----K	command-request key
90897049Speter#key_command_pane		kcpn	str	kW	-		-	----K	command-pane key
90997049Speter#key_end			kend	str	kw	-		-	-----	end key
91097049Speter#key_help			khlp	str	kq	-		-	-----	help key
91197049Speter#key_newline			knl	str	nl	-		-	----K	newline key
91297049Speter#key_next_pane			knpn	str	kv	-		-	----K	next-pane key
91397049Speter#key_prev_cmd			kppn	str	kp	-		-	----K	previous-command key
91497049Speter#key_prev_pane			kppn	str	kV	-		-	----K	previous-pane key
91597049Speter#key_quit			kquit	str	kQ	-		-	----K	quit key
91697049Speter#key_select			ksel	str	kU	-		-	-----	select key
91797049Speter#key_scroll_left		kscl	str	kz	-		-	----K	scroll left
91897049Speter#key_scroll_right		kscr	str	kZ	-		-	----K	scroll right
91997049Speter#key_tab			ktab	str	ko	-		-	----K	tab key
92097049Speter#key_smap_in1			kmpf1	str	Kv	-		-	----K	special mapped key 1 input
92197049Speter#key_smap_out1			kmpt1	str	KV	-		-	----K	special mapped key 1 output
92297049Speter#key_smap_in2			kmpf2	str	Kw	-		-	----K	special mapped key 2 input
92397049Speter#key_smap_out2			kmpt2	str	KW	-		-	----K	special mapped key 2 output
92497049Speter#key_smap_in3			kmpf3	str	Kx	-		-	----K	special mapped key 3 input
92597049Speter#key_smap_out3			kmpt3	str	KX	-		-	----K	special mapped key 3 output
92697049Speter#key_smap_in4			kmpf4	str	Ky	-		-	----K	special mapped key 4 input
92797049Speter#key_smap_out4			kmpt4	str	KY	-		-	----K	special mapped key 4 output
92897049Speter#key_smap_in5			kmpf5	str	Kz	-		-	----K	special mapped key 5 input
92997049Speter#key_smap_out5			kmpt5	str	KZ	-		-	----K	special mapped key 5 output
93097049Speter#appl_defined_str		apstr	str	za	-		-	----K	application-defined string
93197049Speter# The key_smap_in[6789] and key_smap_out[6789] capabilities aren't described in
93297049Speter# the IBM manual pages, so the cap name strings are guesses.  The terminfo
93397049Speter# names are almost certainly right, the termcap ones almost certainly wrong.
93497049Speter#key_smap_in6			kmpf6	str	k!	-		-	----K	special mapped key 6 input
93597049Speter#key_smap_out6			kmpt6	str	K@	-		-	----K	special mapped key 6 output
93697049Speter#key_smap_in7			kmpf7	str	k#	-		-	----K	special mapped key 7 input
93797049Speter#key_smap_out7			kmpt7	str	K$	-		-	----K	special mapped key 7 output
93897049Speter#key_smap_in8			kmpf8	str	k%	-		-	----K	special mapped key 8 input
93997049Speter#key_smap_out8			kmpt8	str	K^	-		-	----K	special mapped key 8 output
94097049Speter#key_smap_in9			kmpf9	str	k&	-		-	----K	special mapped key 9 input
94197049Speter#key_smap_out9			kmpt9	str	K*	-		-	----K	special mapped key 9 output
94297049Speter# Undocumented capabilities end here
94397049Speter#key_sf1			ksf1	str	S1	-		-	----K	special function key 1
94497049Speter#key_sf2			ksf2	str	S2	-		-	----K	special function key 2
94597049Speter#key_sf3			ksf3	str	S3	-		-	----K	special function key 3
94697049Speter#key_sf4			ksf4	str	S4	-		-	----K	special function key 4
94797049Speter#key_sf5			ksf5	str	S5	-		-	----K	special function key 5
94897049Speter#key_sf6			ksf6	str	S6	-		-	----K	special function key 6
94997049Speter#key_sf7			ksf7	str	S7	-		-	----K	special function key 7
95097049Speter#key_sf8			ksf8	str	S8	-		-	----K	special function key 8
95197049Speter#key_sf9			ksf9	str	S9	-		-	----K	special function key 9
95297049Speter#key_sf10			ksf10	str	SA	-		-	----K	special function key 10
95397049Speter# AIX version 3 documents different codes for F11, F12 and does not mention
95497049Speter# F13-F64.  AIX version 4 uses the same naming for F0-F63 as above.
95597049Speter#key_f11			kf11	str	k<	-		-	-----	function key 11
95697049Speter#key_f12			kf12	str	k>	-		-	-----	function key 12
95797049Speter# Undocumented capabilities end here.
95897049Speter#key_action			kact	str	kJ	-		-	----K	sent by action key
95997049Speter# The IBM docs say these capabilities are for table-drawing, and are
96097049Speter# valid only for aixterm descriptions.
96197049Speter#enter_topline_mode		topl	str	tp	-		-	----K	start top-line mode
96297049Speter#enter_bottom_mode		btml	str	bm	-		-	----K	start bottom-line mode
96397049Speter#enter_rvert_mode		rvert	str	rv	-		-	----K	start right-vertical mode
96497049Speter#enter_lvert_mode		lvert	str	lv	-		-	----K	start left-vertical mode
96597049Speter#
96697049Speter#############################################################################
96797049Speter#
96897049Speter# ALIAS DECLARATIONS
96997049Speter#
97097049Speter# Here we set up aliases for translating extensions into standard terminfo.
97197049Speter#
97297049Speter#---------------------------------- Termcap aliases -------------------------
97397049Speter#
97497049Speter# BSD aliases:
97597049Speter#
97697049Speter# This is a common error in many termcap files.  We'll get notified during
97797049Speter# translation when this (or any other alias) fires.
97897049Speter#
97997049Spetercapalias	sb	sr	BSD	scroll text down
98097049Speter#
98197049Speter# AT&T extensions:
98297049Speter#
98397049Speter# The old AT&T 5410, 5420, 5425, pc6300plus, 610, and s4 entries used a set of
98497049Speter# nonstandard capabilities.  Its signature is the KM capability, used to name
98597049Speter# some sort of keymap file.  EE, BO, CI, CV, XS, DS, FL and FE are in this
98697049Speter# set.  Comments in the original, and a little cross-checking with other AT&T
98797049Speter# documentation, seem to establish the following mappings:
98897049Speter#
98997049Spetercapalias	BO	mr	AT&T	enter_reverse_mode
99097049Spetercapalias	CI	vi	AT&T	cursor_invisible
99197049Spetercapalias	CV	ve	AT&T	cursor_normal
99297049Spetercapalias	DS	mh	AT&T	enter_dim_mode
99397049Speter#capalias	EE	me	AT&T	exit_attribute_mode	
99497049Spetercapalias	FE	LF	AT&T	label_on
99597049Spetercapalias	FL	LO	AT&T	label_off
99697049Spetercapalias	XS	mk	AT&T	enter_secure_mode
99797049Speter#
99897049Speter# We comment out EE because the conflicting XENIX EE is more common in 
99997049Speter# old entries.
100097049Speter#
100197049Speter# XENIX extensions:
100297049Speter#
100397049Speter# These are the ones we know how to translate directly:
100497049Speter#
100597049Spetercapalias	EE	mh	XENIX	exit_attribute_mode	
100697049Spetercapalias	GE	ae	XENIX	exit_alt_charset_mode
100797049Spetercapalias	GS	as	XENIX	enter_alt_charset_mode
100897049Spetercapalias	CF	vi	XENIX	cursor_invis
100997049Spetercapalias	CO	ve	XENIX	cursor_normal
101097049Spetercapalias	EN	@7	XENIX	key_end
101197049Spetercapalias	HM	kh	XENIX	key_home
101297049Spetercapalias	LD	kL	XENIX	key_dl
101397049Spetercapalias	PD	kN	XENIX	key_npage
101497049Spetercapalias	PN	po	XENIX	prtr_off
101597049Spetercapalias	PS	pf	XENIX	prtr_on
101697049Spetercapalias	PU	kP	XENIX	key_ppage
101797049Spetercapalias	RT	@8	XENIX	kent
101897049Spetercapalias	UP	ku	XENIX	kcuu1
101997049Spetercapalias	G6	IGNORE	XENIX	double-ACS_ULCORNER
102097049Spetercapalias	G7	IGNORE	XENIX	double-ACS_LLCORNER
102197049Spetercapalias	G5	IGNORE	XENIX	double-ACS_URCORNER
102297049Spetercapalias	G8	IGNORE	XENIX	double-ACS_LRCORNER
102397049Spetercapalias	Gr	IGNORE	XENIX	double-ACS_LTEE
102497049Spetercapalias	Gr	IGNORE	XENIX	double-ACS_RTEE
102597049Spetercapalias	Gu	IGNORE	XENIX	double-ACS_BTEE
102697049Spetercapalias	Gd	IGNORE	XENIX	double ACS_TTEE
102797049Spetercapalias	Gh	IGNORE	XENIX	double-ACS_HLINE
102897049Spetercapalias	Gv	IGNORE	XENIX	double-ACS_VLINE
102997049Spetercapalias	Gc	IGNORE	XENIX	double-ACS_PLUS
103097049Spetercapalias	GG	IGNORE	XENIX	acs-glitch
103197049Speter#
103297049Speter# IBM extensions:
103397049Speter#
103497049Spetercapalias	kq	%1	IBM	key_help
103597049Speter#
103697049Speter# Iris extensions:
103797049Speter#
103897049Spetercapalias	HS	mh	IRIS	enter_dim_mode
103997049Speter#
104097049Speter# Tektronix extensions:
104197049Speter#
104297049Spetercapalias	KA	k;	Tek	key_f10
104397049Spetercapalias	KB	F1	Tek	key_f11
104497049Spetercapalias	KC	F2	Tek	key_f12
104597049Spetercapalias	KD	F3	Tek	key_f13
104697049Spetercapalias	KE	F4	Tek	key_f14
104797049Spetercapalias	KF	F5	Tek	key_f15
104897049Spetercapalias	BC	Sb	Tek	set_background
104997049Spetercapalias	FC	Sf	Tek	set_foreground
105097049Speter#
105197049Speter# There are also the following:
105297049Speter#
105397049Speter#	XENIX	XENIX variable name	name clash with terminfo?
105497049Speter#	-----	-------------------	-------------------------
105597049Speter#	CL	key_char_left
105697049Speter#	CR	key_char_right
105797049Speter#	CW	key_change_window
105897049Speter#	HP	??
105997049Speter#	LF	key_linefeed 		label_off
106097049Speter#	NU	key_next_unlocked_cell
106197049Speter#	PL	??
106297049Speter#	PR	??
106397049Speter#	RC	key_recalc		remove_clock
106497049Speter#	RF	key_toggle_ref		req_for_input
106597049Speter#	WL	key_word_left
106697049Speter#	WR	key_word_right
106797049Speter#
106897049Speter# If you know what any of the question-marked ones mean, please tell us.
106997049Speter#
107097049Speter#--------------------------------- Terminfo aliases ------------------------
107197049Speter#
107297049Speter# IBM extensions:
107397049Speter#
107497049Speterinfoalias	font0	s0ds	IBM	set0_des_seq
107597049Speterinfoalias	font1	s1ds	IBM	set1_des_seq
107697049Speterinfoalias	font2	s2ds	IBM	set2_des_seq
107797049Speterinfoalias	font3	s3ds	IBM	set3_des_seq
107897049Speterinfoalias	kbtab	kcbt	IBM	key_backtab
107997049Speterinfoalias	ksel	kslt	IBM	key_select
108097049Speter#
108197049Speter# Some others are identical to SVr4/XPG4 capabilities, in particular:
108297049Speter# kcmd, kend, khlp, and kf11...kf63.
108397049Speter#
108497049Speter#############################################################################
108597049Speter#
108697049Speter# The following sets edit modes for GNU EMACS
108797049Speter# Local Variables:
108897049Speter# case-fold-search:nil
108997049Speter# truncate-lines:t
109097049Speter# End:
1091