ncurses 6.2 - patch 20200606
[ncurses.git] / misc / terminfo.src
index 70047be7f615793b87123e1c7c19b343a54936b8..707a6b4a6ed05b0b93545a766eb0dd7793146974 100644 (file)
@@ -6,8 +6,8 @@
 # Report bugs and new terminal descriptions to
 #      bug-ncurses@gnu.org
 #
 # Report bugs and new terminal descriptions to
 #      bug-ncurses@gnu.org
 #
-#      $Revision: 1.779 $
-#      $Date: 2020/01/19 01:09:38 $
+#      $Revision: 1.807 $
+#      $Date: 2020/06/07 00:16:21 $
 #
 # 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
 #
 # 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
@@ -966,9 +966,7 @@ linux-basic|linux console,
        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~,
        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,
+       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~, 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,
        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,
@@ -977,7 +975,14 @@ linux-basic|linux console,
            %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,
            %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,
+       use=ecma+color, use=linux+sfkeys,
+
+linux+decid|ncurses extension for Linux console DECID,
+       u6=\E[%i%d;%dR, u7=\E[6n, u8=\E[?6c, u9=\EZ,
+
+linux+sfkeys|shifted function-keys for Linux console,
+       kf13=\E[25~, kf14=\E[26~, kf15=\E[28~, kf16=\E[29~,
+       kf17=\E[31~, kf18=\E[32~, kf19=\E[33~, kf20=\E[34~,
 
 linux-m|Linux console no color,
        colors@, pairs@,
 
 linux-m|Linux console no color,
        colors@, pairs@,
@@ -1131,7 +1136,17 @@ fbterm|FbTerm for Linux with framebuffer,
 # (but nonstandard) SGR 21, which was supported in the Linux console since 1992
 # as an equivalent for SGR 22.  Long after (early 2018), someone modified the
 # console driver to make it ignore SGR 21 because the ECMA-48 standard
 # (but nonstandard) SGR 21, which was supported in the Linux console since 1992
 # as an equivalent for SGR 22.  Long after (early 2018), someone modified the
 # console driver to make it ignore SGR 21 because the ECMA-48 standard
-# suggested a different use for that particular code.
+# suggested a different use for that particular code:
+#
+# https://github.com/torvalds/linux/commit/65d9982d7e523a1a8e7c9af012da0d166f72fc56#diff-7da3c215d12c9f6b88e1a37d38b116f0
+#
+# Two years later, someone (unfamiliar with ECMA-48 this time) documented it:
+#
+# https://git.kernel.org/pub/scm/docs/man-pages/man-pages.git/commit/man4/console_codes.4?id=a133a6bc03d751a424fe0a4adea2198757599615
+#
+# For background, refer to the report on bug-ncurses:
+#
+# https://lists.gnu.org/archive/html/bug-ncurses/2019-10/msg00059.html
 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,
 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,
@@ -1210,7 +1225,7 @@ mach-gnu-color|Mach Console with ANSI color,
        setaf=\E[3%p1%dm, use=mach-gnu,
 
 # From: Marcus Brinkmann
        setaf=\E[3%p1%dm, use=mach-gnu,
 
 # From: Marcus Brinkmann
-# http://savannah.gnu.org/cgi-bin/viewcvs/*checkout*/hurd/hurd/console/
+# http://git.savannah.gnu.org/cgit/hurd/hurd.git/log/console/
 #
 # Comments in the original are summarized here:
 #
 #
 # Comments in the original are summarized here:
 #
@@ -2168,12 +2183,19 @@ bsdos-ppc|PowerPC BSD/OS Console,
 # to a crude plotting feature) -TD
 vt52|dec vt52,
        OTbs,
 # to a crude plotting feature) -TD
 vt52|dec vt52,
        OTbs,
+       it#8, lines#24,
+       acsc=+h.k0affggolpnqprrss, home=\EH, kbs=^H, nel=\r\n,
+       ri=\EI, rmacs=\EG, rmkx=\E>, smacs=\EF, smkx=\E=, u8=\E/[KL],
+       use=vt50h,
+
+# This is more likely the "vt52" that you would see in emulation, i.e., no
+# keypad, no graphics.
+vt52-basic|vt52 for emulators,
        cols#80, it#8, lines#24,
        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,
+       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, kbs=^H, kcub1=\ED, kcud1=\EB,
+       kcuf1=\EC, kcuu1=\EA, nel=\r\n, ri=\EI,
 
 #### DEC VT100 and compatibles
 #
 
 #### DEC VT100 and compatibles
 #
@@ -3857,16 +3879,22 @@ crt|crt-vt220|CRT 2.3 emulating VT220,
 #      Control responses, wrapping and tabs are buggy, failing a couple of
 #      screens in vttest.
 #
 #      Control responses, wrapping and tabs are buggy, failing a couple of
 #      screens in vttest.
 #
-#      xterm mouse support is not implemented (unrelease version may).
+#      xterm mouse support is not implemented (unreleased version may).
 #
 # Several features such as backspace/delete are optional; this entry documents
 #
 # Several features such as backspace/delete are optional; this entry documents
-# the default behavior -TD
+# the default behavior.  None of the combinations of keyboard settings match
+# those used for xterm -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 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
+#
+# PuTTY recognized xterm's 1006 mouse mode in late 2015; subsequent release was
 # in 2017 (0.70) -TD
 # in 2017 (0.70) -TD
+#
+# PuTTY 0.71 (March 2019) provided a workable "rep" capability.  It also
+# changed longstanding keypad assignments, so that these no longer apply:
+#      kLFT=\E[D, kRIT=\E[C, kb2=\E[G,
 putty|PuTTY terminal emulator,
        am, bce, bw, ccc, mir, msgr, xenl, xon, XT,
        colors#8, it#8, ncv#22, pairs#64, U8#1,
 putty|PuTTY terminal emulator,
        am, bce, bw, ccc, mir, msgr, xenl, xon, XT,
        colors#8, it#8, ncv#22, pairs#64, U8#1,
@@ -3890,13 +3918,13 @@ putty|PuTTY terminal emulator,
        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,
        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,
+       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,
        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,
@@ -3906,7 +3934,7 @@ putty|PuTTY terminal emulator,
        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,
        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,
+       use=vt102+enq, use=xterm+sl, use=vt100+fnkeys,
 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,
 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,
@@ -3989,8 +4017,8 @@ putty+fnkeys+sco|SCO fn-keys for PuTTY,
 # https://github.com/mintty/mintty
 #
 # Originally a fork (and reduction) of PuTTY, this has grown from 15ksloc in
 # 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).
+# 2013 to 41ksloc in 2020.  That is still smaller than PuTTY (160ksloc), but
+# larger than rxvt (31ksloc) and slightly smaller than rxvt-unicode (42ksloc).
 #
 # 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
 #
 # 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
@@ -4276,6 +4304,22 @@ ms-terminal|Windows10 terminal,
        use=xterm-basic,
 
 #### Visual Studio
        use=xterm-basic,
 
 #### Visual Studio
+# Visual Studio Code 1.45.0 uses xterm.js 12.8.1 (see https://xtermjs.org/).
+#
+# vttest:
+# - fixes menu 1 problem with wrapping
+# - supports DECALN
+# - fixes menu 8 problem with delete-character
+# - REP, SL/SL work
+# - keypad application mode still does not work; PF1-PF4 are not assigned.
+# - DECRQM/DECRPM do not work
+# - xterm mouse features:
+#   - SGR coordinates work; the other modes do not (see vscode #96058)
+#   - focus-events are not sent
+#   - mouse highlight tracking does not send button event
+# tack/other:
+# - little or no change since previous review
+#
 # Visual Studio Code 1.35.1 uses xterm.js (see https://xtermjs.org/).
 # https://code.visualstudio.com/docs/editor/integrated-terminal
 #
 # Visual Studio Code 1.35.1 uses xterm.js (see https://xtermjs.org/).
 # https://code.visualstudio.com/docs/editor/integrated-terminal
 #
@@ -4408,7 +4452,7 @@ xterm-old|antique xterm version,
 # initially part of the xterm sources (in XFree86).  But "xterm" continued to
 # grow, while "xterm-mono" had none of the newer features.  Additionally,
 # inheriting from "xtermm" runs into several problems, including different
 # initially part of the xterm sources (in XFree86).  But "xterm" continued to
 # grow, while "xterm-mono" had none of the newer features.  Additionally,
 # inheriting from "xtermm" runs into several problems, including different
-# function keys as well as the fact that the mouse support is not compatible. 
+# function keys as well as the fact that the mouse support is not compatible.
 # This entry restores the original intent, intentionally not an alias to
 # simplify maintenance -TD
 xterm-mono|monochrome xterm,
 # This entry restores the original intent, intentionally not an alias to
 # simplify maintenance -TD
 xterm-mono|monochrome xterm,
@@ -4795,7 +4839,7 @@ xterm-16color|xterm with 16 colors like aixterm,
 
 # 256-colors is a compile-time feature of XFree86 xterm beginning with
 # xterm patch #111 (1999/7/10) -TD
 
 # 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,
+xterm+256color|original xterm 256-color feature,
        ccc,
        colors#0x100, pairs#0x10000,
        initc=\E]4;%p1%d;rgb\:%p2%{255}%*%{1000}%/%2.2X/%p3%{255}%*
        ccc,
        colors#0x100, pairs#0x10000,
        initc=\E]4;%p1%d;rgb\:%p2%{255}%*%{1000}%/%2.2X/%p3%{255}%*
@@ -4807,6 +4851,19 @@ xterm+256color|xterm 256-color feature,
              ;%p1%d%;m,
        setb@, setf@,
 
              ;%p1%d%;m,
        setb@, setf@,
 
+# The semicolon separator used in xterm+256color does not follow the ECMA-48
+# standard.  Since patch #282 (in 2012), xterm has supported both the legacy
+# subparameter separator (semicolon) and the standard (colon).
+#
+# The xterm FAQ gives some of the history:
+#      https://invisible-island.net/xterm/xterm.faq.html#color_by_number
+xterm+256color2|xterm 256-color feature,
+       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,
+       use=xterm+256color,
+
 # 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 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
@@ -4840,9 +4897,12 @@ xterm+256setaf|xterm 256-color (set-only),
 # 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.
 # 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,
+xterm+88color|original xterm 88-color feature,
        colors#88, pairs#7744, use=xterm+256color,
 
        colors#88, pairs#7744, use=xterm+256color,
 
+xterm+88color2|xterm 88-color feature,
+       colors#88, pairs#7744, use=xterm+256color2,
+
 # 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,
 # 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,
@@ -4860,7 +4920,7 @@ xterm-88color|xterm with 88 colors,
 # for numeric capabilities provided in ncurses 6.1:
 xterm+direct2|xterm with direct-color indexing,
        RGB,
 # for numeric capabilities provided in ncurses 6.1:
 xterm+direct2|xterm with direct-color indexing,
        RGB,
-       colors#0x1000000, pairs#0x10000,
+       colors#0x1000000, pairs#0x10000, CO#8,
        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,
        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,
@@ -4875,7 +4935,7 @@ xterm-direct2|xterm with direct-color indexing (old),
 # identifier" parameter.  This version provides for that parameter:
 xterm+direct|xterm with direct-color indexing,
        RGB,
 # identifier" parameter.  This version provides for that parameter:
 xterm+direct|xterm with direct-color indexing,
        RGB,
-       colors#0x1000000, pairs#0x10000,
+       colors#0x1000000, pairs#0x10000, CO#8,
        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,
        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,
@@ -4914,7 +4974,7 @@ vte-direct|vte with direct-color indexing,
 nsterm-direct|nsterm with direct-color indexing,
        use=xterm+indirect, use=nsterm,
 
 nsterm-direct|nsterm with direct-color indexing,
        use=xterm+indirect, use=nsterm,
 
-# As for others:
+# As for others (commenting at the time of release for ncurses 6.1):
 # + 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
 # + 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
@@ -4926,6 +4986,45 @@ nsterm-direct|nsterm with direct-color indexing,
 # + terminology 0.91 recognizes xterm's original implementation, but does
 #   nothing useful with it.
 
 # + terminology 0.91 recognizes xterm's original implementation, but does
 #   nothing useful with it.
 
+# Reviewing after ncurses 6.2:
+# + Apple's Terminal.app is unchanged, has no support for direct color:
+#      Catalina 10.15.5 Terminal.app 2.10 (433)
+#      Mohave 10.14.6 - Terminal.app 2.9.5 (421.2)
+# + Cygwin's mintty 3.1.7 works with colon/semicolon
+# + PuTTY 0.73 works with semicolon
+# + Teraterm 4.105 works with semicolon
+# + terminology 1.7.0 works with colon/semicolon.
+
+# Other variants are possible, e.g., by using more of xterm's indexed color
+# palette, though the intrusion of indexed colors on the direct-color space
+# would be more noticeable.
+
+xterm+direct16|xterm with direct-color indexing,
+       CO#16,
+       setab=\E[%?%p1%{8}%<%t4%p1%d%e%?%p1%{16}%<%t%p1%{92}%+%e48\:
+             2\:\:%p1%{65536}%/%d\:%p1%{256}%/%{255}%&%d\:%p1%{255}
+             %&%d%;%;m,
+       setaf=\E[%?%p1%{8}%<%t3%p1%d%e%?%p1%{16}%<%t%p1%'R'%+%e38\:2
+             \:\:%p1%{65536}%/%d\:%p1%{256}%/%{255}%&%d\:%p1%{255}
+             %&%d%;%;m,
+       setb@, setf@, use=xterm+direct,
+
+xterm-direct16|xterm with direct-colors and 16 indexed colors,
+       use=xterm, use=xterm+direct16,
+
+xterm+direct256|xterm with direct-color indexing,
+       CO#0x100,
+       setab=\E[%?%p1%{8}%<%t4%p1%d%e%p1%{16}%<%t10%p1%{8}%-%d%e%?
+             %p1%{256}%<%t48;5;%p1%d%e48\:2\:\:%p1%{65536}%/%d\:%p1
+             %{256}%/%{255}%&%d\:%p1%{255}%&%d%;%;m,
+       setaf=\E[%?%p1%{8}%<%t3%p1%d%e%p1%{16}%<%t9%p1%{8}%-%d%e%?
+             %p1%{256}%<%t38;5;%p1%d%e38\:2\:\:%p1%{65536}%/%d\:%p1
+             %{256}%/%{255}%&%d\:%p1%{255}%&%d%;%;m,
+       setb@, setf@, use=xterm+direct,
+
+xterm-direct256|xterm with direct-colors and 256 indexed colors,
+       use=xterm, use=xterm+direct256,
+
 #### XTERM Features
 
 # This chunk is based on suggestions by Ailin Nemui and Nicholas Marriott, who
 #### XTERM Features
 
 # This chunk is based on suggestions by Ailin Nemui and Nicholas Marriott, who
@@ -5052,7 +5151,7 @@ xterm-vt52|xterm emulating dec vt52,
        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,
        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,
+       use=xterm+kbs, use=vt52+keypad,
 
 xterm-noapp|xterm with cursor keys in normal mode,
        rmcup@, rmkx=\E>, smcup@, smkx=\E=, use=xterm+noapp,
 
 xterm-noapp|xterm with cursor keys in normal mode,
        rmcup@, rmkx=\E>, smcup@, smkx=\E=, use=xterm+noapp,
@@ -5610,7 +5709,7 @@ xfce|Xfce Terminal,
 #      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://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/
+#      https://aur.archlinux.org/packages/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
 # It won't be merged:
 #      https://bugzilla.gnome.org/show_bug.cgi?id=679658#c10
 #      https://bugzilla.gnome.org/show_bug.cgi?id=78291
@@ -5712,10 +5811,13 @@ kvt|KDE terminal,
 #    (also overline, which is too rarely used to provide as an extension)
 #
 # Updated for konsole 17.12.0 (late 2017):
 #    (also overline, which is too rarely used to provide as an extension)
 #
 # Updated for konsole 17.12.0 (late 2017):
+#
+# Re-enable "bel", since it is latent in the source-code even though KDE config
+# often hides the feature (2020/5/30)
 konsole-base|KDE console window,
        bce, km@, npc, XT,
        ncv@,
 konsole-base|KDE console window,
        bce, km@, npc, XT,
        ncv@,
-       bel@, blink=\E[5m, civis=\E[?25l, cnorm=\E[?25h, dim=\E[2m,
+       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@,
        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@,
@@ -7313,6 +7415,7 @@ screen|VT 100/ANSI X3.64 virtual terminal,
        sgr0=\E[m\017, smacs=^N, smir=\E[4h, smkx=\E[?1h\E=,
        smso=\E[3m, smul=\E[4m, tbc=\E[3g, vpa=\E[%i%p1%dd,
        E0=\E(B, S0=\E(%p1%c, use=xterm+alt1049, use=ecma+color,
        sgr0=\E[m\017, smacs=^N, smir=\E[4h, smkx=\E[?1h\E=,
        smso=\E[3m, smul=\E[4m, tbc=\E[3g, vpa=\E[%i%p1%dd,
        E0=\E(B, S0=\E(%p1%c, use=xterm+alt1049, use=ecma+color,
+       use=vt100+enq,
 # The bce and status-line entries are from screen 3.9.13 (and require some
 # changes to .screenrc).
 screen-bce|VT 100/ANSI X3.64 virtual terminal with bce,
 # The bce and status-line entries are from screen 3.9.13 (and require some
 # changes to .screenrc).
 screen-bce|VT 100/ANSI X3.64 virtual terminal with bce,
@@ -7453,10 +7556,10 @@ screen.konsole|screen in KDE console window,
        use=xterm+x11mouse, use=screen+italics,
        use=screen+fkeys, use=konsole,
 # fix the backspace key
        use=xterm+x11mouse, use=screen+italics,
        use=screen+fkeys, use=konsole,
 # fix the backspace key
-screen.linux|screen in linux console,
+screen.linux|screen.linux-s|screen in linux console,
        bw,
        bw,
-       kbs=^?, kcbt@, use=xterm+x11mouse, use=screen+fkeys,
-       use=screen4,
+       kbs=^?, kcbt@, use=linux+sfkeys, use=xterm+x11mouse,
+       use=screen+fkeys, use=screen4,
 screen.mlterm|screen in mlterm,
        use=xterm+x11mouse, use=screen+fkeys, use=mlterm,
 screen.putty|screen in putty,
 screen.mlterm|screen in mlterm,
        use=xterm+x11mouse, use=screen+fkeys, use=mlterm,
 screen.putty|screen in putty,
@@ -8596,7 +8699,7 @@ uwin|U/Win 3.2 console,
 # variables may be permanently set in the Control Panel\System applet.
 #
 # You can find out more about the restrictions of this facility at
 # variables may be permanently set in the Control Panel\System applet.
 #
 # You can find out more about the restrictions of this facility at
-# <http://www.nentug.org/unix-to-nt/ntposix.htm>.
+# <https://jeffpar.github.io/kbarchive/kb/108/Q108581/>
 #
 # From: Federico Bianchi <bianchi@magna.cisid.unipi.it>, 15 Jan 1997
 ansi-nt|psx_ansi|Microsoft Windows NT console POSIX ANSI mode,
 #
 # From: Federico Bianchi <bianchi@magna.cisid.unipi.it>, 15 Jan 1997
 ansi-nt|psx_ansi|Microsoft Windows NT console POSIX ANSI mode,
@@ -9451,7 +9554,7 @@ gator|HP 9000 model 237 emulating AAA,
        rep=%p1%c\E[%p2%db$<1*/>, rev=\E[7m, rmso=\E[m,
        rmul=\E[m, sgr0=\E[m, smso=\E[7m, smul=\E[4m,
 gator-52|HP 9000 model 237 emulating VT52,
        rep=%p1%c\E[%p2%db$<1*/>, rev=\E[7m, rmso=\E[m,
        rmul=\E[m, sgr0=\E[m, smso=\E[7m, smul=\E[4m,
 gator-52|HP 9000 model 237 emulating VT52,
-       cols#128, lines#47, use=vt52,
+       cols#128, lines#47, use=vt52-basic,
 gator-52t|HP 9000 model 237 emulating extra-tall VT52,
        lines#94, use=gator-52,
 
 gator-52t|HP 9000 model 237 emulating extra-tall VT52,
        lines#94, use=gator-52,
 
@@ -10173,6 +10276,7 @@ tvi912cc|tvi912 at cowell college,
 #
 # Someone has put a scanned copy of the manual online at:
 #     http://vt100.net/televideo/912b-om/
 #
 # Someone has put a scanned copy of the manual online at:
 #     http://vt100.net/televideo/912b-om/
+#     (https://vt100.net/manx/details/6,5484)
 #
 # These terminals were produced ca. 1979, and had a 12" monochrome
 # screen, supported 75-9600 baud (no handshaking), monochrome, 7-bit
 #
 # These terminals were produced ca. 1979, and had a 12" monochrome
 # screen, supported 75-9600 baud (no handshaking), monochrome, 7-bit
@@ -16983,8 +17087,8 @@ hz1520-noesc|hazeltine 1520,
 # Be sure the auto lf/cr switch is set to cr.
 hz1552|hazeltine 1552,
        OTbs,
 # Be sure the auto lf/cr switch is set to cr.
 hz1552|hazeltine 1552,
        OTbs,
-       cud1=\n, dl1=\EO, il1=\EE, kf1=\EP, kf2=\EQ, kf3=\ER, lf1=blue,
-       lf2=red, lf3=green, use=vt52,
+       cud1=\n, dl1=\EO, il1=\EE, lf1=blue, lf2=red, lf3=green,
+       use=vt52,
 hz1552-rv|hazeltine 1552 reverse video,
        cud1=\n, rmso=\ET, smso=\ES, use=hz1552,
 # Note: h2000 won't work well because of a clash between upper case and ~'s.
 hz1552-rv|hazeltine 1552 reverse video,
        cud1=\n, rmso=\ET, smso=\ES, use=hz1552,
 # Note: h2000 won't work well because of a clash between upper case and ~'s.
@@ -20786,7 +20890,6 @@ linux-m1|Linux Minitel 1 "like" Couleurs,
        rs1=\Ec, rs3=\E[37;40m\E[8], sc=\E7, setab=\E[4%p1%dm,
        setaf=\E[3%p1%dm, sgr0=\E[m, smacs=^N, smam=\E[?7h,
        smir=\E[4h, smpch=\E[11m, smso=\E[7m, tbc=\E[3g,
        rs1=\Ec, rs3=\E[37;40m\E[8], sc=\E7, setab=\E[4%p1%dm,
        setaf=\E[3%p1%dm, sgr0=\E[m, smacs=^N, smam=\E[?7h,
        smir=\E[4h, smpch=\E[11m, smso=\E[7m, tbc=\E[3g,
-       u6=\E[%i%d;%dR, u7=\E[6n, u8=\E[?6c, u9=\EZ,
        vpa=\E[%i%p1%dd, .VN=\E[?5l, .VR=\E[?5h, .am@,
        .ich=\E[%p1%d@, .ich1=\E[@, .ll=\E[99H, .rmcup=,
        .rmul=\E[24m, .smcup=\E]R\E]P3FFFF80\E[?8c,
        vpa=\E[%i%p1%dd, .VN=\E[?5l, .VR=\E[?5h, .am@,
        .ich=\E[%p1%d@, .ich1=\E[@, .ll=\E[99H, .rmcup=,
        .rmul=\E[24m, .smcup=\E]R\E]P3FFFF80\E[?8c,
@@ -20799,6 +20902,7 @@ linux-m1|Linux Minitel 1 "like" Couleurs,
           \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
           \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
           \n\n\n\n\n\n\n\n\n\n,
           \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
           \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
           \n\n\n\n\n\n\n\n\n\n,
+       use=linux+decid,
 
 # 1. Using double-shapes for vt100 graphical chars (eg: mc).
 # 2. Native brown color corrected to good yellow color.
 
 # 1. Using double-shapes for vt100 graphical chars (eg: mc).
 # 2. Native brown color corrected to good yellow color.
@@ -20841,6 +20945,17 @@ linux-m2|Linux Minitel 2 "like" Couleurs (Vert/Blanc/Noir+Bleu),
               \E]PFFFFFFF\E[;37m,
        use=linux-m1,
 
               \E]PFFFFFFF\E[;37m,
        use=linux-m1,
 
+# From: Alexandre Montaron, 27 May 2020
+linux-s|Linux Console with added status line at bottom,
+       hs,
+       clear=\E[255;255H\E[A\E[1J\E[H, csr@,
+       dsl=\E7\E[255H\E[K\E8, ed@, fsl=\E8,
+       iprog=\sbash\s-c\s'echo\s-ne\s"\E[?6l\E[255H\E[A\E[6n"\s;
+             \sread\s-d\sR\sTMP\s;\sLINES=`echo\s$TMP\s|\scut\s-f1
+             \s-d\s";"\s|\scut\s-f2\s-d\s"["`\s;\sstty\srows\s$LINE
+             S\s;\secho\s-ne\s"\E[;"$LINES"r\E[J"',
+       rs1=\E]R, tsl=\E7\E[255;%p1%dH, .rc@, .sc@, use=linux,
+
 # Screen entries counterpart :
 
 screen.linux-m1|Linux m1 specific for screen,
 # Screen entries counterpart :
 
 screen.linux-m1|Linux m1 specific for screen,
@@ -21693,11 +21808,41 @@ dp8242|datapoint 8242,
 
 #### DEC terminals (Obsolete types: DECwriter and vt40/42/50)
 #
 
 #### DEC terminals (Obsolete types: DECwriter and vt40/42/50)
 #
-# These entries are DEC's official terminfos for its older terminals.
-# Contact Bill Hedberg <hedberg@hannah.enet.dec.com> of Terminal Support
-# Engineering for more information.  Updated terminfos and termcaps
-# are kept available at ftp://gatekeeper.dec.com/pub/DEC/termcaps.
+# These entries came from DEC's official terminfos for its older terminals
+# (which happen to be identical to the AT&T/SCO terminal descriptions),
+# Bill Hedberg <hedberg@hannah.enet.dec.com> of Terminal Support Engineering
+# may have had more information.  Updated terminfos and termcaps were available
+# at ftp://gatekeeper.dec.com/pub/DEC/termcaps.
+
+# DEC's terminfos did not describe the auxiliary keypad.
+#
+# DECScope of course had no "function keys", but this building block assigns
+# the three blank keys at the top of the auxiliary (numeric) keypad, using
+# the same analogy as vt100 (also lacking function-keys).
 #
 #
+# These assignments use the same layout for 0-9 as vt100+keypad; the vt52
+# keypad had its cursor-keys on the right-column as shown -TD
+#   _______________________________________
+#  |   PF1   |   PF2   |   PF3   | c-up    |
+#  |   \EP   |   \EQ   |   \ER   |   \EA   |
+#  |_kf1__k1_|_kf2__k2_|_kf3__k3_|kcuu1_k4_|
+#  |    7         8         9      c-down  |
+#  |   \E?w  |   \E?x  |   \E?y  |   \EB   |
+#  |_kf9__k9_|_kf10_k;_|_kf0__k0_|kcud1____|
+#  |    4    |    5    |    6    | c-right |
+#  |   \E?t  |   \E?u  |   \E?v  |   \EC   |
+#  |_kf5__k5_|_kf6__k6_|_kf7__k7_|kcuf1_k8_|
+#  |    1    |    2    |    3    | c-left  |
+#  |   \E?q  |   \E?r  |   \E?s  |   \ED   |
+#  |_ka1__K1_|_kb2__K2_|_ka3__K3_|kcub1____|
+#  |         0         |   .     |  enter  |
+#  |        \E?p       |  \E?n   |  \E?M   |
+#  |___kc1_______K4____|_kc3__K5_|_kent_@8_|
+#
+vt52+keypad|DECScope auxiliary keypad,
+       ka1=\E?q, ka3=\E?s, kb2=\E?r, kc1=\E?p, kc3=\E?n, kf0=\E?y,
+       kf1=\EP, kf2=\EQ, kf3=\ER, kf5=\E?t, kf6=\E?u, kf7=\E?v,
+       kf8=\E?w, kf9=\E?x,
 
 gt40|dec gt40,
        OTbs, os,
 
 gt40|dec gt40,
        OTbs, os,
@@ -21707,17 +21852,17 @@ gt42|dec gt42,
        OTbs, os,
        cols#72, lines#40,
        bel=^G, cr=\r, cub1=^H, cud1=\n,
        OTbs, os,
        cols#72, lines#40,
        bel=^G, cr=\r, cub1=^H, cud1=\n,
+
 vt50|dec vt50,
        OTbs,
        cols#80, lines#12,
        bel=^G, clear=\EH\EJ, cr=\r, cub1=^H, cud1=\n, cuf1=\EC,
 vt50|dec vt50,
        OTbs,
        cols#80, lines#12,
        bel=^G, clear=\EH\EJ, cr=\r, cub1=^H, cud1=\n, cuf1=\EC,
-       cuu1=\EA, ed=\EJ, el=\EK, ht=^I, ind=\n,
+       cuu1=\EA, ed=\EJ, el=\EK, ht=^I, ind=\n, u8=\E/A, u9=\EZ,
 vt50h|dec vt50h,
 vt50h|dec vt50h,
-       OTbs,
-       cols#80, lines#12,
-       bel=^G, clear=\EH\EJ, cr=\r, cub1=^H, cud1=\n, cuf1=\EC,
-       cup=\EY%p1%{32}%+%c%p2%{32}%+%c, cuu1=\EA, ed=\EJ,
-       el=\EK, ht=^I, ind=\n, ri=\EI,
+       cub1=\ED, cud1=\EB, cup=\EY%p1%{32}%+%c%p2%{32}%+%c,
+       kcub1=\ED, kcud1=\EB, kcuf1=\EC, kcuu1=\EA, u8=\E/[HJ],
+       use=vt52+keypad, use=vt50,
+
 # (vt61: there's a BSD termcap that claims <dl1=\EPd>, <il1=\EPf.> <kbs=^H>)
 vt61|vt-61|vt61.5|dec vt61,
        cols#80, lines#24,
 # (vt61: there's a BSD termcap that claims <dl1=\EPd>, <il1=\EPf.> <kbs=^H>)
 vt61|vt-61|vt61.5|dec vt61,
        cols#80, lines#24,
@@ -24502,6 +24647,8 @@ v3220|LANPAR Vision II model 3220/3221/3222,
 #    This was implemented for the Hurd.
 # rmxx/smxx describes the ECMA-48 strikeout/crossed-out attributes, as an
 #    experimental feature of tmux.
 #    This was implemented for the Hurd.
 # rmxx/smxx describes the ECMA-48 strikeout/crossed-out attributes, as an
 #    experimental feature of tmux.
+# CO gives the number of indexed ("ANSI") colors which overlay an RGB color
+#    space.
 # E3 clears the terminal's scrollback buffer.  This was implemented in the
 #    Linux 3.0 kernel as a security feature.  It matches a feature which was
 #    added in xterm patch #107.
 # E3 clears the terminal's scrollback buffer.  This was implemented in the
 #    Linux 3.0 kernel as a security feature.  It matches a feature which was
 #    added in xterm patch #107.
@@ -26435,4 +26582,36 @@ v3220|LANPAR Vision II model 3220/3221/3222,
 #      + spelling fixes per codespell -TD
 #      + improve xm example for xterm+x11mouse, xterm+sm+1006 -TD
 #
 #      + spelling fixes per codespell -TD
 #      + improve xm example for xterm+x11mouse, xterm+sm+1006 -TD
 #
+# 2020-02-22
+#      + improve vt50h and vt52 based on DECScope manual -TD
+#      + add/use vt52+keypad and vt52-basic -TD
+#
+# 2020-04-18
+#      + use vt52+keypad in xterm-vt52, from xterm #354 -TD
+#
+# 2020-04-25
+#      + use vt100+fnkeys in putty -TD
+#
+# 2020-05-02
+#      + add details on the change to Linux SGR 21 in 2018 -TD
+#      + add xterm-direct16 and xterm-direct256 -TD
+#
+# 2020-05-03
+#      + fix some dead URLs -TD
+#
+# 2020-05-16
+#      + update notes on vscode / xterm.js -TD
+#
+# 2020-05-30
+#      + re-enable "bel" in konsole-base (report by Nia Huang)
+#      + add linux-s entry (patch by Alexandre Montaron).
+#
+# 2020-06-06
+#      + add xterm+256color2, xterm+88color2, to deprecate nonstandard usage
+#        in xterm+256color, xterm+88color -TD
+#      + add shifted Linux console keys in linux+sfkeys entry for
+#        screen.linux (report by Alexandre Montaron).
+#      + use vt100+enq in screen (report by Alexandre Montaron).
+#      + add screen.linux-s alias (suggested by Alexandre Montaron).
+#
 ######## SHANTIH!  SHANTIH!  SHANTIH!
 ######## SHANTIH!  SHANTIH!  SHANTIH!