##############################################################################
# Copyright 2020 Thomas E. Dickey                                            #
# Copyright 1998-2003,2006 Free Software Foundation, Inc.                    #
#                                                                            #
# Permission is hereby granted, free of charge, to any person obtaining a    #
# copy of this software and associated documentation files (the "Software"), #
# to deal in the Software without restriction, including without limitation  #
# the rights to use, copy, modify, merge, publish, distribute, distribute    #
# with modifications, sublicense, and/or sell copies of the Software, and to #
# permit persons to whom the Software is furnished to do so, subject to the  #
# following conditions:                                                      #
#                                                                            #
# The above copyright notice and this permission notice shall be included in #
# all copies or substantial portions of the Software.                        #
#                                                                            #
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR #
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,   #
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL    #
# THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER      #
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING    #
# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER        #
# DEALINGS IN THE SOFTWARE.                                                  #
#                                                                            #
# Except as contained in this notice, the name(s) of the above copyright     #
# holders shall not be used in advertising or otherwise to promote the sale, #
# use or other dealings in this Software without prior written               #
# authorization.                                                             #
##############################################################################
# $Id: emx.src,v 1.12 2020/02/02 23:34:34 tom Exp $
# This is a reformatted copy of the terminfo source for OS/2 EMX from
# Juan Jose Garcia Ripoll <worm@arrakis.es>.
# http://www.arrakis.es/~worm/
#----------------------------------------------------------------------------
#
# This section describes terminal classes and maker brands that are still
# quite common.
#

#### Specials
#
# Special "terminals".  These are used to label tty lines when you don't
# know what kind of terminal is on it.  The characteristics of an unknown
# terminal are the lowest common denominator - they look about like a ti 700.
#

dumb|80-column dumb tty,
	am,
	cols#80,
	bel=^G,
	cr=^M,
	cud1=^J,
	ind=^J,
unknown|unknown terminal type,
	gn,
	use=dumb,
lpr|printer|line printer,
	hc,
	os,
	cols#132,
	lines#66,
	bel=^G,
	cr=^M,
	cub1=^H,
	cud1=^J,
	ff=^L,
	ind=^J,
glasstty|classic glass tty interpreting ASCII control characters,
	am,
	cols#80,
	bel=^G,
	clear=^L,
	cr=^M,
	cub1=^H,
	cud1=^J,
	ht=^I,
	kbs=^H,
	kcub1=^H,
	kcud1=^J,
	nel=^M^J,

#### ANSI.SYS/ISO 6429/ECMA-48 Capabilities
#
# See the end-of-file comment for more on these.
#

# The IBM PC alternate character set.  Plug this into any Intel console entry.
# We use \E[11m for rmacs rather than \E[12m so the <acsc> string can use the
# ROM graphics for control characters such as the diamond, up- and down-arrow.
# This works with the System V, Linux, and BSDI consoles.  It's a safe bet this
# will work with any Intel console, they all seem to have inherited \E[11m
# from the ANSI.SYS de-facto standard.
klone+acs|alternate character set for ansi.sys displays,
	acsc=+\020\,\021-\030.^Y0\333`\004a\261f\370g\361h\260j\331k\277l\332m\300n\305o~p\304q\304r\304s_t\303u\264v\301w\302x\263y\363z\362{\343|\330}\234~\376,
	rmacs=\E[10m,
	smacs=\E[11m,

# Highlight controls corresponding to the ANSI.SYS standard.  Most
# console drivers for Intel boxes obey these.  Makes the same assumption
# about \E[11m as klone+acs.  True ANSI/ECMA-48 would have <rmso=\E[27m>,
# <rmul=\E[24m>, but this isn't a documented feature of ANSI.SYS.
klone+sgr|attribute control for ansi.sys displays,
	blink=\E[5m,
	bold=\E[1m,
	invis=\E[8m,
	rev=\E[7m,
	rmacs=\E[10m,
	rmpch=\E[10m,
	rmso=\E[m,
	rmul=\E[m,
	sgr=\E[0;10%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p6%t;1%;%?%p7%t;8%;%?%p9%t;11%;m,
	sgr0=\E[0;10m,
	smacs=\E[11m,
	smpch=\E[11m,
	smso=\E[7m,
	smul=\E[4m,
	use=klone+acs,

# Highlight controls corresponding to the ANSI.SYS standard.  *All*
# console drivers for Intel boxes obey these.  Does not assume \E[11m will
# work; uses \E[12m instead, which is pretty bulletproof but loses you the ACS
# diamond and arrow characters under curses.
klone+sgr-dumb|attribute control for ansi.sys displays (no ESC [ 11 m),
	blink=\E[5m,
	bold=\E[1m,
	invis=\E[8m,
	rev=\E[7m,
	rmacs=\E[10m,
	rmso=\E[m,
	rmul=\E[m,
	sgr=\E[0;10%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p6%t;1%;%?%p7%t;8%;%?%p9%t;12%;m,
	sgr0=\E[0;10m,
	smacs=\E[12m,
	smso=\E[7m,
	smul=\E[4m,
	use=klone+acs,

# ANSI.SYS color control.
# The DOS 5 manual asserts that these sequences meet the ISO 6429 standard.
klone+color|color control for ansi.sys and ISO6429-compatible displays,
	colors#8,
	ncv#3,
	pairs#64,
	op=\E[37;40m,
	setab=\E[4%p1%dm,
	setaf=\E[3%p1%dm,

# This is better than klone+color, it doesn't assume white-on-black as the
# default color pair,  but many `ANSI' terminals don't grok the <op> cap.
ecma+color|color control for ECMA-48-compatible terminals,
	AX,
	colors#8,
	ncv#3,
	pairs#64,
	op=\E[39;49m,
	setab=\E[4%p1%dm,
	setaf=\E[3%p1%dm,

#### ANSI/ECMA-48 terminals and terminal emulators
#
# See near the end of this file for details on ANSI conformance.
# Don't mess with these entries!  Lots of other entries depend on them!
#
# This section lists entries in a least-capable to most-capable order.
# if you're in doubt about what `ANSI' matches yours, try them in that
# order and back off from the first that breaks.

ansi-mini|any ansi terminal with pessimistic assumptions,
	am,
	cols#80,
	it#8,
	lines#24,
	clear=\E[H\E[2J$<50>,
	cub1=\E[D,
	cud1=\E[B,
	cuf1=\E[C,
	cup=\E[%i%p1%d;%p2%dH,
	cuu1=\E[A,
	el=\E[K,
	home=\E[H,
	ht=^I,

#
# ANSI.SYS entries
#
# This completely describes the sequences specified in the DOS 2.1 ANSI.SYS
# documentation (except for the keyboard key reassignment feature, which
# doesn't fit the <pfkey> model well).  The klone+acs sequences were valid
# though undocumented.  The <pfkey> capability is untested but should work for
# keys F1-F10 (%p1 values outside this range will yield unpredictable results).
# From: Eric S. Raymond <esr@snark.thyrsus.com> Nov 7 1995
ansi.sys-old|ANSI.SYS under PC-DOS 2.1,
	am,
	mir,
	msgr,
	xon,
	cols#80,
	lines#25,
	clear=\E[2J,
	cub1=^H,
	cud1=\E[B,
	cuf1=\E[C,
	cup=\E[%i%p1%d;%p2%dH,
	cuu1=\E[A,
	el=\E[k,
	home=\E[H,
	is2=\E[m\E[?7h,
	kcub1=^H,
	kcud1=^J,
	kcuf1=^L,
	kcuu1=^K,
	khome=^^,
	pfkey=\E[0;%p1%{58}%+%d;%p2"%s",
	rc=\E[u,
	rmam=\E[?7l,
	sc=\E[s,
	smam=\E[?7h,
	u6=\E[%i%d;%dR,
	u7=\E[6n,
	use=klone+color,
	use=klone+acs,
	use=klone+sgr,
ansi.sys|ANSI.SYS 3.1 and later versions,
	el=\E[K,
	use=ansi.sys-old,

### EMX termcap.dat compatibility modes
#
# Keypad:	Home=\0G	Up=\0H	PrPag=\0I
#		ka1,kh		kcuu1		kpp,ka3
#
#		Left=\0K	5=\0L		Right=\0M
#		kcub1		kb2		kcuf1
#
#		End=\0O		Down=\0P	NxPag=\0Q
#		kc1,kend	kcud1		kc3,knp
#
#		Ins=\0R		Del=\0S
#		kich1		kdch1
#
# On keyboard with 12 function keys,
#	shifted f-keys: F13-F24
#	control f-keys: F25-F36
#	alt f-keys:     F37-F48
# The shift/control/alt keys do not modify each other, but alt overrides both,
# and control overrides shift.
#
# Also (possibly only EMX, so we don't put it in ansi.sys, etc): set the
# no_color_video to inform the application that standout(1), underline(2)
# reverse(4) and invisible(64) don't work with color.
emx-base|DOS special keys,
	bce,
	bw,
	it#8,
	ncv#71,
	bel=^G,
	ka1=\0G,
	ka3=\0I,
	kb2=\0L,
	kbs=^H,
	kc1=\0O,
	kc3=\0Q,
	kcbt=\0^O,
	kcub1=\0K,
	kcud1=\0P,
	kcuf1=\0M,
	kcuu1=\0H,
	kdch1=\0S,
	kend=\0O,
	kf1=\0;,
	kf10=\0D,
	kf11=\0\205,
	kf12=\0\206,
	kf13=\0T,
	kf14=\0U,
	kf15=\0V,
	kf16=\0W,
	kf17=\0X,
	kf18=\0Y,
	kf19=\0Z,
	kf2=\0<,
	kf20=\0[,
	kf21=\0\\,
	kf22=\0],
	kf23=\0\207,
	kf24=\0\210,
	kf25=\0\^,
	kf26=\0_,
	kf27=\0`,
	kf28=\0a,
	kf29=\0b,
	kf3=\0=,
	kf30=\0c,
	kf31=\0d,
	kf32=\0e,
	kf33=\0f,
	kf34=\0g,
	kf35=\0\211,
	kf36=\0\212,
	kf37=\0h,
	kf38=\0i,
	kf39=\0j,
	kf4=\0>,
	kf40=\0k,
	kf41=\0l,
	kf42=\0m,
	kf43=\0n,
	kf44=\0o,
	kf45=\0p,
	kf46=\0q,
	kf47=\0\213,
	kf48=\0\214,
	kf5=\0?,
	kf6=\0@,
	kf7=\0A,
	kf8=\0B,
	kf9=\0C,
	khome=\0G,
	kich1=\0R,
	knp=\0Q,
	kpp=\0I,
	use=ansi.sys,
#
# To properly translate termcap.dat -> terminfo.src remember these
# equivalences:
#	ti	<->	smcup	string to start programs using cup(termcap)
#	te	<->	rmcup	string to end programs using cup
#	so	<->	smso	begin standout mode
#	se	<->	rmso	exit standout mode
#	us	<->	smul	begin underline mode
#	ue	<->	rmul	exit underline mode
#	mb	<->	blink	turn on blinking
#	md	<->	bold	turn on extra bright (bold) mode
#	mr	<->	rev	turn on reverse video mode
#	me	<->	sgr0	turn off all attributes
#
# On my terminal, \E[4m looks dim.
ansi-emx|ANSI.SYS color,
	blink=\E[5m,
	bold=\E[1m,
	kmous=\E[M,
	rev=\E[7m,
	rmcup=\E[0m,
	rmso=\E[0m,
	rmul@,
	sgr0=\E[0m,
	smcup=\E[0;37;40m,
	smso=\E[7m,
	smul@,
	use=emx-base,
window|ANSI.SYS window,
	blink=\E[5m,
	bold=\E[1;37;47m,
	rev=\E[1;37;47m,
	rmcup=\E[0m,
	rmso=\E[0;37;40m,
	rmul=\E[0;37;40m,
	sgr0=\E[0;37;40m,
	smcup=\E[0;37;40m,
	smso=\E[1;37;47m,
	smul=\E[1;31;47m,
	use=emx-base,
os2|OS/2-emx ANSI.SYS,
	cub=\E[%p1%dD,
	cub1=\E[D,
	cud=\E[%p1%dB,
	cud1=\E[B,
	cuf=\E[%p1%dC,
	cuf1=\E[C,
	cuu=\E[%p1%dA,
	cuu1=\E[A,
	rc=\E[u,
	sc=\E[s,
	use=ansi-emx,
	use=mono,
mono|ANSI.SYS mono,
	blink=\E[5m,
	bold=\E[1m,
	rev=\E[7m,
	rmcup=\E[0m,
	rmso=\E[m,
	rmul=\E[m,
	sgr0=\E[m,
	smcup=\E[0m,
	smso=\E[1m,
	smul=\E[4m,
	use=emx-base,
# same as mono, but use reverse video for standout (nice for Emacs)
rmono|ANSI.SYS reverse mono,
	smso=\E[7m,
	use=mono,
# same as mono, but use a readable color for underlining
mono2|ANSI.SYS mono2,
	rmul=\E[0m,
	smul=\E[1;31;40m,
	use=mono,
# nice colors for Emacs (white on blue, mode line white on cyan)
ansi-color-2-emx|ANSI.SYS color 2,
	rmcup=\E[0m,
	rmso=\E[0;37;44m,
	rmul=\E[0m,
	sgr0=\E[0;37;44m,
	smcup=\E[0;37;44m,
	smso=\E[1;37;46m,
	smul=\E[1;31;40m,
	use=ansi-emx,
# nice colors for Emacs (white on black, mode line black on cyan)
ansi-color-3-emx|ANSI.SYS color 3,
	rmcup=\E[0m,
	rmso=\E[0m,
	rmul=\E[0m,
	sgr0=\E[0m,
	smcup=\E[0m,
	smso=\E[30;46m,
	smul=\E[1;31;40m,
	use=ansi-emx,

#### X terminal emulators
#
# X10/6.6	11/7/86, minus alternate screen, plus (csr)
# (xterm: ":MT:" changed to ":km:"; added <smam>/<rmam> based on init string;
# removed (hs, eslok, tsl=\E[?E\E[?%i%dT, fsl=\E[?F, dsl=\E[?E)
# as these seem not to work -- esr)
x10term|vs100-x10|xterm terminal emulator (X10 window system),
	am,
	km,
	mir,
	msgr,
	xenl,
	xon,
	cols#80,
	it#8,
	lines#65,
	bold=\E[1m,
	clear=\E[H\E[2J,
	csr=\E[%i%p1%d;%p2%dr,
	cub1=^H,
	cud1=^J,
	cuf1=\E[C,
	cup=\E[%i%p1%d;%p2%dH,
	cuu1=\E[A,
	dch=\E[%p1%dP,
	dch1=\E[P,
	dl=\E[%p1%dM,
	dl1=\E[M,
	ed=\E[J,
	el=\E[K,
	home=\E[H,
	ht=^I,
	il=\E[%p1%dL,
	il1=\E[L,
	ind=^J,
	is2=\E\E[m\E[?7h\E[?1;4l,
	kbs=^H,
	kcub1=\EOD,
	kcud1=\EOB,
	kcuf1=\EOC,
	kcuu1=\EOA,
	kf1=\EOP,
	kf2=\EOQ,
	kf3=\EOR,
	kf4=\EOS,
	rev=\E[7m,
	ri=\EM,
	rmam=\E[?7l,
	rmir=\E[4l,
	rmkx=\E[?1l\E>,
	rmso=\E[m,
	rmul=\E[m,
	sgr0=\E[m,
	smam=\E[?7h,
	smir=\E[4h,
	smkx=\E[?1h\E=,
	smso=\E[7m,
	smul=\E[4m,
# X11R6 xterm.  This is known good for the XFree86 version under Linux.
# It is *way* more featureful than the stock X consortium entry (has acsc,
# for starters).  The <kmous> key is actually the \E[M prefix returned by
# xterm's internal mouse-tracking facility; ncurses will interpret the
# following three bytes of mouse status information.
# From: Eric S. Raymond <esr@snark.thyrsus.com> 14 Dec 1995
xterm-r6|xterm terminal emulator (X11R6 Window System),
	am,
	km,
	mir,
	msgr,
	xenl,
	xon,
	cols#80,
	it#8,
	lines#65,
	acsc=++\,\,--..00II``aaffgghhjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
	bel=^G,
	bold=\E[1m,
	clear=\E[H\E[2J,
	cr=^M,
	csr=\E[%i%p1%d;%p2%dr,
	cub=\E[%p1%dD,
	cub1=^H,
	cud=\E[%p1%dB,
	cud1=^J,
	cuf=\E[%p1%dC,
	cuf1=\E[C,
	cup=\E[%i%p1%d;%p2%dH,
	cuu=\E[%p1%dA,
	cuu1=\E[A,
	dch=\E[%p1%dP,
	dch1=\E[P,
	dl=\E[%p1%dM,
	dl1=\E[M,
	ed=\E[J,
	el=\E[K,
	enacs=\E(B\E)0,
	home=\E[H,
	ht=^I,
	ich=\E[%p1%d@,
	ich1=\E[@,
	il=\E[%p1%dL,
	il1=\E[L,
	ind=^J,
	is2=\E[r\E[m\E[2J\E[H\E[?7h\E[?1;3;4;6l\E[4l,
	kbs=^H,
	kcub1=\EOD,
	kcud1=\EOB,
	kcuf1=\EOC,
	kcuu1=\EOA,
	kend=\EOe,
	kent=\EOM,
	kf1=\E[11~,
	kf10=\E[21~,
	kf11=\E[23~,
	kf12=\E[24~,
	kf13=\E[25~,
	kf14=\E[26~,
	kf15=\E[28~,
	kf16=\E[29~,
	kf17=\E[31~,
	kf18=\E[32~,
	kf19=\E[33~,
	kf2=\E[12~,
	kf20=\E[34~,
	kf3=\E[13~,
	kf4=\E[14~,
	kf5=\E[15~,
	kf6=\E[17~,
	kf7=\E[18~,
	kf8=\E[19~,
	kf9=\E[20~,
	kfnd=\E[1~,
	khome=\EO\0,
	kich1=\E[2~,
	kmous=\E[M,
	knp=\E[6~,
	kpp=\E[5~,
	rc=\E8,
	rev=\E[7m,
	ri=\EM,
	rmacs=^O,
	rmam=\E[?7l,
	rmcup=\E[2J\E[?47l\E8,
	rmir=\E[4l,
	rmkx=\E[?1l\E>,
	rmso=\E[m,
	rmul=\E[m,
	rs1=^O,
	rs2=\E[r\E[m\E[2J\E[H\E[?7h\E[?1;3;4;6l\E[4l\E<,
	sc=\E7,
	sgr0=\E[m,
	smacs=^N,
	smam=\E[?7h,
	smcup=\E7\E[?47h,
	smir=\E[4h,
	smkx=\E[?1h\E=,
	smso=\E[7m,
	smul=\E[4m,
	tbc=\E[3k,
	u6=\E[%i%d;%dR,
	u7=\E[6n,
	u8=\E[?1;2c,
	u9=\E[c,
xterm-bold|xterm terminal emulator (X11R6 Window System) standout w/bold,
	smso=\E[1m,
	use=xterm,
xterms|vs100s|xterm terminal emulator (small screen 24x80),
	cols#80,
	lines#24,
	use=xterm,
# (kterm: this had extension capabilities ":KJ:TY=ascii:" -- esr)
kterm|kterm kanji terminal emulator (X window system),
	eslok,
	hs,
	csr=\E[%i%p1%d;%p2%dr,
	dsl=\E[?H,
	fsl=\E[?F,
	rc=\E8,
	sc=\E7,
	tsl=\E[?E\E[?%i%dT,
	use=xterm,
	use=ecma+color,

# See the note on ICH/ICH1 VERSUS RMIR/SMIR near the end of file
xterm-nic|xterm with ich/ich1 suppressed for non-curses programs,
	ich@,
	ich1@,
	use=xterm,

# Should work with the color xterm on the X11R6 contrib tape.
# Assumes the xterm attribute default is black on white.
# From: Eric S. Raymond <esr@snark.thyrsus.com> March 4 1996
xterm-color|xterm with color support,
	op=\E[30;47m,
	use=xterm,
	use=klone+color,

# From: Thomas Dickey <dickey@clark.net> 13 Dec 1995
rxvt|rxvt terminal emulator,
	kend=\EOw,
	khome=\E[H,
	kmous@,
	use=xterm,
	use=klone+color,

# From: David J. MacKenzie <djm@va.pubnix.com> 20 Apr 1995
# Here's a termcap entry I've been using for xterm_color, which comes
# with BSD/OS 2.0, and the X11R6 contrib tape too I think.  Besides the
# color stuff, I also have a status line defined as the window manager
# title bar. [I have translated it to terminfo -- ESR]
xterm-pcolor|xterm with color used for highlights and status line,
	hs,
	wsl#40,
	bold=\E[1m\E[43m,
	dsl=\E]0;\007,
	fsl=^G,
	rev=\E[7m\E[34m,
	smso=\E[7m\E[31m,
	smul=\E[4m\E[42m,
	tsl=\E]0;,
	use=xterm,

# HP ships this, except for the pb#9600 which was merged in from BSD termcap.
hpterm|X-hpterm|hp X11 terminal emulator,
	am,
	da,
	db,
	mir,
	xhp,
	cols#80,
	lh#2,
	lines#24,
	lm#0,
	lw#8,
	nlab#8,
	pb#9600,
	xmc#0,
	bel=^G,
	bold=\E&dB,
	cbt=\Ei,
	clear=\E&a0y0C\EJ,
	cr=^M,
	cub1=^H,
	cud1=\EB,
	cuf1=\EC,
	cup=\E&a%p1%dy%p2%dC,
	cuu1=\EA,
	dch1=\EP,
	dim=\E&dH,
	dl1=\EM,
	ed=\EJ$<1>,
	el=\EK,
	hpa=\E&a%p1%dC,
	ht=^I,
	hts=\E1,
	il1=\EL,
	ind=^J,
	kbs=^H,
	kclr=\EJ,
	kctab=\E2,
	kcub1=\ED,
	kcud1=\EB,
	kcuf1=\EC,
	kcuu1=\EA,
	kdch1=\EP,
	kdl1=\EM,
	ked=\EJ,
	kel=\EK,
	kf1=\Ep,
	kf2=\Eq,
	kf3=\Er,
	kf4=\Es,
	kf5=\Et,
	kf6=\Eu,
	kf7=\Ev,
	kf8=\Ew,
	khome=\Eh,
	khts=\E1,
	kich1=\EQ,
	kil1=\EL,
	kind=\ES,
	kll=\EF,
	knp=\EU,
	kpp=\EV,
	kri=\ET,
	krmir=\ER,
	ktbc=\E3,
	meml=\El,
	memu=\Em,
	pfkey=\E&f%p1%dk%p2%l%dL%p2%s,
	pfloc=\E&f1a%p1%dk%p2%l%dL%p2%s,
	pfx=\E&f2a%p1%dk%p2%l%dL%p2%s,
	pln=\E&f%p1%dk%p2%l%dd0L%p2%s,
	rev=\E&dB,
	ri=\ET,
	rmacs=^O,
	rmir=\ER,
	rmkx=\E&s0A,
	rmln=\E&j@,
	rmso=\E&d@,
	rmul=\E&d@,
	sgr=\E&d%?%p7%t%'s'%c%;%p1%p3%|%p6%|%{2}%*%p2%{4}%*%+%p4%+%p5%{8}%*%+%'@'%+%c%?%p9%t%'\016'%c%e%'\017'%c%;,
	sgr0=\E&d@,
	smacs=^N,
	smir=\EQ,
	smkx=\E&s1A,
	smln=\E&jB,
	smso=\E&dJ,
	smul=\E&dD,
	tbc=\E3,
	vpa=\E&a%p1%dY,

# This entry describes an xterm with Sun-style function keys enabled
# via the X resource setting "xterm*sunFunctionKeys:true"
# To understand <kf11>/<kf12> note that L1,L2 and F11,F12 are the same.
# The <kf13>...<kf20> keys are L3-L10.  We don't set <kf16=\E[197z>
# because we want it to be seen as <kcpy>.
# The <kf31>...<kf45> keys are R1-R15.  We treat some of these in accordance
# with their Sun keyboard labels instead.
# From: Simon J. Gerraty <sjg@zen.void.oz.au> 10 Jan 1996
xterm-sun|xterm with sunFunctionKeys true,
	kb2=\E[218z,
	kcpy=\E[197z,
	kend=\E[220z,
	kf1=\E[224z,
	kf10=\E[233z,
	kf11=\E[192z,
	kf12=\E[193z,
	kf13=\E[194z,
	kf14=\E[195z,
	kf15=\E[196z,
	kf17=\E[198z,
	kf18=\E[199z,
	kf19=\E[200z,
	kf2=\E[225z,
	kf20=\E[201z,
	kf3=\E[226z,
	kf31=\E[208z,
	kf32=\E[209z,
	kf33=\E[210z,
	kf34=\E[211z,
	kf35=\E[212z,
	kf36=\E[213z,
	kf38=\E[215z,
	kf4=\E[227z,
	kf40=\E[217z,
	kf42=\E[219z,
	kf44=\E[221z,
	kf5=\E[228z,
	kf6=\E[229z,
	kf7=\E[230z,
	kf8=\E[231z,
	kf9=\E[232z,
	kfnd=\E[200z,
	khlp=\E[196z,
	khome=\E[214z,
	kich1=\E[2z,
	knp=\E[222z,
	kpp=\E[216z,
	kund=\E[195z,
	use=xterm,
xterms-sun|small (80x24) xterm with sunFunctionKeys true,
	cols#80,
	lines#24,
	use=xterm-sun,

# This is for the extensible terminal emulator on the X11R6 contrib tape.
emu|emu native mode,
	mir,
	msgr,
	xon,
	colors#15,
	cols#80,
	it#8,
	lines#24,
	pairs#64,
	vt#200,
	acsc=61a\202f\260g2j\213k\214l\215m\216n\217o\220q\222s\224t\225u\226v\227w\230x\231~\244,
	bel=^G,
	blink=\ES\EW,
	bold=\ES\EU,
	civis=\EZ,
	clear=\EP\EE0;0;,
	cnorm=\Ea,
	cr=^M,
	csr=\Ek%p1%d;%p2%d;,
	cub=\Eq-%p1%d;,
	cub1=^H,
	cud=\Ep%p1%d;,
	cud1=\EB,
	cuf=\Eq%p1%d;,
	cuf1=\ED,
	cup=\EE%p1%d;%p2%d;,
	cuu=\Ep-%p1%d;,
	cuu1=\EA,
	dch=\EI%p1%d;,
	dch1=\EI1;,
	dl=\ER%p1%d;,
	dl1=\ER1;,
	ech=\Ej%p1%d;,
	ed=\EN,
	el=\EK,
	el1=\EL,
	enacs=\0,
	home=\EE0;0;,
	ht=^I,
	hts=\Eh,
	il=\EQ%p1%d;,
	il1=\EQ1;,
	ind=\EG,
	is2=\ES\Er0;\Es0;,
	kbs=^H,
	kcub1=\EC,
	kcud1=\EB,
	kcuf1=\ED,
	kcuu1=\EA,
	kdch1=\177,
	kent=^M,
	kf0=\EF00,
	kf1=\EF01,
	kf10=\EF10,
	kf11=\EF11,
	kf12=\EF12,
	kf13=\EF13,
	kf14=\EF14,
	kf15=\EF15,
	kf16=\EF16,
	kf17=\EF17,
	kf18=\EF18,
	kf19=\EF19,
	kf2=\EF02,
	kf20=\EF20,
	kf3=\EF03,
	kf4=\EF04,
	kf5=\EF05,
	kf6=\EF06,
	kf7=\EF07,
	kf8=\EF08,
	kf9=\EF09,
	kfnd=\Efind,
	kich1=\Eins,
	knp=\Enext,
	kpp=\Eprior,
	kslt=\Esel,
	oc=\Es0;\Er0;,
	rev=\ES\ET,
	ri=\EF,
	rmacs=\0,
	rmir=\EX,
	rmso=\ES,
	rmul=\ES,
	rs2=\ES\Es0;\Er0;,
	setab=\Es%i%p1%d;,
	setaf=\Er%i%p1%d;,
	sgr0=\ES,
	smacs=\0,
	smir=\EY,
	smso=\ES\ET,
	smul=\ES\EV,
	tbc=\Ej,
###############################################################################
# Aliases which conflict with terminfo.src
ansi|ANSI.SYS color,
	use=ansi-emx,
ansi-color-2|ANSI.SYS color 2,
	use=ansi-color-2-emx,
ansi-color-3|ANSI.SYS color 3,
	use=ansi-color-3-emx,
xterm|vs100|xterm terminal emulator (X11R6 Window System),
	use=xterm-r6,
