1##############################################################################
2# Copyright (c) 2001-2002,2006 Free Software Foundation, Inc.                #
3#                                                                            #
4# Permission is hereby granted, free of charge, to any person obtaining a    #
5# copy of this software and associated documentation files (the "Software"), #
6# to deal in the Software without restriction, including without limitation  #
7# the rights to use, copy, modify, merge, publish, distribute, distribute    #
8# with modifications, sublicense, and/or sell copies of the Software, and to #
9# permit persons to whom the Software is furnished to do so, subject to the  #
10# following conditions:                                                      #
11#                                                                            #
12# The above copyright notice and this permission notice shall be included in #
13# all copies or substantial portions of the Software.                        #
14#                                                                            #
15# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR #
16# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,   #
17# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL    #
18# THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER      #
19# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING    #
20# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER        #
21# DEALINGS IN THE SOFTWARE.                                                  #
22#                                                                            #
23# Except as contained in this notice, the name(s) of the above copyright     #
24# holders shall not be used in advertising or otherwise to promote the sale, #
25# use or other dealings in this Software without prior written               #
26# authorization.                                                             #
27##############################################################################
28#
29# Author: Thomas Dickey
30#    and: Ilya Zakharevich
31#
32# $Id: Caps.keys,v 1.3 2006/05/27 15:33:04 tom Exp $
33#
34# This is an adaptation of ncurses' termcap/terminfo capability table, which
35# is illustrates an experimental extension to describe alt-, shift- and
36# control-modifiers applied to function and normal keys, as done on IBM pc's.
37#
38# This table is used to generate initializers for tables that drive tic,
39# infocmp, and the library compilation code used to support the termcap 
40# compatibility hack.  It is also used to generate the tabular portion of the
41# terminfo(5) man page; lines beginning with `#%' are passed through to become
42# the terminfo table.
43#
44# This file has three major sections; a standard-capabilities table, two
45# extension-capability tables, and a section of aliases declarations.
46# The first two have the same format, as follows:
47#
48# FILE FORMAT
49#
50# Column 1: terminfo variable name
51# Column 2: terminfo capability name
52# Column 3: capability type (boolean, numeric, or string)
53# Column 4: termcap capability name
54# Column 5: KEY_xxx name, if any, `-' otherwise
55# Column 6: value for KEY_xxx name, if any, `-' otherwise
56# Column 7: Lead with `Y' if capability should be emitted in termcap
57#           translations, `-' otherwise
58# Column 8: capability description
59#
60# The codes following [Y-] in column 7 describe the versions of termcap which
61# use the given capability.  This information is not used by the curses library
62# proper; rather, it's there to help the terminfo maintainer avoid emitting
63# termcap entry translations that are more than 1023 bytes long (and tank a
64# lot of old termcap-using programs).  The codes read as follows:
65#	B = mentioned in the BSD man page for 4.4BSD curses
66#	C = used by the 4.4BSD curses library
67#	G = mentioned in the documentation for GNU termcap
68#	E = used by GNU Emacs
69#	K = remove this terminfo capability when translating to standard format
70# The important codes are C and E.  A cap with C or E should be preserved in
71# translation if possible.  The problem is that preserving all such caps may
72# lead to some termcap translations being too long.  The termcap maintainer
73# has a bit of a juggling act to do...potential problem cases are marked with
74# an asterisk (*).
75#
76# The aliases section has the following format:
77#
78# Column 1: either `capalias' or `infoalias'
79# Column 2: name to be aliased
80# Column 3: what name it should translate to.  The name IGNORE means it
81#           should be discarded with a warning message.
82# Column 4: name of the extension set (used for compiler warning messages)
83# Column 5: capability description (usually an associated terminfo variable)
84#
85# HANDLING TERMCAP AND TERMINFO EXTENSIONS
86#
87# There are basically five different ways to handle termcap and terminfo
88# extensions:
89#
90# 1. Don't list the capname here, or list it but comment it out (the latter
91# is preferable; someone might want to handle it in the future).  If you do
92# this, the capability will be treated as unknown and raise a warning from
93# the compiler.
94#
95# 2. Alias it.  This is appropriate if the capability has the same meaning
96# as an already-supported one.  The compiler will handle aliasing, emitting
97# an appropriate informational message whenever an alias fires.
98#
99# 3. List it in the standard table.  You almost certainly do *not* want
100# to do this -- the capabilities in that one, and their order, have been
101# carefully chosen to be SVr4-binary-compatible when they're written out
102# as a terminfo object, and breaking this would be bad.  It's up the ncurses
103# library what to do with the terminfo data after it's read in.
104#
105# 4. List it in the aliases table with an IGNORE target field.  If you
106# do this, the capability will be ignored on input (though the user will
107# get a warning message about it).
108#
109# 5. List it in the extensions table. If you do this, the compiler will
110# silently accept the capability, but the curses library proper will never
111# see it (because it won't be written out as part of the terminfo object
112# format).  It's up to you what you have the compiler do with it.
113#
114# There are two opposite reasons to choose option 5.  One is when you want
115# to eat the capability silently and discard it when doing translations
116# to terminfo with tic -I.  Some very old obsolete BSD caps like :kn: are
117# in this class.  Nothing will ever use them again.
118#
119# More usually, you want the compiler to try to deduce something from the
120# capability value that it can use to translate it into your output format.
121# You'll need to write custom code, probably in postprocess_termcap() or
122# postprocess_terminfo(), to handle the translation.
123#
124# CONTROLLING ENTRY LENGTH 
125#
126# Notes on specific elisions made to fit translations within 1023 bytes:
127#
128# Machines with IBM PC-like keyboards want to be able to define the following
129# keys: key_npage, key_ppage, key_home, key_ll (which is used for in termcap-
130# only environments for End or Home-Down), key_dc, and key_ic.  This is also
131# the set of keys the `joe' editor will be upset if it can't see.  So don't 
132# trim those out of the set to be translated to termcap, or various users of
133# the termcap file will become irate.
134#
135# It might look tempting to leave those long init strings out of translations.
136# We can't do it (yet); 4.4BSD tput and tset use them.
137#
138# We retain the sgr capability in translation in spite of the fact that neither
139# 4.4BSD nor GNU Emacs uses it, because (a) some entry naming distinctions are
140# hard to understand without it, and (b) the entries in which it is long tend
141# to be older types that don't use up a lot of string space on function keys.
142# The tic(1) translation code will complain and elide it if it makes a critical
143# difference (there is special code in tic to recognize this situation).
144#
145# Yes, BSD tset(1) uses hpa.  We elide hpa/vpa anyway because the motion
146# optimizer in BSD curses didn't use them.  This omission seems to be the
147# single most effective one, it shortened the resolved length of all thirteen
148# problem entries in the 9.9.0 version of the terminfo master below critical.
149#
150# It would be nice to keep f11 and f12 for Emacs use, but a couple of termcap
151# translations go back over critical if we do this.  As 4.4BSD curses fades
152# into history and GNU termcap's application base shrinks towards being GNU 
153# Emacs only, we'll probably elide out some BSD-only capabilities in order
154# to buy space for non-essentials Emacs is still using.  Capabilities high
155# on that hit list: rc, sc, uc.
156#
157#############################################################################
158#
159# STANDARD CAPABILITIES
160#
161#%The following is a complete table of the capabilities included in a
162#%terminfo description block and available to terminfo-using code.  In each
163#%line of the table,
164#%
165#%The \fBvariable\fR is the name by which the programmer (at the terminfo level)
166#%accesses the capability.
167#%
168#%The \fBcapname\fR is the short name used in the text of the database,
169#%and is used by a person updating the database.
170#%Whenever possible, capnames are chosen to be the same as or similar to
171#%the ANSI X3.64-1979 standard (now superseded by ECMA-48, which uses 
172#%identical or very similar names).  Semantics are also intended to match
173#%those of the specification.
174#%
175#%The termcap code is the old
176#%.B termcap
177#%capability name (some capabilities are new, and have names which termcap
178#%did not originate).
179#%.P
180#%Capability names have no hard length limit, but an informal limit of 5
181#%characters has been adopted to keep them short and to allow the tabs in
182#%the source file
183#%.B Caps
184#%to line up nicely.
185#%
186#%Finally, the description field attempts to convey the semantics of the
187#%capability.  You may find some codes in the description field:
188#%.TP
189#%(P)
190#%indicates that padding may be specified
191#%.TP
192#%#[1-9]
193#%in the description field indicates that the string is passed through tparm with
194#%parms as given (#\fIi\fP).
195#%.TP
196#%(P*)
197#%indicates that padding may vary in proportion to the number of
198#%lines affected
199#%.TP
200#%(#\d\fIi\fP\u)
201#%indicates the \fIi\fP\uth\d parameter.
202#%
203#%.PP
204#% These are the boolean capabilities:
205#%
206#%.na
207#%.TS H
208#%center expand;
209#%c l l c
210#%c l l c
211#%lw25 lw6 lw2 lw20.
212#%\fBVariable	Cap-	TCap	Description\fR
213#%\fBBooleans	name	Code\fR
214auto_left_margin		bw	bool	bw	-	-	YB-G-	cub1 wraps from column 0 to last column
215auto_right_margin		am	bool	am	-	-	YBCGE	terminal has automatic margins
216no_esc_ctlc			xsb	bool	xb	-	-	YBCG-	beehive (f1=escape, f2=ctrl C)
217ceol_standout_glitch		xhp	bool	xs	-	-	YBCGE	standout not erased by overwriting (hp)
218eat_newline_glitch		xenl	bool	xn	-	-	YBCGE	newline ignored after 80 cols (concept)
219erase_overstrike		eo	bool	eo	-	-	YBCG-	can erase overstrikes with a blank
220generic_type			gn	bool	gn	-	-	YB-G-	generic line type
221hard_copy			hc	bool	hc	-	-	YBCG-	hardcopy terminal
222has_meta_key			km	bool	km	-	-	YB-GE	Has a meta key (i.e., sets 8th-bit)
223has_status_line			hs	bool	hs	-	-	YB-G-	has extra status line
224insert_null_glitch		in	bool	in	-	-	YBCGE	insert mode distinguishes nulls
225memory_above			da	bool	da	-	-	YBCG-	display may be retained above the screen
226memory_below			db	bool	db	-	-	YB-GE	display may be retained below the screen
227move_insert_mode		mir	bool	mi	-	-	YBCGE	safe to move while in insert mode
228move_standout_mode		msgr	bool	ms	-	-	YBCGE	safe to move while in standout mode
229over_strike			os	bool	os	-	-	YBCG-	terminal can overstrike
230status_line_esc_ok		eslok	bool	es	-	-	YB-G-	escape can be used on the status line
231dest_tabs_magic_smso		xt	bool	xt	-	-	YBCGE	tabs destructive, magic so char (t1061)
232tilde_glitch			hz	bool	hz	-	-	YB-GE	can't print ~'s (hazeltine)
233transparent_underline		ul	bool	ul	-	-	YBCGE	underline character overstrikes
234xon_xoff			xon	bool	xo	-	-	YB---	terminal uses xon/xoff handshaking
235needs_xon_xoff			nxon	bool	nx	-	-	-----	padding won't work, xon/xoff required
236prtr_silent			mc5i	bool	5i	-	-	-----	printer won't echo on screen
237hard_cursor			chts	bool	HC	-	-	-----	cursor is hard to see
238non_rev_rmcup			nrrmc	bool	NR	-	-	-----	smcup does not reverse rmcup
239no_pad_char			npc	bool	NP	-	-	-----	pad character does not exist
240non_dest_scroll_region		ndscr	bool	ND	-	-	-----	scrolling region is non-destructive
241can_change			ccc	bool	cc	-	-	-----	terminal can re-define existing colors
242back_color_erase		bce	bool	ut	-	-	-----	screen erased with background color
243hue_lightness_saturation	hls	bool	hl	-	-	-----	terminal uses only HLS color notation (Tektronix)
244col_addr_glitch			xhpa	bool	YA	-	-	-----	only positive motion for hpa/mhpa caps
245cr_cancels_micro_mode		crxm	bool	YB	-	-	-----	using cr turns off micro mode
246has_print_wheel			daisy	bool	YC	-	-	-----	printer needs operator to change character set
247row_addr_glitch			xvpa	bool	YD	-	-	-----	only positive motion for vpa/mvpa caps
248semi_auto_right_margin		sam	bool	YE	-	-	-----	printing in last column causes cr
249cpi_changes_res			cpix	bool	YF	-	-	-----	changing character pitch changes resolution
250lpi_changes_res			lpix	bool	YG	-	-	-----	changing line pitch changes resolution
251#%.TE
252#%.ad
253#%
254#%These are the numeric capabilities:
255#%
256#%.na
257#%.TS H
258#%center expand;
259#%c l l c
260#%c l l c
261#%lw25 lw6 lw2 lw20.
262#%\fBVariable	Cap-	TCap	Description\fR
263#%\fBNumeric	name	Code\fR
264columns				cols	num	co	-	-	YBCGE	number of columns in a line
265init_tabs			it	num	it	-	-	YB-G-	tabs initially every # spaces
266lines				lines	num	li	-	-	YBCGE	number of lines on screen or page
267lines_of_memory			lm	num	lm	-	-	YB-G-	lines of memory if > line. 0 means varies
268magic_cookie_glitch		xmc	num	sg	-	-	YBCGE	number of blank characters left by smso or rmso
269padding_baud_rate		pb	num	pb	-	-	YB-GE	lowest baud rate where padding needed
270virtual_terminal		vt	num	vt	-	-	YB---	virtual terminal number (CB/unix)
271width_status_line		wsl	num	ws	-	-	YB-G-	number of columns in status line
272num_labels			nlab	num	Nl	-	-	-----	number of labels on screen
273label_height			lh	num	lh	-	-	-----	rows in each label
274label_width			lw	num	lw	-	-	-----	columns in each label
275max_attributes			ma	num	ma	-	-	YBC--	maximum combined attributes terminal can handle
276maximum_windows			wnum	num	MW	-	-	-----	maximum number of defineable windows
277# These came in with SVr4's color support
278max_colors			colors	num	Co	-	-	-----	maximum number of colors on screen
279max_pairs			pairs	num	pa	-	-	-----	maximum number of color-pairs on the screen
280no_color_video			ncv	num	NC	-	-	-----	video attributes that can't be used with colors
281#%.TE
282#%.ad
283#%
284#%The following numeric capabilities are present in the SVr4.0 term structure,
285#%but are not yet documented in the man page.  They came in with SVr4's
286#%printer support.
287#%
288#%.na
289#%.TS H
290#%center expand;
291#%c l l c
292#%c l l c
293#%lw25 lw6 lw2 lw20.
294#%\fBVariable	Cap-	TCap	Description\fR
295#%\fBNumeric	name	Code\fR
296buffer_capacity			bufsz	num	Ya	-	-	-----	numbers of bytes buffered before printing
297dot_vert_spacing		spinv	num	Yb	-	-	-----	spacing of pins vertically in pins per inch
298dot_horz_spacing		spinh	num	Yc	-	-	-----	spacing of dots horizontally in dots per inch
299max_micro_address		maddr	num	Yd	-	-	-----	maximum value in micro_..._address
300max_micro_jump			mjump	num	Ye	-	-	-----	maximum value in parm_..._micro
301micro_col_size			mcs	num	Yf	-	-	-----	character step size when in micro mode
302micro_line_size			mls	num	Yg	-	-	-----	line step size when in micro mode
303number_of_pins			npins	num	Yh	-	-	-----	numbers of pins in print-head
304output_res_char			orc	num	Yi	-	-	-----	horizontal resolution in units per line
305output_res_line			orl	num	Yj	-	-	-----	vertical resolution in units per line
306output_res_horz_inch		orhi	num	Yk	-	-	-----	horizontal resolution in units per inch
307output_res_vert_inch		orvi	num	Yl	-	-	-----	vertical resolution in units per inch
308print_rate			cps	num	Ym	-	-	-----	print rate in characters per second
309wide_char_size			widcs	num	Yn	-	-	-----	character step size when in double wide mode
310buttons				btns	num	BT	-	-	-----	number of buttons on mouse
311bit_image_entwining		bitwin	num	Yo	-	-	-----	number of passes for each bit-image row
312bit_image_type			bitype	num	Yp	-	-	-----	type of bit-image device
313#%.TE
314#%.ad
315#%
316#%These are the string capabilities:
317#%
318#%.na
319#%.TS H
320#%center expand;
321#%c l l c
322#%c l l c
323#%lw25 lw6 lw2 lw20.
324#%\fBVariable	Cap-	TCap	Description\fR
325#%\fBString	name	Code\fR
326back_tab			cbt	str	bt	-		-	YBCGE	back tab (P)
327bell				bel	str	bl	-		-	YB-GE	audible signal (bell) (P)
328carriage_return			cr	str	cr	-		-	YBCGE	carriage return (P*) (P*)
329change_scroll_region		csr	str	cs	-		-	YBCGE	change region to line #1 to line #2 (P)
330clear_all_tabs			tbc	str	ct	-		-	YB-G-	clear all tab stops (P)
331clear_screen			clear	str	cl	-		-	YBCGE	clear screen and home cursor (P*)
332clr_eol				el	str	ce	-		-	YBCGE	clear to end of line (P)
333clr_eos				ed	str	cd	-		-	YBCGE	clear to end of screen (P*)
334column_address			hpa	str	ch	-		-	-B-GE*	horizontal position #1, absolute (P)
335command_character		cmdch	str	CC	-		-	YB-G-	terminal settable cmd character in prototype !?
336cursor_address			cup	str	cm	-		-	YBCGE	move to row #1 columns #2
337cursor_down			cud1	str	do	-		-	YBCGE	down one line
338cursor_home			home	str	ho	-		-	YBCGE	home cursor (if no cup)
339cursor_invisible		civis	str	vi	-		-	YB-G-	make cursor invisible
340cursor_left			cub1	str	le	-		-	YBCGE	move left one space
341cursor_mem_address		mrcup	str	CM	-		-	YB-G-	memory relative cursor addressing, move to row #1 columns #2
342cursor_normal			cnorm	str	ve	-		-	YBCGE	make cursor appear normal (undo civis/cvvis)
343cursor_right			cuf1	str	nd	-		-	YBCGE	non-destructive space (move right one space)
344cursor_to_ll			ll	str	ll	-		-	YBCGE	last line, first column (if no cup)
345cursor_up			cuu1	str	up	-		-	YBCGE	up one line
346cursor_visible			cvvis	str	vs	-		-	YBCGE	make cursor very visible
347delete_character		dch1	str	dc	-		-	YBCGE	delete character (P*)
348delete_line			dl1	str	dl	-		-	YBCGE	delete line (P*)
349dis_status_line			dsl	str	ds	-		-	YB-G-	disable status line
350down_half_line			hd	str	hd	-		-	YB-G-	half a line down
351enter_alt_charset_mode		smacs	str	as	-		-	YB-G-	start alternate character set (P)
352enter_blink_mode		blink	str	mb	-		-	YB-G-	turn on blinking
353enter_bold_mode			bold	str	md	-		-	YB-G-	turn on bold (extra bright) mode
354enter_ca_mode			smcup	str	ti	-		-	YBCGE	string to start programs using cup
355enter_delete_mode		smdc	str	dm	-		-	YBCGE	enter delete mode
356enter_dim_mode			dim	str	mh	-		-	YB-G-	turn on half-bright mode
357enter_insert_mode		smir	str	im	-		-	YBCGE	enter insert mode
358enter_secure_mode		invis	str	mk	-		-	-B-G-*	turn on blank mode (characters invisible)
359enter_protected_mode		prot	str	mp	-		-	-B-G-*	turn on protected mode
360enter_reverse_mode		rev	str	mr	-		-	YB-G-	turn on reverse video mode
361enter_standout_mode		smso	str	so	-		-	YBCGE	begin standout mode
362enter_underline_mode		smul	str	us	-		-	YBCGE	begin underline mode
363erase_chars			ech	str	ec	-		-	YB-G-	erase #1 characters (P)
364exit_alt_charset_mode		rmacs	str	ae	-		-	YB-G-	end alternate character set (P)
365exit_attribute_mode		sgr0	str	me	-		-	YB-GE	turn off all attributes
366exit_ca_mode			rmcup	str	te	-		-	YBCGE	strings to end programs using cup
367exit_delete_mode		rmdc	str	ed	-		-	YBCGE	end delete mode
368exit_insert_mode		rmir	str	ei	-		-	YBCGE	exit insert mode
369exit_standout_mode		rmso	str	se	-		-	YBCGE	exit standout mode
370exit_underline_mode		rmul	str	ue	-		-	YBCGE	exit underline mode
371flash_screen			flash	str	vb	-		-	YBCGE	visible bell (may not move cursor)
372form_feed			ff	str	ff	-		-	YB-G-	hardcopy terminal page eject (P*)
373from_status_line		fsl	str	fs	-		-	YB-G-	return from status line
374init_1string			is1	str	i1	-		-	YB-G-	initialization string
375init_2string			is2	str	is	-		-	YB-G-	initialization string
376init_3string			is3	str	i3	-		-	YB-G-	initialization string
377init_file			if	str	if	-		-	YB-G-	name of initialization file
378insert_character		ich1	str	ic	-		-	YBCGE	insert character (P)
379insert_line			il1	str	al	-		-	YBCGE	insert line (P*)
380insert_padding			ip	str	ip	-		-	YBCGE	insert padding after inserted character
381key_backspace			kbs	str	kb	KEY_BACKSPACE	0407	YB-G-	backspace key
382key_catab			ktbc	str	ka	KEY_CATAB	0526	-B-G-*	clear-all-tabs key
383key_clear			kclr	str	kC	KEY_CLEAR	0515	-B-G-*	clear-screen or erase key
384key_ctab			kctab	str	kt	KEY_CTAB	0525	-B-G-*	clear-tab key
385key_dc				kdch1	str	kD	KEY_DC		0512	YB-G-	delete-character key
386key_dl				kdl1	str	kL	KEY_DL		0510	-B-G-*	delete-line key
387key_down			kcud1	str	kd	KEY_DOWN	0402	YBCGE	down-arrow key
388key_eic				krmir	str	kM	KEY_EIC		0514	-B-G-*	sent by rmir or smir in insert mode
389key_eol				kel	str	kE	KEY_EOL		0517	-B-G-*	clear-to-end-of-line key
390key_eos				ked	str	kS	KEY_EOS		0516	-B-G-*	clear-to-end-of-screen key
391key_f0				kf0	str	k0	KEY_F(0)	0410	YBCGE	F0 function key
392key_f1				kf1	str	k1	KEY_F(1)	-	YBCGE	F1 function key
393key_f10				kf10	str	k;	KEY_F(10)	-	----E	F10 function key
394key_f2				kf2	str	k2	KEY_F(2)	-	YBCGE	F2 function key
395key_f3				kf3	str	k3	KEY_F(3)	-	YBCGE	F3 function key
396key_f4				kf4	str	k4	KEY_F(4)	-	YBCGE	F4 function key
397key_f5				kf5	str	k5	KEY_F(5)	-	YBCGE	F5 function key
398key_f6				kf6	str	k6	KEY_F(6)	-	YBCGE	F6 function key
399key_f7				kf7	str	k7	KEY_F(7)	-	YBCGE	F7 function key
400key_f8				kf8	str	k8	KEY_F(8)	-	YBCGE	F8 function key
401key_f9				kf9	str	k9	KEY_F(9)	-	YBCGE	F9 function key
402key_home			khome	str	kh	KEY_HOME	0406	YBCGE	home key
403key_ic				kich1	str	kI	KEY_IC		0513	YB-GE	insert-character key
404key_il				kil1	str	kA	KEY_IL		0511	-B-G-*	insert-line key
405key_left			kcub1	str	kl	KEY_LEFT	0404	YBCGE	left-arrow key
406key_ll				kll	str	kH	KEY_LL		0533	YB-G-	lower-left key (home down)
407key_npage			knp	str	kN	KEY_NPAGE	0522	YB-GE	next-page key
408key_ppage			kpp	str	kP	KEY_PPAGE	0523	YB-GE	previous-page key
409key_right			kcuf1	str	kr	KEY_RIGHT	0405	YBCGE	right-arrow key
410key_sf				kind	str	kF	KEY_SF		0520	-B-G-*	scroll-forward key
411key_sr				kri	str	kR	KEY_SR		0521	-B-G-*	scroll-backward key
412key_stab			khts	str	kT	KEY_STAB	0524	-B-G-*	set-tab key
413key_up				kcuu1	str	ku	KEY_UP		0403	YBCGE	up-arrow key
414keypad_local			rmkx	str	ke	-		-	YBCGE	leave 'keyboard_transmit' mode
415keypad_xmit			smkx	str	ks	-		-	YBCGE	enter 'keyboard_transmit' mode
416lab_f0				lf0	str	l0	-		-	-B-G-*	label on function key f0 if not f0
417lab_f1				lf1	str	l1	-		-	-B-G-*	label on function key f1 if not f1
418lab_f10				lf10	str	la	-		-	-----	label on function key f10 if not f10
419lab_f2				lf2	str	l2	-		-	-B-G-*	label on function key f2 if not f2
420lab_f3				lf3	str	l3	-		-	-B-G-*	label on function key f3 if not f3
421lab_f4				lf4	str	l4	-		-	-B-G-*	label on function key f4 if not f4
422lab_f5				lf5	str	l5	-		-	-B-G-*	label on function key f5 if not f5
423lab_f6				lf6	str	l6	-		-	-B-G-*	label on function key f6 if not f6
424lab_f7				lf7	str	l7	-		-	-B-G-*	label on function key f7 if not f7
425lab_f8				lf8	str	l8	-		-	-B-G-*	label on function key f8 if not f8
426lab_f9				lf9	str	l9	-		-	-B-G-*	label on function key f9 if not f9
427meta_off			rmm	str	mo	-		-	YB-G-*	turn off meta mode
428meta_on				smm	str	mm	-		-	YB-G-*	turn on meta mode (8th-bit on)
429newline				nel	str	nw	-		-	YB-G-*	newline (behave like cr followed by lf)
430pad_char			pad	str	pc	-		-	YBCGE	padding char (instead of null)
431parm_dch			dch	str	DC	-		-	YB-GE	delete #1 characters (P*)
432parm_delete_line		dl	str	DL	-		-	YBCGE	delete #1 lines (P*)
433parm_down_cursor		cud	str	DO	-		-	YBCGE	down #1 lines (P*)
434parm_ich			ich	str	IC	-		-	YB-GE	insert #1 characters (P*)
435parm_index			indn	str	SF	-		-	YBCG-	scroll forward #1 lines (P)
436parm_insert_line		il	str	AL	-		-	YBCGE	insert #1 lines (P*)
437parm_left_cursor		cub	str	LE	-		-	YBCGE	move #1 characters to the left (P)
438parm_right_cursor		cuf	str	RI	-		-	YBCGE	move #1 characters to the right (P*)
439parm_rindex			rin	str	SR	-		-	YBCG-	scroll back #1 lines (P)
440parm_up_cursor			cuu	str	UP	-		-	YBCGE	up #1 lines (P*)
441pkey_key			pfkey	str	pk	-		-	-B---	program function key #1 to type string #2
442pkey_local			pfloc	str	pl	-		-	-B---	program function key #1 to execute string #2
443pkey_xmit			pfx	str	px	-		-	-B---	program function key #1 to transmit string #2
444print_screen			mc0	str	ps	-		-	-B-G-*	print contents of screen
445prtr_off			mc4	str	pf	-		-	-B-G-*	turn off printer
446prtr_on				mc5	str	po	-		-	-B-G-*	turn on printer
447repeat_char			rep	str	rp	-		-	YB-GE	repeat char #1 #2 times (P*)
448reset_1string			rs1	str	r1	-		-	-B---	reset string
449reset_2string			rs2	str	r2	-		-	-B---	reset string
450reset_3string			rs3	str	r3	-		-	-B---	reset string
451reset_file			rf	str	rf	-		-	-B---	name of reset file
452restore_cursor			rc	str	rc	-		-	YBCG-	restore cursor to position of last save_cursor
453row_address			vpa	str	cv	-		-	-B-GE*	vertical position #1 absolute (P)
454save_cursor			sc	str	sc	-		-	YBCG-	save current cursor position (P)
455scroll_forward			ind	str	sf	-		-	YBCGE	scroll text up (P)
456scroll_reverse			ri	str	sr	-		-	YBCGE	scroll text down (P)
457set_attributes			sgr	str	sa	-		-	YB-G-	define video attributes #1-#9 (PG9)
458set_tab				hts	str	st	-		-	YB-G-	set a tab in every row, current columns
459set_window			wind	str	wi	-		-	-B-GE	current window is lines #1-#2 cols #3-#4
460tab				ht	str	ta	-		-	YBCGE	tab to next 8-space hardware tab stop
461to_status_line			tsl	str	ts	-		-	YB-G-	move to status line, column #1
462underline_char			uc	str	uc	-		-	YBCG-	underline char and move past it
463up_half_line			hu	str	hu	-		-	YB-G-	half a line up
464init_prog			iprog	str	iP	-		-	-B---	path name of program for initialization
465key_a1				ka1	str	K1	KEY_A1		0534	YB-GE	upper left of keypad
466key_a3				ka3	str	K3	KEY_A3		0535	YB-GE	upper right of keypad
467key_b2				kb2	str	K2	KEY_B2		0536	YB-GE	center of keypad
468key_c1				kc1	str	K4	KEY_C1		0537	YB-GE	lower left of keypad
469key_c3				kc3	str	K5	KEY_C3		0540	YB-GE	lower right of keypad
470prtr_non			mc5p	str	pO	-		-	-B-G-*	turn on printer for #1 bytes
471#
472# SVr1 capabilities stop here.	IBM's version of terminfo is the same as
473# SVr4 up to this point, but has a different set afterwards.
474#
475char_padding			rmp	str	rP	-		-	-----	like ip but when in insert mode
476acs_chars			acsc	str	ac	-		-	-----	graphics charset pairs, based on vt100
477plab_norm			pln	str	pn	-		-	-----	program label #1 to show string #2
478key_btab			kcbt	str	kB	KEY_BTAB	0541	-----	back-tab key
479enter_xon_mode			smxon	str	SX	-		-	-----	turn on xon/xoff handshaking
480exit_xon_mode			rmxon	str	RX	-		-	-----	turn off xon/xoff handshaking
481enter_am_mode			smam	str	SA	-		-	-----	turn on automatic margins
482exit_am_mode			rmam	str	RA	-		-	-----	turn off automatic margins
483xon_character			xonc	str	XN	-		-	-----	XON character
484xoff_character			xoffc	str	XF	-		-	-----	XOFF character
485ena_acs				enacs	str	eA	-		-	-----	enable alternate char set
486label_on			smln	str	LO	-		-	-----	turn on soft labels
487label_off			rmln	str	LF	-		-	-----	turn off soft labels
488key_beg				kbeg	str	@1	KEY_BEG		0542	-----	begin key
489key_cancel			kcan	str	@2	KEY_CANCEL	0543	-----	cancel key
490key_close			kclo	str	@3	KEY_CLOSE	0544	-----	close key
491key_command			kcmd	str	@4	KEY_COMMAND	0545	-----	command key
492key_copy			kcpy	str	@5	KEY_COPY	0546	-----	copy key
493key_create			kcrt	str	@6	KEY_CREATE	0547	-----	create key
494key_end				kend	str	@7	KEY_END		0550	-----	end key
495key_enter			kent	str	@8	KEY_ENTER	0527	-----	enter/send key
496key_exit			kext	str	@9	KEY_EXIT	0551	-----	exit key
497key_find			kfnd	str	@0	KEY_FIND	0552	-----	find key
498key_help			khlp	str	%1	KEY_HELP	0553	-----	help key
499key_mark			kmrk	str	%2	KEY_MARK	0554	-----	mark key
500key_message			kmsg	str	%3	KEY_MESSAGE	0555	-----	message key
501key_move			kmov	str	%4	KEY_MOVE	0556	-----	move key
502key_next			knxt	str	%5	KEY_NEXT	0557	-----	next key
503key_open			kopn	str	%6	KEY_OPEN	0560	-----	open key
504key_options			kopt	str	%7	KEY_OPTIONS	0561	-----	options key
505key_previous			kprv	str	%8	KEY_PREVIOUS	0562	-----	previous key
506key_print			kprt	str	%9	KEY_PRINT	0532	-----	print key
507key_redo			krdo	str	%0	KEY_REDO	0563	-----	redo key
508key_reference			kref	str	&1	KEY_REFERENCE	0564	-----	reference key
509key_refresh			krfr	str	&2	KEY_REFRESH	0565	-----	refresh key
510key_replace			krpl	str	&3	KEY_REPLACE	0566	-----	replace key
511key_restart			krst	str	&4	KEY_RESTART	0567	-----	restart key
512key_resume			kres	str	&5	KEY_RESUME	0570	-----	resume key
513key_save			ksav	str	&6	KEY_SAVE	0571	-----	save key
514key_suspend			kspd	str	&7	KEY_SUSPEND	0627	-----	suspend key
515key_undo			kund	str	&8	KEY_UNDO	0630	-----	undo key
516key_sbeg			kBEG	str	&9	KEY_SBEG	0572	-----	shifted begin key
517key_scancel			kCAN	str	&0	KEY_SCANCEL	0573	-----	shifted cancel key
518key_scommand			kCMD	str	*1	KEY_SCOMMAND	0574	-----	shifted command key
519key_scopy			kCPY	str	*2	KEY_SCOPY	0575	-----	shifted copy key
520key_screate			kCRT	str	*3	KEY_SCREATE	0576	-----	shifted create key
521key_sdc				kDC	str	*4	KEY_SDC		0577	-----	shifted delete-character key
522key_sdl				kDL	str	*5	KEY_SDL		0600	-----	shifted delete-line key
523key_select			kslt	str	*6	KEY_SELECT	0601	-----	select key
524key_send			kEND	str	*7	KEY_SEND	0602	-----	shifted end key
525key_seol			kEOL	str	*8	KEY_SEOL	0603	-----	shifted clear-to-end-of-line key
526key_sexit			kEXT	str	*9	KEY_SEXIT	0604	-----	shifted exit key
527key_sfind			kFND	str	*0	KEY_SFIND	0605	-----	shifted find key
528key_shelp			kHLP	str	#1	KEY_SHELP	0606	-----	shifted help key
529key_shome			kHOM	str	#2	KEY_SHOME	0607	-----	shifted home key
530key_sic				kIC	str	#3	KEY_SIC		0610	-----	shifted insert-character key
531key_sleft			kLFT	str	#4	KEY_SLEFT	0611	-----	shifted left-arrow key
532key_smessage			kMSG	str	%a	KEY_SMESSAGE	0612	-----	shifted message key
533key_smove			kMOV	str	%b	KEY_SMOVE	0613	-----	shifted move key
534key_snext			kNXT	str	%c	KEY_SNEXT	0614	-----	shifted next key
535key_soptions			kOPT	str	%d	KEY_SOPTIONS	0615	-----	shifted options key
536key_sprevious			kPRV	str	%e	KEY_SPREVIOUS	0616	-----	shifted previous key
537key_sprint			kPRT	str	%f	KEY_SPRINT	0617	-----	shifted print key
538key_sredo			kRDO	str	%g	KEY_SREDO	0620	-----	shifted redo key
539key_sreplace			kRPL	str	%h	KEY_SREPLACE	0621	-----	shifted replace key
540key_sright			kRIT	str	%i	KEY_SRIGHT	0622	-----	shifted right-arrow key
541key_srsume			kRES	str	%j	KEY_SRSUME	0623	-----	shifted resume key
542key_ssave			kSAV	str	!1	KEY_SSAVE	0624	-----	shifted save key
543key_ssuspend			kSPD	str	!2	KEY_SSUSPEND	0625	-----	shifted suspend key
544key_sundo			kUND	str	!3	KEY_SUNDO	0626	-----	shifted undo key
545req_for_input			rfi	str	RF	-		-	-----	send next input char (for ptys)
546key_f11				kf11	str	F1	KEY_F(11)	-	----E	F11 function key
547key_f12				kf12	str	F2	KEY_F(12)	-	----E	F12 function key
548key_f13				kf13	str	F3	KEY_F(13)	-	----E	F13 function key
549key_f14				kf14	str	F4	KEY_F(14)	-	----E	F14 function key
550key_f15				kf15	str	F5	KEY_F(15)	-	----E	F15 function key
551key_f16				kf16	str	F6	KEY_F(16)	-	----E	F16 function key
552key_f17				kf17	str	F7	KEY_F(17)	-	----E	F17 function key
553key_f18				kf18	str	F8	KEY_F(18)	-	----E	F18 function key
554key_f19				kf19	str	F9	KEY_F(19)	-	----E	F19 function key
555key_f20				kf20	str	FA	KEY_F(20)	-	----E	F20 function key
556key_f21				kf21	str	FB	KEY_F(21)	-	----E	F21 function key
557key_f22				kf22	str	FC	KEY_F(22)	-	----E	F22 function key
558key_f23				kf23	str	FD	KEY_F(23)	-	----E	F23 function key
559key_f24				kf24	str	FE	KEY_F(24)	-	----E	F24 function key
560key_f25				kf25	str	FF	KEY_F(25)	-	----E	F25 function key
561key_f26				kf26	str	FG	KEY_F(26)	-	----E	F26 function key
562key_f27				kf27	str	FH	KEY_F(27)	-	----E	F27 function key
563key_f28				kf28	str	FI	KEY_F(28)	-	----E	F28 function key
564key_f29				kf29	str	FJ	KEY_F(29)	-	----E	F29 function key
565key_f30				kf30	str	FK	KEY_F(30)	-	----E	F30 function key
566key_f31				kf31	str	FL	KEY_F(31)	-	----E	F31 function key
567key_f32				kf32	str	FM	KEY_F(32)	-	----E	F32 function key
568key_f33				kf33	str	FN	KEY_F(33)	-	----E	F33 function key
569key_f34				kf34	str	FO	KEY_F(34)	-	----E	F34 function key
570key_f35				kf35	str	FP	KEY_F(35)	-	----E	F35 function key
571key_f36				kf36	str	FQ	KEY_F(36)	-	----E	F36 function key
572key_f37				kf37	str	FR	KEY_F(37)	-	----E	F37 function key
573key_f38				kf38	str	FS	KEY_F(38)	-	----E	F38 function key
574key_f39				kf39	str	FT	KEY_F(39)	-	----E	F39 function key
575key_f40				kf40	str	FU	KEY_F(40)	-	----E	F40 function key
576key_f41				kf41	str	FV	KEY_F(41)	-	----E	F41 function key
577key_f42				kf42	str	FW	KEY_F(42)	-	----E	F42 function key
578key_f43				kf43	str	FX	KEY_F(43)	-	----E	F43 function key
579key_f44				kf44	str	FY	KEY_F(44)	-	----E	F44 function key
580key_f45				kf45	str	FZ	KEY_F(45)	-	----E	F45 function key
581key_f46				kf46	str	Fa	KEY_F(46)	-	----E	F46 function key
582key_f47				kf47	str	Fb	KEY_F(47)	-	----E	F47 function key
583key_f48				kf48	str	Fc	KEY_F(48)	-	----E	F48 function key
584key_f49				kf49	str	Fd	KEY_F(49)	-	----E	F49 function key
585key_f50				kf50	str	Fe	KEY_F(50)	-	----E	F50 function key
586key_f51				kf51	str	Ff	KEY_F(51)	-	----E	F51 function key
587key_f52				kf52	str	Fg	KEY_F(52)	-	----E	F52 function key
588key_f53				kf53	str	Fh	KEY_F(53)	-	----E	F53 function key
589key_f54				kf54	str	Fi	KEY_F(54)	-	----E	F54 function key
590key_f55				kf55	str	Fj	KEY_F(55)	-	----E	F55 function key
591key_f56				kf56	str	Fk	KEY_F(56)	-	----E	F56 function key
592key_f57				kf57	str	Fl	KEY_F(57)	-	----E	F57 function key
593key_f58				kf58	str	Fm	KEY_F(58)	-	----E	F58 function key
594key_f59				kf59	str	Fn	KEY_F(59)	-	----E	F59 function key
595key_f60				kf60	str	Fo	KEY_F(60)	-	----E	F60 function key
596key_f61				kf61	str	Fp	KEY_F(61)	-	----E	F61 function key
597key_f62				kf62	str	Fq	KEY_F(62)	-	----E	F62 function key
598key_f63				kf63	str	Fr	KEY_F(63)	-	----E	F63 function key
599clr_bol				el1	str	cb	-		-	-----	Clear to beginning of line
600clear_margins			mgc	str	MC	-		-	-----	clear right and left soft margins
601set_left_margin			smgl	str	ML	-		-	-----	set left soft margin at current column.	 See smgl. (ML is not in BSD termcap).
602set_right_margin		smgr	str	MR	-		-	-----	set right soft margin at current column
603label_format			fln	str	Lf	-		-	-----	label format
604set_clock			sclk	str	SC	-		-	-----	set clock, #1 hrs #2 mins #3 secs
605display_clock			dclk	str	DK	-		-	-----	display clock
606remove_clock			rmclk	str	RC	-		-	-----	remove clock
607create_window			cwin	str	CW	-		-	-----	define a window #1 from #2,#3 to #4,#5
608goto_window			wingo	str	WG	-		-	-----	go to window #1
609hangup				hup	str	HU	-		-	-----	hang-up phone
610dial_phone			dial	str	DI	-		-	-----	dial number #1
611quick_dial			qdial	str	QD	-		-	-----	dial number #1 without checking
612tone				tone	str	TO	-		-	-----	select touch tone dialing
613pulse				pulse	str	PU	-		-	-----	select pulse dialing
614flash_hook			hook	str	fh	-		-	-----	flash switch hook
615fixed_pause			pause	str	PA	-		-	-----	pause for 2-3 seconds
616wait_tone			wait	str	WA	-		-	-----	wait for dial-tone
617user0				u0	str	u0	-		-	-----	User string #0
618user1				u1	str	u1	-		-	-----	User string #1
619user2				u2	str	u2	-		-	-----	User string #2
620user3				u3	str	u3	-		-	-----	User string #3
621user4				u4	str	u4	-		-	-----	User string #4
622user5				u5	str	u5	-		-	-----	User string #5
623user6				u6	str	u6	-		-	-----	User string #6
624user7				u7	str	u7	-		-	-----	User string #7
625user8				u8	str	u8	-		-	-----	User string #8
626user9				u9	str	u9	-		-	-----	User string #9
627#
628# NCurses extensions for keys accessible on most PC consoles
629#
630key_sup				kUP	str	!5	KEY_SUP		+	-----	shifted up-arrow key
631key_sdown			kDOWN	str	!6	KEY_SDOWN	+	-----	shifted down-arrow key
632key_sbackspace			kBS	str	!7	KEY_SBACKSPACE	+	-----	shifted backspace key
633key_c_delete			kcdelete str	!8	KEY_C_DELETE	+	-----	control- delete-character key
634key_c_end			kcend	str	!9	KEY_C_END	+	-----	control- end key
635key_c_home			kchom	str	!0	KEY_C_HOME	+	-----	control- home key
636key_c_insert			kcinsert str	!_	KEY_C_INSERT	+	-----	control- insert-character key
637key_c_left			kclft	str	%k	KEY_C_LEFT	+	-----	control- left-arrow key
638key_c_next			kcnxt	str	%l	KEY_C_NEXT	+	-----	control- next key
639key_c_previous			kcprv	str	%m	KEY_C_PREVIOUS	+	-----	control- previous key
640key_c_print			kcprt	str	%n	KEY_C_PRINT	+	-----	control- print key
641key_c_right			kcrit	str	%o	KEY_C_RIGHT	+	-----	control- right-arrow key
642key_c_backspace			kcbs	str	%p	KEY_C_BACKSPACE	+	-----	control- backspace key
643key_c_up			kcup	str	%q	KEY_C_UP	+	-----	control- up-arrow key
644key_c_down			kcdown	str	%r	KEY_C_DOWN	+	-----	control- down-arrow key
645key_a_delete			kadelete str	%s	KEY_A_DELETE	+	-----	alt- delete-character key
646key_a_end			kaend	str	%t	KEY_A_END	+	-----	alt- end key
647key_a_home			kahom	str	%u	KEY_A_HOME	+	-----	alt- home key
648key_a_insert			kainsert str	%v	KEY_A_INSERT	+	-----	alt- insert-character key
649key_a_left			kalft	str	%w	KEY_A_LEFT	+	-----	alt- left-arrow key
650key_a_next			kanxt	str	%x	KEY_A_NEXT	+	-----	alt- next key
651key_a_previous			kaprv	str	%y	KEY_A_PREVIOUS	+	-----	alt- previous key
652key_a_print			kaprt	str	%z	KEY_A_PRINT	+	-----	alt- print key
653key_a_right			karit	str	%!	KEY_A_RIGHT	+	-----	alt- right-arrow key
654key_a_backspace			kabs	str	%@	KEY_A_BACKSPACE	+	-----	alt- backspace key
655key_a_up			kaup	str	%#	KEY_A_UP	+	-----	alt- up-arrow key
656key_a_down			kadown	str	%$	KEY_A_DOWN	+	-----	alt- down-arrow key
657key_a_a				kaa	str	$a	KEY_A_A		+	-----	alt- a key
658key_a_b				kab	str	$b	KEY_A_B		+	-----	alt- b key
659key_a_c				kac	str	$c	KEY_A_C		+	-----	alt- c key
660key_a_d				kad	str	$d	KEY_A_D		+	-----	alt- d key
661key_a_e				kae	str	$e	KEY_A_E		+	-----	alt- e key
662key_a_f				kaf	str	$f	KEY_A_F		+	-----	alt- f key
663key_a_g				kag	str	$g	KEY_A_G		+	-----	alt- g key
664key_a_h				kah	str	$h	KEY_A_H		+	-----	alt- h key
665key_a_i				kai	str	$i	KEY_A_I		+	-----	alt- i key
666key_a_j				kaj	str	$j	KEY_A_J		+	-----	alt- j key
667key_a_k				kak	str	$k	KEY_A_K		+	-----	alt- k key
668key_a_l				kal	str	$l	KEY_A_L		+	-----	alt- l key
669key_a_m				kam	str	$m	KEY_A_M		+	-----	alt- m key
670key_a_n				kan	str	$n	KEY_A_N		+	-----	alt- n key
671key_a_o				kao	str	$o	KEY_A_O		+	-----	alt- o key
672key_a_p				kap	str	$p	KEY_A_P		+	-----	alt- p key
673key_a_q				kaq	str	$q	KEY_A_Q		+	-----	alt- q key
674key_a_r				kar	str	$r	KEY_A_R		+	-----	alt- r key
675key_a_s				kas	str	$s	KEY_A_S		+	-----	alt- s key
676key_a_t				kat	str	$t	KEY_A_T		+	-----	alt- t key
677key_a_u				kau	str	$u	KEY_A_U		+	-----	alt- u key
678key_a_v				kav	str	$v	KEY_A_V		+	-----	alt- v key
679key_a_w				kaw	str	$w	KEY_A_W		+	-----	alt- w key
680key_a_x				kax	str	$x	KEY_A_X		+	-----	alt- x key
681key_a_y				kay	str	$y	KEY_A_Y		+	-----	alt- y key
682key_a_z				kaz	str	$z	KEY_A_Z		+	-----	alt- z key
683key_a_0				ka_0	str	$0	KEY_A_0		+	-----	alt- 0 key
684key_a_1				ka_1	str	$1	KEY_A_1		+	-----	alt- 1 key
685key_a_2				ka_2	str	$2	KEY_A_2		+	-----	alt- 2 key
686key_a_3				ka_3	str	$3	KEY_A_3		+	-----	alt- 3 key
687key_a_4				ka_4	str	$4	KEY_A_4		+	-----	alt- 4 key
688key_a_5				ka_5	str	$5	KEY_A_5		+	-----	alt- 5 key
689key_a_6				ka_6	str	$6	KEY_A_6		+	-----	alt- 6 key
690key_a_7				ka_7	str	$7	KEY_A_7		+	-----	alt- 7 key
691key_a_8				ka_8	str	$8	KEY_A_8		+	-----	alt- 8 key
692key_a_9				ka_9	str	$9	KEY_A_9		+	-----	alt- 9 key
693key_a_backtick			ka_bt	str	$`	KEY_A_BACKTICK	+	-----	alt- ` key
694key_a_under			ka_und	str	$_	KEY_A_UNDER	+	-----	alt- _ key
695key_a_equals			ka_eq	str	$=	KEY_A_EQUALS	+	-----	alt- = key
696key_a_bar			ka_bsl	str	$|	KEY_A_BAR	+	-----	alt- | key
697key_a_lbracker			ka_lbr	str	$[	KEY_A_LBRACKER	+	-----	alt- [ key
698key_a_rbracker			ka_rbr	str	$]	KEY_A_RBRACKER	+	-----	alt- ] key
699key_a_semi			ka_semi str	$;	KEY_A_SEMI	+	-----	alt- ; key
700key_a_tick			ka_tick str	$'	KEY_A_TICK	+	-----	alt- ' key
701key_a_comma			ka_com	str	$,	KEY_A_COMMA	+	-----	alt- , key
702key_a_dot			ka_dot	str	$.	KEY_A_DOT	+	-----	alt- . key
703key_a_question			ka_sla	str	$?	KEY_A_QUESTION	+	-----	alt- ? key
704key_a_divide			ka_div	str	$/	KEY_A_DIVIDE	+	-----	alt- keypad / key
705key_a_multiply			ka_mul	str	$*	KEY_A_MULTIPLY	+	-----	alt- keypad * key
706key_a_add			ka_add	str	$+	KEY_A_ADD	+	-----	alt- keypad + key
707key_a_subtract			ka_sub	str	$-	KEY_A_SUBTRACT	+	-----	alt- keypad - key
708key_a_kenter			ka_kent str	$<	KEY_A_KENTER	+	-----	alt- keypad enter key
709key_a_enter			ka_ent	str	$>	KEY_A_ENTER	+	-----	alt- enter key
710key_c_at			kcat	str	%%	KEY_C_AT	+	-----	control- @ key
711key_c_divide			kcdiv	str	%/	KEY_C_DIVIDE	+	-----	control- keypad / key
712key_c_multiply			kcmul	str	%*	KEY_C_MULTIPLY	+	-----	control- keypad * key
713key_c_add			kcadd	str	%+	KEY_C_ADD	+	-----	control- keypad + key
714key_c_subtract			kcsub	str	%-	KEY_C_SUBTRACT	+	-----	control- keypad - key
715#
716# SVr4 added these capabilities to support color
717#
718orig_pair			op	str	op	-		-	-----	Set default pair to its original value
719orig_colors			oc	str	oc	-		-	-----	Set all color pairs to the original ones
720initialize_color		initc	str	Ic	-		-	-----	initialize color #1 to (#2,#3,#4)
721initialize_pair			initp	str	Ip	-		-	-----	Initialize color pair #1 to fg=(#2,#3,#4), bg=(#5,#6,#7)
722set_color_pair			scp	str	sp	-		-	-----	Set current color pair to #1
723set_foreground			setf	str	Sf	-		-	-----	Set foreground color #1
724set_background			setb	str	Sb	-		-	-----	Set background color #1
725#
726# SVr4 added these capabilities to support printers
727#
728change_char_pitch		cpi	str	ZA	-		-	-----	Change number of characters per inch to #1
729change_line_pitch		lpi	str	ZB	-		-	-----	Change number of lines per inch to #1
730change_res_horz			chr	str	ZC	-		-	-----	Change horizontal resolution to #1
731change_res_vert			cvr	str	ZD	-		-	-----	Change vertical resolution to #1
732define_char			defc	str	ZE	-		-	-----	Define a character #1, #2 dots wide, descender #3
733enter_doublewide_mode		swidm	str	ZF	-		-	-----	Enter double-wide mode
734enter_draft_quality		sdrfq	str	ZG	-		-	-----	Enter draft-quality mode
735enter_italics_mode		sitm	str	ZH	-		-	-----	Enter italic mode
736enter_leftward_mode		slm	str	ZI	-		-	-----	Start leftward carriage motion
737enter_micro_mode		smicm	str	ZJ	-		-	-----	Start micro-motion mode
738enter_near_letter_quality	snlq	str	ZK	-		-	-----	Enter NLQ mode
739enter_normal_quality		snrmq	str	ZL	-		-	-----	Enter normal-quality mode
740enter_shadow_mode		sshm	str	ZM	-		-	-----	Enter shadow-print mode
741enter_subscript_mode		ssubm	str	ZN	-		-	-----	Enter subscript mode
742enter_superscript_mode		ssupm	str	ZO	-		-	-----	Enter superscript mode
743enter_upward_mode		sum	str	ZP	-		-	-----	Start upward carriage motion
744exit_doublewide_mode		rwidm	str	ZQ	-		-	-----	End double-wide mode
745exit_italics_mode		ritm	str	ZR	-		-	-----	End italic mode
746exit_leftward_mode		rlm	str	ZS	-		-	-----	End left-motion mode
747exit_micro_mode			rmicm	str	ZT	-		-	-----	End micro-motion mode
748exit_shadow_mode		rshm	str	ZU	-		-	-----	End shadow-print mode
749exit_subscript_mode		rsubm	str	ZV	-		-	-----	End subscript mode
750exit_superscript_mode		rsupm	str	ZW	-		-	-----	End superscript mode
751exit_upward_mode		rum	str	ZX	-		-	-----	End reverse character motion
752micro_column_address		mhpa	str	ZY	-		-	-----	Like column_address in micro mode
753micro_down			mcud1	str	ZZ	-		-	-----	Like cursor_down in micro mode
754micro_left			mcub1	str	Za	-		-	-----	Like cursor_left in micro mode
755micro_right			mcuf1	str	Zb	-		-	-----	Like cursor_right in micro mode
756micro_row_address		mvpa	str	Zc	-		-	-----	Like row_address #1 in micro mode
757micro_up			mcuu1	str	Zd	-		-	-----	Like cursor_up in micro mode
758order_of_pins			porder	str	Ze	-		-	-----	Match software bits to print-head pins
759parm_down_micro			mcud	str	Zf	-		-	-----	Like parm_down_cursor in micro mode
760parm_left_micro			mcub	str	Zg	-		-	-----	Like parm_left_cursor in micro mode
761parm_right_micro		mcuf	str	Zh	-		-	-----	Like parm_right_cursor in micro mode
762parm_up_micro			mcuu	str	Zi	-		-	-----	Like parm_up_cursor in micro mode
763select_char_set			scs	str	Zj	-		-	-----	Select character set, #1
764set_bottom_margin		smgb	str	Zk	-		-	-----	Set bottom margin at current line
765set_bottom_margin_parm		smgbp	str	Zl	-		-	-----	Set bottom margin at line #1 or (if smgtp is not given) #2 lines from bottom
766set_left_margin_parm		smglp	str	Zm	-		-	-----	Set left (right) margin at column #1
767set_right_margin_parm		smgrp	str	Zn	-		-	-----	Set right margin at column #1
768set_top_margin			smgt	str	Zo	-		-	-----	Set top margin at current line
769set_top_margin_parm		smgtp	str	Zp	-		-	-----	Set top (bottom) margin at row #1
770start_bit_image			sbim	str	Zq	-		-	-----	Start printing bit image graphics
771start_char_set_def		scsd	str	Zr	-		-	-----	Start character set definition #1, with #2 characters in the set
772stop_bit_image			rbim	str	Zs	-		-	-----	Stop printing bit image graphics
773stop_char_set_def		rcsd	str	Zt	-		-	-----	End definition of character set #1
774subscript_characters		subcs	str	Zu	-		-	-----	List of subscriptable characters
775superscript_characters		supcs	str	Zv	-		-	-----	List of superscriptable characters
776these_cause_cr			docr	str	Zw	-		-	-----	Printing any of these characters causes CR
777zero_motion			zerom	str	Zx	-		-	-----	No motion for subsequent character
778#%.TE
779#%.ad
780#%
781#%The following string capabilities are present in the SVr4.0 term structure,
782#%but were originally not documented in the man page.
783#%
784#%.na
785#%.TS H
786#%center expand;
787#%c l l c
788#%c l l c
789#%lw25 lw6 lw2 lw18.
790#%\fBVariable	Cap-	TCap	Description\fR
791#%\fBString	name	Code\fR
792char_set_names			csnm	str	Zy	-		-	-----	Produce #1'th item from list of character set names
793key_mouse			kmous	str	Km	KEY_MOUSE	0631	-----	Mouse event has occurred
794mouse_info			minfo	str	Mi	-		-	-----	Mouse status information
795req_mouse_pos			reqmp	str	RQ	-		-	-----	Request mouse position
796get_mouse			getm	str	Gm	-		-	-----	Curses should get button events, parameter #1 not documented.
797set_a_foreground		setaf	str	AF	-		-	-----	Set foreground color to #1, using ANSI escape
798set_a_background		setab	str	AB	-		-	-----	Set background color to #1, using ANSI escape
799pkey_plab			pfxl	str	xl	-		-	-----	Program function key #1 to type string #2 and show string #3
800device_type			devt	str	dv	-		-	-----	Indicate language/codeset support
801code_set_init			csin	str	ci	-		-	-----	Init sequence for multiple codesets
802set0_des_seq			s0ds	str	s0	-		-	-----	Shift to codeset 0 (EUC set 0, ASCII)
803set1_des_seq			s1ds	str	s1	-		-	-----	Shift to codeset 1
804set2_des_seq			s2ds	str	s2	-		-	-----	Shift to codeset 2
805set3_des_seq			s3ds	str	s3	-		-	-----	Shift to codeset 3
806set_lr_margin			smglr	str	ML	-		-	-----	Set both left and right margins to #1, #2.  (ML is not in BSD termcap).
807set_tb_margin			smgtb	str	MT	-		-	-----	Sets both top and bottom margins to #1, #2
808bit_image_repeat		birep	str	Xy	-		-	-----	Repeat bit image cell #1 #2 times
809bit_image_newline		binel	str	Zz	-		-	-----	Move to next row of the bit image
810bit_image_carriage_return	bicr	str	Yv	-		-	-----	Move to beginning of same row
811color_names			colornm	str	Yw	-		-	-----	Give name for color #1
812define_bit_image_region		defbi	str	Yx	-		-	-----	Define rectangualar bit image region
813end_bit_image_region		endbi	str	Yy	-		-	-----	End a bit-image region
814set_color_band		setcolor	str	Yz	-		-	-----	Change to ribbon color #1
815set_page_length			slines	str	YZ	-		-	-----	Set page length to #1 lines
816#
817# SVr4 added these capabilities for direct PC-clone support
818#
819display_pc_char			dispc	str	S1	-		-	-----	Display PC character #1
820enter_pc_charset_mode		smpch	str	S2	-		-	-----	Enter PC character display mode
821exit_pc_charset_mode		rmpch	str	S3	-		-	-----	Exit PC character display mode
822enter_scancode_mode		smsc	str	S4	-		-	-----	Enter PC scancode mode
823exit_scancode_mode		rmsc	str	S5	-		-	-----	Exit PC scancode mode
824pc_term_options			pctrm	str	S6	-		-	-----	PC terminal options
825scancode_escape			scesc	str	S7	-		-	-----	Escape for scancode emulation
826alt_scancode_esc		scesa	str	S8	-		-	-----	Alternate escape for scancode emulation
827#%.TE
828#%.ad
829#%
830#%.in .8i
831#%The XSI Curses standard added these.  They are some post-4.1 
832#%versions of System V curses, e.g., Solaris 2.5 and IRIX 6.x.
833#%The \fBncurses\fR termcap names for them are invented; according to the
834#%XSI Curses standard, they have no termcap names.  If your compiled terminfo
835#%entries use these, they may not be binary-compatible with System V terminfo
836#%entries after SVr4.1; beware!
837#%
838#%.na
839#%.TS H
840#%center expand;
841#%c l l c
842#%c l l c
843#%lw25 lw6 lw2 lw20.
844#%\fBVariable	Cap-	TCap	Description\fR
845#%\fBString	name	Code\fR
846enter_horizontal_hl_mode	ehhlm	str	Xh	-		-	-----	Enter horizontal highlight mode
847enter_left_hl_mode		elhlm	str	Xl	-		-	-----	Enter left highlight mode
848enter_low_hl_mode		elohlm	str	Xo	-		-	-----	Enter low highlight mode
849enter_right_hl_mode		erhlm	str	Xr	-		-	-----	Enter right highlight mode
850enter_top_hl_mode		ethlm	str	Xt	-		-	-----	Enter top highlight mode
851enter_vertical_hl_mode		evhlm	str	Xv	-		-	-----	Enter vertical highlight mode
852set_a_attributes		sgr1	str	sA	-		-	-----	Define second set of video attributes #1-#6
853set_pglen_inch			slength	str	sL	-		-	-----	YI Set page length to #1 hundredth of an inch
854#%.TE
855#%.ad
856#
857# The magic token below tells the tic compiler-generator code that all the caps
858# past it should be ignored (not written out) when dumping terminfo objects. It
859# also tells the man page table generator not to pass through following lines
860# This means we can have obsolete capabilities and pseudo-capabilities that are
861# recognized for termcap or terminfo compilation, but not output.
862#
863# %%-STOP-HERE-%%
864#
865# Don't move this casually!  In fact, don't move it at all unless you're
866# either doing it to add System V or XPG4 extensions, or have decided you
867# don't care about SVr4 binary compatibility.
868#
869#############################################################################
870#
871# TERMCAP EXTENSION CAPABILITIES
872#
873# The capabilities below are either obsolete or extensions on certain systems.
874# They are not used by SVR4 terminfo.  Some are used by captoinfo to translate
875# termcap sources; the rest are listed for completeness, and in case somebody
876# cares about them enough to hack in code that will translate them into
877# terminfo capabilities.
878#
879# The first part of the list is from Ross Ridge's `mytinfo' package
880# (comp.sources.unix, volume 26); the variable names and terminfo names (as
881# well as the termcap codes) match his list.
882#
883# This group of codes is not marked obsolete in 4.4BSD, but have no direct
884# terminfo equivalents.  The rs capability is specially translated to terminfo
885# r2, and vice versa, if an entry does not already have an r2.  Similarly,
886# i2 is translated to r3 if there is no r3 (because SV terminfo maps is to i2).
887# The ug capability is thrown away, but assumed to be whatever sg is if the
888# latter is nonzero and we're dumping in termcap format.
889#
890termcap_init2			OTi2	str	i2	-		-	YB---	secondary initialization string
891termcap_reset			OTrs	str	rs	-		-	YB-G-	terminal reset string
892magic_cookie_glitch_ul		OTug	num	ug	-		-	YBCGE	number of blanks left by ul
893#
894# Obsolete termcap capabilities.  Some are used for termcap translation.  The
895# code uses the 'OT' prefix we put on obsolete capabilities to suppress
896# printing them in terminfo source dumps of compiled entries.
897#
898backspaces_with_bs		OTbs	bool	bs	-		-	YBCGE	uses ^H to move left
899crt_no_scrolling		OTns	bool	ns	-		-	YBCG-	crt cannot scroll
900no_correctly_working_cr		OTnc	bool	nc	-		-	YBCG-	no way to go to start of line
901carriage_return_delay		OTdC	num	dC	-		-	YB-G-	pad needed for CR
902new_line_delay			OTdN	num	dN	-		-	YB-G-	pad needed for LF
903linefeed_if_not_lf		OTnl	str	nl	-		-	YBCGE	use to move down
904backspace_if_not_bs		OTbc	str	bc	-		-	YBCGE	move left, if not ^H
905#
906# GNU termcap library extensions.  The GNU termcap file distributed with
907# Emacs no longer uses these, but MT showed up in pre-9.0 versions of the
908# BSD termcap file.  The name clash with terminfo MT is resolved by type
909# info; MT is converted to km.
910#
911gnu_has_meta_key		OTMT	bool	MT	-		-	----E	has meta key
912# gnu_tab_width			OTtw	num	tw	-		-	----E	tab width in spaces
913#
914# GNU termcap *does* include the following extended capability,  Only the
915# now-obsolete Ann Arbor terminals used it.
916#
917# gnu_change_scroll_region	OTcS	str	cS	-		-	---GE	alternate set scrolling region 
918#
919# The following comments describe capnames so ancient that I believe no
920# software uses them any longer.  Some of these have to go because they
921# clash with terminfo names in ways that cannot be resolved by type
922# information.
923#
924# These mytinfo codes are not used in the 4.4BSD curses code.  They are
925# marked obsolete in the 4.4BSD manual pages.
926#
927# There is one conflict with terminfo; ma is in both.  This conflict is
928# resolved by type information.
929#
930# The `ko' capability is translated by special code.  It should contain a
931# comma-separated list of capabilities for which there are corresponding keys.
932# The `kn' code is accepted but ignored.
933#
934# The `ma' capability seems to have been designed to map between the rogue(2)
935# motion keys (including jkhl) and characters emitted by arrow keys on some
936# primitive pre-ANSI terminals.  It's so obsolete it's fossilized...
937#
938# Here is a description of memory_lock_above and memory_unlock:
939# "You can 'freeze' data on the screen by turning on Memory Lock in a line of
940# text.  All lines above the cursor's current line become locked in place on
941# the screen.  Then enter data normally.  When the screen fills up, any
942# further data entered forces the first line of unfrozen line text to scroll
943# under the frozen data.  Lines scrolled off the screen are inserted into
944# memory immediately preceding the first frozen line." (from the HP 700/96
945# User's manual).  VT100/ANSI memory lock set is \E[>2h, reset is \E[>2l.
946#
947# Applications that use terminfo are supposed to behave as though xr is
948# always true.
949#
950linefeed_is_newline		OTNL	bool	NL	-		-	YB---	move down with \n
951# even_parity			OTEP	bool	EP	-		-	-B---	terminal requires even parity
952# odd_parity			OTOP	bool	OP	-		-	-B---	terminal requires odd parity
953# half_duplex			OTHD	bool	HD	-		-	-B---	terminal is half-duplex
954# lower_case_only		OTLC	bool	LC	-		-	-B---	terminal has only lower case
955# upper_case_only		OTUC	bool	UC	-		-	-B---	terminal has only upper case
956backspace_delay			OTdB	num	dB	-		-	YB-G-	padding required for ^H
957# form_feed_delay		OTdF	num	dF	-		-	-B-G-	padding required for ^L
958horizontal_tab_delay		OTdT	num	dT	-		-	YB-G-	padding required for ^I
959# vertical_tab_delay		OTdV	num	dV	-		-	-B---	padding required for ^V
960number_of_function_keys		OTkn	num	kn	-		-	-B-G-	count of function keys
961other_non_function_keys		OTko	str	ko	-		-	-B-G-	list of self-mapped keycaps
962arrow_key_map			OTma	str	ma	-		-	YBC--	map arrow keys rogue(1) motion keys
963# memory_lock_above		OTml	str	ml	-		-	-B---	lock visible screen memory above the current line
964# memory_unlock			OTmu	str	mu	-		-	-B---	unlock visible screen memory above the current line
965has_hardware_tabs		OTpt	bool	pt	-		-	YB---	has 8-char tabs invoked with ^I
966return_does_clr_eol		OTxr	bool	xr	-		-	YB---	return clears the line
967# tek_4025_insert_line		OTxx	bool	xx	-		-	-BC--	Tektronix 4025 insert-line glitch
968#
969# mytinfo described this as a termcap capability, but it's not listed in the
970# 4.4BSD man pages, and not found in the 4.4BSD termcap file.  The ncurses
971# package, like System V, behaves as though it is always true.
972#
973# rind_only_at_top		OTxq	bool	xq	-		-	-----	reverse index only works from top line
974#
975# University of Waterloo termcap extensions (as described in mytinfo).
976# The `xl' termcap file clashes with a terminfo name; this ambiguity cannot
977# be resolved by a type check.  The descriptions are guesses from what was
978# in the mytinfo tables. 
979#
980# key_interrupt_char		OTki	str	ki	-		-	-----	string set by interrupt key (?)
981# key_kill_char			OTkk	str	kk	-		-	-----	string set by kill key (?)
982# key_suspend_char		OTkz	str	kz	-		-	-----	string set by suspend key (?)
983# initialization_messy		OTxc	bool	xc	-		-	-----	initialization leaves garbage on the screen (?)
984# ind_at_bottom_does_cr		OTxl	bool	xl	-		-	-----	index does a carriage return
985#
986# Nonstandard capabilities unique to Ross Ridge's `mytinfo' package.
987# SR clashes with a terminfo name; this ambiguity cannot be resolved by a type
988# check.
989#
990# scroll_left			OTsl1	str	Sl	-		-	-----	scroll screen leftward
991# scroll_right			OTsr1	str	Sr	-		-	-----	scroll screen rightward
992# parm_scroll_left		OTsl	str	SL	-		-	-----	scroll screen leftward #1 characters
993# parm_scroll_right		OTsr	str	SR	-		-	-----	scroll screen rightward #1 characters
994#
995# The mytinfo capabilities end here.
996#
997# XENIX extensions:
998#
999# Xenix defined its own set of forms-drawing capabilities:
1000#
1001# cap	IBM ASCII	description             ACS         	ASCII
1002# ---	-----------	--------------------    -------------	------
1003# G1	191 \277 M-?	single upper right   	ACS_URCORNER
1004# G2	218 \332 M-Z	single upper left	ACS_ULCORNER
1005# G3	192 \300 M-@	single lower left	ACS_LLCORNER
1006# G4	217 \331 M-Y	single lower right	ACS_LRCORNER
1007# G5	187 \273 M-;	double upper right
1008# G6	201 \311 M-I	double upper left
1009# G7	200 \310 M-H	double lower left
1010# G8	188 \274 M-<	double lower right
1011# GC	197 \305 M-E	single intersection	ACS_PLUS	_ _
1012# GD	194 \302 M-B	single down-tick	ACS_TTEE	 |
1013# GH	196 \304 M-D	single horizontal line	ACS_HLINE
1014# GL	180 \264 M-4	single left tick	ACS_RTEE	-|
1015# GR	195 \303 M-C	single right tick	ACS_LTEE	|-
1016# GU	193 \301 M-A	single up tick		ACS_BTEE	_|_
1017# GV	179 \263 M-3	single vertical line	ACS_VLINE
1018# Gc	206 \316 M-N	double intersection
1019# Gd	203 \313 M-K	double down tick
1020# Gh	205 \315 M-M	double horizontal line
1021# Gl	204 \204 M-L	double left tick
1022# Gr	185 \271 M-9	double right tick
1023# Gu	202 \312 M-J	double up tick
1024# Gv	186 \272 M-:	double vertical line
1025#
1026# The compiler will translate the single-line caps and discard the others
1027# (via IGNORE aliases further down).  We don't want to do normal pad 
1028# translation on these, they're often single-character printable ASCII
1029# strings that happen to be numerics.  There's awk code in parametrized.sh
1030# that detects the acs_ prefix and uses it to suppress pad translation.
1031# These terminfo names are invented.
1032#
1033acs_ulcorner			OTG2	str	G2	-		-	-----	single upper left
1034acs_llcorner			OTG3	str	G3	-		-	-----	single lower left
1035acs_urcorner			OTG1	str	G1	-		-	-----	single upper right
1036acs_lrcorner			OTG4	str	G4	-		-	-----	single lower right
1037acs_ltee			OTGR	str	GR	-		-	-----	tee pointing right
1038acs_rtee			OTGL	str	GL	-		-	-----	tee pointing left
1039acs_btee			OTGU	str	GU	-		-	-----	tee pointing up
1040acs_ttee			OTGD	str	GD	-		-	-----	tee pointing down
1041acs_hline			OTGH	str	GH	-		-	-----	single horizontal line
1042acs_vline			OTGV	str	GV	-		-	-----	single vertical line
1043acs_plus			OTGC	str	GC	-		-	-----	single intersection
1044#
1045#############################################################################
1046#
1047# TERMINFO EXTENSION CAPABILITIES
1048#
1049# This section is almost all comments.  What it's mainly for is to describe
1050# what capabilities need to be squeezed out to get down to the XSI Curses
1051# standard set.  They are flagged with K.
1052#
1053# HP extensions
1054#
1055# These extensions follow ptr_non (replacing everything after it) in HP
1056# terminfo files.  Except for memory_lock and memory_unlock, they are
1057# functionally identical to SVr4 extensions, but they make the binary format
1058# different.  Grrr....
1059#
1060memory_lock			meml	str	ml	-		-	----K	lock memory above cursor
1061memory_unlock			memu	str	mu	-		-	----K	unlock memory
1062#plab_norm			pln	str	pn	-		-	-----	program label #1 to show string #2
1063#label_on			smln	str	LO	-		-	-----	turn on soft labels
1064#label_off			rmln	str	LF	-		-	-----	turn off soft labels
1065#key_f11			kf11	str	F1	-		-	-----	F11 function key
1066#key_f12			kf12	str	F2	-		-	-----	F12 function key
1067#key_f13			kf13	str	F3	-		-	-----	F13 function key
1068#key_f14			kf14	str	F4	-		-	-----	F14 function key
1069#key_f15			kf15	str	F5	-		-	-----	F15 function key
1070#key_f16			kf16	str	F6	-		-	-----	F16 function key
1071#key_f17			kf17	str	F7	-		-	-----	F17 function key
1072#key_f18			kf18	str	F8	-		-	-----	F18 function key
1073#key_f19			kf19	str	F9	-		-	-----	F19 function key
1074#key_f20			kf20	str	FA	-		-	-----	F20 function key
1075#key_f21			kf21	str	FB	-		-	-----	F21 function key
1076#key_f22			kf22	str	FC	-		-	-----	F22 function key
1077#key_f23			kf23	str	FD	-		-	-----	F23 function key
1078#key_f24			kf24	str	FE	-		-	-----	F24 function key
1079#key_f25			kf25	str	FF	-		-	-----	F25 function key
1080#key_f26			kf26	str	FG	-		-	-----	F26 function key
1081#key_f27			kf27	str	FH	-		-	-----	F27 function key
1082#key_f28			kf28	str	FI	-		-	-----	F28 function key
1083#key_f29			kf29	str	FJ	-		-	-----	F29 function key
1084#key_f30			kf30	str	FK	-		-	-----	F30 function key
1085#key_f31			kf31	str	FL	-		-	-----	F31 function key
1086#key_f32			kf32	str	FM	-		-	-----	F32 function key
1087#key_f33			kf33	str	FN	-		-	-----	F33 function key
1088#key_f34			kf34	str	FO	-		-	-----	F34 function key
1089#key_f35			kf35	str	FP	-		-	-----	F35 function key
1090#key_f36			kf36	str	FQ	-		-	-----	F36 function key
1091#key_f37			kf37	str	FR	-		-	-----	F37 function key
1092#key_f38			kf38	str	FS	-		-	-----	F38 function key
1093#key_f39			kf39	str	FT	-		-	-----	F39 function key
1094#key_f40			kf40	str	FU	-		-	-----	F40 function key
1095#key_f41			kf41	str	FV	-		-	-----	F41 function key
1096#key_f42			kf42	str	FW	-		-	-----	F42 function key
1097#key_f43			kf43	str	FX	-		-	-----	F43 function key
1098#key_f44			kf44	str	FY	-		-	-----	F44 function key
1099#key_f45			kf45	str	FZ	-		-	-----	F45 function key
1100#key_f46			kf46	str	Fa	-		-	-----	F46 function key
1101#key_f47			kf47	str	Fb	-		-	-----	F47 function key
1102#key_f48			kf48	str	Fc	-		-	-----	F48 function key
1103#key_f49			kf49	str	Fd	-		-	-----	F49 function key
1104#key_f50			kf50	str	Fe	-		-	-----	F50 function key
1105#key_f51			kf51	str	Ff	-		-	-----	F51 function key
1106#key_f52			kf52	str	Fg	-		-	-----	F52 function key
1107#key_f53			kf53	str	Fh	-		-	-----	F53 function key
1108#key_f54			kf54	str	Fi	-		-	-----	F54 function key
1109#key_f55			kf55	str	Fj	-		-	-----	F55 function key
1110#key_f56			kf56	str	Fk	-		-	-----	F56 function key
1111#key_f57			kf57	str	Fl	-		-	-----	F57 function key
1112#key_f58			kf58	str	Fm	-		-	-----	F58 function key
1113#key_f59			kf59	str	Fn	-		-	-----	F59 function key
1114#key_f60			kf60	str	Fo	-		-	-----	F60 function key
1115#key_f61			kf61	str	Fp	-		-	-----	F61 function key
1116#key_f62			kf62	str	Fq	-		-	-----	F62 function key
1117#key_f63			kf63	str	Fr	-		-	-----	F63 function key
1118#
1119# IBM extensions
1120#
1121# These extensions follow ptr_non (replacing everything after it) in IBM
1122# terminfo files.
1123#
1124# The places in the box[12] capabilities correspond to acsc characters, here is
1125# the mapping:
1126#
1127#	box1[0]  = ACS_ULCORNER
1128#	box1[1]  = ACS_HLINE	
1129#	box1[2]  = ACS_URCORNER
1130#	box1[3]  = ACS_VLINE
1131#	box1[4]  = ACS_LRCORNER
1132#	box1[5]  = ACS_LLCORNER
1133#	box1[6]  = ACS_TTEE
1134#	box1[7]  = ACS_RTEE
1135#	box1[8]  = ACS_BTEE
1136#	box1[9]  = ACS_LTEE
1137#	box1[10] = ACS_PLUS
1138#
1139# The box2 characters are the double-line versions of these forms graphics.
1140#
1141box_chars_1			box1	str	bx	-		-	----K	box characters primary set
1142#box_chars_2			box2	str	by	-		-	----K	box characters secondary set
1143#box_attr_1			batt1	str	Bx	-		-	----K	attributes for box1
1144#box_attr_2			batt2	str	By	-		-	----K	attributes for box2
1145#color_bg_0			colb0	str	d0	-		-	----K	background color 0
1146#color_bg_1			colb1	str	d1	-		-	----K	background color 1
1147#color_bg_2			colb2	str	d2	-		-	----K	background color 2
1148#color_bg_3			colb3	str	d3	-		-	----K	background color 3
1149#color_bg_4			colb4	str	d4	-		-	----K	background color 4
1150#color_bg_5			colb5	str	d5	-		-	----K	background color 5
1151#color_bg_6			colb6	str	d6	-		-	----K	background color 6
1152#color_bg_7			colb7	str	d7	-		-	----K	background color 7
1153#color_fg_0			colf0	str	c0	-		-	----K	foreground color 0
1154#color_fg_1			colf1	str	c1	-		-	----K	foreground color 1
1155#color_fg_2			colf2	str	c2	-		-	----K	foreground color 2
1156#color_fg_3			colf3	str	c3	-		-	----K	foreground color 3
1157#color_fg_4			colf4	str	c4	-		-	----K	foreground color 4
1158#color_fg_5			colf5	str	c5	-		-	----K	foreground color 5
1159#color_fg_6			colf6	str	c6	-		-	----K	foreground color 6
1160#color_fg_7			colf7	str	c7	-		-	----K	foreground color 7
1161#font_0				font0	str	f0	-		-	-----	select font 0
1162#font_1				font1	str	f1	-		-	-----	select font 1
1163#font_2				font2	str	f2	-		-	-----	select font 2
1164#font_3				font3	str	f3	-		-	-----	select font 3
1165#font_4				font4	str	f4	-		-	----K	select font 4
1166#font_5				font5	str	f5	-		-	----K	select font 5
1167#font_6				font6	str	f6	-		-	----K	select font 6
1168#font_7				font7	str	f7	-		-	----K	select font 7
1169#key_back_tab			kbtab	str	k0	-		-	-----	backtab key
1170#key_do				kdo	str	ki	-		-	----K	do request key
1171#key_command			kcmd	str	kd	-		-	----K	command-request key
1172#key_command_pane		kcpn	str	kW	-		-	----K	command-pane key
1173#key_end			kend	str	kw	-		-	-----	end key
1174#key_help			khlp	str	kq	-		-	-----	help key
1175#key_newline			knl	str	nl	-		-	----K	newline key
1176#key_next_pane			knpn	str	kv	-		-	----K	next-pane key
1177#key_prev_cmd			kppn	str	kp	-		-	----K	previous-command key
1178#key_prev_pane			kppn	str	kV	-		-	----K	previous-pane key
1179#key_quit			kquit	str	kQ	-		-	----K	quit key
1180#key_select			ksel	str	kU	-		-	-----	select key
1181#key_scroll_left		kscl	str	kz	-		-	----K	scroll left
1182#key_scroll_right		kscr	str	kZ	-		-	----K	scroll right
1183#key_tab			ktab	str	ko	-		-	----K	tab key
1184#key_smap_in1			kmpf1	str	Kv	-		-	----K	special mapped key 1 input
1185#key_smap_out1			kmpt1	str	KV	-		-	----K	special mapped key 1 output
1186#key_smap_in2			kmpf2	str	Kw	-		-	----K	special mapped key 2 input
1187#key_smap_out2			kmpt2	str	KW	-		-	----K	special mapped key 2 output
1188#key_smap_in3			kmpf3	str	Kx	-		-	----K	special mapped key 3 input
1189#key_smap_out3			kmpt3	str	KX	-		-	----K	special mapped key 3 output
1190#key_smap_in4			kmpf4	str	Ky	-		-	----K	special mapped key 4 input
1191#key_smap_out4			kmpt4	str	KY	-		-	----K	special mapped key 4 output
1192#key_smap_in5			kmpf5	str	Kz	-		-	----K	special mapped key 5 input
1193#key_smap_out5			kmpt5	str	KZ	-		-	----K	special mapped key 5 output
1194#appl_defined_str		apstr	str	za	-		-	----K	application-defined string
1195# The key_smap_in[6789] and key_smap_out[6789] capabilities aren't described in
1196# the IBM manual pages, so the cap name strings are guesses.  The terminfo
1197# names are almost certainly right, the termcap ones almost certainly wrong.
1198#key_smap_in6			kmpf6	str	k!	-		-	----K	special mapped key 6 input
1199#key_smap_out6			kmpt6	str	K@	-		-	----K	special mapped key 6 output
1200#key_smap_in7			kmpf7	str	k#	-		-	----K	special mapped key 7 input
1201#key_smap_out7			kmpt7	str	K$	-		-	----K	special mapped key 7 output
1202#key_smap_in8			kmpf8	str	k%	-		-	----K	special mapped key 8 input
1203#key_smap_out8			kmpt8	str	K^	-		-	----K	special mapped key 8 output
1204#key_smap_in9			kmpf9	str	k&	-		-	----K	special mapped key 9 input
1205#key_smap_out9			kmpt9	str	K*	-		-	----K	special mapped key 9 output
1206# Undocumented capabilities end here
1207#key_sf1			ksf1	str	S1	-		-	----K	special function key 1
1208#key_sf2			ksf2	str	S2	-		-	----K	special function key 2
1209#key_sf3			ksf3	str	S3	-		-	----K	special function key 3
1210#key_sf4			ksf4	str	S4	-		-	----K	special function key 4
1211#key_sf5			ksf5	str	S5	-		-	----K	special function key 5
1212#key_sf6			ksf6	str	S6	-		-	----K	special function key 6
1213#key_sf7			ksf7	str	S7	-		-	----K	special function key 7
1214#key_sf8			ksf8	str	S8	-		-	----K	special function key 8
1215#key_sf9			ksf9	str	S9	-		-	----K	special function key 9
1216#key_sf10			ksf10	str	SA	-		-	----K	special function key 10
1217# AIX version 3 documents different codes for F11, F12 and does not mention
1218# F13-F64.  AIX version 4 uses the same naming for F0-F63 as above.
1219#key_f11			kf11	str	k<	-		-	-----	function key 11
1220#key_f12			kf12	str	k>	-		-	-----	function key 12
1221# Undocumented capabilities end here.
1222#key_action			kact	str	kJ	-		-	----K	sent by action key
1223# The IBM docs say these capabilities are for table-drawing, and are
1224# valid only for aixterm descriptions.
1225#enter_topline_mode		topl	str	tp	-		-	----K	start top-line mode
1226#enter_bottom_mode		btml	str	bm	-		-	----K	start bottom-line mode
1227#enter_rvert_mode		rvert	str	rv	-		-	----K	start right-vertical mode
1228#enter_lvert_mode		lvert	str	lv	-		-	----K	start left-vertical mode
1229#
1230#############################################################################
1231#
1232# ALIAS DECLARATIONS
1233#
1234# Here we set up aliases for translating extensions into standard terminfo.
1235#
1236#---------------------------------- Termcap aliases -------------------------
1237#
1238# BSD aliases:
1239#
1240# This is a common error in many termcap files.  We'll get notified during
1241# translation when this (or any other alias) fires.
1242#
1243capalias	sb	sr	BSD	scroll text down
1244#
1245# AT&T extensions:
1246#
1247# The old AT&T 5410, 5420, 5425, pc6300plus, 610, and s4 entries used a set of
1248# nonstandard capabilities.  Its signature is the KM capability, used to name
1249# some sort of keymap file.  EE, BO, CI, CV, XS, DS, FL and FE are in this
1250# set.  Comments in the original, and a little cross-checking with other AT&T
1251# documentation, seem to establish the following mappings:
1252#
1253capalias	BO	mr	AT&T	enter_reverse_mode
1254capalias	CI	vi	AT&T	cursor_invisible
1255capalias	CV	ve	AT&T	cursor_normal
1256capalias	DS	mh	AT&T	enter_dim_mode
1257#capalias	EE	me	AT&T	exit_attribute_mode	
1258capalias	FE	LF	AT&T	label_on
1259capalias	FL	LO	AT&T	label_off
1260capalias	XS	mk	AT&T	enter_secure_mode
1261#
1262# We comment out EE because the conflicting XENIX EE is more common in 
1263# old entries.
1264#
1265# XENIX extensions:
1266#
1267# These are the ones we know how to translate directly:
1268#
1269capalias	EE	mh	XENIX	exit_attribute_mode	
1270capalias	GE	ae	XENIX	exit_alt_charset_mode
1271capalias	GS	as	XENIX	enter_alt_charset_mode
1272capalias	CF	vi	XENIX	cursor_invis
1273capalias	CO	ve	XENIX	cursor_normal
1274capalias	EN	@7	XENIX	key_end
1275capalias	HM	kh	XENIX	key_home
1276capalias	LD	kL	XENIX	key_dl
1277capalias	PD	kN	XENIX	key_npage
1278capalias	PN	po	XENIX	prtr_off
1279capalias	PS	pf	XENIX	prtr_on
1280capalias	PU	kP	XENIX	key_ppage
1281capalias	RT	@8	XENIX	kent
1282capalias	UP	ku	XENIX	kcuu1
1283capalias	G6	IGNORE	XENIX	double-ACS_ULCORNER
1284capalias	G7	IGNORE	XENIX	double-ACS_LLCORNER
1285capalias	G5	IGNORE	XENIX	double-ACS_URCORNER
1286capalias	G8	IGNORE	XENIX	double-ACS_LRCORNER
1287capalias	Gr	IGNORE	XENIX	double-ACS_LTEE
1288capalias	Gr	IGNORE	XENIX	double-ACS_RTEE
1289capalias	Gu	IGNORE	XENIX	double-ACS_BTEE
1290capalias	Gd	IGNORE	XENIX	double ACS_TTEE
1291capalias	Gh	IGNORE	XENIX	double-ACS_HLINE
1292capalias	Gv	IGNORE	XENIX	double-ACS_VLINE
1293capalias	Gc	IGNORE	XENIX	double-ACS_PLUS
1294capalias	GG	IGNORE	XENIX	acs-glitch
1295#
1296# IBM extensions:
1297#
1298capalias	kq	%1	IBM	key_help
1299#
1300# Iris extensions:
1301#
1302capalias	HS	mh	IRIS	enter_dim_mode
1303#
1304# Tektronix extensions:
1305#
1306capalias	KA	k;	Tek	key_f10
1307capalias	KB	F1	Tek	key_f11
1308capalias	KC	F2	Tek	key_f12
1309capalias	KD	F3	Tek	key_f13
1310capalias	KE	F4	Tek	key_f14
1311capalias	KF	F5	Tek	key_f15
1312capalias	BC	Sb	Tek	set_background
1313capalias	FC	Sf	Tek	set_foreground
1314#
1315# There are also the following:
1316#
1317#	XENIX	XENIX variable name	name clash with terminfo?
1318#	-----	-------------------	-------------------------
1319#	CL	key_char_left
1320#	CR	key_char_right
1321#	CW	key_change_window
1322#	HP	??
1323#	LF	key_linefeed 		label_off
1324#	NU	key_next_unlocked_cell
1325#	PL	??
1326#	PR	??
1327#	RC	key_recalc		remove_clock
1328#	RF	key_toggle_ref		req_for_input
1329#	WL	key_word_left
1330#	WR	key_word_right
1331#
1332# If you know what any of the question-marked ones mean, please tell us.
1333#
1334#--------------------------------- Terminfo aliases ------------------------
1335#
1336# IBM extensions:
1337#
1338infoalias	font0	s0ds	IBM	set0_des_seq
1339infoalias	font1	s1ds	IBM	set1_des_seq
1340infoalias	font2	s2ds	IBM	set2_des_seq
1341infoalias	font3	s3ds	IBM	set3_des_seq
1342infoalias	kbtab	kcbt	IBM	key_backtab
1343infoalias	ksel	kslt	IBM	key_select
1344#
1345# Some others are identical to SVr4/XPG4 capabilities, in particular:
1346# kcmd, kend, khlp, and kf11...kf63.
1347#
1348#############################################################################
1349#
1350# The following sets edit modes for GNU EMACS
1351# Local Variables:
1352# case-fold-search:nil
1353# truncate-lines:t
1354# End:
1355