+# 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:
+#
+# *termName: my-xterm
+#
+# System administrators can change the default entry for xterm instances
+# by adding a similar line to /usr/X11/lib/X11/app-defaults/XTerm. In either
+# case, xterm will detect and reject an invalid terminal type, falling back
+# to the default of xterm.
+#
+
+# X10/6.6 11/7/86, minus alternate screen, plus (csr)
+# (xterm: ":MT:" changed to ":km:"; added <smam>/<rmam> based on init string;
+# removed (hs, eslok, tsl=\E[?E\E[?%i%dT, fsl=\E[?F, dsl=\E[?E)
+# as these seem not to work -- esr)
+x10term|vs100-x10|xterm terminal emulator (X10 window system),
+ 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, hts based on the R5 xterm code - TD
+# corrected typos in rs2 string - TD
+# 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, 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),
+ 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,