ncurses 6.1 - patch 20190720
[ncurses.git] / misc / terminfo.src
index ee3db89d8a1ad31464bf7857e576aa21bde69233..f474201236f9edae26956970a42101fd3c278d43 100644 (file)
@@ -1,18 +1,53 @@
 ######## TERMINAL TYPE DESCRIPTIONS SOURCE FILE
 #
-# This version of terminfo.src is distributed with ncurses.
+# This version of terminfo.src is distributed with ncurses and is maintained
+# by Thomas E. Dickey (TD).
+#
+# Report bugs and new terminal descriptions to
+#      bug-ncurses@gnu.org
+#
+#      $Revision: 1.757 $
+#      $Date: 2019/07/06 20:35:26 $
+#
+# The original header is preserved below for reference.  It is noted that there
+# is a "newer" version which differs in some cosmetic details (but actually
+# stopped updates several years ago); we have decided to not change the header
+# unless there is also a change in content.
+#
+# To further muddy the waters, it is noted that changes to this file as part of
+# maintenance of ncurses (since 1996) are generally conceded to be copyright
+# under the ncurses MIT-style license.  That was the effect of the agreement
+# which the principal authors of ncurses made in 1998.  However, since much of
+# the file itself is of unknown authorship (and the disclaimer below makes it
+# obvious that Raymond cannot or will not convey rights over those parts),
+# there is no explicit copyright notice on the file itself.
+#
+# It would also be a nuisance to split the file into unknown/known authorship
+# and move pieces as they are maintained, since many of the maintenance changes
+# have been small corrections to Raymond's translations to/from termcap format,
+# correcting the data but not the accompanying annotations.
+#
+# In any case, note that almost half of this file is not data but annotations
+# which reflect creative effort.  Furthermore, the structure of entries to
+# reuse common chunks also is creative (and subject to copyright).  Finally,
+# some portions of the data are derivative work under a compatible MIT-style
+# license from xterm.
+#
+#------------------------------------------------------------------------------
+# https://invisible-island.net/ncurses/ncurses.faq.html#terminfo_copying
+# https://invisible-island.net/personal/copyrights.html#removing_notes
+#------------------------------------------------------------------------------
 #
 #      Version 10.2.1
-#      $Date: 1999/10/24 00:28:48 $
 #      terminfo syntax
 #
 #      Eric S. Raymond         (current maintainer)
 #      John Kunze, Berkeley
 #      Craig Leres, Berkeley
 #
-# Please e-mail changes to terminfo@ccil.org; the old termcap@berkeley.edu
+# Please e-mail changes to terminfo@thyrsus.com; the old termcap@berkeley.edu
 # address is no longer valid.  The latest version can always be found at
-# <http://earthspace.net/terminfo>.
+# <http://www.tuxedo.org/terminfo>.
 #
 # PURPOSE OF THIS FILE:
 #
@@ -28,7 +63,7 @@
 # termcap/terminfo versions.
 #
 # Pointers to related resources (including the ncurses distribution) may
-# be found at <http://earthspace.net/terminfo>.
+# be found at <http://www.tuxedo.org/terminfo>.
 #
 # INTERNATIONALIZATION:
 #
@@ -37,7 +72,7 @@
 # This file assumes a US-ASCII character set. If you need to fix this, start
 # by global-replacing \E(B and \E)B with the appropriate ISO 6429 enablers
 # for your character set.  \E(A and \E)A enables the British character set
-# with the pound sign at position 2/3.  
+# with the pound sign at position 2/3.
 #
 # In a Japanese-processing environment using EUC/Japanese or Shift-JIS,
 # C1 characters are considered the first-byte set of the Japanese encodings,
@@ -63,7 +98,7 @@
 # string-table limit of archaic termcap libraries except where explicitly
 # noted below.  Note that the termcap translation assumes that your termcap
 # library can handle multiple tc capabilities in an entry. 4.4BSD has this
-# capability.  Older versions of GNU termcap, through 1.3, do not. 
+# capability.  Older versions of GNU termcap, through 1.3, do not.
 #
 # For details on these formats, see terminfo(5) in the ncurses distribution,
 # and termcap(5) in the 4.4BSD Unix Programmer's Manual.  Be aware that 4.4BSD
 # the master format).  Individual capabilities are commented out by
 # placing a period between the colon and the capability name.
 #
-# The file is divided up into major sections (headed by lines beginning with 
+# The file is divided up into major sections (headed by lines beginning with
 # the string "########") and minor sections (beginning with "####"); do
 #
 #      grep "^####" <file> | more
 # that important and frequently-encountered terminal types are near the
 # front (so that you'll get reasonable search efficiency from a linear
 # search of the termcap form even if you don't use reorder).  Minor sections
-# usually correspond to manufacturers or standard terminal classes. 
+# usually correspond to manufacturers or standard terminal classes.
 # Parenthesized words following manufacturer names are type prefixes or
 # product line names used by that manufacturers.
 #
 #      -s      Enable status line.
 #      -vb     Use visible bell (<flash>) rather than <bel>.
 #      -w      Wide - in 132 column mode.
-# If a name has multiple suffixes and one is a line height, that one should 
-# go first.  Thus `aaa-30-s-rv' is recommended over `aaa-s-rv-30'.  
-# 
+# If a name has multiple suffixes and one is a line height, that one should
+# go first.  Thus `aaa-30-s-rv' is recommended over `aaa-s-rv-30'.
+#
 # Entries with embedded plus signs are designed to be included through use/tc
-# capabilities, not used as standalone entries. 
+# capabilities, not used as standalone entries.
 #
 # To avoid search clashes, some older all-numeric names for terminals have
 # been removed (i.e., "33" for the Model 33 Teletype, "2621" for the HP2621).
 # All primary names of terminals now have alphanumeric prefixes.
 #
 # Comments marked "esr" are mostly results of applying the termcap-compiler
-# code packaged with ncurses and contemplating the resulting error messages. 
+# code packaged with ncurses and contemplating the resulting error messages.
 # In many cases, these indicated obvious fixes to syntax garbled by the
 # composers.  In a few cases, I was able to deduce corrected forms for garbled
 # capabilities by looking at context.  All the information in the original
 #      %c      Accept any character
 #      %[...]  Accept any number of characters in the given set
 #
-# The cursor position report (<u6>) string must contain two scanf(3)-style 
+# The cursor position report (<u6>) string must contain two scanf(3)-style
 # %d format elements.  The first of these must correspond to the Y coordinate
 # and the second to the %d.  If the string contains the sequence %i, it is
 # taken as an instruction to decrement each value after reading it (this is
 # the inverse sense from the cup string).  The typical CPR value is
 # \E[%i%d;%dR (on VT100/ANSI/ECMA-48-compatible terminals).
 #
-# These capabilities are used by tac(1m), the terminfo action checker soon
-# to be distributed with ncurses.
+# These capabilities are used by tack(1m), the terminfo action checker
+# (distributed with ncurses 5.0).
 #
 # TABSET FILES
 #
 # All the entries in this file have been edited to assume that the tabset
 # files directory is /usr/share/tabset, in conformance with the File Hierarchy
 # Standard for Linux and open-source BSD systems.  Some vendors (notably Sun)
-# use /usr/lib/tabset or (more recently) /usr/share/lib/tabset.  
+# use /usr/lib/tabset or (more recently) /usr/share/lib/tabset.
 #
 # No curses package we know of actually uses these files.  If their location
 # is an issue, you will have to hand-patch the file locations before compiling
 # this file.
-# 
+#
 # REQUEST FOR CONTACT INFORMATION AND HISTORICAL MATERIAL
 #
 # As the ANSI/ECMA-48 standard and variants take firmer hold, and as
 # character-cell terminals are increasingly replaced by X displays, much of
 # this file is becoming a historical document (this is part of the reason for
-# the new organization, which puts ANSI types, xterm, free-Unix consoles,
+# the new organization, which puts ANSI types, xterm, Unix consoles,
 # and vt100 up front in confidence that this will catch 95% of new hardware).
 #
 # For the terminal types still alive, I'd like to have manufacturer's
 # I'm especially interested in identifying the obscure entries listed under
 # `Miscellaneous obsolete terminals, manufacturers unknown' before the tribal
 # wisdom about them gets lost.  If you know a lot about obscure old terminals,
-# please go to the terminfo resource page, grab the UFO file (ufo.ti), and 
-# eyeball it for things you can identify and describe. 
+# please go to the terminfo resource page, grab the UFO file (ufo.ti), and
+# eyeball it for things you can identify and describe.
 #
 # If you have been around long enough to contribute, please read the file
 # with this in mind and send me your annotations.
 # California copyright with dates from 1980 to 1993.
 #
 # Some information has been merged in from a terminfo file SCO distributes.
-# It has an obnoxious boilerplate copyright which I'm ignoring because they 
+# It has an obnoxious boilerplate copyright which I'm ignoring because they
 # took so much of the content from the ancestral BSD versions of this file
 # and didn't attribute it, thereby violating the BSD Regents' copyright.
 #
 # graffiti -- it's legally dubious, ethically bogus, and patently ridiculous.
 #
 # This file deliberately has no copyright.  It belongs to no one and everyone.
-# If you claim you own it, you will merely succeed in looking like a fool. 
+# If you claim you own it, you will merely succeed in looking like a fool.
 # Use it as you like.  Use it at your own risk.  Copy and redistribute freely.
 # There are no guarantees anywhere.  Svaha!
 #
 
 ######## ANSI, UNIX CONSOLE, AND SPECIAL TYPES
 #
-# This section describes terminal classes and maker brands that are still
+# This section describes terminal classes and brands that are still
 # quite common.
 #
 
 # 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, 
+dumb|80-column dumb tty,
+       am,
+       cols#80,
+       bel=^G, cr=\r, cud1=\n, ind=\n,
+unknown|unknown terminal type,
+       gn, use=dumb,
+lpr|printer|line printer,
+       OTbs, hc, os,
+       cols#132, lines#66,
+       bel=^G, cr=\r, cub1=^H, cud1=\n, ff=^L, ind=\n,
+glasstty|classic glass tty interpreting ASCII control characters,
+       OTbs, am,
+       cols#80,
+       bel=^G, clear=^L, cr=\r, cub1=^H, cud1=\n, ht=^I, kcub1=^H,
+       kcud1=\n, nel=\r\n, .kbs=^H,
+
+vanilla|dumb tty,
+       OTbs,
+       bel=^G, cr=\r, cud1=\n, ind=\n,
+
+# This is almost the same as "dumb", but with no prespecified width.
+# DEL and ^C are hardcoded to act as kill characters.
+# ^D acts as a line break (just like newline).
+# It also interprets
+#      \033];xxx\007
+# for compatibility with xterm -TD
+9term|Plan9 terminal emulator for X,
+       am,
+       OTnl=\n, bel=^G, cud1=\n,
 
 #### ANSI.SYS/ISO 6429/ECMA-48 Capabilities
 #
 # See the end-of-file comment for more on these.
 #
 
+# ANSI capabilities are broken up into pieces, so that a terminal
+# implementing some ANSI subset can use many of them.
+ansi+local1|ANSI normal-mode cursor-keys,
+       cub1=\E[D, cud1=\E[B, cuf1=\E[C, cuu1=\E[A,
+ansi+local|ANSI normal-mode parameterized cursor-keys,
+       cub=\E[%p1%dD, cud=\E[%p1%dB, cuf=\E[%p1%dC,
+       cuu=\E[%p1%dA, use=ansi+local1,
+ansi+tabs|ANSI tab-stops,
+       cbt=\E[Z, ht=^I, hts=\EH, tbc=\E[3g,
+ansi+inittabs|ANSI initial tab-stops,
+       it#8, use=ansi+tabs,
+ansi+erase|ANSI clear screen/line,
+       clear=\E[H\E[J, ed=\E[J, el=\E[K,
+ansi+rca|ANSI relative cursor-addressing,
+       hpa=\E[%p1%{1}%+%dG, vpa=\E[%p1%{1}%+%dd,
+ansi+cup|ANSI absolute cursor-addressing,
+       cup=\E[%i%p1%d;%p2%dH, home=\E[H,
+ansi+rep|ANSI repeat-character,
+       rep=%p1%c\E[%p2%{1}%-%db,
+ansi+idl1|ANSI insert/delete one line,
+       dl1=\E[M, il1=\E[L,
+ansi+idl|ANSI insert/delete lines,
+       dl=\E[%p1%dM, il=\E[%p1%dL, use=ansi+idl1,
+ansi+idc1|ANSI insert/delete one character,
+       dch1=\E[P, ich1=\E[@, rmir=\E[4l, smir=\E[4h,
+ansi+idc|ANSI insert/delete characters,
+       dch=\E[%p1%dP, ich=\E[%p1%d@, use=ansi+idc1,
+ansi+arrows|ANSI normal-mode cursor-keys,
+       kbs=^H, kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A,
+       khome=\E[H,
+ansi+sgr|ANSI graphic renditions,
+       blink=\E[5m, invis=\E[8m, rev=\E[7m,
+       sgr=\E[0%?%p3%t;7%;%?%p4%t;5%;%?%p7%t;8%;m,
+       sgr0=\E[0m,
+ansi+sgrso|ANSI standout only,
+       rmso=\E[m, smso=\E[7m,
+ansi+sgrul|ANSI underline only,
+       rmul=\E[m, smul=\E[4m,
+ansi+sgrbold|ANSI graphic renditions; assuming terminal has bold; not dim,
+       bold=\E[1m,
+       sgr=\E[%?%p1%t7;%;%?%p2%t4;%;%?%p3%t7;%;%?%p4%t5;%;%?%p6%t1;
+           %;%?%p7%t8;%;m,
+       use=ansi+sgr, use=ansi+sgrso, use=ansi+sgrul,
+ansi+sgrdim|ANSI graphic renditions; assuming terminal has dim; not bold,
+       dim=\E[2m,
+       sgr=\E[%?%p1%t7;%;%?%p2%t4;%;%?%p3%t7;%;%?%p4%t5;%;%?%p5%t2;
+           %;%?%p7%t8;%;m,
+       use=ansi+sgr, use=ansi+sgrso, use=ansi+sgrul,
+
+# ECMA-48 does not specify scroll-regions, but most people consider it to be
+# "ANSI" because it is widely-supported.  See ecma+index for the standard form.
+ansi+csr|ANSI scroll-region plus cursor save & restore,
+       csr=\E[%i%p1%d;%p2%dr, rc=\E8, sc=\E7,
+
+# The normal (ANSI) flavor of "media copy" building block asserts that
+# characters sent to the printer do not echo on the screen. DEC terminals
+# can also be put into autoprinter mode, where each line is sent to the
+# printer as you move off that line, e.g., by a carriage return.
+ansi+pp|ANSI printer port,
+       mc5i,
+       mc0=\E[i, mc4=\E[4i, mc5=\E[5i,
+dec+pp|DEC autoprinter mode,
+       mc0=\E[i, mc4=\E[?4i, mc5=\E[?5i,
+
 # 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, 
+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 
+# 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, 
-       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, smpch=\E[11m, smso=\E[7m, smul=\E[4m, 
-       use=klone+acs, 
+klone+sgr|attribute control for ansi.sys displays,
+       blink=\E[5m, bold=\E[1m, rev=\E[7m, 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%;%?%p9%t;11%;m,
+       sgr0=\E[0;10m, smpch=\E[11m, smso=\E[7m, smul=\E[4m,
+       use=klone+acs,
+
+# Most Intel boxes do not treat "invis" (invisible) text.
+klone+sgr8|attribute control for ansi.sys displays,
+       invis=\E[8m,
+       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,
+       use=klone+sgr,
 
 # 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, 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, 
+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, 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,
 
 # KOI8-R (RFC1489) acs (alternate character set)
 # From: Qing Long <qinglong@Bolizm.ihep.su>, 24 Feb 1996.
-klone+koi8acs|alternate character set for ansi.sys displays with KOI8 charset, 
-       acsc=+\020\,\021-\036.^_0\215`\004a\237f\234g\232h\222i\220j\205k\203l\202m\204n\212o\213p\216q\0r\217s\214t\206u\207v\210w\211x\201y\230z\231{\267|\274}L~\225, 
-       rmacs=\E[10m, smacs=\E[11m, 
+klone+koi8acs|alternate character set for ansi.sys displays with KOI8 charset,
+       acsc=+\020\,\021-\036.^_0\215`\004a\237f\234g\232h\222i
+            \220j\205k\203l\202m\204n\212o\213p\216q\0r\217s\214t
+            \206u\207v\210w\211x\201y\230z\231{\267|\274}L~
+            \225,
+       rmacs=\E[10m, smacs=\E[11m,
 
 # ANSI.SYS color control.  The setab/setaf caps depend on the coincidence
 # between SVr4/XPG4's color numbers and ANSI.SYS attributes.  Here are longer
@@ -332,32 +459,44 @@ klone+koi8acs|alternate character set for ansi.sys displays with KOI8 charset,
 # setf=\E[3%?%p1%{1}%=%t4%e%p1%{3}%=%t6%e%p1%{4}%=%t1%e%p1%{6}%=%t3%e%p1%d%;m,
 # The DOS 5 manual asserts that these sequences meet the ISO 6429 standard.
 # They match a subset of ECMA-48.
-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, 
+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, 
-       colors#8, ncv#3, pairs#64, 
-       op=\E[39;49m, setab=\E[4%p1%dm, setaf=\E[3%p1%dm, 
+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,
+
+ecma+italics|ECMA-48 italics,
+       ritm=\E[23m, sitm=\E[3m,
 
 # Attribute control for ECMA-48-compatible terminals
-ecma+sgr|attribute capabilities for true ECMA-48 terminals, 
-       rmso=\E[27m, rmul=\E[24m, 
-       use=klone+sgr, 
+ecma+sgr|attribute capabilities for true ECMA-48 terminals,
+       rmso=\E[27m, rmul=\E[24m, use=klone+sgr8,
+
+ecma+strikeout|ECMA-48 strikeout/crossed-out,
+       rmxx=\E[29m, smxx=\E[9m,
+
+# ECMA-48 does not include the VT100 indexing and scroll-margins.  It has its
+# own variation.
+ecma+index|ECMA-48 scroll up/down,
+       indn=\E[%p1%dS, rin=\E[%p1%dT,
 
 # For comparison, here are all the capabilities implied by the Intel
 # Binary Compatibility Standard (level 2) that fit within terminfo.
 # For more detail on this rather pathetic standard, see the comments
 # near the end of this file.
-ibcs2|Intel Binary Compatibility Standard prescriptions, 
-       cbt=\E[Z, clear=\Ec, cub=\E[%p1%dD, cud=\E[%p1%dB, 
-       cuf=\E[%p1%dC, cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, 
-       dch=\E[%p1%dP, dispc=\E=%p1%dg, ech=\E[%p1%dX, 
-       hpa=\E[%i%p1%dG, hts=\EH, ich=\E[%p1%d@, il=\E[%p1%dL, 
-       indn=\E[%p1%dS, rc=\E7, rin=\E[%p1%dT, rmam=\E[?7l, sc=\E7, 
-       smam=\E[?7h, tbc=\E[g, vpa=\E[%i%p1%dd, 
+ibcs2|Intel Binary Compatibility Standard prescriptions,
+       cbt=\E[Z, clear=\Ec, cub=\E[%p1%dD, cub1=\E[1D,
+       cud=\E[%p1%dB, cud1=\E[1B, cuf=\E[%p1%dC, cuf1=\E[1C,
+       cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[1A,
+       dch=\E[%p1%dP, dispc=\E=%p1%dg, ech=\E[%p1%dX,
+       hpa=\E[%i%p1%dG, hts=\EH, ich=\E[%p1%d@, ich1=\E[@,
+       il=\E[%p1%dL, rc=\E7, rmam=\E[?7l, sc=\E7, smam=\E[?7h,
+       tbc=\E[g, vpa=\E[%i%p1%dd, use=ecma+index,
 
 #### ANSI/ECMA-48 terminals and terminal emulators
 #
@@ -368,12 +507,26 @@ ibcs2|Intel Binary Compatibility Standard prescriptions,
 # 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-mr is for ANSI terminals with ONLY relative cursor addressing
+# and more than one page of memory.  It uses local motions instead of
+# direct cursor addressing, and makes almost no assumptions. It does
+# assume auto margins, no padding and/or xon/xoff, and a 24x80 screen.
+ansi-mr|mem rel cup ansi,
+       am, xon,
+       cols#80, lines#24, use=vanilla, use=ansi+erase,
+       use=ansi+local1,
+
+# ansi-mini is a bare minimum ANSI terminal. This should work on anything, but
+# beware of screen size problems and memory relative cursor addressing.
+ansi-mini|any ansi terminal with pessimistic assumptions,
+       am, xon,
+       cols#80, lines#24, use=vanilla, use=ansi+cup,
+       use=ansi+erase,
+
+# ansi-mtabs adds relative addressing and minimal tab support
+ansi-mtabs|any ansi terminal with pessimistic assumptions,
+       it#8,
+       ht=^I, use=ansi-mini, use=ansi+local1,
 
 # ANSI X3.64 from emory!mlhhh (Hugh Hansard) via BRL
 #
@@ -401,97 +554,148 @@ ansi-mini|any ansi terminal with pessimistic assumptions,
 #
 # USENET {akgua,msdc,sb1,sb6,gatech}!emory!mlhhh.
 #
-ansi77|ansi 3.64 standard 1977 version, 
-       am, mir, 
-       cols#80, it#8, lines#24, 
-       bel=^G, clear=\E[;H\E[2J, cr=^M, csr=\E[%i%p1%d;%p2%dr, 
-       cub1=^H, cud1=\E[B, cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH, 
-       cuu1=\E[A, dch1=\E[P, dl1=\E[M$<5*/>, ed=\E[J, el=\E[K, 
-       home=\E[H, ht=^I, il1=\E[L$<5*/>, ind=\ED, kbs=^H, 
-       kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, kf1=\EOP, 
-       kf2=\EOR, kf4=\EOS, khome=\E[H, nel=^M\ED, ri=\EM, 
-       rmir=\E[4l, rmso=\E[m, rmul=\E[m, smir=\E[4h, smso=\E[7m, 
-       smul=\E[4m, 
+# (Added vt100 <rc>,<sc> to quiet a tic warning --esr)
+ansi77|ANSI 3.64 standard 1977 version,
+       OTbs, am, mir,
+       cols#80, it#8, lines#24,
+       bel=^G, clear=\E[;H\E[2J, cr=\r, csr=\E[%i%p1%d;%p2%dr,
+       cub1=^H, cud1=\E[B, cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH,
+       cuu1=\E[A, dch1=\E[P, dl1=\E[M$<5*/>, ed=\E[J, el=\E[K,
+       home=\E[H, ht=^I, il1=\E[L$<5*/>, ind=\ED, kbs=^H,
+       kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, kf1=\EOP,
+       kf2=\EOR, kf4=\EOS, khome=\E[H, nel=\r\ED, rc=\E8, ri=\EM,
+       rmir=\E[4l, rmso=\E[m, rmul=\E[m, sc=\E7, smir=\E[4h,
+       smso=\E[7m, smul=\E[4m,
 
 # Procomm and some other ANSI emulations don't recognize all of the ANSI-
-# standard capabilities.  This entry deletes <cuu>, <cuf>, <cud>, <cub>, and 
-# <vpa>/<hpa> capabilities, forcing curses to use repetitions of <cuu1>, 
-# <cuf1>, <cud1> and <cub1>.  Also deleted <ich> and <ich1>, as QModem up to 
+# standard capabilities.  This entry deletes <cuu>, <cuf>, <cud>, <cub>, and
+# <vpa>/<hpa> capabilities, forcing curses to use repetitions of <cuu1>,
+# <cuf1>, <cud1> and <cub1>.  Also deleted <ich> and <ich1>, as QModem up to
 # 5.03 doesn't recognize these.  Finally, we delete <rep> and <ri>, which seem
 # to confuse many emulators.  On the other hand, we can count on these programs
-# doing <rmacs>/<smacs>/<sgr>. Older versions of this entry featured 
+# doing <rmacs>/<smacs>/<sgr>. Older versions of this entry featured
 # <invis=\E[9m>, but <invis=\E[8m> now seems to be more common under
 # ANSI.SYS influence.
 # From: Eric S. Raymond <esr@snark.thyrsus.com> Oct 30 1995
-pcansi-m|pcansi-mono|ibm-pc terminal programs claiming to be ansi (mono mode), 
-       am, mir, msgr, 
-       cols#80, it#8, lines#24, 
-       bel=^G, cbt=\E[Z, clear=\E[H\E[J, cr=^M, cub1=\E[D, 
-       cud1=\E[B, cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH, cuu1=\E[A, 
-       dch1=\E[P, dl1=\E[M, ed=\E[J, el=\E[K, home=\E[H, ht=^I, 
-       hts=\EH, il1=\E[L, ind=^J, kbs=^H, kcub1=\E[D, kcud1=\E[B, 
-       kcuf1=\E[C, kcuu1=\E[A, khome=\E[H, tbc=\E[2g, 
-       use=klone+sgr-dumb, 
-pcansi-25-m|pcansi25m|ibm-pc terminal programs with 25 lines (mono mode), 
-       lines#25, use=pcansi-m, 
-pcansi-33-m|pcansi33m|ibm-pc terminal programs with 33 lines (mono mode), 
-       lines#33, use=pcansi-m, 
-pcansi-43-m|ansi43m|ibm-pc terminal programs with 43 lines (mono mode), 
-       lines#43, use=pcansi-m, 
+pcansi-m|pcansi-mono|ibm-pc terminal programs claiming to be ansi (mono mode),
+       OTbs, am, mir, msgr,
+       cols#80, it#8, lines#24,
+       bel=^G, cbt=\E[Z, clear=\E[H\E[J, cr=\r, cub1=\E[D,
+       cud1=\E[B, cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH, cuu1=\E[A,
+       dch1=\E[P, dl1=\E[M, ed=\E[J, el=\E[K, home=\E[H, ht=^I,
+       hts=\EH, il1=\E[L, ind=\n, kbs=^H, kcub1=\E[D, kcud1=\E[B,
+       kcuf1=\E[C, kcuu1=\E[A, khome=\E[H, tbc=\E[3g,
+       use=klone+sgr-dumb,
+pcansi-25-m|pcansi25m|ibm-pc terminal programs with 25 lines (mono mode),
+       lines#25, use=pcansi-m,
+pcansi-33-m|pcansi33m|ibm-pc terminal programs with 33 lines (mono mode),
+       lines#33, use=pcansi-m,
+pcansi-43-m|ansi43m|ibm-pc terminal programs with 43 lines (mono mode),
+       lines#43, use=pcansi-m,
 # The color versions.  All PC emulators do color...
-pcansi|ibm-pc terminal programs claiming to be ansi, 
-       use=klone+color, use=pcansi-m, 
-pcansi-25|pcansi25|ibm-pc terminal programs with 25 lines, 
-       lines#25, use=pcansi, 
-pcansi-33|pcansi33|ibm-pc terminal programs with 33 lines, 
-       lines#33, use=pcansi, 
-pcansi-43|pcansi43|ibm-pc terminal programs with 43 lines, 
-       lines#43, use=pcansi, 
+pcansi|ibm-pc terminal programs claiming to be ansi,
+       use=klone+color, use=pcansi-m,
+pcansi-25|pcansi25|ibm-pc terminal programs with 25 lines,
+       lines#25, use=pcansi,
+pcansi-33|pcansi33|ibm-pc terminal programs with 33 lines,
+       lines#33, use=pcansi,
+pcansi-43|pcansi43|ibm-pc terminal programs with 43 lines,
+       lines#43, use=pcansi,
 
 # ansi-m -- full ANSI X3.64 with ANSI.SYS-compatible attributes, no color.
 # If you want pound signs rather than dollars, replace `B' with `A'
 # in the <s0ds>, <s1ds>, <s2ds>, and <s3ds> capabilities.
 # From: Eric S. Raymond <esr@snark.thyrsus.com> Nov 6 1995
-ansi-m|ansi-mono|ANSI X3.64-1979 terminal with ANSI.SYS compatible attributes, 
-       mc5i, 
-       cub=\E[%p1%dD, cud=\E[%p1%dB, cuf=\E[%p1%dC, 
-       cuu=\E[%p1%dA, dch=\E[%p1%dP, dl=\E[%p1%dM, 
-       ech=\E[%p1%dX, el1=\E[1K, hpa=\E[%i%p1%dG, ht=\E[I, 
-       ich=\E[%p1%d@, il=\E[%p1%dL, indn=\E[%p1%dS, kbs=^H, 
-       kcbt=\E[Z, kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, 
-       kich1=\E[L, mc4=\E[4i, mc5=\E[5i, nel=\r\E[S, 
-       rep=%p1%c\E[%p2%{1}%-%db, rin=\E[%p1%dT, s0ds=\E(B, 
-       s1ds=\E)B, s2ds=\E*B, s3ds=\E+B, tbc=\E[2g, 
-       vpa=\E[%i%p1%dd, use=pcansi-m, 
+ansi-m|ansi-mono|ANSI X3.64-1979 terminal with ANSI.SYS compatible attributes,
+       mc5i,
+       cub=\E[%p1%dD, cud=\E[%p1%dB, cuf=\E[%p1%dC,
+       cuu=\E[%p1%dA, dch=\E[%p1%dP, dl=\E[%p1%dM,
+       ech=\E[%p1%dX, el1=\E[1K, hpa=\E[%i%p1%dG, ht=\E[I,
+       ich=\E[%p1%d@, il=\E[%p1%dL, kbs=^H, kcbt=\E[Z, kcub1=\E[D,
+       kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, kich1=\E[L, mc4=\E[4i,
+       mc5=\E[5i, nel=\r\E[S, rep=%p1%c\E[%p2%{1}%-%db,
+       s0ds=\E(B, s1ds=\E)B, s2ds=\E*B, s3ds=\E+B, tbc=\E[3g,
+       vpa=\E[%i%p1%dd, use=ecma+index, use=pcansi-m,
+
+ansi+enq|ncurses extension for ANSI ENQ,
+       u6=\E[%i%d;%dR, u7=\E[6n, u8=\E[?%[;0123456789]c,
+       u9=\E[c,
 
 # ansi -- this terminfo expresses the largest subset of X3.64 that will fit in
 # standard terminfo.  Assumes ANSI.SYS-compatible attributes and color.
 # From: Eric S. Raymond <esr@snark.thyrsus.com> Nov 6 1995
-ansi|ansi/pc-term compatible with color, 
-       u6=\E[%i%d;%dR, u7=\E[6n, u8=\E[?%[;0123456789]c, 
-       u9=\E[c, 
-       use=ecma+color, use=klone+sgr, use=ansi-m, 
+ansi|ansi/pc-term compatible with color,
+       use=ansi+enq, use=ecma+color, use=klone+sgr8, use=ansi-m,
+
+# ansi-generic is a vanilla ANSI terminal. This is assumed to implement
+# all the normal ANSI stuff with no extensions. It assumes
+# insert/delete line/char is there, so it won't work with
+# vt100 clones. It assumes video attributes for bold, blink,
+# underline, and reverse, which won't matter much if the terminal
+# can't do some of those. Padding is assumed to be zero, which
+# shouldn't hurt since xon/xoff is assumed.
+ansi-generic|ansiterm|generic ansi standard terminal,
+       am, xon,
+       cols#80, lines#24, use=vanilla, use=ansi+csr, use=ansi+cup,
+       use=ansi+rca, use=ansi+erase, use=ansi+tabs,
+       use=ansi+local, use=ansi+idc, use=ansi+idl, use=ansi+rep,
+       use=ansi+sgrbold, use=ansi+arrows,
 
 #### DOS ANSI.SYS variants
 #
 # This completely describes the sequences specified in the DOS 2.1 ANSI.SYS
 # documentation (except for the keyboard key reassignment feature, which
-# doen't fit the <pfkey> model well).  The klone+acs sequences were valid
+# 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+sgr, 
-ansi.sys|ANSI.SYS 3.1 and later versions, 
-       el=\E[K, use=ansi.sys-old, 
+ansi.sys-old|ANSI.SYS under PC-DOS 2.1,
+       OTbs, 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=\n, kcuf1=^L, kcuu1=^K,
+       khome=^^, pfkey=\E[0;%p1%{58}%+%d;%p2"%s"p, 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+sgr8,
+
+# 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.
+#
+# <pfkey> capability for F1-F48 -TD
+ansi.sys|ANSI.SYS 3.1 and later versions,
+       el=\E[K, 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,
+       pfkey=\E[0;%?%p1%{11}%<%t%'\:'%e%p1%{13}%<%t%'z'%e%p1%{23}%<
+             %t%'G'%e%p1%{25}%<%t%'p'%e%p1%'#'%<%t%'E'%e%p1%'%'%<%t
+             %'f'%e%p1%'/'%<%t%'C'%e%{92}%;%p1%+%d;%p2"%s"p,
+       use=ansi.sys-old,
 
 #
 # Define IBM PC keypad keys for vi as per MS-Kermit while using ANSI.SYS.
@@ -506,49 +710,219 @@ ansi.sys|ANSI.SYS 3.1 and later versions,
 # Caution: vi is limited to 256 string bytes, longer crashes or weirds out vi.
 # Consequently the End keypad key could not be set (it is relatively safe and
 # actually useful because it sends ^@ O, which beeps and opens a line above).
-ansi.sysk|ansisysk|PC-DOS 3.1 ANSI.SYS with keypad redefined for vi, 
-       is2=U2 PC-DOS 3.1 ANSI.SYS with keypad redefined for vi 9-29-86\n\E[;75;8p, 
-       rmkx=\E[;71;0;71p\E[;72;0;72p\E[;73;0;73p\E[;77;0;77p\E[;80;0;80p\E[;81;0;81p\E[;82;0;82p\E[;83;0;83p, 
-       smkx=\E[;71;30p\E[;72;11p\E[;73;27;21p\E[;77;12p\E[;80;10p\E[;81;27;4p\E[;82;27;27;105p\E[;83;127p, 
-       use=ansi.sys, 
+ansi.sysk|ansisysk|PC-DOS 3.1 ANSI.SYS with keypad redefined for vi,
+       is2=U2\sPC-DOS\s3.1\sANSI.SYS\swith\skeypad\sredefined\sfor
+           \svi\s9-29-86\n\E[;75;8p,
+       rmkx=\E[;71;0;71p\E[;72;0;72p\E[;73;0;73p\E[;77;0;77p\E[;80;
+            0;80p\E[;81;0;81p\E[;82;0;82p\E[;83;0;83p,
+       smkx=\E[;71;30p\E[;72;11p\E[;73;27;21p\E[;77;12p\E[;80;10p
+            \E[;81;27;4p\E[;82;27;27;105p\E[;83;127p,
+       use=ansi.sys,
 #
 # Adds ins/del line/character, hence vi reverse scrolls/inserts/deletes nicer.
-nansi.sys|nansisys|PC-DOS Public Domain NANSI.SYS, 
-       dch1=\E[1P, dl1=\E[1M, ich1=\E[1@, il1=\E[1L, 
-       is2=U3 PC-DOS Public Domain NANSI.SYS 9-23-86\n, use=ansi.sys, 
+nansi.sys|nansisys|PC-DOS Public Domain NANSI.SYS,
+       dch1=\E[1P, dl1=\E[1M, ich1=\E[1@, il1=\E[1L,
+       is2=U3 PC-DOS Public Domain NANSI.SYS 9-23-86\n,
+       use=ansi.sys,
 #
 # See ansi.sysk and nansi.sys above.
-nansi.sysk|nansisysk|PC-DOS Public Domain NANSI.SYS with keypad redefined for vi, 
-       dch1=\E[1P, dl1=\E[1M, ich1=\E[1@, il1=\E[1L, 
-       is2=U4 PC-DOS Public Domain NANSI.SYS with keypad redefined for vi 9-29-86\n\E[;75;8p, 
-       use=ansi.sysk, 
+nansi.sysk|nansisysk|PC-DOS Public Domain NANSI.SYS with keypad redefined for vi,
+       dch1=\E[1P, dl1=\E[1M, ich1=\E[1@, il1=\E[1L,
+       is2=U4\sPC-DOS\sPublic\sDomain\sNANSI.SYS\swith\skeypad
+           \sredefined\sfor\svi\s9-29-86\n\E[;75;8p,
+       use=ansi.sysk,
+
+#### Atari ST terminals
+
+# From Guido Flohr <gufl0000@stud.uni-sb.de>.
+#
+tw52|tw52-color|Toswin window manager with color,
+       bce,
+       colors#16, pairs#0x100,
+       oc=\Eb?\Ec0, op=\Eb?\Ec0,
+       setab=\Ec%?%p1%{0}%=%t?%e%p1%{7}%=%t0%e%p1%{15}%=%t7%e%p1
+             %{48}%+%c,
+       setaf=\Eb%?%p1%{0}%=%t?%e%p1%{7}%=%t0%e%p1%{15}%=%t7%e%p1
+             %{48}%+%c,
+       setb=\Ec%?%p1%{0}%=%t?%e%p1%{7}%=%t0%e%p1%{15}%=%t7%e%p1
+            %{48}%+%c,
+       setf=\Eb%?%p1%{0}%=%t?%e%p1%{7}%=%t0%e%p1%{15}%=%t7%e%p1
+            %{48}%+%c,
+       use=tw52-m,
+tw52-m|Toswin window manager monochrome,
+       ul,
+       ma#999,
+       bold=\Eya, dch1=\Ea, dim=\EyB,
+       is2=\Ev\Eq\Ez_\Ee\Ei\Eb?\Ec0, rev=\EyP, rmso=\EzQ,
+       rmul=\EzH, rs2=\Ev\Eq\Ez_\Ee\Ei\Eb?\Ec0, sgr0=\Ez_,
+       smso=\EyQ, smul=\EyH, use=at-m,
+tt52|Atari TT medium and high resolution,
+       lines#30, use=at-color,
+st52-color|at-color|atari-color|atari_st-color|Atari ST with color,
+       bce,
+       colors#16, pairs#0x100,
+       is2=\Ev\Eq\Ee\Eb1\Ec0, rs2=\Ev\Eq\Ee\Eb1\Ec0,
+       setab=\Ec%?%p1%{0}%=%t1%e%p1%{1}%=%t2%e%p1%{2}%=%t3%e%p1%{3}
+             %=%t>%e%p1%{4}%=%t4%e%p1%{5}%=%t7%e%p1%{6}%=%t5%e%p1
+             %{7}%=%t0%e%p1%{8}%=%t8%e%p1%{9}%=%t9%e%p1%{10}%=%t\:
+             %e%p1%{11}%=%t;%e%p1%{12}%=%t<%e%p1%{13}%=%t=%e%p1
+             %{14}%=%t6%e?,
+       setaf=\Eb%?%p1%{0}%=%t1%e%p1%{1}%=%t2%e%p1%{2}%=%t3%e%p1%{3}
+             %=%t>%e%p1%{4}%=%t4%e%p1%{5}%=%t7%e%p1%{6}%=%t5%e%p1
+             %{7}%=%t0%e%p1%{8}%=%t8%e%p1%{9}%=%t9%e%p1%{10}%=%t\:
+             %e%p1%{11}%=%t;%e%p1%{12}%=%t<%e%p1%{13}%=%t=%e%p1
+             %{14}%=%t6%e?,
+       setb=\Ec%?%p1%{0}%=%t1%e%p1%{1}%=%t2%e%p1%{2}%=%t3%e%p1%{3}
+            %=%t>%e%p1%{4}%=%t4%e%p1%{5}%=%t7%e%p1%{6}%=%t5%e%p1
+            %{7}%=%t0%e%p1%{8}%=%t8%e%p1%{9}%=%t9%e%p1%{10}%=%t\:%e
+            %p1%{11}%=%t;%e%p1%{12}%=%t<%e%p1%{13}%=%t=%e%p1%{14}%=
+            %t6%e?,
+       setf=\Eb%?%p1%{0}%=%t1%e%p1%{1}%=%t2%e%p1%{2}%=%t3%e%p1%{3}
+            %=%t>%e%p1%{4}%=%t4%e%p1%{5}%=%t7%e%p1%{6}%=%t5%e%p1
+            %{7}%=%t0%e%p1%{8}%=%t8%e%p1%{9}%=%t9%e%p1%{10}%=%t\:%e
+            %p1%{11}%=%t;%e%p1%{12}%=%t<%e%p1%{13}%=%t=%e%p1%{14}%=
+            %t6%e?,
+       use=st52,
+st52|st52-m|at|at-m|atari|atari-m|atari_st|atarist-m|Atari ST,
+       am, eo, mir, npc,
+       cols#80, it#8, lines#24,
+       bel=^G, civis=\Ef, clear=\EE, cnorm=\Ee, cr=\r, cub1=\ED,
+       cud1=\EB, cuf1=\EC, cup=\EY%p1%{32}%+%c%p2%{32}%+%c,
+       cuu1=\EA, dl1=\EM, ed=\EJ, el=\EK, el1=\Eo, home=\EH, ht=^I,
+       il1=\EL, ind=\n, is2=\Ev\Eq\Ee, kLFT=\Ed, kRIT=\Ec, kbs=^H,
+       kcub1=\ED, kcud1=\EB, kcuf1=\EC, kcuu1=\EA, kdch1=^?,
+       kf1=\EP, kf10=\EY, kf11=\Ep, kf12=\Eq, kf13=\Er, kf14=\Es,
+       kf15=\Et, kf16=\Eu, kf17=\Ev, kf18=\Ew, kf19=\Ex, kf2=\EQ,
+       kf20=\Ey, kf3=\ER, kf4=\ES, kf5=\ET, kf6=\EU, kf7=\EV, kf8=\EW,
+       kf9=\EX, khlp=\EH, khome=\EE, kich1=\EI, knp=\Eb, kpp=\Ea,
+       kund=\EK, nel=\r\n, rc=\Ek, rev=\Ep, ri=\EI, rmso=\Eq,
+       rs2=\Ev\Eq\Ee, sc=\Ej, sgr0=\Eq, smso=\Ep,
+tw100|toswin vt100 window mgr,
+       eo, mir, msgr, xon,
+       colors#8, cols#80, it#8, lines#24, pairs#64, vt#3,
+       acsc=++\,\,--..00II``aaffgghhjjkkllmmnnooppqqrrssttuuvvwwxxy
+            yzz{{||}}~~,
+       bel=^G, blink=\E[5m, bold=\E[1m, civis=\Ef,
+       clear=\E[2J\E[H, cnorm=\Ee, cr=\r, csr=\E[%i%p1%d;%p2%dr,
+       cub=\E[%p1%dD, cub1=^H, cud=\E[%p1%dB, cud1=\EB,
+       cuf=\E[%p1%dC, cuf1=\EC, cup=\E[%i%p1%d;%p2%dH,
+       cuu=\E[%p1%dA, cuu1=\EA, dch1=\Ea, dim=\E[2m, dl=\E[%p1%dM,
+       dl1=\E[M, ed=\E[J, el=\E[K, el1=\E[1K, home=\E[H, ht=^I,
+       hts=\EH, ich=\E[%p1%d@, il1=\EL, ind=\n, is2=\E<\E)0, kbs=^H,
+       kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, kdch1=^?,
+       kf1=\EOP, kf10=\EOY, kf11=\Ep, kf12=\Eq, kf13=\Er, kf14=\Es,
+       kf15=\Et, kf16=\Eu, kf17=\Ev, kf18=\Ew, kf19=\Ex, kf2=\EOQ,
+       kf20=\Ey, kf3=\EOR, kf4=\EOS, kf5=\EOT, kf6=\EOU, kf7=\EOV,
+       kf8=\EOW, kf9=\EOX, khlp=\EH, khome=\E\EE, kich1=\EI,
+       knp=\Eb, kpp=\E\Ea, kund=\EK, ll=\E[24H, nel=\EE,
+       oc=\E[30;47m, op=\E[30;47m, rc=\E8, rev=\E[7m, ri=\EM,
+       rmacs=^O, rmcup=\E[?7h, rmir=\Ei, rmkx=\E[?1l\E>,
+       rmso=\E[m, rmul=\E[m,
+       rs1=\E<\E[20l\E[?3;6;9l\E[r\Eq\E(B\017\E)0\E>,
+       sc=\E7,
+       setb=\E[4%p1%'0'%+%Pa%?%ga%'0'%=%t0%e%ga%'1'%=%t4%e%ga%'2'%=
+            %t2%e%ga%'3'%=%t6%e%ga%'4'%=%t1%e%ga%'5'%=%t5%e%ga%'6'
+            %=%t3%e7%;m,
+       setf=\E[3%p1%'0'%+%Pa%?%ga%'0'%=%t0%e%ga%'1'%=%t4%e%ga%'2'%=
+            %t2%e%ga%'3'%=%t6%e%ga%'4'%=%t1%e%ga%'5'%=%t5%e%ga%'6'
+            %=%t3%e7%;m,
+       sgr0=\E[m, smacs=^N, smcup=\E[?7l, smir=\Eh,
+       smkx=\E[?1h\E=, smso=\E[7m, smul=\E[4m, tbc=\E[3g,
+# The entries for stv52 and stv52pc probably need a revision.
+stv52|MiNT virtual console,
+       am, msgr,
+       cols#80, it#8, lines#30,
+       bel=^G, blink=\Er, bold=\EyA, civis=\Ef, clear=\EE,
+       cnorm=\E. \Ee, cr=\r, cub1=^H, cud1=\EB, cuf1=\EC,
+       cup=\EY%p1%{32}%+%c%p2%{32}%+%c, cuu1=\EA, cvvis=\E.",
+       dim=\Em, dl1=\EM, ed=\EJ, el=\EK, home=\EH, ht=^I, il1=\EL,
+       ind=\n$<2*/>, kbs=^H, kcub1=\ED, kcud1=\EB, kcuf1=\EC,
+       kcuu1=\EA, kdch1=^?, kf1=\EP, kf10=\EY, kf11=\Ep, kf12=\Eq,
+       kf13=\Er, kf14=\Es, kf15=\Et, kf16=\Eu, kf17=\Ev, kf18=\Ew,
+       kf19=\Ex, kf2=\EQ, kf20=\Ey, kf3=\ER, kf4=\ES, kf5=\ET,
+       kf6=\EU, kf7=\EV, kf8=\EW, kf9=\EX, khlp=\EH, khome=\EE,
+       kich1=\EI, knp=\Eb, kpp=\Ea, kund=\EK, nel=\r\n$<2*/>,
+       op=\Eb@\EcO, rev=\Ep, ri=\EI$<2*/>, rmcup=\Ev\E. \Ee\Ez_,
+       rmso=\Eq, rmul=\EzH, rs1=\Ez_\Eb@\EcA, sgr0=\Ez_,
+       smcup=\Ev\Ee\Ez_, smso=\Ep, smul=\EyH,
+stv52pc|MiNT virtual console with PC charset,
+       am, msgr,
+       cols#80, it#8, lines#30,
+       acsc=+\257\,\256-\^.v0\333I\374`\177a\260f\370g\361h\261j
+            \331k\277l\332m\300n\305o\377p-q\304r-s_t+u+v+w+x\263y
+            \363z\362{\343|\366}\234~\371,
+       bel=^G, blink=\Er, bold=\EyA, civis=\Ef, clear=\EE,
+       cnorm=\E. \Ee, cr=\r, cub1=^H, cud1=\EB, cuf1=\EC,
+       cup=\EY%p1%{32}%+%c%p2%{32}%+%c, cuu1=\EA, cvvis=\E.",
+       dim=\Em, dl1=\EM, ed=\EJ, el=\EK, home=\EH, ht=^I, il1=\EL,
+       ind=\n$<2*/>, kbs=^H, kcub1=\ED, kcud1=\EB, kcuf1=\EC,
+       kcuu1=\EA, kdch1=^?, kf1=\EP, kf10=\EY, kf11=\Ep, kf12=\Eq,
+       kf13=\Er, kf14=\Es, kf15=\Et, kf16=\Eu, kf17=\Ev, kf18=\Ew,
+       kf19=\Ex, kf2=\EQ, kf20=\Ey, kf3=\ER, kf4=\ES, kf5=\ET,
+       kf6=\EU, kf7=\EV, kf8=\EW, kf9=\EX, khlp=\EH, khome=\EE,
+       kich1=\EI, knp=\Eb, kpp=\Ea, kund=\EK, nel=\r\n$<2*/>,
+       rev=\Ep, ri=\EI$<2*/>, rmcup=\Ev\E. \Ee\Ez_, rmso=\Eq,
+       rmul=\EzH, rs1=\Ez_\Eb@\EcA, sgr0=\Ez_, smcup=\Ev\Ee\Ez_,
+       smso=\Ep, smul=\EyH,
 
-#### ANSI console types
-#
+# From: Simson L. Garfinkel <simsong@media-lab.mit.edu>
+atari-old|atari st,
+       OTbs, am,
+       cols#80, it#8, lines#25,
+       clear=\EH\EJ, cub1=\ED, cud1=\EB, cuf1=\EC,
+       cup=\EY%p1%{32}%+%c%p2%{32}%+%c, cuu1=\EA, dl1=\EM,
+       ed=\EJ, el=\EK, ht=^I, il1=\EL, kcub1=\ED, kcud1=\EB,
+       kcuf1=\EC, kcuu1=\EA, ri=\EI, rmso=\Eq, sgr0=\Eq, smso=\Ep,
+# UniTerm terminal program for the Atari ST:  49-line VT220 emulation mode
+# From: Paul M. Aoki <aoki@ucbvax.berkeley.edu>
+uniterm|uniterm49|UniTerm VT220 emulator with 49 lines,
+       lines#49,
+       is2=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h\E[1;49r\E[49;1H, use=vt220,
+# MiNT VT52 emulation. 80 columns, 25 rows.
+# MiNT is Now TOS, the operating system which comes with all Ataris now
+# (mainly Atari Falcon). This termcap is for the VT52 emulation you get
+# under tcsh/zsh/bash/sh/ksh/ash/csh when you run MiNT in `console' mode
+# From: Per Persson <pp@gnu.ai.mit.edu>, 27 Feb 1996
+st52-old|Atari ST with VT52 emulation,
+       am, km,
+       cols#80, lines#25,
+       bel=^G, civis=\Ef, clear=\EH\EJ, cnorm=\Ee, cr=\r, cub1=\ED,
+       cud1=\EB, cuf1=\EC, cup=\EY%p1%{32}%+%c%p2%{32}%+%c,
+       cuu1=\EA, dl1=\EM, ed=\EJ, el=\EK, home=\EH, ht=^I, il1=\EL,
+       ind=\n, ka1=\E#7, ka3=\E#5, kb2=\E#9, kbs=^H, kc1=\E#1,
+       kc3=\E#3, kclr=\E#7, kcub1=\E#K, kcud1=\E#P, kcuf1=\E#M,
+       kcuu1=\E#H, kf0=\E#D, kf1=\E#;, kf2=\E#<, kf3=\E#=, kf4=\E#>,
+       kf5=\E#?, kf6=\E#@, kf7=\E#A, kf8=\E#B, kf9=\E#C, khome=\E#G,
+       kil1=\E#R, kind=\E#2, kri=\E#8, lf0=f10, nel=\r\n, rc=\Ek,
+       ri=\EI, rmcup=, rmso=\Eq, rs1=\Ez_\Eb@\EcA, sc=\Ej, sgr0=\Eq,
+       smcup=\Ee, smso=\Ep,
 
 #### BeOS
 #
 # BeOS entry for Terminal program Seems to be almost ANSI
-beterm|BeOS Terminal, 
-       am, eo, mir, msgr, xenl, xon, 
-       colors#8, cols#80, it#8, lines#25, ncv#5, pairs#64, 
-       bel=^G, bold=\E[1m, clear=\E[H\E[J, cr=^M, 
-       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, hpa=\E[%i%p1%dG, ht=^I, hts=\EH, ich=\E[%p1%d@, 
-       ich1=\E[@, il=\E[%p1%dL, il1=\E[L, ind=^J, kbs=^H, 
-       kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, 
-       kdch1=\E[3~, kend=\E[4~, kf1=\E[11~, kf10=\E[20~, 
-       kf11=\E[21~, kf12=\E[22~, kf2=\E[12~, kf3=\E[13~, 
-       kf4=\E[14~, kf5=\E[15~, kf6=\E[16~, kf7=\E[17~, kf8=\E[18~, 
-       kf9=\E[19~, khome=\E[1~, kich1=\E[2~, knp=\E[6~, kpp=\E[5~, 
-       kspd=^Z, nel=^M^J, op=\E[m, rc=\E8, rev=\E[7m, ri=\EM, 
-       rmir=\E[4l, rmso=\E[m, rmul=\E[24m, rs1=\Ec, sc=\E7, 
-       setab=\E[4%p1%dm, setaf=\E[3%p1%dm, 
-       setb=\E[%p1%{40}%+%cm, setf=\E[%p1%{30}%+%cm, 
-       sgr0=\E[0;10m, smir=\E[4h, smso=\E[7m, smul=\E[4m, 
-       u6=\E[%i%p1%d;%p2%dR, u7=\E[6n, vpa=\E[%i%p1%dd, 
+beterm|BeOS Terminal,
+       am, eo, mir, msgr, xenl, xon,
+       colors#8, cols#80, it#8, lines#25, ncv#5, pairs#64,
+       bel=^G, bold=\E[1m, clear=\E[H\E[J, cr=\r,
+       csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=^H,
+       cud=\E[%p1%dB, cud1=\n, 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,
+       ech=\E[%p1%dX, ed=\E[J, el=\E[K, el1=\E[1K, home=\E[H,
+       hpa=\E[%i%p1%dG, ht=^I, hts=\EH, ich=\E[%p1%d@, ich1=\E[@,
+       il=\E[%p1%dL, il1=\E[L, ind=\n, kbs=^H, kcub1=\E[D,
+       kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, kdch1=\E[3~,
+       kend=\E[4~, kf1=\E[11~, kf10=\E[20~, kf11=\E[21~,
+       kf12=\E[22~, kf2=\E[12~, kf3=\E[13~, kf4=\E[14~,
+       kf5=\E[15~, kf6=\E[16~, kf7=\E[17~, kf8=\E[18~, kf9=\E[19~,
+       khome=\E[1~, kich1=\E[2~, knp=\E[6~, kpp=\E[5~, kspd=^Z,
+       nel=\r\n, op=\E[m, rc=\E8, rev=\E[7m, ri=\EM, rmir=\E[4l,
+       rmkx=\E[?4l, rmso=\E[m, rmul=\E[24m, rs1=\Ec, sc=\E7,
+       setab=\E[4%p1%dm, setaf=\E[3%p1%dm,
+       setb=\E[%p1%{40}%+%cm, setf=\E[%p1%{30}%+%cm,
+       sgr0=\E[0;10m, smir=\E[4h, smkx=\E[?4h, smso=\E[7m,
+       smul=\E[4m, u6=\E[%i%p1%d;%p2%dR, u7=\E[6n,
+       vpa=\E[%i%p1%dd,
 
 #### Linux consoles
 #
@@ -573,96 +947,488 @@ beterm|BeOS Terminal,
 # *                                                                         *
 # ***************************************************************************
 #
-# The 1.3.x kernels add color-change capabilities; if yours doesn't have this
-# and it matters, turn off <ccc>.  The %02x escape used to implement this is
-# not back-portable to SV curses and not supported in ncurses versions before
-# 1.9.9. All linux kernels since 1.2.13 (at least) set the screen size
+# All linux kernels since 1.2.13 (at least) set the screen size
 # themselves; this entry assumes that capability.
 #
+linux-basic|linux console,
+       am, bce, eo, mir, msgr, xenl, xon,
+       it#8, ncv#18, U8#1,
+       acsc=+\020\,\021-\030.^Y0\333`\004a\261f\370g\361h\260i
+            \316j\331k\277l\332m\300n\305o~p\304q\304r\304s_t\303u
+            \264v\301w\302x\263y\363z\362{\343|\330}\234~\376,
+       bel=^G, clear=\E[H\E[J, cr=\r, csr=\E[%i%p1%d;%p2%dr,
+       cub=\E[%p1%dD, cub1=^H, cud=\E[%p1%dB, cud1=\n,
+       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,
+       dim=\E[2m, dl=\E[%p1%dM, dl1=\E[M, ech=\E[%p1%dX, ed=\E[J,
+       el=\E[K, el1=\E[1K, flash=\E[?5h$<200/>\E[?5l, home=\E[H,
+       hpa=\E[%i%p1%dG, ht=^I, hts=\EH, ich=\E[%p1%d@, ich1=\E[@,
+       il=\E[%p1%dL, il1=\E[L, ind=\n, kb2=\E[G, kbs=^?, kcbt=\E[Z,
+       kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A,
+       kdch1=\E[3~, kend=\E[4~, kf1=\E[[A, 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[[B, kf20=\E[34~, kf3=\E[[C, kf4=\E[[D,
+       kf5=\E[[E, kf6=\E[17~, kf7=\E[18~, kf8=\E[19~, kf9=\E[20~,
+       khome=\E[1~, kich1=\E[2~, kmous=\E[M, knp=\E[6~, kpp=\E[5~,
+       kspd=^Z, nel=\r\n, rc=\E8, rev=\E[7m, ri=\EM, rmam=\E[?7l,
+       rmir=\E[4l, rmso=\E[27m, rmul=\E[24m, rs1=\Ec\E]R, sc=\E7,
+       sgr=\E[0;10%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p5
+           %t;2%;%?%p6%t;1%;%?%p9%t;11%;m,
+       smam=\E[?7h, smir=\E[4h, smul=\E[4m, tbc=\E[3g,
+       vpa=\E[%i%p1%dd, use=vt102+enq, use=klone+sgr,
+       use=ecma+color,
+
+linux-m|Linux console no color,
+       colors@, pairs@,
+       setab@, setaf@, setb@, setf@, use=linux,
+
+# The 1.3.x kernels add color-change capabilities; if yours doesn't have this
+# and it matters, turn off <ccc>.  The %02x escape used to implement this is
+# not supposedly back-portable to older SV curses (although it has worked fine
+# on Solaris for several years) and not supported in ncurses versions before
+# 1.9.9.
+linux-c-nc|linux console with color-change,
+       ccc,
+       initc=\E]P%p1%x%p2%{255}%*%{1000}%/%02x%p3%{255}%*%{1000}%/
+             %02x%p4%{255}%*%{1000}%/%02x,
+       oc=\E]R, use=linux-basic,
+# From: Dennis Henriksen <opus@osrl.dk>, 9 July 1996
+linux-c|linux console 1.3.6+ for older ncurses,
+       ccc,
+       initc=\E]P%?%p1%{9}%>%t%p1%{10}%-%'a'%+%c%e%p1%d%;%p2%{255}
+             %*%{1000}%/%Pr%gr%{16}%/%Px%?%gx%{9}%>%t%gx%{10}%-%'a'
+             %+%c%e%gx%d%;%gr%{15}%&%Px%?%gx%{9}%>%t%gx%{10}%-%'a'
+             %+%c%e%gx%d%;%p3%{255}%*%{1000}%/%Pr%gr%{16}%/%Px%?%gx
+             %{9}%>%t%gx%{10}%-%'a'%+%c%e%gx%d%;%gr%{15}%&%Px%?%gx
+             %{9}%>%t%gx%{10}%-%'a'%+%c%e%gx%d%;%p4%{255}%*%{1000}
+             %/%Pr%gr%{16}%/%Px%?%gx%{9}%>%t%gx%{10}%-%'a'%+%c%e%gx
+             %d%;%gr%{15}%&%Px%?%gx%{9}%>%t%gx%{10}%-%'a'%+%c%e%gx
+             %d%;,
+       oc=\E]R, use=linux-basic,
+
 # The 2.2.x kernels add a private mode that sets the cursor type; use that to
 # get a block cursor for cvvis.
 # reported by Frank Heckenbach <frank@g-n-u.de>.
-linux|linux console, 
-       am, bce, eo, mir, msgr, xenl, xon, 
-       it#8, ncv#2, 
-       acsc=+\020\,\021-\030.^Y0\333`\004a\261f\370g\361h\260i\316j\331k\277l\332m\300n\305o~p\304q\304r\304s_t\303u\264v\301w\302x\263y\363z\362{\343|\330}\234~\376, 
-       bel=^G, civis=\E[?25l\E[?1c, clear=\E[H\E[J, 
-       cnorm=\E[?25h\E[?0c, cr=^M, csr=\E[%i%p1%d;%p2%dr, 
-       cub1=^H, cud1=^J, cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH, 
-       cuu1=\E[A, cvvis=\E[?25h\E[?8c, dch=\E[%p1%dP, dch1=\E[P, 
-       dim=\E[2m, dl=\E[%p1%dM, dl1=\E[M, ech=\E[%p1%dX, ed=\E[J, 
-       el=\E[K, el1=\E[1K, flash=\E[?5h\E[?5l$<200/>, home=\E[H, 
-       hpa=\E[%i%p1%dG, ht=^I, hts=\EH, ich=\E[%p1%d@, ich1=\E[@, 
-       il=\E[%p1%dL, il1=\E[L, ind=^J, kb2=\E[G, kbs=\177, 
-       kcbt=\E[Z, kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, 
-       kdch1=\E[3~, kend=\E[4~, kf1=\E[[A, 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[[B, kf20=\E[34~, kf3=\E[[C, kf4=\E[[D, 
-       kf5=\E[[E, kf6=\E[17~, kf7=\E[18~, kf8=\E[19~, kf9=\E[20~, 
-       khome=\E[1~, kich1=\E[2~, knp=\E[6~, kpp=\E[5~, kspd=^Z, 
-       nel=^M^J, rc=\E8, rev=\E[7m, ri=\EM, rmir=\E[4l, rmso=\E[27m, 
-       rmul=\E[24m, rs1=\Ec\E]R, sc=\E7, 
-       sgr=\E[0;10%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p5%t;2%;%?%p6%t;1%;%?%p7%t;8%;%?%p9%t;11%;m, 
-       smir=\E[4h, smul=\E[4m, tbc=\E[3g, u6=\E[%i%d;%dR, 
-       u7=\E[6n, u8=\E[?6c, u9=\E[c, vpa=\E[%i%p1%dd, 
-       use=klone+sgr, use=ecma+color, 
-linux-m|Linux console no color, 
-       colors@, pairs@, 
-       setab@, setaf@, setb@, setf@, use=linux, 
-linux-c-nc|linux console 1.3.x hack for ncurses only, 
-       ccc, 
-       initc=\E]P%p1%x%p2%{255}%*%{1000}%/%02x%p3%{255}%*%{1000}%/%02x%p4%{255}%*%{1000}%/%02x, 
-       oc=\E]R, 
-       use=linux, 
-# From: Dennis Henriksen <opus@osrl.dk>, 9 July 1996
-linux-c|linux console 1.3.6+ with private palette for each virtual console, 
-       ccc, 
-       colors#8, pairs#64, 
-       initc=\E]P%?%p1%{9}%>%t%p1%{10}%-%'a'%+%c%e%p1%d%;%p2%{255}%&%Pr%gr%{16}%/%Px%?%gx%{9}%>%t%gx%{10}%-%'A'%+%c%e%gx%d%;%gr%{15}%&%Px%?%gx%{9}%>%t%gx%{10}%-%'A'%+%c%e%gx%d%;%p3%{255}%&%Pr%gr%{16}%/%Px%?%gx%{9}%>%t%gx%{10}%-%'A'%+%c%e%gx%d%;%gr%{15}%&%Px%?%gx%{9}%>%t%gx%{10}%-%'A'%+%c%e%gx%d%;%p4%{255}%&%Pr%gr%{16}%/%Px%?%gx%{9}%>%t%gx%{10}%-%'A'%+%c%e%gx%d%;%gr%{15}%&%Px%?%gx%{9}%>%t%gx%{10}%-%'A'%+%c%e%gx%d%;, 
-       oc=\E]R, 
-       use=linux, 
+linux2.2|linux 2.2.x console,
+       civis=\E[?25l\E[?1c, cnorm=\E[?25h\E[?0c,
+       cvvis=\E[?25h\E[?8c, use=linux-c-nc,
+
+# Linux 2.6.x has a fix for SI/SO to work with UTF-8 encoding added here:
+#      http://lkml.iu.edu/hypermail/linux/kernel/0602.2/0738.html
+# Although the kernel has mappings for these, they were not in the default
+# font (tested with Debian and Fedora):
+#      '`' diamond
+#      '~' scan line 1
+#      'p' scan line 3
+#      'r' scan line 7
+#      '_' scan line 9
+linux2.6|linux 2.6.x console,
+       acsc=++\,\,--..00__``aaffgghhiijjkkllmmnnooppqqrrssttuuvvwwx
+            xyyzz{{||}c~~,
+       enacs=\E)0, rmacs=^O,
+       sgr=\E[0;10%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p5
+           %t;2%;%?%p6%t;1%;m%?%p9%t\016%e\017%;,
+       sgr0=\E[m\017, smacs=^N, use=linux2.2,
+
+# The 3.0 kernel adds support for clearing scrollback buffer (capability E3).
+# It is the same as xterm's erase-saved-lines feature.
+linux3.0|linux 3.0 kernels,
+       E3=\E[3J, use=linux2.6,
+
+# This is Linux console for ncurses.
+linux|linux console,
+       use=linux3.0,
+
+# Subject: linux 2.6.26 vt back_color_erase
+# Changes to the Linux console driver broke bce model as reported in
+#      https://bugzilla.novell.com/show_bug.cgi?id=418613
+# apparently from
+#      http://lkml.org/lkml/2008/4/26/305
+#      http://lkml.org/lkml/2008/10/3/66
+linux2.6.26|linux console w/o bce,
+       bce@, use=linux2.6,
 
 # See the note on ICH/ICH1 VERSUS RMIR/SMIR near the end of file
-linux-nic|linux with ich/ich1 suppressed for non-curses programs, 
-       ich@, ich1@, 
-       use=linux, 
+linux-nic|linux with ich/ich1 suppressed for non-curses programs,
+       ich@, ich1@, use=linux,
 
 # This assumes you have used setfont(8) to load one of the Linux koi8-r fonts.
 # acsc entry from Pavel Roskin" <pavel@absolute.spb.su>, 29 Sep 1997.
-linux-koi8|linux with koi8 alternate character set, 
-       acsc=+\020\,\021-\030.^Y0\215`\004a\221f\234g\237h\220i\276j\205k\203l\202m\204n\212o~p\0q\0r\0s_t\206u\207v\211w\210x\201y\230z\231{\267|\274~\224, 
-       use=linux, use=klone+koi8acs, 
+linux-koi8|linux with koi8 alternate character set,
+       acsc=+\020\,\021-\030.^Y0\215`\004a\221f\234g\237h\220i
+            \276j\205k\203l\202m\204n\212o~p\0q\0r\0s_t\206u\207v
+            \211w\210x\201y\230z\231{\267|\274~\224,
+       use=linux, use=klone+koi8acs,
 
 # Another entry for KOI8-r with Qing Long's acsc.
 # (which one better complies with the standard?)
-linux-koi8r|linux with koi8-r alternate character set, 
-       kbs=^H, kcub1=^H, kcud1=^J, 
-       use=linux, use=klone+koi8acs, 
-
-# From:  Matthew Vernon <mcv21@pick.sel.cam.ac.uk>
-mach|Mach Console, 
-       am, km, 
-       cols#80, it#8, lines#25, 
-       bel=^G, blink=\E[5m, bold=\E[1m, clear=\Ec, cr=^M, 
-       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, 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, 
-       kbs=^H, kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, 
-       kdch1=\E[9, kend=\E[Y, kf1=\EOP, kf10=\EOY, kf2=\EOQ, 
-       kf3=\EOR, kf4=\EOS, kf5=\EOT, kf6=\EOU, kf7=\EOV, kf8=\EOW, 
-       kf9=\EOX, khome=\E[H, kich1=\E[@, kll=\E[F, knp=\E[U, 
-       kpp=\E[V, nel=^M^J, rev=\E[7m, rmso=\E[0m, sgr0=\E[0m, 
-       smso=\E[7m, 
-mach-bold|Mach Console with bold instead of underline, 
-       rmul=\E[0m, smul=\E[1m, 
-       use=mach, 
+linux-koi8r|linux with koi8-r alternate character set,
+       use=linux, use=klone+koi8acs,
 
 # Entry for the latin1 and latin2 fonts
-linux-lat|linux with latin1 or latin2 alternate character set, 
-       acsc=+\020\,\021-\030.^Y0\333`\004a\013f\370g\361h\260i\316j\211k\214l\206m\203n\305o~p\304q\212r\304s_t\207u\215v\301w\302x\205y\363z\362{\343|\330}\234~\376, 
-       use=linux, 
+linux-lat|linux with latin1 or latin2 alternate character set,
+       acsc=+\020\,\021-\030.^Y0\333`\004a\013f\370g\361h\260i
+            \316j\211k\214l\206m\203n\305o~p\304q\212r\304s_t\207u
+            \215v\301w\302x\205y\363z\362{\343|\330}\234~\376,
+       use=linux,
+
+# This uses graphics from VT codeset instead of from cp437.
+# reason: cp437 (aka "straight to font") is not functional under luit.
+# from: Andrey V Lukyanov <land@long.yar.ru>.
+linux-vt|linux console using VT codes for graphics,
+       acsc=++\,\,--..00``aaffgghhiijjkkllmmnnooppqqrrssttuuvvwwxxy
+            yzz~~,
+       rmacs=\E(K, rmpch@, sgr@, sgr0=\E[0m\E(K\017, smacs=\E(0,
+       smpch@, use=linux,
+
+# This is based on the Linux console (relies on the console to perform some
+# of the functionality), but does not recognize as many control sequences.
+# The program comes bundled with an old (circa 1998) copy of the Linux
+# console terminfo.  It recognizes some non-ANSI/VT100 sequences such as
+#      \E*     move cursor to home, as as \E[H
+#      \E,X    same as \E(X
+#      \EE     move cursor to beginning of row
+#      \E[y,xf same as \E[y,xH
+#
+# Note: The status-line support is buggy (dsl does not work).
+kon|kon2|jfbterm|Kanji ON Linux console,
+       ccc@, hs,
+       civis@, cnorm@, cvvis@, dsl=\E[?H, flash@, fsl=\E[?F, initc@,
+       initp@, kcbt@, oc@, op=\E[37;40m, rs1=\Ec, tsl=\E[?T,
+       use=linux,
+
+# FbTerm
+# Another variant.  There are two parts (src, src/lib) with the latter
+# comprising the escape-sequence parsing.  The copyright notice on that
+# says it is based on GTerm by Timothy Miller.
+#
+# The original developer "dragchan" has left, but as of March 2017 there is
+# (still dead) code from May 2015 here:
+#      https://github.com/izmntuk/fbterm
+#
+# The acsc string may be incorrect.
+#
+# Not used here, the program recognizes escapes for italic, underline and
+# dim, rendering those as green, cyan and gray respectively.
+fbterm|FbTerm for Linux with framebuffer,
+       colors#0x100, pairs#0x10000,
+       acsc=+\020\,\021-\030.^Y0\333`\004a\261f\370g\361h\260i
+            \316j\331k\277l\332m\300n\305o~p\304q\304r\304s_t\303u
+            \264v\301w\302x\263y\363z\362{\343|\330}\234~\376,
+       initc=\E[3;%p1%d;%p2%d;%p3%d;%p4%d}, rmacs=\E[10m,
+       setab=\E[2;%p1%d}, setaf=\E[1;%p1%d},
+       sgr=\E[0;10%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p5
+           %t;2%;%?%p6%t;1%;%?%p9%t;11%;m,
+       sgr0=\E[0;10m, smacs=\E[11m, use=linux,
+
+# 16-color linux console entry; this works with a 256-character
+# console font but bright background colors turn into dim ones when
+# you use a 512-character console font. This uses bold for bright
+# foreground colors and blink for bright background colors.
+linux-16color|linux console with 16 colors,
+       colors#16, ncv#42, pairs#0x100,
+       setab=\E[4%p1%{8}%m%d%?%p1%{7}%>%t;5%e;25%;m,
+       setaf=\E[3%p1%{8}%m%d%?%p1%{7}%>%t;1%e;21%;m,
+       use=linux,
+
+# bterm (bogl 0.1.18)
+# Implementation is in bogl-term.c
+# Key capabilities from linux terminfo entry
+#
+# Notes:
+# bterm only supports acs using wide-characters, has case for these: qjxamlkut
+# bterm does not support sgr, since it only processes one parameter -TD
+bterm|bogl virtual terminal,
+       am, bce,
+       colors#8, cols#80, lines#24, pairs#64,
+       acsc=aajjkkllmmqqttuuxx, bold=\E[1m, civis=\E[?25l,
+       clear=\E[H\E[2J, cnorm=\E[?25h, cr=\r, cub1=^H, cud1=\n,
+       cup=\E[%i%p1%d;%p2%dH, ed=\E[J, el=\E[K, home=\E[H, ind=\n,
+       kb2=\E[G, kbs=^?, kcbt=\E[Z, kcub1=\E[D, kcud1=\E[B,
+       kcuf1=\E[C, kcuu1=\E[A, kdch1=\E[3~, kend=\E[4~, kf1=\E[[A,
+       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[[B, kf20=\E[34~,
+       kf3=\E[[C, kf4=\E[[D, kf5=\E[[E, kf6=\E[17~, kf7=\E[18~,
+       kf8=\E[19~, kf9=\E[20~, khome=\E[1~, kich1=\E[2~,
+       kmous=\E[M, knp=\E[6~, kpp=\E[5~, kspd=^Z, nel=\r\n,
+       op=\E[49m\E[39m, rev=\E[7m, ri=\EM, rmacs=^O, rmso=\E[27m,
+       rmul=\E[24m, setab=\E[4%p1%dm, setaf=\E[3%p1%dm,
+       sgr0=\E[0m, smacs=^N, smso=\E[7m, smul=\E[4m,
+
+#### Mach
+#
+
+# From: Matthew Vernon <mcv21@pick.sel.cam.ac.uk>
+mach|Mach Console,
+       am, km,
+       cols#80, it#8, lines#25,
+       bel=^G, blink=\E[5m, bold=\E[1m, clear=\Ec, cr=\r,
+       cub=\E[%p1%dD, cub1=^H, cud=\E[%p1%dB, cud1=\n,
+       cuf=\E[%p1%dC, cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH,
+       cuu=\E[%p1%dA, cuu1=\E[A, 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=\n,
+       kbs=^?, kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A,
+       kdch1=\E[9, kend=\E[Y, kf1=\EOP, kf10=\EOY, kf2=\EOQ,
+       kf3=\EOR, kf4=\EOS, kf5=\EOT, kf6=\EOU, kf7=\EOV, kf8=\EOW,
+       kf9=\EOX, khome=\E[H, kich1=\E[@, kll=\E[F, knp=\E[U,
+       kpp=\E[V, rev=\E[7m, rmso=\E[0m, rmul=\E[24m, sgr0=\E[0m,
+       smso=\E[7m, smul=\E[4m,
+mach-bold|Mach Console with bold instead of underline,
+       rmul=\E[0m, smul=\E[1m, use=mach,
+mach-color|Mach Console with ANSI color,
+       colors#8, pairs#64,
+       dim=\E[2m, invis=\E[8m, op=\E[37;40m, rmso=\E[27m,
+       setab=\E[4%p1%dm, setaf=\E[3%p1%dm, use=mach,
+
+# From: Samuel Thibault
+# Source: git://git.sv.gnu.org/hurd/gnumach.git
+# Files: i386/i386at/kd.c
+#
+# Added nel, hpa, sgr and removed rmacs, smacs based on source -TD
+mach-gnu|GNU Mach,
+       acsc=+>\,<-\^.v0\333`+a\261f\370g\361h\260i#j\331k\277l
+            \332m\300n\305o~p\304q\304r\304s_t\303u\264v\301w\302x
+            \263y\363z\362{\343|\330}\234~\376,
+       dch=\E[%p1%dP, dch1=\E[P, dim=\E[2m, ech=\E[%p1%dX,
+       el1=\E[1K, hpa=\E[%i%p1%dG, ich=\E[%p1%d@, ich1=\E[@,
+       invis=\E[8m, nel=\EE,
+       sgr=\E[0%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p5%t;
+           2%;%?%p6%t;1%;%?%p7%t;8%;m,
+       use=ecma+index, use=mach,
+
+mach-gnu-color|Mach Console with ANSI color,
+       colors#8, pairs#64,
+       op=\E[37;40m, rmso=\E[27m, setab=\E[4%p1%dm,
+       setaf=\E[3%p1%dm, use=mach-gnu,
+
+# From: Marcus Brinkmann
+# http://savannah.gnu.org/cgi-bin/viewcvs/*checkout*/hurd/hurd/console/
+#
+# Comments in the original are summarized here:
+#
+# hurd uses 8-bit characters (km).
+#
+# Although it doesn't do XON/XOFF, we don't want padding characters (xon).
+#
+# Regarding compatibility to vt100:  hurd doesn't specify <xenl>, as we don't
+# have the eat_newline_glitch.  It doesn't support setting or removing tab
+# stops (hts/tbc).
+#
+# hurd uses ^H instead of \E[D for cub1, as only ^H implements <bw> and it is
+# one byte instead three.
+#
+# <ich1> is not included because hurd has insert mode.
+#
+# hurd doesn't use ^J for scrolling, because this could put things into the
+# scrollback buffer.
+#
+# gsbom/grbom are used to enable/disable real bold (not intensity bright) mode.
+# This is a GNU extension.
+#
+# The original has commented-out ncv, but is restored here.
+#
+# Reading the source, RIS resets cnorm, but not xmous.
+hurd|The GNU Hurd console server,
+       am, bce, bw, eo, km, mir, msgr, xenl, xon,
+       colors#8, it#8, ncv#18, pairs#64,
+       acsc=++\,\,--..00``aaffgghhiijjkkllmmnnooppqqrrssttuuvvwwxxy
+            yzz{{||}}~~,
+       bel=^G, blink=\E[5m, bold=\E[1m, cbt=\E[Z, civis=\E[?25l,
+       clear=\Ec, cnorm=\E[?25h, cr=\r, csr=\E[%i%p1%d;%p2%dr,
+       cub=\E[%p1%dD, cub1=^H, cud=\E[%p1%dB, cud1=\E[B,
+       cuf=\E[%p1%dC, cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH,
+       cuu=\E[%p1%dA, cuu1=\E[A, cvvis=\E[34l, dch=\E[%p1%dP,
+       dch1=\E[P, dim=\E[2m, dl=\E[%p1%dM, dl1=\E[M,
+       ech=\E[%p1%dX, ed=\E[J, el=\E[K, el1=\E[1K, flash=\Eg,
+       home=\E[H, hpa=\E[%i%p1%dG, ht=^I, ich=\E[%p1%d@,
+       il=\E[%p1%dL, il1=\E[L, ind=\E[S, invis=\E[8m, kb2=\E[G,
+       kbs=^?, kcbt=\E[Z, kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC,
+       kcuu1=\EOA, kdch1=\E[3~, kend=\E[4~, kf1=\EOP, 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=\EOQ, kf20=\E[34~, kf3=\EOR, kf4=\EOS,
+       kf5=\E[15~, kf6=\E[17~, kf7=\E[18~, kf8=\E[19~, kf9=\E[20~,
+       khome=\E[1~, kich1=\E[2~, kmous=\E[M, knp=\E[6~, kpp=\E[5~,
+       kspd=^Z, nel=\r\n, op=\E[39;49m, rc=\E8, rev=\E[7m, ri=\E[T,
+       rmacs=\E[10m, rmir=\E[4l, rmso=\E[27m, rmul=\E[24m,
+       rs1=\EM\E[?1000l, sc=\E7, setab=\E[4%p1%dm,
+       setaf=\E[3%p1%dm,
+       sgr=\E[0%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p5%t;
+           2%;%?%p6%t;1%;%?%p7%t;8%;%?%p9%t;11%;m,
+       sgr0=\E[0m, smacs=\E[11m, smir=\E[4h, smso=\E[7m,
+       smul=\E[4m, vpa=\E[%i%p1%dd, grbom=\E[>1l, gsbom=\E[>1h,
+       use=ecma+index, use=ecma+italics,
+
+#### QNX
+#
+
+# QNX 4.0 Console
+# Michael's original version of this entry had <am@>, <smcup=\Ei>,
+# <rmcup=\Eh\ER>; this was so terminfo applications could write the lower
+# right corner without triggering a scroll.  The ncurses terminfo library can
+# handle this case with the <ich1> capability, and prefers <am> for better
+# optimization.  Bug: The <op> capability resets attributes.
+# From: Michael Hunter <mphunter@qnx.com> 30 Jul 1996
+# (removed: <sgr=%?%p1%t\E<%;%p2%t\E[%;%p3%t\E(%;%p4%t\E{%;%p6%t\E<%;,>)
+qnx|qnx4|qnx console,
+       daisy, km, mir, msgr, xhpa, xt,
+       colors#8, cols#80, it#4, lines#25, ncv#3, pairs#8,
+       acsc=O\333a\261j\331k\277l\332m\300n\305o\337q\304s\334t
+            \303u\264v\301w\302x\263,
+       bel=^G, blink=\E{, bold=\E<, civis=\Ey0, clear=\EH\EJ,
+       cnorm=\Ey1, cr=\r, cub1=^H, cud1=\n, cuf1=\EC,
+       cup=\EY%p1%{32}%+%c%p2%{32}%+%c, cuu1=\EA, cvvis=\Ey2,
+       dch1=\Ef, dl1=\EF, ed=\EJ, el=\EK, home=\EH, ht=^I, ich1=\Ee,
+       il1=\EE, ind=\n, kBEG=\377\356, kCAN=\377\263,
+       kCMD=\377\267, kCPY=\377\363, kCRT=\377\364,
+       kDL=\377\366, kEND=\377\301, kEOL=\377\311,
+       kEXT=\377\367, kFND=\377\370, kHLP=\377\371,
+       kHOM=\377\260, kIC=\377\340, kLFT=\377\264,
+       kMOV=\377\306, kMSG=\377\304, kNXT=\377\272,
+       kOPT=\377\372, kPRT=\377\275, kPRV=\377\262,
+       kRDO=\377\315, kRES=\377\374, kRIT=\377\266,
+       kRPL=\377\373, kSAV=\377\307, kSPD=\377\303,
+       kUND=\377\337, kbeg=\377\300, kcan=\377\243, kcbt=\377\0,
+       kclo=\377\343, kclr=\377\341, kcmd=\377\245,
+       kcpy=\377\265, kcrt=\377\305, kctab=\377\237,
+       kcub1=\377\244, kcud1=\377\251, kcuf1=\377\246,
+       kcuu1=\377\241, kdch1=\377\254, kdl1=\377\274,
+       ked=\377\314, kel=\377\310, kend=\377\250, kent=\377\320,
+       kext=\377\270, kf1=\377\201, kf10=\377\212,
+       kf11=\377\256, kf12=\377\257, kf13=\377\213,
+       kf14=\377\214, kf15=\377\215, kf16=\377\216,
+       kf17=\377\217, kf18=\377\220, kf19=\377\221,
+       kf2=\377\202, kf20=\377\222, kf21=\377\223,
+       kf22=\377\224, kf23=\377\333, kf24=\377\334,
+       kf25=\377\225, kf26=\377\226, kf27=\377\227,
+       kf28=\377\230, kf29=\377\231, kf3=\377\203,
+       kf30=\377\232, kf31=\377\233, kf32=\377\234,
+       kf33=\377\235, kf34=\377\236, kf35=\377\276,
+       kf36=\377\277, kf37=\377\321, kf38=\377\322,
+       kf39=\377\323, kf4=\377\204, kf40=\377\324,
+       kf41=\377\325, kf42=\377\326, kf43=\377\327,
+       kf44=\377\330, kf45=\377\331, kf46=\377\332,
+       kf47=\377\316, kf48=\377\317, kf5=\377\205, kf6=\377\206,
+       kf7=\377\207, kf8=\377\210, kf9=\377\211, kfnd=\377\346,
+       khlp=\377\350, khome=\377\240, khts=\377\342,
+       kich1=\377\253, kil1=\377\273, kind=\377\261,
+       kmov=\377\351, kmrk=\377\355, kmsg=\377\345,
+       knp=\377\252, knxt=\377\312, kopn=\377\357,
+       kopt=\377\353, kpp=\377\242, kprt=\377\255,
+       kprv=\377\302, krdo=\377\336, kref=\377\354,
+       kres=\377\360, krfr=\377\347, kri=\377\271,
+       krmir=\377\313, krpl=\377\362, krst=\377\352,
+       ksav=\377\361, kslt=\377\247, kspd=\377\335,
+       ktbc=\377\344, kund=\377\365, mvpa=\E!%p1%02d, op=\ER,
+       rep=\Eg%p2%{32}%+%c%p1%c, rev=\E(, ri=\EI, rmcup=\Eh\ER,
+       rmso=\E), rmul=\E], rs1=\ER, setb=\E@%p1%Pb%gb%gf%d%d,
+       setf=\E@%p1%Pf%gb%gf%d%d, sgr0=\E}\E]\E>\E), smcup=\Ei,
+       smso=\E(, smul=\E[,
+#
+#
+qnxt|qnxt4|QNX4 terminal,
+       crxm, use=qnx4,
+#
+qnxm|QNX4 with mouse events,
+       maddr#1,
+       chr=\E/, cvr=\E", is1=\E/0t, mcub=\E/>1h, mcub1=\E/>7h,
+       mcud=\E/>1h, mcud1=\E/>1l\E/>9h, mcuf=\E/>1h\E/>9l,
+       mcuf1=\E/>7l, mcuu=\E/>6h, mcuu1=\E/>6l, rmicm=\E/>2l,
+       smicm=\E/>2h, use=qnx4,
+#
+qnxw|QNX4 windows,
+       xvpa, use=qnxm,
+#
+#      Monochrome QNX4 terminal or console. Setting this terminal type will
+#      allow an application running on a color console to behave as if it
+#      were a monochrome terminal. Output will be through stdout instead of
+#      console writes because the term routines will recognize that the
+#      terminal name starts with 'qnxt'.
+#
+qnxtmono|Monochrome QNX4 terminal or console,
+       colors@, pairs@,
+       scp@, use=qnx4,
+
+# From: Federico Bianchi <bianchi@pc-arte2.arte.unipi.it>, 1 Jul 1998
+# (esr: commented out <scp> and <rmcup> to avoid warnings.)
+# (TD: derive from original qnx4 entry)
+qnxt2|qnx 2.15 serial terminal,
+       am,
+       civis@, cnorm@, cvvis@, dch1@, ich1@, kRES@, kRPL@, kUND@, kspd@,
+       rep@, rmcup@, rmso=\E>, setb@, setf@, smcup@, smso=\E<, use=qnx4,
+
+# QNX ANSI terminal definition
+qansi-g|QNX ANSI,
+       am, eslok, hs, xon,
+       colors#8, cols#80, it#8, lines#25, ncv#19, pairs#64, wsl#80,
+       acsc=Oa``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
+       bel=^G, blink=\E[5m, bold=\E[1m, cbt=\E[Z, civis=\E[?25l,
+       clear=\E[2J\E[H, cnorm=\E[?25h\E[?12l, cr=\r,
+       csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=\E[D,
+       cud=\E[%p1%dB, cud1=\E[B, cuf=\E[%p1%dC, cuf1=\E[C,
+       cup=\E[%i%p1%d;%p2%dH$<5>, cuu=\E[%p1%dA, cuu1=\E[A,
+       cvvis=\E[?12;25h, dch=\E[%p1%dP, dch1=\E[P, dim=\E[2m,
+       dl=\E[%p1%dM, dl1=\E[1M, dsl=\E[r, ech=\E[%p1%dX, ed=\E[J,
+       el=\E[K, el1=\E[1K\E[X, flash=\E[?5h$<200>\E[?5l,
+       fsl=\E[?6h\E8, home=\E[H, hpa=\E[%i%p1%dG, ht=^I, hts=\EH,
+       ich=\E[%p1%d@, ich1=\E[1@, il=\E[%p1%dL, il1=\E[1L,
+       ind=\E[S, invis=\E[9m,
+       is2=\E>\E[?1l\E[?7h\E[0;10;39;49m, is3=\E(B\E)0,
+       kBEG=\ENn, kCAN=\E[s, kCMD=\E[t, kCPY=\ENs, kCRT=\ENt,
+       kDL=\ENv, kEXT=\ENw, kFND=\ENx, kHLP=\ENy, kHOM=\E[h,
+       kLFT=\E[d, kNXT=\E[u, kOPT=\ENz, kPRV=\E[v, kRIT=\E[c,
+       kbs=^H, kcan=\E[S, kcbt=\E[Z, kclo=\ENc, kclr=\ENa,
+       kcmd=\E[G, kcpy=\E[g, kctab=\E[z, kcub1=\E[D, kcud1=\E[B,
+       kcuf1=\E[C, kcuu1=\E[A, kdch1=\E[P, kdl1=\E[p, kend=\E[Y,
+       kext=\E[y, kf1=\EOP, kf10=\EOY, kf11=\EOZ, kf12=\EOA,
+       kf13=\EOp, kf14=\EOq, kf15=\EOr, kf16=\EOs, kf17=\EOt,
+       kf18=\EOu, kf19=\EOv, kf2=\EOQ, kf20=\EOw, kf21=\EOx,
+       kf22=\EOy, kf23=\EOz, kf24=\EOa, kf25=\E[1~, kf26=\E[2~,
+       kf27=\E[3~, kf28=\E[4~, kf29=\E[5~, kf3=\EOR, kf30=\E[6~,
+       kf31=\E[7~, kf32=\E[8~, kf33=\E[9~, kf34=\E[10~,
+       kf35=\E[11~, kf36=\E[12~, kf37=\E[17~, kf38=\E[18~,
+       kf39=\E[19~, kf4=\EOS, kf40=\E[20~, kf41=\E[21~,
+       kf42=\E[22~, kf43=\E[23~, kf44=\E[24~, kf45=\E[25~,
+       kf46=\E[26~, kf47=\E[27~, kf48=\E[28~, kf5=\EOT, kf6=\EOU,
+       kf7=\EOV, kf8=\EOW, kf9=\EOX, kfnd=\ENf, khlp=\ENh,
+       khome=\E[H, khts=\ENb, kich1=\E[@, kil1=\E[`, kind=\E[a,
+       kmov=\ENi, kmrk=\ENm, kmsg=\ENe, knp=\E[U, kopn=\ENo,
+       kopt=\ENk, kpp=\E[V, kref=\ENl, kres=\ENp, krfr=\ENg,
+       kri=\E[b, krpl=\ENr, krst=\ENj, ksav=\ENq, kslt=\E[T,
+       ktbc=\ENd, kund=\ENu, ll=\E[99H, nel=\EE, op=\E[39;49m,
+       rep=%p1%c\E[%p2%{1}%-%db, rev=\E[7m, ri=\E[T, rmacs=^O,
+       rmam=\E[?7l, rmso=\E[27m, rmul=\E[24m,
+       rs1=\017\E[?7h\E[0;39;49m$<2>\E>\E[?1l,
+       rs2=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h,
+       setb=\E[4%?%p1%{1}%=%t4%e%p1%{3}%=%t6%e%p1%{4}%=%t1%e%p1%{6}
+            %=%t3%e%p1%d%;m,
+       setf=\E[3%?%p1%{1}%=%t4%e%p1%{3}%=%t6%e%p1%{4}%=%t1%e%p1%{6}
+            %=%t3%e%p1%d%;m,
+       sgr=\E[0%?%p6%t;1%;%?%p5%t;2%;%?%p2%t;4%;%?%p4%t;5%;%?%p3%p1
+           %|%t;7%;%?%p7%t;9%;m%?%p9%t\016%e\017%;,
+       sgr0=\E[m\017, smacs=^N, smam=\E[?7h, smso=\E[7m,
+       smul=\E[4m, tbc=\E[3g,
+       tsl=\E7\E1;24r\E[?6l\E[25;%i%p1%dH, use=ecma+index,
+#
+qansi|QNX ansi with console writes,
+       daisy, xhpa, use=qansi-g,
+#
+qansi-t|QNX ansi without console writes,
+       crxm, use=qansi,
+#
+qansi-m|QNX ansi with mouse,
+       maddr#1,
+       chr=\E[, cvr=\E], is1=\E[0t, mcub=\E[>1h, mcub1=\E[>7h,
+       mcud=\E[>1h, mcud1=\E[>1l\E[>9h, mcuf=\E[>1h\E[>9l,
+       mcuf1=\E[>7l, mcuu=\E[>6h, mcuu1=\E[>6l, rmicm=\E[>2l,
+       smicm=\E[>2h, use=qansi,
+#
+qansi-w|QNX ansi for windows,
+       xvpa, use=qansi-m,
+
+#### SCO consoles
 
 # SCO console and SOS-Syscons console for 386bsd
 # (scoansi: had unknown capabilities
@@ -676,221 +1442,71 @@ linux-lat|linux with latin1 or latin2 alternate character set,
 #
 # klone+sgr-dumb is an error since the acsc does not match -TD
 #
-# In this description based on SCO's keyboard(HW) manpage list of default function key
-# values:
+# In this description based on SCO's keyboard(HW) manpage list of default
+# function key values:
 #      F13-F24 are shifted F1-F12
 #      F25-F36 are control F1-F12
 #      F37-F48 are shift+control F1-F12
-scoansi|SCO Extended ANSI standard crt, 
-       am, eo, xon, 
-       colors#8, cols#80, it#8, lines#25, pairs#64, 
-       acsc=0[5566778899\:\:;;<<==>>FFGGHHIIJJKKLLMMNNOOPPQQRRSSTTUUVVWWXX`ja0fxgqh2jYk?lZm@nEqDtCu4vAwBx3~y, 
-       blink=\E[5m, bold=\E[1m, cbt=\E[Z, clear=\E[H\E[2J, 
-       cub1=\E[D, cud1=\E[B, cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH, 
-       cuu1=\E[A, dch1=\E[P, dl1=\E[M, ed=\E[J, el=\E[K, home=\E[H, 
-       ht=^I, ich1=\E[@, il1=\E[L, ind=\E[S, invis=\E[8m, kbeg=\E[E, 
-       kbs=^H, kcbt=\E[Z, kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, 
-       kcuu1=\E[A, kend=\E[F, kf1=\E[M, kf10=\E[V, kf11=\E[W, 
-       kf12=\E[X, kf13=\E[Y, kf15=\E[a, kf16=\E[b, kf17=\E[c, 
-       kf18=\E[d, kf19=\E[e, kf2=\E[N, kf20=\E[f, kf21=\E[g, 
-       kf22=\E[h, kf23=\E[i, kf24=\E[j, kf25=\E[k, kf26=\E[l, 
-       kf27=\E[m, kf28=\E[n, kf29=\E[o, kf3=\E[O, kf30=\E[p, 
-       kf31=\E[q, kf32=\E[r, kf33=\E[s, kf34=\E[t, kf35=\E[u, 
-       kf36=\E[v, kf37=\E[w, kf38=\E[x, kf39=\E[y, kf4=\E[P, 
-       kf40=\E[z, kf41=\E[@, kf42=\E[[, kf43=\E[\\, kf44=\E[], 
-       kf45=\E[\^, kf46=\E[_, kf47=\E[`, kf48=\E[{, kf5=\E[Q, 
-       kf6=\E[R, kf7=\E[S, kf8=\E[T, kf9=\E[U, khome=\E[H, 
-       kich1=\E[L, knp=\E[G, kpp=\E[I, op=\E[37;40m, rev=\E[7m, 
-       ri=\E[T, rmacs=\E[10m, rmso=\E[m, rmul=\E[m, 
-       setab=\E[4%p1%dm, setaf=\E[3%p1%dm, 
-       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, 
-
-# This actually describes the generic SVr4 display driver for Intel boxes.
-# The <dim=\E[2m> isn't documented and therefore may not be reliable.
-# From: Eric Raymond <esr@snark.thyrsus.com> Mon Nov 27 19:00:53 EST 1995
-att6386|at386|386at|AT&T WGS 6386 console, 
-       am, bw, eo, xon, 
-       cols#80, it#8, lines#25, 
-       acsc=``a1fxgqh0jYk?lZm@nEooppqDrrsstCu4vAwBx3yyzz{{||}}~~, 
-       bel=^G, blink=\E[5m, bold=\E[1m, cbt=\E[Z, civis=\E[=C, 
-       clear=\E[2J\E[H, cnorm=\E[=1C, cr=^M, cub=\E[%p1%dD, 
-       cub1=\E[D, cud=\E[%p1%dB, cud1=\E[B, 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, dim=\E[2m, 
-       dl=\E[%p1%dM, dl1=\E[1M, ech=\E[%p1%dX, ed=\E[J, el=\E[K, 
-       home=\E[H, hpa=\E[%i%p1%dG, ht=^I, hts=\EH, ich=\E[%p1%d@, 
-       ich1=\E[1@, il=\E[%p1%dL, il1=\E[1L, ind=\E[S, 
-       indn=\E[%p1%dS, invis=\E[9m, is2=\E[0;10;39m, kbs=^H, 
-       kcbt=^], kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, 
-       kdch1=\E[P, kend=\E[Y, kf1=\EOP, kf10=\EOY, kf11=\EOZ, 
-       kf12=\EOA, kf2=\EOQ, kf3=\EOR, kf4=\EOS, kf5=\EOT, kf6=\EOU, 
-       kf7=\EOV, kf8=\EOW, kf9=\EOX, khome=\E[H, kich1=\E[@, 
-       knp=\E[U, kpp=\E[V, krmir=\E0, nel=\r\E[S, rc=\E8, rev=\E[7m, 
-       ri=\E[T, rin=\E[%p1%dT, rmacs=\E[10m, rmso=\E[m, rmul=\E[m, 
-       sc=\E7, 
-       sgr=\E[10m\E[0%?%p1%p3%|%t;7%;%?%p2%t;4%;%?%p4%t;5%;%?%p5%t;2%;%?%p6%t;1%;%?%p9%t;12%e;10%;%?%p7%t;9%;m, 
-       sgr0=\E[0;10m, smacs=\E[12m, smso=\E[7m, smul=\E[4m, 
-       tbc=\E[2g, vpa=\E[%i%p1%dd, 
-       use=klone+color, 
-# (pc6300plus: removed ":KM=/usr/lib/ua/kmap.s5:"; renamed BO/EE/CI/CV -- esr)
-pc6300plus|AT&T 6300 plus, 
-       am, xon, 
-       cols#80, lines#24, 
-       bel=^G, blink=\E[5m, bold=\E[1m, civis=\E[=C, 
-       clear=\E[2J\E[H, cnorm=\E[=1C, cr=^M, cub1=^H, cud1=\E[B, 
-       cuf1=\E[C, cup=\E[%i%p1%2d;%p2%2dH, cuu1=\E[A, 
-       dch1=\E[1P, dim=\E[2m, dl1=\E[1M, ed=\E[0J, el=\E[0K, 
-       home=\E[H, hts=\EH, ich1=\E[1@, il1=\E[1L, ind=^J, 
-       invis=\E[9m, kbs=^H, kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, 
-       kcuu1=\E[A, kf1=\EOc, kf10=\EOu, kf2=\EOd, kf3=\EOe, 
-       kf4=\EOf, kf5=\EOg, kf6=\EOh, kf7=\EOi, kf8=\EOj, kf9=\EOk, 
-       nel=^M^J, rev=\E[7m, rmso=\E[m, rmul=\E[m, sgr0=\E[m, 
-       smso=\E[7m, smul=\E[4m, tbc=\E[3g, 
-
-# From: Benjamin C. W. Sittler <bsittler@nmt.edu>
-#
-# I have a UNIX PC which I use as a terminal attached to my Linux PC.
-# Unfortunately, the UNIX PC terminfo entry that comes with ncurses
-# is broken. All the special key sequences are broken, making it unusable
-# with Emacs. The problem stems from the following:
-# 
-# The UNIX PC has a plethora of keys (103 of them, and there's no numeric
-# keypad!), loadable fonts, and strange highlighting modes ("dithered"
-# half-intensity, "smeared" bold, and real strike-out, for example.) It also
-# uses resizable terminal windows, but the bundled terminal program always
-# uses an 80x24 window (and doesn't support seem to support a 132-column
-# mode.) 
-# 
-# HISTORY: The UNIX PC was one of the first machines with a GUI, and used a
-# library which was a superset of SVr3.5 curses (called tam, for "terminal
-# access method".) tam includes support for real, overlapping windows,
-# onscreen function key labels, and bitmap graphics. But since the primary
-# user interface on the UNIX PC was a GUI program (ua, for "user
-# assistant",) and remote administration was considered important for the
-# machine, tam also supported VT100-compatible terminals attached to the
-# serial port or used across the StarLan network. To simulate the extra keys
-# not present on a VT100, users could press ESC and a two-letter sequence,
-# such as u d (Undo) or U D (Shift-Undo.) These two-letter sequences,
-# however, were not the same as those sent by the actual Undo key. The
-# actual Undo key sends ESC 0 s unshifted, and ESC 0 S shifted, for example.
-# (If you're interested in adding some of the tam calls to ncurses, btw, I
-# have the full documentation and several programs which use tam. It also
-# used an extended terminfo format to describe key sequences, special
-# highlighting modes, etc.) 
-# 
-# KEYS: This means that ncurses would quite painful on the UNIX PC, since
-# there are two sequences for every key-modifier combination (local keyboard
-# sequence and remote "VT100" sequence.) But I doubt many people are trying
-# to use ncurses on the UNIX PC, since ncurses doesn't properly handle the
-# GUI. Unfortunately, the terminfo entry (and the termcap, too, I presume) 
-# seem to have been built from the manual describing the VT100 sequences. 
-# This means it doesn't work for a real live UNIX PC. 
-# 
-# FONTS: The UNIX PC also has a strange interpretation of "alternate
-# character set". Rather than the VT100 graphics you might expect, it allows
-# up to 8 custom fonts to be loaded at any given time. This means that
-# programs expecting VT100 graphics will usually be disappointed. For this
-# reason I have disabled the smacs/rmacs sequences, but they could easily be
-# re-enabled. Here are the relevant control sequences (from the ESCAPE(7) 
-# manpage), should you wish to do so: 
-# 
-# SGR10 - Select font 0 - ESC [ 10 m or SO
-# SGR11 - Select font 1 - ESC [ 11 m or SI
-# SGR12 - Select font 2 - ESC [ 12 m
-# ... (etc.)
-# SGR17 - Select font 7 - ESC [ 17 m
-# 
-# Graphics for line drawing are not reliably found at *any* character
-# location because the UNIX PC has dynamically reloadable fonts. I use font
-# 0 for regular text and font 1 for italics, but this is by no means
-# universal. So ASCII line drawing is in order if smacs/rmacs are enabled.
-# 
-# MISC: The cursor visible/cursor invisible sequences were swapped in the
-# distributed terminfo.
-# 
-# To ameliorate these problems (and fix a few highlighting bugs) I rewrote
-# the UNIX PC terminfo entry. The modified version works great with Lynx,
-# Emacs, and XEmacs running on my Linux PC and displaying on the UNIX PC
-# attached by serial cable. In Emacs, even the Undo key works, and many
-# applications can now use the F1-F8 keys. 
-# 
-# esr's notes:
-#      Terminfo entry for the AT&T Unix PC 7300
-#      from escape(7) in Unix PC 7300 Manual.
-#      Somewhat similar to a vt100-am (but different enough
-#      to redo this from scratch.)
 #
-#      /***************************************************************
-#      *
-#      *           FONT LOADING PROGRAM FOR THE UNIX PC
-#      *
-#      *     This routine loads a font defined in the file ALTFONT
-#      *     into font memory slot #1.  Once the font has been loaded,
-#      *     it can be used as an alternative character set.
-#      *
-#      *     The call to ioctl with the argument WIOCLFONT is the key 
-#      *     to this routine.  For more information, see window(7) in 
-#      *     the PC 7300 documentation.
-#      ***************************************************************/
-#      #include <string.h>             /* needed for strcpy call */
-#      #include <sys/window.h>         /* needed for ioctl call */
-#      #define FNSIZE  60              /* font name size */
-#      #define ALTFONT  "/usr/lib/wfont/special.8.ft"  /* font file */
-#      /*
-#      *     The file /usr/lib/wfont/special.8.ft comes with the
-#      *     standard PC software.  It defines a graphics character set
-#      *     similar to that of the Teletype 5425 terminal.  To view
-#      *     this or other fonts in /usr/lib/wfont, use the command
-#      *     cfont <filename>.  For further information on fonts see
-#      *     cfont(1) in the PC 7300 documentation.
-#      */
-#      
-#      struct altfdata         /* structure for alt font data */
-#      {
-#      short   altf_slot;              /* memory slot number */
-#      char    altf_name[FNSIZE];      /* font name (file name) */
-#      };
-#      ldfont()
-#      {
-#              int wd;         /* window in which altfont will be */
-#              struct altfdata altf;
-#              altf.altf_slot=1;
-#              strcpy(altf.altf_name,ALTFONT);
-#              for (wd =1; wd < 12; wd++) {
-#                   ioctl(wd, WIOCLFONT,&altf);
-#              }
-#      }
-#
-# (att7300: added <civis>/<cnorm>/<ich1>/<invis> from the BSDI entry,
-# they're confirmed by the man page for the System V display---esr)
-#
-att7300|unixpc|pc7300|3b1|s4|AT&T UNIX PC Model 7300, 
-       am, xon, 
-       cols#80, it#8, lines#24, 
-       bel=^G, blink=\E[9m, bold=\E[1m, cbt=\E^I, civis=\E[=1C, 
-       clear=\E[2J\E[H, cnorm=\E[=0C, cr=^M, cub=\E[%p1%dD, 
-       cub1=^H, cud=\E[%p1%dB, cud1=\E[B, cuf=\E[%p1%dC, 
-       cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, 
-       cuu1=\E[A, dch1=\E[P, dim=\E[2m, dl=\E[%p1%dM, dl1=\E[M, 
-       ed=\E[0J, el=\E[0K, home=\E[H, ich1=\E[@, il=\E[%p1%dL, 
-       il1=\E[L, ind=^J, invis=\E[9m, is1=\017\E[=1w, kBEG=\ENB, 
-       kCAN=\EOW, kCPY=\END, kCRT=\EON, kDC=\ENF, kDL=\ENE, 
-       kEND=\ENN, kEOL=\EOA, kFND=\EOX, kHLP=\EOM, kHOM=\ENM, 
-       kIC=\ENJ, kLFT=\ENK, kMOV=\ENC, kNXT=\ENH, kOPT=\EOR, 
-       kPRV=\ENG, kRDO=\EOT, kRIT=\ENL, kRPL=\EOY, kSAV=\EOO, 
-       kUND=\EOS, kbeg=\ENb, kbs=^H, kcan=\EOw, kcbt=\E[Z, 
-       kclo=\EOV, kclr=\E[J, kcmd=\EOu, kcpy=\ENd, kcrt=\EOn, 
-       kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, kdch1=\ENf, 
-       ked=\E[J, kel=\EOa, kend=\E0, kext=\EOk, kf1=\EOc, kf2=\EOd, 
-       kf3=\EOe, kf4=\EOf, kf5=\EOg, kf6=\EOh, kf7=\EOi, kf8=\EOj, 
-       kfnd=\EOx, khlp=\EOm, khome=\E[H, kich1=\ENj, kind=\E[B, 
-       kmov=\ENc, kmrk=\ENi, knp=\E[U, knxt=\ENh, kopn=\EOv, 
-       kopt=\EOr, kpp=\E[V, kprt=\EOz, kprv=\ENg, krdo=\EOt, 
-       kref=\EOb, krfr=\ENa, kri=\E[A, krpl=\EOy, krst=\EOB, 
-       ksav=\EOo, kslt=\ENI, kund=\EOs, nel=\EE, rev=\E[7m, ri=\EM, 
-       rmso=\E[m, rmul=\E[m, sgr0=\E[0;10m, smso=\E[7m, 
-       smul=\E[4m, 
+# hpa/vpa work in the console, but not in scoterm:
+#      hpa=\E[%p1%dG,
+#      vpa=\E[%p1%dd,
+#
+# SCO's terminfo uses
+#      kLFT=\E[d,
+#      kRIT=\E[c,
+# which do not work (console or scoterm).
+#
+# Console documents only 3 attributes can be set with SGR (so we don't use sgr).
+scoansi-old|SCO Extended ANSI standard crt (5.0.5),
+       OTbs, am, bce, eo, xon,
+       colors#8, cols#80, it#8, lines#25, pairs#64,
+       acsc=+/\,.-\230.\2310[5566778899\:\:;;<<==>>FFGGHHIIJJKKLLMM
+            NNOOPPQQRRSSTTUUVVWWXX`\204a0fxgqh2jYk?lZm@nEqDtCu4vAwB
+            x3yszr{c}\034~\207,
+       bel=^G, blink=\E[5m, bold=\E[1m, cbt=\E[Z,
+       civis=\E[=14;12C, clear=\E[H\E[2J, cnorm=\E[=10;12C,
+       cub=\E[%p1%dD, cub1=^H, cud=\E[%p1%dB, cud1=\E[B,
+       cuf=\E[%p1%dC, cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH,
+       cuu=\E[%p1%dA, cuu1=\E[A, cvvis=\E[=0;12C, dch=\E[%p1%dP,
+       dch1=\E[P, dispc=\E[=%p1%dg, dl=\E[%p1%dM, dl1=\E[M,
+       ed=\E[m\E[J, el=\E[m\E[K, el1=\E[1K, home=\E[H, ht=^I,
+       hts=\EH, ich=\E[%p1%d@, ich1=\E[@, il=\E[%p1%dL, il1=\E[L,
+       ind=\E[S, invis=\E[8m, kbeg=\E[E, kbs=^H, kcbt=\E[Z,
+       kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, kdch1=^?,
+       kend=\E[F, kf1=\E[M, kf10=\E[V, kf11=\E[W, kf12=\E[X,
+       kf13=\E[Y, kf15=\E[a, kf16=\E[b, kf17=\E[c, kf18=\E[d,
+       kf19=\E[e, kf2=\E[N, kf20=\E[f, kf21=\E[g, kf22=\E[h,
+       kf23=\E[i, kf24=\E[j, kf25=\E[k, kf26=\E[l, kf27=\E[m,
+       kf28=\E[n, kf29=\E[o, kf3=\E[O, kf30=\E[p, kf31=\E[q,
+       kf32=\E[r, kf33=\E[s, kf34=\E[t, kf35=\E[u, kf36=\E[v,
+       kf37=\E[w, kf38=\E[x, kf39=\E[y, kf4=\E[P, kf40=\E[z,
+       kf41=\E[@, kf42=\E[[, kf43=\E[\\, kf44=\E[], kf45=\E[\^,
+       kf46=\E[_, kf47=\E[`, kf48=\E[{, kf5=\E[Q, kf6=\E[R,
+       kf7=\E[S, kf8=\E[T, kf9=\E[U, khome=\E[H, kich1=\E[L,
+       knp=\E[G, kpp=\E[I, op=\E[0;37;40m, rc=\E8, rev=\E[7m,
+       ri=\E[T, rmacs=\E[10m, rmam=\E[?7l, rmso=\E[m, rmul=\E[m,
+       sc=\E7, setab=\E[4%p1%dm, setaf=\E[3%p1%dm,
+       sgr0=\E[0;10m, smacs=\E[12m, smam=\E[?7h, smso=\E[7m,
+       smul=\E[4m, use=ecma+index,
+scoansi-new|SCO Extended ANSI standard crt (5.0.6),
+       km,
+       civis=\E[=0c, cnorm=\E[=1c, csr=\E[%i%p1%d;%p2%dr,
+       cvvis=\E[=2c, mgc=\E[=r, oc=\E[51m, op=\E[50m,
+       rep=\E[%p1%d;%p2%db, rmm=\E[=11L,
+       sgr=\E[0%?%p1%p3%|%t;7%;%?%p2%t;4%;%?%p4%t;5%;%?%p6%t;1%;%?
+           %p7%t;8%;%?%p9%t;12%e;10%;m,
+       smgb=\E[=1;0m, smgbp=\E[=1;%i%p1%dm,
+       smglp=\E[=2;%i%p1%dm, smgr=\E[=3;0m,
+       smgrp=\E[=3;%i%p1%dm, smgt=\E[=0;0m,
+       smgtp=\E[=0;%i%p1%dm, smm=\E[=10L,
+       wind=\E[%i%p1%d;%p2%d;%i%p3%d;%p4%dr,
+       use=scoansi-old,
+# make this easy to change...
+scoansi|SCO Extended ANSI standard crt,
+       use=scoansi-old,
+
+#### SGI consoles
 
 # Sent by Stefan Stapelberg <stefan@rent-a-guru.de>, 24 Feb 1997, this is
 # from SGI's terminfo database.  SGI's entry shows F9-F12 with the codes
@@ -905,7 +1521,7 @@ att7300|unixpc|pc7300|3b1|s4|AT&T UNIX PC Model 7300,
 #
 # F1-F12 generate different codes when shift or control modifiers are used.
 # For example:
-#      F1              \E[001q
+#      F1              \E[001q
 #      shift F1        \E[013q
 #      control-F1      \E[025q
 #
@@ -925,153 +1541,110 @@ att7300|unixpc|pc7300|3b1|s4|AT&T UNIX PC Model 7300,
 #
 #      control-tab     \[072q
 #
-iris-ansi|iris-ansi-net|IRIS emulating 40 line ANSI terminal (almost VT100), 
-       am, 
-       cols#80, it#8, lines#40, 
-       bel=^G, bold=\E[1m, clear=\E[H\E[2J, 
-       cnorm=\E[9/y\E[12/y\E[=6l, cr=^M, cub=\E[%p1%dD, 
-       cub1=\E[D, 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, cvvis=\E[10/y\E[=1h\E[=2l\E[=6h, 
-       dl=\E[%p1%dM, dl1=\E[M, ed=\E[J, el=\E[K, el1=\E[1K, 
-       home=\E[H, ht=^I, hts=\EH, il=\E[%p1%dL, il1=\E[L, ind=\ED, 
-       is2=\E[?1l\E>\E[?7h\E[100g\E[0m\E7\E[r\E8, kDC=\E[P, 
-       kEND=\E[147q, kHOM=\E[143q, kLFT=\E[158q, kPRT=\E[210q, 
-       kRIT=\E[167q, kSPD=\E[218q, kbs=^H, kcbt=\E[Z, kcub1=\E[D, 
-       kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, kdch1=\177, 
-       kend=\E[146q, kent=^M, kf1=\E[001q, kf10=\E[010q, 
-       kf11=\E[011q, kf12=\E[012q, kf2=\E[002q, kf3=\E[003q, 
-       kf4=\E[004q, kf5=\E[005q, kf6=\E[006q, kf7=\E[007q, 
-       kf8=\E[008q, kf9=\E[009q, khome=\E[H, kich1=\E[139q, 
-       knp=\E[154q, kpp=\E[150q, kprt=\E[209q, krmir=\E[146q, 
-       kspd=\E[217q, nel=\EE, pfkey=\EP101;%p1%d.y%p2%s\E\\, 
-       rc=\E8, rev=\E[7m, ri=\EM, rmam=\E[?7l, rmso=\E[m, rmul=\E[m, 
-       sc=\E7, sgr0=\E[m, smam=\E[?7h, smso=\E[1;7m, smul=\E[4m, 
-       tbc=\E[3g, 
-iris-ansi-ap|IRIS ANSI in application-keypad mode, 
-       is2=\E[?1l\E=\E[?7h, kent=\EOM, kf10=\E[010q, 
-       kf11=\E[011q, kf12=\E[012q, kf9=\E[009q, 
-       use=iris-ansi, 
+iris-ansi|iris-ansi-net|IRIS emulating 40 line ANSI terminal (almost VT100),
+       am,
+       cols#80, it#8, lines#40,
+       bel=^G, bold=\E[1m, clear=\E[H\E[2J,
+       cnorm=\E[9/y\E[12/y\E[=6l, cr=\r, cub=\E[%p1%dD,
+       cub1=\E[D, cud=\E[%p1%dB, cud1=\n, cuf=\E[%p1%dC,
+       cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA,
+       cuu1=\E[A, cvvis=\E[10/y\E[=1h\E[=2l\E[=6h,
+       dl=\E[%p1%dM, dl1=\E[M, ed=\E[J, el=\E[K, el1=\E[1K,
+       home=\E[H, ht=^I, hts=\EH, il=\E[%p1%dL, il1=\E[L, ind=\ED,
+       is2=\E[?1l\E>\E[?7h\E[100g\E[0m\E7\E[r\E8, kDC=\E[P,
+       kEND=\E[147q, kHOM=\E[143q, kLFT=\E[158q, kPRT=\E[210q,
+       kRIT=\E[167q, kSPD=\E[218q, kbs=^H, kcbt=\E[Z, kcub1=\E[D,
+       kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, kdch1=^?, kend=\E[146q,
+       kent=\r, kf1=\E[001q, kf10=\E[010q, kf11=\E[011q,
+       kf12=\E[012q, kf2=\E[002q, kf3=\E[003q, kf4=\E[004q,
+       kf5=\E[005q, kf6=\E[006q, kf7=\E[007q, kf8=\E[008q,
+       kf9=\E[009q, khome=\E[H, kich1=\E[139q, knp=\E[154q,
+       kpp=\E[150q, kprt=\E[209q, krmir=\E[146q, kspd=\E[217q,
+       nel=\EE, pfkey=\EP101;%p1%d.y%p2%s\E\\, rc=\E8,
+       rev=\E[7m, ri=\EM, rmam=\E[?7l, rmso=\E[m, rmul=\E[m, sc=\E7,
+       sgr0=\E[m, smam=\E[?7h, smso=\E[1;7m, smul=\E[4m,
+       tbc=\E[3g,
+iris-ansi-ap|IRIS ANSI in application-keypad mode,
+       is2=\E[?1l\E=\E[?7h, kent=\EOM, kf10=\E[010q,
+       kf11=\E[011q, kf12=\E[012q, kf9=\E[009q, use=iris-ansi,
 
 # From the man-page, this is a quasi-vt100 emulator that runs on SGI's IRIX
 # (T.Dickey 98/1/24)
-iris-color|xwsh|IRIX ANSI with color, 
-       ncv#33, 
-       csr=\E[%i%p1%d;%p2%dr, dch=\E[%p1%dP, dim=\E[2m, 
-       ech=\E[%p1%dX, ich=\E[%p1%d@, rc=\E8, ritm=\E[23m, 
-       rmul=\E[24m, rs1=\Ec, 
-       rs2=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h, sc=\E7, 
-       sitm=\E[3m, u6=\E[%i%d;%dR, u7=\E[6n, u8=\E[?1;2c, u9=\E[c, 
-       use=klone+color, use=iris-ansi-ap, 
-
-# The following is a version of the ibm-pc entry distributed with PC/IX,
-# (Interactive Systems' System 3 for the Big Blue), modified by Richard
-# McIntosh at UCB/CSM.  The :pt: and :uc: have been removed from the original,
-# (the former is untrue, and the latter failed under UCB/man); standout and
-# underline modes have been added.  Note: this entry describes the "native"
-# capabilities of the PC monochrome display, without ANY emulation; most
-# communications packages (but NOT PC/IX connect) do some kind of emulation.
-pcix|PC/IX console, 
-       am, bw, eo, 
-       cols#80, lines#24, 
-       clear=\Ec, cub1=^H, cud1=\E[B, cuf1=\E[C, 
-       cup=\E[%i%p1%2d;%p2%2dH, cuu1=\E[A, ed=\E[J, el=\E[K, 
-       home=\E[H, rmso=\E[m, rmul=\E[m, sgr0=\E[m, smso=\E[7m, 
-       smul=\E[4m, 
-
-# (ibmpcx: this entry used to be known as ibmx.
-# It formerly included the following extension capabilities:
-#      :GC=b:GL=v:GR=t:RT=^J:\
-#      :GH=\E[196g:GV=\E[179g:\
-#      :GU=\E[193g:GD=\E[194g:\
-#      :G1=\E[191g:G2=\E[218g:G3=\E[192g:G4=\E[217g:\
-#      :CW=\E[E:NU=\E[F:RF=\E[G:RC=\E[H:\
-#      :WL=\E[K:WR=\E[L:CL=\E[M:CR=\E[N:\
-# I renamed GS/GE/WL/WR/CL/CR/PU/PD/HM/EN; also, removed a duplicate
-# ":kh=\E[Y:".  Added IBM-PC forms characters and highlights, they match
-# what was there before. -- esr)
-ibmpcx|xenix|ibmx|IBM PC xenix console display, 
-       am, msgr, 
-       cols#80, lines#25, 
-       clear=^L, cub1=^H, cud1=\E[B, cuf1=\E[C, 
-       cup=\E[%p1%d;%p2%dH, cuu1=\E[A, dch1=\E[P, dl1=\E[M, 
-       ed=\E[J, el=\E[K, home=\E[H, ich1=\E[@, il1=\E[L, kbs=^H, 
-       kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, kend=\E[d, 
-       kf1=\E[K, kf2=\E[L, kf3=\E[M, kf4=\E[N, khome=\E[Y, knp=\E[e, 
-       kpp=\E[Z, 
-       use=klone+acs, use=klone+sgr, 
-
-
-# QNX 4.0 Console
-# Michael's original version of this entry had <am@>, <smcup=\Ei>,
-# <rmcup=\Eh\ER>; this was so terminfo applications could write the lower
-# right corner without triggering a scroll.  The ncurses terminfo library can
-# handle this case with the <ich1> capability, and prefers <am> for better
-# optimization.  Bug: The <op> capability resets attributes.
-# From: Michael Hunter <mphunter@qnx.com> 30 Jul 1996
-# (removed: <sgr=%?%p1%t\E<%;%p2%t\E[%;%p3%t\E(%;%p4%t\E{%;%p6%t\E<%;,>)
-qnx|qnx4|qnx console, 
-       daisy, km, mir, msgr, xhpa, xt, 
-       colors#8, cols#80, it#4, lines#25, ncv#3, pairs#8, 
-       acsc=O\333a\261j\331k\277l\332m\300n\305o\337q\304s\334t\303u\264v\301w\302x\263, 
-       bel=^G, blink=\E{, bold=\E<, civis=\Ey0, clear=\EH\EJ, 
-       cnorm=\Ey1, cr=^M, cub1=^H, cud1=^J, cuf1=\EC, 
-       cup=\EY%p1%{32}%+%c%p2%{32}%+%c, cuu1=\EA, cvvis=\Ey2, 
-       dch1=\Ef, dl1=\EF, ed=\EJ, el=\EK, home=\EH, ht=^I, ich1=\Ee, 
-       il1=\EE, ind=^J, kBEG=\377\356, kCAN=\377\263, 
-       kCMD=\377\267, kCPY=\377\363, kCRT=\377\364, 
-       kDL=\377\366, kEND=\377\301, kEOL=\377\311, 
-       kEXT=\377\367, kFND=\377\370, kHLP=\377\371, 
-       kHOM=\377\260, kIC=\377\340, kLFT=\377\264, 
-       kMOV=\377\306, kMSG=\377\304, kNXT=\377\272, 
-       kOPT=\377\372, kPRT=\377\275, kPRV=\377\262, 
-       kRDO=\377\315, kRES=\377\374, kRIT=\377\266, 
-       kRPL=\377\373, kSAV=\377\307, kSPD=\377\303, 
-       kUND=\377\337, kbeg=\377\300, kcan=\377\243, kcbt=\377\0, 
-       kclo=\377\343, kclr=\377\341, kcmd=\377\245, 
-       kcpy=\377\265, kcrt=\377\305, kctab=\377\237, 
-       kcub1=\377\244, kcud1=\377\251, kcuf1=\377\246, 
-       kcuu1=\377\241, kdch1=\377\254, kdl1=\377\274, 
-       ked=\377\314, kel=\377\310, kend=\377\250, kent=\377\320, 
-       kext=\377\270, kf1=\377\201, kf10=\377\212, 
-       kf11=\377\256, kf12=\377\257, kf13=\377\213, 
-       kf14=\377\214, kf15=\377\215, kf16=\377\216, 
-       kf17=\377\217, kf18=\377\220, kf19=\377\221, 
-       kf2=\377\202, kf20=\377\222, kf21=\377\223, 
-       kf22=\377\224, kf23=\377\333, kf24=\377\334, 
-       kf25=\377\225, kf26=\377\226, kf27=\377\227, 
-       kf28=\377\230, kf29=\377\231, kf3=\377\203, 
-       kf30=\377\232, kf31=\377\233, kf32=\377\234, 
-       kf33=\377\235, kf34=\377\236, kf35=\377\276, 
-       kf36=\377\277, kf37=\377\321, kf38=\377\322, 
-       kf39=\377\323, kf4=\377\204, kf40=\377\324, 
-       kf41=\377\325, kf42=\377\326, kf43=\377\327, 
-       kf44=\377\330, kf45=\377\331, kf46=\377\332, 
-       kf47=\377\316, kf48=\377\317, kf5=\377\205, kf6=\377\206, 
-       kf7=\377\207, kf8=\377\210, kf9=\377\211, kfnd=\377\346, 
-       khlp=\377\350, khome=\377\240, khts=\377\342, 
-       kich1=\377\253, kil1=\377\273, kind=\377\261, 
-       kmov=\377\351, kmrk=\377\355, kmsg=\377\345, 
-       knp=\377\252, knxt=\377\312, kopn=\377\357, 
-       kopt=\377\353, kpp=\377\242, kprt=\377\255, 
-       kprv=\377\302, krdo=\377\336, kref=\377\354, 
-       kres=\377\360, krfr=\377\347, kri=\377\271, 
-       krmir=\377\313, krpl=\377\362, krst=\377\352, 
-       ksav=\377\361, kslt=\377\247, kspd=\377\335, 
-       ktbc=\377\344, kund=\377\365, mvpa=\E!%p1%02d, op=\ER, 
-       rep=\Eg%p2%{32}%+%c%p1%c, rev=\E(, ri=\EI, rmcup=\Eh\ER, 
-       rmso=\E), rmul=\E], rs1=\ER, setb=\E@%p1%Pb%gb%gf%d%d, 
-       setf=\E@%p1%Pf%gb%gf%d%d, sgr0=\E}\E]\E>\E), smcup=\Ei, 
-       smso=\E(, smul=\E[, 
-
-# From: Federico Bianchi <bianchi@pc-arte2.arte.unipi.it>, 1 Jul 1998
-# (esr: commented out <scp> and <rmcup> to avoid warnings.)
-# (TD: derive from original qnx4 entry)
-qnxt2|qnx 2.15 serial terminal, 
-       am, 
-       civis@, cnorm@, cvvis@, dch1@, ich1@, kRES@, kRPL@, kUND@, kspd@, 
-       rep@, rmcup@, rmso=\E>, setb@, setf@, smcup@, smso=\E<, 
-       use=qnx4, 
+iris-color|xwsh|IRIX ANSI with color,
+       ncv#33,
+       csr=\E[%i%p1%d;%p2%dr, dch=\E[%p1%dP, dim=\E[2m,
+       ech=\E[%p1%dX, ich=\E[%p1%d@, rc=\E8, rmul=\E[24m, rs1=\Ec,
+       rs2=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h, sc=\E7,
+       use=ecma+italics, use=vt100+enq, use=klone+color,
+       use=iris-ansi-ap,
+
+#### OpenBSD consoles
+#
+# From: Alexei Malinin <Alexei.Malinin@mail.ru>; October, 2011.
+#
+# The following terminal descriptions for the  AMD/Intel PC console
+# were prepared  based on information contained in  the OpenBSD-4.9
+# termtypes.master and wscons(4) & vga(4) manuals (2010, November).
+#
+# Added bce based on testing with tack -TD
+# Added several capabilities to pccon+base, reading wsemul_vt100_subr.c -TD
+# Changed kbs to DEL and removed keys that duplicate stty settings -TD
+#
+# Notes from testing with vttest:
+#      fails wrapping test
+#      no 8-bit controls
+#      identifies as vt200 with selective erase, but does not implement DECSCA
+#      no vt52 mode
+#      also lacks these:
+#              ESC # 8   DEC Screen Alignment Test (DECALN).
+#              CSI ? 5 h Reverse Video (DECSCNM).
+#
+pccon+keys|OpenBSD PC keyboard keys,
+       kbs=^?, kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A,
+       kdch1=\E[3~, kend=\E[8~, kent=\r, 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~, kf21=\E[35~,
+       kf22=\E[36~, kf23=\E[37~, kf24=\E[38~, kf3=\E[13~,
+       kf4=\E[14~, kf5=\E[15~, kf6=\E[17~, kf7=\E[18~, kf8=\E[19~,
+       kf9=\E[20~, khome=\E[7~, kich1=\E[2~, knp=\E[6~, kpp=\E[5~,
+       krfr=^R,
+pccon+sgr+acs0|sgr and simple ASCII pseudographics for OpenBSD PC console,
+       acsc=+>\,<-\^.v0#`+a\:f\\h#i#j+k+l+m+n+o~p-q-r-s_t+u+v+w+x|y
+            #z#{*|!}#~o,
+       sgr=\E[0%?%p1%p3%|%t;7%;%?%p6%t;1%;%?%p2%t;4%;m,
+       sgr0=\E[m,
+pccon+sgr+acs|sgr and default ASCII pseudographics for OpenBSD PC console,
+       acsc=++\,\,--..00``aaffgghhiijjkkllmmnnooppqqrrssttuuvvwwxxy
+            yzz{{||}}~~,
+       enacs=\E)0$<5>, rmacs=\E(B$<5>,
+       sgr=\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;m%?%p9%t\E(0%e
+           \E(B%;$<2>,
+       sgr0=\E[m\E(B$<5>, smacs=\E(0$<5>,
+# underline renders as color
+pccon+colors|ANSI colors for OpenBSD PC console,
+       bce,
+       colors#8, ncv#2, pairs#64,
+       op=\E[47;30m, setab=\E[4%p1%dm, setaf=\E[3%p1%dm,
+pccon+base|base capabilities for OpenBSD PC console,
+       am, km, mc5i, msgr, npc, nxon, xenl, xon,
+       cols#80, it#8, lines#24,
+       bel=^G, bold=\E[1m, clear=\E[H\E[J, cr=\r, cub1=^H, cud1=\n,
+       cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH, cuu1=\E[A,
+       dch=\E[%p1%dP, dch1=\E[P, dl1=\E[M, ech=\E[%p1%dX, ed=\E[J,
+       el=\E[K, el1=\E[1K, home=\E[H, ht=^I, hts=\EH, ich=\E[%p1%d@,
+       il1=\E[L, ind=\ED, nel=\EE, rev=\E[7m, ri=\EM, rmam=\E[?7l,
+       rmso=\E[27m, rmul=\E[24m, rs2=\Ec$<50>, smam=\E[?7h,
+       smso=\E[7m, smul=\E[4m, tbc=\E[3g, u6=\E[%i%d;%dR,
+       u7=\E[6n,
+pccon0-m|OpenBSD PC console without colors & with simple ASCII pseudographics,
+       use=pccon+sgr+acs0, use=pccon+base, use=pccon+keys,
+pccon0|OpenBSD PC console with simple ASCII pseudographics,
+       use=pccon0-m, use=pccon+colors,
+pccon-m|OpenBSD PC console without colors,
+       use=pccon+base, use=pccon+sgr+acs, use=pccon+keys,
+pccon|OpenBSD PC console,
+       use=pccon-m, use=pccon+colors,
 
 #### NetBSD consoles
 #
@@ -1086,152 +1659,244 @@ qnxt2|qnx 2.15 serial terminal,
 # NOTE: <ich1> has been taken out of this entry. for reference, it should
 # be <ich1=\E[@>.  For discussion, see ICH/ICH1 VERSUS RMIR/SMIR below.
 # (esr: added <civis> and <cnorm> to resolve NetBSD Problem Report #4583)
-pcvtXX|pcvt vt200 emulator (DEC VT220), 
-       am, km, mir, msgr, xenl, 
-       it#8, vt#3, 
-       acsc=++\,\,--..00``aaffgghhiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz~~, 
-       bel=^G, blink=\E[5m, bold=\E[1m, civis=\E[?25l, 
-       clear=\E[H\E[J, cnorm=\E[?25h, cr=^M, 
-       csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=^H, 
-       cud=\E[%p1%dB, cud1=\E[B, 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, el1=\E[1K, home=\E[H, ht=^I, hts=\EH, ich=\E[%p1%d@, 
-       il=\E[%p1%dL, il1=\E[L, ind=\ED, indn=\E[%p1%dS, 
-       is1=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h, kbs=\177, 
-       kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, 
-       kdch1=\E[3~, kf1=\E[17~, kf2=\E[18~, kf3=\E[19~, 
-       kf4=\E[20~, kf5=\E[21~, kf6=\E[23~, kf7=\E[24~, kf8=\E[25~, 
-       khome=\E[1~, kich1=\E[2~, kll=\E[4~, knp=\E[6~, kpp=\E[5~, 
-       nel=\EE, rc=\E8, rev=\E[7m, rf=/usr/share/tabset/vt100, 
-       ri=\EM, rin=\E[%p1%dT, rmacs=\E(B, rmam=\E[?7l, rmir=\E[4l, 
-       rmkx=\E[?1l\E>, rmso=\E[27m, rmul=\E[24m, 
-       rs1=\Ec\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h, sc=\E7, 
-       sgr0=\E[m, smacs=\E(0, smam=\E[?7h, smir=\E[4h, 
-       smkx=\E[?1h\E=, smso=\E[7m, smul=\E[4m, tbc=\E[3g, 
+pcvtXX|pcvt vt200 emulator (DEC VT220),
+       am, km, mir, msgr, xenl,
+       it#8, vt#3,
+       acsc=++\,\,--..00``aaffgghhiijjkkllmmnnooppqqrrssttuuvvwwxxy
+            yzz~~,
+       bel=^G, blink=\E[5m, bold=\E[1m, civis=\E[?25l,
+       clear=\E[H\E[J, cnorm=\E[?25h, cr=\r,
+       csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=^H,
+       cud=\E[%p1%dB, cud1=\E[B, 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, el1=\E[1K, home=\E[H, ht=^I, hts=\EH, ich=\E[%p1%d@,
+       il=\E[%p1%dL, il1=\E[L, ind=\ED,
+       is1=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h, kbs=^?,
+       kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA,
+       kdch1=\E[3~, kf1=\E[17~, kf2=\E[18~, kf3=\E[19~,
+       kf4=\E[20~, kf5=\E[21~, kf6=\E[23~, kf7=\E[24~, kf8=\E[25~,
+       khome=\E[1~, kich1=\E[2~, kll=\E[4~, knp=\E[6~, kpp=\E[5~,
+       nel=\EE, rc=\E8, rev=\E[7m, rf=/usr/share/tabset/vt100,
+       ri=\EM, rmacs=\E(B, rmam=\E[?7l, rmir=\E[4l,
+       rmkx=\E[?1l\E>, rmso=\E[27m, rmul=\E[24m,
+       rs1=\Ec\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h, sc=\E7,
+       sgr0=\E[m, smacs=\E(0, smam=\E[?7h, smir=\E[4h,
+       smkx=\E[?1h\E=, smso=\E[7m, smul=\E[4m, tbc=\E[3g,
+       use=ecma+index,
 
 #      NetBSD/FreeBSD vt220 terminal emulator console (pc keyboard & monitor)
 #      termcap entries for pure VT220-Emulation and 25, 28, 35, 40, 43 and
 #      50 lines entries; 80 columns
-pcvt25|dec vt220 emulation with 25 lines, 
-       cols#80, lines#25, 
-       is2=\E[1;25r\E[25;1H, use=pcvtXX, 
-pcvt28|dec vt220 emulation with 28 lines, 
-       cols#80, lines#28, 
-       is2=\E[1;28r\E[28;1H, use=pcvtXX, 
-pcvt35|dec vt220 emulation with 35 lines, 
-       cols#80, lines#35, 
-       is2=\E[1;35r\E[35;1H, use=pcvtXX, 
-pcvt40|dec vt220 emulation with 40 lines, 
-       cols#80, lines#40, 
-       is2=\E[1;40r\E[40;1H, use=pcvtXX, 
-pcvt43|dec vt220 emulation with 43 lines, 
-       cols#80, lines#43, 
-       is2=\E[1;43r\E[43;1H, use=pcvtXX, 
-pcvt50|dec vt220 emulation with 50 lines, 
-       cols#80, lines#50, 
-       is2=\E[1;50r\E[50;1H, use=pcvtXX, 
+pcvt25|dec vt220 emulation with 25 lines,
+       cols#80, lines#25,
+       is2=\E[1;25r\E[25;1H, use=pcvtXX,
+pcvt28|dec vt220 emulation with 28 lines,
+       cols#80, lines#28,
+       is2=\E[1;28r\E[28;1H, use=pcvtXX,
+pcvt35|dec vt220 emulation with 35 lines,
+       cols#80, lines#35,
+       is2=\E[1;35r\E[35;1H, use=pcvtXX,
+pcvt40|dec vt220 emulation with 40 lines,
+       cols#80, lines#40,
+       is2=\E[1;40r\E[40;1H, use=pcvtXX,
+pcvt43|dec vt220 emulation with 43 lines,
+       cols#80, lines#43,
+       is2=\E[1;43r\E[43;1H, use=pcvtXX,
+pcvt50|dec vt220 emulation with 50 lines,
+       cols#80, lines#50,
+       is2=\E[1;50r\E[50;1H, use=pcvtXX,
 
 #      NetBSD/FreeBSD vt220 terminal emulator console (pc keyboard & monitor)
 #      termcap entries for pure VT220-Emulation and 25, 28, 35, 40, 43 and
 #      50 lines entries; 132 columns
-pcvt25w|dec vt220 emulation with 25 lines and 132 cols, 
-       cols#132, lines#25, 
-       is2=\E[1;25r\E[25;1H, use=pcvtXX, 
-pcvt28w|dec vt220 emulation with 28 lines and 132 cols, 
-       cols#132, lines#28, 
-       is2=\E[1;28r\E[28;1H, use=pcvtXX, 
-pcvt35w|dec vt220 emulation with 35 lines and 132 cols, 
-       cols#132, lines#35, 
-       is2=\E[1;35r\E[35;1H, use=pcvtXX, 
-pcvt40w|dec vt220 emulation with 40 lines and 132 cols, 
-       cols#132, lines#40, 
-       is2=\E[1;40r\E[40;1H, use=pcvtXX, 
-pcvt43w|dec vt220 emulation with 43 lines and 132 cols, 
-       cols#132, lines#43, 
-       is2=\E[1;43r\E[43;1H, use=pcvtXX, 
-pcvt50w|dec vt220 emulation with 50 lines and 132 cols, 
-       cols#132, lines#50, 
-       is2=\E[1;50r\E[50;1H, use=pcvtXX, 
+pcvt25w|dec vt220 emulation with 25 lines and 132 cols,
+       cols#132, lines#25,
+       is2=\E[1;25r\E[25;1H, use=pcvtXX,
+pcvt28w|dec vt220 emulation with 28 lines and 132 cols,
+       cols#132, lines#28,
+       is2=\E[1;28r\E[28;1H, use=pcvtXX,
+pcvt35w|dec vt220 emulation with 35 lines and 132 cols,
+       cols#132, lines#35,
+       is2=\E[1;35r\E[35;1H, use=pcvtXX,
+pcvt40w|dec vt220 emulation with 40 lines and 132 cols,
+       cols#132, lines#40,
+       is2=\E[1;40r\E[40;1H, use=pcvtXX,
+pcvt43w|dec vt220 emulation with 43 lines and 132 cols,
+       cols#132, lines#43,
+       is2=\E[1;43r\E[43;1H, use=pcvtXX,
+pcvt50w|dec vt220 emulation with 50 lines and 132 cols,
+       cols#132, lines#50,
+       is2=\E[1;50r\E[50;1H, use=pcvtXX,
+
+#      OpenBSD implements a color variation
+pcvt25-color|dec vt220 emulation with 25 lines and color,
+       cols#80, lines#25,
+       is2=\E[1;25r\E[25;1H, kf1=\EOP, kf10=\E[29~, 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=\EOQ, kf20=\E[34~, kf3=\EOR, kf4=\EOS, kf5=\E[17~,
+       kf6=\E[18~, kf7=\E[19~, kf8=\E[20~, kf9=\E[21~, use=pcvtXX,
+       use=ecma+color,
 
 # Terminfo entries to enable the use of the ncurses library in colour on a
 # NetBSD-arm32 console (only tested on a RiscPC).
 # Created by Dave Millen <dmill@globalnet.co.uk> 22.07.98
 # modified codes for setf/setb to setaf/setab, then to klone+color, corrected
 # typo in invis - TD
-arm100|arm100-am|Arm(RiscPC) ncurses compatible (for 640x480), 
-       am, bce, msgr, xenl, xon, 
-       cols#80, it#8, lines#30, 
-       acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~, 
-       bel=^G, blink=\E[5m$<2>, bold=\E[1m$<2>, 
-       clear=\E[H\E[J$<50>, 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$<2>, 
-       cup=\E[%i%p1%d;%p2%dH$<5>, cuu=\E[%p1%dA, 
-       cuu1=\E[A$<2>, ed=\E[J$<50>, el=\E[K$<3>, el1=\E[1K$<3>, 
-       enacs=\E(B\E)0, home=\E[H, ht=^I, hts=\EH, ind=^J, 
-       invis=\E[8m$<2>, ka1=\E[q, ka3=\E[s, kb2=\E[r, kbs=^H, 
-       kc1=\E[p, kc3=\E[n, kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, 
-       kcuu1=\E[A, kent=\E[M, kf0=\E[y, kf1=\E[P, kf10=\E[x, 
-       kf2=\E[Q, kf3=\E[R, kf4=\E[S, kf5=\E[t, kf6=\E[u, kf7=\E[v, 
-       kf8=\E[l, kf9=\E[w, rc=\E8, rev=\E[6m$<2>, ri=\EM$<5>, 
-       rmacs=^O, rmam=\E[?7l, rmkx=\E[?1l\E>, rmso=\E[m$<2>, 
-       rmul=\E[m$<2>, rs2=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h, 
-       sc=\E7, 
-       sgr=\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;m%?%p9%t\016%e\017%;, 
-       sgr0=\E[m\017$<2>, smacs=^N, smam=\E[?7h, smkx=\E[?1h\E=, 
-       smso=\E[7m$<2>, smul=\E[4m$<2>, tbc=\E[3g, 
-       use=ecma+sgr, use=klone+color, 
-
-arm100-w|arm100-wam|Arm(RiscPC) ncurses compatible (for 1024x768), 
-       cols#132, lines#50, use=arm100, 
+arm100|arm100-am|Arm(RiscPC) ncurses compatible (for 640x480),
+       am, bce, msgr, xenl, xon,
+       cols#80, it#8, lines#30,
+       acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
+       bel=^G, blink=\E[5m$<2>, bold=\E[1m$<2>,
+       clear=\E[H\E[J$<50>, cr=\r, csr=\E[%i%p1%d;%p2%dr,
+       cub=\E[%p1%dD, cub1=^H, cud=\E[%p1%dB, cud1=\n,
+       cuf=\E[%p1%dC, cuf1=\E[C$<2>,
+       cup=\E[%i%p1%d;%p2%dH$<5>, cuu=\E[%p1%dA,
+       cuu1=\E[A$<2>, ed=\E[J$<50>, el=\E[K$<3>, el1=\E[1K$<3>,
+       enacs=\E(B\E)0, home=\E[H, ht=^I, hts=\EH, ind=\n,
+       invis=\E[8m$<2>, ka1=\E[q, ka3=\E[s, kb2=\E[r, kbs=^H,
+       kc1=\E[p, kc3=\E[n, kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C,
+       kcuu1=\E[A, kent=\E[M, kf0=\E[y, kf1=\E[P, kf10=\E[x,
+       kf2=\E[Q, kf3=\E[R, kf4=\E[S, kf5=\E[t, kf6=\E[u, kf7=\E[v,
+       kf8=\E[l, kf9=\E[w, rc=\E8, rev=\E[7m$<2>, ri=\EM$<5>,
+       rmacs=^O, rmam=\E[?7l, rmkx=\E[?1l\E>, rmso=\E[m$<2>,
+       rmul=\E[m$<2>, rs2=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h,
+       sc=\E7,
+       sgr=\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5
+           %;%?%p7%t;8%;m%?%p9%t\016%e\017%;$<2>,
+       sgr0=\E[m\017$<2>, smacs=^N, smam=\E[?7h, smkx=\E[?1h\E=,
+       smso=\E[7m$<2>, smul=\E[4m$<2>, tbc=\E[3g, use=ecma+sgr,
+       use=klone+color,
+
+arm100-w|arm100-wam|Arm(RiscPC) ncurses compatible (for 1024x768),
+       cols#132, lines#50, use=arm100,
 
 # NetBSD/x68k console vt200 emulator. This port runs on a 68K machine
-# manufactured by Sharp for the Japenese market.
+# manufactured by Sharp for the Japanese market.
 # From Minoura Makoto <minoura@netlaputa.or.jp>, 12 May 1996
-x68k|x68k-ite|NetBSD/x68k ITE, 
-       cols#96, lines#32, 
-       kclr=\E[9~, khlp=\E[28~, use=vt220, 
+x68k|x68k-ite|NetBSD/x68k ITE,
+       cols#96, lines#32,
+       kclr=\E[9~, khlp=\E[28~, use=vt220,
 
 # <tv@pobox.com>:
 # Entry for the DNARD OpenFirmware console, close to ANSI but not quite.
 #
 # (still unfinished, but good enough so far.)
-ofcons, 
-       bw, 
-       cols#80, lines#30, 
-       bel=^G, blink=\2337;2m, bold=\2331m, clear=^L, cr=^M, 
-       cub=\233%p1%dD, cub1=\233D, cud=\233%p1%dB, cud1=\233B, 
-       cuf=\233%p1%dC, cuf1=\233C, cup=\233%i%p1%d;%p2%dH, 
-       cuu=\233%p1%dA, cuu1=\233A, dch=\233%p1%dP, dch1=\233P, 
-       dim=\2332m, dl=\233%p1%dM, dl1=\233M, ed=\233J, el=\233K, 
-       flash=^G, ht=^I, ich=\233%p1%d@, ich1=\233@, il=\233%p1%dL, 
-       il1=\233L, ind=^J, invis=\2338m, kbs=^H, kcub1=\233D, 
-       kcud1=\233B, kcuf1=\233C, kcuu1=\233A, kdch1=\233P, 
-       kf1=\2330P, kf10=\2330M, kf2=\2330Q, kf3=\2330W, 
-       kf4=\2330x, kf5=\2330t, kf6=\2330u, kf7=\2330q, kf8=\2330r, 
-       kf9=\2330p, knp=\233/, kpp=\233?, nel=^M^J, rev=\2337m, 
-       rmso=\2330m, rmul=\2330m, sgr0=\2330m, 
-
-# NetBSD "wscons" emulator in vt220 mode
-# These are micro-minimal and probably need to be redone for real
-# after the manner of the pcvt entries.
-wsvt25|NetBSD wscons in 25 line DEC VT220 mode, 
-       cols#80, lines#25, use=vt220, 
-
-wsvt25m|NetBSD wscons in 25 line DEC VT220 mode with Meta, 
-       km, 
-       cols#80, lines#25, use=vt220, 
-
-# `rasterconsole' provided by 4.4BSD, NetBSD and OpenBSD on SPARC, and 
+ofcons|DNARD OpenFirmware console,
+       bw,
+       cols#80, lines#30,
+       bel=^G, blink=\2335m, bold=\2331m, clear=^L, cr=\r,
+       cub=\233%p1%dD, cub1=\233D, cud=\233%p1%dB, cud1=\233B,
+       cuf=\233%p1%dC, cuf1=\233C, cup=\233%i%p1%d;%p2%dH,
+       cuu=\233%p1%dA, cuu1=\233A, dch=\233%p1%dP, dch1=\233P,
+       dim=\2332m, dl=\233%p1%dM, dl1=\233M, ed=\233J, el=\233K,
+       flash=^G, ht=^I, ich=\233%p1%d@, ich1=\233@, il=\233%p1%dL,
+       il1=\233L, ind=\n, invis=\2338m, kbs=^H, kcub1=\233D,
+       kcud1=\233B, kcuf1=\233C, kcuu1=\233A, kdch1=\233P,
+       kf1=\2330P, kf10=\2330M, kf2=\2330Q, kf3=\2330W,
+       kf4=\2330x, kf5=\2330t, kf6=\2330u, kf7=\2330q, kf8=\2330r,
+       kf9=\2330p, knp=\233/, kpp=\233?, nel=\r\n, rev=\2337m,
+       rmso=\2330m, rmul=\2330m,
+       sgr=\2330%?%p6%t;1%;%?%p2%t;4%;%?%p4%t;5%;%?%p5%t2%;%?%p7%t8
+           %;%?%p1%p3%|%t;7%;m,
+       sgr0=\2330m, smso=\2337m, smul=\2334m,
+
+# NetBSD "wscons" emulator in vt220 mode.
+# This entry is based on the NetBSD termcap entry, correcting the ncv value.
+# The emulator renders underlined text in red.  Colors are otherwise usable.
+#
+# Testing the emulator and reading the source code (NetBSD 2.0), it appears
+# that "vt220" is inaccurate.  There are a few vt220-features, but most of the
+# vt220 screens in vttest do not work with this emulator.  For instance, it
+# identifies itself (primary DA response) as a vt220 with selective erase.  But
+# the selective erase feature does not work.  The secondary response is copied
+# from Kermit's emulation of vt220, does not correspond to actual vt220.  At
+# the level of detail in a termcap, it is a passable emulator, since ECH does
+# work.  Don't use it on a VMS system -TD
+wsvt25|NetBSD wscons in 25 line DEC VT220 mode,
+       bce, msgr,
+       colors#8, cols#80, it#8, lines#25, ncv#2, pairs#64,
+       civis=\E[?25l, cnorm=\E[?25h, is2=\E[r\E[25;1H,
+       kdch1=\E[3~, kend=\E[8~, kf1=\E[11~, kf10=\E[21~,
+       kf11=\E[23~, kf12=\E[24~, kf2=\E[12~, kf3=\E[13~,
+       kf4=\E[14~, kf5=\E[15~, kf6=\E[17~, kf7=\E[18~, kf8=\E[19~,
+       kf9=\E[20~, khome=\E[7~, op=\E[m, rs1=\Ec,
+       setab=\E[4%p1%dm, setaf=\E[3%p1%dm, use=vt220,
+
+wsvt25m|NetBSD wscons in 25 line DEC VT220 mode with Meta,
+       km, use=wsvt25,
+
+# NetBSD 6.x still uses wscons, with minor changes (2014/02/22) -TD
+#
+# TERM is by default vt100 for the console, wsvt25 for other ttys.
+# Initial testing set TERM=xterm, based on comments by developers, found too
+# many differences to continue in that path.  However, test-results may be
+# useful to people curious about compatibility with xterm.
+#
+# Testing with tack:
+# -----------------
+# Failed: cbt, bel, flash, cvvis, smul (color), blink, invis
+# There is color-bleeding in the color-pairs screen.
+# Attributes do not work with color
+# Failed: vpa/hpa
+# Failed: kf1-kf4, kf13-kf48, khome, kend
+#      (effectively xterm-r6 for function-keys)
+# None of the function or cursor key-modifiers are encoded.
+# Console hangs in the smm/rmm test if TERM=xterm, does not show test
+#
+# Testing with vttest:
+# -------------------
+# Identifies as vt220 with selective erase
+#      (however, selective erase refers to DECSCA, SPA)
+# Does not implement vt52
+# Uses spaces to simulate double-size characters
+# Does not support 8-bit controls
+# Does not support VT220 reports
+# Does not support send/receive mode
+# Supports ECH (like rxvt)
+# Does not support DECSCA
+# Does not support any of the ISO-6429 cursor-movement
+# Does not support any of the ISO-6429 miscellaneous tests
+#      (SL/SR also leave unexpected char on screen too)
+# Background does not change in menu 11.6.9 (SGR 22-27)
+# None of the xterm special features tests work
+netbsd6|NetBSD wscons in 25 line DEC VT100 mode,
+       kbs=^?, use=wsvt25,
+
+# `rasterconsole' provided by 4.4BSD, NetBSD and OpenBSD on SPARC, and
 # DECstation/pmax.
-rcons|BSD rasterconsole, 
-       use=sun-il, 
-# Color version of above. Color currenly only provided by NetBSD.
-rcons-color|BSD rasterconsole with ANSI color, 
-       bce, 
-       colors#8, pairs#64, 
-       op=\E[m, setab=\E[4%dm, setaf=\E[3%dm, use=rcons, 
+rcons|BSD rasterconsole,
+       use=sun-il,
+# Color version of above. Color currently only provided by NetBSD.
+rcons-color|BSD rasterconsole with ANSI color,
+       bce,
+       colors#8, pairs#64,
+       op=\E[m, setab=\E[4%p1%dm, setaf=\E[3%p1%dm, use=rcons,
+
+# mgterm -- MGL/MGL2, MobileGear Graphic Library
+# for PocketBSD,PocketLinux,NetBSD/{hpcmips,mac68k}
+# -- the setf/setb are probably incorrect, more likely setaf/setab -TD
+# -- compare with cons25w
+mgterm|MGL/MGL2 MobileGear Graphic Library,
+       OTbs, OTpt, am, bce, bw, eo, km, msgr, npc,
+       colors#8, cols#80, it#8, lines#18, pairs#64,
+       bel=^G, blink=\E[5m, bold=\E[1m, cbt=\E[Z, clear=\E[H\E[J,
+       cr=\r, csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=^H,
+       cud=\E[%p1%dB, cud1=\E[B, 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, dim=\E[30;1m, dl=\E[%p1%dM,
+       dl1=\E[M, ech=\E[%p1%dX, ed=\E[J, el=\E[K, el1=\E[1K,
+       home=\E[H, hpa=\E[%i%p1%d`, ht=^I, ich=\E[%p1%d@,
+       ich1=\E[@, il=\E[%p1%dL, il1=\E[L, ind=\E[S, kb2=\E[E,
+       kbs=^H, kcbt=\E[Z, kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C,
+       kcuu1=\E[A, kdch1=^?, kend=\E[F, kf1=\E[M, kf10=\E[V,
+       kf11=\E[W, kf12=\E[X, kf2=\E[N, kf3=\E[O, kf4=\E[P, kf5=\E[Q,
+       kf6=\E[R, kf7=\E[S, kf8=\E[T, kf9=\E[U, khome=\E[H,
+       kich1=\E[L, knp=\E[G, kpp=\E[I, nel=\E[E, op=\E[x, rc=\E8,
+       rev=\E[7m, ri=\E[T, rmso=\E[m, rs2=\E[x\E[m\Ec, sc=\E7,
+       setb=\E[4%p1%dm, setf=\E[3%p1%dm, sgr0=\E[m, smso=\E[7m,
+       vpa=\E[%i%p1%dd, use=ecma+index,
 
 #### FreeBSD console entries
 #
@@ -1256,102 +1921,181 @@ rcons-color|BSD rasterconsole with ANSI color,
 #
 # Setting colors turns off reverse; we cannot guarantee order, so use ncv.
 # Note that this disables standout with color.
-cons25w|ansiw|ansi80x25-raw|freebsd console (25-line raw mode), 
-       am, bce, bw, eo, msgr, npc, 
-       colors#8, cols#80, it#8, lines#25, ncv#21, pairs#64, 
-       bel=^G, blink=\E[5m, bold=\E[1m, cbt=\E[Z, clear=\E[H\E[J, 
-       cnorm=\E[=0C, cr=^M, cub=\E[%p1%dD, cub1=^H, cud=\E[%p1%dB, 
-       cud1=\E[B, cuf=\E[%p1%dC, cuf1=\E[C, 
-       cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A, 
-       cvvis=\E[=1C, dch=\E[%p1%dP, dch1=\E[P, dim=\E[30;1m, 
-       dl=\E[%p1%dM, dl1=\E[M, ed=\E[J, el=\E[K, home=\E[H, 
-       hpa=\E[%i%p1%d`, ht=^I, ich=\E[%p1%d@, ich1=\E[@, 
-       il=\E[%p1%dL, il1=\E[L, ind=\E[S, indn=\E[%p1%dS, kb2=\E[E, 
-       kbs=^H, kcbt=\E[Z, kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, 
-       kcuu1=\E[A, kdch1=\177, kend=\E[F, kf1=\E[M, kf10=\E[V, 
-       kf11=\E[W, kf12=\E[X, kf2=\E[N, kf3=\E[O, kf4=\E[P, kf5=\E[Q, 
-       kf6=\E[R, kf7=\E[S, kf8=\E[T, kf9=\E[U, khome=\E[H, 
-       kich1=\E[L, knp=\E[G, kpp=\E[I, nel=\E[E, op=\E[x, rev=\E[7m, 
-       ri=\E[T, rin=\E[%p1%dT, rmso=\E[m, rs1=\E[x\E[m\Ec, 
-       setab=\E[4%p1%dm, setaf=\E[3%p1%dm, sgr0=\E[m, 
-       smso=\E[7m, vpa=\E[%i%p1%dd, 
-cons25|ansis|ansi80x25|freebsd console (25-line ansi mode), 
-       acsc=-\030.^Y0\333`\004a\260f\370g\361h\261i\025j\331k\277l\332m\300n\305q\304t\303u\264v\301w\302x\263y\363z\362~\371, 
-       use=cons25w, 
-cons25-m|ansis-mono|ansi80x25-mono|freebsd console (25-line mono ansi mode), 
-       colors@, pairs@, 
-       bold@, dim@, op@, rmul=\E[m, setab@, setaf@, smul=\E[4m, use=cons25, 
-cons30|ansi80x30|freebsd console (30-line ansi mode), 
-       lines#30, use=cons25, 
-cons30-m|ansi80x30-mono|freebsd console (30-line mono ansi mode), 
-       lines#30, use=cons25-m, 
-cons43|ansi80x43|freebsd console (43-line ansi mode), 
-       lines#43, use=cons25, 
-cons43-m|ansi80x43-mono|freebsd console (43-line mono ansi mode), 
-       lines#43, use=cons25-m, 
-cons50|ansil|ansi80x50|freebsd console (50-line ansi mode), 
-       lines#50, use=cons25, 
-cons50-m|ansil-mono|ansi80x50-mono|freebsd console (50-line mono ansi mode), 
-       lines#50, use=cons25-m, 
-cons60|ansi80x60|freebsd console (60-line ansi mode), 
-       lines#60, use=cons25, 
-cons60-m|ansi80x60-mono|freebsd console (60-line mono ansi mode), 
-       lines#60, use=cons25-m, 
-cons25r|pc3r|ibmpc3r|cons25-koi8-r|freebsd console w/koi8-r cyrillic, 
-       acsc=-\030.^Y0\215`\004a\220f\234h\221i\025j\205k\203l\202m\204n\212q\0t\206u\207v\211w\210x\201y\230z\231~\225, 
-       use=cons25w, 
-cons25r-m|pc3r-m|ibmpc3r-mono|cons25-koi8r-m|freebsd console w/koi8-r cyrillic (mono), 
-       colors@, pairs@, 
-       op@, rmul=\E[m, setab@, setaf@, smul=\E[4m, use=cons25r, 
-cons50r|cons50-koi8r|freebsd console w/koi8-r cyrillic (50 lines), 
-       lines#50, use=cons25r, 
-cons50r-m|cons50-koi8r-m|freebsd console w/koi8-r cyrillic (50-line mono), 
-       lines#50, use=cons25r-m, 
-cons60r|cons60-koi8r|freebsd console w/koi8-r cyrillic (60 lines), 
-       lines#60, use=cons25r, 
-cons60r-m|cons60-koi8r-m|freebsd console w/koi8-r cyrillic (60-line mono), 
-       lines#60, use=cons25r-m, 
+#
+# The emulator sends difference strings based on shift- and control-keys,
+# like scoansi:
+#      F13-F24 are shifted F1-F12
+#      F25-F36 are control F1-F12
+#      F37-F48 are shift+control F1-F12
+cons25w|ansiw|ansi80x25-raw|freebsd console (25-line raw mode),
+       am, bce, bw, eo, msgr, npc,
+       colors#8, cols#80, it#8, lines#25, ncv#21, pairs#64,
+       bel=^G, blink=\E[5m, bold=\E[1m, cbt=\E[Z, clear=\E[H\E[J,
+       cnorm=\E[=0C, cr=\r, cub=\E[%p1%dD, cub1=^H, cud=\E[%p1%dB,
+       cud1=\E[B, cuf=\E[%p1%dC, cuf1=\E[C,
+       cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A,
+       cvvis=\E[=1C, dch=\E[%p1%dP, dch1=\E[P, dim=\E[30;1m,
+       dl=\E[%p1%dM, dl1=\E[M, ech=\E[%p1%dX, ed=\E[J, el=\E[K,
+       home=\E[H, hpa=\E[%i%p1%d`, ht=^I, ich=\E[%p1%d@,
+       ich1=\E[@, il=\E[%p1%dL, il1=\E[L, ind=\E[S, kb2=\E[E,
+       kbs=^H, kcbt=\E[Z, kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C,
+       kcuu1=\E[A, kdch1=^?, kend=\E[F, kf1=\E[M, kf10=\E[V,
+       kf11=\E[W, kf12=\E[X, kf13=\E[Y, kf14=\E[Z, kf15=\E[a,
+       kf16=\E[b, kf17=\E[c, kf18=\E[d, kf19=\E[e, kf2=\E[N,
+       kf20=\E[f, kf21=\E[g, kf22=\E[h, kf23=\E[i, kf24=\E[j,
+       kf25=\E[k, kf26=\E[l, kf27=\E[m, kf28=\E[n, kf29=\E[o,
+       kf3=\E[O, kf30=\E[p, kf31=\E[q, kf32=\E[r, kf33=\E[s,
+       kf34=\E[t, kf35=\E[u, kf36=\E[v, kf37=\E[w, kf38=\E[x,
+       kf39=\E[y, kf4=\E[P, kf40=\E[z, kf41=\E[@, kf42=\E[[,
+       kf43=\E[\\, kf44=\E[], kf45=\E[\^, kf46=\E[_, kf47=\E[`,
+       kf48=\E[{, kf5=\E[Q, kf6=\E[R, kf7=\E[S, kf8=\E[T, kf9=\E[U,
+       khome=\E[H, kich1=\E[L, knp=\E[G, kpp=\E[I, nel=\E[E,
+       op=\E[x, rc=\E8, rev=\E[7m, ri=\E[T, rmso=\E[m,
+       rs2=\E[x\E[m\Ec, sc=\E7, setab=\E[4%p1%dm,
+       setaf=\E[3%p1%dm,
+       sgr=\E[0%?%p1%t;2;7%;%?%p3%t;7%;%?%p4%t;5%;%?%p5%t;30;1%;%?
+           %p6%t;1%;m,
+       sgr0=\E[m, smso=\E[7m, vpa=\E[%i%p1%dd, use=ecma+index,
+cons25|ansis|ansi80x25|freebsd console (25-line ansi mode),
+       acsc=-\030.^Y0\333`\004a\260f\370g\361h\261i\025j\331k\277l
+            \332m\300n\305q\304t\303u\264v\301w\302x\263y\363z\362~
+            \371,
+       use=cons25w,
+cons25-debian|freebsd console with debian backspace (25-line ansi mode),
+       kbs=^?, kdch1=\E[3~, use=cons25,
+cons25-m|ansis-mono|ansi80x25-mono|freebsd console (25-line mono ansi mode),
+       colors@, pairs@,
+       bold@, dim@, op@, rmul=\E[m, setab@, setaf@,
+       sgr=\E[0%?%p1%t;2;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;m,
+       smul=\E[4m, use=cons25,
+cons30|ansi80x30|freebsd console (30-line ansi mode),
+       lines#30, use=cons25,
+cons30-m|ansi80x30-mono|freebsd console (30-line mono ansi mode),
+       lines#30, use=cons25-m,
+cons43|ansi80x43|freebsd console (43-line ansi mode),
+       lines#43, use=cons25,
+cons43-m|ansi80x43-mono|freebsd console (43-line mono ansi mode),
+       lines#43, use=cons25-m,
+cons50|ansil|ansi80x50|freebsd console (50-line ansi mode),
+       lines#50, use=cons25,
+cons50-m|ansil-mono|ansi80x50-mono|freebsd console (50-line mono ansi mode),
+       lines#50, use=cons25-m,
+cons60|ansi80x60|freebsd console (60-line ansi mode),
+       lines#60, use=cons25,
+cons60-m|ansi80x60-mono|freebsd console (60-line mono ansi mode),
+       lines#60, use=cons25-m,
+cons25r|pc3r|ibmpc3r|cons25-koi8-r|freebsd console w/koi8-r cyrillic,
+       acsc=-\030.^Y0\215`\004a\220f\234h\221i\025j\205k\203l\202m
+            \204n\212q\0t\206u\207v\211w\210x\201y\230z\231~
+            \225,
+       use=cons25w,
+cons25r-m|pc3r-m|ibmpc3r-mono|cons25-koi8r-m|freebsd console w/koi8-r cyrillic (mono),
+       colors@, pairs@,
+       op@, rmul=\E[m, setab@, setaf@,
+       sgr=\E[0%?%p1%t;2;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p5
+           %t;30;1%;%?%p6%t;1%;m,
+       smul=\E[4m, use=cons25r,
+cons50r|cons50-koi8r|freebsd console w/koi8-r cyrillic (50 lines),
+       lines#50, use=cons25r,
+cons50r-m|cons50-koi8r-m|freebsd console w/koi8-r cyrillic (50-line mono),
+       lines#50, use=cons25r-m,
+cons60r|cons60-koi8r|freebsd console w/koi8-r cyrillic (60 lines),
+       lines#60, use=cons25r,
+cons60r-m|cons60-koi8r-m|freebsd console w/koi8-r cyrillic (60-line mono),
+       lines#60, use=cons25r-m,
 # ISO 8859-1 FreeBSD console
-cons25l1|cons25-iso8859|freebsd console w/iso 8859-1 chars, 
-       acsc=+\253\,\273-\030.\031`\201a\202f\207g\210i\247j\213k\214l\215m\216n\217o\220p\221q\222r\223s\224t\225u\226v\227w\230x\231y\232z\233~\237, 
-       use=cons25w, 
-cons25l1-m|cons25-iso-m|freebsd console w/iso 8859-1 chars (mono), 
-       colors@, pairs@, 
-       bold@, dim@, op@, rmul=\E[m, setab@, setaf@, smul=\E[4m, use=cons25l1, 
-cons50l1|cons50-iso8859|freebsd console w/iso 8859-1 chars (50 lines), 
-       lines#50, use=cons25l1, 
-cons50l1-m|cons50-iso-m|freebsd console w/iso 8859-1 chars (50-line mono), 
-       lines#50, use=cons25l1-m, 
-cons60l1|cons60-iso|freebsd console w/iso 8859-1 chars (60 lines), 
-       lines#60, use=cons25l1, 
-cons60l1-m|cons60-iso-m|freebsd console w/iso 8859-1 chars (60-line mono), 
-       lines#60, use=cons25l1-m, 
+cons25l1|cons25-iso8859|freebsd console w/iso 8859-1 chars,
+       acsc=+\253\,\273-\030.\031`\201a\202f\207g\210i\247j\213k
+            \214l\215m\216n\217o\220p\221q\222r\223s\224t\225u
+            \226v\227w\230x\231y\232z\233~\237,
+       use=cons25w,
+cons25l1-m|cons25-iso-m|freebsd console w/iso 8859-1 chars (mono),
+       colors@, pairs@,
+       bold@, dim@, op@, rmul=\E[m, setab@, setaf@,
+       sgr=\E[0%?%p1%t;2;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;m,
+       smul=\E[4m, use=cons25l1,
+cons50l1|cons50-iso8859|freebsd console w/iso 8859-1 chars (50 lines),
+       lines#50, use=cons25l1,
+cons50l1-m|cons50-iso-m|freebsd console w/iso 8859-1 chars (50-line mono),
+       lines#50, use=cons25l1-m,
+cons60l1|cons60-iso|freebsd console w/iso 8859-1 chars (60 lines),
+       lines#60, use=cons25l1,
+cons60l1-m|cons60-iso-m|freebsd console w/iso 8859-1 chars (60-line mono),
+       lines#60, use=cons25l1-m,
+
+# Starting with FreeBSD 8, an alternative configuration for syscons is provided,
+# which is intended to be xterm-compatible.  See for example
+#      http://svnweb.freebsd.org/base/stable/8/sys/dev/syscons/
+# in particular scterm-teken.c
+#
+# For FreeBSD 9 and 10:
+# --------------------
+# The /etc/ttys entries for console and other ttys are all configured to set
+# TERM=xterm.
+#
+# Testing with tack:
+# There is no VT100 line-drawing (uses +'s and -'s)
+# Shifted f1-f12 give cons25 codes, rather than xterm function-keys
+#
+# Testing with vttest:
+# Menu 2 diamonds don't work, blink ditto, light background ditto
+# The terminal identifies itself as VT100 with AVO
+# There is no VT52 support
+# There is no doublesize character support
+# The terminal supports ECH (like rxvt)
+# The terminal does not support send/receive mode
+# The terminal supports all of the ISO-6429 cursor-movement
+# The terminal supports some of the ISO-6429 miscellaneous tests
+#      (SL/SR also leave unexpected char on screen too)
+#
+# Considering cons25 as a base, the line-drawing mostly works, but is missing
+# the cells which happen to have ASCII control-character values:
+#      -    ^X    arrow pointing up
+#      .    ^Y    arrow pointing down
+#      i    ^Y    lantern
+#      `    ^D    diamond
+#
+# Those are removed from this entry's acsc string to avoid confusion.
+# The resulting description provides correct line-drawing and function-keys -TD
+teken|syscons with teken,
+       bw@, mir, xenl,
+       acsc=0\333a\260f\370g\361h\261j\331k\277l\332m\300n\305q
+            \304t\303u\264v\301w\302x\263y\363z\362~\371,
+       civis=\E[?25l, cnorm=\E[?25h, cvvis@, hpa=\E[%i%p1%dG,
+       hts=\EH, kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A,
+       kdch1=\E[3~, kend=\E[F, kent=\r, kf1=\EOP, kf10=\E[21~,
+       kf11=\E[23~, kf12=\E[24~, kf2=\EOQ, kf3=\EOR, kf4=\EOS,
+       kf5=\E[15~, kf6=\E[17~, kf7=\E[18~, kf8=\E[19~, kf9=\E[20~,
+       khome=\E[H, kich1=\E[2~, knp=\E[6~, kpp=\E[5~, rmir=\E[4l,
+       smir=\E[4h, tbc=\E[3g, u6=\E[%i%d;%dR, u7=\E[6n,
+       u8=\E[?1;2c, u9=\E[c, vpa=\E[%i%p1%dd, use=cons25,
 
 #### 386BSD and BSD/OS Consoles
 #
 
-# This was the original 386BSD console entry (I think).  
+# This was the original 386BSD console entry (I think).
 # Some places it's named oldpc3|oldibmpc3.
 # From: Alex R.N. Wetmore <aw2t@andrew.cmu.edu>
-origpc3|origibmpc3|IBM PC 386BSD Console, 
-       am, bw, eo, xon, 
-       cols#80, lines#25, 
-       acsc=j\331k\277l\332m\300n\305q\304t\303u\264v\301w\302x\263, 
-       bold=\E[7m, clear=\Ec, cub1=^H, cud1=\E[B, cuf1=\E[C, 
-       cup=\E[%i%p1%2d;%p2%2dH, cuu1=\E[A, ed=\E[J, el=\E[K, 
-       home=\E[H, ind=\E[S, kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, 
-       kcuu1=\E[A, khome=\E[Y, ri=\E[T, rmso=\E[1;0x\E[2;7x, 
-       rmul=\E[1;0x\E[2;7x, sgr0=\E[m\E[1;0x\E[2;7x, 
-       smso=\E[1;7x\E[2;0x, smul=\E[1;7x\E[2;0x, 
+origpc3|origibmpc3|IBM PC 386BSD Console,
+       OTbs, am, bw, eo, xon,
+       cols#80, lines#25,
+       acsc=j\331k\277l\332m\300n\305q\304t\303u\264v\301w\302x
+            \263,
+       bold=\E[7m, clear=\Ec, cub1=^H, cud1=\E[B, cuf1=\E[C,
+       cup=\E[%i%p1%2d;%p2%2dH, cuu1=\E[A, ed=\E[J, el=\E[K,
+       home=\E[H, ind=\E[S, kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C,
+       kcuu1=\E[A, khome=\E[Y, ri=\E[T, rmso=\E[1;0x\E[2;7x,
+       rmul=\E[1;0x\E[2;7x, sgr0=\E[m\E[1;0x\E[2;7x,
+       smso=\E[1;7x\E[2;0x, smul=\E[1;7x\E[2;0x,
 
 # description of BSD/386 console emulator in version 1.0 (supplied by BSDI)
-oldpc3|oldibmpc3|old IBM PC BSD/386 Console, 
-       km, 
-       lines#25, 
-       bel=^G, bold=\E[=15F, cr=^M, cud1=^J, dim=\E[=8F, dl1=\E[M, 
-       ht=^I, il1=\E[L, ind=^J, kbs=^H, kcub1=\E[D, kcud1=\E[B, 
-       kcuf1=\E[C, kcuu1=\E[A, khome=\E[H, kich1=\E[L, kll=\E[F, 
-       knp=\E[G, kpp=\E[I, nel=^M^J, sgr0=\E[=R, 
+oldpc3|oldibmpc3|old IBM PC BSD/386 Console,
+       OTbs, km,
+       lines#25,
+       bel=^G, bold=\E[=15F, cr=\r, cud1=\n, dim=\E[=8F, dl1=\E[M,
+       ht=^I, il1=\E[L, ind=\n, kbs=^H, kcub1=\E[D, kcud1=\E[B,
+       kcuf1=\E[C, kcuu1=\E[A, khome=\E[H, kich1=\E[L, kll=\E[F,
+       knp=\E[G, kpp=\E[I, nel=\r\n, sgr0=\E[=R,
 
 # Description of BSD/OS console emulator in version 1.1, 2.0, 2.1
 # Note, the emulator supports many of the additional console features
@@ -1359,48 +2103,82 @@ oldpc3|oldibmpc3|old IBM PC BSD/386 Console,
 # are described here.  This entry really ought to be upgraded.
 # Also note, the console will also work with fewer lines after doing
 # "stty rows NN", e.g. to use 24 lines.
-# (Color support from Kevin Rosenberg <kevin@cyberport.com>, 2 May 1996) 
+# (Color support from Kevin Rosenberg <kevin@cyberport.com>, 2 May 1996)
 # Bug: The <op> capability resets attributes.
-bsdos-pc-nobold|BSD/OS PC console w/o bold, 
-       am, eo, km, xon, 
-       cols#80, it#8, lines#25, 
-       bel=^G, clear=\Ec, cr=^M, 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, 
-       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, kbs=^H, kcub1=\E[D, 
-       kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, khome=\E[H, kich1=\E[L, 
-       kll=\E[F, knp=\E[G, kpp=\E[I, nel=^M^J, rc=\E8, sc=\E7, 
-       sgr=\E[0;10%?%p1%t;7%;%?%p3%t;7%;%?%p4%t;5%;%?%p6%t;1%;%?%p7%t;8%;%?%p9%t;11%;m%?%p5%t\E[=8F%;, 
-       use=klone+sgr, use=klone+color, 
-bsdos-pc|IBM PC BSD/OS Console, 
-       sgr=\E[0;10%?%p1%t;7%;%?%p2%t;1%;%?%p3%t;7%;%?%p4%t;5%;%?%p6%t;1%;%?%p7%t;8%;%?%p9%t;11%;m, use=bsdos-pc-nobold, 
-
-# Old names for BSD/OS PC console used in releases before 4.1. 
-pc3|BSD/OS on the PC Console, 
-       use=bsdos-pc-nobold, 
-ibmpc3|pc3-bold|BSD/OS on the PC Console with bold instead of underline, 
-       use=bsdos-pc, 
-# BSD/OS on the SPARC 
-bsdos-sparc|Sun SPARC BSD/OS Console, 
-       use=sun, 
-        
-# BSD/OS on the PowerPC 
-bsdos-ppc|PowerPC BSD/OS Console, 
-       use=bsdos-pc, 
+bsdos-pc|IBM PC BSD/OS Console,
+       sgr=\E[0;10%?%p1%t;7%;%?%p2%t;1%;%?%p3%t;7%;%?%p4%t;5%;%?%p6
+           %t;1%;%?%p7%t;8%;%?%p9%t;11%;m,
+       use=bsdos-pc-nobold,
+
+bsdos-pc-nobold|BSD/OS PC console w/o bold,
+       use=klone+color, use=bsdos-pc-m,
+
+bsdos-pc-m|bsdos-pc-mono|BSD/OS PC console mono,
+       OTbs, am, eo, km, xon,
+       cols#80, it#8, lines#25,
+       bel=^G, clear=\Ec, cr=\r, cub=\E[%p1%dD, cub1=^H,
+       cud=\E[%p1%dB, cud1=\n, cuf=\E[%p1%dC, cuf1=\E[C,
+       cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A,
+       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=\n, kbs=^H, kcub1=\E[D,
+       kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, khome=\E[H, kich1=\E[L,
+       kll=\E[F, knp=\E[G, kpp=\E[I, nel=\r\n, rc=\E8, sc=\E7,
+       sgr=\E[0;10%?%p1%t;7%;%?%p3%t;7%;%?%p4%t;5%;%?%p6%t;1%;%?%p7
+           %t;8%;%?%p9%t;11%;m%?%p5%t\E[=8F%;,
+       use=klone+sgr8,
+
+# Old names for BSD/OS PC console used in releases before 4.1.
+pc3|BSD/OS on the PC Console,
+       use=bsdos-pc-nobold,
+ibmpc3|pc3-bold|BSD/OS on the PC Console with bold instead of underline,
+       use=bsdos-pc,
+
+# BSD/OS on the SPARC
+bsdos-sparc|Sun SPARC BSD/OS Console,
+       use=sun,
+
+# BSD/OS on the PowerPC
+bsdos-ppc|PowerPC BSD/OS Console,
+       use=bsdos-pc,
+
+
+#### DEC VT52
+# (<acsc>/<rmacs>/<smacs> capabilities aren't in DEC's official entry -- esr)
+#
+# Actually (TD pointed this out at the time the acsc string was added):
+# vt52 shouldn't define full acsc since most of the cells don't match.
+# see vt100 manual page A-31.  This is the list that does match:
+#      f degree
+#      g plus/minus
+#      h right-arrow
+#      k down-arrow
+#      m scan-1
+#      o scan-3
+#      q scan-5
+#      s scan-7
+# The line-drawing happens to work in several terminal emulators, but should
+# not be used as a guide to the capabilities of the vt52.  Note in particular
+# that vt52 does not support line-drawing characters (the scan-X values refer
+# to a crude plotting feature) -TD
+vt52|dec vt52,
+       OTbs,
+       cols#80, it#8, lines#24,
+       acsc=+h.k0affggolpnqprrss, bel=^G, clear=\EH\EJ, cr=\r,
+       cub1=\ED, cud1=\EB, cuf1=\EC,
+       cup=\EY%p1%{32}%+%c%p2%{32}%+%c, cuu1=\EA, ed=\EJ,
+       el=\EK, home=\EH, ht=^I, ind=\n, kbs=^H, kcub1=\ED, kcud1=\EB,
+       kcuf1=\EC, kcuu1=\EA, nel=\r\n, ri=\EI, rmacs=\EG, smacs=\EF,
 
 #### DEC VT100 and compatibles
 #
-# DEC terminals from the vt100 forward (and the vt52, way obsolete but still
-# the basis of some emulations) are collected here. Older DEC terminals and
-# micro consoles can be found in the `obsolete' section.  More details on
+# DEC terminals from the vt100 forward are collected here. Older DEC terminals
+# and micro consoles can be found in the `obsolete' section.  More details on
 # the relationship between the VT100 and ANSI X3.64/ISO 6429/ECMA-48 may be
 # found near the end of this file.
 #
 # Except where noted, these entries are DEC's official terminfos.
 # Contact Bill Hedberg <hedberg@hannah.enet.dec.com> of Terminal Support
-# Engineering for more information.  Updated terminfos and termcaps 
+# Engineering for more information.  Updated terminfos and termcaps
 # are kept available at ftp://gatekeeper.dec.com/pub/DEC/termcaps.
 #
 # In October 1995 DEC sold its terminals business, including the VT and Dorio
@@ -1408,15 +2186,6 @@ bsdos-ppc|PowerPC BSD/OS Console,
 # its name to Boundless Technologies; see http://www.boundless.com.
 #
 
-# (<acsc>/<rmacs>/<smacs> capabilities aren't in DEC's official entry -- esr)
-vt52|dec vt52, 
-       cols#80, it#8, lines#24, 
-       acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~, 
-       bel=^G, clear=\EH\EJ, cr=^M, cub1=\ED, cud1=\EB, cuf1=\EC, 
-       cup=\EY%p1%{32}%+%c%p2%{32}%+%c, cuu1=\EA, ed=\EJ, 
-       el=\EK, home=\EH, ht=^I, ind=^J, kbs=^H, kcub1=\ED, kcud1=\EB, 
-       kcuf1=\EC, kcuu1=\EA, nel=^M^J, ri=\EI, rmacs=\EG, smacs=\EF, 
-
 # NOTE:  Any VT100 emulation, whether in hardware or software, almost
 # certainly includes what DEC called the `Level 1 editing extension' codes;
 # only the very oldest VT100s lacked these and there probably aren't any of
@@ -1430,20 +2199,59 @@ vt52|dec vt52,
 # you output the char in column 80, immediately output CR LF
 # and then assume you are in column 1 of the next line. If <xenl>
 # is on, am should be on too.
-# 
+#
 # I assume you have smooth scroll off or are at a slow enough baud
 # rate that it doesn't matter (1200? or less). Also this assumes
-# that you set auto-nl to "on", if you set it off use vt100-nam 
+# that you set auto-nl to "on", if you set it off use vt100-nam
 # below.
-# 
+#
 # The padding requirements listed here are guesses. It is strongly
 # recommended that xon/xoff be enabled, as this is assumed here.
-# 
-# The vt100 uses <rs2> and <rf> rather than <is2>/<tbc>/<hts> because the 
-# tab settings are in non-volatile memory and don't need to be 
-# reset upon login. Also setting the number of columns glitches 
+#
+# The vt100 uses <rs2> and <rf> rather than <is2>/<tbc>/<hts> because the
+# tab settings are in non-volatile memory and don't need to be
+# reset upon login. Also setting the number of columns glitches
 # the screen annoyingly. You can type "reset" to get them set.
 #
+# The VT100 series terminals have cursor ("arrows") keys which can operate
+# in two different modes: Cursor Mode and Application Mode.  Cursor Mode
+# is the reset state, and is assumed to be the normal state.  Application
+# Mode is the "set" state.  In Cursor Mode, the cursor keys transmit
+# "Esc [ {code}" sequences, conforming to ANSI standards.  In Application
+# Mode, the cursor keys transmit "Esc O <code>" sequences.  Application Mode
+# was provided primarily as an aid to the porting of VT52 applications.  It is
+# assumed that the cursor keys are normally in Cursor Mode, and expected that
+# applications such as vi will always transmit the <smkx> string.  Therefore,
+# the definitions for the cursor keys are made to match what the terminal
+# transmits after the <smkx> string is transmitted.  If the <smkx> string
+# is a null string or is not defined, then cursor keys are assumed to be in
+# "Cursor Mode", and the cursor keys definitions should match that assumption,
+# else the application may fail.  It is also expected that applications will
+# always transmit the <rmkx> string to the terminal before they exit.
+#
+# The VT100 series terminals have an auxiliary keypad, commonly referred to as
+# the "Numeric Keypad", because it is a cluster of numeric and function keys.
+# The Numeric Keypad which can operate in two different modes: Numeric Mode and
+# Application Mode.  Numeric Mode is the reset state, and is assumed to be
+# the normal state.  Application Mode is the "set" state.  In Numeric Mode,
+# the numeric and punctuation keys transmit ASCII 7-bit characters, and the
+# Enter key transmits the same as the Return key (Note: the Return key
+# can be configured to send either LF (\015) or CR LF).  In Application Mode,
+# all the keypad keys transmit "Esc O {code}" sequences.  The PF1 - PF4 keys
+# always send the same "Esc O {code}" sequences.  It is assumed that the keypad
+# is normally in Numeric Mode.  If an application requires that the keypad be
+# in Application Mode then it is expected that the user, or the application,
+# will set the TERM environment variable to point to a terminfo entry which has
+# defined the <smkx> string to include the codes that switch the keypad into
+# Application Mode, and the terminfo entry will also define function key
+# fields to match the Application Mode control codes.  If the <smkx> string
+# is a null string or is not defined, then the keypad is assumed to be in
+# Numeric Mode.  If the <smkx> string switches the keypad into Application
+# Mode, it is expected that the <rmkx> string will contain the control codes
+# necessary to reset the keypad to "Normal" mode, and it is also expected that
+# applications which transmit the <smkx> string will also always transmit the
+# <rmkx> string to the terminal before they exit.
+#
 # Here's a diagram of the VT100 keypad keys with their bindings.
 # The top line is the name of the key (some DEC keyboards have the keys
 # labelled somewhat differently, like GOLD instead of PF1, but this is
@@ -1468,9 +2276,53 @@ vt52|dec vt52,
 #  |        $Op        |  $On    |         |
 #  |___kc1_______K4____|_kc3__K5_|_kent_@8_|
 #
+# Note however, that the arrangement of the 5-key ka1-kc3 do not follow the
+# terminfo guidelines.  That is a compromise used to assign the remaining
+# keys on the keypad to kf5-kf0, used on older systems with legacy termcap
+# support:
+vt100+keypad|dec vt100 numeric keypad no fkeys,
+       ka1=\EOq, ka3=\EOs, kb2=\EOr, kc1=\EOp, kc3=\EOn,
+vt100+pfkeys|dec vt100 numeric keypad,
+       kent=\EOM, kf1=\EOP, kf2=\EOQ, kf3=\EOR, kf4=\EOS,
+       use=vt100+keypad,
+vt100+fnkeys|dec vt100 numeric keypad,
+       kf0=\EOy, kf10=\EOx, kf5=\EOt, kf6=\EOu, kf7=\EOv, kf8=\EOl,
+       kf9=\EOw, use=vt100+pfkeys,
+#
+# A better adaptation to modern keyboards such as the PC's, which have a dozen
+# function keys and the keypad 2,4,6,8 keys are labeled with arrows keys, is to
+# use the 5-key arrangement to model the arrow keys as suggested in the
+# terminfo guidelines:
+#   _______________________________________
+#  |   PF1   |   PF2   |   PF3   |   PF4   |
+#  |   $OP   |   $OQ   |   $OR   |   $OS   |
+#  |_kf1__k1_|_kf2__k2_|_kf3__k3_|_kf4__k4_|
+#  |    7         8         9         -    |
+#  |   $Ow   |   $Ox   |   $Oy   |   $Om   |
+#  |_ka1__K1_|_________|_ka3__K3_|_________|
+#  |    4    |    5    |    6    |    ,    |
+#  |   $Ot   |   $Ou   |   $Ov   |   $Ol   |
+#  |_________|_kb2__K2_|_________|_________|
+#  |    1    |    2    |    3    |         |
+#  |   $Oq   |   $Or   |   $Os   |  enter  |
+#  |_kc1__K4_|_________|_kc3__K5_|  $OM    |
+#  |         0         |   .     |         |
+#  |        $Op        |  $On    |         |
+#  |___________________|_________|_kent_@8_|
+#
+vt220+keypad|dec vt220 numeric keypad,
+       ka1=\EOw, ka3=\EOy, kb2=\EOu, kc1=\EOq, kc3=\EOs, kent=\EOM,
+       kf1=\EOP, kf2=\EOQ, kf3=\EOR, kf4=\EOS, ka2=\EOx, kb1=\EOt,
+       kb3=\EOv, kc2=\EOr,
+#
+vt100+enq|ncurses extension for vt100-style ENQ,
+       u8=\E[?1;2c, use=ansi+enq,
+vt102+enq|ncurses extension for vt102-style ENQ,
+       u8=\E[?6c, use=ansi+enq,
+#
 # And here, for those of you with orphaned VT100s lacking documentation, is
 # a description of the soft switches invoked when you do `Set Up'.
-# 
+#
 #  Scroll 0-Jump               Shifted 3   0-#
 #  |      1-Smooth             |           1-British pound sign
 #  | Autorepeat 0-Off          | Wrap Around 0-Off
@@ -1484,7 +2336,7 @@ vt52|dec vt52,
 #                | | | |                     | | | |
 #                | | | Auto XON/XOFF 0-Off   | | | Power 0-60 Hz
 #                | | |               1-On    | | |       1-50 Hz
-#                | | Ansi/VT52 0-VT52        | | Bits Per Char. 0-7 Bits
+#                | | ANSI/VT52 0-VT52        | | Bits Per Char. 0-7 Bits
 #                | |           1-ANSI        | |                1-8 Bits
 #                | Keyclick 0-Off            | Parity 0-Off
 #                |          1-On             |        1-On
@@ -1502,202 +2354,251 @@ vt52|dec vt52,
 #      INTERLACE_OFF
 #
 # (vt100: I added <rmam>/<smam> based on the init string, also <OTbs>. -- esr)
-vt100|vt100-am|dec vt100 (w/advanced video), 
-       am, msgr, xenl, xon, 
-       cols#80, it#8, lines#24, vt#3, 
-       acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~, 
-       bel=^G, blink=\E[5m$<2>, bold=\E[1m$<2>, 
-       clear=\E[H\E[J$<50>, 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$<2>, 
-       cup=\E[%i%p1%d;%p2%dH$<5>, cuu=\E[%p1%dA, 
-       cuu1=\E[A$<2>, ed=\E[J$<50>, el=\E[K$<3>, el1=\E[1K$<3>, 
-       enacs=\E(B\E)0, home=\E[H, ht=^I, hts=\EH, ind=^J, ka1=\EOq, 
-       ka3=\EOs, kb2=\EOr, kbs=^H, kc1=\EOp, kc3=\EOn, kcub1=\EOD, 
-       kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, kent=\EOM, kf0=\EOy, 
-       kf1=\EOP, kf10=\EOx, kf2=\EOQ, kf3=\EOR, kf4=\EOS, kf5=\EOt, 
-       kf6=\EOu, kf7=\EOv, kf8=\EOl, kf9=\EOw, rc=\E8, 
-       rev=\E[7m$<2>, ri=\EM$<5>, rmacs=^O, rmam=\E[?7l, 
-       rmkx=\E[?1l\E>, rmso=\E[m$<2>, rmul=\E[m$<2>, 
-       rs2=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h, sc=\E7, 
-       sgr=\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;m%?%p9%t\016%e\017%;, 
-       sgr0=\E[m\017$<2>, smacs=^N, smam=\E[?7h, smkx=\E[?1h\E=, 
-       smso=\E[7m$<2>, smul=\E[4m$<2>, tbc=\E[3g, 
-vt100nam|vt100-nam|vt100 no automargins, 
-       am@, xenl@, use=vt100-am, 
-vt100-vb|dec vt100 (w/advanced video) & no beep, 
-       bel@, flash=\E[?5h\E[?5l, use=vt100, 
+vt100|vt100-am|dec vt100 (w/advanced video),
+       OTbs, mc5i, xenl, xon,
+       vt#3,
+       csr=\E[%i%p1%d;%p2%dr, kcub1=\EOD, kcud1=\EOB,
+       kcuf1=\EOC, kcuu1=\EOA, lf1=pf1, lf2=pf2, lf3=pf3, lf4=pf4,
+       mc0=\E[0i, mc4=\E[4i, mc5=\E[5i, rc=\E8, rmam=\E[?7l,
+       rmkx=\E[?1l\E>, rs2=\E<\E>\E[?3;4;5l\E[?7;8h\E[r,
+       sc=\E7,
+       sgr=\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5
+           %;m%?%p9%t\016%e\017%;$<2>,
+       smam=\E[?7h, smkx=\E[?1h\E=, smso=\E[7m$<2>,
+       use=vt100+4bsd, use=vt100+fnkeys,
+vt100+4bsd|dec vt100 from 4.0BSD,
+       am, msgr,
+       cols#80, it#8, lines#24,
+       acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
+       bel=^G, blink=\E[5m$<2>, bold=\E[1m$<2>,
+       clear=\E[H\E[J$<50>, cr=\r, cub=\E[%p1%dD, cub1=^H,
+       cud=\E[%p1%dB, cud1=\n, cuf=\E[%p1%dC, cuf1=\E[C$<2>,
+       cup=\E[%i%p1%d;%p2%dH$<5>, cuu=\E[%p1%dA,
+       cuu1=\E[A$<2>, ed=\E[J$<50>, el=\E[K$<3>, el1=\E[1K$<3>,
+       enacs=\E(B\E)0, home=\E[H, ht=^I, hts=\EH, ind=\n, kbs=^H,
+       kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A,
+       rev=\E[7m$<2>, ri=\EM$<5>, rmacs=^O, rmso=\E[m$<2>,
+       rmul=\E[m$<2>, rs2=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h,
+       sgr=\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5
+           %;m%?%p9%t\016%e\017%;$<2>,
+       sgr0=\E[m\017$<2>, smacs=^N, smso=\E[1;7m$<2>,
+       smul=\E[4m$<2>, tbc=\E[3g,
+vt100nam|vt100-nam|vt100 no automargins,
+       am@, xenl@,
+       rs2=\E>\E[?3l\E[?4l\E[?5l\E[?7l\E[?8h, use=vt100-am,
+vt100-vb|dec vt100 (w/advanced video) & no beep,
+       bel@, flash=\E[?5h$<100/>\E[?5l, use=vt100,
 
 # Ordinary vt100 in 132 column ("wide") mode.
-vt100-w|vt100-w-am|dec vt100 132 cols (w/advanced video), 
-       cols#132, lines#24, 
-       rs2=\E>\E[?3h\E[?4l\E[?5l\E[?8h, use=vt100-am, 
-vt100-w-nam|vt100-nam-w|dec vt100 132 cols (w/advanced video no automargin), 
-       cols#132, lines#14, vt@, 
-       rs2=\E>\E[?3h\E[?4l\E[?5l\E[?8h, use=vt100-nam, 
+vt100-w|vt100-w-am|dec vt100 132 cols (w/advanced video),
+       cols#132, lines#24,
+       rs2=\E>\E[?3h\E[?4l\E[?5l\E[?8h, use=vt100-am,
+vt100-w-nam|vt100-nam-w|dec vt100 132 cols (w/advanced video no automargin),
+       cols#132, lines#14, vt@,
+       rs2=\E>\E[?3h\E[?4l\E[?5l\E[?8h, use=vt100-nam,
 
 # vt100 with no advanced video.
-vt100-nav|vt100 without advanced video option, 
-       xmc#1, 
-       blink@, bold@, rev@, rmso=\E[m, rmul@, sgr@, sgr0@, smso=\E[7m, 
-       smul@, 
-       use=vt100, 
-vt100-nav-w|vt100-w-nav|dec vt100 132 cols 14 lines (no advanced video option), 
-       cols#132, lines#14, use=vt100-nav, 
+vt100-nav|vt100 without advanced video option,
+       xmc#1,
+       blink@, bold@, rev@, rmso=\E[m, rmul@, sgr@, sgr0@, smso=\E[7m,
+       smul@, use=vt100,
+vt100-nav-w|vt100-w-nav|dec vt100 132 cols 14 lines (no advanced video option),
+       cols#132, lines#14, use=vt100-nav,
 
 # vt100 with one of the 24 lines used as a status line.
 # We put the status line on the top.
-vt100-s|vt100-s-top|vt100-top-s|vt100 for use with top sysline, 
-       eslok, hs, 
-       lines#23, 
-       clear=\E[2;1H\E[J$<50>, csr=\E[%i%i%p1%d;%p2%dr, 
-       cup=\E[%i%p1%{1}%+%d;%p2%dH$<5>, dsl=\E7\E[1;24r\E8, 
-       fsl=\E8, home=\E[2;1H, is2=\E7\E[2;24r\E8, 
-       tsl=\E7\E[1;%p1%dH\E[1K, use=vt100-am, 
-
-# Status line at bottom. 
+vt100-s|vt100-s-top|vt100-top-s|vt100 for use with top sysline,
+       eslok, hs,
+       lines#23,
+       clear=\E[2;1H\E[J$<50>, csr=\E[%i%i%p1%d;%p2%dr,
+       cup=\E[%i%p1%{1}%+%d;%p2%dH$<5>, dsl=\E7\E[1;24r\E8,
+       fsl=\E8, home=\E[2;1H, is2=\E7\E[2;24r\E8,
+       tsl=\E7\E[1;%p1%dH\E[1K, use=vt100-am,
+
+# Status line at bottom.
 # Clearing the screen will clobber status line.
-vt100-s-bot|vt100-bot-s|vt100 for use with bottom sysline, 
-       eslok, hs, 
-       lines#23, 
-       dsl=\E7\E[1;24r\E8, fsl=\E8, is2=\E[1;23r\E[23;1H, 
-       tsl=\E7\E[24;%p1%dH\E[1K, 
-       use=vt100-am, 
+vt100-s-bot|vt100-bot-s|vt100 for use with bottom sysline,
+       eslok, hs,
+       lines#23,
+       dsl=\E7\E[1;24r\E8, fsl=\E8, is2=\E[1;23r\E[23;1H,
+       tsl=\E7\E[24;%p1%dH\E[1K, use=vt100-am,
 
 # Most of the `vt100' emulators out there actually emulate a vt102
 # This entry (or vt102-nsgr) is probably the right thing to use for
-# these.  
-vt102|dec vt102, 
-       mir, 
-       dch1=\E[P, dl1=\E[M, il1=\E[L, rmir=\E[4l, smir=\E[4h, use=vt100, 
-vt102-w|dec vt102 in wide mode, 
-       cols#132, 
-       rs3=\E[?3h, use=vt102, 
+# these.
+vt102|dec vt102,
+       dch1=\E[P, dl1=\E[M, il1=\E[L, rmir=\E[4l, smir=\E[4h,
+       use=vt100,
+vt102-w|dec vt102 in wide mode,
+       cols#132,
+       rs3=\E[?3h, use=vt102,
 
 # Many brain-dead PC comm programs that pretend to be `vt100-compatible'
 # fail to interpret the ^O and ^N escapes properly.  Symptom: the <sgr0>
 # string in the canonical vt100 entry above leaves the screen littered
 # with little  snowflake or star characters (IBM PC ROM character \017 = ^O)
 # after highlight turnoffs.  This entry should fix that, and even leave
-# ACS support working, at the cost of making multiple-highlight changes 
+# ACS support working, at the cost of making multiple-highlight changes
 # slightly more expensive.
 # From: Eric S. Raymond <esr@snark.thyrsus.com> July 22 1995
-vt102-nsgr|vt102 no sgr (use if you see snowflakes after highlight changes), 
-       sgr@, sgr0=\E[m, 
-       use=vt102, 
+vt102-nsgr|vt102 no sgr (use if you see snowflakes after highlight changes),
+       sgr@, sgr0=\E[m, use=vt102,
 
 # VT125 Graphics CRT.  Clear screen also erases graphics
-vt125|vt125 graphics terminal, 
-       clear=\E[H\E[2J\EPpS(E)\E\\$<50>, use=vt100, 
+# Some vt125's came configured with vt102 support.
+vt125|vt125 graphics terminal,
+       mir,
+       clear=\E[H\E[2J\EPpS(E)\E\\$<50>, use=vt100,
 
 # This isn't a DEC entry, it came from University of Wisconsin.
 # (vt131: I added <rmam>/<smam> based on the init string, also <OTbs> -- esr)
-vt131|dec vt131, 
-       am, xenl, 
-       cols#80, it#8, lines#24, vt#3, 
-       bel=^G, blink=\E[5m$<2/>, bold=\E[1m$<2/>, 
-       clear=\E[;H\E[2J$<50/>, cr=^M, csr=\E[%i%p1%d;%p2%dr, 
-       cub1=^H, cud1=^J, cuf1=\E[C$<2/>, 
-       cup=\E[%i%p1%d;%p2%dH$<5/>, cuu1=\E[A$<2/>, 
-       ed=\E[J$<50/>, el=\E[K$<3/>, home=\E[H, ht=^I, 
-       is2=\E[1;24r\E[24;1H, kbs=^H, kcub1=\EOD, kcud1=\EOB, 
-       kcuf1=\EOC, kcuu1=\EOA, kf1=\EOP, kf2=\EOQ, kf3=\EOR, 
-       kf4=\EOS, nel=^M^J, rc=\E8, rev=\E[7m$<2/>, ri=\EM$<5/>, 
-       rmam=\E[?7h, rmkx=\E[?1l\E>, rmso=\E[m$<2/>, 
-       rmul=\E[m$<2/>, 
-       rs1=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h, sc=\E7, 
-       sgr0=\E[m$<2/>, smam=\E[?7h, smkx=\E[?1h\E=, 
-       smso=\E[7m$<2/>, smul=\E[4m$<2/>, 
+vt131|dec vt131,
+       OTbs, am, xenl,
+       cols#80, it#8, lines#24, vt#3,
+       bel=^G, blink=\E[5m$<2/>, bold=\E[1m$<2/>,
+       clear=\E[;H\E[2J$<50/>, cr=\r, csr=\E[%i%p1%d;%p2%dr,
+       cub1=^H, cud1=\n, cuf1=\E[C$<2/>,
+       cup=\E[%i%p1%d;%p2%dH$<5/>, cuu1=\E[A$<2/>,
+       ed=\E[J$<50/>, el=\E[K$<3/>, home=\E[H, ht=^I,
+       is2=\E[1;24r\E[24;1H, kbs=^H, kcub1=\EOD, kcud1=\EOB,
+       kcuf1=\EOC, kcuu1=\EOA, kf1=\EOP, kf2=\EOQ, kf3=\EOR,
+       kf4=\EOS, nel=\r\n, rc=\E8, rev=\E[7m$<2/>, ri=\EM$<5/>,
+       rmam=\E[?7h, rmkx=\E[?1l\E>, rmso=\E[m$<2/>,
+       rmul=\E[m$<2/>,
+       rs1=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h, sc=\E7,
+       sgr0=\E[m$<2/>, smam=\E[?7h, smkx=\E[?1h\E=,
+       smso=\E[7m$<2/>, smul=\E[4m$<2/>,
 
 # vt132 - like vt100 but slower and has ins/del line and such.
 # I'm told that <smir>/<rmir> are backwards in the terminal from the
-# manual and from the ANSI standard, this describes the actual 
-# terminal. I've never actually used a vt132 myself, so this 
+# manual and from the ANSI standard, this describes the actual
+# terminal. I've never actually used a vt132 myself, so this
 # is untested.
 #
-vt132|DEC vt132, 
-       xenl, 
-       dch1=\E[P$<7>, dl1=\E[M$<99>, il1=\E[L$<99>, ind=\n$<30>, 
-       ip=$<7>, rmir=\E[4h, smir=\E[4l, 
-       use=vt100, 
+vt132|DEC vt132,
+       xenl,
+       dch1=\E[P$<7>, dl1=\E[M$<99>, il1=\E[L$<99>, ind=\n$<30>,
+       ip=$<7>, rmir=\E[4h, smir=\E[4l, use=vt100,
 
-# vt220:
 # This vt220 description maps F5--F9 to the second block of function keys
 # at the top of the keyboard.  The "DO" key is used as F10 to avoid conflict
 # with the key marked (ESC) on the vt220.  See vt220d for an alternate mapping.
 # PF1--PF4 are used as F1--F4.
 #
-vt220|vt200|DEC VT220 in vt100 emulation mode, 
-       am, mir, xenl, xon, 
-       cols#80, lines#24, vt#3, 
-       acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~, 
-       bel=^G, blink=\E[5m$<2>, bold=\E[1m$<2>, civis=\E[?25l, 
-       clear=\E[H\E[2J$<50>, cnorm=\E[?25h, cr=^M, 
-       csr=\E[%i%p1%d;%p2%dr, cub1=^H, cud1=\E[B, cuf1=\E[C, 
-       cup=\E[%i%p1%d;%p2%dH$<10>, cuu1=\E[A, dch1=\E[P, 
-       dl1=\E[M, ed=\E[J$<50>, el=\E[K$<3>, home=\E[H, ht=^I, 
-       if=/usr/share/tabset/vt100, il1=\E[L, ind=\ED$<20/>, 
-       is2=\E[1;24r\E[24;1H, kbs=^H, kcub1=\E[D, kcud1=\E[B, 
-       kcuf1=\E[C, kcuu1=\E[A, kdch1=\E[3~, kend=\E[4~, kf1=\EOP, 
-       kf10=\E[29~, kf2=\EOQ, kf3=\EOR, kf4=\EOS, kf5=\E[17~, 
-       kf6=\E[18~, kf7=\E[19~, kf8=\E[20~, kf9=\E[21~, 
-       khome=\E[1~, kich1=\E[2~, knp=\E[6~, kpp=\E[5~, rc=\E8, 
-       rev=\E[7m$<2>, rf=/usr/share/tabset/vt100, 
-       ri=\EM$<14/>, rmacs=\E(B$<4>, rmam=\E[?7l, rmir=\E[4l, 
-       rmso=\E[27m, rmul=\E[24m, 
-       rs2=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h, sc=\E7, 
-       sgr=\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p4%t;5%;%?%p1%p3%|%t;7%;m%?%p9%t\E(0%e\E(B%;, 
-       sgr0=\E[m$<2>, smacs=\E(0$<2>, smam=\E[?7h, smir=\E[4h, 
-       smso=\E[7m, smul=\E[4m, 
-vt220-w|vt200-w|DEC vt220 in wide mode, 
-       cols#132, 
-       rs3=\E[?3h, use=vt220, 
+# added msgr -TD
+vt220-old|vt200-old|DEC VT220 in vt100 emulation mode,
+       OTbs, OTpt, am, mir, msgr, xenl, xon,
+       cols#80, lines#24, vt#3,
+       OTnl=\n,
+       acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
+       bel=^G, blink=\E[5m$<2>, bold=\E[1m$<2>, civis=\E[?25l,
+       clear=\E[H\E[2J$<50>, cnorm=\E[?25h, cr=\r,
+       csr=\E[%i%p1%d;%p2%dr, cub1=^H, cud1=\E[B, cuf1=\E[C,
+       cup=\E[%i%p1%d;%p2%dH$<10>, cuu1=\E[A, dch1=\E[P,
+       dl1=\E[M, ed=\E[J$<50>, el=\E[K$<3>, home=\E[H, ht=^I,
+       if=/usr/share/tabset/vt100, il1=\E[L, ind=\ED$<20/>,
+       is2=\E[1;24r\E[24;1H, kbs=^H, kcub1=\E[D, kcud1=\E[B,
+       kcuf1=\E[C, kcuu1=\E[A, kdch1=\E[3~, kend=\E[4~, kf1=\EOP,
+       kf10=\E[29~, kf2=\EOQ, kf3=\EOR, kf4=\EOS, kf5=\E[17~,
+       kf6=\E[18~, kf7=\E[19~, kf8=\E[20~, kf9=\E[21~,
+       khome=\E[1~, kich1=\E[2~, knp=\E[6~, kpp=\E[5~, rc=\E8,
+       rev=\E[7m$<2>, rf=/usr/share/tabset/vt100,
+       ri=\EM$<14/>, rmacs=\E(B$<4>, rmam=\E[?7l, rmir=\E[4l,
+       rmso=\E[27m, rmul=\E[24m,
+       rs2=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h, sc=\E7,
+       sgr=\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p4%t;5%;%?%p1%p3%|%t;7%;m%?
+           %p9%t\E(0%e\E(B%;$<2>,
+       sgr0=\E[m$<2>, smacs=\E(0$<2>, smam=\E[?7h, smir=\E[4h,
+       smso=\E[7m, smul=\E[4m,
+
+# A much better description of the VT200/220; used to be vt220-8
+# changed rmacs/smacs from shift-in/shift-out to vt200-old's explicit G0/G1
+# designation to accommodate bug in pcvt -TD
+#
+# Here's a picture of the VT220 editing keypad:
+#      +--------+--------+--------+
+#      | Find   | Insert | Remove |
+#      +--------+--------+--------+
+#      | Select | Prev   | Next   |
+#      +--------+--------+--------+
+vt220|vt200|dec vt220,
+       OTbs, am, mir, msgr, xenl, xon,
+       cols#80, it#8, lines#24, vt#3,
+       acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
+       bel=^G, blink=\E[5m, bold=\E[1m, clear=\E[H\E[J, cr=\r,
+       csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=^H,
+       cud=\E[%p1%dB, cud1=\n, 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,
+       ech=\E[%p1%dX, ed=\E[J, el=\E[K, el1=\E[1K, enacs=\E)0,
+       flash=\E[?5h$<200/>\E[?5l, home=\E[H, ht=^I, hts=\EH,
+       ich=\E[%p1%d@, if=/usr/share/tabset/vt100,
+       il=\E[%p1%dL, il1=\E[L, ind=\ED,
+       is2=\E[?7h\E[>\E[?1l\E F\E[?4l, kbs=^H, kcub1=\E[D,
+       kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, kdch1=\E[3~, kf1=\EOP,
+       kf10=\E[21~, kf11=\E[23~, kf12=\E[24~, kf13=\E[25~,
+       kf14=\E[26~, kf17=\E[31~, kf18=\E[32~, kf19=\E[33~,
+       kf2=\EOQ, kf20=\E[34~, kf3=\EOR, kf4=\EOS, kf6=\E[17~,
+       kf7=\E[18~, kf8=\E[19~, kf9=\E[20~, kfnd=\E[1~,
+       khlp=\E[28~, kich1=\E[2~, knp=\E[6~, kpp=\E[5~,
+       krdo=\E[29~, kslt=\E[4~, lf1=pf1, lf2=pf2, lf3=pf3, lf4=pf4,
+       nel=\EE, rc=\E8, rev=\E[7m, ri=\EM, rmacs=\E(B$<4>,
+       rmam=\E[?7l, rmir=\E[4l, rmso=\E[27m, rmul=\E[24m,
+       rs1=\E[?3l, sc=\E7,
+       sgr=\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p4%t;5%;%?%p1%p3%|%t;7%;m%?
+           %p9%t\E(0%e\E(B%;$<2>,
+       sgr0=\E[m\E(B, smacs=\E(0$<2>, smam=\E[?7h, smir=\E[4h,
+       smso=\E[7m, smul=\E[4m, tbc=\E[3g, use=ansi+pp,
+       use=ansi+enq,
+vt220-w|vt200-w|DEC vt220 in wide mode,
+       cols#132,
+       rs3=\E[?3h, use=vt220,
+vt220-8bit|vt220-8|vt200-8bit|vt200-8|dec vt220/200 in 8-bit mode,
+       OTbs, am, mc5i, mir, msgr, xenl, xon,
+       cols#80, it#8, lines#24, vt#3,
+       acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
+       bel=^G, blink=\2335m, bold=\2331m, clear=\233H\233J, cr=\r,
+       csr=\233%i%p1%d;%p2%dr, cub=\233%p1%dD, cub1=^H,
+       cud=\233%p1%dB, cud1=\n, cuf=\233%p1%dC, cuf1=\233C,
+       cup=\233%i%p1%d;%p2%dH, cuu=\233%p1%dA, cuu1=\233A,
+       dch=\233%p1%dP, dch1=\233P, dl=\233%p1%dM, dl1=\233M,
+       ech=\233%p1%dX, ed=\233J, el=\233K, el1=\2331K, enacs=\E)0,
+       flash=\233?5h$<200/>\233?5l, home=\233H, ht=^I, hts=\EH,
+       ich=\233%p1%d@, if=/usr/share/tabset/vt100,
+       il=\233%p1%dL, il1=\233L, ind=\ED,
+       is2=\233?7h\233>\233?1l\E F\233?4l, kbs=^H,
+       kcub1=\233D, kcud1=\233B, kcuf1=\233C, kcuu1=\233A,
+       kdch1=\2333~, kf1=\EOP, kf10=\23321~, kf11=\23323~,
+       kf12=\23324~, kf13=\23325~, kf14=\23326~, kf17=\23331~,
+       kf18=\23332~, kf19=\23333~, kf2=\EOQ, kf20=\23334~,
+       kf3=\EOR, kf4=\EOS, kf6=\23317~, kf7=\23318~, kf8=\23319~,
+       kf9=\23320~, kfnd=\2331~, khlp=\23328~, khome=\233H,
+       kich1=\2332~, knp=\2336~, kpp=\2335~, krdo=\23329~,
+       kslt=\2334~, lf1=pf1, lf2=pf2, lf3=pf3, lf4=pf4, mc0=\233i,
+       mc4=\2334i, mc5=\2335i, nel=\EE, rc=\E8, rev=\2337m, ri=\EM,
+       rmacs=\E(B, rmam=\233?7l, rmir=\2334l, rmso=\23327m,
+       rmul=\23324m, rs1=\233?3l, sc=\E7,
+       sgr=\2330%?%p6%t;1%;%?%p2%t;4%;%?%p4%t;5%;%?%p1%p3%|%t;7%;m
+           %?%p9%t\E(0%e\E(B%;$<2>,
+       sgr0=\2330m\E(B, smacs=\E(0, smam=\233?7h, smir=\2334h,
+       smso=\2337m, smul=\2334m, tbc=\2333g,
 
-#
 # vt220d:
 # This vt220 description regards F6--F10 as the second block of function keys
 # at the top of the keyboard.  This mapping follows the description given
 # in the VT220 Programmer Reference Manual and agrees with the labeling
 # on some terminals that emulate the vt220.  There is no support for an F5.
-# See vt220 for an alternate mapping. 
-#
-vt220d|DEC VT220 in vt100 mode with DEC function key labeling, 
-       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~, kf20=\E[34~, kf5@, kf6=\E[17~, 
-       kf7=\E[18~, kf8=\E[19~, kf9=\E[20~, 
-       use=vt220, 
-
-vt220-nam|v200-nam|VT220 in vt100 mode with no auto margins, 
-       am@, 
-       rs2=\E>\E[?3l\E[?4l\E[?5l\E[?7l\E[?8h, use=vt220, 
-
-# This is misnamed (see xterm-8bit for an example of 8-bit controls)
-vt220-8|dec vt220 8 bit terminal, 
-       am, mc5i, mir, msgr, xenl, xon, 
-       cols#80, it#8, lines#24, 
-       acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~, 
-       bel=^G, blink=\E[5m, bold=\E[1m, clear=\E[H\E[J, 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, 
-       ech=\E[%p1%dX, ed=\E[J, el=\E[K, el1=\E[1K, enacs=\E)0, 
-       flash=\E[?5h$<200/>\E[?5l, home=\E[H, ht=^I, hts=\EH, 
-       ich=\E[%p1%d@, if=/usr/share/tabset/vt100, 
-       il=\E[%p1%dL, il1=\E[L, ind=\ED, 
-       is2=\E[?7h\E[>\E[?1h\E F\E[?4l, kbs=^H, kcub1=\E[D, 
-       kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, kf1=\EOP, kf10=\E[21~, 
-       kf11=\E[23~, kf12=\E[24~, kf13=\E[25~, kf14=\E[26~, 
-       kf17=\E[31~, kf18=\E[32~, kf19=\E[33~, kf2=\EOQ, 
-       kf20=\E[34~, kf3=\EOR, kf4=\EOS, kf6=\E[17~, kf7=\E[18~, 
-       kf8=\E[19~, kf9=\E[20~, kfnd=\E[1~, khlp=\E[28~, 
-       khome=\E[H, kich1=\E[2~, knp=\E[6~, kpp=\E[5~, krdo=\E[29~, 
-       kslt=\E[4~, lf1=pf1, lf2=pf2, lf3=pf3, lf4=pf4, mc0=\E[i, 
-       mc4=\E[4i, mc5=\E[5i, nel=\EE, rc=\E8, rev=\E[7m, ri=\EM, 
-       rmacs=^O, rmam=\E[?7l, rmir=\E[4l, rmso=\E[27m, 
-       rmul=\E[24m, rs1=\E[?3l, sc=\E7, sgr0=\E[m, smacs=^N, 
-       smam=\E[?7h, smir=\E[4h, smso=\E[7m, smul=\E[4m, tbc=\E[3g, 
+# See vt220 for an alternate mapping.
+#
+vt220d|DEC VT220 in vt100 mode with DEC function key labeling,
+       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~, kf20=\E[34~, kf5@, kf6=\E[17~,
+       kf7=\E[18~, kf8=\E[19~, kf9=\E[20~, use=vt220-old,
+
+vt220-nam|v200-nam|VT220 in vt100 mode with no auto margins,
+       am@,
+       rs2=\E>\E[?3l\E[?4l\E[?5l\E[?7l\E[?8h, use=vt220,
 
 # vt220 termcap written Tue Oct 25 20:41:10 1988 by Alex Latzko
 # (not an official DEC entry!)
@@ -1713,35 +2614,37 @@ vt220-8|dec vt220 8 bit terminal,
 # it has a vt220 and will get fouled up coming out of emacs
 #
 # From: Alexander Latzko <latzko@marsenius.rutgers.edu>, 30 Dec 1996
-vt200-js|vt220-js|dec vt200 series with jump scroll, 
-       am, 
-       cols#80, 
-       bel=^G, clear=\E[H\E[J, cr=^M, csr=\E[%i%p1%d;%p2%dr, 
-       cub1=^H, cud1=^J, cup=\E[%i%p1%d;%p2%dH, cuu1=\E[A, 
-       dch1=\E[P, dl1=\E[M, ed=\E[J, el=\E[K, home=\E[H, ht=^I, 
-       il1=\E[L, ind=\ED, 
-       is2=\E[61"p\E[H\E[?3l\E[?4l\E[?1l\E[?5l\E[?6l\E[?7h\E[?8h\E[?25h\E>\E[m, 
-       kbs=^H, kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, 
-       kf1=\EOP, kf2=\EOQ, kf3=\EOR, kf4=\EOS, nel=^M\ED, 
-       rf=/usr/lib/tabset/vt100, ri=\EM, rmdc=, rmir=\E[4l, 
-       rmkx=\E[?1l\E>, rmso=\E[27m$<5/>, rmul=\E[24m, 
-       rs1=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h, smdc=, 
-       smir=\E[4h, smkx=\E[?1h\E=, smso=\E[7m$<5/>, smul=\E[4m, 
-# This was DEC's vt320.  Use the purpose-built one below instead 
+# (Added vt100 <rc>,<sc> to quiet a tic warning -- esr)
+# added msgr -TD
+vt200-js|vt220-js|dec vt200 series with jump scroll,
+       am, msgr,
+       cols#80,
+       bel=^G, clear=\E[H\E[J, cr=\r, csr=\E[%i%p1%d;%p2%dr,
+       cub1=^H, cud1=\n, cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH,
+       cuu1=\E[A, dch1=\E[P, dl1=\E[M, ed=\E[J, el=\E[K, home=\E[H,
+       ht=^I, il1=\E[L, ind=\ED,
+       is2=\E[61"p\E[H\E[?3l\E[?4l\E[?1h\E[?5l\E[?6l\E[?7h\E[?8h\E[
+           ?25h\E>\E[m,
+       kbs=^H, kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA,
+       kf1=\EOP, kf2=\EOQ, kf3=\EOR, kf4=\EOS, nel=\r\ED, rc=\E8,
+       rf=/usr/share/tabset/vt100, ri=\EM, rmdc=, rmir=\E[4l,
+       rmkx=\E[?1l\E>, rmso=\E[27m$<5/>, rmul=\E[24m,
+       rs1=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h, sc=\E7, smdc=,
+       smir=\E[4h, smkx=\E[?1h\E=, smso=\E[7m$<5/>, smul=\E[4m,
+
+# This was DEC's vt320.  Use the purpose-built one below instead
 #vt320|DEC VT320 in vt100 emulation mode,
 #      use=vt220,
 
-#
 # Use v320n for SCO's LYRIX.  Otherwise, use Adam Thompson's vt320-nam.
 #
-vt320nam|v320n|DEC VT320 in vt100 emul. mode with NO AUTO WRAP mode, 
-       am@, 
-       rs2=\E>\E[?3l\E[?4l\E[?5l\E[?7l\E[?8h, use=vt220, 
+vt320nam|v320n|DEC VT320 in vt100 emul. mode with NO AUTO WRAP mode,
+       am@,
+       rs2=\E>\E[?3l\E[?4l\E[?5l\E[?7l\E[?8h, use=vt220,
 
-# These entries are not DEC's official ones, they were purpose-built for the 
+# These entries are not DEC's official ones, they were purpose-built for the
 # VT320.  Here are the designer's notes:
-# <kel> is end on a PC kbd.  Actually 'select' on a VT.  Mapped to 
+# <kel> is end on a PC kbd.  Actually 'select' on a VT.  Mapped to
 # 'Erase to End of Field'... since nothing seems to use 'end' anyways...
 # khome is Home on a PC kbd.  Actually 'FIND' on a VT.
 # Things that use <knxt> usually use tab anyways... and things that don't use
@@ -1750,54 +2653,51 @@ vt320nam|v320n|DEC VT320 in vt100 emul. mode with NO AUTO WRAP mode,
 # I left out <sgr> because of its RIDICULOUS complexity,
 # and the resulting fact that it causes the termcap translation of the entry
 # to SMASH the 1k-barrier...
-# From: Adam Thompson <thompson@xanth.magic.mb.ca> Sept 10 1995
-# (vt320: uncommented <fsl> --esr) 
-vt320|vt300|dec vt320 7 bit terminal, 
-       am, eslok, hs, mir, msgr, xenl, 
-       cols#80, lines#24, wsl#80, 
-       acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~, 
-       bel=^G, blink=\E[5m, bold=\E[1m, civis=\E[?25l, 
-       clear=\E[H\E[2J, cnorm=\E[?25h, 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, 
-       ech=\E[%p1%dX, ed=\E[J, el=\E[K, el1=\E[1K, fsl=\E[0$}, 
-       home=\E[H, ht=^I, hts=\EH, ich=\E[%p1%d@, il=\E[%p1%dL, 
-       il1=\E[L, ind=\ED, 
-       is2=\E>\E[?3l\E[?4l\E[5?l\E[?7h\E[?8h\E[1;24r\E[24;1H, 
-       ka1=\EOw, ka3=\EOy, kb2=\EOu, kbs=\177, kc1=\EOq, kc3=\EOs, 
-       kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, 
-       kdch1=\E[3~, kel=\E[4~, kent=\EOM, kf1=\EOP, 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=\EOQ, kf20=\E[34~, kf3=\EOR, kf4=\EOS, 
-       kf6=\E[17~, kf7=\E[18~, kf8=\E[19~, kf9=\E[20~, 
-       khome=\E[1~, kich1=\E[2~, knp=\E[6~, knxt=^I, kpp=\E[5~, 
-       kprv=\E[Z, kslt=\E[4~, mc0=\E[i, mc4=\E[?4i, mc5=\E[?5i, 
-       nel=\EE, rc=\E8, rev=\E[7m, rf=/usr/share/tabset/vt300, 
-       ri=\EM, rmacs=\E(B, rmam=\E[?7l, rmir=\E[4l, 
-       rmkx=\E[?1l\E>, rmso=\E[m, rmul=\E[m, 
-       rs2=\E>\E[?3l\E[?4l\E[5?l\E[?7h\E[?8h\E[1;24r\E[24;1H, 
-       sc=\E7, sgr0=\E[m, smacs=\E(0, smam=\E[?7h, smir=\E[4h, 
-       smkx=\E[?1h\E=, smso=\E[7m, smul=\E[4m, tbc=\E[3g, 
-       tsl=\E[1$}\E[H\E[K, 
-vt320-nam|vt300-nam|dec vt320 7 bit terminal with no am to make SAS happy, 
-       am@, 
-       is2=\E>\E[?3l\E[?4l\E[5?l\E[?7l\E[?8h\E[1;24r\E[24;1H, 
-       rs2=\E>\E[?3l\E[?4l\E[5?l\E[?7l\E[?8h\E[1;24r\E[24;1H, 
-       use=vt320, 
+# From: Adam Thompson <athompso@pangea.ca> Sept 10 1995
+# (vt320: uncommented <fsl> --esr)
+vt320|vt300|dec vt320 7 bit terminal,
+       am, hs, mir, msgr, xenl,
+       cols#80, lines#24, wsl#80,
+       acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
+       bel=^G, blink=\E[5m, bold=\E[1m, civis=\E[?25l,
+       clear=\E[H\E[2J, cnorm=\E[?25h, cr=\r,
+       csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=^H,
+       cud=\E[%p1%dB, cud1=\n, 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,
+       ech=\E[%p1%dX, ed=\E[J, el=\E[K, el1=\E[1K, home=\E[H, ht=^I,
+       hts=\EH, ich=\E[%p1%d@, il=\E[%p1%dL, il1=\E[L, ind=\ED,
+       is2=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h\E[1;24r\E[24;1H,
+       kbs=^?, kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA,
+       kdch1=\E[3~, kel=\E[4~, 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~,
+       kf20=\E[34~, kf6=\E[17~, kf7=\E[18~, kf8=\E[19~,
+       kf9=\E[20~, khome=\E[1~, kich1=\E[2~, knp=\E[6~, knxt=^I,
+       kpp=\E[5~, kprv=\E[Z, kslt=\E[4~, nel=\EE, rc=\E8, rev=\E[7m,
+       rf=/usr/share/tabset/vt300, ri=\EM, rmacs=\E(B,
+       rmam=\E[?7l, rmir=\E[4l, rmkx=\E[?1l\E>, rmso=\E[m,
+       rmul=\E[m,
+       rs2=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h\E[1;24r\E[24;1H,
+       sc=\E7,
+       sgr=\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p4%t;5%;%?%p1%p3%|%t;7%;m%?
+           %p9%t\E(0%e\E(B%;$<2>,
+       sgr0=\E[m\E(B, smacs=\E(0, smam=\E[?7h, smir=\E[4h,
+       smkx=\E[?1h\E=, smso=\E[7m, smul=\E[4m, tbc=\E[3g,
+       use=dec+pp, use=vt220+keypad, use=dec+sl, use=ansi+enq,
+vt320-nam|vt300-nam|dec vt320 7 bit terminal with no am to make SAS happy,
+       am@,
+       is2=\E>\E[?3l\E[?4l\E[?5l\E[?7l\E[?8h\E[1;24r\E[24;1H,
+       rs2=\E>\E[?3l\E[?4l\E[?5l\E[?7l\E[?8h\E[1;24r\E[24;1H, use=vt320,
 # We have to init 132-col mode, not 80-col mode.
-vt320-w|vt300-w|dec vt320 wide 7 bit terminal, 
-       cols#132, wsl#132, 
-       is2=\E>\E[?3h\E[?4l\E[5?l\E[?7h\E[?8h\E[1;24r\E[24;1H, 
-       rs2=\E>\E[?3h\E[?4l\E[5?l\E[?7h\E[?8h\E[1;24r\E[24;1H, 
-       use=vt320, 
-vt320-w-nam|vt300-w-nam|dec vt320 wide 7 bit terminal with no am, 
-       am@, 
-       is2=\E>\E[?3h\E[?4l\E[5?l\E[?7l\E[?8h\E[1;24r\E[24;1H, 
-       rs2=\E>\E[?3h\E[?4l\E[5?l\E[?7l\E[?8h\E[1;24r\E[24;1H, 
-       use=vt320-w, 
+vt320-w|vt300-w|dec vt320 wide 7 bit terminal,
+       cols#132, wsl#132,
+       is2=\E>\E[?3h\E[?4l\E[?5l\E[?7h\E[?8h\E[1;24r\E[24;1H,
+       rs2=\E>\E[?3h\E[?4l\E[?5l\E[?7h\E[?8h\E[1;24r\E[24;1H, use=vt320,
+vt320-w-nam|vt300-w-nam|dec vt320 wide 7 bit terminal with no am,
+       am@,
+       is2=\E>\E[?3h\E[?4l\E[?5l\E[?7l\E[?8h\E[1;24r\E[24;1H,
+       rs2=\E>\E[?3h\E[?4l\E[?5l\E[?7l\E[?8h\E[1;24r\E[24;1H, use=vt320-w,
 
 # VT330 and VT340 -- These are ReGIS and SIXEL graphics terminals
 #   which are pretty much a superset of the VT320.  They have the
@@ -1813,40 +2713,48 @@ vt320-w-nam|vt300-w-nam|dec vt320 wide 7 bit terminal with no am,
 # Emacs v18 terminal modes to deal with the cursor keys in that the arrow
 # keys were switched into application mode at the same time the numeric pad
 # is switched into application mode.  This changes the definitions of the
-# arrow keys.  Emacs v19 is smarter and mines its keys directly out of 
+# arrow keys.  Emacs v19 is smarter and mines its keys directly out of
 # your termcap or terminfo entry,
 #
 # From: Daniel Glasser <dag@persoft.persoft.com>, 13 Oct 1993
 # (vt340: string capability "sb=\E[M" corrected to "sr";
 # also, added <rmam>/<smam> based on the init string -- esr)
-vt340|dec-vt340|vt330|dec-vt330|dec vt340 graphics terminal with 24 line page, 
-       am, eslok, hs, mir, msgr, xenl, xon, 
-       cols#80, it#8, lines#24, vt#3, 
-       acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~, 
-       blink=\E[5m, bold=\E[1m, civis=\E[?25l, clear=\E[H\E[J, 
-       cnorm=\E[?25h, 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, cvvis=\E[?25h, dch=\E[%p1%dP, 
-       dch1=\E[P, dl=\E[%p1%dM, dl1=\E[M, 
-       dsl=\E[2$~\r\E[1$}\E[K\E[$}, ed=\E[J, el=\E[K, 
-       flash=\E[?5h\E[?5l$<200/>, fsl=\E[$}, home=\E[H, ht=^I, 
-       hts=\EH, ich=\E[%p1%d@, il=\E[%p1%dL, il1=\E[L, ind=\ED, 
-       is2=\E<\E F\E>\E[?1h\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h\E[1;24r\E[24;1H, 
-       kbs=^H, kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, 
-       kf1=\EOP, kf2=\EOQ, kf3=\EOR, kf4=\EOS, kf6=\E[17~, 
-       kf7=\E[18~, kf8=\E[19~, kf9=\E[20~, lf1=pf1, lf2=pf2, 
-       lf3=pf3, lf4=pf4, nel=^M\ED, rc=\E8, rev=\E[7m, 
-       rf=/usr/share/tabset/vt300, ri=\EM, rmacs=^O, 
-       rmam=\E[?7l, rmir=\E[4l, rmkx=\E[?1l\E>, rmso=\E[27m, 
-       rmul=\E[24m, rs1=\E[?3l, sc=\E7, sgr0=\E[m, smacs=^N, 
-       smam=\E[?7h, smir=\E[4h, smkx=\E[?1h\E=, smso=\E[7m, 
-       smul=\E[4m, tbc=\E[3g, tsl=\E[2$~\E[1$}\E[1;%dH, 
+vt340|dec-vt340|vt330|dec-vt330|dec vt340 graphics terminal with 24 line page,
+       am, eslok, hs, mir, msgr, xenl, xon,
+       cols#80, it#8, lines#24, vt#3,
+       acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
+       blink=\E[5m, bold=\E[1m, civis=\E[?25l, clear=\E[H\E[J,
+       cnorm=\E[?25h, cr=\r, csr=\E[%i%p1%d;%p2%dr,
+       cub=\E[%p1%dD, cub1=^H, cud=\E[%p1%dB, cud1=\n,
+       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, dsl=\E[2$~\r\E[1$}\E[K\E[$},
+       ed=\E[J, el=\E[K, flash=\E[?5h$<200/>\E[?5l, fsl=\E[$},
+       home=\E[H, ht=^I, hts=\EH, ich=\E[%p1%d@, il=\E[%p1%dL,
+       il1=\E[L, ind=\ED,
+       is2=\E<\E\sF\E>\E[?1h\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h\E[1;24r
+           \E[24;1H,
+       kbs=^H, kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA,
+       kf1=\EOP, kf2=\EOQ, kf3=\EOR, kf4=\EOS, kf6=\E[17~,
+       kf7=\E[18~, kf8=\E[19~, kf9=\E[20~, lf1=pf1, lf2=pf2,
+       lf3=pf3, lf4=pf4, nel=\r\ED, rc=\E8, rev=\E[7m,
+       rf=/usr/share/tabset/vt300, ri=\EM, rmacs=\E(B,
+       rmam=\E[?7l, rmir=\E[4l, rmkx=\E[?1l\E>, rmso=\E[27m,
+       rmul=\E[24m, rs1=\E[?3l, sc=\E7,
+       sgr=\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p4%t;5%;%?%p1%p3%|%t;7%;m%?
+           %p9%t\E(0%e\E(B%;$<2>,
+       sgr0=\E[m\E(B, smacs=\E(0, smam=\E[?7h, smir=\E[4h,
+       smkx=\E[?1h\E=, smso=\E[7m, smul=\E[4m, tbc=\E[3g,
+       tsl=\E[2$~\E[1$}\E[1;%dH,
+
+# Left/right margins are supported in xterm since patch #279 (2012/05/10)
+vt420+lrmm|VT420 left/right margins,
+       mgc=\E[?69l, smglr=\E[?69h\E[%i%p1%d;%p2%ds,
 
 # DEC doesn't supply a vt400 description, so we add Daniel Glasser's
 # (originally written with vt420 as its primary name, and usable for it).
-# 
-# VT400/420 -- This terminal is a superset of the vt320.  It adds the multiple 
+#
+# VT400/420 -- This terminal is a superset of the vt320.  It adds the multiple
 #    text pages and long text pages with selectable length of the vt340, along
 #    with left and right margins, rectangular area text copy, fill, and erase
 #    operations, selected region character attribute change operations,
@@ -1858,122 +2766,132 @@ vt340|dec-vt340|vt330|dec-vt330|dec vt340 graphics terminal with 24 line page,
 # Emacs v18 terminal modes to deal with the cursor keys in that the arrow
 # keys were switched into application mode at the same time the numeric pad
 # is switched into application mode.  This changes the definitions of the
-# arrow keys.  Emacs v19 is smarter and mines its keys directly out of 
+# arrow keys.  Emacs v19 is smarter and mines its keys directly out of
 # your termcap entry,
 #
 # From: Daniel Glasser <dag@persoft.persoft.com>, 13 Oct 1993
 # (vt400: string capability ":sb=\E[M:" corrected to ":sr=\E[M:";
 # also, added <rmam>/<smam> based on the init string -- esr)
-vt400|vt400-24|dec-vt400|dec vt400 24x80 column autowrap, 
-       am, eslok, hs, mir, msgr, xenl, xon, 
-       cols#80, it#8, lines#24, vt#3, 
-       acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~, 
-       blink=\E[5m, bold=\E[1m, civis=\E[?25l, 
-       clear=\E[H\E[J$<10/>, cnorm=\E[?25h, 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, 
-       cvvis=\E[?25h, dch=\E[%p1%dP, dch1=\E[P, dl=\E[%p1%dM, 
-       dl1=\E[M, dsl=\E[2$~\r\E[1$}\E[K\E[$}, ed=\E[J$<10/>, 
-       el=\E[K$<4/>, flash=\E[?5h\E[?5l$<200/>, fsl=\E[$}, 
-       home=\E[H, ht=^I, hts=\EH, ich=\E[%p1%d@, ich1=\E[@, 
-       il=\E[%p1%dL, il1=\E[L, ind=\ED, 
-       is2=\E<\E F\E>\E[?1h\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h\E[1;24r\E[24;1H, 
-       kbs=^H, kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, 
-       kf1=\EOP, kf2=\EOQ, kf3=\EOR, kf4=\EOS, kf6=\E[17~, 
-       kf7=\E[18~, kf8=\E[19~, kf9=\E[20~, lf1=pf1, lf2=pf2, 
-       lf3=pf3, lf4=pf4, nel=^M\ED, rc=\E8, rev=\E[7m, 
-       rf=/usr/share/tabset/vt300, ri=\EM, rmacs=^O, 
-       rmam=\E[?7l, rmir=\E[4l, rmkx=\E[?1l\E>, rmso=\E[27m, 
-       rmul=\E[24m, rs1=\E<\E[?3l\E[!p\E[?7h, sc=\E7, sgr0=\E[m, 
-       smacs=^N, smam=\E[?7h, smir=\E[4h, smkx=\E[?1h\E=, 
-       smso=\E[7m, smul=\E[4m, tbc=\E[3g, 
-       tsl=\E[2$~\E[1$}\E[1;%dH, 
+vt400|vt400-24|dec-vt400|dec vt400 24x80 column autowrap,
+       am, eslok, hs, mir, msgr, xenl, xon,
+       cols#80, it#8, lines#24, vt#3,
+       acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
+       blink=\E[5m, bold=\E[1m, civis=\E[?25l,
+       clear=\E[H\E[J$<10/>, cnorm=\E[?25h, cr=\r,
+       csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=^H,
+       cud=\E[%p1%dB, cud1=\n, 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,
+       dsl=\E[2$~\r\E[1$}\E[K\E[$}, ed=\E[J$<10/>,
+       el=\E[K$<4/>, flash=\E[?5h$<200/>\E[?5l, fsl=\E[$},
+       home=\E[H, ht=^I, hts=\EH, ich=\E[%p1%d@, ich1=\E[@,
+       il=\E[%p1%dL, il1=\E[L, ind=\ED,
+       is2=\E<\E\sF\E>\E[?1h\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h\E[1;24r
+           \E[24;1H,
+       kbs=^H, kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA,
+       kf1=\EOP, kf2=\EOQ, kf3=\EOR, kf4=\EOS, kf6=\E[17~,
+       kf7=\E[18~, kf8=\E[19~, kf9=\E[20~, lf1=pf1, lf2=pf2,
+       lf3=pf3, lf4=pf4, nel=\r\ED, rc=\E8, rev=\E[7m,
+       rf=/usr/share/tabset/vt300, ri=\EM, rmacs=\E(B,
+       rmam=\E[?7l, rmir=\E[4l, rmkx=\E[?1l\E>, rmso=\E[27m,
+       rmul=\E[24m, rs1=\E<\E[?3l\E[!p\E[?7h, sc=\E7,
+       sgr=\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p4%t;5%;%?%p1%p3%|%t;7%;m%?
+           %p9%t\E(0%e\E(B%;$<2>,
+       sgr0=\E[m\E(B, smacs=\E(0, smam=\E[?7h, smir=\E[4h,
+       smkx=\E[?1h\E=, smso=\E[7m, smul=\E[4m, tbc=\E[3g,
+       tsl=\E[2$~\E[1$}\E[1;%dH, use=dec+sl,
 
 # (vt420: I removed <kf0>, it collided with <kf10>.  I also restored
 # a missing <sc> -- esr)
-vt420|DEC VT420, 
-       am, mir, xenl, xon, 
-       cols#80, lines#24, vt#3, 
-       acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~, 
-       bel=^G, blink=\E[5m$<2>, bold=\E[1m$<2>, 
-       clear=\E[H\E[2J$<50>, cr=^M, csr=\E[%i%p1%d;%p2%dr, 
-       cub1=^H, cud1=\E[B, cuf1=\E[C, 
-       cup=\E[%i%p1%d;%p2%dH$<10>, cuu1=\E[A, dch1=\E[P, 
-       dl1=\E[M, ed=\E[J$<50>, el=\E[K$<3>, home=\E[H, ht=^I, 
-       if=/usr/share/tabset/vt300, il1=\E[L, ind=\ED, 
-       is2=\E[1;24r\E[24;1H, is3=\E[?67h\E[64;1"p, kbs=^H, 
-       kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, 
-       kdch1=\E[3~, kf1=\EOP, kf10=\E[29~, kf2=\EOQ, kf3=\EOR, 
-       kf4=\EOS, kf5=\E[17~, kf6=\E[18~, kf7=\E[19~, kf8=\E[20~, 
-       kf9=\E[21~, kfnd=\E[1~, kich1=\E[2~, knp=\E[6~, kpp=\E[5~, 
-       kslt=\E[4~, rc=\E8, rev=\E[7m$<2>, 
-       rf=/usr/share/tabset/vt300, ri=\EM, rmacs=\E(B$<4>, 
-       rmam=\E[?7l, rmir=\E[4l, rmkx=\E>, 
-       rmsc=\E[?0;0r\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h, 
-       rmso=\E[m, rmul=\E[m, rs3=\E[?67h\E[64;1"p, sc=\E7, 
-       sgr=\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p4%t;5%;%?%p1%p3%|%t;7%;m%?%p9%t\E(0%e\E(B%;, 
-       sgr0=\E[m$<2>, smacs=\E(0$<2>, smam=\E[?7h, smir=\E[4h, 
-       smkx=\E=, smso=\E[7m, smul=\E[4m, 
+# add msgr and other capabilities from vt220 -TD
+vt420|DEC VT420,
+       am, mir, msgr, xenl, xon,
+       cols#80, it#8, lines#24, vt#3,
+       acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
+       bel=^G, blink=\E[5m$<2>, bold=\E[1m$<2>, civis=\E[?25l,
+       clear=\E[H\E[2J$<50>, cnorm=\E[?25h, cr=\r,
+       csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=^H,
+       cud=\E[%p1%dB, cud1=\n, cuf=\E[%p1%dC, cuf1=\E[C,
+       cup=\E[%i%p1%d;%p2%dH$<10>, cuu=\E[%p1%dA, cuu1=\E[A,
+       dch=\E[%p1%dP, dch1=\E[P, dl=\E[%p1%dM, dl1=\E[M,
+       ech=\E[%p1%dX, ed=\E[J$<50>, el=\E[K$<3>, el1=\E[1K,
+       enacs=\E)0, flash=\E[?5h$<200/>\E[?5l, home=\E[H, ht=^I,
+       hts=\EH, ich=\E[%p1%d@, if=/usr/share/tabset/vt300,
+       il=\E[%p1%dL, il1=\E[L, ind=\ED, is2=\E[1;24r\E[24;1H,
+       is3=\E[?67h\E[64;1"p, kbs=^H, kcub1=\E[D, kcud1=\E[B,
+       kcuf1=\E[C, kcuu1=\E[A, kdch1=\E[3~, kf1=\EOP, kf10=\E[29~,
+       kf2=\EOQ, kf3=\EOR, kf4=\EOS, kf5=\E[17~, kf6=\E[18~,
+       kf7=\E[19~, kf8=\E[20~, kf9=\E[21~, kfnd=\E[1~,
+       kich1=\E[2~, knp=\E[6~, kpp=\E[5~, kslt=\E[4~, nel=\EE,
+       rc=\E8, rev=\E[7m$<2>, rf=/usr/share/tabset/vt300,
+       ri=\EM, rmacs=\E(B$<4>, rmam=\E[?7l, rmir=\E[4l, rmkx=\E>,
+       rmsc=\E[?0;0r\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h,
+       rmso=\E[27m, rmul=\E[24m, rs3=\E[?67h\E[64;1"p, sc=\E7,
+       sgr=\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p4%t;5%;%?%p1%p3%|%t;7%;m%?
+           %p9%t\E(0%e\E(B%;$<2>,
+       sgr0=\E[m\E(B$<2>, smacs=\E(0$<2>, smam=\E[?7h,
+       smir=\E[4h, smkx=\E=, smso=\E[7m, smul=\E[4m, tbc=\E[3g,
+       use=ansi+pp, use=dec+sl, use=ansi+enq,
 
-#
 # DEC VT220 and up support DECUDK (user-defined keys).  DECUDK (i.e., pfx)
 # takes two parameters, the key and the string.  Translating the key is
 # straightforward (keys 1-5 are not defined on real terminals, though some
 # emulators define these):
 #
 #               if (key < 16) then  value = key;
-#               else if (key < 21) then value = key + 1; 
+#               else if (key < 21) then value = key + 1;
 #               else if (key < 25) then value = key + 2;
 #               else if (key < 27) then value = key + 3;
 #               else if (key < 30) then value = key + 4;
 #               else value = key + 5;
 #
-# The string must be the hexadecimal equivalent, e.g., "5052494E" for "PRINT". 
+# The string must be the hexadecimal equivalent, e.g., "5052494E" for "PRINT".
 # There's no provision in terminfo for emitting a string in this format, so the
 # application has to know it.
 #
-vt420pc|DEC VT420 w/PC keyboard, 
-       kdch1=\177, kend=\E[4~, kf1=\E[11~, kf10=\E[21~, 
-       kf11=\E[23~, kf12=\E[24~, kf13=\E[11;2~, kf14=\E[12;2~, 
-       kf15=\E[13;2~, kf16=\E[14;2~, kf17=\E[15;2~, 
-       kf18=\E[17;2~, kf19=\E[18;2~, kf2=\E[12~, kf20=\E[19;2~, 
-       kf21=\E[20;2~, kf22=\E[21;2~, kf23=\E[23;2~, 
-       kf24=\E[24;2~, kf25=\E[23~, kf26=\E[24~, kf27=\E[25~, 
-       kf28=\E[26~, kf29=\E[28~, kf3=\E[13~, kf30=\E[29~, 
-       kf31=\E[31~, kf32=\E[32~, kf33=\E[33~, kf34=\E[34~, 
-       kf35=\E[35~, kf36=\E[36~, kf37=\E[23;2~, kf38=\E[24;2~, 
-       kf39=\E[25;2~, kf4=\E[14~, kf40=\E[26;2~, kf41=\E[28;2~, 
-       kf42=\E[29;2~, kf43=\E[31;2~, kf44=\E[32;2~, 
-       kf45=\E[33;2~, kf46=\E[34;2~, kf47=\E[35;2~, 
-       kf48=\E[36;2~, kf5=\E[15~, kf6=\E[17~, kf7=\E[18~, 
-       kf8=\E[19~, kf9=\E[20~, khome=\E[H, 
-       pctrm=USR_TERM\:vt420pcdos\:, 
-       pfx=\EP1;1|%?%{16}%p1%>%t%{0}%e%{21}%p1%>%t%{1}%e%{25}%p1%>%t%{2}%e%{27}%p1%>%t%{3}%e%{30}%p1%>%t%{4}%e%{5}%;%p1%+%d/%p2%s\E\\, use=vt420, 
-
-vt420pcdos|DEC VT420 w/PC for DOS Merge, 
-       lines#25, 
-       dispc=%?%p2%{19}%=%t\E\023\021%e%p2%{32}%<%t\E%p2%c%e%p2%{127}%=%t\E\177%e%p2%c%;, 
-       pctrm@, 
-       rmsc=\E[?0;0r\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h, sgr@, 
-       sgr0=\E[m, smsc=\E[?1;2r\E[34h, 
-       use=vt420pc, 
-
-vt420f|DEC VT420 with VT kbd; VT400 mode; F1-F5 used as Fkeys, 
-       kdch1=\177, 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~, 
-       khome=\E[H, lf1=\EOP, lf2=\EOQ, lf3=\EOR, lf4=\EOS, 
-       use=vt420, 
-
-vt510|DEC VT510, 
-       use=vt420, 
-vt510pc|DEC VT510 w/PC keyboard, 
-       use=vt420pc, 
-vt510pcdos|DEC VT510 w/PC for DOS Merge, 
-       use=vt420pcdos, 
+vt420pc|DEC VT420 w/PC keyboard,
+       kdch1=^?, kend=\E[4~, kf1=\E[11~, kf10=\E[21~, kf11=\E[23~,
+       kf12=\E[24~, kf13=\E[11;2~, kf14=\E[12;2~, kf15=\E[13;2~,
+       kf16=\E[14;2~, kf17=\E[15;2~, kf18=\E[17;2~,
+       kf19=\E[18;2~, kf2=\E[12~, kf20=\E[19;2~, kf21=\E[20;2~,
+       kf22=\E[21;2~, kf23=\E[23;2~, kf24=\E[24;2~, kf25=\E[23~,
+       kf26=\E[24~, kf27=\E[25~, kf28=\E[26~, kf29=\E[28~,
+       kf3=\E[13~, kf30=\E[29~, kf31=\E[31~, kf32=\E[32~,
+       kf33=\E[33~, kf34=\E[34~, kf35=\E[35~, kf36=\E[36~,
+       kf37=\E[23;2~, kf38=\E[24;2~, kf39=\E[25;2~, kf4=\E[14~,
+       kf40=\E[26;2~, kf41=\E[28;2~, kf42=\E[29;2~,
+       kf43=\E[31;2~, kf44=\E[32;2~, kf45=\E[33;2~,
+       kf46=\E[34;2~, kf47=\E[35;2~, kf48=\E[36;2~, kf5=\E[15~,
+       kf6=\E[17~, kf7=\E[18~, kf8=\E[19~, kf9=\E[20~, khome=\E[H,
+       pctrm=USR_TERM\:vt420pcdos\:,
+       pfx=\EP1;1|%?%{16}%p1%>%t%{0}%e%{21}%p1%>%t%{1}%e%{25}%p1%>
+           %t%{2}%e%{27}%p1%>%t%{3}%e%{30}%p1%>%t%{4}%e%{5}%;%p1%+
+           %d/%p2%s\E\\,
+       use=vt420,
+
+vt420pcdos|DEC VT420 w/PC for DOS Merge,
+       lines#25,
+       dispc=%?%p1%{19}%=%t\E\023\021%e%p1%{32}%<%t\E%p1%c%e%p1
+             %{127}%=%t\E\177%e%p1%c%;,
+       pctrm@,
+       rmsc=\E[?0;0r\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h, sgr@,
+       sgr0=\E[m, smsc=\E[?1;2r\E[34h, use=vt420pc,
+
+vt420f|DEC VT420 with VT kbd; VT400 mode; F1-F5 used as Fkeys,
+       kdch1=^?, 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~,
+       khome=\E[H, lf1=\EOP, lf2=\EOQ, lf3=\EOR, lf4=\EOS,
+       use=vt420,
+
+vt510|DEC VT510,
+       use=vt420,
+vt510pc|DEC VT510 w/PC keyboard,
+       use=vt420pc,
+vt510pcdos|DEC VT510 w/PC for DOS Merge,
+       use=vt420pcdos,
 
 # VT520/VT525
 #
@@ -1988,72 +2906,35 @@ vt510pcdos|DEC VT510 w/PC for DOS Merge,
 # terminal mode is being used.  If Set-Up has been disabled or
 # assigned to an unknown key, Set-Up may be entered by pressing
 # [F3] as the first key after power up, regardless of keyboard type.
-# (vt520: I added <rmam>/<smam> based on the init string, also <sc> -- esr)
-vt520|DEC VT520, 
-       am, mir, xenl, xon, 
-       cols#80, lines#24, vt#3, 
-       acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~, 
-       bel=^G, blink=\E[5m$<2>, bold=\E[1m$<2>, 
-       clear=\E[H\E[2J$<50>, cr=^M, csr=\E[%i%p1%d;%p2%dr, 
-       cub1=^H, cud1=\E[B, cuf1=\E[C, 
-       cup=\E[%i%p1%d;%p2%dH$<10>, cuu1=\E[A, dch1=\E[P, 
-       dl1=\E[M, ed=\E[J$<50>, el=\E[K$<3>, home=\E[H, ht=^I, 
-       if=/usr/share/tabset/vt300, il1=\E[L, ind=\ED, 
-       is2=\E[1;24r\E[24;1H, is3=\E[?67h\E[64;1"p, kbs=^H, 
-       kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, 
-       kdch1=\E[3~, kf0=\E[29~, kf1=\EOP, kf10=\E[29~, kf2=\EOQ, 
-       kf3=\EOR, kf4=\EOS, kf5=\E[17~, kf6=\E[18~, kf7=\E[19~, 
-       kf8=\E[20~, kf9=\E[21~, kfnd=\E[1~, kich1=\E[2~, knp=\E[6~, 
-       kpp=\E[5~, kslt=\E[4~, 
-       pfx=\EP1;1|%?%{16}%p1%>%t%{0}%e%{21}%p1%>%t%{1}%e%{25}%p1%>%t%{2}%e%{27}%p1%>%t%{3}%e%{30}%p1%>%t%{4}%e%{5}%;%p1%+%d/%p2%s\E\\, 
-       rc=\E8, rev=\E[7m$<2>, rf=/usr/share/tabset/vt300, 
-       ri=\EM, rmacs=\E(B$<4>, rmam=\E[?7l, rmir=\E[4l, 
-       rmsc=\E[?0;0r\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h, 
-       rmso=\E[m, rmul=\E[m, rs3=\E[?67h\E[64;1"p, sc=\E7, 
-       sgr=\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p4%t;5%;%?%p1%p3%|%t;7%;m%?%p9%t\E(0%e\E(B%;, 
-       sgr0=\E[m$<2>, smacs=\E(0$<2>, smam=\E[?7h, smir=\E[4h, 
-       smso=\E[7m, smul=\E[4m, 
-
-# (vt525: I added <rmam>/<smam> based on the init string;
-# removed <rmso>=\E[m, <rmul>=\E[m, added <sc> -- esr)
-vt525|DEC VT525, 
-       am, mir, xenl, xon, 
-       cols#80, lines#24, vt#3, 
-       acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~, 
-       bel=^G, blink=\E[5m$<2>, bold=\E[1m$<2>, 
-       clear=\E[H\E[2J$<50>, cr=^M, csr=\E[%i%p1%d;%p2%dr, 
-       cub1=^H, cud1=\E[B, cuf1=\E[C, 
-       cup=\E[%i%p1%d;%p2%dH$<10>, cuu1=\E[A, dch1=\E[P, 
-       dl1=\E[M, ed=\E[J$<50>, el=\E[K$<3>, home=\E[H, ht=^I, 
-       if=/usr/share/tabset/vt300, il1=\E[L, ind=\ED, 
-       is2=\E[1;24r\E[24;1H, is3=\E[?67h\E[64;1"p, kbs=^H, 
-       kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, 
-       kdch1=\E[3~, kf0=\E[29~, kf1=\EOP, kf10=\E[29~, kf2=\EOQ, 
-       kf3=\EOR, kf4=\EOS, kf5=\E[17~, kf6=\E[18~, kf7=\E[19~, 
-       kf8=\E[20~, kf9=\E[21~, kfnd=\E[1~, kich1=\E[2~, knp=\E[6~, 
-       kpp=\E[5~, kslt=\E[4~, 
-       pfx=\EP1;1|%?%{16}%p1%>%t%{0}%e%{21}%p1%>%t%{1}%e%{25}%p1%>%t%{2}%e%{27}%p1%>%t%{3}%e%{30}%p1%>%t%{4}%e%{5}%;%p1%+%d/%p2%s\E\\, 
-       rc=\E8, rev=\E[7m$<2>, rf=/usr/share/tabset/vt300, 
-       ri=\EM, rmacs=\E(B$<4>, rmam=\E[?7l, rmir=\E[4l, 
-       rmsc=\E[?0;0r\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h, 
-       rmso=\E[m, rmul=\E[m, rs3=\E[?67h\E[64;1"p, sc=\E7, 
-       sgr=\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p4%t;5%;%?%p1%p3%|%t;7%;m%?%p9%t\E(0%e\E(B%;, 
-       sgr0=\E[m$<2>, smacs=\E(0$<2>, smam=\E[?7h, smir=\E[4h, 
-       smso=\E[7m, smul=\E[4m, 
+vt520|DEC VT520,
+       use=ansi+rca, use=vt420, use=ansi+tabs,
 
-#### VT100 emulations
+vt525|DEC VT525,
+       use=vt520,
+
+# I just got a brand new Boundless VT520 with that company's "ANSI 2011"
+# Keyboard, which replaces the old LK41R-AA keyboard.
 #
+# In trying to get the function keys to work, I had to cobble my own
+# terminfo.src entry, since the existing vt520 entry doesn't include most of
+# the function keys.  If I blend the entries for "vt420f" and "vt220+keypad"
+# I seem to get them all -Mike Gran
+vt520ansi|Boundless VT520 ANSI,
+       use=ansi+rca, use=vt420f, use=vt220+keypad,
+       use=ansi+tabs,
+
+#### VT100 emulations
 
 # John Hawkinson <jhawk@MIT.EDU> tells us that the EWAN telnet for Windows
 # (the best Windows telnet as of September 1995) presents the name `dec-vt100'
 # to telnetd.   Michael Deutschmann <ldeutsch@mail.netshop.net> informs us
 # that this works best with a stock vt100 entry.
-dec-vt100|EWAN telnet's vt100 emulation, 
-       use=vt100, 
+dec-vt100|EWAN telnet's vt100 emulation,
+       use=vt100,
 
 # From: Adrian Garside <94ajg2@eng.cam.ac.uk>, 19 Nov 1996
-dec-vt220|DOS tnvt200 terminal emulator, 
-       am@, use=vt220, 
+dec-vt220|DOS tnvt200 terminal emulator,
+       am@, use=vt220,
 
 # Zstem340 is an (IMHO) excellent VT emulator for PC's.  I recommend it to
 # anyone who needs PC VT340 emulation. (or anything below that level, for
@@ -2061,26 +2942,1108 @@ dec-vt220|DOS tnvt200 terminal emulator,
 # RDBM systems, it includes ReGIS and SiXel support!  I'm impressed...
 # I can send the address if requested.
 # (z340: changed garbled \E[5?l to \E[?5l, DEC smooth scroll off -- esr)
-# From: Adam Thompson <thompson@xanth.magic.mb.ca> Sept 10 1995
-z340|zstem vt340 terminal emulator 132col 42line, 
-       lines#42, 
-       is2=\E>\E[?3h\E[?4l\E[?5l\E[?7h\E[?8h\E[1;42r\E[42;1H, 
-       rs2=\E>\E[?3h\E[?4l\E[?5l\E[?7h\E[?8h\E[1;42r\E[42;1H, 
-       use=vt320-w, 
-z340-nam|zstem vt340 terminal emulator 132col 42line (no automatic margins), 
-       am@, 
-       is2=\E>\E[?3h\E[?4l\E[?5l\E[?7l\E[?8h\E[1;42r\E[42;1H, 
-       rs2=\E>\E[?3h\E[?4l\E[?5l\E[?7l\E[?8h\E[1;42r\E[42;1H, 
-       use=z340, 
+# From: Adam Thompson <athompso@pangea.ca> Sept 10 1995
+z340|zstem vt340 terminal emulator 132col 42line,
+       lines#42,
+       is2=\E>\E[?3h\E[?4l\E[?5l\E[?7h\E[?8h\E[1;42r\E[42;1H,
+       rs2=\E>\E[?3h\E[?4l\E[?5l\E[?7h\E[?8h\E[1;42r\E[42;1H, use=vt320-w,
+z340-nam|zstem vt340 terminal emulator 132col 42line (no automatic margins),
+       am@,
+       is2=\E>\E[?3h\E[?4l\E[?5l\E[?7l\E[?8h\E[1;42r\E[42;1H,
+       rs2=\E>\E[?3h\E[?4l\E[?5l\E[?7l\E[?8h\E[1;42r\E[42;1H, use=z340,
+
+# expect-5.44.1.15/example/tkterm
+# a minimal subset of a vt100 (compare with "news-unk).
+#
+# The missing "=" in smkx is not a typo (here), but an error in tkterm.
+tt|tkterm|Don Libes' tk text widget terminal emulator,
+       clear=\E[H\E[J, cr=\r, cub1=^H, cud1=\n, cuf1=\E[C,
+       cup=\E[%p1%d;%p2%dH, cuu1=\E[A, ind=\n, kf1=\EOP, kf2=\EOQ,
+       kf3=\EOR, kf4=\EOS, kf5=\EOT, kf6=\EOU, kf7=\EOV, kf8=\EOW,
+       kf9=\EOX, rmkx=\E[?1l\E>, rmso=\E[m, smkx=\E[?1h\E,
+       smso=\E[7m,
+
+######## APPLE
+
+#### Terminal.app
+
+# nsterm*|Apple_Terminal - AppKit Terminal.app
+#
+# Terminal.app is a Terminal emulator bundled with NeXT's NeXTSTEP and
+# OPENSTEP/Mach operating systems, and with Apple's Rhapsody, Mac OS X
+# Server and Mac OS X operating systems. There is also a
+# "terminal.app" in GNUstep, but I believe it to be an unrelated
+# codebase and I have not attempted to describe it here.
+#
+# For NeXTSTEP, OPENSTEP/Mach, Rhapsody and Mac OS X Server 1.0, you
+# are pretty much on your own. Use "nsterm-7-m" and hope for the best.
+# You might also try "nsterm-7" and "nsterm-old" if you suspect your
+# version supports color.
+#
+# To determine the version of Terminal.app you're using by running:
+#
+#     echo "$TERM_PROGRAM" "$TERM_PROGRAM_VERSION"
+#
+# For Apple_Terminal v309+, use "nsterm-256color" (or "nsterm-bce")
+#
+# For Apple_Terminal v200+, use "nsterm-16color" (a.k.a. "nsterm")
+#
+# For Apple_Terminal v71+/v100+, use "nsterm-bce".
+#
+# For Apple_Terminal v51+, use "nsterm-7-c" or "nsterm-7-c-s".
+#
+# For Apple_Terminal v41+, use "nsterm-old", or "nsterm-s".
+#
+# For all earlier versions (Apple_Terminal), try "nsterm-7-m"
+# (monochrome) or "nsterm-7" (color); "nsterm-7-m-s" and "nsterm-7-s"
+# might work too, but really you're on your own here since these
+# systems are very obsolete and I can't test them. I do welcome
+# patches, though :).
+
+# Other Terminals:
+#
+# For GNUstep_Terminal, you're probably best off using "linux" or
+# writing your own terminfo.
+
+# For MacTelnet, you're on your own. It's a different codebase, and
+# seems to be somewhere between "vt102", "ncsa" and "xterm-color".
+
+# For iTerm.app, see "iterm".
+
+#
+# The AppKit Terminal.app descriptions all have names beginning with
+# "nsterm". Note that the statusline (-s) versions use the window
+# titlebar as a phony status line, and may produce warnings during
+# compilation as a result ("tsl uses 0 parameters, expected 1".)
+# Ignore these warnings, or even ignore these entries entirely. Apps
+# which need to position the cursor or do other fancy stuff inside the
+# status line won't work with these entries. They're primarily useful
+# for programs like Pine which provide simple notifications in the
+# status line. Please note that non-ASCII characters don't work right
+# in the status line, since Terminal.app incorrectly interprets their
+# Unicode codepoints as MacRoman codepoints (in earlier Mac OS X
+# versions) or only accepts status lines consisting entirely of
+# characters from the first 256 Unicode positions (including C1 but
+# not C0 or DEL.)
+#
+# The Mythology* of AppKit Terminal.app:
+#
+# In the days of NeXTSTEP 0.x and 1.x there were two incompatible
+# bundled terminal emulators, Shell and Terminal. Scott Hess wrote a
+# shareware replacement for Terminal called "Stuart" which NeXT bought
+# and used as the basis for the Terminal.app in NeXTSTEP 2+,
+# OPENSTEP/Mach, Apple Rhapsody, Mac OS X Server 1.0, and Mac OS X. I
+# don't know the TERM_PROGRAM and TERM_PROGRAM_VERSION settings or
+# capabilities for the early versions, but I believe that the
+# TERM_PROGRAM_VERSION may have been reset at some point.
+#
+# The early versions were tailored to the NeXT character set. Sometime
+# after the Apple acquisition the encoding was switched to MacRoman
+# (initially with serious altcharset bugs due to incomplete conversion
+# of the old NeXT code,) and then later to UTF-8. Also sometime during
+# or just prior to the early days of Mac OS X, the Terminal grew ANSI
+# 8-color support (initially buggy when combined with attributes, but
+# that was later fixed.) More recently, around Mac OS X version 10.3
+# or so (Terminal.app v100+) xterm-like 16-color support was added. In
+# some versions (for instance 133-1 which shipped with Mac OS X
+# version 10.4) this suffered from the <bce> bug, but that seems to
+# have been fixed in Mac OS X version 10.5 (Terminal.app v240.2+).
+#
+# In the early days of Mac OS X the terminal was fairly buggy and
+# would routinely crash under load. Many of these bugs seem to have
+# been fixed around Mac OS X version 10.3 (Terminal.app v100+) but
+# some may still remain. This change seems to correspond to
+# Terminal.app reporting "xterm-color" as $TERM rather than "vt100" as
+# it did previously.
+#
+# * This may correspond with what actually happened, but I don't
+#   know. It is based on guesswork, hearsay, private correspondence,
+#   my faulty memory, and the following online sources and references:
+#
+# [1] "Three Scotts and a Duane" by Simson L. Garfinkel
+# http://www.nextcomputers.org/NeXTfiles/Articles/NeXTWORLD/93.8/93.8.Dec.Community1.html
+#
+# [2] NeXTSTEP entry from Wikipedia, the free encyclopedia
+# https://secure.wikimedia.org/wikipedia/en/wiki/Nextstep
+#
+# * Renamed the AppKit Terminal.app entry from "Apple_Terminal" to
+#   "nsterm" to comply with the name length and case conventions and
+#   limitations of various software packages [notably Solaris terminfo
+#   and UNIX.] A single Apple_Terminal alias is retained for
+#   backwards-compatibility.
+#
+# * Added function key support (F1-F4). These only work in Terminal.app
+#   version 51, hopefully the capabilities won't cause problems for people
+#   using version 41.
+#
+# * Added "full color" (-c) entries which support the 16-color mode in
+#   version 51.
+#
+# * By default, version 51 uses UTF-8 encoding with broken altcharset
+#   support, so "ASCII" (-7) entries without altcharset support were
+#   added.
+
+# nsterm - AppKit Terminal.app
+#
+# Apple's Mac OS X includes a Terminal.app derived from the old NeXT
+# Terminal.app. It is a partial VT100 emulation with some xterm-like
+# extensions. This terminfo was written to describe versions 41
+# (shipped with Mac OS X version 10.0) and 51 (shipped with Mac OS X
+# version 10.1) of Terminal.app.
+#
+# Terminal.app runs under the Mac OS X Quartz windowing system (and
+# other AppKit-supported windowing systems.)  On the Mac OS X machine I
+# use, the executable for Terminal.app is:
+# /Applications/Utilities/Terminal.app/Contents/MacOS/Terminal
+#
+# If you're looking for a description of the full-screen system
+# console which runs under Apple's Darwin operating system on PowerPC
+# platforms, see the "xnuppc" entry instead.
+#
+# There were no function keys in version 41. In version 51, there are
+# four working function keys (F1, F2, F3 and F4.) The function keys
+# are included in all of these entries.
+#
+# It does not support mouse pointer position reporting. Under some
+# circumstances the cursor can be positioned using option-click; this
+# works by comparing the cursor position and the selected position,
+# and simulating enough cursor-key presses to move the cursor to the
+# selected position. This technique fails in all but the simplest
+# applications.
+#
+# It provides partial ANSI color support (background colors interacted
+# badly with bold in version 41, though, as reflected in :ncv:.) The
+# monochrome (-m) entries are useful if you've disabled color support
+# or use a monochrome monitor. The full color (-c) entries are useful
+# in version 51, which doesn't exhibit the background color bug. They
+# also enable an xterm-compatible 16-color mode.
+#
+# The configurable titlebar is set using xterm-compatible sequences;
+# it is used as a status bar in the statusline (-s) entries. Its width
+# depends on font sizes and window sizes, but 50 characters seems to
+# be the default for an 80x24 window.
+#
+# The MacRoman character encoding is used for some of the alternate
+# characters in the "MacRoman" entries; the "ASCII" (-7) entries
+# disable alternate character set support entirely, and the "VT100"
+# (-acs) entries rely instead on Terminal.app's own buggy VT100
+# graphics emulation, which seems to think the character encoding is
+# the old NeXT charset instead of MacRoman. The "ASCII" (-7) entries
+# are useful in Terminal.app version 51, which supports UTF-8 and
+# other ASCII-compatible character encodings but does not correctly
+# implement VT100 graphics; once VT100 graphics are correctly
+# implemented in Terminal.app, the "VT100" (-acs) entries should be
+# usable in any ASCII-compatible character encoding [except perhaps
+# in UTF-8, where some experts argue for disallowing alternate
+# characters entirely.]
+#
+# Terminal.app reports "vt100" as the terminal type, but exports
+# several environment variables which may aid detection in a shell
+# profile (i.e. .profile or .login):
+#
+# TERM=vt100
+# TERM_PROGRAM=Apple_Terminal
+# TERM_PROGRAM_VERSION=41      # in Terminal.app version 41
+# TERM_PROGRAM_VERSION=51      # in Terminal.app version 51
+#
+# For example, the following Bourne shell script would detect the
+# correct terminal type:
+#
+# if [ :"$TERM" = :"vt100" -a :"$TERM_PROGRAM" = :"Apple_Terminal" ]
+# then
+#     export TERM
+#     if [ :"$TERM_PROGRAM_VERSION" = :41 ]
+#     then
+#         TERM="nsterm-old"
+#     else
+#         TERM="nsterm-c-7"
+#     fi
+# fi
+#
+# In a C shell derivative, this would be accomplished by:
+#
+# if ( $?TERM && $?TERM_PROGRAM && $?TERM_PROGRAM_VERSION) then
+#     if ( :"$TERM" == :"vt100" && :"$TERM_PROGRAM" == :"Apple_Terminal" ) then
+#          if ( :"$TERM_PROGRAM_VERSION" == :41 ) then
+#              setenv TERM "nsterm-old"
+#          else
+#              setenv TERM "nsterm-c-7"
+#          endif
+#     endif
+# endif
+
+# The '+' entries are building blocks
+nsterm+7|AppKit Terminal.app v41+ basic capabilities w/ASCII charset,
+       am, bw, msgr, xenl, xon,
+       cols#80, it#8, lines#24,
+       bel=^G, blink=\E[5m, bold=\E[1m, clear=\E[H\E[J, cr=\r,
+       csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=^H,
+       cud=\E[%p1%dB, cud1=\n, cuf=\E[%p1%dC, cuf1=\E[C,
+       cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A,
+       dim=\E[2m, dl=\E[%p1%dM, dl1=\E[M, ed=\E[J, el=\E[K,
+       el1=\E[1K, home=\E[H, ht=^I, hts=\EH, il=\E[%p1%dL, il1=\E[L,
+       ind=\n, invis=\E[8m, kbs=^?, kcub1=\EOD, kcud1=\EOB,
+       kcuf1=\EOC, kcuu1=\EOA, kent=\EOM, rc=\E8, rev=\E[7m, ri=\EM,
+       rmam=\E[?7l, rmkx=\E[?1l\E>, rmso=\E[m, rmul=\E[m,
+       rs2=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h, sc=\E7,
+       sgr=\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;%?
+           %p5%t;2%;%?%p7%t;8%;m,
+       sgr0=\E[m, smam=\E[?7h, smkx=\E[?1h\E=, smso=\E[7m,
+       smul=\E[4m, tbc=\E[3g, use=vt100+enq, use=vt100+pfkeys,
+
+nsterm+acs|AppKit Terminal.app v41+ basic capabilities w/VT100 alternate-charset,
+       acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
+       enacs=\E(B\E)0, rmacs=^O,
+       sgr=\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;%?
+           %p5%t;2%;%?%p7%t;8%;m%?%p9%t\016%e\017%;,
+       sgr0=\E[m\017, smacs=^N, use=nsterm+7,
+
+nsterm+mac|AppKit Terminal.app v41+ basic capabilities w/MacRoman alternate-charset,
+       acsc=+\335\,\334-\366.\3770#`\327a\:f\241g\261h#i
+            \360jjkkllmmnno\370p\370q\321rrssttuuvvwwxxy\262z\263{
+            \271|\255}\243~\245,
+       enacs=\E(B\E)0, rmacs=^O,
+       sgr=\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;%?
+           %p5%t;2%;%?%p7%t;8%;m%?%p9%t\016%e\017%;,
+       sgr0=\E[m\017, smacs=^N, use=nsterm+7,
+
+# compare with xterm+sl-twm
+nsterm+s|AppKit Terminal.app v41+ status-line (window titlebar) support,
+       wsl#50, use=xterm+sl-twm,
+
+nsterm+c|AppKit Terminal.app v51+ full color support (including 16 colors),
+       op=\E[0m, use=ibm+16color,
+
+nsterm+c41|AppKit Terminal.app v41 color support,
+       colors#8, ncv#37, pairs#64,
+       op=\E[0m, setab=\E[4%p1%dm, setaf=\E[3%p1%dm,
+
+# These are different combinations of the building blocks
+
+# ASCII charset (-7)
+nsterm-m-7|nsterm-7-m|AppKit Terminal.app v41+ w/ASCII charset (monochrome),
+       use=nsterm+7,
+
+nsterm-m-s-7|nsterm-7-m-s|AppKit Terminal.app v41+ w/ASCII charset (monochrome w/statusline),
+       use=nsterm+s, use=nsterm+7,
+
+nsterm-7|AppKit Terminal.app v41+ w/ASCII charset (color),
+       use=nsterm+c41, use=nsterm+7,
+
+nsterm-7-c|nsterm-c-7|AppKit Terminal.app v51+ w/ASCII charset (full color),
+       use=nsterm+c, use=nsterm+7,
+
+nsterm-s-7|nsterm-7-s|AppKit Terminal.app v41+ w/ASCII charset (color w/statusline),
+       use=nsterm+s, use=nsterm+c41, use=nsterm+7,
+
+nsterm-c-s-7|nsterm-7-c-s|AppKit Terminal.app v51+ w/ASCII charset (full color w/statusline),
+       use=nsterm+s, use=nsterm+c, use=nsterm+7,
+
+# VT100 alternate-charset (-acs)
+nsterm-m-acs|nsterm-acs-m|AppKit Terminal.app v41+ w/VT100 alternate-charset (monochrome),
+       use=nsterm+acs,
+
+nsterm-m-s-acs|nsterm-acs-m-s|AppKit Terminal.app v41+ w/VT100 alternate-charset (monochrome w/statusline),
+       use=nsterm+s, use=nsterm+acs,
+
+nsterm-acs|AppKit Terminal.app v41+ w/VT100 alternate-charset (color),
+       use=nsterm+c41, use=nsterm+acs,
+
+nsterm-c-acs|nsterm-acs-c|AppKit Terminal.app v51+ w/VT100 alternate-charset (full color),
+       use=nsterm+c, use=nsterm+acs,
+
+nsterm-s-acs|nsterm-acs-s|AppKit Terminal.app v41+ w/VT100 alternate-charset (color w/statusline),
+       use=nsterm+s, use=nsterm+c41, use=nsterm+acs,
+
+nsterm-c-s-acs|nsterm-acs-c-s|AppKit Terminal.app v51+ w/VT100 alternate-charset (full color w/statusline),
+       use=nsterm+s, use=nsterm+c, use=nsterm+acs,
+
+# MacRoman charset
+nsterm-m|AppKit Terminal.app v41+ w/MacRoman charset (monochrome),
+       use=nsterm+mac,
+
+nsterm-m-s|AppKit Terminal.app v41+ w/MacRoman charset (monochrome w/statusline),
+       use=nsterm+s, use=nsterm+mac,
+
+nsterm-old|AppKit Terminal.app v41+ w/MacRoman charset (color),
+       use=nsterm+c41, use=nsterm+mac,
+
+nsterm-c|AppKit Terminal.app v51+ w/MacRoman charset (full color),
+       use=nsterm+c, use=nsterm+mac,
+
+nsterm-s|AppKit Terminal.app v41+ w/MacRoman charset (color w/statusline),
+       use=nsterm+s, use=nsterm+c41, use=nsterm+mac,
+
+nsterm-c-s|AppKit Terminal.app v51+ w/MacRoman charset (full color w/statusline),
+       use=nsterm+s, use=nsterm+c, use=nsterm+mac,
+
+# In Mac OS X version 10.5 the format of the preferences has changed
+# and a new, more complex technique is needed, e.g.,
+#
+#       python -c 'import sys,objc;NSUserDefaults=objc.lookUpClass(
+#       "NSUserDefaults");ud=NSUserDefaults.alloc();
+#       ud.init();prefs=ud.persistentDomainForName_(
+#       "com.apple.Terminal");prefs["Window Settings"][
+#       prefs["Default Window Settings"]]["TerminalType"
+#       ]=sys.argv[1];ud.setPersistentDomain_forName_(prefs,
+#       "com.apple.Terminal")' nsterm-16color
+#
+# and it is still not settable from the preferences dialog. This is
+# tracked under rdar://problem/7365108 and rdar://problem/7365134
+# in Apple's bug reporter.
+#
+# In OS X 10.7 (Leopard) the TERM which can be set in the preferences dialog
+# defaults to xterm-color.  Alternative selections are ansi, dtterm, rxvt,
+# vt52, vt100, vt102 and xterm.
+nsterm-16color|AppKit Terminal.app v240.2+ with Mac OS X version 10.5,
+       bw@, mir, npc,
+       civis=\E[?25l, cnorm=\E[?25h, dch=\E[%p1%dP, dch1=\E[P,
+       flash=\E[?5h$<200/>\E[?5l, hpa=\E[%i%p1%dG,
+       ich=\E[%p1%d@, ich1=\E[@, kdch1=\E[3~, kend=\E[F,
+       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[22~, kf19=\E[33~, kf20=\E[34~, kf5=\E[15~,
+       kf6=\E[17~, kf7=\E[18~, kf8=\E[19~, kf9=\E[20~, khome=\E[H,
+       knp=\E[6~, kpp=\E[5~, rmcup=\E[2J\E[?47l\E8, rmir=\E[4l,
+       smcup=\E7\E[?47h, smir=\E[4h, vpa=\E[%i%p1%dd,
+       kLFT5=\E[5D, kRIT5=\E[5C, use=nsterm-c-s-acs,
+
+# The versions of Terminal.app in Mac OS X version 10.3.x seem to have
+# the background color erase feature. The newer version 240.2 in Mac OS X
+# version 10.5 does not.
+#
+# This entry is based on newsgroup comments by Alain Bench, Christian Ebert,
+# and D P Schreber comparing to nsterm-c-s-acs.
+#
+# In Mac OS X version 10.4 and earlier, D P Schreber notes that $TERM
+# can be set in Terminal.app, e.g.,
+#
+#      defaults write com.apple.Terminal TermCapString nsterm-bce
+#
+# and that it is not set in Terminal's preferences dialog.
+#
+# Modified for OS X 10.8, omitting bw based on testing with tack -TD
+#
+# Notes:
+# * The terminal description matches the default settings.
+# * The keyboard is configurable via a dialog.
+# * By default khome, kend, knext and kprev are honored only with a
+#   shift-modifier.
+# * There are bindings for control left/right arrow (but not up/down).
+#   Added those to nsterm-16color, which is the version used for OS X 10.6
+# * "Allow VT100 application keypage mode" is by default disabled.
+#   There is no way to press keypad-comma unless application mode is enabled
+#   and used.
+# * 132-column mode stopped working during vttest's tests.  Consider it broken.
+# * CHT, REP, SU, SD are buggy.
+# * ECH works (also in Leopard), but is not used here for compatibility.
+# * The terminal preferences dialog replaces xterm-color by xterm-16color and
+#   xterm-256color.  However, it adds "nsterm", so it is possible to use the
+#   nsterm entry from this file to override the MacPorts (20110404) or
+#   system (20081102) copy of this file.
+# + In OS X 10.8 (Mountain Lion) the TERM which can be set in the preferences
+#   dialog defaults to xterm-256color.  Alternative selections are ansi,
+#   dtterm, rxvt, vt52, vt100, vt102, xterm and xterm-16color.  However,
+#   the menu says "Declare terminal as" without promising to actually emulate
+#   the corresponding terminals.  Indeed, changing TERM does not affect the
+#   emulation itself.  This means that
+#   + the function-keys do not match for dtterm for kf1-kf4 as well as
+#     khome/kend
+#   + the color model is the same for each setting of TERM (does not match
+#     ansi or dtterm).
+#   + the shift/control/meta key modifiers from rxvt and xterm variants are not
+#     recognised except for a few special cases, i.e., kRIT5 and kLFT5.
+#   + the vt52 emulation does not give a usable shell because screen-clearing
+#     does not work as expected.
+#   + selecting "xterm" or "xterm-16color" sets TERM to "xterm-256color".
+# + OSX 10.9 (Yosemite) added more extended keys in the default configuration
+#   as well as unmasking F10 (which had been used in the window manager). Those
+#   keys are listed in this entry.
+nsterm-bce|AppKit Terminal.app v71+/v100.1.8+ with Mac OS X version 10.3/10.4 (bce),
+       bce, use=nsterm-16color,
+
+# This is tested with OS X 10.8 (Mountain Lion), 2012/08/11
+#      TERM_PROGRAM_VERSION=309
+# Earlier reports state that these differences also apply to OS X 10.7 (Leopard),
+#      TERM_PROGRAM_VERSION=303
+nsterm-build309|Terminal.app in OS X 10.8,
+       use=xterm+256setaf, use=nsterm-bce,
+
+# removed bogus kDC7 -TD
+nsterm-build326|Terminal.app in OS X 10.9,
+       kDC=\E[3;2~, kLFT=\E[1;2D, kRIT=\E[1;2C, kcbt=\E[Z,
+       kf18=\E[32~, kDC5=\E[3;5~, kLFT3=\Eb, kLFT5=\E[1;5D,
+       kRIT3=\Ef, kRIT5=\E[1;5C, use=nsterm-build309,
+
+# actually "343.7"
+nsterm-build343|Terminal.app in OS X 10.10,
+       kend=\EOF, khome=\EOH, use=nsterm-build326,
+
+# reviewed Terminal.app in El Capitan (version 2.6 build 361) -TD
+# Using vttest:
+# + no vt52 mode for cursor keys, though vt52 screen works in vttest
+# + f1-f4 map to pf1-pf4
+# + no vt220 support aside from DECTCEM and ECH
+# + there are no protected areas.  Forget about anything above vt220.
+# + in ECMA-48 cursor movement, VPR and HPR fail.  Others work.
+# + vttest color 11.6.4 and 11.6.5 (bce for ED/EL and ECH/indexing) are bce
+# + but bce fails for 11.6.7.2 (test repeat).
+# + SD (11.6.7.3) also fails, but SL/SR/SU work.
+# + 11.6.6 (test insert/delete char/line with bce) has several failures.
+# + normal (not X10 or Highlight tracking) mouse now works.
+# + mouse any-event works
+# + mouse button-event works
+# + in alternate screen:
+#   mode 47/48 work
+#   mode 1047 fails to restore cursor position (do not use)
+#   mode 1049 fails to restore screen contents (do not use)
+# + dtterm window-modify operations work (some messages are not printed)
+# + dtterm window-report gives size of window in characters/pixels as
+#   well as state of window.
+# Using tack:
+# + there is no difference between cnorm/cvvis
+# + has dim/invis/blink (no protect of course)
+# + most function keys with shift/control modifiers give beep
+#   (user can configure, but out-of-the-box is what I record)
+# + shift-F5 is \E[25~ through shift-F12 is \E[34~ (skips \E[30~ between
+#   F8 and F9).
+# + kLFT5/kRIT5 work, but not up/down with control-modifier
+# + kLFT/kRIT work, but not up/down with shift-modifier
+# + there are a few predefined bindings with Alt, but no clear pattern.
+# + uses alt-key as UTF-8 "meta" something like xterm altSendsEscape
+# Using ncurses test-program with xterm-new:
+# + no italics
+# Using xterm's scripts:
+# + palette for 256-colors is hardcoded.
+# + no support for "dynamic colors"
+# + no support for tcap-query.
+nsterm-build361|Terminal.app in OS X 10.11,
+       XT,
+       kmous=\E[M, use=nsterm-build343,
+
+# reviewed Terminal.app in High Sierra (version 2.8 build 400) -TD
+# Comparing with build361, little has changed, except that italics work.
+# Direct-color is not supported, by the way.
+#
+# Improved rmso/rmul -TD
+nsterm-build400|Terminal.app in OS X 10.13,
+       rmso=\E[27m, rmul=\E[24m, use=xterm+sm+1006,
+       use=ecma+italics, use=nsterm-build361,
+
+# This is an alias which should always point to the "current" version
+nsterm|nsterm-256color|Apple_Terminal|AppKit Terminal.app,
+       use=nsterm-build400,
+
+#### iTerm, iTerm2
+
+# iTerm 0.10
+#
+# iTerm.app from http://iterm.sourceforge.net/ is an alternative (and more
+# featureful) terminal emulator for Mac OS X.  It is similar enough in
+# capabilities to nsterm-16color that I have derived this description from that
+# one, but as far as I know they share no code.  Many of the features are
+# user-configurable, but I attempt only to describe the default configuration
+# (B. Sittler).
+#
+# According to its documentation, iTerm uses terminfo to obtain function key
+# definitions.  For example, if it is started with TERM=xterm, it uses key
+# definitons from that terminal description from the local OSX machine.  Those
+# $TERM settings may be augmented using the bookmark and profile dialogs.
+# However, the behavior seen with tack does not agree with either the terminfo
+# description or the function keys in its "xterm" profile.
+#
+# NOTES:
+# with vttest:
+#      reports primary DA as VT100 with AVO: \E[?1;2c
+#      reports secondary DA as "\E[>0;95;c"
+#      supports blink and underline
+#      displays bold text as red
+#      recognizes all dtterm controls for modifying/querying window
+#      resizing via escape sequence is very slow
+#      supports X11R5 mouse (no X10) and XFree86 mouse (button- and event-tracking)
+#      supports X11R5 alternate screen and XFree86 1049 (no 1047/1048)
+#      supports CHA, VPA, VPR, but no other ECMA-48 cursor movement such as HPA
+# with tack:
+#      .
+# with ncurses test-program:
+#      ncurses 'k' has problem in second screen; light background does not fill
+# with xterm scripts
+#      can display/alter xterm-256color cube
+#      can display/alter xterm-88color cube
+iTerm.app|iterm|iTerm.app terminal emulator for Mac OS X,
+       am, bce, hs, mir, msgr, npc, xenl, xon,
+       cols#80, it#8, lines#24, wsl#50,
+       acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
+       bel=^G, blink=\E[5m, bold=\E[1m, civis=\E[?25l,
+       clear=\E[H\E[J, cnorm=\E[?25h, cr=\r,
+       csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=^H,
+       cud=\E[%p1%dB, cud1=\n, 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, el1=\E[1K, enacs=\E(B\E)0,
+       flash=\E[?5h$<200/>\E[?5l, home=\E[H, hpa=\E[%i%p1%dG,
+       ht=^I, hts=\EH, ich=\E[%p1%d@, ich1=\E[@, il=\E[%p1%dL,
+       il1=\E[L, ind=\n, kLFT=\E[1;2D, kRIT=\E[1;2C, kbs=^?,
+       kcbt=\E[Z, kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA,
+       kdch1=\E[3~, kend=\EOF, kent=\EOM, kf1=\EOP, kf10=\E[21~,
+       kf11=\E[23~, kf12=\E[24~, kf2=\EOQ, kf3=\EOR, kf4=\EOS,
+       kf5=\E[15~, kf6=\E[17~, kf7=\E[18~, kf8=\E[19~, kf9=\E[20~,
+       khome=\EOH, knp=\E[6~, kpp=\E[5~, op=\E[0m, 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,
+       rs2=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h, sc=\E7,
+       sgr=\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;m%?
+           %p9%t\016%e\017%;,
+       sgr0=\E[m\017, smacs=^N, smam=\E[?7h, smcup=\E7\E[?47h,
+       smir=\E[4h, smkx=\E[?1h\E=, smso=\E[7m, smul=\E[4m,
+       tbc=\E[3g, vpa=\E[%i%p1%dd, kEND5=\E[1;5F, kHOM5=\E[1;5H,
+       use=ansi+enq, use=xterm+sl-twm, use=vt100+keypad,
+       use=xterm+x11mouse, use=xterm+256setaf,
+
+# iTerm2 3.0.15
+#
+# https://www.iterm2.com/
+# https://github.com/gnachman/iTerm2
+# ~/Library/Preferences/com.googlecode.iterm2.plist
+# "iTerm" stalled in 2009.  A different set of developers began "iTerm2".
+#
+# NOTES:
+# with vttest:
+#      reports primary DA as VT100 with AVO: \E[?1;2c
+#      reports secondary DA as "\E[>0;95;0c"
+#      numeric keypad application mode does not work
+#      by default, dtterm window-modifications are ignored
+#      by default, dtterm window-reports return, but icon as "L", window as "l"
+#      supports SD/SU, no REP, SL, SR
+#      supports CBT, CHA, VPA, CNL, CPL, VPR (no HPA, CHT, HPR)
+#      no improvement to XFree86 1047/1048 modes
+# with tack:
+#      in meta-mode, imitates xterm, sending UTF-8
+#      special-key modifiers based on xterm use incompatible default for alt/meta
+# with ncurses test-program:
+#      no italics
+#      no improvement to ncurses 'k'
+# with xterm scripts:
+#      acolors.sh works
+#
+# Italic text did not work initially, apparently because upgrading did not
+# add/change that preference (set in Preferences, Profiles, Text).  A new
+# install of iTerm 3.0.15 provides italics by default (blinking text is an
+# option in the preferences dialog).
+#
+# 2018/01/21: found xterm+sm+1006 did not work with version 3.1.5
+# 2018/05/19: xterm+sm+1006 seems to work with 3.1.6beta -TD
+iTerm2.app|iterm2|terminal emulator for Mac OS X,
+       blink=\E[5m, cbt=\E[Z, dim=\E[2m, kEND=\E[1;2F,
+       kHOM=\E[1;2H, ka1@, ka3@, kb2@, kc1@, kc3@, kent@, kf13=\E[1;2P,
+       kf14=\E[1;2Q, kf15=\E[1;2R, kf16=\E[1;2S, kf17=\E[15;2~,
+       kf18=\E[17;2~, kf19=\E[18;2~, kf2=\EOQ, kf20=\E[19;2~,
+       kf21=\E[20;2~, kf22=\E[21;2~, kf23=\E[23;2~,
+       kf24=\E[24;2~, kind=\E[1;2B, kri=\E[1;2A, nel=\EE,
+       op=\E[39;49m, rmso=\E[27m, rmul=\E[24m,
+       rs2=\E[!p\E[?3;4l\E[4l\E>\E[?1000l,
+       sgr=\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;%?
+           %p5%t;2%;m%?%p9%t\016%e\017%;,
+       kDN3=\E\E[B, kDN4=\E[1;10B, kDN5=\E[1;5B, kDN6=\E[1;6B,
+       kEND3=\E[1;9F, kEND4=\E[1;10F, kEND6=\E[1;6F,
+       kEND7=\E[1;13F, kEND8=\E[1;14F, kHOM3=\E[1;9H,
+       kHOM4=\E[1;10H, kHOM6=\E[1;6H, kHOM7=\E[1;13H,
+       kHOM8=\E[1;14H, kLFT3=\E\E[D, kLFT4=\E[1;10D,
+       kLFT5=\E[1;5D, kLFT6=\E[1;6D, kNXT3=\E\E[6~,
+       kPRV3=\E\E[5~, kRIT3=\E\E[C, kRIT4=\E[1;10C,
+       kRIT5=\E[1;5C, kRIT6=\E[1;6C, kUP3=\E\E[A, kUP4=\E[1;10A,
+       kUP5=\E[1;5A, kUP6=\E[1;6A, use=ecma+index,
+       use=xterm+alt+title, use=ecma+italics, use=iterm,
+
+# xnuppc - Darwin PowerPC Console (a.k.a. "darwin")
+#
+# On PowerPC platforms, Apple's Darwin operating system uses a
+# full-screen system console derived from a NetBSD framebuffer
+# console. It is an ANSI-style terminal, and is not really VT-100
+# compatible.
+#
+# Under Mac OS X, this is the system console driver used while in
+# single-user mode [reachable by holding down Command-S during the
+# boot process] and when logged in using console mode [reachable by
+# typing ">console" at the graphical login prompt.]
+#
+# If you're looking for a description of the Terminal.app terminal
+# emulator which runs under the Mac OS X Quartz windowing system (and
+# other AppKit-supported windowing systems,) see the "nsterm"
+# entry instead.
+#
+# NOTE: Under Mac OS X version 10.1, the default login window does not
+# prompt for user name, instead requiring an icon to be selected from
+# a list of known users. Since the special ">console" login is not in
+# this list, you must make one of two changes in the Login Window
+# panel of the Login section of System Prefs to make the special
+# ">console" login accessible. The first option is to enable 'Show
+# "Other User" in list for network users', which will add a special
+# "Other..." icon to the graphical login panel. Selecting "Other..."
+# will present the regular graphical login prompt. The second option
+# is to change the 'Display Login Window as:' setting to 'Name and
+# password entry fields', which replaces the login panel with a
+# graphical login prompt.
+#
+# There are no function keys, at least not in Darwin 1.3.
+#
+# It has no mouse support.
+#
+# It has full ANSI color support, and color combines correctly with
+# all three supported attributes: bold, inverse-video and underline.
+# However, bold colored text is almost unreadable (bolding is
+# accomplished using shifting and or-ing, and looks smeared) so bold
+# has been excluded from the list of color-compatible attributes
+# [using (ncv)]. The monochrome entry (-m) is useful if you use a
+# monochrome monitor.
+#
+# There is one serious bug with this terminal emulation's color
+# support: repositioning the cursor onto a cell with non-matching
+# colors obliterates that cell's contents, replacing it with a blank
+# and displaying a colored cursor in the "current" colors. There is
+# no complete workaround at present [other than using the monochrome
+# (-m) entries,] but removing the (msgr) capability seemed to help.
+#
+# The "standout" chosen was simple reverse-video, although a colorful
+# standout might be more aesthetically pleasing. Similarly, the bold
+# chosen is the terminal's own smeared bold, although a simple
+# color-change might be more readable. The color-bold (-b) entries
+# uses magenta colored text for bolding instead. The fancy color (-f
+# and -f2) entries use color for bold, standout and underlined text
+# (underlined text is still underlined, though.)
+#
+# Apparently the terminal emulator does support a VT-100-style
+# alternate character set, but all the alternate character set
+# positions have been left blank in the font. For this reason, no
+# alternate character set capabilities have been included in this
+# description. The console driver appears to be ASCII-only, so (enacs)
+# has been excluded [although the VT-100 sequence does work.]
+#
+# The default Mac OS X and Darwin installation reports "vt100" as the
+# terminal type, and exports no helpful environment variables. To fix
+# this, change the "console" entry in /etc/ttys from "vt100" to
+# "xnuppc-WxH", where W and H are the character dimensions of your
+# console (see below.)
+#
+# The font used by the terminal emulator is apparently one originally
+# drawn by Ka-Ping Yee, and uses 8x16-pixel characters. This
+# file includes descriptions for the following geometries:
+#
+#     Pixels        Characters   Entry Name (append -m for monochrome)
+#    -------------------------------------------------------------------
+#     640x400       80x25        xnuppc-80x25
+#     640x480       80x30        xnuppc-80x30
+#     720x480       90x30        xnuppc-90x30
+#     800x600       100x37       xnuppc-100x37
+#     896x600       112x37       xnuppc-112x37
+#     1024x640      128x40       xnuppc-128x40
+#     1024x768      128x48       xnuppc-128x48
+#     1152x768      144x48       xnuppc-144x48
+#     1280x1024     160x64       xnuppc-160x64
+#     1600x1024     200x64       xnuppc-200x64
+#     1600x1200     200x75       xnuppc-200x75
+#     2048x1536     256x96       xnuppc-256x96
+#
+# The basic "xnuppc" entry includes no size information, and the
+# emulator includes no reporting capability, so you'll be at the mercy
+# of the TTY device (which reports incorrectly on my hardware.) The
+# color-bold entries do not include size information.
+
+# The '+' entries are building blocks
+xnuppc+basic|Darwin PowerPC Console basic capabilities,
+       am, bce, mir, xenl,
+       it#8,
+       bold=\E[1m, clear=\E[H\E[J, cr=\r, csr=\E[%i%p1%d;%p2%dr,
+       cub=\E[%p1%dD, cub1=\E[D, cud=\E[%p1%dB, cud1=\E[B,
+       cuf=\E[%p1%dC, cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH,
+       cuu=\E[%p1%dA, cuu1=\E[A, dsl=\E]2;\007, ed=\E[J, el=\E[K,
+       el1=\E[1K, home=\E[H, ht=^I, hts=\EH, ind=\n, kbs=^?,
+       kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, rc=\E8,
+       rev=\E[7m, ri=\EM, rmam=\E[?7l, rmkx=\E[?1l\E>, rmso=\E[m,
+       rmul=\E[m, rs2=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h,
+       sc=\E7,
+       sgr=\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;m,
+       sgr0=\E[m, smam=\E[?7h, smkx=\E[?1h\E=, smso=\E[7m,
+       smul=\E[4m, tbc=\E[3g, use=vt100+keypad,
+
+xnuppc+c|Darwin PowerPC Console ANSI color support,
+       colors#8, ncv#32, pairs#64,
+       op=\E[37;40m, setab=\E[4%p1%dm, setaf=\E[3%p1%dm,
+
+xnuppc+b|Darwin PowerPC Console color-bold support,
+       ncv#32,
+       bold=\E[35m,
+       sgr=\E[0%?%p6%t;35%;%?%p2%t;4%;%?%p1%p3%|%t;7%;m,
+       use=xnuppc+basic,
+
+xnuppc+f|Darwin PowerPC Console fancy color support,
+       ncv#35,
+       sgr=\E[0%?%p6%t;35%;%?%p2%t;36;4%;%?%p1%t;33;44%;%?%p3%t;7%;
+           m,
+       smso=\E[33;44m, smul=\E[36;4m, use=xnuppc+b,
+
+xnuppc+f2|Darwin PowerPC Console alternate fancy color support,
+       ncv#35,
+       bold=\E[33m,
+       sgr=\E[0%?%p6%t;33%;%?%p2%t;34%;%?%p1%t;31;47%;%?%p3%t;7%;m,
+       smso=\E[31;47m, smul=\E[34m, use=xnuppc+basic,
+
+# Building blocks for specific screen sizes
+xnuppc+80x25|Darwin PowerPC Console 80x25 support (640x400 pixels),
+       cols#80, lines#25,
+
+xnuppc+80x30|Darwin PowerPC Console 80x30 support (640x480 pixels),
+       cols#80, lines#30,
+
+xnuppc+90x30|Darwin PowerPC Console 90x30 support (720x480 pixels),
+       cols#90, lines#30,
+
+xnuppc+100x37|Darwin PowerPC Console 100x37 support (800x600 pixels),
+       cols#100, lines#37,
+
+xnuppc+112x37|Darwin PowerPC Console 112x37 support (896x600 pixels),
+       cols#112, lines#37,
+
+xnuppc+128x40|Darwin PowerPC Console 128x40 support (1024x640 pixels),
+       cols#128, lines#40,
+
+xnuppc+128x48|Darwin PowerPC Console 128x48 support (1024x768 pixels),
+       cols#128, lines#48,
+
+xnuppc+144x48|Darwin PowerPC Console 144x48 support (1152x768 pixels),
+       cols#144, lines#48,
+
+xnuppc+160x64|Darwin PowerPC Console 160x64 support (1280x1024 pixels),
+       cols#160, lines#64,
+
+xnuppc+200x64|Darwin PowerPC Console 200x64 support (1600x1024 pixels),
+       cols#200, lines#64,
+
+xnuppc+200x75|Darwin PowerPC Console 200x75 support (1600x1200 pixels),
+       cols#200, lines#75,
 
+xnuppc+256x96|Darwin PowerPC Console 256x96 support (2048x1536 pixels),
+       cols#0x100, lines#96,
+
+# These are different combinations of the building blocks
+
+xnuppc-m|darwin-m|Darwin PowerPC Console (monochrome),
+       use=xnuppc+basic,
+
+xnuppc|darwin|Darwin PowerPC Console (color),
+       use=xnuppc+c, use=xnuppc+basic,
+
+xnuppc-m-b|darwin-m-b|Darwin PowerPC Console (monochrome w/color-bold),
+       use=xnuppc+b,
+
+xnuppc-b|darwin-b|Darwin PowerPC Console (color w/color-bold),
+       use=xnuppc+b, use=xnuppc+c,
+
+xnuppc-m-f|darwin-m-f|Darwin PowerPC Console (fancy monochrome),
+       use=xnuppc+f,
+
+xnuppc-f|darwin-f|Darwin PowerPC Console (fancy color),
+       use=xnuppc+f, use=xnuppc+c,
+
+xnuppc-m-f2|darwin-m-f2|Darwin PowerPC Console (alternate fancy monochrome),
+       use=xnuppc+f2,
+
+xnuppc-f2|darwin-f2|Darwin PowerPC Console (alternate fancy color),
+       use=xnuppc+f2, use=xnuppc+c,
+
+# Combinations for specific screen sizes
+xnuppc-80x25-m|darwin-80x25-m|Darwin PowerPC Console (monochrome) 80x25,
+       use=xnuppc+80x25, use=xnuppc+basic,
+
+xnuppc-80x25|darwin-80x25|Darwin PowerPC Console (color) 80x25,
+       use=xnuppc+c, use=xnuppc+80x25, use=xnuppc+basic,
+
+xnuppc-80x30-m|darwin-80x30-m|Darwin PowerPC Console (monochrome) 80x30,
+       use=xnuppc+80x30, use=xnuppc+basic,
+
+xnuppc-80x30|darwin-80x30|Darwin PowerPC Console (color) 80x30,
+       use=xnuppc+c, use=xnuppc+80x30, use=xnuppc+basic,
+
+xnuppc-90x30-m|darwin-90x30-m|Darwin PowerPC Console (monochrome) 90x30,
+       use=xnuppc+90x30, use=xnuppc+basic,
+
+xnuppc-90x30|darwin-90x30|Darwin PowerPC Console (color) 90x30,
+       use=xnuppc+c, use=xnuppc+90x30, use=xnuppc+basic,
+
+xnuppc-100x37-m|darwin-100x37-m|Darwin PowerPC Console (monochrome) 100x37,
+       use=xnuppc+100x37, use=xnuppc+basic,
+
+xnuppc-100x37|darwin-100x37|Darwin PowerPC Console (color) 100x37,
+       use=xnuppc+c, use=xnuppc+100x37, use=xnuppc+basic,
+
+xnuppc-112x37-m|darwin-112x37-m|Darwin PowerPC Console (monochrome) 112x37,
+       use=xnuppc+112x37, use=xnuppc+basic,
+
+xnuppc-112x37|darwin-112x37|Darwin PowerPC Console (color) 112x37,
+       use=xnuppc+c, use=xnuppc+112x37, use=xnuppc+basic,
+
+xnuppc-128x40-m|darwin-128x40-m|Darwin PowerPC Console (monochrome) 128x40,
+       use=xnuppc+128x40, use=xnuppc+basic,
+
+xnuppc-128x40|darwin-128x40|Darwin PowerPC Console (color) 128x40,
+       use=xnuppc+c, use=xnuppc+128x40, use=xnuppc+basic,
+
+xnuppc-128x48-m|darwin-128x48-m|Darwin PowerPC Console (monochrome) 128x48,
+       use=xnuppc+128x48, use=xnuppc+basic,
+
+xnuppc-128x48|darwin-128x48|Darwin PowerPC Console (color) 128x48,
+       use=xnuppc+c, use=xnuppc+128x48, use=xnuppc+basic,
+
+xnuppc-144x48-m|darwin-144x48-m|Darwin PowerPC Console (monochrome) 144x48,
+       use=xnuppc+144x48, use=xnuppc+basic,
+
+xnuppc-144x48|darwin-144x48|Darwin PowerPC Console (color) 144x48,
+       use=xnuppc+c, use=xnuppc+144x48, use=xnuppc+basic,
+
+xnuppc-160x64-m|darwin-160x64-m|Darwin PowerPC Console (monochrome) 160x64,
+       use=xnuppc+160x64, use=xnuppc+basic,
+
+xnuppc-160x64|darwin-160x64|Darwin PowerPC Console (color) 160x64,
+       use=xnuppc+c, use=xnuppc+160x64, use=xnuppc+basic,
+
+xnuppc-200x64-m|darwin-200x64-m|Darwin PowerPC Console (monochrome) 200x64,
+       use=xnuppc+200x64, use=xnuppc+basic,
+
+xnuppc-200x64|darwin-200x64|Darwin PowerPC Console (color) 200x64,
+       use=xnuppc+c, use=xnuppc+200x64, use=xnuppc+basic,
+
+xnuppc-200x75-m|darwin-200x75-m|Darwin PowerPC Console (monochrome) 200x75,
+       use=xnuppc+200x75, use=xnuppc+basic,
+
+xnuppc-200x75|darwin-200x75|Darwin PowerPC Console (color) 200x75,
+       use=xnuppc+c, use=xnuppc+200x75, use=xnuppc+basic,
+
+xnuppc-256x96-m|darwin-256x96-m|Darwin PowerPC Console (monochrome) 256x96,
+       use=xnuppc+256x96, use=xnuppc+basic,
+
+xnuppc-256x96|darwin-256x96|Darwin PowerPC Console (color) 256x96,
+       use=xnuppc+c, use=xnuppc+256x96, use=xnuppc+basic,
+
+######## DOS/WINDOWS
 # CRT is shareware.  It implements some xterm features, including mouse.
-crt|crt-vt220|CRT 2.3 emulating VT220, 
-       bce, msgr, 
-       colors#8, pairs#64, 
-       hts=\EH, op=\E[39;49m, setab=\E[4%p1%dm, 
-       setaf=\E[3%p1%dm, setb=\E[4%p1%dm, setf=\E[3%p1%dm, 
-       u6=\E[%i%d;%dR, u7=\E[6n, u8=\E[?1;2c, u9=\E[c, 
-       use=vt220, 
+crt|crt-vt220|CRT 2.3 emulating VT220,
+       bce, msgr,
+       ncv@,
+       hts=\EH, use=vt100+enq, use=vt220, use=ecma+color,
+
+#### PuTTY
+# PuTTY 0.55 (released 3 August 2004)
+# http://www.chiark.greenend.org.uk/~sgtatham/putty/
+#
+# Comparing with 0.51, vttest is much better (only a few problems with the
+# cursor position reports and wrapping).
+#
+# PuTTY 0.51 (released 14 December 2000)
+#
+# This emulates vt100 + vt52 (plus a few vt220 features:  ech, SRM, DECTCEM, as
+# well as SCO and Atari, color palettes from Linux console).  Reading the code,
+# it is intended to be VT102 plus selected features.  By default, it sets $TERM
+# to xterm, which is incorrect, since several features are misimplemented:
+#
+#      Alt+key always sends ESC+key, so 'km' capability is removed.
+#
+#      Control responses, wrapping and tabs are buggy, failing a couple of
+#      screens in vttest.
+#
+#      xterm mouse support is not implemented (unrelease version may).
+#
+# Several features such as backspace/delete are optional; this entry documents
+# the default behavior -TD
+#
+# PuTTY recognizes xterm's 1049 mode for switching to/from alternate screen,
+# but implements it incorrectly as mentioned here:
+#      http://stackoverflow.com/questions/24613237/terminal-retains-bg-color-after-closing-vim-using-color-scheme-and-putty-256co/37869114#37869114
+# PuTTY recognized xterm's 1006 mode since late 2015; subsequent release was
+# in 2017 (0.70) -TD
+putty|PuTTY terminal emulator,
+       am, bce, bw, ccc, mir, msgr, xenl, xon, XT,
+       colors#8, it#8, ncv#22, pairs#64, U8#1,
+       acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
+       bel=^G, blink=\E[5m, bold=\E[1m, cbt=\E[Z, civis=\E[?25l,
+       clear=\E[H\E[J, cnorm=\E[?25h, cr=\r,
+       csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=^H,
+       cud=\E[%p1%dB, cud1=\ED, cuf=\E[%p1%dC, cuf1=\E[C,
+       cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\EM,
+       dch=\E[%p1%dP, dch1=\E[P,
+       dispc=%?%p1%{8}%=%t\E%%G\342\227\230\E%%@%e%p1%{10}%=%t\E%%G
+             \342\227\231\E%%@%e%p1%{12}%=%t\E%%G\342\231\0\E%%@%e
+             %p1%{13}%=%t\E%%G\342\231\252\E%%@%e%p1%{14}%=%t\E%%G
+             \342\231\253\E%%@%e%p1%{15}%=%t\E%%G\342\230\274\E%%@
+             %e%p1%{27}%=%t\E%%G\342\206\220\E%%@%e%p1%{155}%=%t\E
+             %%G\340\202\242\E%%@%e%p1%c%;,
+       dl=\E[%p1%dM, dl1=\E[M, ech=\E[%p1%dX, ed=\E[J, el=\E[K,
+       el1=\E[1K, enacs=\E(B\E)0, flash=\E[?5h$<100/>\E[?5l,
+       home=\E[H, hpa=\E[%i%p1%dG, ht=^I, hts=\EH, il=\E[%p1%dL,
+       il1=\E[L, ind=\n,
+       initc=\E]P%p1%x%p2%{255}%*%{1000}%/%02x%p3%{255}%*%{1000}%/
+             %02x%p4%{255}%*%{1000}%/%02x,
+       is2=\E7\E[r\E[m\E[?7h\E[?1;4;6l\E[4l\E8\E>\E]R,
+       kLFT=\E[D, kRIT=\E[C, kb2=\E[G, kbs=^?, kcbt=\E[Z,
+       kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA,
+       kdch1=\E[3~, kend=\E[4~, khome=\E[1~, kich1=\E[2~,
+       kind=\E[B, knp=\E[6~, kpp=\E[5~, kri=\E[A, kspd=^Z, nel=\r\n,
+       oc=\E]R, op=\E[39;49m, rc=\E8, rev=\E[7m, ri=\EM, rmacs=^O,
+       rmam=\E[?7l, rmcup=\E[2J\E[?47l, rmir=\E[4l,
+       rmkx=\E[?1l\E>, rmpch=\E[10m, rmso=\E[27m, rmul=\E[24m,
+       rs2=\E<\E["p\E[50;6"p\Ec\E[?3l\E]R\E[?1000l,
+       s0ds=\E[10m, s1ds=\E[11m, s2ds=\E[12m, sc=\E7,
+       setab=\E[4%p1%dm, setaf=\E[3%p1%dm,
+       sgr=\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5
+           %;m%?%p9%t\016%e\017%;,
+       sgr0=\E[m\017, smacs=^N, smam=\E[?7h, smcup=\E[?47h,
+       smir=\E[4h, smkx=\E[?1h\E=, smpch=\E[11m, smso=\E[7m,
+       smul=\E[4m, tbc=\E[3g, vpa=\E[%i%p1%dd, E3=\E[3J,
+       use=ecma+index, use=xterm+sm+1006, use=putty+fnkeys,
+       use=vt102+enq, use=xterm+sl,
+vt100-putty|Reset PuTTY to pure vt100,
+       rs2=\E<\E["p\Ec\E[?3l\E]R\E[40"p\E[61"p\E[50;1;2"p,
+       use=vt100,
+putty-256color|PuTTY 0.58 with xterm 256-colors,
+       use=xterm+256setaf, use=putty,
+putty-noapp|putty with cursor keys in normal mode,
+       kLFT=\EOD, kRIT=\EOC, kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C,
+       kcuu1=\E[A, kind=\EOB, kri=\EOA, rmkx=\E>, smkx=\E=,
+       use=putty,
+
+# One of the keyboard selections is "VT100+".
+# pterm (the X11 port) uses shifted F1-F10 as F11-F20
+putty-vt100|VT100+ keyboard layout,
+       use=putty+fnkeys+vt100, use=putty,
+
+putty-sco|putty with SCO function keys,
+       use=putty+fnkeys+sco, use=putty,
+
+# PuTTY has more than one section in its Keyboard configuration:
+# a) backspace/delete, which we ignore since that choice largely depends on
+#    whether one matches Unix and BSD or Linux.
+# b) home/end keys, also ignored because the "rxvt" setting sends keys which
+#    are unrelated to rxvt's actual settings.
+# c) function keys and keypad - this is the interesting part.  None of the
+#    selections match any of their respective namesakes, but they are shown
+#    here to help users who expect that the selections do what is implied.
+#
+# This is the default setting for PuTTY
+putty+fnkeys|fn-keys for PuTTY,
+       use=putty+fnkeys+esc,
+
+putty+fnkeys+esc|ESC[n~ fn-keys for PuTTY,
+       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~,
+
+putty+fnkeys+linux|Linux fn-keys for PuTTY,
+       kf1=\E[[A, kf2=\E[[B, kf3=\E[[C, kf4=\E[[D, kf5=\E[[E,
+       use=putty+fnkeys+esc,
+
+putty+fnkeys+xterm|Xterm R6 fn-keys for PuTTY,
+       kf1=\EOP, kf2=\EOQ, kf3=\EOR, kf4=\EOS,
+       use=putty+fnkeys+esc,
+
+putty+fnkeys+vt400|VT400 fn-keys for PuTTY,
+       use=putty+fnkeys+esc,
+
+# Shifted F1 is F11.  F13-F20 inherit from the defaults, and the last distinct
+# key is F20.
+putty+fnkeys+vt100|VT100+ fn-keys for PuTTY,
+       kf1=\EOP, kf10=\EOY, kf11=\EOZ, kf12=\EO[, kf2=\EOQ,
+       kf3=\EOR, kf4=\EOS, kf5=\EOT, kf6=\EOU, kf7=\EOV, kf8=\EOW,
+       kf9=\EOX, use=putty+fnkeys+esc,
+
+# Unlike xterm-sco, this leaves kmous ambiguous with kf1.
+#
+# Use modifiers to obtain function keys past 12:
+# F1-F12 - normal
+# F13-F24 - shift
+# F25-F36 - control/alt
+# F37-F48 - control/shift
+#
+putty+fnkeys+sco|SCO fn-keys for PuTTY,
+       kbeg=\E[E, kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A,
+       kdch1=^?, kend=\E[F, kf1=\E[M, kf10=\E[V, kf11=\E[W,
+       kf12=\E[X, kf13=\E[Y, kf14=\E[Z, kf15=\E[a, kf16=\E[b,
+       kf17=\E[c, kf18=\E[d, kf19=\E[e, kf2=\E[N, kf20=\E[f,
+       kf21=\E[g, kf22=\E[h, kf23=\E[i, kf24=\E[j, kf25=\E[k,
+       kf26=\E[l, kf27=\E[m, kf28=\E[n, kf29=\E[o, kf3=\E[O,
+       kf30=\E[p, kf31=\E[q, kf32=\E[r, kf33=\E[s, kf34=\E[t,
+       kf35=\E[u, kf36=\E[v, kf37=\E[w, kf38=\E[x, kf39=\E[y,
+       kf4=\E[P, kf40=\E[z, kf41=\E[@, kf42=\E[[, kf43=\E[\\,
+       kf44=\E[], kf45=\E[\^, kf46=\E[_, kf47=\E[`, kf48=\E[{,
+       kf5=\E[Q, kf6=\E[R, kf7=\E[S, kf8=\E[T, kf9=\E[U, khome=\E[H,
+       kich1=\E[L, knp=\E[G, kpp=\E[I,
+
+#### mintty
+# https://github.com/mintty/mintty
+#
+# Originally a fork (and reduction) of PuTTY, this has grown from 15ksloc in
+# 2013 to 38ksloc in 2019.  That is still smaller than PuTTY (160ksloc), but
+# larger than rxvt (31ksloc).
+#
+# Version 3.0 responds to DA as a VT400, however it does not implement the
+# application keypad.  The assignment of cursor-keys versus modifiers differs
+# from xterm (alt-left and alt-right send modifier 7, i.e., alt+control).
+#
+# Thomas Wolff suggested these extensions:
+#      blink2   turn on rapid blinking
+#      blink0   turn off blinking
+#      norm     turn off bold and half-bright mode
+#      opaq     turn off blank mode
+#      smul2    begin double underline mode
+#      smol     begin overline mode
+#      rmol     exit overline mode
+#      Font0    use default font
+#      Font1    use alternative font 1
+#      ...
+#      Font10   use alternative font 10
+#      setal    set (under)line color
+#      ol       set default (under)line color
+#      overs    overstrike (print characters over each other)
+#
+# but see vte-2018 (use Smol/Rmol rather than smol/rmol).
+mintty|Cygwin Terminal,
+       setal=\E[5%p1%dm, use=xterm+256color,
+       use=mintty+common,
+mintty-direct|Cygwin Terminal direct-color,
+       setal=\E[%?%p1%{8}%<%t5%p1%d%e58\:2\:\:%p1%{65536}%/%d\:%p1
+             %{256}%/%{255}%&%d\:%p1%{255}%&%d%;m,
+       use=xterm+direct, use=mintty+common,
+mintty+common|shared capabilities for mintty,
+       km@, npc,
+       kcbt=\E[Z, kent=\EOM, rmm@, rmpch=\E[10m,
+       rs1=\Ec\E]104\007, rshm=\E[22m, rsubm=\E[75m,
+       rsupm=\E[75m, smm@, smpch=\E[11m, sshm=\E[1\:2m,
+       ssubm=\E[74m, ssupm=\E[73m, Rmol=\E[55m, Smol=\E[53m,
+       Smulx=\E[4\:%p1%dm, blink2=\E[6m, norm=\E[22m,
+       opaq=\E[28m, smul2=\E[21m, use=ansi+rep,
+       use=ecma+strikeout, use=ecma+index, use=vt420+lrmm,
+       use=xterm+sm+1006, use=xterm+pcfkeys, use=xterm+tmux,
+       use=xterm-basic,
+# 2019-06-09: These capabilities are commented-out for compatibility with
+# existing releases 5.9-6.1, and may be considered for inclusion after the
+# release of ncurses 6.2:
+#      Font0=\E[10m,
+#      Font1=\E[11m,
+#      Font2=\E[12m,
+#      Font3=\E[13m,
+#      Font4=\E[14m,
+#      Font5=\E[15m,
+#      Font6=\E[16m,
+#      Font7=\E[17m,
+#      Font8=\E[18m,
+#      Font9=\E[19m,
+#      Font10=\E[20m,
+#      blink0=\E[25m,
+#      ol=\E[59m,
+#      overs=\E[8\:7m,
+
+#### TeraTerm
 
 # This entry is for Tera Term Pro version 2.3, for MS-Windows 95/NT written by
 # T. Teranishi dated Mar 10, 1998.  It is a free software terminal emulator
@@ -2121,36 +4084,224 @@ crt|crt-vt220|CRT 2.3 emulating VT220,
 # retrieving the window title, and for setting the window size (i.e., using
 # "resize -s"), though it does not pass SIGWINCH to the application if the
 # user resizes the window with the mouse.
-teraterm|Tera Term Pro, 
-       km, xon@, 
-       ncv#43, vt@, 
-       acsc=+\020\,\021-\030.^Y0\333`\004a\261f\370g\361h\260i\316j\331k\277l\332m\300n\305o~p\304q\304r\304s_t\303u\264v\301w\302x\263y\363z\362{\343|\330}\234~\376, 
-       blink=\E[5m, bold=\E[1m, civis=\E[?25l, clear=\E[H\E[J, 
-       cnorm=\E[?25h, 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, ech=\E[%p1%dX, ed=\E[J, el=\E[K, el1=\E[1K, 
-       flash=\E[?5h\E[?5l$<200/>, hpa=\E[%i%p1%dG, 
-       il=\E[%p1%dL, il1=\E[L, kdch1=\E[3~, 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~, kich1=\E[2~, knp=\E[6~, 
-       kpp=\E[5~, kslt=\E[4~, op=\E[100m, rev=\E[7m, ri=\EM, 
-       rmso=\E[27m, rmul=\E[24m, sgr0=\E[m, smso=\E[7m, 
-       smul=\E[4m, u6=\E[%i%d;%dR, u7=\E[6n, u8=\E[?1;2c, u9=\E[c, 
-       vpa=\E[%i%p1%dd, 
-       use=klone+color, use=vt100, 
+teraterm2.3|Tera Term Pro,
+       km,
+       ncv#43, vt@,
+       acsc=+\020\,\021-\030.^Y0\333`\004a\261f\370g\361h\260i
+            \316j\331k\277l\332m\300n\305o~p\304q\304r\304s_t\303u
+            \264v\301w\302x\263y\363z\362{\343|\330}\234~\376,
+       blink=\E[5m, bold=\E[1m, civis=\E[?25l, clear=\E[H\E[J,
+       cnorm=\E[?25h, 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, ech=\E[%p1%dX, ed=\E[J, el=\E[K, el1=\E[1K,
+       flash=\E[?5h$<200/>\E[?5l, hpa=\E[%i%p1%dG,
+       il=\E[%p1%dL, il1=\E[L, kdch1=\E[3~, 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~, kich1=\E[2~, knp=\E[6~,
+       kpp=\E[5~, kslt=\E[4~, op=\E[100m, rev=\E[7m, ri=\EM,
+       rmso=\E[27m, rmul=\E[24m, sgr0=\E[0m\017, smso=\E[7m,
+       smul=\E[4m, vpa=\E[%i%p1%dd, use=vt100+enq,
+       use=klone+color, use=vt100,
+
+# Version 4.59 has regular vt100 line-drawing (so it is no longer necessary
+# to choose a Windows OEM font).
+#
+# Testing with tack:
+#      - it does not have xenl (suppress that)
+#      - underline seems to work with color (modify ncv).
+# Testing with vttest:
+#      - wrapping differs from vt100 (menu 1).
+#      - it recognizes xterm's X10 and normal mouse tracking, but none of the
+#        other flavors.
+#      - it recognizes the dtterm window controls for reporting size in
+#        characters and pixels.
+#      - it passes SIGWINCH.
+teraterm4.59|Tera Term Pro,
+       bce, xenl@,
+       ncv#41,
+       acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
+       kmous=\E[M, use=teraterm2.3,
+
+# Version 4.97
+#
+# Testing with tack:
+#      - no bell (flash works)
+#      - bold is yellow, blink is red.
+#      - default keyboard sends ^? for Delete, can be configured for kdch1
+#      - no meta mode
+# Testing with vttest:
+#      + autowrap has problems...
+#      + color-tests for bce feature match xterm's behavior
+#      + handles most of xterm's mouse-controls other than highlight-tracking.
+#        xterm's SGR 1006 works.
+#      + partial support for DEC locator-events
+#      + implements ECMA-48 SD/SU, but not REP, SL/SR.
+#      + has a "Tek" window, but does not work with vttest's examples
+#      + supports the dtterm window modify/report controls
+#      + responds to DECRQM and DECRQSS controls, but not consistent with DSR
+#        e.g., for VT220
+#      + VT220 screen-display tests are ok
+#      + no VT52 support
+# Other tests:
+#      + recognizes xterm's original direct-colors sequences, but result is
+#        poor.
+#      + no UTF-8 apparent when UTF-8 is set, with font Lucida Control
+teraterm4.97|Tera Term Pro,
+       XT, use=ecma+color, use=xterm+sm+1006, use=teraterm4.59,
+teraterm-256color|TeraTerm with xterm 256-colors,
+       use=xterm+256setaf, use=teraterm,
+
+teraterm|Tera Term,
+       use=teraterm4.97,
+
+#### Command prompt
 
 # Tested with WinNT 4.0, the telnet application assumes the screensize is
 # 25x80.  This entry uses the 'Terminal' font, to get line-drawing characters.
-ms-vt100|MS telnet imitating dec vt100, 
-       lines#25, 
-       acsc=+\020\,\021-\030.^Y0\333`\004a\261f\370g\361h\260i\316j\331k\277l\332m\300n\305o~p\304q\304r\304s_t\303u\264v\301w\302x\263y\363z\362{\343|\330}\234~\376, 
-       tbc@, u6=\E[%i%d;%dR, u7=\E[6n, u8=\E[?6c, u9=\E[c, 
-       use=vt100, 
-
-#### X terminal emulators
+#
+# Other notes:
+# a) Fails tack's cup (cursor-addressing) test, though cup works well enough
+#    for casual (occasional) use.  Also fails several of the vttest screens,
+#    but that is not unusual for vt100 "emulators".
+# b) Does not implement vt100 keypad
+# c) Recognizes a subset of vt52 controls.
+ms-vt100|MS telnet imitating dec vt100,
+       lines#25,
+       acsc=+\020\,\021-\030.^Y0\333`\004a\261f\370g\361h\260i
+            \316j\331k\277l\332m\300n\305o~p\304q\304r\304s_t\303u
+            \264v\301w\302x\263y\363z\362{\343|\330}\234~\376,
+       ka1@, ka3@, kb2@, kc1@, kc3@, kent@, kf0@, kf1@, kf10@, kf2@, kf3@, kf4@,
+       kf5@, kf6@, kf7@, kf8@, kf9@, tbc@, use=vt102+enq, use=vt100,
+
+# Tested with Windows 2000, the telnet application runs in a console window,
+# also using 'Terminal' font.
+#
+# Other notes:
+# a) This version has no function keys or numeric keypad.  Unlike the older
+#    version, the numeric keypad is entirely ignored.
+# b) The program sets $TERM to "ansi", which of course is inaccurate.
+ms-vt100-color|vtnt|windows 2000 ansi (sic),
+       bce,
+       dch=\E[%p1%dP, ich=\E[%p1%d@, use=ecma+color,
+       use=ms-vt100,
+
+# Based on comments from Federico Bianchi:
+#
+#      vt100+ is basically a VT102-noSGR with ANSI.SYS colors and a different
+#      scheme for PF keys.
+#
+# and PuTTY wishlist:
+#
+#      The modifiers are represented as the codes listed above, prefixed to
+#      the normal sequences.  If the modifier is pressed alone, its sequence
+#      is transmitted twice in succession.  If multiple modifiers apply,
+#      they're transmitted in the order shift, control, alt.
+#
+#      Shift   \E^S
+#      Alt     \E^A,
+#      Ctrl    \E^C,
+ms-vt100+|vt100+|windows XP vt100+ (sic),
+       kdch1=\E-, kend=\Ek, kf1=\E1, kf10=\E0, kf11=\E!, kf12=\E@,
+       kf13=\E\023\E1, kf14=\E\023\E2, kf15=\E\023\E3,
+       kf16=\E\023\E4, kf17=\E\023\E5, kf18=\E\023\E6,
+       kf19=\E\023\E7, kf2=\E2, kf20=\E\023\E8, kf21=\E\023\E9,
+       kf22=\E\023\E0, kf23=\E\023\E!, kf24=\E\023\E@,
+       kf25=\E\003\E1, kf26=\E\003\E2, kf27=\E\003\E3,
+       kf28=\E\003\E4, kf29=\E\003\E5, kf3=\E3, kf30=\E\003\E6,
+       kf31=\E\003\E7, kf32=\E\003\E8, kf33=\E\003\E9,
+       kf34=\E\003\E0, kf35=\E\003\E!, kf36=\E\003\E@,
+       kf37=\E\001\E1, kf38=\E\001\E2, kf39=\E\001\E3, kf4=\E4,
+       kf40=\E\001\E4, kf41=\E\001\E5, kf42=\E\001\E6,
+       kf43=\E\001\E7, kf44=\E\001\E8, kf45=\E\001\E9,
+       kf46=\E\001\E0, kf47=\E\001\E!, kf48=\E\001\E@, kf5=\E5,
+       kf6=\E6, kf7=\E7, kf8=\E8, kf9=\E9, khome=\Eh, kich1=\E+,
+       knp=\E/, kpp=\E?, use=ms-vt100-color,
+
+ms-vt-utf8|vt-utf8|UTF-8 flavor of vt100+,
+       use=ms-vt100+,
+
+# Windows 10 1903
+# Version 0.2.1715.0
+# https://github.com/microsoft/terminal
+#
+# The task manager shows this as "OpenConsole.exe", which differs
+# from the "Windows Command Processor" used for the command-prompt.
+#
+# The settings dialog does not work (unless the end user expects to open
+# profiles.json in Visual Studio).  There is no documentation, of course.
+#
+# Testing via an ssh connection, using openssh:
+# - the program sets TERM to cygwin if the tab is set to PowerShell,
+#   and to xterm-256color if "Legacy".  However, in the latter, more tests
+#   fail in vttest, which does not pay attention to TERM.
+# vttest:
+# - menu 1 (tests for cursor movement) misbehaves like command-prompt
+# - does not flush response to primary DA, leaving a ^M on the end when
+#   The PowerShell tab is used.  Both the "Legacy" tab and the command-prompt
+#   work properly in this test.
+# - in the generic VT100 tests, there are problems with character sets.
+# - outside of the generic VT100 tests, the program does poorly because most
+#   of the features are missing.
+# - ECH does not work properly
+# - a few generic xterm features are supported (set window title), but
+#   others are missing (such as the mouse).
+# - the cursor visible/invisible works in the PowerShell tab, not in "Legacy"
+# tack:
+# - blink, dim, bold, invis, protect do not work
+# - bce works (but per vttest, with ED, EL, not ECH)
+# - does not support keypad application mode
+# - implements most of the xterm modified keys; sometimes modifiers are ignored
+#   or simply incorrect
+# - sends escape+key rather than implementing meta mode
+# other:
+# - color palette cannot be altered
+ms-terminal|Windows10 terminal,
+       npc,
+       rmkx=\E[?1l, rmm@, smkx=\E[?1h, smm@, use=xterm+256setaf,
+       use=xterm+pcfkeys, use=xterm-basic,
+
+#### Visual Studio
+# Visual Studio Code 1.35.1 uses xterm.js (see https://xtermjs.org/).
+# https://code.visualstudio.com/docs/editor/integrated-terminal
+#
+# This sets TERM to xterm-256color, which is a little more successful than
+# Windows Terminal.
+#
+# vttest:
+# - menu 1 (cursor movement) has problems with wrapping
+# - claims to be a VT100 with AVO, but copies xterm #276's secondary response
+# - menu 8 (insert/delete char/line) has problem with delete-character
+# - like Windows Terminal, fails the ECH test: neither supports DECALN
+#   However, the bce test with ECH works.
+# - does not support keypad application mode
+# - supports most xterm mode controls (except DEC Locator Events)
+# - REP, SL/SL do not work, but SD/SU work.
+# - the alternate-screen tests fail because it does not support DECALN
+# - window modify/report is not supported
+# - supports some VT320 presentation reports
+# tack:
+# - does not support blinking text
+# - implements most of the xterm modified keys, with some exceptions:
+#   - pageup/pagedown do not send escapes
+#   - alt cursor left/right send escape-b and escape-f
+# - sends UTF-8 like xterm for meta mode
+# other:
+# - mouse mode is not reset by reset-sequence
+# - supports italics and dim, but not cross-out or double-underline
+# - color-palette cannot be changed
+vscode|xterm.js|Visual Studio Code terminal using xterm.js,
+       npc,
+       kcbt=\E[Z, rmkx=\E[?1l, smkx=\E[?1h, use=xterm+256setaf,
+       use=ecma+index, use=xterm+sm+1006, use=xterm+pcfkeys,
+       use=xterm-basic,
+vscode-direct|Visual Studio Code with direct-colors,
+       use=xterm+indirect, use=vscode,
+
+######## X TERMINAL EMULATORS
+#### XTERM
 #
 # You can add the following line to your .Xdefaults to change the terminal type
 # set by the xterms you start up to my-xterm:
@@ -2167,157 +4318,616 @@ ms-vt100|MS telnet imitating dec vt100,
 # (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, 
-# Compatible with the R5 xterm 
+x10term|vs100-x10|xterm terminal emulator (X10 window system),
+       OTbs, 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=\n, 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=\n, 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,
+# Compatible with the R5 xterm
 # (from the XFree86 3.2 distribution, <blink=@> removed)
-# added khome/kend, rmir/smir, rmul/smul based on the R5 xterm code - TD
+# added khome/kend, rmir/smir, rmul/smul, hts based on the R5 xterm code - TD
 # corrected typos in rs2 string - TD
-xterm-r5|xterm R5 version, 
-       am, km, msgr, xenl, 
-       cols#80, it#8, lines#24, 
-       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, home=\E[H, ht=^I, hts=\EH, ich=\E[%p1%d@, ich1=\E[@, 
-       il=\E[%p1%dL, il1=\E[L, ind=^J, kbs=^H, kcub1=\EOD, 
-       kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, kdch1=\E[3~, 
-       kdl1=\E[31~, kel=\E[8~, kend=\E[4~, kf0=\EOq, kf1=\E[11~, 
-       kf10=\E[21~, kf11=\E[23~, kf12=\E[24~, kf2=\E[12~, 
-       kf3=\E[13~, kf4=\E[14~, kf5=\E[15~, kf6=\E[17~, kf7=\E[18~, 
-       kf8=\E[19~, kf9=\E[20~, khome=\E[1~, kich1=\E[2~, 
-       kil1=\E[30~, kmous=\E[M, knp=\E[6~, kpp=\E[5~, rc=\E8, 
-       rev=\E[7m, ri=\EM, rmir=\E[4l, rmkx=\E[?1l\E>, rmso=\E[m, 
-       rmul=\E[m, 
-       rs2=\E>\E[?1;3;4;5;6l\E[4l\E[?7h\E[m\E[r\E[2J\E[H, 
-       sc=\E7, 
-       sgr=\E[%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p6%t;1%;m, 
-       sgr0=\E[m, smir=\E[4h, smkx=\E[?1h\E=, smso=\E[7m, 
-       smul=\E[4m, tbc=\E[3g, 
+# added u6-u9 -TD
+xterm-r5|xterm R5 version,
+       OTbs, am, km, msgr, xenl,
+       cols#80, it#8, lines#24,
+       bel=^G, bold=\E[1m, clear=\E[H\E[2J, cr=\r,
+       csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=^H,
+       cud=\E[%p1%dB, cud1=\n, 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, home=\E[H, ht=^I, hts=\EH, ich=\E[%p1%d@, ich1=\E[@,
+       il=\E[%p1%dL, il1=\E[L, ind=\n, kcub1=\EOD, kcud1=\EOB,
+       kcuf1=\EOC, kcuu1=\EOA, kdch1=\E[3~, kdl1=\E[31~,
+       kel=\E[8~, kend=\E[4~, kf0=\EOq, kf1=\E[11~, kf10=\E[21~,
+       kf11=\E[23~, kf12=\E[24~, kf2=\E[12~, kf3=\E[13~,
+       kf4=\E[14~, kf5=\E[15~, kf6=\E[17~, kf7=\E[18~, kf8=\E[19~,
+       kf9=\E[20~, khome=\E[1~, kich1=\E[2~, kil1=\E[30~,
+       kmous=\E[M, knp=\E[6~, kpp=\E[5~, rc=\E8, rev=\E[7m, ri=\EM,
+       rmir=\E[4l, rmkx=\E[?1l\E>, rmso=\E[m, rmul=\E[m,
+       rs2=\E>\E[?1;3;4;5;6l\E[4l\E[?7h\E[m\E[r\E[2J\E[H,
+       sc=\E7,
+       sgr=\E[%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p6%t;1
+           %;m,
+       sgr0=\E[m, smir=\E[4h, smkx=\E[?1h\E=, smso=\E[7m,
+       smul=\E[4m, tbc=\E[3g, use=vt100+enq, use=xterm+kbs,
 # Compatible with the R6 xterm
 # (from XFree86 3.2 distribution, <acsc> and <it> added, <blink@> removed)
-# added khome/kend - TD
-xterm-r6|xterm-old|xterm X11R6 version, 
-       am, km, mir, msgr, xenl, 
-       cols#80, it#8, lines#24, 
-       acsc=``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~, 
-       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)0, home=\E[H, ht=^I, il=\E[%p1%dL, 
-       il1=\E[L, ind=^J, 
-       is2=\E7\E[r\E[m\E[?7h\E[?1;3;4;6l\E[4l\E8\E>, kbs=^H, 
-       kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, 
-       kdch1=\E[3~, kf1=\EOP, 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=\EOQ, kf20=\E[34~, kf3=\EOR, kf4=\EOS, kf5=\E[15~, 
-       kf6=\E[17~, kf7=\E[18~, kf8=\E[19~, kf9=\E[20~, kfnd=\E[1~, 
-       kich1=\E[2~, kmous=\E[M, knp=\E[6~, kpp=\E[5~, kslt=\E[4~, 
-       meml=\El, memu=\Em, rc=\E8, rev=\E[7m, ri=\EM, rmacs=^O, 
-       rmcup=\E[2J\E[?47l\E8, rmir=\E[4l, rmkx=\E[?1l\E>, 
-       rmso=\E[m, rmul=\E[m, 
-       rs2=\E7\E[r\E[m\E[?7h\E[?1;3;4;6l\E[4l\E8\E>, sc=\E7, 
-       sgr0=\E[m, smacs=^N, smcup=\E7\E[?47h, smir=\E[4h, 
-       smkx=\E[?1h\E=, smso=\E[7m, smul=\E[4m, tbc=\E[3g, 
-       u6=\E[%i%d;%dR, u7=\E[6n, u8=\E[?1;2c, u9=\E[c, 
+# added khome/kend, hts based on the R6 xterm code - TD
+# (khome/kend do not actually work in X11R5 or X11R6, but many people use this
+# for compatibility with other emulators).
+xterm-r6|xterm X11R6 version,
+       OTbs, am, km, mir, msgr, xenl,
+       cols#80, it#8, lines#24,
+       acsc=``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
+       bel=^G, bold=\E[1m, clear=\E[H\E[2J, cr=\r,
+       csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=^H,
+       cud=\E[%p1%dB, cud1=\n, 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)0, home=\E[H, ht=^I, hts=\EH, il=\E[%p1%dL,
+       il1=\E[L, ind=\n,
+       is2=\E[m\E[?7h\E[4l\E>\E7\E[r\E[?1;3;4;6l\E8,
+       kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA,
+       kdch1=\E[3~, 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~, kich1=\E[2~, kmous=\E[M, knp=\E[6~, kpp=\E[5~,
+       kslt=\E[4~, meml=\El, memu=\Em, rc=\E8, rev=\E[7m, ri=\EM,
+       rmacs=^O, rmcup=\E[2J\E[?47l\E8, rmir=\E[4l,
+       rmkx=\E[?1l\E>, rmso=\E[m, rmul=\E[m,
+       rs2=\E[m\E[?7h\E[4l\E>\E7\E[r\E[?1;3;4;6l\E8, sc=\E7,
+       sgr0=\E[m, smacs=^N, smcup=\E7\E[?47h, smir=\E[4h,
+       smkx=\E[?1h\E=, smso=\E[7m, smul=\E[4m, tbc=\E[3g,
+       use=xterm+kbs, use=vt100+enq,
+xterm-old|antique xterm version,
+       use=xterm-r6,
 # This is the base xterm entry for the xterm supplied with XFree86 3.2 & up.
 # The name has been changed and some aliases have been removed.
-xterm-xf86-v32|xterm terminal emulator (XFree86 3.2 Window System), 
-       am, bce, km, mir, msgr, xenl, 
-       colors#8, cols#80, it#8, lines#24, pairs#64, 
-       acsc=``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~, 
-       bel=^G, bold=\E[1m, cbt=\E[Z, civis=\E[?25l, 
-       clear=\E[H\E[2J, cnorm=\E[?25h, 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, 
-       cvvis=\E[?25h, dch=\E[%p1%dP, dch1=\E[P, dl=\E[%p1%dM, 
-       dl1=\E[M, ech=\E[%p1%dX, ed=\E[J, el=\E[K, el1=\E[1K, 
-       enacs=\E(B\E)0, flash=\E[?5h\E[?5l, home=\E[H, 
-       hpa=\E[%i%p1%dG, ht=^I, hts=\EH, ich=\E[%p1%d@, ich1=\E[@, 
-       il=\E[%p1%dL, il1=\E[L, ind=^J, 
-       is2=\E7\E[r\E[m\E[?7h\E[?1;3;4;6l\E[4l\E8\E>, 
-       ka1=\EOw, ka3=\EOu, kb2=\EOy, kbeg=\EOE, kbs=^H, kc1=\EOq, 
-       kc3=\EOs, kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, 
-       kdch1=\177, kend=\EOF, 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=\EOH, kich1=\E[2~, 
-       kmous=\E[M, knp=\E[6~, kpp=\E[5~, kslt=\E[4~, meml=\El, 
-       memu=\Em, op=\E[39;49m, 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[27m, rmul=\E[24m, rs1=^O, 
-       rs2=\E7\E[r\E[m\E[?7h\E[?1;3;4;6l\E[4l\E8\E>, sc=\E7, 
-       setab=\E[4%p1%dm, setaf=\E[3%p1%dm, 
-       setb=\E[4%?%p1%{1}%=%t4%e%p1%{3}%=%t6%e%p1%{4}%=%t1%e%p1%{6}%=%t3%e%p1%d%;m, 
-       setf=\E[3%?%p1%{1}%=%t4%e%p1%{3}%=%t6%e%p1%{4}%=%t1%e%p1%{6}%=%t3%e%p1%d%;m, 
-       sgr=\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;m%?%p9%t\016%e\017%;, 
-       sgr0=\E[m\017, smacs=^N, smam=\E[?7h, smcup=\E7\E[?47h, 
-       smir=\E[4h, smkx=\E[?1h\E=, smso=\E[7m, smul=\E[4m, 
-       tbc=\E[3g, u6=\E[%i%d;%dR, u7=\E[6n, u8=\E[?1;2c, u9=\E[c, 
-       vpa=\E[%i%p1%dd, 
+xterm-xf86-v32|xterm terminal emulator (XFree86 3.2 Window System),
+       OTbs, am, bce, km, mir, msgr, xenl, XT,
+       cols#80, it#8, lines#24, ncv@,
+       acsc=``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
+       bel=^G, bold=\E[1m, cbt=\E[Z, civis=\E[?25l,
+       clear=\E[H\E[2J, cnorm=\E[?25h, cr=\r,
+       csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=^H,
+       cud=\E[%p1%dB, cud1=\n, 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,
+       ech=\E[%p1%dX, ed=\E[J, el=\E[K, el1=\E[1K, enacs=\E(B\E)0,
+       flash=\E[?5h$<100/>\E[?5l, home=\E[H, hpa=\E[%i%p1%dG,
+       ht=^I, hts=\EH, ich=\E[%p1%d@, ich1=\E[@, il=\E[%p1%dL,
+       il1=\E[L, ind=\n,
+       is2=\E7\E[r\E[m\E[?7h\E[?1;3;4;6l\E[4l\E8\E>,
+       kbeg=\EOE, kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA,
+       kdch1=^?, kend=\EOF, 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=\EOH, kich1=\E[2~, kmous=\E[M, knp=\E[6~,
+       kpp=\E[5~, kslt=\E[4~, meml=\El, memu=\Em, 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[27m, rmul=\E[24m,
+       rs1=^O, rs2=\E7\E[r\E8\E[m\E[?7h\E[?1;3;4;6l\E[4l\E>,
+       sc=\E7,
+       setb=\E[4%?%p1%{1}%=%t4%e%p1%{3}%=%t6%e%p1%{4}%=%t1%e%p1%{6}
+            %=%t3%e%p1%d%;m,
+       setf=\E[3%?%p1%{1}%=%t4%e%p1%{3}%=%t6%e%p1%{4}%=%t1%e%p1%{6}
+            %=%t3%e%p1%d%;m,
+       sgr=\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5
+           %;m%?%p9%t\016%e\017%;,
+       sgr0=\E[m\017, smacs=^N, smam=\E[?7h, smcup=\E7\E[?47h,
+       smir=\E[4h, smkx=\E[?1h\E=, smso=\E[7m, smul=\E[4m,
+       tbc=\E[3g, vpa=\E[%i%p1%dd, use=xterm+kbs, use=vt100+enq,
+       use=ecma+color, use=vt220+keypad,
 
 # This is the stock xterm entry supplied with XFree86 3.3, which uses VT100
 # codes for F1-F4 except while in VT220 mode.
-xterm-xf86-v33|xterm terminal emulator (XFree86 3.3 Window System), 
-       kf1=\EOP, kf2=\EOQ, kf3=\EOR, kf4=\EOS, 
-       use=xterm-xf86-v32, 
+xterm-xf86-v33|xterm terminal emulator (XFree86 3.3 Window System),
+       kf1=\EOP, kf2=\EOQ, kf3=\EOR, kf4=\EOS, use=xterm-xf86-v32,
 
 # This version was released in XFree86 3.3.3 (November 1998).
 # Besides providing printer support, it exploits a new feature that allows
 # xterm to use terminfo-based descriptions with the titeInhibit resource.
-xterm-xf86-v333|xterm terminal emulator (XFree86 3.3.3 Window System), 
-       mc5i, 
-       blink=\E[5m, ich1@, invis=\E[8m, 
-       is2=\E[!p\E[?3;4l\E[4l\E>, kdch1=\E[3~, kend=\E[4~, 
-       kfnd@, khome=\E[1~, kslt@, mc0=\E[i, mc4=\E[4i, mc5=\E[5i, 
-       rmcup=\E[?1047l\E[?1048l, rs1=\Ec, 
-       rs2=\E[!p\E[?3;4l\E[4l\E>, 
-       sgr=\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;%?%p7%t;8%;m%?%p9%t\016%e\017%;, 
-       smcup=\E[?1048h\E[?1047h, 
-       use=xterm-xf86-v33, 
-
-# This beta version will probably be released in XFree86 4.0.
-xterm-xf86-v40|xterm terminal emulator (XFree86 4.0 Window System), 
-       ka1=\EOH, ka3=\E[5~, kb2=\EOE, kc1=\EOF, kc3=\E[6~, 
-       kdch1=\177, kend=\EOF, khome=\EOH, rmcup=\E[?1049l, 
-       smcup=\E[?1049h, 
-       use=xterm-xf86-v333, 
-
-xterm-xfree86|xterm-new|xterm terminal emulator (XFree86 4.0 Window System), 
-       use=xterm-xf86-v40, 
+# -- the distribution contained incorrect khome/kend values -TD
+xterm-xf86-v333|xterm terminal emulator (XFree86 3.3.3 Window System),
+       blink=\E[5m, ich1@, invis=\E[8m,
+       is2=\E[!p\E[?3;4l\E[4l\E>, kdch1=\E[3~, kfnd@, kslt@,
+       rmcup=\E[?1047l\E[?1048l, rs1=\Ec,
+       rs2=\E[!p\E[?3;4l\E[4l\E>,
+       sgr=\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5
+           %;%?%p7%t;8%;m%?%p9%t\016%e\017%;,
+       smcup=\E[?1048h\E[?1047h, use=ansi+pp,
+       use=xterm-xf86-v33,
+
+# This version was released in XFree86 4.0.
+xterm-xf86-v40|xterm terminal emulator (XFree86 4.0 Window System),
+       npc,
+       kDC=\E[3;5~, kEND=\EO5F, kHOM=\EO5H, kIC=\E[2;5~,
+       kLFT=\EO5D, kNXT=\E[6;5~, kPRV=\E[5;5~, kRIT=\EO5C, ka1@,
+       ka3@, kb2=\EOE, kc1@, kc3@, kcbt=\E[Z, kdch1=\E[3~, kend=\EOF,
+       kf13=\EO2P, kf14=\EO2Q, kf15=\EO2R, kf16=\EO2S,
+       kf17=\E[15;2~, kf18=\E[17;2~, kf19=\E[18;2~,
+       kf20=\E[19;2~, kf21=\E[20;2~, kf22=\E[21;2~,
+       kf23=\E[23;2~, kf24=\E[24;2~, kf25=\EO5P, kf26=\EO5Q,
+       kf27=\EO5R, kf28=\EO5S, kf29=\E[15;5~, kf30=\E[17;5~,
+       kf31=\E[18;5~, kf32=\E[19;5~, kf33=\E[20;5~,
+       kf34=\E[21;5~, kf35=\E[23;5~, kf36=\E[24;5~, kf37=\EO6P,
+       kf38=\EO6Q, kf39=\EO6R, kf40=\EO6S, kf41=\E[15;6~,
+       kf42=\E[17;6~, kf43=\E[18;6~, kf44=\E[19;6~,
+       kf45=\E[20;6~, kf46=\E[21;6~, kf47=\E[23;6~,
+       kf48=\E[24;6~, khome=\EOH,
+       sgr=\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;m%?
+           %p9%t\016%e\017%;,
+       use=xterm+alt1049, use=xterm-xf86-v333,
+
+# This version was released in XFree86 4.3.
+xterm-xf86-v43|xterm terminal emulator (XFree86 4.3 Window System),
+       kDC=\E[3;2~, kEND=\E[1;2F, kHOM=\E[1;2H, kIC=\E[2;2~,
+       kLFT=\E[1;2D, kNXT=\E[6;2~, kPRV=\E[5;2~, kRIT=\E[1;2C,
+       kbeg@,
+       sgr=\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;%?
+           %p7%t;8%;m%?%p9%t\016%e\017%;,
+       use=xterm-xf86-v40,
+
+# This version was released in XFree86 4.4.
+xterm-xf86-v44|xterm terminal emulator (XFree86 4.4 Window System),
+       cnorm=\E[?12l\E[?25h, cvvis=\E[?12;25h, use=ecma+index,
+       use=xterm-xf86-v43,
+
+xterm-xfree86|xterm terminal emulator (XFree86),
+       use=xterm-xf86-v44,
+
+# This version reflects the current xterm features.
+xterm-new|modern xterm terminal emulator,
+       npc,
+       kcbt=\E[Z, kent=\EOM, use=ecma+index, use=ansi+rep,
+       use=ecma+strikeout, use=xterm+keypad, use=vt420+lrmm,
+       use=xterm+sm+1006, use=xterm+pcfkeys, use=xterm+tmux,
+       use=xterm-basic,
+
+# This fragment is for people who cannot agree on what the backspace key
+# should send.
+xterm+kbs|fragment for backspace key,
+       kbs=^H,
+#
+# This fragment describes as much of XFree86 xterm's "pc-style" function
+# keys as will fit into terminfo's 60 function keys.
+# From ctlseqs.ms:
+#    Code     Modifiers
+#  ---------------------------------
+#     2       Shift
+#     3       Alt
+#     4       Shift + Alt
+#     5       Control
+#     6       Shift + Control
+#     7       Alt + Control
+#     8       Shift + Alt + Control
+#  ---------------------------------
+# The meta key may also be used as a modifier in this scheme, adding another
+# bit to the parameter.
+xterm+pcfkeys|fragment for PC-style fkeys,
+       use=xterm+app, use=xterm+pcf2, use=xterm+pcc2,
+       use=xterm+pce2,
+#
+xterm+noapp|fragment with cursor keys in normal mode,
+       kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, kend=\E[F,
+       khome=\E[H,
+
+xterm+app|fragment with cursor keys in application mode,
+       kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, kend=\EOF,
+       khome=\EOH,
+#
+# The "PC-style" modifier scheme was introduced in xterm patch #94 (1999/3/27)
+# and revised in xterm patch #167 (2002/8/24).  Some other terminal emulators
+# copied the earlier scheme, as noted in the "use=" clauses in this file.
+#
+# The original assignments from patch #94 for cursor-keys had some technical
+# issues:
+#
+#      A parameter for a function-key to represent a modifier is just more
+#      bits.  But for a cursor-key it may change the behavior of the
+#      application.  For instance, emacs decodes the first parameter of a
+#      cursor-key as a repeat count.
+#
+#      A parameterized string should (really) not begin with SS3 (\EO).
+#      Rather, CSI (\E[) should be used.
+#
+# For these reasons, the original assignments were deprecated.  For
+# compatibility reasons, they are still available as a setting of xterm's
+# modifyCursorKeys resource.  These fragments list the modified cursor-keys
+# that might apply to xterm+pcfkeys with different values of that resource.
+#
+# These entries will have warnings when checking with tic because the kri/kind
+# capabilities duplicate the kUP/kDN extensions.  This is intentional, though
+# not part of the original plan.  The changes for xterm patch #206 (2005/11/3)
+# show that kri/kind were seen much later as part of a set including kLFT/kRIT:
+#
+#   * modify  xterm-new  terminfo  entry to use capabilities for shifted
+#     scroll forward/reverse as shifted cursor up/down.
+#
+# In the 1980s when terminfo was defined, the developers made more of
+# a distinction between shifted up/down versus shifted left/right since most
+# terminals can index (scroll up/down), while few can scroll left/right.
+xterm+pcc3|fragment with modifyCursorKeys:3,
+       kLFT=\E[>1;2D, kRIT=\E[>1;2C, kind=\E[>1;2B,
+       kri=\E[>1;2A, kDN=\E[>1;2B, kDN3=\E[>1;3B, kDN4=\E[>1;4B,
+       kDN5=\E[>1;5B, kDN6=\E[>1;6B, kDN7=\E[>1;7B,
+       kLFT3=\E[>1;3D, kLFT4=\E[>1;4D, kLFT5=\E[>1;5D,
+       kLFT6=\E[>1;6D, kLFT7=\E[>1;7D, kRIT3=\E[>1;3C,
+       kRIT4=\E[>1;4C, kRIT5=\E[>1;5C, kRIT6=\E[>1;6C,
+       kRIT7=\E[>1;7C, kUP=\E[>1;2A, kUP3=\E[>1;3A,
+       kUP4=\E[>1;4A, kUP5=\E[>1;5A, kUP6=\E[>1;6A,
+       kUP7=\E[>1;7A,
+
+xterm+pcc2|fragment with modifyCursorKeys:2,
+       kLFT=\E[1;2D, kRIT=\E[1;2C, kind=\E[1;2B, kri=\E[1;2A,
+       kDN=\E[1;2B, kDN3=\E[1;3B, kDN4=\E[1;4B, kDN5=\E[1;5B,
+       kDN6=\E[1;6B, kDN7=\E[1;7B, kLFT3=\E[1;3D, kLFT4=\E[1;4D,
+       kLFT5=\E[1;5D, kLFT6=\E[1;6D, kLFT7=\E[1;7D,
+       kRIT3=\E[1;3C, kRIT4=\E[1;4C, kRIT5=\E[1;5C,
+       kRIT6=\E[1;6C, kRIT7=\E[1;7C, kUP=\E[1;2A, kUP3=\E[1;3A,
+       kUP4=\E[1;4A, kUP5=\E[1;5A, kUP6=\E[1;6A, kUP7=\E[1;7A,
+
+xterm+pcc1|fragment with modifyCursorKeys:1,
+       kLFT=\E[2D, kRIT=\E[2C, kind=\E[2B, kri=\E[2A, kDN=\E[2B,
+       kDN3=\E[3B, kDN4=\E[4B, kDN5=\E[5B, kDN6=\E[6B, kDN7=\E[7B,
+       kLFT3=\E[3D, kLFT4=\E[4D, kLFT5=\E[5D, kLFT6=\E[6D,
+       kLFT7=\E[7D, kRIT3=\E[3C, kRIT4=\E[4C, kRIT5=\E[5C,
+       kRIT6=\E[6C, kRIT7=\E[7C, kUP=\E[2A, kUP3=\E[3A,
+       kUP4=\E[4A, kUP5=\E[5A, kUP6=\E[6A, kUP7=\E[7A,
+
+xterm+pcc0|fragment with modifyCursorKeys:0,
+       kLFT=\EO2D, kRIT=\EO2C, kind=\EO2B, kri=\EO2A, kDN=\EO2B,
+       kDN3=\EO3B, kDN4=\EO4B, kDN5=\EO5B, kDN6=\EO6B, kDN7=\EO7B,
+       kLFT3=\EO3D, kLFT4=\EO4D, kLFT5=\EO5D, kLFT6=\EO6D,
+       kLFT7=\EO7D, kRIT3=\EO3C, kRIT4=\EO4C, kRIT5=\EO5C,
+       kRIT6=\EO6C, kRIT7=\EO7C, kUP=\EO2A, kUP3=\EO3A,
+       kUP4=\EO4A, kUP5=\EO5A, kUP6=\EO6A, kUP7=\EO7A,
+
+#
+# Here are corresponding fragments from xterm patch #216:
+#
+xterm+pcf0|fragment with modifyFunctionKeys:0,
+       kf1=\EOP, kf10=\E[21~, kf11=\E[23~, kf12=\E[24~,
+       kf13=\EO2P, kf14=\EO2Q, kf15=\EO2R, kf16=\EO2S,
+       kf17=\E[15;2~, kf18=\E[17;2~, kf19=\E[18;2~, kf2=\EOQ,
+       kf20=\E[19;2~, kf21=\E[20;2~, kf22=\E[21;2~,
+       kf23=\E[23;2~, kf24=\E[24;2~, kf25=\EO5P, kf26=\EO5Q,
+       kf27=\EO5R, kf28=\EO5S, kf29=\E[15;5~, kf3=\EOR,
+       kf30=\E[17;5~, kf31=\E[18;5~, kf32=\E[19;5~,
+       kf33=\E[20;5~, kf34=\E[21;5~, kf35=\E[23;5~,
+       kf36=\E[24;5~, kf37=\EO6P, kf38=\EO6Q, kf39=\EO6R,
+       kf4=\EOS, kf40=\EO6S, kf41=\E[15;6~, kf42=\E[17;6~,
+       kf43=\E[18;6~, kf44=\E[19;6~, kf45=\E[20;6~,
+       kf46=\E[21;6~, kf47=\E[23;6~, kf48=\E[24;6~, kf49=\EO3P,
+       kf5=\E[15~, kf50=\EO3Q, kf51=\EO3R, kf52=\EO3S,
+       kf53=\E[15;3~, kf54=\E[17;3~, kf55=\E[18;3~,
+       kf56=\E[19;3~, kf57=\E[20;3~, kf58=\E[21;3~,
+       kf59=\E[23;3~, kf6=\E[17~, kf60=\E[24;3~, kf61=\EO4P,
+       kf62=\EO4Q, kf63=\EO4R, kf7=\E[18~, kf8=\E[19~, kf9=\E[20~,
+#
+xterm+pcf2|fragment with modifyFunctionKeys:2,
+       kf1=\EOP, kf10=\E[21~, kf11=\E[23~, kf12=\E[24~,
+       kf13=\E[1;2P, kf14=\E[1;2Q, kf15=\E[1;2R, kf16=\E[1;2S,
+       kf17=\E[15;2~, kf18=\E[17;2~, kf19=\E[18;2~, kf2=\EOQ,
+       kf20=\E[19;2~, kf21=\E[20;2~, kf22=\E[21;2~,
+       kf23=\E[23;2~, kf24=\E[24;2~, kf25=\E[1;5P, kf26=\E[1;5Q,
+       kf27=\E[1;5R, kf28=\E[1;5S, kf29=\E[15;5~, kf3=\EOR,
+       kf30=\E[17;5~, kf31=\E[18;5~, kf32=\E[19;5~,
+       kf33=\E[20;5~, kf34=\E[21;5~, kf35=\E[23;5~,
+       kf36=\E[24;5~, kf37=\E[1;6P, kf38=\E[1;6Q, kf39=\E[1;6R,
+       kf4=\EOS, kf40=\E[1;6S, kf41=\E[15;6~, kf42=\E[17;6~,
+       kf43=\E[18;6~, kf44=\E[19;6~, kf45=\E[20;6~,
+       kf46=\E[21;6~, kf47=\E[23;6~, kf48=\E[24;6~,
+       kf49=\E[1;3P, kf5=\E[15~, kf50=\E[1;3Q, kf51=\E[1;3R,
+       kf52=\E[1;3S, kf53=\E[15;3~, kf54=\E[17;3~,
+       kf55=\E[18;3~, kf56=\E[19;3~, kf57=\E[20;3~,
+       kf58=\E[21;3~, kf59=\E[23;3~, kf6=\E[17~, kf60=\E[24;3~,
+       kf61=\E[1;4P, kf62=\E[1;4Q, kf63=\E[1;4R, kf7=\E[18~,
+       kf8=\E[19~, kf9=\E[20~,
+#
+# Chunks from xterm #230:
+xterm+pce2|fragment with modifyCursorKeys:2,
+       kDC=\E[3;2~, kEND=\E[1;2F, kHOM=\E[1;2H, kIC=\E[2;2~,
+       kNXT=\E[6;2~, kPRV=\E[5;2~, kich1=\E[2~, knp=\E[6~,
+       kpp=\E[5~, kDC3=\E[3;3~, kDC4=\E[3;4~, kDC5=\E[3;5~,
+       kDC6=\E[3;6~, kDC7=\E[3;7~, kEND3=\E[1;3F, kEND4=\E[1;4F,
+       kEND5=\E[1;5F, kEND6=\E[1;6F, kEND7=\E[1;7F,
+       kHOM3=\E[1;3H, kHOM4=\E[1;4H, kHOM5=\E[1;5H,
+       kHOM6=\E[1;6H, kHOM7=\E[1;7H, kIC3=\E[2;3~, kIC4=\E[2;4~,
+       kIC5=\E[2;5~, kIC6=\E[2;6~, kIC7=\E[2;7~, kNXT3=\E[6;3~,
+       kNXT4=\E[6;4~, kNXT5=\E[6;5~, kNXT6=\E[6;6~,
+       kNXT7=\E[6;7~, kPRV3=\E[5;3~, kPRV4=\E[5;4~,
+       kPRV5=\E[5;5~, kPRV6=\E[5;6~, kPRV7=\E[5;7~,
+       use=xterm+edit,
+
+xterm+edit|fragment for 6-key editing-keypad,
+       kdch1=\E[3~, kich1=\E[2~, knp=\E[6~, kpp=\E[5~,
+       use=xterm+pc+edit,
+
+xterm+pc+edit|fragment for pc-style editing keypad,
+       kend=\E[4~, khome=\E[1~,
+
+xterm+vt+edit|fragment for vt220-style editing keypad,
+       kfnd=\E[1~, kslt=\E[4~,
+
+# These variations for alternate-screen and title-stacking were introduced by
+# xterm patch #331:
+xterm+noalt|xterm without altscreen,
+       rmcup@, smcup@,
+
+xterm+alt1049|xterm 90 feature,
+       rmcup=\E[?1049l, smcup=\E[?1049h,
+
+xterm+titlestack|xterm 251 feature,
+       rmcup=\E[23;0;0t, smcup=\E[22;0;0t,
+
+xterm+alt+title|xterm 90 and 251 features combined,
+       rmcup=\E[?1049l\E[23;0;0t, smcup=\E[?1049h\E[22;0;0t,
+
+# https://invisible-island.net/xterm/xterm.faq.html#xterm_keypad
+#
+# Xterm's emulation of the VT100 numeric keypad on a PC-keyboard runs into the
+# problem that the keypad layout is different, and that the natural choice for
+# PF1 is NumLock (which happens to be reserved for other use).  To work around
+# that, PF1-PF4 are emulated via F1-F4, which leaves the "/", "*" and "+" not
+# directly related to VT100.
+#
+# With the VT220 keypad block that uses the 1-9 keys as suggested in
+# terminfo(5), the other keys can be handled with user-defined capabilities:
+#
+#   _______________________________________
+#  | NumLock |    /    |    *    |    -    |
+#  |         |   $Oo   |   $Oj   |   $OS   |
+#  |_________|__kpDIV__|__kpMUL__|__kpSUB__|
+#  |    7         8         9    |         |
+#  |   $Ow   |   $Ox   |   $Oy   |    +    |
+#  |_ka1__K1_|_________|_ka3__K3_|   $Ok   |
+#  |    4    |    5    |    6    |  kpADD  |
+#  |   $Ot   |   $Ou   |   $Ov   |         |
+#  |_________|_kb2__K2_|_________|_________|
+#  |    1    |    2    |    3    |         |
+#  |   $Oq   |   $Or   |   $Os   |         |
+#  |_kc1__K4_|_________|_kc3__K5_|  enter  |
+#  |         0         |   .     |   $OM   |
+#  |        $Op        |  $On    |         |
+#  |___________________|_________|_kent_@8_|
+#
+xterm+keypad|xterm emulating VT100/VT220 numeric keypad,
+       kp5=\EOE, kpADD=\EOk, kpCMA=\EOl, kpDIV=\EOo, kpDOT=\EOn,
+       kpMUL=\EOj, kpSUB=\EOm, kpZRO=\EOp, use=vt220+keypad,
+#
+# Those chunks use the new-style (the xterm oldFunctionKeys resource is false).
+# Alternatively, the same scheme with old-style function keys as in xterm-r6
+# is shown here (because that is used in mrxvt and mlterm):
+xterm+r6f2|xterm with oldFunctionKeys and modifyFunctionKeys:2,
+       kf1=\E[11~, kf13=\E[11;2~, kf14=\E[12;2~, kf15=\E[13;2~,
+       kf16=\E[14;2~, kf2=\E[12~, kf25=\E[11;5~, kf26=\E[12;5~,
+       kf27=\E[13;5~, kf28=\E[14;5~, kf3=\E[13~, kf37=\E[11;6~,
+       kf38=\E[12;6~, kf39=\E[13;6~, kf4=\E[14~, kf40=\E[14;6~,
+       kf49=\E[11;3~, kf50=\E[12;3~, kf51=\E[13;3~,
+       kf52=\E[14;3~, kf61=\E[11;4~, kf62=\E[12;4~,
+       kf63=\E[13;4~, use=xterm+pcf2,
+#
+# This chunk is used for building the VT220/Sun/PC keyboard variants.
+xterm-basic|modern xterm terminal emulator - common,
+       OTbs, am, bce, km, mir, msgr, xenl, AX, XT,
+       colors#8, cols#80, it#8, lines#24, pairs#64,
+       acsc=``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
+       bel=^G, blink=\E[5m, bold=\E[1m, cbt=\E[Z, civis=\E[?25l,
+       clear=\E[H\E[2J, cnorm=\E[?12l\E[?25h, cr=\r,
+       csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=^H,
+       cud=\E[%p1%dB, cud1=\n, cuf=\E[%p1%dC, cuf1=\E[C,
+       cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A,
+       cvvis=\E[?12;25h, dch=\E[%p1%dP, dch1=\E[P, dim=\E[2m,
+       dl=\E[%p1%dM, dl1=\E[M, ech=\E[%p1%dX, ed=\E[J, el=\E[K,
+       el1=\E[1K, flash=\E[?5h$<100/>\E[?5l, home=\E[H,
+       hpa=\E[%i%p1%dG, ht=^I, hts=\EH, ich=\E[%p1%d@,
+       il=\E[%p1%dL, il1=\E[L, ind=\n, invis=\E[8m,
+       is2=\E[!p\E[?3;4l\E[4l\E>, kmous=\E[M, meml=\El,
+       memu=\Em, op=\E[39;49m, rc=\E8, rev=\E[7m, ri=\EM,
+       rmacs=\E(B, rmam=\E[?7l, rmir=\E[4l, rmkx=\E[?1l\E>,
+       rmm=\E[?1034l, rmso=\E[27m, rmul=\E[24m, rs1=\Ec,
+       rs2=\E[!p\E[?3;4l\E[4l\E>, sc=\E7, setab=\E[4%p1%dm,
+       setaf=\E[3%p1%dm,
+       setb=\E[4%?%p1%{1}%=%t4%e%p1%{3}%=%t6%e%p1%{4}%=%t1%e%p1%{6}
+            %=%t3%e%p1%d%;m,
+       setf=\E[3%?%p1%{1}%=%t4%e%p1%{3}%=%t6%e%p1%{4}%=%t1%e%p1%{6}
+            %=%t3%e%p1%d%;m,
+       sgr=%?%p9%t\E(0%e\E(B%;\E[0%?%p6%t;1%;%?%p5%t;2%;%?%p2%t;4%;
+           %?%p1%p3%|%t;7%;%?%p4%t;5%;%?%p7%t;8%;m,
+       sgr0=\E(B\E[m, smacs=\E(0, smam=\E[?7h, smir=\E[4h,
+       smkx=\E[?1h\E=, smm=\E[?1034h, smso=\E[7m, smul=\E[4m,
+       tbc=\E[3g, vpa=\E[%i%p1%dd, E3=\E[3J, use=ecma+italics,
+       use=ansi+pp, use=xterm+kbs, use=xterm+alt+title,
+       use=ansi+enq,
 
 # From: David J. MacKenzie <djm@va.pubnix.com>, 14 Nov 1997
-xterm-xi|xterm on XI Graphics Accelerated X under BSD/OS 3.1, 
-       rmso=\E[m, rmul=\E[m, 
-       use=xterm-xf86-v33, 
-
-# This is one of the variants of XFree86 3.3 xterm, updated for 4.0 (T.Dickey)
-xterm-16color|xterm with 16 colors like aixterm, 
-       colors#16, ncv#32, pairs#256, 
-       setab=\E[%?%p1%{8}%<%t%p1%{40}%+%e%p1%{92}%+%;%dm, 
-       setaf=\E[%?%p1%{8}%<%t%p1%{30}%+%e%p1%{82}%+%;%dm, 
-       setb=%p1%{8}%/%{6}%*%{4}%+\E[%d%p1%{8}%m%Pa%?%ga%{1}%=%t4%e%ga%{3}%=%t6%e%ga%{4}%=%t1%e%ga%{6}%=%t3%e%ga%d%;m, 
-       setf=%p1%{8}%/%{6}%*%{3}%+\E[%d%p1%{8}%m%Pa%?%ga%{1}%=%t4%e%ga%{3}%=%t6%e%ga%{4}%=%t1%e%ga%{6}%=%t3%e%ga%d%;m, 
-       use=xterm-xf86-v40, 
+# In retrospect, something like xterm-r6 was intended here -TD
+xterm-xi|xterm on XI Graphics Accelerated X under BSD/OS 3.1,
+       rmso=\E[m, rmul=\E[m, use=xterm-xf86-v33,
+
+#### XTERM Colors
+
+# 16-colors is one of the variants of XFree86 3.3 xterm, updated for 4.0
+# (T.Dickey)
+#
+# If configured to support 88- or 256-colors (which is fairly common in 2009),
+# xterm also recognizes the control sequences for initc -TD
+xterm-16color|xterm with 16 colors like aixterm,
+       ccc,
+       initc=\E]4;%p1%d;rgb\:%p2%{255}%*%{1000}%/%2.2X/%p3%{255}%*
+             %{1000}%/%2.2X/%p4%{255}%*%{1000}%/%2.2X\E\\,
+       use=xterm+osc104, use=ibm+16color, use=xterm-new,
+
+# 256-colors is a compile-time feature of XFree86 xterm beginning with
+# xterm patch #111 (1999/7/10) -TD
+xterm+256color|xterm 256-color feature,
+       ccc,
+       colors#0x100, pairs#0x10000,
+       initc=\E]4;%p1%d;rgb\:%p2%{255}%*%{1000}%/%2.2X/%p3%{255}%*
+             %{1000}%/%2.2X/%p4%{255}%*%{1000}%/%2.2X\E\\,
+       oc=\E]104\007,
+       setab=\E[%?%p1%{8}%<%t4%p1%d%e%p1%{16}%<%t10%p1%{8}%-%d%e48;
+             5;%p1%d%;m,
+       setaf=\E[%?%p1%{8}%<%t3%p1%d%e%p1%{16}%<%t9%p1%{8}%-%d%e38;5
+             ;%p1%d%;m,
+       setb@, setf@,
+
+# xterm OSC 104 resets the color palette.  Using it as part of xterm+256color
+# has the drawback that some of the xterm-alikes which use that building block
+# require a different approach to rs1 -TD
+xterm+osc104|reset color palette,
+       oc=\E]104\007, rs1=\Ec\E]104\007,
+
+# palette is hardcoded...
+xterm+256setaf|xterm 256-color (set-only),
+       ccc@,
+       colors#0x100, pairs#0x10000,
+       initc@, op=\E[39;49m,
+       setab=\E[%?%p1%{8}%<%t4%p1%d%e%p1%{16}%<%t10%p1%{8}%-%d%e48;
+             5;%p1%d%;m,
+       setaf=\E[%?%p1%{8}%<%t3%p1%d%e%p1%{16}%<%t9%p1%{8}%-%d%e38;5
+             ;%p1%d%;m,
+       setb@, setf@,
+
+# 88-colors is a compile-time feature of XFree86 xterm beginning with
+# xterm patch #115 (1999/9/18) -TD
+#
+# Note that the escape sequences used are the same as for 256-colors - xterm
+# has a different table of default color resource values.  If built for
+# 256-colors, it can still handle an 88-color palette by using the initc
+# capability.
+#
+# At this time (2007/7/14), except for rxvt 2.7.x, none of the other terminals
+# which support the xterm+256color feature support the associated initc
+# capability.  So it is cancelled in the entries which use this and/or the
+# xterm+256color block.
+#
+# The default color palette for the 256- and 88-colors are different.  A
+# given executable will have one palette (perhaps compiled-in).  If the program
+# supports xterm's control sequence, it can be programmed using initc.
+xterm+88color|xterm 88-color feature,
+       colors#88, pairs#7744, use=xterm+256color,
+
+# These variants of XFree86 3.9.16 xterm are built as a configure option.
+xterm-256color|xterm with 256 colors,
+       use=xterm+osc104, use=xterm+256color, use=xterm-new,
+xterm-88color|xterm with 88 colors,
+       use=xterm+osc104, use=xterm+88color,
+       use=xterm-256color,
+
+# Emacs 26.1 and later support direct color mode in terminals, using a
+# combination of user-defined capabilities and ncurses-dependent function
+# calls.  We will not include that here.
+#
+# Here is a first revision, which (disregarding the reuse of colors 1-7 which
+# is of interest only to the numerically illiterate), is compatible with other
+# terminal descriptions written for curses.  It relies upon the extended range
+# for numeric capabilities provided in ncurses 6.1:
+xterm+direct2|xterm with direct-color indexing,
+       RGB,
+       colors#0x1000000, pairs#0x10000,
+       initc@, op=\E[39;49m,
+       setab=\E[%?%p1%{8}%<%t4%p1%d%e48\:2\:%p1%{65536}%/%d\:%p1
+             %{256}%/%{255}%&%d\:%p1%{255}%&%d%;m,
+       setaf=\E[%?%p1%{8}%<%t3%p1%d%e38\:2\:%p1%{65536}%/%d\:%p1
+             %{256}%/%{255}%&%d\:%p1%{255}%&%d%;m,
+       setb@, setf@,
+xterm-direct2|xterm with direct-color indexing (old),
+       use=xterm+direct2, use=xterm+titlestack, use=xterm,
+
+# That in turn had a problem: in the original patch submitted for KDE konsole
+# in 2006, the submitter and the developer alike overlooked a "color space
+# identifier" parameter.  This version provides for that parameter:
+xterm+direct|xterm with direct-color indexing,
+       RGB,
+       colors#0x1000000, pairs#0x10000,
+       initc@, op=\E[39;49m,
+       setab=\E[%?%p1%{8}%<%t4%p1%d%e48\:2\:\:%p1%{65536}%/%d\:%p1
+             %{256}%/%{255}%&%d\:%p1%{255}%&%d%;m,
+       setaf=\E[%?%p1%{8}%<%t3%p1%d%e38\:2\:\:%p1%{65536}%/%d\:%p1
+             %{256}%/%{255}%&%d\:%p1%{255}%&%d%;m,
+       setb@, setf@,
+xterm-direct|xterm with direct-color indexing,
+       use=xterm+direct, use=xterm,
+
+# Here are corresponding flavors for terminals which could use the feature:
+iterm2-direct|iTerm2 with direct-color indexing,
+       use=xterm+direct, use=iterm2,
+mlterm-direct|mlterm with direct-color indexing,
+       use=xterm+direct, use=mlterm,
+
+# Meanwhile, in KDE #107487, the patch submitter and the developer both saw
+# that xterm's original implementation should have used colons for the
+# subparameter separators, but chose not to correct this in konsole.  As of
+# late 2017, konsole still accepts only the nonstandard semicolon delimiters.
+xterm+indirect|xterm with direct-color indexing (old),
+       RGB,
+       colors#0x1000000, pairs#0x10000,
+       initc@, op=\E[39;49m,
+       setab=\E[%?%p1%{8}%<%t4%p1%d%e48;2;%p1%{65536}%/%d;%p1%{256}
+             %/%{255}%&%d;%p1%{255}%&%d%;m,
+       setaf=\E[%?%p1%{8}%<%t3%p1%d%e38;2;%p1%{65536}%/%d;%p1%{256}
+             %/%{255}%&%d;%p1%{255}%&%d%;m,
+       setb@, setf@,
+konsole-direct|konsole with direct-color indexing,
+       use=xterm+indirect, use=konsole,
+st-direct|st with direct-color indexing,
+       use=xterm+indirect, use=st,
+vte-direct|vte with direct-color indexing,
+       use=xterm+indirect, use=vte,
+# reportedly in Apple's Mohave (fall 2018), but untested -TD
+nsterm-direct|nsterm with direct-color indexing,
+       use=xterm+indirect, use=nsterm,
+
+# As for others:
+# + Apple's Terminal.app does not recognize either form of the direct-color
+#   sequences.
+# + Cygwin's mintty recognizes xterm's original implementation, does okay with
+#   the colors.  Like vte, it is a subset of xterm, although different
+#   omissions/reservations of modified-keys are seen in testing.
+# + PuTTY 0.70 seems to recognize xterm's original implementation but does
+#   nothing useful with the colors.
+# + Teraterm 4.97, like PuTTY (no good).
+# + terminology 0.91 recognizes xterm's original implementation, but does
+#   nothing useful with it.
+
+#### XTERM Features
+
+# This chunk is based on suggestions by Ailin Nemui and Nicholas Marriott, who
+# asked for some of xterm's advanced features to be added to its terminfo
+# entry.  It defines extended capabilities not found in standard terminfo or
+# termcap.  These are useful in tmux, for instance, hence the name.
+#
+# One caveat in adding extended capabilities in ncurses is that if the names
+# are longer than two characters, then they will not be visible through the
+# termcap interface.
+#
+# Ms modifies the selection/clipboard.  Its parameters are
+#      p1 = the storage unit (clipboard, selection or cut buffer)
+#      p2 = the base64-encoded clipboard content.
+#
+# Ss is used to set the cursor style as described by the DECSCUSR
+#      function to a block or underline.
+# Se resets the cursor style to the terminal power-on default.
+#
+# Cs and Cr set and reset the cursor colour.
+xterm+tmux|advanced xterm features used in tmux,
+       Cr=\E]112\007, Cs=\E]12;%p1%s\007,
+       Ms=\E]52;%p1%s;%p2%s\007, Se=\E[2 q, Ss=\E[%p1%d q,
 
 # This is another variant, for XFree86 4.0 xterm (T.Dickey)
 # This is an 8-bit version of xterm, which emulates DEC vt220 with ANSI color.
@@ -2328,92 +4938,378 @@ xterm-16color|xterm with 16 colors like aixterm,
 #      SS3     \E O    \217
 #      CSI     \E [    \233
 #
-xterm-8bit|xterm terminal emulator 8-bit controls (X Window System), 
-       am, bce, km, mc5i, mir, msgr, xenl, 
-       colors#8, cols#80, it#8, lines#24, pairs#64, 
-       acsc=``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~, 
-       bel=^G, blink=\2335m, bold=\2331m, cbt=\233Z, 
-       civis=\233?25l, clear=\233H\2332J, cnorm=\233?25h, cr=^M, 
-       csr=\233%i%p1%d;%p2%dr, cub=\233%p1%dD, cub1=^H, 
-       cud=\233%p1%dB, cud1=^J, cuf=\233%p1%dC, cuf1=\233C, 
-       cup=\233%i%p1%d;%p2%dH, cuu=\233%p1%dA, cuu1=\233A, 
-       cvvis=\233?25h, dch=\233%p1%dP, dch1=\233P, 
-       dl=\233%p1%dM, dl1=\233M, ech=\233%p1%dX, ed=\233J, 
-       el=\233K, el1=\2331K, enacs=\E(B\E)0, 
-       flash=\233?5h\233?5l, home=\233H, hpa=\233%i%p1%dG, 
-       ht=^I, hts=\210, ich=\233%p1%d@, il=\233%p1%dL, il1=\233L, 
-       ind=^J, invis=\2338m, 
-       is2=\E7\E G\233r\233m\233?7h\233?1;3;4;6l\2334l\E8\E>, 
-       ka1=\217w, ka3=\217u, kb2=\217y, kbeg=\217E, kbs=^H, 
-       kc1=\217q, kc3=\217s, kcub1=\217D, kcud1=\217B, 
-       kcuf1=\217C, kcuu1=\217A, kdch1=\2333~, kend=\2334~, 
-       kent=\217M, kf1=\23311~, kf10=\23321~, kf11=\23323~, 
-       kf12=\23324~, kf13=\23325~, kf14=\23326~, kf15=\23328~, 
-       kf16=\23329~, kf17=\23331~, kf18=\23332~, kf19=\23333~, 
-       kf2=\23312~, kf20=\23334~, kf3=\23313~, kf4=\23314~, 
-       kf5=\23315~, kf6=\23317~, kf7=\23318~, kf8=\23319~, 
-       kf9=\23320~, khome=\2331~, kich1=\2332~, kmous=\233M, 
-       knp=\2336~, kpp=\2335~, mc0=\233i, mc4=\2334i, mc5=\2335i, 
-       meml=\El, memu=\Em, op=\23339;49m, rc=\E8, rev=\2337m, 
-       ri=\215, rmacs=^O, rmam=\233?7l, rmcup=\233?1049l, 
-       rmir=\2334l, rmkx=\233?1l\E>, rmso=\23327m, rmul=\23324m, 
-       rs1=\Ec, 
-       rs2=\E7\E[62"p\E G\233r\233m\233?7h\233?1;3;4;6l\2334l\E8\E>, 
-       sc=\E7, setab=\2334%p1%dm, setaf=\2333%p1%dm, 
-       setb=\2334%?%p1%{1}%=%t4%e%p1%{3}%=%t6%e%p1%{4}%=%t1%e%p1%{6}%=%t3%e%p1%d%;m, 
-       setf=\2333%?%p1%{1}%=%t4%e%p1%{3}%=%t6%e%p1%{4}%=%t1%e%p1%{6}%=%t3%e%p1%d%;m, 
-       sgr=\2330%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;%?%p7%t;8%;m%?%p9%t\016%e\017%;, 
-       sgr0=\233m^O, smacs=^N, smam=\233?7h, smcup=\233?1049h, 
-       smir=\2334h, smkx=\233?1h\E=, smso=\2337m, smul=\2334m, 
-       tbc=\2333g, u6=\233[%i%d;%dR, u7=\E[6n, u8=\233[?1;2c, 
-       u9=\E[c, vpa=\233%i%p1%dd, 
-
-xterm-24|vs100|xterms|xterm terminal emulator (X Window System), 
-       lines#24, use=xterm, 
+xterm-8bit|xterm terminal emulator 8-bit controls (X Window System),
+       OTbs, am, bce, km, mc5i, mir, msgr, npc, xenl, AX,
+       colors#8, cols#80, it#8, lines#24, pairs#64,
+       acsc=``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
+       bel=^G, blink=\2335m, bold=\2331m, cbt=\233Z,
+       civis=\233?25l, clear=\233H\2332J,
+       cnorm=\233?25l\233?25h, cr=\r, csr=\233%i%p1%d;%p2%dr,
+       cub=\233%p1%dD, cub1=^H, cud=\233%p1%dB, cud1=\n,
+       cuf=\233%p1%dC, cuf1=\233C, cup=\233%i%p1%d;%p2%dH,
+       cuu=\233%p1%dA, cuu1=\233A, cvvis=\233?12;25h,
+       dch=\233%p1%dP, dch1=\233P, dl=\233%p1%dM, dl1=\233M,
+       ech=\233%p1%dX, ed=\233J, el=\233K, el1=\2331K,
+       flash=\233?5h$<100/>\233?5l, home=\233H,
+       hpa=\233%i%p1%dG, ht=^I, hts=\210, ich=\233%p1%d@,
+       il=\233%p1%dL, il1=\233L, ind=\n, invis=\2338m,
+       is2=\E[62"p\E\sG\233m\233?7h\E>\E7\233?1;3;4;6l\2334l\233r
+           \E8,
+       ka1=\217w, ka3=\217u, kb2=\217y, kbeg=\217E, kc1=\217q,
+       kc3=\217s, kcbt=\233Z, kcub1=\217D, kcud1=\217B,
+       kcuf1=\217C, kcuu1=\217A, kdch1=\2333~, kend=\2334~,
+       kent=\217M, kf1=\23311~, kf10=\23321~, kf11=\23323~,
+       kf12=\23324~, kf13=\23325~, kf14=\23326~, kf15=\23328~,
+       kf16=\23329~, kf17=\23331~, kf18=\23332~, kf19=\23333~,
+       kf2=\23312~, kf20=\23334~, kf3=\23313~, kf4=\23314~,
+       kf5=\23315~, kf6=\23317~, kf7=\23318~, kf8=\23319~,
+       kf9=\23320~, khome=\2331~, kich1=\2332~, kmous=\233M,
+       knp=\2336~, kpp=\2335~, mc0=\233i, mc4=\2334i, mc5=\2335i,
+       meml=\El, memu=\Em, op=\23339;49m, rc=\E8, rev=\2337m,
+       ri=\215, rmacs=\E(B, rmam=\233?7l, rmcup=\233?1049l,
+       rmir=\2334l, rmkx=\233?1l\E>, rmso=\23327m, rmul=\23324m,
+       rs1=\Ec,
+       rs2=\E[62"p\E\sG\233m\233?7h\E>\E7\233?1;3;4;6l\2334l\233r
+           \E8,
+       sc=\E7, setab=\2334%p1%dm, setaf=\2333%p1%dm,
+       setb=\2334%?%p1%{1}%=%t4%e%p1%{3}%=%t6%e%p1%{4}%=%t1%e%p1
+            %{6}%=%t3%e%p1%d%;m,
+       setf=\2333%?%p1%{1}%=%t4%e%p1%{3}%=%t6%e%p1%{4}%=%t1%e%p1
+            %{6}%=%t3%e%p1%d%;m,
+       sgr=\2330%?%p6%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;%?
+           %p7%t;8%;m%?%p9%t\E(0%e\E(B%;,
+       sgr0=\2330m\E(B, smacs=\E(0, smam=\233?7h,
+       smcup=\233?1049h, smir=\2334h, smkx=\233?1h\E=,
+       smso=\2337m, smul=\2334m, tbc=\2333g, u6=\233[%i%d;%dR,
+       u7=\E[6n, u8=\233[?%[;0123456789]c, u9=\E[c,
+       vpa=\233%i%p1%dd, use=xterm+kbs,
+
+xterm-hp|xterm with hpterm function keys,
+       kclr=\EJ, kcub1=\ED, kcud1=\EB, kcuf1=\EC, kcuu1=\EA,
+       kdch1=\EP, kend=\EF, kf1=\Ep, kf2=\Eq, kf3=\Er, kf4=\Es,
+       kf5=\Et, kf6=\Eu, kf7=\Ev, kf8=\Ew, khome=\Eh, kich1=\EQ,
+       knp=\ES, kpp=\ET, use=xterm-basic,
+
+xterm-sco|xterm with SCO function keys,
+       kbeg=\E[E, kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A,
+       kdch1=^?, kend=\E[F, kf1=\E[M, kf10=\E[V, kf11=\E[W,
+       kf12=\E[X, kf13=\E[Y, kf14=\E[Z, kf15=\E[a, kf16=\E[b,
+       kf17=\E[c, kf18=\E[d, kf19=\E[e, kf2=\E[N, kf20=\E[f,
+       kf21=\E[g, kf22=\E[h, kf23=\E[i, kf24=\E[j, kf25=\E[k,
+       kf26=\E[l, kf27=\E[m, kf28=\E[n, kf29=\E[o, kf3=\E[O,
+       kf30=\E[p, kf31=\E[q, kf32=\E[r, kf33=\E[s, kf34=\E[t,
+       kf35=\E[u, kf36=\E[v, kf37=\E[w, kf38=\E[x, kf39=\E[y,
+       kf4=\E[P, kf40=\E[z, kf41=\E[@, kf42=\E[[, kf43=\E[\\,
+       kf44=\E[], kf45=\E[\^, kf46=\E[_, kf47=\E[`, kf48=\E[{,
+       kf5=\E[Q, kf6=\E[R, kf7=\E[S, kf8=\E[T, kf9=\E[U, khome=\E[H,
+       kich1=\E[L, kmous=\E[>M, knp=\E[G, kpp=\E[I,
+       use=xterm-basic,
+
+# The xterm-new description has all of the features, but is not completely
+# compatible with vt220.  If you are using a Sun or PC keyboard, set the
+# sunKeyboard resource to true:
+#      + maps the editing keypad
+#      + interprets control-function-key as a second array of keys, so a
+#        12-fkey keyboard can support vt220's 20-fkeys.
+#      + maps numeric keypad "+" to ",".
+#      + uses DEC-style control sequences for the application keypad.
+#
+xterm-vt220|xterm emulating vt220,
+       kcbt=\E[Z, kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA,
+       kend=\E[4~, 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~, kf20=\E[34~,
+       kf5=\E[15~, kf6=\E[17~, kf7=\E[18~, kf8=\E[19~, kf9=\E[20~,
+       khome=\E[1~, kich1=\E[2~, kmous=\E[M, knp=\E[6~, kpp=\E[5~,
+       use=xterm+app, use=xterm+edit, use=xterm-basic,
+       use=vt220+keypad,
+
+xterm-vt52|xterm emulating dec vt52,
+       cols#80, it#8, lines#24,
+       acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
+       bel=^G, clear=\EH\EJ, cr=\r, cub1=\ED, cud1=\EB, cuf1=\EC,
+       cup=\EY%p1%' '%+%c%p2%' '%+%c, cuu1=\EA, ed=\EJ, el=\EK,
+       home=\EH, ht=^I, ind=\n, kcub1=\ED, kcud1=\EB, kcuf1=\EC,
+       kcuu1=\EA, nel=\r\n, ri=\EI, rmacs=\EG, smacs=\EF,
+       use=xterm+kbs,
+
+xterm-noapp|xterm with cursor keys in normal mode,
+       rmcup@, rmkx=\E>, smcup@, smkx=\E=, use=xterm+noapp,
+       use=xterm,
+
+xterm-24|vs100|xterms|xterm terminal emulator (X Window System),
+       lines#24, use=xterm-old,
 
 # This is xterm for ncurses.
-xterm|xterm terminal emulator (X Window System), 
-       acsc=``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~, 
-       kmous=\E[M, u6=\E[%i%d;%dR, u7=\E[6n, u8=\E[?1;2c, u9=\E[c, 
-       use=xterm-r6, 
-
-# These entries allow access to the X titlebar and icon name as a status line. 
-# Note that twm (and possibly window managers descended from it such as tvtwm, 
-# ctwm, and vtwm) track windows by icon-name; thus, you don't want to mess
-# with it.
-xterm+sl|access X title line and icon name, 
-       hs, 
-       wsl#40, 
-       dsl=\E]0;\007, fsl=^G, tsl=\E]0;, use=xterm, 
-xterm+sl-twm|access X title line (pacify twm-descended window managers), 
-       hs, 
-       wsl#40, 
-       dsl=\E]2;\007, fsl=^G, tsl=\E]2;, use=xterm, 
+xterm|xterm terminal emulator (X Window System),
+       use=xterm-new,
+
+# This entry assumes that xterm's handling of VT100 SI/SO is disabled by
+# setting the vt100Graphics resource to false.
+xterm-utf8|xterm with no VT100 line-drawing in UTF-8 mode,
+       U8#1, use=xterm,
+
+# These building-blocks allow access to the X titlebar and icon name as a
+# status line.  There are a few problems in using them in entries:
+#
+# a) tsl should have a parameter to denote the column on which to transfer to
+#    the status line.
+# b) the "0" code for xterm updates both icon-title and window title.  Some
+#    window managers such as twm (and possibly window managers descended from
+#    it such as tvtwm, ctwm, and vtwm) track windows by icon-name. Thus, you
+#    don't want to mess with icon-name when using those window managers.
+#
+# The extension "TS" is preferable, because it does not accept a parameter.
+# However, if you are using a non-extended terminfo, "TS" is not visible.
+xterm+sl|access X title line and icon name,
+       hs,
+       dsl=\E]0;\007, fsl=^G, tsl=\E]0;, TS=\E]0;,
+xterm+sl-twm|access X title line (pacify twm-descended window managers),
+       hs,
+       dsl=\E]2;\007, fsl=^G, tsl=\E]2;, TS=\E]2;,
+
+# In contrast, this block can be used for a DEC vt320 and up.  There are two
+# controls used.
+#
+# DECSASD (select active status display)
+#      \E[0$}  Main display
+#      \E[1$}  Status line
+#
+# DECSSDT (select status line type)
+#      \E[0$~  No status line
+#      \E[1$~  Indicator status line
+#      \E[2$~  Host-writable status line
+#
+# The building block assumes that the terminal always shows something at the
+# status line (either the indicator, or status line).  That is because if no
+# status line is used, then the terminal makes that line part of the user
+# window, changing its size without notice.
+#
+# Because there is no "esl" (enable status line) capability, the "tsl"
+# capability ensures that the status line is host-writable.  A DEC terminal
+# will clear the status line when changing from indicator to host-writable
+# mode.
+#
+# Once on the status line, the row part of cursor addressing is ignored.  Since
+# tsl expects a parameter (to specify the column), the shortest addressing that
+# can be used for this purpose is HPA, e.g., \E[5d to go to column 5.
+#
+dec+sl|DEC VTxx status line,
+       eslok, hs,
+       dsl=\E[1$~, fsl=\E[0$}, tsl=\E[2$~\E[1$}\E[%i%p1%d`,
 
 #
 # The following xterm variants don't depend on your base version
 #
 # xterm with bold instead of underline
-xterm-bold|xterm terminal emulator (X11R6 Window System) standout w/bold, 
-       smso=\E[7m, smul=\E[1m, 
-       use=xterm, 
+xterm-bold|xterm terminal emulator (X11R6 Window System) standout w/bold,
+       sgr=%?%p9%t\016%e\017%;B\E[0%?%p6%t;1%;%?%p2%t;1%;%?%p1%p3%|
+           %t;7%;m,
+       smso=\E[7m, smul=\E[1m, use=xterm-old,
+
+# 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,
+# From: Mark Sheppard <kimble@mistral.co.uk>, 4 May 1996
+xterm1|xterm terminal emulator ignoring the alternate screen buffer,
+       rmcup@, smcup@, use=xterm,
+
+#### XTERM Mouse
+# The xterm mouse protocol is used by other terminal emulators.
+# In this section, two extended capabilities are used to illustrate the mouse
+# protocol: XM and xm.  The "XM" capability is recognized by ncurses to allow
+# enabling/disabling other mouse protocols.  The "xm" capability describes the
+# mouse response; currently there is no interpreter which would use this
+# information to make the mouse support completely data-driven.
+
+# Here is the "original" xterm mouse protocol.
+#
+# First seen in X10.3, February 1986, this likely dates from 1985 based on the
+# copyright dates in the sources.  A comment in charproc.c notes "MIT bogus
+# sequence", referring to the fact that it does not correspond to a "real"
+# terminal.  The mouse responses for the X10 protocol are sent only for
+# button-presses.
+xterm+x10mouse|X10 xterm mouse protocol,
+       kmous=\E[M, XM=\E[?9%?%p1%{1}%=%th%el%;,
+       xm=\E[M%p3%' '%+%c%p2%'!'%+%c%p1%'!'%+%c,
+xterm-x10mouse|X10 xterm mouse,
+       use=xterm+x10mouse, use=xterm,
+
+# Here is the conventional xterm mouse protocol, introduced with X11R1 in
+# September 1987.
+#
+# The mouse responses for the X11 protocol covered button releases, as well as
+# modifiers:
+#  shift    4
+#  alt/meta 8 (technically the "mod1" mask, because X11 has no such keys)
+#  control 16
+#
+# The modifiers are not reflected in this description because as used in xterm
+# they are normally inaccessible because the translations resources assign
+# shift and control to other features.  However, they are important because
+# they take up space in the first byte of the response.  The other bits of this
+# byte are used to encode the button number for both presses and releases.
+# In the X11 protocol, any button-release is encoded with "3" (the lowest 2
+# bits in the byte).  Later work on XFree86 xterm used the remaining 3 bits to
+# provide additional features, e.g., wheel mouse.
+#
+# X11R1's xterm also supported an "emacs" mouse protocol, with final character
+# "t" or "T", which was activated by double-clicking.  The "t" response was
+# used when the starting/ending positions were the same.
+#
+# X11R3 (February 1988) added the highlight/tracking mode.
+#
+# X11R4 (December 1989) added the control sequences document, listing the
+# control sequences for the X10/X11 protocols without descriptions.  It also
+# mentioned the "emacs" ("T") response.  Comments in button.c referred to the
+# X11 protocol as "DEC vt200 compatible", although DEC offered no such terminal.
+#
+# X11R5 (November 1993) gave a description of the mouse protocol.
+#
+# X11R6 (January 1995) moved the control sequences document out of the xterm
+# source-directory to xc/doc/specs/xterm, polishing the formatting but adding
+# no new information.
+xterm+x11mouse|X11 xterm mouse protocol,
+       kmous=\E[M, XM=\E[?1000%?%p1%{1}%=%th%el%;,
+       xm=\E[M%?%p4%t3%e%p3%'\s'%+%c%;%p2%'!'%+%c%p1%'!'%+%c,
+xterm-x11mouse|X11 mouse,
+       use=xterm+x11mouse, use=xterm,
+
+# Here is a suggested description of the xterm highlighting protocol.
+# A more complicated example could be constructed to account for the "t"
+# response.
+xterm+x11hilite|X11 xterm mouse protocol with highlight,
+       kmous=\E[M, XM=\E[?1001%?%p1%{1}%=%th%el%;,
+       xm=\E[%p6%'!'%+%p5%'!'%+%c%p8%'!'%+%c%p7%'!'%+%c%p2%'!'%+%c
+          %p1%'!'%+%cT,
+xterm-x11hilite|X11 mouse with highlight,
+       use=xterm+x11mouse, use=xterm,
+
+# The preceding were the sources from X Consortium.  Other sources (or patches)
+# were available.  Starting in mid-1995, XFree86 developers collected some of
+# those changes and began improvements, e.g., to support color.  This was, by
+# the way, around the same time that rxvt developers began implementing color,
+# though dates (and attributions) are not well documented.  I became interested
+# in xterm in late 1995, and involved in early 1996.  To complete the picture,
+# CDE's dtterm was introduced around the same time, with no mouse protocol -TD
+
+# xterm patch #83 (1998/10/7), added Jason Bacon's changes to provide an
+# "any-event" mouse mode.
+xterm+sm+1002|xterm any-event mouse,
+       kmous=\E[M, XM=\E[?1002%?%p1%{1}%=%th%el%;,
+xterm-1002|xterm any-event mouse,
+       use=xterm+sm+1002, use=xterm,
+
+xterm+sm+1003|testing xterm-mouse,
+       kmous=\E[M, XM=\E[?1003%?%p1%{1}%=%th%el%;,
+
+xterm-1003|testing xterm-mouse,
+       use=xterm+sm+1003, use=xterm,
+
+# xterm patch #116 (1999/9/25) added Stephen P Wall's changes to support DEC
+# locator mode.
+
+# xterm patch #120 (1999/10/28) added my change to support wheel mouse, by
+# dropping support for the X11 mouse protocol's shift-modifier and using
+# available bits in the first byte of the response to encode buttons 4 and 5.
+# xterm patch #126 (2000/2/8) amended that change to avoid conflicting with
+# older configurations which might have used the obsolete modifiers.
+
+# xterm patch #262 (2010/8/30) added Ryan Johnson's changes to provide a mode
+# where the coordinates in the mouse response would be encoded in UTF-8,
+# thereby extending the range of coordinates past 222=(255-33).  This is the
+# "1005" mouse mode.
+xterm+sm+1005|xterm UTF-8 mouse,
+       kmous=\E[M, XM=\E[?1005;1000%?%p1%{1}%=%th%el%;,
+       xm=\E[M%?%p4%t3%e%p3%'\s'%+%c%;%p2%'!'%+%u%p1%'!'%+%u,
+xterm-1005|xterm UTF-8 mouse,
+       use=xterm+sm+1005, use=xterm,
+
+# xterm patch #277 (2012/1/7) provides a mode where the mouse response uses
+# SGR-style parameters.
+#
+# Someone stated that the 1005 mouse mode would not be handled properly in luit.
+# (By the way, this is a problem with the X11 protocol).  A more plausible
+# criticism is that the responses provided by the 1005 mode are not distinct
+# from the non-1005 responses.
+#
+# As an alternative (and fixing the longstanding limitation of X11 mouse
+# protocol regarding button-releases), I provided this:
+xterm+sm+1006|xterm SGR-mouse,
+       kmous=\E[<, XM=\E[?1006;1000%?%p1%{1}%=%th%el%;,
+       xm=\E[<%p1%d;%p2%d;%p3%d;%?%p4%tM%em%;,
+xterm-1006|xterm SGR-mouse,
+       use=xterm+sm+1006, use=xterm,
+
+#### KTERM
 # (kterm: this had extension capabilities ":KJ:TY=ascii:" -- esr)
 # (kterm should not invoke DEC Graphics as the alternate character set
 #  -- Kenji Rikitake)
-kterm|kterm kanji terminal emulator (X window system), 
-       eslok, hs, 
-       acsc@, csr=\E[%i%p1%d;%p2%dr, dsl=\E[?H, enacs@, fsl=\E[?F, 
-       kmous=\E[M, op=\E[39;49m, rc=\E8, rmacs@, sc=\E7, smacs@, 
-       tsl=\E[?E\E[?%i%dT, 
-       use=xterm-r6, use=klone+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, 
-# From: Mark Sheppard <kimble@mistral.co.uk>, 4 May 1996 
-xterm1|xterm terminal emulator ignoring the alternate screen buffer, 
-       rmcup@, smcup@, 
-       use=xterm, 
+# (proper setting of enacs, smacs, rmacs makes kterm to use DEC Graphics
+#  -- MATSUMOTO Shoji)
+# kterm implements acsc via built-in table of X Drawable's
+kterm|kterm kanji terminal emulator (X window system),
+       eslok, hs, XT,
+       ncv@,
+       acsc=``aajjkkllmmnnooppqqrrssttuuvvwwxx~~,
+       csr=\E[%i%p1%d;%p2%dr, dsl=\E[?H, enacs=, fsl=\E[?F,
+       kmous=\E[M, rc=\E8, rmacs=\E(B, rmam=\E[?7l, sc=\E7,
+       sgr=\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;m%?%p9%t\E(0%e
+           \E(B%;,
+       sgr0=\E[m\E(B, smacs=\E(0, smam=\E[?7h,
+       tsl=\E[?E\E[?%i%p1%dT, use=xterm-r6, use=ecma+color,
+kterm-color|kterm-co|kterm with ANSI colors,
+       ncv@, use=kterm, use=ecma+color,
+
+#### Other XTERM
+
+# These (xtermc and xtermm) are distributed with Solaris.  They refer to a
+# variant of xterm which is apparently no longer supported, but are interesting
+# because they illustrate SVr4 curses mouse controls - T.Dickey
+xtermm|xterm terminal emulator (monocrome),
+       OTbs, am, km, mir, msgr, xenl,
+       btns#3, cols#80, it#8, lines#24,
+       acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
+       bel=^G, blink@, bold=\E[1m, clear=\E[H\E[2J, cr=\r,
+       csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=\E[D,
+       cud=\E[%p1%dB, cud1=\n, 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, el1=\E[1K$<3>, enacs=\E(B\E)0, getm=\E[%p1%dY,
+       home=\E[H, ht=^I, hts=\EH, ich=\E[%p1%d@, ich1=\E[@,
+       il=\E[%p1%dL, il1=\E[L, ind=\n, kbs=^H, kcub1=\EOD,
+       kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, kend=\E[Y, kf0=\EOy,
+       kf10=\EOY, kf11=\EOZ, kf12=\EOA, kf5=\EOT, kf6=\EOU,
+       kf7=\EOV, kf8=\EOW, kf9=\EOX, khome=\E[H, kmous=\E[^_,
+       knp=\E[U, kpp=\E[V, rc=\E8, reqmp=\E[492Z, rev=\E[7m, ri=\EM,
+       rmacs=^O, rmcup=\E@0\E[?4r, rmso=\E[m,
+       rs1=\E>\E[1;3;4;5;6l\E[?7h\E[m\E[r\E[2J\E[H,
+       rs2=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h, sc=\E7,
+       sgr=\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5
+           %;m%?%p9%t\016%e\017%;,
+       sgr0=\E[m\017, smacs=^N, smcup=\E@0\E[?4s\E[?4h\E@1,
+       smso=\E[7m, tbc=\E[3g, use=vt100+fnkeys,
+
+xtermc|xterm terminal emulator (color),
+       colors#8, ncv#7, pairs#64,
+       op=\E[100m, setab=\E[4%p1%dm, setaf=\E[3%p1%dm,
+       setb=\E[4%?%p1%{1}%=%t4%e%p1%{3}%=%t6%e%p1%{4}%=%t1%e%p1%{6}
+            %=%t3%e%p1%d%;m,
+       setf=\E[3%?%p1%{1}%=%t4%e%p1%{3}%=%t6%e%p1%{4}%=%t1%e%p1%{6}
+            %=%t3%e%p1%d%;m,
+       use=xtermm,
+
+# 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,
+       wsl#40,
+       bold=\E[1;43m, rev=\E[7;34m,
+       sgr=%?%p9%t\016%e\017%;\E[0%?%p6%t;1;43%;%?%p2%t;4;42%;%?%p1
+           %t;7;31%;%?%p3%t;7;34%;m,
+       smso=\E[7;31m, smul=\E[4;42m, use=xterm+sl, use=xterm-r6,
 
 # This describes the capabilities of color_xterm, an xterm variant from
 # before ECMA-64 color support was folded into the main-line xterm release.
@@ -2421,42 +5317,586 @@ xterm1|xterm terminal emulator ignoring the alternate screen buffer,
 # From: Jacob Mandelson <jlm@ugcs.caltech.edu>, 09 Nov 1996
 # The README's with the distribution also say that it supports SGR 21, 24, 25
 # and 27, but they are not present in the terminfo or termcap.
-color_xterm|cx|cx100|color_xterm color terminal emulator for X, 
-       am, km, mir, msgr, xenl, 
-       colors#8, cols#80, it#8, lines#65, pairs#64, 
-       acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~, 
-       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, el1=\E[1K, enacs=\E(B\E)0, home=\E[H, ht=^I, 
-       ich=\E[%p1%d@, il=\E[%p1%dL, il1=\E[L, ind=^J, 
-       is1=\E[r\E[m\E[?7h\E[?4;6l\E[4l, ka1=\EOw, ka3=\EOy, 
-       kb2=\EOu, kbs=^H, kc1=\EOq, kc3=\EOs, kcub1=\EOD, kcud1=\EOB, 
-       kcuf1=\EOC, kcuu1=\EOA, kend=\E[8~, kent=\EOM, kf1=\E[11~, 
-       kf10=\E[21~, kf11=\E[23~, kf12=\E[24~, kf2=\E[12~, 
-       kf3=\E[13~, kf4=\E[14~, kf5=\E[15~, kf6=\E[17~, kf7=\E[18~, 
-       kf8=\E[19~, kf9=\E[20~, khome=\E[7~, kich1=\E[2~, 
-       kmous=\E[M, knp=\E[6~, kpp=\E[5~, op=\E[39;49m, rc=\E8, 
-       rev=\E[7m, ri=\EM, rmacs=^O, rmam=\E[?7l, 
-       rmcup=\E>\E[?41;1r, rmir=\E[4l, rmso=\E[27m, rmul=\E[24m, 
-       rs1=\E(B\017\E[r\E[m\E[2J\E[H\E[?7h\E[?1;3;4;6l\E[4l\E<, 
-       sc=\E7, setab=\E[4%p1%dm, setaf=\E[3%p1%dm, 
-       sgr=\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;m%?%p9%t\016%e\017%;, 
-       sgr0=\E[m, smacs=^N, smam=\E[?7h, 
-       smcup=\E[?1;41s\E[?1;41h\E=, smir=\E[4h, smso=\E[7m, 
-       smul=\E[4m, 
-
-# The 'nxterm' distributed with Redhat Linux is a slight rehack of
+color_xterm|cx|cx100|color_xterm color terminal emulator for X,
+       OTbs, am, km, mir, msgr, xenl, XT,
+       cols#80, it#8, lines#65, ncv@,
+       acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
+       bel=^G, bold=\E[1m, clear=\E[H\E[2J, cr=\r,
+       csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=^H,
+       cud=\E[%p1%dB, cud1=\n, 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, el1=\E[1K, enacs=\E(B\E)0, home=\E[H, ht=^I,
+       ich=\E[%p1%d@, il=\E[%p1%dL, il1=\E[L, ind=\n,
+       is1=\E[r\E[m\E[?7h\E[?4;6l\E[4l, kbs=^H, kcub1=\EOD,
+       kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, kend=\E[8~, kf1=\E[11~,
+       kf10=\E[21~, kf11=\E[23~, kf12=\E[24~, kf2=\E[12~,
+       kf3=\E[13~, kf4=\E[14~, kf5=\E[15~, kf6=\E[17~, kf7=\E[18~,
+       kf8=\E[19~, kf9=\E[20~, khome=\E[7~, 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>\E[?41;1r, rmir=\E[4l,
+       rmso=\E[27m, rmul=\E[24m,
+       rs1=\E(B\017\E[r\E[m\E[2J\E[H\E[?7h\E[?1;3;4;6l\E[4l\E<,
+       sc=\E7,
+       sgr=\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5
+           %;m%?%p9%t\016%e\017%;,
+       sgr0=\E[0m\017, smacs=^N, smam=\E[?7h,
+       smcup=\E[?1;41s\E[?1;41h\E=, smir=\E[4h, smso=\E[7m,
+       smul=\E[4m, use=ecma+color, use=vt220+keypad,
+
+# The 'nxterm' distributed with Redhat Linux 5.2 is a slight rehack of
 # xterm-sb_right-ansi-3d, which implements ANSI colors, but does not support
 # SGR 39 or 49.  SGR 0 does reset colors (along with everything else).  This
 # description is "compatible" with color_xterm, rxvt and XFree86 xterm, except
 # that each of those implements the home, end, delete keys differently.
-nxterm|xterm-color|generic color xterm, 
-       ncv@, 
-       op=\E[m, use=xterm-r6, use=klone+color, 
+#
+# Redhat Linux 6.x distributes XFree86 xterm as "nxterm", which uses bce
+# colors; note that this is not compatible with the 5.2 version.
+# csw (2002-05-15): make xterm-color primary instead of nxterm, to
+#   match XFree86's xterm.terminfo usage and prevent circular links
+xterm-color|nxterm|generic color xterm,
+       ncv@,
+       op=\E[m, use=xterm-r6, use=klone+color,
 
+# 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, kcub1=\EOD, kcud1=\EOB,
+       kcuf1=\EOC, kcuu1=\EOA, kdch1=\E[3z, kend=\E[220z,
+       kent=\EOM, 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, kf45=\E[222z, kf46=\E[234z, kf47=\E[235z,
+       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-basic,
+xterms-sun|small (80x24) xterm with sunFunctionKeys true,
+       cols#80, lines#24, use=xterm-sun,
+
+#### GNOME (VTE)
+# this describes the alpha-version of Gnome terminal shipped with Redhat 6.0
+gnome-rh62|Gnome terminal,
+       bce,
+       kdch1=^?, kf1=\EOP, kf2=\EOQ, kf3=\EOR, kf4=\EOS,
+       use=xterm-color,
+
+# GNOME Terminal 1.4.0.4 (Redhat 7.2)
+#
+# This implements a subset of vt102 with a random selection of features from
+# other terminals such as color and function-keys.
+#
+# shift-f1 to shift-f10 are f11 to f20
+#
+# NumLock changes the application keypad to approximate vt100 keypad, except
+# that there is no escape sequence matching comma (,).
+#
+# Other defects observed:
+#      vt100 LNM mode is not implemented.
+#      vt100 80/132 column mode is not implemented.
+#      vt100 DECALN is not implemented.
+#      vt100 DECSCNM mode is not implemented, so flash does not work.
+#      vt100 TBC (tab reset) is not implemented.
+#      xterm alternate screen controls do not restore cursor position properly
+#      it hangs in tack after running function-keys test.
+gnome-rh72|GNOME Terminal,
+       bce, km@,
+       civis=\E[?25l, cnorm=\E[?25h, kdch1=\E[3~, kf1=\EOP,
+       kf2=\EOQ, kf3=\EOR, kf4=\EOS, rmam=\E[?7l,
+       sgr=\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;m%?%p9%t\016%e
+           \017%;,
+       sgr0=\E[0m\017, smam=\E[?7h, tbc@, use=xterm-color,
+
+# GNOME Terminal 2.0.1 (Redhat 8.0)
+#
+# Documentation now claims it implements vt220 (which is demonstrably false).
+# However, it does implement ECH, which is a vt220 feature.  And there are
+# workable vt100 LNM, DECALN, DECSNM modes, making it possible to display
+# more of its bugs using vttest.
+#
+# However, note that bce and msgr are broken in this release.  Tabs (tbc and
+# hts) are broken as well.  Sometimes flash (as in xterm-new) works.
+#
+# kf1 and kf10 are not tested since they're assigned (hardcoded?) to menu
+# operations.  Shift-tab generates a distinct sequence so it can be argued
+# that it implements kcbt.
+gnome-rh80|GNOME Terminal,
+       bce@, msgr@,
+       ech=\E[%p1%dX, flash=\E[?5h$<100/>\E[?5l, kbs=^?,
+       kcbt=\E^I, op=\E[39;49m, use=gnome-rh72,
+
+# GNOME Terminal 2.2.1 (Redhat 9.0)
+#
+# bce and msgr are repaired.
+gnome-rh90|GNOME Terminal,
+       bce, msgr, XT,
+       hpa=\E[%i%p1%dG, kDC=\E[3;2~, kLFT=\EO2D, kRIT=\EO2C,
+       kb2=\E[E, kcbt=\E[Z, kend=\EOF, khome=\EOH, tbc=\E[3g,
+       vpa=\E[%i%p1%dd, use=xterm+pcf0, use=xterm+pcfkeys,
+       use=gnome-rh80,
+
+# GNOME Terminal 2.14.2 (Fedora Core 5)
+# Ed Catmur notes that gnome-terminal has recognized soft-reset since May 2002.
+gnome-fc5|GNOME Terminal,
+       rs1=\Ec,
+       rs2=\E7\E[r\E8\E[m\E[?7h\E[!p\E[?1;3;4;6l\E[4l\E>\E[?1000l
+           \E[?25h,
+       use=ansi+enq, use=xterm+pcc0, use=gnome-rh90,
+
+# GNOME Terminal 2.18.1 (2007 snapshot)
+#
+# For any "recent" version of gnome-terminal, it is futile to attempt to
+# support modifiers on cursor- and keypad keys because the program usually
+# is hardcoded to set $TERM to "xterm", and on startup, it builds a subset
+# of the keys (which more/less correspond to the termcap values), and will
+# interpret those according to the $TERM value, but others not in the
+# terminfo according to some constantly changing set of hacker guidelines -TD
+vte-2007|VTE in GNOME Terminal snapshot 2.18.1,
+       use=xterm+pcc2, use=gnome-fc5,
+gnome-2007|GNOME Terminal snapshot 2.18.1,
+       use=vte-2007,
+
+# GNOME Terminal 2.22.3 (2008 snapshot)
+#
+# In vttest, it claims to be a vt220 with national replacement character-sets,
+# but aside from the identifier string, implements only a small fraction of
+# vt220's behavior, which will make it less usable on a VMS system (unclear
+# what the intent of the developer is, since the NRC feature exposed in vttest
+# by this change does not work).
+vte-2008|VTE in GNOME Terminal snapshot 2.22.3,
+       use=vte+pcfkeys, use=vte-2007,
+gnome-2008|GNOME Terminal snapshot 2.22.3,
+       use=vte-2008,
+
+# GNOME Terminal 3.6.0 (2012)
+# VTE 0.34.1 was marked in git 2012-10-15 (three days after patch was applied
+# in ncurses).  It inherited from gnome-fc5, which broke the modified forms
+# of f1-f4 -TD
+#
+# Testing with tack shows that flash does not/has not worked -TD
+vte-2012|VTE 0.34.1,
+       ncv#16,
+       dim=\E[2m, flash@, invis=\E[8m, rmso=\E[27m, rmul=\E[24m,
+       sgr=\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p5%t;2%;%?%p7%t;8%;%?%p1%p3
+           %|%t;7%;m%?%p9%t\016%e\017%;,
+       use=ecma+italics, use=vte-2008,
+# Version 3.6.1 sets TERM to xterm-256color (still hardcoded), which has
+# 61 differences from a correct entry for gnome terminal.
+gnome-2012|GNOME Terminal 3.6.0,
+       use=vte-2012,
+
+# Before 2008, GNOME terminal could automatically use the contents of the
+# "xterm" terminfo to supply key information which is not built into the
+# program.  With 2.22.3, this list was built into the program (which addressed
+# the inadvertent use of random terminfo data, though using a set of values
+# which did not correspond to any that xterm produced - still not solving the
+# problem that GNOME terminal hardcoded the $TERM variable as "xterm").
+#
+#      terminfo        modifier        code    keys
+#      kf13-kf24       shift           2       F1 to F12
+#      kf25-kf36       control         5       F1 to F12
+#      kf37-kf48       shift/control   6       F1 to F12
+#      kf49-kf60       alt             3       F1 to F12
+#      kf61-kf63       shift-alt       4       F1 to F3
+#
+# The parameters with \EO (SS3) are technically an error, since SS3 should have
+# no parameters.  This appears to be rote copying based on xterm+pcc0.
+vte+pcfkeys|VTE's variation on xterm+pcfkeys,
+       kf1=\EOP, kf13=\EO1;2P, kf14=\EO1;2Q, kf15=\EO1;2R,
+       kf16=\EO1;2S, kf2=\EOQ, kf25=\EO1;5P, kf26=\EO1;5Q,
+       kf27=\EO1;5R, kf28=\EO1;5S, kf3=\EOR, kf37=\EO1;6P,
+       kf38=\EO1;6Q, kf39=\EO1;6R, kf4=\EOS, kf40=\EO1;6S,
+       kf49=\EO1;3P, kf50=\EO1;3Q, kf51=\EO1;3R, kf52=\EO1;3S,
+       kf61=\EO1;4P, kf62=\EO1;4Q, kf63=\EO1;4R,
+       use=xterm+pcfkeys,
+gnome+pcfkeys|VTE's variation on xterm+pcfkeys,
+       use=vte+pcfkeys,
+
+# deprecated - use "vte" for newer versions
+gnome|GNOME Terminal,
+       use=vte-2012,
+gnome-256color|GNOME Terminal with xterm 256-colors,
+       use=xterm+256color, use=gnome,
+
+# relevant changes were made in January 2014, and later.
+#
+# Originally VTE was promoted as a library able to emulate any terminal by
+# reading its terminal description.  In practice, that never got beyond the
+# ability to read definitions of special keys (function-, editing-, cursor).
+#
+# Before 2014, VTE had a termcap reader (originally pointing to a private copy
+# of a termcap file derived from xterm).  That was incomplete because it did
+# not have any of the modifier-key information used for xterm's function-,
+# editing-, and cursor-keys.  Having its own reader was unnecessary since
+# ncurses provides that information; used since xterm patch #225 in 2007.
+#
+# During April/May 2014, a few bug reports (e.g., gnome #169295, gnome #728900,
+# gnome #730137) dealt with attempts to recast that termcap reader as library
+# calls, then attempting to adapt a chunk of code from ncurses (src/vteti.c),
+# abandoning that and finally constructing a table to match xterm's default
+# behavior, e.g., for "xterm+pcfkeys".
+vte-2014|VTE 0.35.1,
+       ncv@,
+       cbt=\E[Z, el1=\E[1K, flash=\E[?5h$<100/>\E[?5l,
+       ich=\E[%p1%d@, kent=\EOM, use=ecma+index,
+       use=xterm+sm+1006, use=xterm+pcfkeys, use=vte-2012,
+
+# As of January 2018, this was the  most recent release,
+# e.g., with gnome-terminal 3.26.2
+vte-2017|VTE 0.50.2,
+       use=ecma+strikeout, use=vte-2014,
+
+# VTE 0.51.2 and gnome-terminal 3.28.2 copied a feature from KovId's TTY
+# late in 2017 for changing the appearance of underlines, which was
+# incorporated into Debian and Fedora testing-packages in February and March
+# 2018, respectively. Overline (Smol/Rmol) has been supported since December
+# 2017.
+vte-2018|VTE 0.51.2,
+       Rmol=\E[55m, Smol=\E[53m, Smulx=\E[4\:%p1%dm,
+       use=vte-2017,
+
+vte|VTE aka GNOME Terminal,
+       use=vte-2018,
+
+vte-256color|VTE with xterm 256-colors,
+       use=xterm+256color, use=vte,
+
+# XFCE Terminal 0.2.5.4beta2
+#
+# This is based on some of the same source code, e.g., the VTE library, as
+# gnome-terminal, but has fewer features, fails more screens in vttest.
+# Since most of the terminfo-related behavior is due to the VTE library,
+# the terminfo is the same as gnome-terminal.
+xfce|Xfce Terminal,
+       use=vte-2008,
+
+# TERMITE
+#
+# https://github.com/thestinger/termite
+#
+# A review requires install of Arch Linux since Fedora and Debian don't have
+# this program.  It uses "vte3-ng" (a conflicting package), which is here:
+#      https://github.com/thestinger/vte-ng
+# which (based on the default branch setting) seems to be a fork of vte
+# 0.48.2, and is noted as such in Arch:
+#      https://www.archlinux.org/packages/community/x86_64/vte3-ng/
+# It won't be merged:
+#      https://bugzilla.gnome.org/show_bug.cgi?id=679658#c10
+#      https://bugzilla.gnome.org/show_bug.cgi?id=78291
+# but perhaps made obsolete.
+#
+# The entry as given was mislabeled "xterm-termite" (it is not xterm), and
+# was mostly cut/paste from xterm-256color, but since VTE does not actually
+# implement several of the features in that terminal description, this one is
+# trimmed to eliminate those.  Also, since it is a slightly older version of
+# VTE, it lacks a few more features (again, trimmed).
+termite|VTE-based terminal,
+       am, ccc, km, mir, msgr, npc, xenl,
+       cols#80, it#8, lines#24, ncv@,
+       acsc=++\,\,--..00``aaffgghhiijjkkllmmnnooppqqrrssttuuvvwwxxy
+            yzz{{||}}~~,
+       bel=^G, bold=\E[1m, cbt=\E[Z, civis=\E[?25l,
+       clear=\E[H\E[2J, cnorm=\E[?12l\E[?25h, cr=\r,
+       csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=^H,
+       cud=\E[%p1%dB, cud1=\n, 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, ech=\E[%p1%dX, ed=\E[J, el=\E[K, el1=\E[1K,
+       flash=\E[?5h$<100/>\E[?5l, home=\E[H, hpa=\E[%i%p1%dG,
+       ht=^I, hts=\EH, ind=\n, invis=\E[8m,
+       is2=\E[!p\E[?3;4l\E[4l\E>, kb2=\EOE, kbs=^?, kcbt=\E[Z,
+       kent=\EOM, kmous=\E[M, rc=\E8, rev=\E[7m, ri=\EM, rmacs=\E(B,
+       rmam=\E[?7l, rmkx=\E[?1l\E>, rmso=\E[27m, rmul=\E[24m,
+       rs1=\Ec, rs2=\E[!p\E[?3;4l\E[4l\E>, sc=\E7,
+       sgr=%?%p9%t\E(0%e\E(B%;\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p1%p3%|
+           %t;7%;%?%p7%t;8%;m,
+       sgr0=\E(B\E[m, smacs=\E(0, smam=\E[?7h, smkx=\E[?1h\E=,
+       smso=\E[7m, smul=\E[4m, tbc=\E[3g, vpa=\E[%i%p1%dd,
+       use=xterm+alt1049, use=ecma+index, use=ansi+idc,
+       use=ansi+idl, use=ansi+enq, use=ecma+italics,
+       use=xterm+256color, use=ecma+color, use=xterm+pcfkeys,
+       use=xterm+sl-twm,
+
+#### Other GNOME
+# Multi-Gnome-Terminal 1.6.2
+#
+# This does not use VTE, and does have different behavior (compare xfce and
+# gnome).
+mgt|Multi GNOME Terminal,
+       use=ecma+index, use=xterm-xf86-v333,
+
+#### KDE
+# This is kvt 0-18.7, shipped with Redhat 6.0 (though whether it supports bce
+# or not is debatable).
+kvt|KDE terminal,
+       bce, km@,
+       kdch1=^?, kend=\E[F, khome=\E[H, use=xterm-color,
+
+# Konsole 1.0.1 (2001/11/25)
+# (formerly known as kvt)
+#
+# This program hardcodes $TERM to 'xterm', which is not accurate.  However, to
+# simplify this entry (and point out why konsole isn't xterm), we base this on
+# xterm-r6.  The default keyboard appears to be 'linux'.
+#
+# Notes:
+# a) konsole implements several features from XFree86 xterm, though none of
+#    that is documented - except of course in its source code - apparently
+#    because its implementors are unaccustomed to reading documentation - as
+#    evidenced by the sparse and poorly edited documentation distributed with
+#    konsole.  Some features such as the 1049 private mode are recognized but
+#    incorrectly implemented as a duplicate of the 47 private mode.
+# b) even with the "vt100 (historical)" keyboard setting, the numeric keypad
+#    sends PC-style escapes rather than vt100.
+# c) fails vttest menu 3 (Test of character sets) because it does not properly
+#    parse some control sequences.  Also fails vttest Primary Device Attributes
+#    by sending a bogus code (in the source it says it's supposed to be a
+#    vt220, which is doubly incorrect because it does not implement vt220
+#    control sequences except for a few special cases).  Treat it as a
+#    mildly-broken vt102.
+#
+# Update for konsole 1.3.2:
+#    The 1049 private mode works (but see the other xterm screens in vttest).
+#    Primary Device Attributes now returns the code for a vt100 with advanced
+#    video option.  Perhaps that's intended to be a "mildly-broken vt102".
+#
+# Updated for konsole 1.6.4:
+#    add konsole-solaris
+#
+# Updated for konsole 1.6.6:
+#    add control-key modifiers for function-keys, etc.
+#
+# Updated for konsole 2.3 (October 2008):
+#    vttest menu 1 shows that both konsole and gnome terminal do wrapping
+#    different from xterm (and vt100's).  They have the same behavior in
+#    this detail, but it is unclear which copies the other.
+#
+# Deferred update for konsole 2.10 (late 2012):
+#    add SGR 1006 mouse
+#
+# Updated for konsole 2.12.4 (late 2013):
+#    add sitm/ritm
+#
+# Updated for konsole 16.07 (mid 2016):
+#    add dim, invis, strikeout
+#    (also overline, which is too rarely used to provide as an extension)
+#
+# Updated for konsole 17.12.0 (late 2017):
+konsole-base|KDE console window,
+       bce, km@, npc, XT,
+       ncv@,
+       bel@, blink=\E[5m, civis=\E[?25l, cnorm=\E[?25h, dim=\E[2m,
+       ech=\E[%p1%dX, flash=\E[?5h$<100/>\E[?5l,
+       hpa=\E[%i%p1%dG, invis=\E[8m, kbs=^?, kdch1=\E[3~,
+       kend=\E[4~, kf1@, kf10@, kf11@, kf12@, kf13@, kf14@, kf15@, kf16@,
+       kf17@, kf18@, kf19@, kf2@, kf20@, kf3@, kf4@, kf5@, kf6@, kf7@, kf8@,
+       kf9@, kfnd@, khome=\E[1~, kslt@, rmam=\E[?7l, rmso=\E[27m,
+       rmul=\E[24m, rs1=\Ec,
+       rs2=\E7\E[r\E8\E[m\E[?7h\E[?1;3;4;6l\E[4l\E>\E[?1000l\E[?25h,
+       sgr=\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;%?
+           %p5%t;2%;%?%p7%t;8%;m%?%p9%t\016%e\017%;,
+       sgr0=\E[0m\017, smam=\E[?7h, vpa=\E[%i%p1%dd,
+       use=ecma+index, use=xterm+sm+1006, use=ecma+strikeout,
+       use=ecma+italics, use=ecma+color, use=xterm-r6,
+
+# The keytab feature was introduced in 0.9.12 (February 2000) with "linux" and
+# "vt100" key-table files along with a compiled-in default key-table.
+#
+# The main difference between the two keytabs was that the developer equated
+# "vt100" with xterm, and noticed that the Linux console's F1-F5 differed from
+# that.  For the same reason, the home/end keys differ.  A VT100 had none of
+# that.  The otherwise identical keytabs have definitions to model the VT52
+# cursor-keys and the VT100 cursor-keys with application versus normal modes.
+#
+# An "x11r5" keytab (displayed in the menu as "X11 R5") was added in January
+# 2001, and shortly after retitled to "XFree 3.x.x".  Both it and "vt100" were
+# dropped from the install in June 2008.
+#
+# The default keytab added in January 2000 was originally titled "X11 R6",
+# and likewise retitled to "XFree 4".
+#
+# A "solaris" keytab was added in Febrary 2005, copying the "vt100" keytab
+# and changing backspace to ^H, removing that keytab's attempt to model the
+# VT100 keypad and VT52 (KDE #20459).
+#
+# The developers made changes to the default and linux keytabs.  Comparing
+# the original and 2018 versions using diffstat:
+#      default: 119 added, 147 deleted, 28 unchanged
+#      linux:   47 added, 28 deleted, 104 unchanged
+#
+# Most of the change for the default keytab was to make konsole act more like
+# xterm.  That was a feature named AnyMod which came in May 2005 for KDE #92749
+# (see also Redhat #122815).  Later, in June 2007 the compiled-in keytab was
+# made an external file (like "linux" and "solaris"), and some further
+# refinement made.  But there are still flaws in the scheme.
+#
+# Essentially AnyMod maps the xterm "PC-style" modifier codes such as 2 for
+# Shift into a placeholder in the table entries.  That works well if all of the
+# modified keys are modified in the same way.  But xterm does not do that.  The
+# first 4 function keys are used in xterm to support the VT100 PF1-PF4 keypad
+# keys.  For example, F2 sends \EOQ in both terminals because of this feature.
+# But a shifted F2 (F14=F2+12) differs like this, in infocmp's listing:
+#      kf14: '\E[1;2Q', '\EO2Q'.
+#
+# In effect, a quarter of konsole's function-keys are different from xterm.
+#
+# It is not a simple blunder:
+# a) xterm patch #121 (November 1999), providing the first version of the
+#    PC-style modifiers would send \EO2Q
+# b) xterm patch #216 (July 2006) amended this and other details, provided
+#    better documentation for the modifiers and made the behavior configurable,
+#    e.g., using the modifyFunctionKeys resource.  The reason why it sends
+#    \E[1;2Q is that \E[O2Q is not a legal ECMA-48 control sequence.  The
+#    changelog points this out as "avoid sending SS3 with parameters".
+# c) That came after AnyMod was introduced, but still early enough that one
+#    might expect konsole's developers to followup.  Twelve years later that
+#    has yet to happen.
+#
+# As of 2018, konsole still provides 3 keyboard profiles ("XFree 4", "linux",
+# "solaris").
+konsole-linux|KDE console window with linux keyboard,
+       kf1=\E[[A, kf10=\E[21~, kf11=\E[23~, kf12=\E[24~, kf13@,
+       kf14@, kf15@, kf16@, kf17@, kf18@, kf19@, kf2=\E[[B, kf20@,
+       kf3=\E[[C, kf4=\E[[D, kf5=\E[[E, kf6=\E[17~, kf7=\E[18~,
+       kf8=\E[19~, kf9=\E[20~, use=konsole-base,
+konsole-solaris|KDE console window with Solaris keyboard,
+       kbs=^H, kend=\E[4~, khome=\E[1~, use=konsole-vt100,
+
+# Obsolete: x11r5.keymap
+# KDE's "XFree86 3.x.x" keyboard was obviously based on reading the xterm
+# terminfo at the time rather than testing the code.
+konsole-xf3x|KDE console window with keyboard for XFree86 3.x xterm,
+       kend=\E[4~, khome=\E[1~, use=konsole-vt100,
+
+# The value for kbs (see konsole-vt100) reflects local customization rather
+# than the settings used for XFree86 xterm.
+konsole-xf4x|KDE console window with keyboard for XFree86 4.x xterm,
+       kend=\EOF, khome=\EOH, use=konsole+pcfkeys,
+       use=konsole-vt100,
+
+konsole+pcfkeys|konsole subset of xterm+pcfkeys,
+       kcbt=\E[Z, use=xterm+pcc2, use=xterm+pcf0,
+       use=xterm+pce2,
+
+# Obsolete: vt100.keymap
+# KDE's "vt100" keyboard has no relationship to any terminal that DEC made, but
+# it is still useful for deriving the other entries, since the developer
+# provided function-keys based on xterm.
+konsole-vt100|KDE console window with vt100 (sic) keyboard,
+       kbs=^?, kdch1=\E[3~, kend=\E[F, kf1=\E[11~, kf10=\E[21~,
+       kf11=\E[23~, kf12=\E[24~, kf13@, kf14@, kf15@, kf16@, kf17@,
+       kf18@, kf19@, kf2=\E[12~, kf20@, kf3=\E[13~, kf4=\E[14~,
+       kf5=\E[15~, kf6=\E[17~, kf7=\E[18~, kf8=\E[19~, kf9=\E[20~,
+       khome=\E[H, use=konsole-base,
+
+# Obsolete: vt420pc.keytab was added in June 2000, dropped from the install in
+# September 2008 and removed in June 2016.  The developer who removed it stated
+# that it was never installed.
+konsole-vt420pc|KDE console window with vt420 pc keyboard,
+       kbs=^H, kdch1=^?, use=konsole-vt100,
+
+# make a default entry for konsole
+konsole|KDE console window,
+       use=konsole-xf4x,
+
+# These were written for ncurses:
+konsole-16color|klone of xterm-16color,
+       ncv#32, use=ibm+16color, use=konsole,
+konsole-256color|KDE console window with xterm 256-colors,
+       use=xterm+256setaf, use=konsole,
+
+#### MLTERM
+# http://mlterm.sourceforge.net/
+
+mlterm|multi lingual terminal emulator,
+       use=mlterm3,
+
+# Tested mlterm 3.2.2:
+# mlterm 3.x has made changes, but they are not reflected in the included
+# mlterm.ti; this entry is based on testing with ncurses, tack and vttest -TD
+# 2018/01/21: found xterm+sm+1006 did not work with version 3.3.8
+mlterm3|multi lingual terminal emulator,
+       kf1=\E[11~, kf2=\E[12~, kf3=\E[13~, kf4=\E[14~,
+       use=ecma+italics, use=xterm+app, use=xterm+pcf0,
+       use=xterm+pcc2, use=xterm+pce2, use=xterm+x11mouse,
+       use=mlterm2,
+
+# This is mlterm 2.9.3's mlterm.ti, with some additions/corrections -TD
+#
+# It is nominally a vt102 emulator, with features borrowed from rxvt and
+# xterm.
+#
+# The function keys are numbered based on shift/control/alt modifiers, except
+# that the control-modifier itself is used to spawn a new copy of mlterm (the
+# "-P" option).  So control/F1 to control/F12 may not be usable, depending on
+# how it is configured.
+#
+#                              kf1 to kf12     \E[11~   to \E[24~
+#      shift                   kf1 to kf12     \E[11;2~ to \E[24;2~
+#      alt                     kf1 to kf12     \E[11;3~ to \E[24;3~
+#      shift/alt               kf1 to kf12     \E[11;4~ to \E[24;4~
+#      control                 kf1 to kf12     \E[11;5~ to \E[24;5~ (maybe)
+#      control/shift           kf1 to kf12     \E[11;6~ to \E[24;6~
+#      control/alt             kf1 to kf12     \E[11;7~ to \E[24;7~
+#      control/shift/alt       kf1 to kf12     \E[11;8~ to \E[24;8~
+#
+mlterm2|multi lingual terminal emulator,
+       am, eslok, km, mc5i, mir, msgr, npc, xenl, XT,
+       colors#8, cols#80, it#8, lines#24, pairs#64,
+       acsc=00``aaffgghhjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
+       bel=^G, bold=\E[1m, cbt=\E[Z, civis=\E[?25l,
+       clear=\E[H\E[2J, cnorm=\E[?25h, cr=\r,
+       csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=^H,
+       cud=\E[%p1%dB, cud1=\n, 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,
+       ech=\E[%p1%dX, ed=\E[J, el=\E[K, el1=\E[1K, enacs=,
+       home=\E[H, hpa=\E[%i%p1%dG, ht=^I, hts=\EH, ich=\E[%p1%d@,
+       ich1=\E[@, il=\E[%p1%dL, il1=\E[L, ind=\n,
+       is2=\E7\E[r\E[m\E[?7h\E[?1;3;4;6l\E[4l\E8\E>, kbs=^?,
+       kcbt=\E[Z, kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA,
+       kdch1=\E[3~, kend=\EOF, kent=\EOM, kfnd=\E[1~, khome=\EOH,
+       kich1=\E[2~, kind=\EO1;2B, kmous=\E[M, knp=\E[6~,
+       kpp=\E[5~, kri=\EO1;2A, kslt=\E[4~, mc0=\E[i, nel=\EE,
+       op=\E[39;49m, rc=\E8, rev=\E[7m, ri=\EM, rmacs=\E(B,
+       rmam=\E[?7l, rmir=\E[4l, rmkx=\E[?1l\E>, rmso=\E[27m,
+       rmul=\E[24m, rs1=\Ec,
+       rs2=\E7\E[r\E8\E[m\E[?7h\E[?1;3;4;6l\E[4l\E>\E[?1000l,
+       sc=\E7, setab=\E[4%p1%dm, setaf=\E[3%p1%dm,
+       sgr=\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;m%?%p9%t\E(0%e
+           \E(B%;,
+       sgr0=\E[m\E(B, smacs=\E(0, smam=\E[?7h, smir=\E[4h,
+       smkx=\E[?1h\E=, smso=\E[7m, smul=\E[4m, tbc=\E[3g,
+       u6=\E[%i%d;%dR, u7=\E[6n, u8=\E[?1;2c, u9=\E[c,
+       vpa=\E[%i%p1%dd, use=xterm+alt1049, use=ecma+index,
+       use=mlterm+pcfkeys, use=xterm+r6f2,
+
+# The insert/delete/home/end keys do not respond to modifiers because mlterm
+# looks in its termcap to decide which string to send.  If it used terminfo
+# (when available), it could use the extended names introduced for xterm.
+mlterm+pcfkeys|fragment for PC-style fkeys,
+       kLFT=\EO1;2D, kNXT=\E[6;2~, kPRV=\E[5;2~, kRIT=\EO1;2C,
+       kDN=\EO1;2B, kDN3=\EO1;3B, kDN4=\EO1;4B, kDN5=\EO1;5B,
+       kDN6=\EO1;6B, kDN7=\EO1;7B, kIC5=\E[2;5~, kIC6=\E[2;6~,
+       kLFT3=\EO1;3D, kLFT4=\EO1;4D, kLFT5=\EO1;5D,
+       kLFT6=\EO1;6D, kLFT7=\EO1;7D, kNXT5=\E[6;5~,
+       kNXT6=\E[6;6~, kPRV5=\E[5;5~, kPRV6=\E[5;6~,
+       kRIT3=\EO1;3C, kRIT4=\EO1;4C, kRIT5=\EO1;5C,
+       kRIT6=\EO1;6C, kRIT7=\EO1;7C, kUP=\EO1;2A, kUP3=\EO1;3A,
+       kUP4=\EO1;4A, kUP5=\EO1;5A, kUP6=\EO1;6A, kUP7=\EO1;7A,
+
+mlterm-256color|mlterm 3.0 with xterm 256-colors,
+       use=xterm+256color, use=mlterm,
+
+#### RXVT
 # From: Thomas Dickey <dickey@clark.net> 04 Oct 1997
 # Updated: Oezguer Kesim <kesim@math.fu-berlin.de> 02 Nov 1997
 # Notes:
@@ -2474,297 +5914,1674 @@ nxterm|xterm-color|generic color xterm,
 #
 # rxvt is normally configured to look for "xterm" or "xterm-color" as $TERM.
 # Since rxvt is not really compatible with xterm, it should be configured as
-# "rxvt" (monochrome) and "rxvt-color". 
-rxvt-basic|rxvt terminal base (X Window System), 
-       am, bce, eo, km, mir, msgr, xenl, xon, 
-       cols#80, it#8, lines#24, 
-       acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~, 
-       bel=^G, blink=\E[5m, bold=\E[1m, civis=\E[?25l, 
-       clear=\E[H\E[2J, cnorm=\E[?25h, 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, 
-       cvvis=\E[?25h, dch=\E[%p1%dP, dch1=\E[P, dl=\E[%p1%dM, 
-       dl1=\E[M, ed=\E[J, el=\E[K, el1=\E[1K, enacs=\E(B\E)0, 
-       flash=\E[?5h\E[?5l, home=\E[H, ht=^I, hts=\EH, 
-       ich=\E[%p1%d@, ich1=\E[@, il=\E[%p1%dL, il1=\E[L, ind=^J, 
-       is1=\E[?47l\E=\E[?1l, 
-       is2=\E[r\E[m\E[2J\E[H\E[?7h\E[?1;3;4;6l\E[4l, 
-       kDC=\E[3$, kEND=\E[8$, kHOM=\E[7$, kLFT=\E[d, kNXT=\E[6$, 
-       kPRV=\E[5$, kRIT=\E[c, ka1=\EOw, ka3=\EOy, kb2=\EOu, kbs=^H, 
-       kc1=\EOq, kc3=\EOs, kcbt=\E[Z, kcub1=\E[D, kcud1=\E[B, 
-       kcuf1=\E[C, kcuu1=\E[A, kdch1=\E[3~, kel=\E[8\^, 
-       kend=\E[8~, kent=\EOM, kf0=\E[21~, 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=\E[7~, kich1=\E[2~, 
-       kmous=\E[M, knp=\E[6~, kpp=\E[5~, kslt=\E[4~, rc=\E8, 
-       rev=\E[7m, ri=\EM, rmacs=^O, rmcup=\E[2J\E[?47l\E8, 
-       rmir=\E[4l, rmkx=\E>, rmso=\E[27m, rmul=\E[24m, 
-       rs1=\E>\E[1;3;4;5;6l\E[?7h\E[m\E[r\E[2J\E[H, 
-       rs2=\E[r\E[m\E[2J\E[H\E[?7h\E[?1;3;4;6l\E[4l\E>, 
-       s0ds=\E(B, s1ds=\E(0, sc=\E7, sgr0=\E[0m\017, smacs=^N, 
-       smcup=\E7\E[?47h, smir=\E[4h, smkx=\E=, smso=\E[7m, 
-       smul=\E[4m, tbc=\E[3g, 
-rxvt|rxvt terminal emulator (X Window System), 
-       colors#8, pairs#64, 
-       op=\E[39;49m, setab=\E[%p1%{40}%+%dm, 
-       setaf=\E[%p1%{30}%+%dm, sgr0=\E[m\017, use=rxvt-basic, 
-
-# These (xtermc and xtermm) are distributed with Solaris.  They refer to a
-# variant of xterm which is apparently no longer supported, but are interesting
-# because they illustrate SVr4 curses mouse controls - T.Dickey
-xtermm|xterm terminal emulator (monocrome), 
-       am, km, mir, msgr, xenl, 
-       btns#3, cols#80, it#8, lines#24, 
-       acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~, 
-       bel=^G, blink=@, bold=\E[1m, clear=\E[H\E[2J, cr=^M, 
-       csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=\E[1D, 
-       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, el1=\E[1K$<3>, enacs=\E(B\E)0, getm=\E[%p1%dY, 
-       home=\E[H, ht=^I, hts=\EH, ich=\E[%p1%d@, ich1=\E[@, 
-       il=\E[%p1%dL, il1=\E[L, ind=^J, ka1=\EOq, ka3=\EOs, kb2=\EOr, 
-       kbs=^H, kc1=\EOp, kc3=\EOn, kcub1=\EOD, kcud1=\EOB, 
-       kcuf1=\EOC, kcuu1=\EOA, kend=\E[Y, kent=\EOM, kf0=\EOy, 
-       kf1=\EOP, kf10=\EOY, kf11=\EOZ, kf12=\EOA, kf2=\EOQ, 
-       kf3=\EOR, kf4=\EOS, kf5=\EOT, kf6=\EOU, kf7=\EOV, kf8=\EOW, 
-       kf9=\EOX, khome=\E[H, kmous=\E[^_, knp=\E[U, kpp=\E[V, 
-       rc=\E8, reqmp=\E[492Z, rev=\E[7m, ri=\EM, rmacs=^O, 
-       rmcup=\E@0\E[?4r, rmso=\E[m, 
-       rs1=\E>\E[1;3;4;5;6l\E[?7h\E[m\E[r\E[2J\E[H, 
-       rs2=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h, sc=\E7, 
-       sgr=\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;m%?%p9%t\016%e\017%;, 
-       sgr0=\E[m\017, smacs=^N, smcup=\E@0\E[?4s\E[?4h\E@1, 
-       smso=\E[7m, tbc=\E[3g, 
-
-xtermc|xterm terminal emulator (color), 
-       colors#8, ncv#7, pairs#64, 
-       op=\E[100m, setab=\E[4%p1%dm, setaf=\E[3%p1%dm, 
-       setb=\E[4%?%p1%{1}%=%t4%e%p1%{3}%=%t6%e%p1%{4}%=%t1%e%p1%{6}%=%t3%e%p1%d%;m, 
-       setf=\E[3%?%p1%{1}%=%t4%e%p1%{3}%=%t6%e%p1%{4}%=%t1%e%p1%{6}%=%t3%e%p1%d%;m, 
-       use=xtermm, 
-
-# 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, 
-       bold=\E[1m\E[43m, rev=\E[7m\E[34m, smso=\E[7m\E[31m, 
-       smul=\E[4m\E[42m, 
-       use=xterm+sl, use=xterm-r6, 
-
-# HP ships this, except for the pb#9600 which was merged in from BSD termcap.
-# (hpterm: added empty <acsc>, we have no idea what ACS chars look like --esr)
-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, 
-       acsc=, 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%{115}%c%;%p1%p3%|%p6%|%{2}%*%p2%{4}%*%+%p4%+%p5%{8}%*%+%{64}%+%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, 
-
+# "rxvt" or "rxvt-color".
+#
+# removed dch/dch1 because they are inconsistent with bce/ech -TD
+# remove km as per tack test -TD
+rxvt-basic|rxvt terminal base (X Window System),
+       OTbs, am, bce, eo, mir, msgr, xenl, xon, XT,
+       cols#80, it#8, lines#24,
+       acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
+       bel=^G, blink=\E[5m, bold=\E[1m, civis=\E[?25l,
+       clear=\E[H\E[2J, cnorm=\E[?25h, cr=\r,
+       csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=^H,
+       cud=\E[%p1%dB, cud1=\n, cuf=\E[%p1%dC, cuf1=\E[C,
+       cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A,
+       dl=\E[%p1%dM, dl1=\E[M, ed=\E[J, el=\E[K, el1=\E[1K,
+       enacs=\E(B\E)0, flash=\E[?5h$<100/>\E[?5l, home=\E[H,
+       ht=^I, hts=\EH, ich=\E[%p1%d@, ich1=\E[@, il=\E[%p1%dL,
+       il1=\E[L, ind=\n, is1=\E[?47l\E=\E[?1l,
+       is2=\E[r\E[m\E[2J\E[H\E[?7h\E[?1;3;4;6l\E[4l, kbs=^H,
+       kcbt=\E[Z, kmous=\E[M, rc=\E8, rev=\E[7m, ri=\EM, rmacs=^O,
+       rmcup=\E[2J\E[?47l\E8, rmir=\E[4l, rmkx=\E>, rmso=\E[27m,
+       rmul=\E[24m,
+       rs1=\E>\E[1;3;4;5;6l\E[?7h\E[m\E[r\E[2J\E[H,
+       rs2=\E[r\E[m\E[2J\E[H\E[?7h\E[?1;3;4;6l\E[4l\E>\E[?1000l\E[?
+           25h,
+       s0ds=\E(B, s1ds=\E(0, sc=\E7,
+       sgr=\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;m%?
+           %p9%t\016%e\017%;,
+       sgr0=\E[0m\017, smacs=^N, smcup=\E7\E[?47h, smir=\E[4h,
+       smkx=\E=, smso=\E[7m, smul=\E[4m, tbc=\E[3g, use=vt100+enq,
+       use=rxvt+pcfkeys, use=vt220+keypad,
+# Key Codes from rxvt reference:
+#
+# Note: Shift + F1-F10 generates F11-F20
+#
+# For the keypad, use Shift to temporarily override Application-Keypad
+# setting use Num_Lock to toggle Application-Keypad setting if Num_Lock
+# is off, escape sequences toggle Application-Keypad setting.
+# Also note that values of Home, End, Delete may have been compiled
+# differently on your system.
+#
+#                   Normal       Shift        Control      Ctrl+Shift
+#  Tab              ^I           ESC [ Z      ^I           ESC [ Z
+#  BackSpace        ^H           ^?           ^?           ^?
+#  Find             ESC [ 1 ~    ESC [ 1 $    ESC [ 1 ^    ESC [ 1 @
+#  Insert           ESC [ 2 ~    paste        ESC [ 2 ^    ESC [ 2 @
+#  Execute          ESC [ 3 ~    ESC [ 3 $    ESC [ 3 ^    ESC [ 3 @
+#  Select           ESC [ 4 ~    ESC [ 4 $    ESC [ 4 ^    ESC [ 4 @
+#  Prior            ESC [ 5 ~    scroll-up    ESC [ 5 ^    ESC [ 5 @
+#  Next             ESC [ 6 ~    scroll-down  ESC [ 6 ^    ESC [ 6 @
+#  Home             ESC [ 7 ~    ESC [ 7 $    ESC [ 7 ^    ESC [ 7 @
+#  End              ESC [ 8 ~    ESC [ 8 $    ESC [ 8 ^    ESC [ 8 @
+#  Delete           ESC [ 3 ~    ESC [ 3 $    ESC [ 3 ^    ESC [ 3 @
+#  F1               ESC [ 11 ~   ESC [ 23 ~   ESC [ 11 ^   ESC [ 23 ^
+#  F2               ESC [ 12 ~   ESC [ 24 ~   ESC [ 12 ^   ESC [ 24 ^
+#  F3               ESC [ 13 ~   ESC [ 25 ~   ESC [ 13 ^   ESC [ 25 ^
+#  F4               ESC [ 14 ~   ESC [ 26 ~   ESC [ 14 ^   ESC [ 26 ^
+#  F5               ESC [ 15 ~   ESC [ 28 ~   ESC [ 15 ^   ESC [ 28 ^
+#  F6               ESC [ 17 ~   ESC [ 29 ~   ESC [ 17 ^   ESC [ 29 ^
+#  F7               ESC [ 18 ~   ESC [ 31 ~   ESC [ 18 ^   ESC [ 31 ^
+#  F8               ESC [ 19 ~   ESC [ 32 ~   ESC [ 19 ^   ESC [ 32 ^
+#  F9               ESC [ 20 ~   ESC [ 33 ~   ESC [ 20 ^   ESC [ 33 ^
+#  F10              ESC [ 21 ~   ESC [ 34 ~   ESC [ 21 ^   ESC [ 34 ^
+#  F11              ESC [ 23 ~   ESC [ 23 $   ESC [ 23 ^   ESC [ 23 @
+#  F12              ESC [ 24 ~   ESC [ 24 $   ESC [ 24 ^   ESC [ 24 @
+#  F13              ESC [ 25 ~   ESC [ 25 $   ESC [ 25 ^   ESC [ 25 @
+#  F14              ESC [ 26 ~   ESC [ 26 $   ESC [ 26 ^   ESC [ 26 @
+#  F15 (Help)       ESC [ 28 ~   ESC [ 28 $   ESC [ 28 ^   ESC [ 28 @
+#  F16 (Menu)       ESC [ 29 ~   ESC [ 29 $   ESC [ 29 ^   ESC [ 29 @
+#  F17              ESC [ 31 ~   ESC [ 31 $   ESC [ 31 ^   ESC [ 31 @
+#  F18              ESC [ 32 ~   ESC [ 32 $   ESC [ 32 ^   ESC [ 32 @
+#  F19              ESC [ 33 ~   ESC [ 33 $   ESC [ 33 ^   ESC [ 33 @
+#  F20              ESC [ 34 ~   ESC [ 34 $   ESC [ 34 ^   ESC [ 34 @
+#
+#                                                          Application
+#  Up               ESC [ A      ESC [ a      ESC O a      ESC O A
+#  Down             ESC [ B      ESC [ b      ESC O b      ESC O B
+#  Right            ESC [ C      ESC [ c      ESC O c      ESC O C
+#  Left             ESC [ D      ESC [ d      ESC O d      ESC O D
+#  KP_Enter         ^M                                     ESC O M
+#  KP_F1            ESC O P                                ESC O P
+#  KP_F2            ESC O Q                                ESC O Q
+#  KP_F3            ESC O R                                ESC O R
+#  KP_F4            ESC O S                                ESC O S
+#  XK_KP_Multiply   *                                      ESC O j
+#  XK_KP_Add        +                                      ESC O k
+#  XK_KP_Separator  ,                                      ESC O l
+#  XK_KP_Subtract   -                                      ESC O m
+#  XK_KP_Decimal    .                                      ESC O n
+#  XK_KP_Divide     /                                      ESC O o
+#  XK_KP_0          0                                      ESC O p
+#  XK_KP_1          1                                      ESC O q
+#  XK_KP_2          2                                      ESC O r
+#  XK_KP_3          3                                      ESC O s
+#  XK_KP_4          4                                      ESC O t
+#  XK_KP_5          5                                      ESC O u
+#  XK_KP_6          6                                      ESC O v
+#  XK_KP_7          7                                      ESC O w
+#  XK_KP_8          8                                      ESC O x
+#  XK_KP_9          9                                      ESC O y
+#
+# The source-code for rxvt actually defines mappings for F21-F35, using
+# "ESC [ 35 ~" to "ESC [  49 ~".  Keyboards with more than 12 function keys
+# are rare, so this entry uses the shift- and control-modifiers as in
+# xterm+pcfkeys to define keys past F12.
+#
+# kIC is normally not used, since rxvt performs a paste for that (shifted
+# insert), unless private mode 35 is set.
+#
+# kDN, kDN5, kDN6, etc are extensions based on the names from xterm+pcfkeys -TD
+# Removed kDN6, etc (control+shift) since rxvt does not implement this -TD
+rxvt+pcfkeys|fragment for PC-style fkeys,
+       kDC=\E[3$, kEND=\E[8$, kHOM=\E[7$, kIC=\E[2$, kLFT=\E[d,
+       kNXT=\E[6$, kPRV=\E[5$, kRIT=\E[c, kcub1=\E[D, kcud1=\E[B,
+       kcuf1=\E[C, kcuu1=\E[A, kdch1=\E[3~, kel=\E[8\^,
+       kend=\E[8~, 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~, kf21=\E[23$, kf22=\E[24$,
+       kf23=\E[11\^, kf24=\E[12\^, kf25=\E[13\^, kf26=\E[14\^,
+       kf27=\E[15\^, kf28=\E[17\^, kf29=\E[18\^, kf3=\E[13~,
+       kf30=\E[19\^, kf31=\E[20\^, kf32=\E[21\^, kf33=\E[23\^,
+       kf34=\E[24\^, kf35=\E[25\^, kf36=\E[26\^, kf37=\E[28\^,
+       kf38=\E[29\^, kf39=\E[31\^, kf4=\E[14~, kf40=\E[32\^,
+       kf41=\E[33\^, kf42=\E[34\^, kf43=\E[23@, kf44=\E[24@,
+       kf5=\E[15~, kf6=\E[17~, kf7=\E[18~, kf8=\E[19~, kf9=\E[20~,
+       kfnd=\E[1~, khome=\E[7~, kich1=\E[2~, kind=\E[a, knp=\E[6~,
+       kpp=\E[5~, kri=\E[b, kslt=\E[4~, kDC5=\E[3\^, kDC6=\E[3@,
+       kDN=\E[b, kDN5=\EOb, kEND5=\E[8\^, kEND6=\E[8@,
+       kHOM5=\E[7\^, kHOM6=\E[7@, kIC5=\E[2\^, kIC6=\E[2@,
+       kLFT5=\EOd, kNXT5=\E[6\^, kNXT6=\E[6@, kPRV5=\E[5\^,
+       kPRV6=\E[5@, kRIT5=\EOc, kUP=\E[a, kUP5=\EOa,
+
+# rxvt was originally "xvt", first announced in April 1993:
+#      http://www.krsaborio.net/linux-desktops/research/1993/0416.html
+#------------------------------------------------------------------------------
+# Article: 567 of comp.os.linux.announce
+# Path: pavo.csi.cam.ac.uk!warwick!uknet!pipex!uunet!zaphod.mps.ohio-state.edu!
+# caen!batcomputer!theory.TC.Cornell.EDU!mdw
+# From: nation@rocket.sanders.com (Robert Nation)
+# Newsgroups: comp.os.linux.announce
+# Subject: xvt upload
+# Date: 16 Apr 1993 18:13:07 GMT
+# Organization: Cornell Theory Center
+# Lines: 13
+# Approved: linux-announce@tc.cornell.edu (Matt Welsh)
+# Message-ID: <1qmsvj$pvj@fitz.TC.Cornell.EDU>
+# NNTP-Posting-Host: theory.tc.cornell.edu
+# Keywords: xvt, xterm, Xwindows
+# Originator: mdw@theory.TC.Cornell.EDU
+#
+# Rxvt has been uploaded to /pub/Linux/Incoming/rxvt.tar.z and
+# rxvt.README on sunsite.unc.edu.
+#
+# Xvt is an xterm replacement which uses a little less memory, and is
+# suitable for use on machines with small memories. Tek4010 support
+# is removed.
+#
+# Modifications were made by Rob Nation (nation@rocket.sanders.lockheed.com)
+# to make it a little more compact, and to add and remove certain features.
+#
+#
+# --
+# Send submissions for comp.os.linux.announce to: linux-announce@tc.cornell.edu
+#------------------------------------------------------------------------------
+#
+# Though its change-log does not mention this, John Davis has stated that he
+# was the author of the changes to use the bce ("new color model") which was
+# incorporated into rxvt 2.11 (June 15, 1995).  The change-log does not give
+# dates, nor give developer's names.  Initial color support was added for rxvt
+# "2.0", which was sometime in 1994.
+#
+# rxvt had usable color support with 2.16 (April 2, 1996), with some help by my
+# work on vttest, as well as bug reports to Mark Olesen.  For instance, the fix
+# mentioned here
+#      https://web.archive.org/web/20141016124430/http://web.archiveorange.com/archive/v/6ETvLb5wHtbbzCaS4S9J
+# was from one of my bug-reports -TD
+#
+# While the color model both for xterm and rxvt was based on Linux console,
+# Olesen (or possibly Davis) diverged in one respect from Linux's bce color
+# behavior: inserting/deleting characters does not fill the newly empty cell
+# with the default background color.
+rxvt|rxvt terminal emulator (X Window System),
+       ncv@,
+       hpa=\E[%i%p1%dG, kf0=\E[21~, sgr0=\E[m\017,
+       vpa=\E[%i%p1%dd, use=rxvt-basic, use=ecma+color,
+rxvt-color|rxvt terminal emulator (X Window System),
+       use=rxvt,
+rxvt-256color|rxvt 2.7.9 with xterm 256-colors,
+       use=xterm+256color, use=rxvt,
+rxvt-88color|rxvt 2.7.9 with xterm 88-colors,
+       use=xterm+88color, use=rxvt,
+rxvt-xpm|rxvt terminal emulator (X Window System),
+       use=rxvt,
+rxvt-cygwin|rxvt terminal emulator (X Window System) on cygwin,
+       acsc=+\257\,\256-\^0\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,
+       use=rxvt,
+rxvt-cygwin-native|rxvt terminal emulator (native MS Window System port) on cygwin,
+       acsc=+\257\,\256-\^0\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~\376,
+       use=rxvt-cygwin,
+
+# This variant is supposed to work with rxvt 2.7.7 when compiled with
+# NO_BRIGHTCOLOR defined.  rxvt needs more work...
+rxvt-16color|rxvt with 16 colors like aixterm,
+       ncv#32, use=ibm+16color, use=rxvt,
+
+#### MRXVT
+# mrxvt 0.5.4
+#
+# mrxvt is based on rxvt 2.7.11, but has by default XTERM_FKEYS defined, which
+# makes its function-keys different from other flavors of rxvt -TD
+#
+# Testing with tack:
+# +    made custom description (below) to work, though it sets TERM=xterm.
+#
+# Testing with vttest:
+# +    While "based on" rxvt, some of the basic functionality is broken.  The
+#      window collapses to a single line when running several of the screens
+#      in vttest, e.g., the tests for cursor movement, screen features,
+#      double-sized characters.
+# +    The vt52 test works properly, but this is an exception.  Due to the
+#      other bug(s) most of vttest is untestable.
+# +    the color test using ECH shows a gap in the bce model, like rxvt.
+#
+# Testing with xterm "vttest" scripts:
+# +    resize.pl does not work because mrxvt does implement CSI 18 t
+#      (not in rxvt, but not documented by mrxvt) but not CSI 19 t.
+# +    none of the "dynamic colors" (OSC colors) scripts work.
+mrxvt|multitabbed rxvt,
+       XT,
+       kEND=\E[8;2~, kHOM=\E[7;2~, kcub1=\E[D, kcud1=\E[B,
+       kcuf1=\E[C, kcuu1=\E[A, kend=\E[8~, khome=\E[7~,
+       kEND3=\E[8;3~, kEND4=\E[8;4~, kEND5=\E[8;5~,
+       kEND6=\E[8;6~, kEND7=\E[8;7~, kHOM3=\E[7;3~,
+       kHOM4=\E[7;4~, kHOM5=\E[7;5~, kHOM6=\E[7;6~,
+       kHOM7=\E[7;7~, use=xterm+r6f2, use=xterm+pcfkeys,
+       use=rxvt,
+
+mrxvt-256color|multitabbed rxvt with 256 colors,
+       use=xterm+256color, use=mrxvt,
+
+#### ETERM
+# From: Michael Jennings <mej@valinux.com>
+#
+# Eterm 0.9.3
+#
+# removed kf0 which conflicts with kf10 -TD
+# remove cvvis which conflicts with cnorm -TD
+# Eterm does not implement control/shift cursor keys such as kDN6, or kPRV/kNXT
+# but does otherwise follow the rxvt+pcfkeys model -TD
+# remove nonworking flash -TD
+# remove km as per tack test -TD
+Eterm|Eterm-color|Eterm with xterm-style color support (X Window System),
+       am, bce, bw, eo, mc5i, mir, msgr, xenl, xon, XT,
+       btns#5, cols#80, it#8, lines#24, lm#0, ncv@,
+       acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
+       bel=^G, blink=\E[5m, bold=\E[1m, civis=\E[?25l,
+       clear=\E[H\E[2J, cnorm=\E[?25h, cr=\r,
+       csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=^H,
+       cud=\E[%p1%dB, cud1=\E[B, 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,
+       ech=\E[%p1%dX, ed=\E[J, el=\E[K, el1=\E[1K, enacs=\E)0,
+       home=\E[H, hpa=\E[%i%p1%dG, ht=^I, hts=\EH, ich=\E[%p1%d@,
+       ich1=\E[@, il=\E[%p1%dL, il1=\E[L, ind=\n,
+       is1=\E[?47l\E>\E[?1l,
+       is2=\E[r\E[m\E[2J\E[H\E[?7h\E[?1;3;4;6l\E[4l, kNXT@,
+       kPRV@, ka1=\E[7~, ka3=\E[5~, kb2=\EOu, kbeg=\EOu, kbs=^H,
+       kc1=\E[8~, kc3=\E[6~, kent=\EOM, khlp=\E[28~, kmous=\E[M,
+       mc4=\E[4i, mc5=\E[5i, rc=\E8, rev=\E[7m, ri=\EM, rmacs=^O,
+       rmam=\E[?7l, rmcup=\E[2J\E[?47l\E8, rmir=\E[4l, rmkx=,
+       rmso=\E[27m, rmul=\E[24m,
+       rs1=\E>\E[1;3;4;5;6l\E[?7h\E[m\E[r\E[2J\E[H,
+       rs2=\E[r\E[m\E[2J\E[H\E[?7h\E[?1;3;4;6l\E[4l\E>\E[?1000l\E[?
+           25h,
+       sc=\E7,
+       sgr=\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5
+           %;m%?%p9%t\016%e\017%;,
+       sgr0=\E[m\017, smacs=^N, smam=\E[?7h, smcup=\E7\E[?47h,
+       smir=\E[4h, smkx=, smso=\E[7m, smul=\E[4m, tbc=\E[3g,
+       vpa=\E[%i%p1%dd, use=vt100+enq, use=rxvt+pcfkeys,
+       use=ecma+color,
+
+Eterm-256color|Eterm with xterm 256-colors,
+       use=xterm+256color, use=Eterm,
+
+Eterm-88color|Eterm with 88 colors,
+       use=xterm+88color, use=Eterm,
+
+#### ATERM
+# Based on rxvt 2.4.8, it has a few differences in key bindings
+aterm|AfterStep terminal,
+       XT,
+       kbs=^?, kf1=\EOP, kf2=\EOQ, kf3=\EOR, kf4=\EOS, use=rxvt,
+
+#### XITERM
+# xiterm  0.5-5.2
+# This is not based on xterm's source...
+# vttest shows several problems with keyboard, cursor-movements.
+# see also https://invisible-island.net/xterm/xterm.faq.html#bug_xiterm
+xiterm|internationalized terminal emulator for X,
+       km@,
+       kbs=^?, kdch1=\E[3~, use=klone+color, use=xterm-r6,
+
+
+#### HPTERM
+# HP ships this (HPUX 9 and 10), except for the pb#9600 which was merged in
+# from BSD termcap.  (hpterm:  added empty <acsc>, we have no idea what ACS
+# chars look like --esr)
+hpterm|X-hpterm|hp X11 terminal emulator,
+       am, da, db, mir, xhp, xon,
+       cols#80, lh#2, lines#24, lm#0, lw#8, nlab#8, pb#9600, xmc#0,
+       acsc=, bel=^G, bold=\E&dB, cbt=\Ei, clear=\E&a0y0C\EJ, cr=\r,
+       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=\n, 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%{115}%c%;%p1%p3%|%p6%|%{2}%*%p2%{4}%*%+%p4%+
+           %p5%{8}%*%+%{64}%+%c%?%p9%t%'\016'%c%e%'\017'%c%;,
+       sgr0=\E&d@\017, smacs=^N, smir=\EQ, smkx=\E&s1A,
+       smln=\E&jB, smso=\E&dJ, smul=\E&dD, tbc=\E3,
+       vpa=\E&a%p1%dY,
+# HPUX 11 provides a color version.
+hpterm-color|HP X11 terminal emulator with color,
+       ccc,
+       colors#64, pairs#8,
+       home=\E&a0y0C,
+       initp=\E&v%p2%da%p3%db%p4%dc%p5%dx%p6%dy%p7%dz%p1%dI,
+       op=\E&v0S, scp=\E&v%p1%dS, use=hpterm,
+
+#### EMU
 # 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, cvvis=\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, 
+# It corresponds to emu's internal emulation:
+#      emu -term emu
+# emu's default sets TERM to "xterm", but that doesn't work well -TD
+# fixes: remove bogus rmacs/smacs, change oc to op, add bce, am -TD
+# fixes: add civis, cnorm, sgr -TD
+emu|emu native mode,
+       am, bce, 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=\EW, bold=\EU, civis=\EZ, clear=\EP\EE0;0;,
+       cnorm=\Ea, cr=\r, csr=\Ek%p1%d;%p2%d;, cub=\Eq-%p1%d;,
+       cub1=^H, cud=\Ep%p1%d;, cud1=\EB, cuf=\Eq%p1%d;, cuf1=\EC,
+       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, 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=^?, kent=\r, 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,
+       op=\Es0;\Er0;, rev=\ET, ri=\EF, rmir=\EX, rmso=\ES, rmul=\ES,
+       rs2=\ES\Es0;\Er0;, setab=\Es%i%p1%d;,
+       setaf=\Er%i%p1%d;,
+       sgr=\ES%?%p1%t\ET%;%?%p2%t\EV%;%?%p3%t\ET%;%?%p4%t\EW%;%?%p6
+           %t\EU%;,
+       sgr0=\ES, smir=\EY, smso=\ET, smul=\EV, tbc=\Ej,
+
+# vt220 Terminfo entry for the Emu emulation, corresponds to
+#      emu -term vt220
+# with NumLock set (to make the keypad transmit kf0-kf9).
+# fixes: add am, xenl, corrected sgr0 -TD
+emu-220|Emu-220 (vt200-7bit mode),
+       am, xenl, xon,
+       cols#80, it#8, lines#24, vt#200,
+       acsc=aaffggjjkkllmmnnooqqssttuuvvwwxx~~, bel=^G,
+       blink=\E[0;5m, bold=\E[0;1m, civis=\E[?25l,
+       clear=\E[2J\E[H, cnorm=\E[?25h, cr=\r,
+       csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=\E[1D,
+       cud=\E[%p1%dB, cud1=\E[1B, cuf=\E[%p1%dC, cuf1=\E[1C,
+       cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[1A,
+       dch=\E[%p1%dP, dch1=\E[1P, dl=\E[%p1%dM, dl1=\E[1M,
+       ed=\E[0J, el=\E[0K, el1=\E[1K, enacs=\E)0, home=\E[H, ht=^I,
+       hts=\EH, if=/usr/share/tabset/vt300, il=\E[%p1%dL,
+       il1=\E[1L, ind=\ED, is2=\E>\E[?1l\E[?3l\E[4l\E[?7h,
+       kbs=^H, kcmd=\E[29~, kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C,
+       kcuu1=\E[A, kdch1=\E[3~, kent=\EOM, kf0=\EOp, kf1=\EOq,
+       kf10=\EOl, kf11=\EOm, kf12=\EOn, kf13=\EOP, kf14=\EOQ,
+       kf15=\EOR, kf16=\EOS, kf2=\EOr, kf26=\E[17~, kf27=\E[18~,
+       kf28=\E[19~, kf29=\E[20~, kf3=\EOs, kf30=\E[21~,
+       kf34=\E[26~, kf37=\E[31~, kf38=\E[32~, kf39=\E[33~,
+       kf4=\EOt, kf40=\E[34~, kf5=\EOu, kf6=\EOv, kf7=\EOw,
+       kf8=\EOx, kf9=\EOy, kfnd=\E[1~, khlp=\E[28~, kich1=\E[2~,
+       knp=\E[6~, kpp=\E[5~, kslt=\E[4~, rc=\E8, rev=\E[0;7m,
+       ri=\EM, rmacs=^O, rmcup=\E>, rmkx=\E>, rmso=\E[m, rmul=\E[m,
+       rs2=\E[4l\E[34l\E[?1l\E[?3l\E[?5l\E[?7h, sc=\E7,
+       sgr=\E[0%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p5%t;
+           2%;%?%p6%t;1%;%?%p7%t;8%;m%?%p9%t\016%e\017%;,
+       sgr0=\E[m\017, smacs=^N, smcup=\E[?1l\E=, smkx=\E=,
+       smso=\E[0;7m, smul=\E[0;4m, tbc=\E[3g,
+
+#### MVTERM
+# A commercial product, Reportedly a version of Xterm with an OPEN LOOK UI,
+# print interface, ANSI X3.64 colour escape sequences, etc.  Newsgroup postings
+# indicate that it emulates more than one terminal, but incompletely.
+#
+# This is adapted from a FreeBSD bug-report by Daniel Rudy <dcrudy@pacbell.net>
+# It is based on vt102's entry, with some subtle differences, but also
+#      has status line
+#      supports ANSI colors (except for 'op' string)
+#      apparently implements alternate screen like xterm
+#      does not use padding, of course.
+mvterm|vv100|SwitchTerm aka mvTERM,
+       am, eslok, hs, km, mir, msgr, xenl, xon,
+       colors#8, cols#80, it#8, lines#24, pairs#64,
+       acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
+       bel=^G, blink=\E[5m, bold=\E[1m, clear=\E[H\E[2J, cr=\r,
+       csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=^H,
+       cud=\E[%p1%dB, cud1=\n, 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,
+       dsl=\E[?E, ed=\E[J, el=\E[K, el1=\E[1K$<3>, enacs=\E(B\E)0,
+       fsl=\E[?F, home=\E[H, ht=^I, hts=\EH, ich=\E[%p1%d@,
+       ich1=\E[@, il=\E[%p1%dL, il1=\E[L, ind=\n, kbs=^H,
+       kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, kf0=\EOy,
+       kf10=\EOx, kf5=\EOt, kf6=\EOu, kf7=\EOv, kf8=\EOl, kf9=\EOw,
+       op=\E[100m, rc=\E8, rev=\E[7m, ri=\EM, rmacs=^O,
+       rmcup=\E[2J\E[?47l\E8, rmkx=\E[?1l\E>, rmso=\E[m,
+       rmul=\E[m,
+       rs2=\E>\E[1;3;4;5;6l\E[?7h\E[100m\E[m\E[r\E[2J\E[H,
+       sc=\E7, setab=\E[4%p1%dm, setaf=\E[3%p1%dm,
+       sgr=\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5
+           %;m%?%p9%t\016%e\017%;,
+       sgr0=\E[m\017, smacs=^N, smcup=\E7\E[?47h,
+       smkx=\E[?1h\E=, smso=\E[7m, smul=\E[4m, tbc=\E[3g,
+       tsl=\E[?E\E[?%i%p1%dT, use=vt100+fnkeys,
+
+#### MTERM
+#
+# This application is available by email from <mouse@Rodents.Montreal.QC.CA>.
+#
+# "mterm -type ansi" sets $TERM to "ansi"
+mterm-ansi|ANSI emulation,
+       am, bw, mir, msgr,
+       it#8,
+       acsc=``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
+       bel=^G, blink=\E[5m, bold=\E[1m, clear=\E[H\E[J, cr=\r,
+       cub=\E[%p1%dD, cub1=\E[D, cud=\E[%p1%dB, cud1=\E[B,
+       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,
+       dim=\E[2m, dl=\E[%p1%dM, dl1=\E[M, ech=\E[%p1%dX, ed=\E[J,
+       el=\E[K, home=\E[H, hpa=\E[%i%p1%d`, ht=^I, ich1=,
+       il=\E[%p1%dL, il1=\E[L, ind=\E[S, invis=\E[8m,
+       is2=\E)0\017, kbs=^H, nel=\EE, rev=\E[7m, ri=\E[T, rmacs=^O,
+       rmir=\E[4l, rmso=\E[27m, rmul=\E[24m,
+       sgr=\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;%?
+           %p5%t;2%;%?%p7%t;8%;m%?%p9%t\016%e\017%;,
+       sgr0=\E[m\017, smacs=^N, smir=\E[4h, smso=\E[7m,
+       smul=\E[4m, vpa=\E[%i%p1%dd, use=ecma+index,
+# mterm normally sets $TERM to "mterm"
+mterm|mouse-sun|Der Mouse term,
+       am, bw, mir,
+       it#8,
+       bel=^G, clear=^L, cr=\r, cub1=^H, cud1=^N, cuf1=^S,
+       cup=\006%p1%d.%p2%d., cuu1=^X, dch1=^Y, dl1=^K, ed=^B, el=^C,
+       home=^P, ht=^I, il1=^A, ind=^U, kbs=^H, ll=^R, nel=\r^U, ri=^W,
+       rmir=^O, rmso=^T, smir=^Q, smso=^V,
+# "mterm -type decansi" sets $TERM to "decansi"
+#
+# note: kdch1, kfnd, kslt are in the source code, but do not work -TD
+decansi|ANSI emulation with DEC compatibility hacks,
+       am, mir, msgr, xenl,
+       colors#8, it#8, pairs#64,
+       acsc=``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
+       bel=^G, blink=\E[5m, bold=\E[1m, civis=\E[?25l,
+       clear=\E[H\E[J, cnorm=\E[?25h, cr=\r,
+       csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=\E[D,
+       cud=\E[%p1%dB, cud1=\E[B, 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, dim=\E[2m, dl=\E[%p1%dM,
+       dl1=\E[M, ech=\E[%p1%dX, ed=\E[J, el=\E[K, enacs=\E(B\E)0,
+       home=\E[H, hpa=\E[%i%p1%d`, ht=^I, ich1=, il=\E[%p1%dL,
+       il1=\E[L, ind=\E[S, invis=\E[8m, is2=\E)0\E[r\017, kbs=^H,
+       kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA,
+       kdch1=\E[3~, 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~, kich1=\E[2~, knp=\E[6~, kpp=\E[5~, kslt=\E[4~,
+       nel=\EE, op=\E[0m, rc=\E8, rev=\E[7m, ri=\E[T, rmacs=^O,
+       rmam=\E[?7l, rmir=\E[4l, rmkx=\E[?1l\E>, rmso=\E[27m,
+       rmul=\E[24m, sc=\E7, setab=\E[4%p1%dm, setaf=\E[3%p1%dm,
+       sgr=\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;%?
+           %p5%t;2%;%?%p7%t;8%;m%?%p9%t\016%e\017%;,
+       sgr0=\E[m\017, smacs=^N, smam=\E[?7h, smir=\E[4h,
+       smkx=\E[?1h\E=, smso=\E[7m, smul=\E[4m, u6=\E[%i%d;%dR,
+       u7=\E[6n, vpa=\E[%i%p1%dd, use=ecma+index,
+
+#### VWM
+# http://vwm.sourceforge.net/
+#
+# VWM 2.0.2 (2009-05-01)
+# vwmterm is a terminal emulator written for the VWM console window manager.
+# This version is obsolete, replaced by libvterm in 2.1.0 (2009-10-23).
+vwmterm|(vwm term),
+       am, bce, ccc, mir, msgr, npc, xenl, xon,
+       colors#8, pairs#64,
+       acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
+       bel=^G, blink=\E[5m, bold=\E[1m, civis=\E[?25l,
+       clear=\E[H\E[J, cnorm=\E[?25h, cr=\r, cub=\E[%p1%dD,
+       cub1=^H, cud=\E[%p1%dB, cud1=\E[B, cuf=\E[%p1%dC,
+       cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA,
+       cuu1=\E[A, cvvis=\E[?25h, dim=\E[2m, ed=\E[J, el=\E[K,
+       home=\E[H, il1=\E[L, ind=\n, invis=\E[8m, kcub1=\E[D,
+       kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, kdch1=\E[3~,
+       kend=\E[4~, kf1=\E[[A, kf10=\E[21~, kf11=\E[22~,
+       kf12=\E[23~, kf2=\E[[B, kf3=\E[[C, kf4=\E[[D, kf5=\E[[E,
+       kf6=\E[17~, kf7=\E[18~, kf8=\E[19~, kf9=\E[20~,
+       khome=\E[1~, knp=\E[6~, kpp=\E[5~, rev=\E[7m, rmacs=\E[10m,
+       rmam=\E[?7l, rs1=\E[H\E[J\E[m\Ec, setab=\E[4%p1%dm,
+       setaf=\E[3%p1%dm,
+       sgr=\E[0;10%?%p1%t;3%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p5
+           %t;2%;%?%p6%t;1%;%?%p7%t;8%;%?%p9%t;11%;m,
+       sgr0=\E[0;10m, smacs=\E[11m, smam=\E[?7h, smso=\E[3m,
+       smul=\E[4m, use=xterm+alt1049,
 
 #### MGR
 #
 # MGR is a Bell Labs window system lighter-weight than X.
-# These entries describe MGR's xterm-equivalent. 
-# They are courtesy of Vincent Broman <broman@nosc.mil> 14 Jan 1997 
-#
-
-mgr|Bellcore MGR (non X) window system terminal emulation, 
-       am, km, 
-       bel=^G, bold=\E2n, civis=\E9h, clear=^L, cnorm=\Eh, cr=^M, 
-       csr=\E%p1%d;%p2%dt, cub1=^H, cud1=\Ef, cuf1=\Er, 
-       cup=\E%p2%d;%p1%dM, cuu1=\Eu, cvvis=\E0h, 
-       dch=\E%p1%dE$<5>, dch1=\EE, dl=\E%p1%dd$<3*>, 
-       dl1=\Ed$<3>, ed=\EC, el=\Ec, hd=\E1;2f, ht=^I, hu=\E1;2u, 
-       ich=\E%p1%dA$<5>, ich1=\EA, il=\E%p1%da$<3*>, 
-       il1=\Ea$<3>, ind=^J, kbs=^H, kcub1=\E[D, kcud1=\E[B, 
-       kcuf1=\E[C, kcuu1=\E[A, nel=^M^J, rev=\E1n, rmam=\E5S, 
-       rmso=\E0n, rmul=\E0n, sgr0=\E0n, smam=\E5s, smso=\E1n, 
-       smul=\E4n, 
-mgr-sun|Mgr window with Sun keyboard, 
-       ka1=\E[214z, ka3=\E[216z, kb2=\E[218z, kc1=\E[220z, 
-       kc3=\E[222z, kcpy=\E197z, kend=\E[220z, kent=\E[250z, 
-       kf1=\E[224z, kf10=\E[233z, kf11=\E[234z, kf12=\E[235z, 
-       kf2=\E[225z, kf3=\E[226z, kf4=\E[227z, kf5=\E[228z, 
-       kf6=\E[229z, kf7=\E[230z, kf8=\E[231z, kf9=\E[232z, 
-       kfnd=\E[200z, khlp=\E[207z, khome=\E[214z, knp=\E[222z, 
-       kopn=\E[198z, kpp=\E[216z, kund=\E[195z, 
-       use=mgr, 
-mgr-linux|Mgr window with Linux keyboard, 
-       ka1=\E[H, ka3=\E[5~, kb2=\E[G, kc1=\E[Y, kc3=\E[6~, 
-       kdch1=\E[3~, kend=\E[4~, kf0=\E[[J, kf1=\E[[A, kf10=\E[21~, 
-       kf11=\E[23~, kf12=\E[24~, kf2=\E[[B, kf3=\E[[C, kf4=\E[[D, 
-       kf5=\E[[E, kf6=\E[17~, kf7=\E[18~, kf8=\E[19~, kf9=\E[20~, 
-       khome=\E[1~, knp=\E[6~, kpp=\E[5~, 
-       use=mgr, 
+# These entries describe MGR's xterm-equivalent.
+# They are courtesy of Vincent Broman <broman@nosc.mil> 14 Jan 1997
+#
+
+mgr|Bellcore MGR (non X) window system terminal emulation,
+       am, km, xon,
+       bel=^G, bold=\E2n, civis=\E9h, clear=^L, cnorm=\Eh, cr=\r,
+       csr=\E%p1%d;%p2%dt, cub1=^H, cud1=\Ef, cuf1=\Er,
+       cup=\E%p2%d;%p1%dM, cuu1=\Eu, cvvis=\E0h,
+       dch=\E%p1%dE$<5>, dch1=\EE, dl=\E%p1%dd$<3*>,
+       dl1=\Ed$<3>, ed=\EC, el=\Ec, hd=\E1;2f, ht=^I, hu=\E1;2u,
+       ich=\E%p1%dA$<5>, ich1=\EA, il=\E%p1%da$<3*>,
+       il1=\Ea$<3>, ind=\n, kbs=^H, kcub1=\E[D, kcud1=\E[B,
+       kcuf1=\E[C, kcuu1=\E[A, nel=\r\n, rev=\E1n, rmam=\E5S,
+       rmso=\E0n, rmul=\E0n, sgr0=\E0n, smam=\E5s, smso=\E1n,
+       smul=\E4n,
+mgr-sun|Mgr window with Sun keyboard,
+       ka1=\E[214z, ka3=\E[216z, kb2=\E[218z, kc1=\E[220z,
+       kc3=\E[222z, kcpy=\E[197z, kend=\E[220z, kent=\E[250z,
+       kf1=\E[224z, kf10=\E[233z, kf11=\E[234z, kf12=\E[235z,
+       kf2=\E[225z, kf3=\E[226z, kf4=\E[227z, kf5=\E[228z,
+       kf6=\E[229z, kf7=\E[230z, kf8=\E[231z, kf9=\E[232z,
+       kfnd=\E[200z, khlp=\E[207z, khome=\E[214z, knp=\E[222z,
+       kopn=\E[198z, kpp=\E[216z, kund=\E[195z, use=mgr,
+mgr-linux|Mgr window with Linux keyboard,
+       ka1=\E[H, ka3=\E[5~, kb2=\E[G, kc1=\E[Y, kc3=\E[6~,
+       kdch1=\E[3~, kend=\E[4~, kf0=\E[[J, kf1=\E[[A, kf10=\E[21~,
+       kf11=\E[23~, kf12=\E[24~, kf2=\E[[B, kf3=\E[[C, kf4=\E[[D,
+       kf5=\E[[E, kf6=\E[17~, kf7=\E[18~, kf8=\E[19~, kf9=\E[20~,
+       khome=\E[1~, knp=\E[6~, kpp=\E[5~, use=mgr,
+
+#### SIMPLETERM
+# st.suckless.org
+
+st|stterm| simpleterm,
+       use=st-0.7,
+
+# Reviewed 0.7:
+#      dim is intermittent, sometimes works, sometimes does not
+#      italics may show up with yellow color
+#      has control cursor-keys, alt cursor-keys, still no combinations
+#      has control pageup/down
+# tmux extensions, see TERMINFO EXTENSIONS in tmux(1)
+#      Se and Ss are implemented in the source-code, but the terminfo
+#      provided with the source is incorrect, since Se/Ss are mis-coded
+#      as booleans rather than strings.
+st-0.7|simpleterm 0.7,
+       ccc,
+       dim=\E[2m,
+       initc=\E]4;%p1%d;rgb\:%p2%{255}%*%{1000}%/%2.2X/%p3%{255}%*
+             %{1000}%/%2.2X/%p4%{255}%*%{1000}%/%2.2X\E\\,
+       kcbt@, kent@, oc=\E]104\007,
+       sgr=%?%p9%t\E(0%e\E(B%;\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p1%p3%|
+           %t;7%;%?%p4%t;5%;%?%p5%t;2%;%?%p7%t;8%;m,
+       Ms=\E]52;%p1%s;%p2%s\007, kDN3=\E[1;3B, kDN5=\E[1;5B,
+       kLFT3=\E[1;3D, kLFT5=\E[1;5D, kNXT3=\E[6;3~,
+       kNXT5=\E[6;5~, kPRV3=\E[5;3~, kPRV5=\E[5;5~,
+       kRIT3=\E[1;3C, kRIT5=\E[1;5C, kUP3=\E[1;3A, kUP5=\E[1;5A,
+       use=ecma+strikeout, use=st-0.6,
+
+# st-0.4.1
+#
+# This version uses a table which supports a single modifier (a subset of
+# xterm's keys, using the same scheme).  Because it supports only a single
+# modifier in this table, function keys f36-f48 are normally unavailable
+# because they are assigned to modifier-4.
+#
+# The program assigns TERM to match the program name (the upstream source says
+# "st", but Debian renames it to "stterm").
+#
+# The source includes two entries which are not useful here:
+#      st-meta| simpleterm with meta key,
+#      st-meta-256color| simpleterm with meta key and 256 colors,
+# because st's notion of "meta" does not correspond to the terminfo definition.
+# Rather, it acts like xterm - when the meta feature is disabled.
+#
+# Removed invis -TD
+# Added eo, removed ul -TD
+#
+# Reviewed st 0.5:
+# implements control-modifier, but not control-shift for special keys
+# implements alt-modifier, but not alt-shift for special keys
+#
+# Reviewed st 0.6:
+#      http://git.suckless.org/st/log/st.info
+# Tmux unofficial extensions, see TERMINFO EXTENSIONS in tmux(1)
+# still has no function keys past kf36 (no combinations of modifiers)
+# no application keypad mode, e.g, kent.
+st-0.6|simpleterm 0.6,
+       am, bce, hs, mir, msgr, npc, xenl, XT,
+       colors#8, cols#80, it#8, lines#24, pairs#64,
+       acsc=+C\,D-A.B0E``aaffgghFiGjjkkllmmnnooppqqrrssttuuvvwwxxyy
+            zz{{||}}~~,
+       bel=^G, blink=\E[5m, bold=\E[1m, cbt=\E[Z, civis=\E[?25l,
+       clear=\E[H\E[2J, cnorm=\E[?12l\E[?25h, cr=\r,
+       csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=^H,
+       cud=\E[%p1%dB, cud1=\n, cuf=\E[%p1%dC, cuf1=\E[C,
+       cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A,
+       cvvis=\E[?25h, dch=\E[%p1%dP, dch1=\E[P, dl=\E[%p1%dM,
+       dl1=\E[M, ech=\E[%p1%dX, ed=\E[J, el=\E[K, el1=\E[1K,
+       enacs=\E)0, flash=\E[?5h$<100/>\E[?5l, fsl=^G, home=\E[H,
+       hpa=\E[%i%p1%dG, ht=^I, hts=\EH, ich=\E[%p1%d@,
+       il=\E[%p1%dL, il1=\E[L, ind=\n, invis=\E[8m,
+       is2=\E[4l\E>\E[?1034l, kDC=\E[3;2~, kEND=\E[1;2F,
+       kHOM=\E[1;2H, kIC=\E[2;2~, kLFT=\E[1;2D, kNXT=\E[6;2~,
+       kPRV=\E[5;2~, kRIT=\E[1;2C, ka1=\E[1~, ka3=\E[5~, kb2=\EOu,
+       kbs=^?, kc1=\E[4~, kc3=\E[6~, kcbt=\E[Z, kclr=\E[3;5~,
+       kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA,
+       kdch1=\E[3~, kdl1=\E[3;2~, ked=\E[1;5F, kel=\E[1;2F,
+       kend=\E[4~, kent=\EOM, kf1=\EOP, kf10=\E[21~, kf11=\E[23~,
+       kf12=\E[24~, kf13=\E[1;2P, kf14=\E[1;2Q, kf15=\E[1;2R,
+       kf16=\E[1;2S, kf17=\E[15;2~, kf18=\E[17;2~,
+       kf19=\E[18;2~, kf2=\EOQ, kf20=\E[19;2~, kf21=\E[20;2~,
+       kf22=\E[21;2~, kf23=\E[23;2~, kf24=\E[24;2~,
+       kf25=\E[1;5P, kf26=\E[1;5Q, kf27=\E[1;5R, kf28=\E[1;5S,
+       kf29=\E[15;5~, kf3=\EOR, kf30=\E[17;5~, kf31=\E[18;5~,
+       kf32=\E[19;5~, kf33=\E[20;5~, kf34=\E[21;5~,
+       kf35=\E[23;5~, kf36=\E[24;5~, kf37=\E[1;6P, kf38=\E[1;6Q,
+       kf39=\E[1;6R, kf4=\EOS, kf40=\E[1;6S, kf41=\E[15;6~,
+       kf42=\E[17;6~, kf43=\E[18;6~, kf44=\E[19;6~,
+       kf45=\E[20;6~, kf46=\E[21;6~, kf47=\E[23;6~,
+       kf48=\E[24;6~, kf49=\E[1;3P, kf5=\E[15~, kf50=\E[1;3Q,
+       kf51=\E[1;3R, kf52=\E[1;3S, kf53=\E[15;3~, kf54=\E[17;3~,
+       kf55=\E[18;3~, kf56=\E[19;3~, kf57=\E[20;3~,
+       kf58=\E[21;3~, kf59=\E[23;3~, kf6=\E[17~, kf60=\E[24;3~,
+       kf61=\E[1;4P, kf62=\E[1;4Q, kf63=\E[1;4R, kf7=\E[18~,
+       kf8=\E[19~, kf9=\E[20~, khome=\E[1~, kich1=\E[2~,
+       kil1=\E[2;5~, kind=\E[1;2B, kmous=\E[M, knp=\E[6~,
+       kpp=\E[5~, kri=\E[1;2A, krmir=\E[2;2~, mc0=\E[i, mc4=\E[4i,
+       mc5=\E[5i, op=\E[39;49m, rc=\E8, rev=\E[7m, ri=\EM,
+       rmacs=\E(B, rmir=\E[4l, rmkx=\E[?1l\E>, rmso=\E[27m,
+       rmul=\E[24m, rs1=\Ec, rs2=\E[4l\E>\E[?1034l, sc=\E7,
+       setab=\E[4%p1%dm, setaf=\E[3%p1%dm,
+       setb=\E[4%?%p1%{1}%=%t4%e%p1%{3}%=%t6%e%p1%{4}%=%t1%e%p1%{6}
+            %=%t3%e%p1%d%;m,
+       setf=\E[3%?%p1%{1}%=%t4%e%p1%{3}%=%t6%e%p1%{4}%=%t1%e%p1%{6}
+            %=%t3%e%p1%d%;m,
+       sgr=%?%p9%t\E(0%e\E(B%;\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p1%p3%|
+           %t;7%;%?%p4%t;5%;%?%p7%t;8%;m,
+       sgr0=\E[0m, smacs=\E(0, smir=\E[4h, smkx=\E[?1h\E=,
+       smso=\E[7m, smul=\E[4m, tbc=\E[3g, u6=\E[%i%d;%dR,
+       u7=\E[6n, u8=\E[?1;2c, u9=\E[c, vpa=\E[%i%p1%dd, Se=\E[2 q,
+       Ss=\E[%p1%d q, use=ecma+index, use=xterm+alt1049,
+       use=xterm+sl, use=ecma+italics,
+#
+# st-0.1.1
+#
+# Note:  the original terminfo description uses leading blank to persuade
+# ncurses to use "st" as its name.  Proper fix for that is to use "st" as an
+# alias.
+#
+# Reading the code shows it should work for aixterm 16-colors
+# - added st-16color
+#
+# Using tack:
+# - set eo (erase-overstrike)
+# - set xenl
+# - tbc doesn't work
+# - hts works
+# - cbt doesn't work
+# - shifted cursor-keys send sequences like rxvt
+# - sgr referred to unimplemented "invis" mode.
+# Fixes: add eo and xenl per tack, remove nonworking cbt, hts and tbc, invis
+simpleterm|old-st| simpleterm 0.1.1,
+       am, eo, mir, msgr, ul, xenl,
+       colors#8, cols#80, it#8, lines#24, ncv#3, pairs#64,
+       acsc=``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
+       bel=^G, bold=\E[1m, civis=\E[?25l, clear=\E[H\E[2J,
+       cnorm=\E[?12l\E[?25h, cr=\r, csr=\E[%i%p1%d;%p2%dr,
+       cub1=^H, cud=\E[%p1%dB, cud1=\n, cuf=\E[%p1%dC, cuf1=\E[C,
+       cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A,
+       dch1=\E[P, dl=\E[%p1%dM, dl1=\E[M, ed=\E[J, el=\E[K,
+       home=\E[H, hpa=\E[%i%p1%dG, ht=^I, ich=\E[%p1%d@,
+       il=\E[%p1%dL, il1=\E[L, ind=\n, kbs=^?, kcub1=\E[D,
+       kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, kdch1=\E[3~,
+       kend=\E[4~, kf1=\EOP, kf10=\E[21~, kf11=\E[23~,
+       kf12=\E[24~, kf2=\EOQ, kf3=\EOR, kf4=\EOS, kf5=\E[15~,
+       kf6=\E[17~, kf7=\E[18~, kf8=\E[19~, kf9=\E[20~,
+       khome=\E[1~, knp=\E[6~, kpp=\E[5~, op=\E[37;40m, rc=\E8,
+       rev=\E[7m, rmacs=\E(B, rmso=\E[m, rmul=\E[m, sc=\E7,
+       setab=\E[4%p1%dm, setaf=\E[3%p1%dm,
+       sgr=%?%p9%t\E(0%e\E(B%;\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p1%p3%|
+           %t;7%;m,
+       sgr0=\E[0m, smacs=\E(0, smso=\E[7m, smul=\E[4m,
+       use=ecma+index,
+st-16color|stterm-16color|simpleterm with 16-colors,
+       use=ibm+16color, use=st,
+# 256 colors "works", but when running xterm's test-scripts, some garbage is
+# shown in the titlebar.
+#
+# terminal wants to use TERM=stterm-256color, but that is longer than 14
+# characters, making the choice nonportable.
+st-256color|stterm-256color|simpleterm with 256 colors,
+       ccc@,
+       initc@, oc@, use=xterm+256color, use=st,
+
+#### TERMINATOR
+# https://github.com/software-jessies-org/jessies/wiki/Terminator
+#
+# Tested using the Debian package org.jessies.terminator 6.104.3256 on 64-bit
+# Debian/current -TD (2011/8/20)
+#
+# There were some packaging problems:
+# a) using Java, the program starts off using 50Mb, and climbs from there,
+#    up to 114Mb after testing (no scrollback).
+# b) it insists on reinstalling its terminal description in $HOME/.terminfo
+#    (two copies, just in case the host happens to be Mac OS X).
+#    I deleted this after testing with tack.
+#
+# Issues/features found with tack:
+# a) tbc does not work (implying that hts also is broken).
+#    Comparing with the tabs utility shows a problem with the last tabstop on
+#    a line.
+# b) has xterm-style shifted function-key strings
+#    meta also is used, but control is ignored.
+# c) has xterm-style modifiers for cursor keys (shift, control, shift+control,
+#    meta)
+# d) some combinations of shift/control send xterm-style sequences for
+#    insert/delete/home/end.
+# e) numeric keypad sends only numbers (compare with vttest).
+# f) meta mode (km) is not implemented.
+#
+# Issues found with ncurses test-program:
+# a) bce is inconsistently implemented
+# b) widths of Unicode values above 256 do not always agree with wcwidth.
+#
+# Checked with vttest, found low degree of compatibility there.
+#
+# Checked with xterm's scripts, found that the 256-color palette is fixed.
+#
+# Fixes:
+# a) add sgr string
+# b) corrected sgr0 to reset alternate character set
+# c) modified smacs/rmacs to use SCS rather than SI/SO
+# d) removed bce
+# e) removed km
+#
+# Revisiting in May 2019, the Debian package was no longer available, and a
+# developer-provided ".deb" does not work.  However, a usable Windows ".msi"
+# (which relies upon Cygwin) can be tested.  The developers provide a terminfo,
+# but some of the features it lists do not work reliably (bce, italics, invis).
+#
+# tack:
+#      tbc fails
+#      invis attribute fails
+#      key-definitions could be expanded, with some work:
+#      + supports xterm-style cursor key-modifiers for shift
+#      + supports xterm-style function key-modifiers for shift,control,alt
+#      + supports xterm-style editing key-modifiers for shift,control,alt
+#      (kbs=^?)
+# ncurses test-program:
+#      "C" menu shows that bce implementation is incomplete
+#      italics did not work
+#      dim worked once in tack, but not in ncurses test-program
+#      "F" thick-line characters do not display
+# vttest:
+#      terminal does not respond to 80/132-column switching
+#      wrapping at the right margin is erratic
+#      there are several problems in the cursor-movements and screen-features
+#      no vt52, no double-sized characters
+#      Device attributes response says it is a vanilla VT100
+#      does not respond to xterm mouse controls
+#      alternate screen tests do not fill the screen, return wrong position
+#      window modify/report operations do not work
+#      miscellaneous ISO-6429 tests, e.g., REP, do not work
+#      CBT, CHT, HPR, CNL,CPL, VPR do not work
+#
+# removed the cancel for "hs", removed cbt, invis, corrected sgr -TD
+# use xterm+256setaf, etc -TD
+terminator|Terminator no line wrap,
+       bce, eo, mir, msgr, xenl, xon,
+       cols#80, it#8, lines#24, lm#0,
+       acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
+       bold=\E[1m, civis=\E[?25l, clear=\E[H\E[2J,
+       cnorm=\E[?25h, cr=\r, csr=\E[%i%p1%d;%p2%dr,
+       cub=\E[%p1%dD, cub1=^H, cud=\E[%p1%dB, cud1=\n,
+       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,
+       dim=\E[2m, dl=\E[%p1%dM, dl1=\E[M, ed=\E[J, el=\E[K,
+       el1=\E[1K, enacs=\E(B\E)0, flash=^G, home=\E[H,
+       hpa=\E[%i%p1%dG, ht=^I, hts=\EH, il=\E[%p1%dL, il1=\E[L,
+       ind=\n, is1=\E[?47l\E=\E[?1l,
+       is2=\E[r\E[m\E[2J\E[H\E[?7h\E[?1;3;4;6l\E[4l, kbs=^?,
+       kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A,
+       kdch1=\E[3~, kend=\E[4~, kf1=\EOP, kf10=\E[21~,
+       kf11=\E[23~, kf12=\E[24~, kf13=\E[25~, kf14=\E[26~,
+       kf15=\E[28~, kf16=\E[29~, kf2=\EOQ, kf3=\EOR, kf4=\EOS,
+       kf5=\E[15~, kf6=\E[17~, kf7=\E[18~, kf8=\E[19~, kf9=\E[20~,
+       khome=\E[1~, kich1=\E[2~, knp=\E[6~, kpp=\E[5~, rc=\E8,
+       rev=\E[7m, ri=\EM, rmacs=\E(B, rmir=\E[4l, rmso=\E[27m,
+       rmul=\E[24m, rs1=\Ec, rs2=\E[!p\E[?3;4l\E[4l\E>,
+       s0ds=\E(B, s1ds=\E(0, sc=\E7,
+       sgr=\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p5%t;2%;%?%p1%p3%|%t;7
+           %;m%?%p9%t\E(0%e\E(B%;,
+       sgr0=\E[m\E(B, smacs=\E(0, smir=\E[4h, smso=\E[7m,
+       smul=\E[4m, tbc=\E[3g, tsl=\E]2;%p1, vpa=\E[%i%p1%dd,
+       use=ecma+italics, use=ecma+index, use=xterm+256setaf,
+       use=xterm+sl-twm, use=xterm+alt1049,
+
+#### TERMINOLOGY
+# https://www.enlightenment.org/about-terminology
+#
+# Tested terminology-0.3.0, 0.6.1, using tack and vttest.  This is not a vt100
+# emulator, nor is it compatible with xterm, but it uses a few features from
+# both -TD
+#
+# General comments:
+#      cursor does not fill on focus
+#      there are pervasive problems with clearing/erasing parts of the screen
+#      resizing the window causes it to stop listening to the keyboard
+# tack -
+#      doesn't understand vt100 CPR needed for resize
+#      no CBT
+#      no cvvis
+#      has invis
+#      no blink
+#      uses bce model for colors, but (see below) fails the vttest screens
+#      has partial support for 256color feature.
+#      tack function-keys (a subset of xterm+pcf0), and
+#      tack cursor-keys (a subset of xterm+pce2):
+#                      ctrl+shift (ignored)
+#              2       shift
+#                      shift-alt modifier -> shift (2)
+#              3       alt
+#              4
+#              5       ctrl
+#      tack modifiers did not work for fkeys in 0.3.0; subset works in 0.6.1
+#      ctrl + khome/kend works - none of the other modifiers do
+# vttest -
+#      spits lots of messages from termptyesc.c especially in vttest.
+#      no 132-column mode
+#      fails menu 1, 2 (definitely not vt100-compatible)
+#      primary (claims vt420 with several options, apparently none work) and
+#      secondary report says (perhaps... vt420): \E[>41;285;0c
+#      CHA, HPR, VPA, CNL, CPL work
+#      BCE with ED/EL - fail
+#      BCE with ECH/indexing - fail
+#      SD/SU work
+#      unlike teken, background light/dark works
+#      can set title
+#      X10 and Normal mouse work
+#      Any-event mouse works
+#      Mouse button-event works
+#
+# This description uses xterm+pcf0, which is misleading because the program
+# does not handle combinations of modifiers - but listing them all would
+# involve more effort than its developers spent -TD
+terminology-0.6.1|EFL-based terminal emulator,
+       mc5i@,
+       blink@, ed@, el@, el1@, invis=\E[8m, kLFT=\E[1;2D,
+       kRIT=\E[1;2C, kf10=\E[21~, kf11=\E[23~, kf12=\E[24~,
+       kf5=\E[15~, kf6=\E[17~, kf7=\E[18~, kf8=\E[19~, kf9=\E[20~,
+       kind=\E[1;2B, kri=\E[1;2A,
+       sgr=\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p7%t;8
+           %;m%?%p9%t\016%e\017%;$<2>,
+       vpa=\E[%i%p1%dd, kDC3=\E[3;3~, kDC4=\E[3;4~,
+       kDC5=\E[3;5~, kDC6=\E[3;6~, kDC7=\E[3;7~, kDN=\E[1;2B,
+       kDN3=\E[1;3B, kDN4=\E[1;4B, kDN5=\E[1;5B, kDN6=\E[1;6B,
+       kDN7=\E[1;7B, kEND5=\E[1;5F, kHOM5=\E[1;5H,
+       kLFT3=\E[1;3D, kLFT4=\E[1;4D, kLFT5=\E[1;5D,
+       kLFT6=\E[1;6D, kLFT7=\E[1;7D, kRIT3=\E[1;3C,
+       kRIT4=\E[1;4C, kRIT5=\E[1;5C, kRIT6=\E[1;6C,
+       kRIT7=\E[1;7C, kUP=\E[1;2A, use=xterm+pcf0, use=vt100,
+       use=xterm+256setaf,
+
+# Tested terminology 1.0.0
+#
+# tack -
+#      Shifted cursor-keys send nothing, but xterm modifiers for control+shift
+#      and control+alt were added like xterm+pcc2
+#      Editing keys have some features from xterm+pce2
+#      Changed from xterm+pcf0 to xterm+pcf2
+#
+# vttest -
+#      REP, SL, SR fail
+#
+# Aside from the partial fixes for function/cursor/editing keys, no improvement
+# in other tests versus 0.6.1
+terminology-1.0.0|EFL-based terminal emulator,
+       civis=\E[?25l, cnorm=\E[?12l\E[?25h, dim=\E[2m,
+       flash=\E[?5h$<100/>\E[?5l, kend=\E[OF, khome=\E[OH,
+       rmacs=\E(B,
+       sgr=%?%p9%t\E(0%e\E(B%;\E[0%?%p6%t;1%;%?%p5%t;2%;%?%p2%t;4%;
+           %?%p1%p3%|%t;7%;%?%p7%t;8%;m$<2>,
+       sgr0=\E(B\E[m, smacs=\E(0, use=ecma+italics,
+       use=xterm+x11mouse, use=xterm+pce2, use=xterm+pcf2,
+       use=xterm+pcc2, use=terminology-0.6.1,
+
+terminology|EFL-based terminal emulator,
+       use=terminology-1.0.0,
+
+######## OPENGL CLIENTS
+
+#### Alacritty
+# https://github.com/jwilm/alacritty
+# Version 0.2.1 (2018/10/03)
+# Project started in 2016/02, uses Rust and OpenGL, and in contrast to (most X
+# terminal programs) is not designed to run with a remote server.
+#
+# Packaged in Arch Linux -
+# vttest:
+#      initial screensize 24x80
+#      does not switch between 80/132 columns
+#      passes wrapping test
+#      identifies as a vt100
+#      passes bce test
+#      vt220:
+#              fails ECH, leaving text on right margin
+#              no SRM, DECSCA
+#      vt320:
+#              fails DECXCPR
+#              does not implement any of the DECRQM/DECRPM controls
+#              does not implement any of the DECRQSS controls
+#      vt420:
+#              no DECBI, DECFI
+#      other:
+#              fails REP, SL, SR
+#      xterm:
+#              no X10 mouse
+#              has normal and highlight mouse
+#              has any-event and button-event mouse
+#              cursor-position wrong after alternate-screen
+#              none of the dtterm controls work
+# tack:
+#      bell and flash do not work (perhaps Parallels problem)
+#      italics works; crossed-out does not
+#      function-keys work up to kf36; window manager interferes with remainder
+#
+# The program sources include "alacritty" and "alacritty-direct", which are
+# copied from "xterm-256color" and "xterm-direct" (but using semicolon for
+# subparameter delimiter).  Refactored here to use ncurses building blocks -TD
+alacritty|alacritty terminal emulator,
+       rs1=\Ec\E]104\007, use=xterm+256color,
+       use=alacritty+common,
+
+alacritty-direct|alacritty with direct color indexing,
+       use=xterm+indirect, use=alacritty+common,
+
+# removed ech, since it fails vttest -TD
+# removed ecma+strikeout, not implemented -TD
+alacritty+common|base fragment for alacritty,
+       npc,
+       ech@, kb2=\EOE, kbs=^H, kcbt=\E[Z, kent=\EOM, Se=\E[0 q,
+       use=ecma+index, use=xterm-basic, use=xterm+app,
+       use=ansi+rep, use=xterm+sm+1006, use=xterm+tmux,
+       use=ecma+italics, use=xterm+pce2, use=xterm+pcc2,
+       use=xterm+pcf2,
+
+#### Kitty
+# https://github.com/kovidgoyal/kitty
+# Version 0.12.3
+# Project started in 2016/10 (see alacritty), but is a Python script rather
+# than Rust, using OpenGL.  The same caveats regarding remote connections
+# apply.  This is not an X terminal, though (like alacritty), it copies
+# features from xterm.
+#
+# Regarding the name "kitty", that is a pun, reflected in the description.
+# But see
+#      http://www.9bis.net/kitty/
+#      https://github.com/kovidgoyal/kitty/issues/9
+#      https://github.com/kovidgoyal/kitty/issues/1025
+# and
+#      http://lists.gnu.org/archive/html/bug-ncurses/2018-09/msg00005.html
+#      https://github.com/kovidgoyal/kitty/issues/879
+#
+# Notes:
+#      initial screensize 71x22
+#      does not respond to "resize -s"
+#      resizing with window manager gives no clues
+# vttest
+#      does not switch between 80/132 columns
+#      fails wrapping test, copying vte/rxvt
+#      no reverse-background, no blink
+#      claims to be vt200:
+#              primary \E[?62;c
+#              secondary \E[>1;4000;12c
+#      however -
+#              no GR in the locking-shifts screen
+#              no NRCS or ISO-2022, anyway
+#      no VT52
+#      VT220:
+#              has DECTCEM, ECH, but no SRM and DECSCA
+#              has operating condition report, none of the others
+#      VT320:
+#              has SU/SD
+#              DECRQSS ok for DECSTBM, SGR, none of the others
+#              no status-line
+#      VT420:
+#              DECXCPR device status works, none of the others
+#              no left/right margins
+#              has DECCARA, but not DECERA, DECFRA, DECRARA, DECSERA
+#              inside of DECCARA is uncolored
+#              line-drawing with DECCARA does not work
+#              aside from left/right margins, editing sequences look ok
+#              no DECFI, DECBI
+#      color:
+#              fails ECH test for bce
+#      ISO-6429
+#              fails REP, SL, SL, but other cursor-movement ok
+#      xterm:
+#              does not recognize original alternate-screen
+#              cursor-position wrong after alternate-screen
+#              has normal mouse, any-event, any-button, but
+#                      no X10 mouse
+#                      no mouse-highlight tracking
+#                      no DEC locator
+#              dtterm - only supports report-size chars/pixels
+# tack:
+#      flash doesn't work
+#      bce should be set (but see vttest)
+#*     developer's terminfo stopped at kf25, but the program continues,
+#      copying xterm for the rest of the control+fkey sequence
+#      (but only one modifier is supported, like iTerm2).
+#*     it omitted shifted pageup/down
+#*     control+editing keys work
+#      In contrast to function-keys, some additional modifier combinations
+#      act like xterm for the editing/cursor-keys, e.g., alt+shift.  While
+#      the implementation is incomplete, the building-blocks are consistent
+#      with what has been implemented -TD
+#*     ka1, ka3, kc1, kc3 were bogus (removed)
+#*     meta sends escape (removed kmm) -TD
+#*     cvvis does not make cursor "more visible" -TD
+kitty|KovId's TTY,
+       use=xterm+256color, use=kitty+common,
+kitty-direct|KovId's TTY using direct colors,
+       oc=\E]104\007, use=xterm+direct2, use=kitty+common,
+kitty+common|KovId's TTY common properties,
+       am, mc5i, mir, msgr, npc, xenl,
+       cols#80, it#8, lines#24,
+       acsc=++\,\,--..00``aaffgghhiijjkkllmmnnooppqqrrssttuuvvwwxxy
+            yzz{{||}}~~,
+       bel=^G, bold=\E[1m, cbt=\E[Z, civis=\E[?25l,
+       clear=\E[H\E[2J, cnorm=\E[?12l\E[?25h, cr=\r,
+       csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=^H,
+       cud=\E[%p1%dB, cud1=\n, 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,
+       ech=\E[%p1%dX, ed=\E[J, el=\E[K, el1=\E[1K,
+       flash=\E[?5h$<100/>\E[?5l, home=\E[H, hpa=\E[%i%p1%dG,
+       ht=^I, hts=\EH, ich=\E[%p1%d@, il=\E[%p1%dL, il1=\E[L,
+       ind=\n, kbs=^?, kcbt=\E[Z, kcub1=\EOD, kcud1=\EOB,
+       kcuf1=\EOC, kcuu1=\EOA, kdch1=\E[3~, kend=\EOF, kf1=\EOP,
+       kf10=\E[21~, kf11=\E[23~, kf12=\E[24~, kf13=\E[1;2P,
+       kf14=\E[1;2Q, kf15=\E[1;2R, kf16=\E[1;2S, kf17=\E[15;2~,
+       kf18=\E[17;2~, kf19=\E[18;2~, kf2=\EOQ, kf20=\E[19;2~,
+       kf21=\E[20;2~, kf22=\E[21;2~, kf23=\E[23;2~,
+       kf24=\E[24;2~, kf25=\E[1;5P, kf26=\E[1;5Q, kf27=\E[1;5R,
+       kf28=\E[1;5S, kf29=\E[15;5~, kf3=\EOR, kf30=\E[17;5~,
+       kf31=\E[18;5~, kf32=\E[19;5~, kf33=\E[20;5~,
+       kf34=\E[21;5~, kf35=\E[23;5~, kf36=\E[24;5~, kf4=\EOS,
+       kf5=\E[15~, kf6=\E[17~, kf7=\E[18~, kf8=\E[19~, kf9=\E[20~,
+       khome=\EOH, kich1=\E[2~, kind=\E[1;2B, kmous=\E[M,
+       knp=\E[6~, kpp=\E[5~, kri=\E[1;2A, op=\E[39;49m, rc=\E8,
+       rev=\E[7m, ri=\EM, rmacs=\E(B, rmam=\E[?7l, rmir=\E[4l,
+       rmkx=\E[?1l, rmso=\E[27m, rmul=\E[24m, rs1=\Ec, sc=\E7,
+       sgr=%?%p9%t\E(0%e\E(B%;\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p1%p3%|
+           %t;7%;;m,
+       sgr0=\E(B\E[m, smacs=\E(0, smam=\E[?7h, smir=\E[4h,
+       smkx=\E[?1h, smso=\E[7m, smul=\E[4m, tbc=\E[3g,
+       vpa=\E[%i%p1%dd, use=ecma+index, use=xterm+sl-twm,
+       use=xterm+pce2, use=xterm+pcc2, use=ecma+italics,
+       use=xterm+alt1049,
+
+######## WEB CLIENTS
+
+#### DomTerm
+# https://domterm.org
+#
+# Quoting its webpage:
+#      The domterm command runs a server that manages sessions (usually shell
+#      processes).  The user interface and terminal emulation is handled by a
+#      JavaScript library that can run in a regular web browser or an embedded
+#      browser such as Electron, using Web Sockets to talk to the server.
+#
+# it can connect to, and display in, a web browser, or as a standalone Qt
+# application.  Either way, it displays in the current desktop session.
+#
+# Testing current code (2019/07/06) with Fedora 30:
+# tack
+#      no flash
+#      no beep
+#      no dim
+#      no blink
+#      no invis
+#      no italics
+#      ok smxx/rmxx
+#      bce screen shows diagonal lines...
+#      kf6 sends nothing
+#      kf11 toggles maximize
+#      cursor-key application mode works
+#      numeric keypad application does not work; keys always send face-codes
+#      sends utf-8 for meta, like xterm
+# vttest
+#      has problems with menu #1 (wrapping)
+#      DA = vt200 with 132 columns, color
+#      DA2 = 990, 100300 ("\E[>990;100300;0c")
+#      no VT52, no double-size characters
+#      vt220 ECH test works, SRM, DECSCA do not
+#