Home | History | Annotate | Line # | Download | only in dist
      1 # $XTermId: terminfo,v 1.209 2024/02/11 23:35:48 tom Exp $
      2 #
      3 # Updates/notes/new entries (e.g., xterm-8bit, xterm-16color, xterm-256color)
      4 # - Thomas E. Dickey
      5 #
      6 #------------------------------------------------------------------------------
      7 # Copyright 1996-2023,2024 by Thomas E. Dickey
      8 #
      9 #                         All Rights Reserved
     10 #
     11 # Permission is hereby granted, free of charge, to any person obtaining a
     12 # copy of this software and associated documentation files (the
     13 # "Software"), to deal in the Software without restriction, including
     14 # without limitation the rights to use, copy, modify, merge, publish,
     15 # distribute, sublicense, and/or sell copies of the Software, and to
     16 # permit persons to whom the Software is furnished to do so, subject to
     17 # the following conditions:
     18 #
     19 # The above copyright notice and this permission notice shall be included
     20 # in all copies or substantial portions of the Software.
     21 #
     22 # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
     23 # OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
     24 # MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
     25 # IN NO EVENT SHALL THE ABOVE LISTED COPYRIGHT HOLDER(S) BE LIABLE FOR ANY
     26 # CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
     27 # TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
     28 # SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
     29 #
     30 # Except as contained in this notice, the name(s) of the above copyright
     31 # holders shall not be used in advertising or otherwise to promote the
     32 # sale, use or other dealings in this Software without prior written
     33 # authorization.
     34 #------------------------------------------------------------------------------
     35 # format (ncurses 6.1): tic -I -W -1 -f -x terminfo
     36 #------------------------------------------------------------------------------
     37 #
     38 # Special Capabilities:
     39 # --------------------
     40 # ich has a corresponding capability that inserts a single blank.  We could
     41 #	have used ich1=\E[@, which works with ncurses, but that is not standard
     42 #	behavior.  If it is set, then SVr4 vi (e.g., Solaris 2.6) emits both
     43 #	smir/rmir and ich1.
     44 # meml locks memory above the cursor; memu unlocks (ala HP terminals).  This
     45 #	is not recognized by some older (e.g., SVr3) tic programs, but none
     46 #	do more than warn about it.  Ignore the warning.
     47 # smcup clears memory before switching to the alternate screen.  The older
     48 #	(deprecated) \E[?47h did not do this, requiring applications to
     49 #	embed a \E[2J in the rmcup string.  However, that behavior cannot
     50 #	be disabled via titeInhibit, making that resource not function as
     51 #	intended on systems with terminfo.
     52 # rs2/is2 are shorter with XFree86 xterm because it supports DECSTR.  We
     53 #	use the shorter sequence for compatibility with the termcap, which
     54 #	is trimmed to keep it shorter than 1023 characters.  It (escape \E[!p)
     55 #	replaces these in the conventional vt100 reset-string:
     56 #		\E7	- save cursor (fixes origin-mode side-effect)
     57 #		\E[r	- reset scrolling margins
     58 #		\E[m	- reset SGR (including color)
     59 #		\E[?7h	- reset wraparound mode (DECAWM)
     60 #		\E[?1l	- reset application cursor keys (DECCKM)
     61 #		\E[?6l	- reset origin mode (DECOM)
     62 #		\E8	- restore cursor
     63 #	DECSTR is recognized by XFree86 xterm even in vt52 mode.
     64 #
     65 # Editing Keypad:
     66 # --------------
     67 # XFree86 xterm emulates vt220 if the decTerminalID resource is set to 200 or
     68 # higher.  Otherwise it emulates a vt100 or vt52 depending on the value of the
     69 # resource.  When emulating a vt220, we support the editing keypad.  Sun and PC
     70 # keyboards have an editing keypad which is similar to the vt220:
     71 #
     72 #	VT220 editing keypad
     73 #	----------------------------
     74 #	Find      Insert      Remove
     75 #	Select    Prev        Next
     76 #	----------------------------
     77 #
     78 #	Sun/PC editing keypad
     79 #	----------------------------
     80 #	Insert    Home        PageUp
     81 #	Delete    End         PageDn
     82 #	----------------------------
     83 #
     84 # If the sunKeyboard resource is true, we map it this way (adjusting the values
     85 # of Home, End and Delete):
     86 #	VT220		      Sun/PC
     87 #	----------------------------
     88 #	Find		      Home
     89 #	Select		      End
     90 #	Insert		      Insert
     91 #	Remove		      Delete
     92 #	Prev		      PageUp
     93 #	Next		      PageDn
     94 #	----------------------------
     95 #
     96 # Note that all of the keys on the editing keypad transmit escape sequences.  A
     97 # vt220 does this only when in vt220 mode; when emulating a vt100 the editing
     98 # keypad is inactive.
     99 #
    100 # Alternative keycodes:
    101 # --------------------
    102 # Several of the function keys have alternative names, depending on the type of
    103 # host which your xterm is connected to.  DEC (i.e., the VMS system) uses F15
    104 # as the HELP key, F16 as the DO key.  Unix applications generally do not do
    105 # this.  Curses applications in particular, assign a unique keycode to each
    106 # capability string.  These terminal descriptions do not have conflicting
    107 # definitions, to ensure that Unix curses applications use a consistent set of
    108 # keycodes.  To get a VMS-bias, make these substitutions:
    109 #	1. change khome to kfnd
    110 #	2. change kend to kslt
    111 # The original xterm-r6 entry does in fact have a VMS bias.
    112 #
    113 # Some legacy applications using the termcap emulation may expect kll where
    114 # we have specified kend.
    115 #
    116 # Function keys with modifiers (Sun/PC):
    117 # -------------------------------------
    118 #	Shift-Fx          - kf{12+x}
    119 #	Control-Fx        - kf{24+x}
    120 #	Shift-Control-Fx  - kf{36+x}
    121 #
    122 # The terminfo defines some special keys which are documented as "shifted",
    123 # e.g., kDC is shifted-delete-character.
    124 #
    125 # Note however, that even though the terminfo says a key might be sent, there
    126 # may be conflicts which prevent this.  For example, it is common to use
    127 # shifted pageup and pagedown for window manager functions.  The default
    128 # translation for xterm since X11R4 has overridden shifted Insert, Select,
    129 # PageUp and PageDown, which correspond to terminfo kIC, kEND, kPRV and kNXT
    130 # respectively.
    131 #
    132 xterm-new|modern xterm terminal emulator,
    133 	use=dec+sl,
    134 	use=ecma+index,
    135 	use=xterm+keypad,
    136 	use=vt420+lrmm,
    137 	use=xterm+sm+1006,
    138 	use=ansi+rep,
    139 	use=ecma+strikeout,
    140 	use=xterm+pcfkeys,
    141 	use=xterm+tmux,
    142 	use=xterm+nofkeys,
    143 	use=bracketed+paste,
    144 	use=report+version,
    145 	use=xterm+focus,
    146 
    147 # Left/right margins are supported in xterm since patch #279 (2012/05/10)
    148 vt420+lrmm|VT420 left/right margins,
    149 	mgc=\E[?69l,
    150 	smglp=\E[?69h\E[%i%p1%ds,
    151 	smglr=\E[?69h\E[%i%p1%d;%p2%ds,
    152 	smgrp=\E[?69h\E[%i;%p1%ds,
    153 
    154 # These "ansi+XXX" blocks were added in ncurses 5.0 or 5.1:
    155 ansi+arrows|ANSI normal-mode home and cursor-keys,
    156 	kbs=^H,
    157 	kcub1=\E[D,
    158 	kcud1=\E[B,
    159 	kcuf1=\E[C,
    160 	kcuu1=\E[A,
    161 	khome=\E[H,
    162 
    163 ansi+csr|ANSI scroll-region plus cursor save & restore,
    164 	csr=\E[%i%p1%d;%p2%dr,
    165 	rc=\E8,
    166 	sc=\E7,
    167 
    168 ansi+cup|ANSI absolute cursor-addressing,
    169 	cup=\E[%i%p1%d;%p2%dH,
    170 	home=\E[H,
    171 
    172 ansi+enq|ncurses extension for ANSI ENQ,
    173 	u6=\E[%i%d;%dR,
    174 	u7=\E[6n,
    175 	u8=\E[?%[;0123456789]c,
    176 	u9=\E[c,
    177 
    178 ansi+erase|ANSI clear screen/line,
    179 	clear=\E[H\E[J,
    180 	ed=\E[J,
    181 	el=\E[K,
    182 
    183 ansi+idc1|ANSI insert/delete one character,
    184 	dch1=\E[P,
    185 	ich1=\E[@,
    186 	rmir=\E[4l,
    187 	smir=\E[4h,
    188 
    189 ansi+idc|ANSI insert/delete characters,
    190 	dch=\E[%p1%dP,
    191 	ich=\E[%p1%d@,
    192 	use=ansi+idc1,
    193 
    194 ansi+idl1|ANSI insert/delete one line,
    195 	dl1=\E[M,
    196 	il1=\E[L,
    197 
    198 ansi+idl|ANSI insert/delete lines,
    199 	dl=\E[%p1%dM,
    200 	il=\E[%p1%dL,
    201 	use=ansi+idl1,
    202 
    203 ansi+inittabs|ANSI initial tab-stops,
    204 	it#8,
    205 	use=ansi+tabs,
    206 
    207 ansi+local1|ANSI normal-mode cursor-keys,
    208 	cub1=\E[D,
    209 	cud1=\E[B,
    210 	cuf1=\E[C,
    211 	cuu1=\E[A,
    212 
    213 ansi+local|ANSI normal-mode parameterized cursor-keys,
    214 	cub=\E[%p1%dD,
    215 	cud=\E[%p1%dB,
    216 	cuf=\E[%p1%dC,
    217 	cuu=\E[%p1%dA,
    218 	use=ansi+local1,
    219 
    220 ansi+pp|ANSI printer port,
    221 	mc5i,
    222 	mc0=\E[i,
    223 	mc4=\E[4i,
    224 	mc5=\E[5i,
    225 
    226 ansi+rep|ANSI repeat-character,
    227 	rep=%p1%c\E[%p2%{1}%-%db,
    228 
    229 ansi+sgr|ANSI graphic renditions,
    230 	blink=\E[5m,
    231 	invis=\E[8m,
    232 	rev=\E[7m,
    233 	sgr=\E[0
    234 		%?
    235 			%p3
    236 			%t;7
    237 		%;
    238 		%?
    239 			%p4
    240 			%t;5
    241 		%;
    242 		%?
    243 			%p7
    244 			%t;8
    245 		%;
    246 		m,
    247 	sgr0=\E[0m,
    248 
    249 ansi+sgrso|ANSI standout only,
    250 	rmso=\E[m,
    251 	smso=\E[7m,
    252 
    253 ansi+sgrul|ANSI underline only,
    254 	rmul=\E[m,
    255 	smul=\E[4m,
    256 
    257 ansi+sgrbold|ANSI graphic renditions; assuming terminal has bold; not dim,
    258 	bold=\E[1m,
    259 	sgr=\E[
    260 		%?
    261 			%p1
    262 			%t7;
    263 		%;
    264 		%?
    265 			%p2
    266 			%t4;
    267 		%;
    268 		%?
    269 			%p3
    270 			%t7;
    271 		%;
    272 		%?
    273 			%p4
    274 			%t5;
    275 		%;
    276 		%?
    277 			%p6
    278 			%t1;
    279 		%;
    280 		%?
    281 			%p7
    282 			%t8;
    283 		%;
    284 		m,
    285 	use=ansi+sgr,
    286 	use=ansi+sgrso,
    287 	use=ansi+sgrul,
    288 
    289 ansi+sgrdim|ANSI graphic renditions; assuming terminal has dim; not bold,
    290 	dim=\E[2m,
    291 	sgr=\E[
    292 		%?
    293 			%p1
    294 			%t7;
    295 		%;
    296 		%?
    297 			%p2
    298 			%t4;
    299 		%;
    300 		%?
    301 			%p3
    302 			%t7;
    303 		%;
    304 		%?
    305 			%p4
    306 			%t5;
    307 		%;
    308 		%?
    309 			%p5
    310 			%t2;
    311 		%;
    312 		%?
    313 			%p7
    314 			%t8;
    315 		%;
    316 		m,
    317 	use=ansi+sgr,
    318 	use=ansi+sgrso,
    319 	use=ansi+sgrul,
    320 
    321 ansi+tabs|ANSI tab-stops,
    322 	cbt=\E[Z,
    323 	ht=^I,
    324 	hts=\EH,
    325 	tbc=\E[3g,
    326 
    327 # These were added after ncurses 6.0:
    328 ansi+apparrows|ANSI application-mode home and cursor-keys,
    329 	kcub1=\EOD,
    330 	kcud1=\EOB,
    331 	kcuf1=\EOC,
    332 	kcuu1=\EOA,
    333 	khome=\EOH,
    334 	use=ansi+arrows,
    335 
    336 ansi+cpr|ncurses extension for ANSI CPR,
    337 	u6=\E[%i%d;%dR,
    338 	u7=\E[6n,
    339 
    340 ansi+rca2|ANSI relative cursor-addressing,
    341 	hpa=\E[%i%p1%dG,
    342 	vpa=\E[%i%p1%dd,
    343 
    344 # Encode modifiers using parameters (see "Xterm Control Sequences" ctlseqs.ms).
    345 # Note that this is unrelated to PCTERM.
    346 #
    347 # Some names are extensions allowed by ncurses, e.g.,
    348 #	kDN, kDN5, kDN6, kLFT5, kLFT6, kRIT5, kRIT6, kUP, kUP5, kUP6
    349 #
    350 # The uppercase names are made up, since there are no standards that apply.
    351 # If they were limited to two characters, they could in principle be translated
    352 # to termcap.  However, termcap sizes are limited to 1023 bytes, so there is
    353 # little point in ensuring that extended key names can be translated to
    354 # termcap.  A terminfo file can be up to 4096 bytes; using all extended keys
    355 # that xterm can generate would in fact exceed that limit.
    356 #
    357 # The numbers correspond to the modifier parameters documented in Xterm
    358 # Control Sequences:
    359 #
    360 #	2	Shift
    361 #	3	Alt
    362 #	4	Shift + Alt
    363 #	5	Control
    364 #	6	Shift + Control
    365 #	7	Alt + Control
    366 #	8	Shift + Alt + Control
    367 #
    368 # X/Open Curses defines some shift combinations, which are also used here
    369 # where applicable.  Since it does define some shift combinations, no number
    370 # (2) is used for suffixing the made-up names.  Some combinations are not
    371 # useful, e.g., they may reboot your computer, or they may require too many
    372 # fingers.  I stopped at modifier 7, just to keep things simple -TD
    373 #
    374 # XTerm resources:
    375 # ---------------
    376 # The xterm+pcfn, xterm+pcf0, xterm+pcf1, xterm+pcf2 and xterm+pcf3 fragments
    377 # correspond to default resource settings for xterm on a 104-key PC keyboard
    378 # with 12 function-keys:
    379 #
    380 #	*sunKeyboard:false
    381 #	*oldXtermFKeys:false
    382 #	*modifyCursorKeys:2
    383 #	*modifyFunctionKeys:2
    384 #	*ctrlFKeys:10
    385 #
    386 # The key numbers are computed based on the modifiers:
    387 #
    388 #	kf1-kf12 are F1-F12
    389 #	kf13-kf24 are shift F1-F12
    390 #	kf25-kf36 are control F1-F12
    391 #	kf37-kf48 are control+shift F1-F12
    392 #	kf49-kf60 are alt F1-F12
    393 #	kf61-kf63 are shift-alt F1-F3
    394 #
    395 # Note that ncurses would allow definition of kf64 and beyond, if there were
    396 # an application that required it.
    397 #
    398 xterm+pcfkeys|fragment for PC-style keys,
    399 	use=xterm+app,
    400 	use=xterm+pcf2,
    401 	use=xterm+pce2,
    402 	use=xterm+pcc2,
    403 
    404 # This chunk is based on suggestions by Ailin Nemui and Nicholas Marriott, who
    405 # asked for some of xterm's advanced features to be added to its terminfo
    406 # entry.  It defines extended capabilities not found in standard terminfo or
    407 # termcap.  These are useful in tmux, for instance, hence the name.
    408 #
    409 # One caveat in adding extended capabilities in ncurses is that if the names
    410 # are longer than two characters, then they will not be visible through the
    411 # termcap interface.
    412 #
    413 # Ms modifies the selection/clipboard.  Its parameters are
    414 #	p1 = the storage unit (clipboard, selection or cut buffer)
    415 #	p2 = the base64-encoded clipboard content.
    416 #
    417 # Ss is used to set the cursor style as described by the DECSCUSR
    418 #	function to a block or underline.
    419 # Se resets the cursor style to the terminal power-on default.
    420 #
    421 # Cs and Ce set and reset the cursor colour.
    422 xterm+tmux|advanced xterm features used in tmux,
    423 	Cr=\E]112\007,
    424 	Cs=\E]12;%p1%s\007,
    425 	Ms=\E]52;%p1%s;%p2%s
    426 	   \007,
    427 	Se=\E[2\sq,
    428 	Ss=\E[%p1%d\sq,
    429 #
    430 # The ctrlFKeys resource is only relevant to the xterm+pcfn and xterm+pcfN
    431 # entries, since the modifyFunctionKeys resource overrides ctrlFKeys when it is
    432 # positive.  A different choice of ctrlFKeys would give a different set of
    433 # function-key strings.
    434 xterm+pcfn|fragment with modifyFunctionKeys:-1 and ctrlFKeys:10,
    435 	kf1=\EOP,
    436 	kf10=\E[21~,
    437 	kf11=\E[23~,
    438 	kf12=\E[24~,
    439 	kf13=\E[25~,
    440 	kf14=\E[26~,
    441 	kf15=\E[28~,
    442 	kf16=\E[29~,
    443 	kf17=\E[31~,
    444 	kf18=\E[32~,
    445 	kf19=\E[33~,
    446 	kf2=\EOQ,
    447 	kf20=\E[34~,
    448 	kf21=\E[42~,
    449 	kf22=\E[43~,
    450 	kf23=\E[44~,
    451 	kf24=\E[45~,
    452 	kf25=\E[46~,
    453 	kf26=\E[47~,
    454 	kf27=\E[48~,
    455 	kf28=\E[49~,
    456 	kf29=\E[50~,
    457 	kf3=\EOR,
    458 	kf30=\E[51~,
    459 	kf31=\E[52~,
    460 	kf32=\E[53~,
    461 	kf33=\E[54~,
    462 	kf34=\E[55~,
    463 	kf35=\E[56~,
    464 	kf36=\E[57~,
    465 	kf37=\E[58~,
    466 	kf38=\E[59~,
    467 	kf39=\E[60~,
    468 	kf4=\EOS,
    469 	kf40=\E[61~,
    470 	kf41=\E[62~,
    471 	kf42=\E[63~,
    472 	kf43=\E[64~,
    473 	kf44=\E[65~,
    474 	kf45=\E[66~,
    475 	kf46=\E[67~,
    476 	kf47=\E[68~,
    477 	kf48=\E[69~,
    478 	kf5=\E[15~,
    479 	kf6=\E[17~,
    480 	kf7=\E[18~,
    481 	kf8=\E[19~,
    482 	kf9=\E[20~,
    483 
    484 # Changing ctrlFKeys to 12 would let us number the keys using just shift- and
    485 # control- modifiers:
    486 #	kf1-kf12 are F1-F12
    487 #	kf13-kf24 are shift F1-F12
    488 #	kf25-kf36 are control F1-F12
    489 #	kf37-kf48 are control+shift F1-F12
    490 xterm+pcfN|fragment with modifyFunctionKeys:-1 and ctrlFKeys:12,
    491 	kf1=\EOP,
    492 	kf10=\E[21~,
    493 	kf11=\E[23~,
    494 	kf12=\E[24~,
    495 	kf13=\E[25~,
    496 	kf14=\E[26~,
    497 	kf15=\E[28~,
    498 	kf16=\E[29~,
    499 	kf17=\E[31~,
    500 	kf18=\E[32~,
    501 	kf19=\E[33~,
    502 	kf2=\EOQ,
    503 	kf20=\E[34~,
    504 	kf21=\E[42~,
    505 	kf22=\E[43~,
    506 	kf23=\E[44~,
    507 	kf24=\E[45~,
    508 	kf25=\E[46~,
    509 	kf26=\E[47~,
    510 	kf27=\E[48~,
    511 	kf28=\E[49~,
    512 	kf29=\E[50~,
    513 	kf3=\EOR,
    514 	kf30=\E[51~,
    515 	kf31=\E[52~,
    516 	kf32=\E[53~,
    517 	kf33=\E[54~,
    518 	kf34=\E[55~,
    519 	kf35=\E[56~,
    520 	kf36=\E[57~,
    521 	kf37=\E[58~,
    522 	kf38=\E[59~,
    523 	kf39=\E[60~,
    524 	kf4=\EOS,
    525 	kf40=\E[61~,
    526 	kf41=\E[62~,
    527 	kf42=\E[63~,
    528 	kf43=\E[64~,
    529 	kf44=\E[65~,
    530 	kf45=\E[66~,
    531 	kf46=\E[67~,
    532 	kf47=\E[68~,
    533 	kf48=\E[69~,
    534 	kf5=\E[15~,
    535 	kf6=\E[17~,
    536 	kf7=\E[18~,
    537 	kf8=\E[19~,
    538 	kf9=\E[20~,
    539 
    540 xterm+pcf0|fragment with modifyFunctionKeys:0,
    541 	kf1=\EOP,
    542 	kf10=\E[21~,
    543 	kf11=\E[23~,
    544 	kf12=\E[24~,
    545 	kf13=\EO2P,
    546 	kf14=\EO2Q,
    547 	kf15=\EO2R,
    548 	kf16=\EO2S,
    549 	kf17=\E[15;2~,
    550 	kf18=\E[17;2~,
    551 	kf19=\E[18;2~,
    552 	kf2=\EOQ,
    553 	kf20=\E[19;2~,
    554 	kf21=\E[20;2~,
    555 	kf22=\E[21;2~,
    556 	kf23=\E[23;2~,
    557 	kf24=\E[24;2~,
    558 	kf25=\EO5P,
    559 	kf26=\EO5Q,
    560 	kf27=\EO5R,
    561 	kf28=\EO5S,
    562 	kf29=\E[15;5~,
    563 	kf3=\EOR,
    564 	kf30=\E[17;5~,
    565 	kf31=\E[18;5~,
    566 	kf32=\E[19;5~,
    567 	kf33=\E[20;5~,
    568 	kf34=\E[21;5~,
    569 	kf35=\E[23;5~,
    570 	kf36=\E[24;5~,
    571 	kf37=\EO6P,
    572 	kf38=\EO6Q,
    573 	kf39=\EO6R,
    574 	kf4=\EOS,
    575 	kf40=\EO6S,
    576 	kf41=\E[15;6~,
    577 	kf42=\E[17;6~,
    578 	kf43=\E[18;6~,
    579 	kf44=\E[19;6~,
    580 	kf45=\E[20;6~,
    581 	kf46=\E[21;6~,
    582 	kf47=\E[23;6~,
    583 	kf48=\E[24;6~,
    584 	kf49=\EO3P,
    585 	kf5=\E[15~,
    586 	kf50=\EO3Q,
    587 	kf51=\EO3R,
    588 	kf52=\EO3S,
    589 	kf53=\E[15;3~,
    590 	kf54=\E[17;3~,
    591 	kf55=\E[18;3~,
    592 	kf56=\E[19;3~,
    593 	kf57=\E[20;3~,
    594 	kf58=\E[21;3~,
    595 	kf59=\E[23;3~,
    596 	kf6=\E[17~,
    597 	kf60=\E[24;3~,
    598 	kf61=\EO4P,
    599 	kf62=\EO4Q,
    600 	kf63=\EO4R,
    601 	kf7=\E[18~,
    602 	kf8=\E[19~,
    603 	kf9=\E[20~,
    604 
    605 # This is almost the same as xterm+pcf2 because the unmodified keys all happen
    606 # to have a pattern that forces the modifier to the same position.
    607 xterm+pcf1|fragment with modifyFunctionKeys:1,
    608 	kf1=\EOP,
    609 	kf10=\E[21~,
    610 	kf11=\E[23~,
    611 	kf12=\E[24~,
    612 	kf13=\E[2P,
    613 	kf14=\E[2Q,
    614 	kf15=\E[2R,
    615 	kf16=\E[2S,
    616 	kf17=\E[15;2~,
    617 	kf18=\E[17;2~,
    618 	kf19=\E[18;2~,
    619 	kf2=\EOQ,
    620 	kf20=\E[19;2~,
    621 	kf21=\E[20;2~,
    622 	kf22=\E[21;2~,
    623 	kf23=\E[23;2~,
    624 	kf24=\E[24;2~,
    625 	kf25=\E[5P,
    626 	kf26=\E[5Q,
    627 	kf27=\E[5R,
    628 	kf28=\E[5S,
    629 	kf29=\E[15;5~,
    630 	kf3=\EOR,
    631 	kf30=\E[17;5~,
    632 	kf31=\E[18;5~,
    633 	kf32=\E[19;5~,
    634 	kf33=\E[20;5~,
    635 	kf34=\E[21;5~,
    636 	kf35=\E[23;5~,
    637 	kf36=\E[24;5~,
    638 	kf37=\E[6P,
    639 	kf38=\E[6Q,
    640 	kf39=\E[6R,
    641 	kf4=\EOS,
    642 	kf40=\E[6S,
    643 	kf41=\E[15;6~,
    644 	kf42=\E[17;6~,
    645 	kf43=\E[18;6~,
    646 	kf44=\E[19;6~,
    647 	kf45=\E[20;6~,
    648 	kf46=\E[21;6~,
    649 	kf47=\E[23;6~,
    650 	kf48=\E[24;6~,
    651 	kf49=\E[3P,
    652 	kf5=\E[15~,
    653 	kf50=\E[3Q,
    654 	kf51=\E[3R,
    655 	kf52=\E[3S,
    656 	kf53=\E[15;3~,
    657 	kf54=\E[17;3~,
    658 	kf55=\E[18;3~,
    659 	kf56=\E[19;3~,
    660 	kf57=\E[20;3~,
    661 	kf58=\E[21;3~,
    662 	kf59=\E[23;3~,
    663 	kf6=\E[17~,
    664 	kf60=\E[24;3~,
    665 	kf61=\E[4P,
    666 	kf62=\E[4Q,
    667 	kf63=\E[4R,
    668 	kf7=\E[18~,
    669 	kf8=\E[19~,
    670 	kf9=\E[20~,
    671 
    672 xterm+pcf2|fragment with modifyFunctionKeys:2,
    673 	kf1=\EOP,
    674 	kf10=\E[21~,
    675 	kf11=\E[23~,
    676 	kf12=\E[24~,
    677 	kf13=\E[1;2P,
    678 	kf14=\E[1;2Q,
    679 	kf15=\E[1;2R,
    680 	kf16=\E[1;2S,
    681 	kf17=\E[15;2~,
    682 	kf18=\E[17;2~,
    683 	kf19=\E[18;2~,
    684 	kf2=\EOQ,
    685 	kf20=\E[19;2~,
    686 	kf21=\E[20;2~,
    687 	kf22=\E[21;2~,
    688 	kf23=\E[23;2~,
    689 	kf24=\E[24;2~,
    690 	kf25=\E[1;5P,
    691 	kf26=\E[1;5Q,
    692 	kf27=\E[1;5R,
    693 	kf28=\E[1;5S,
    694 	kf29=\E[15;5~,
    695 	kf3=\EOR,
    696 	kf30=\E[17;5~,
    697 	kf31=\E[18;5~,
    698 	kf32=\E[19;5~,
    699 	kf33=\E[20;5~,
    700 	kf34=\E[21;5~,
    701 	kf35=\E[23;5~,
    702 	kf36=\E[24;5~,
    703 	kf37=\E[1;6P,
    704 	kf38=\E[1;6Q,
    705 	kf39=\E[1;6R,
    706 	kf4=\EOS,
    707 	kf40=\E[1;6S,
    708 	kf41=\E[15;6~,
    709 	kf42=\E[17;6~,
    710 	kf43=\E[18;6~,
    711 	kf44=\E[19;6~,
    712 	kf45=\E[20;6~,
    713 	kf46=\E[21;6~,
    714 	kf47=\E[23;6~,
    715 	kf48=\E[24;6~,
    716 	kf49=\E[1;3P,
    717 	kf5=\E[15~,
    718 	kf50=\E[1;3Q,
    719 	kf51=\E[1;3R,
    720 	kf52=\E[1;3S,
    721 	kf53=\E[15;3~,
    722 	kf54=\E[17;3~,
    723 	kf55=\E[18;3~,
    724 	kf56=\E[19;3~,
    725 	kf57=\E[20;3~,
    726 	kf58=\E[21;3~,
    727 	kf59=\E[23;3~,
    728 	kf6=\E[17~,
    729 	kf60=\E[24;3~,
    730 	kf61=\E[1;4P,
    731 	kf62=\E[1;4Q,
    732 	kf63=\E[1;4R,
    733 	kf7=\E[18~,
    734 	kf8=\E[19~,
    735 	kf9=\E[20~,
    736 
    737 xterm+pcf3|fragment with modifyFunctionKeys:3,
    738 	kf1=\EOP,
    739 	kf10=\E[21~,
    740 	kf11=\E[23~,
    741 	kf12=\E[24~,
    742 	kf13=\E[>1;2P,
    743 	kf14=\E[>1;2Q,
    744 	kf15=\E[>1;2R,
    745 	kf16=\E[>1;2S,
    746 	kf17=\E[>15;2~,
    747 	kf18=\E[>17;2~,
    748 	kf19=\E[>18;2~,
    749 	kf2=\EOQ,
    750 	kf20=\E[>19;2~,
    751 	kf21=\E[>20;2~,
    752 	kf22=\E[>21;2~,
    753 	kf23=\E[>23;2~,
    754 	kf24=\E[>24;2~,
    755 	kf25=\E[>1;5P,
    756 	kf26=\E[>1;5Q,
    757 	kf27=\E[>1;5R,
    758 	kf28=\E[>1;5S,
    759 	kf29=\E[>15;5~,
    760 	kf3=\EOR,
    761 	kf30=\E[>17;5~,
    762 	kf31=\E[>18;5~,
    763 	kf32=\E[>19;5~,
    764 	kf33=\E[>20;5~,
    765 	kf34=\E[>21;5~,
    766 	kf35=\E[>23;5~,
    767 	kf36=\E[>24;5~,
    768 	kf37=\E[>1;6P,
    769 	kf38=\E[>1;6Q,
    770 	kf39=\E[>1;6R,
    771 	kf4=\EOS,
    772 	kf40=\E[>1;6S,
    773 	kf41=\E[>15;6~,
    774 	kf42=\E[>17;6~,
    775 	kf43=\E[>18;6~,
    776 	kf44=\E[>19;6~,
    777 	kf45=\E[>20;6~,
    778 	kf46=\E[>21;6~,
    779 	kf47=\E[>23;6~,
    780 	kf48=\E[>24;6~,
    781 	kf49=\E[>1;3P,
    782 	kf5=\E[15~,
    783 	kf50=\E[>1;3Q,
    784 	kf51=\E[>1;3R,
    785 	kf52=\E[>1;3S,
    786 	kf53=\E[>15;3~,
    787 	kf54=\E[>17;3~,
    788 	kf55=\E[>18;3~,
    789 	kf56=\E[>19;3~,
    790 	kf57=\E[>20;3~,
    791 	kf58=\E[>21;3~,
    792 	kf59=\E[>23;3~,
    793 	kf6=\E[17~,
    794 	kf60=\E[>24;3~,
    795 	kf61=\E[>1;4P,
    796 	kf62=\E[>1;4Q,
    797 	kf63=\E[>1;4R,
    798 	kf7=\E[18~,
    799 	kf8=\E[19~,
    800 	kf9=\E[20~,
    801 #
    802 # The "PC-style" modifier scheme was introduced in xterm patch #94 (1999/3/27)
    803 # and revised in patch #167 (2002/8/24).
    804 #
    805 # The original assignments from patch #94 for cursor-keys had some technical
    806 # issues:
    807 #
    808 #	A parameter for a function-key to represent a modifier is just more
    809 #	bits.  But for a cursor-key it may change the behavior of the
    810 #	application.  For instance, emacs decodes the first parameter of a
    811 #	cursor-key as a repeat count.
    812 #
    813 #	A parameterized string should (really) not begin with SS3 (\EO).
    814 #	Rather, CSI (\E[) should be used.
    815 #
    816 # For these reasons, the original assignments were deprecated.  For
    817 # compatibility reasons, they are still available as a setting of xterm's
    818 # modifyCursorKeys resource.  These fragments list the modified cursor-keys
    819 # that might apply to xterm+pcfkeys with different values of that resource.
    820 xterm+pcc3|fragment with modifyCursorKeys:3,
    821 	kLFT=\E[>1;2D,
    822 	kRIT=\E[>1;2C,
    823 	kind=\E[>1;2B,
    824 	kri=\E[>1;2A,
    825 	kDN=\E[>1;2B,
    826 	kDN3=\E[>1;3B,
    827 	kDN4=\E[>1;4B,
    828 	kDN5=\E[>1;5B,
    829 	kDN6=\E[>1;6B,
    830 	kDN7=\E[>1;7B,
    831 	kLFT3=\E[>1;3D,
    832 	kLFT4=\E[>1;4D,
    833 	kLFT5=\E[>1;5D,
    834 	kLFT6=\E[>1;6D,
    835 	kLFT7=\E[>1;7D,
    836 	kRIT3=\E[>1;3C,
    837 	kRIT4=\E[>1;4C,
    838 	kRIT5=\E[>1;5C,
    839 	kRIT6=\E[>1;6C,
    840 	kRIT7=\E[>1;7C,
    841 	kUP=\E[>1;2A,
    842 	kUP3=\E[>1;3A,
    843 	kUP4=\E[>1;4A,
    844 	kUP5=\E[>1;5A,
    845 	kUP6=\E[>1;6A,
    846 	kUP7=\E[>1;7A,
    847 
    848 xterm+pcc2|fragment with modifyCursorKeys:2,
    849 	kLFT=\E[1;2D,
    850 	kRIT=\E[1;2C,
    851 	kind=\E[1;2B,
    852 	kri=\E[1;2A,
    853 	kDN=\E[1;2B,
    854 	kDN3=\E[1;3B,
    855 	kDN4=\E[1;4B,
    856 	kDN5=\E[1;5B,
    857 	kDN6=\E[1;6B,
    858 	kDN7=\E[1;7B,
    859 	kLFT3=\E[1;3D,
    860 	kLFT4=\E[1;4D,
    861 	kLFT5=\E[1;5D,
    862 	kLFT6=\E[1;6D,
    863 	kLFT7=\E[1;7D,
    864 	kRIT3=\E[1;3C,
    865 	kRIT4=\E[1;4C,
    866 	kRIT5=\E[1;5C,
    867 	kRIT6=\E[1;6C,
    868 	kRIT7=\E[1;7C,
    869 	kUP=\E[1;2A,
    870 	kUP3=\E[1;3A,
    871 	kUP4=\E[1;4A,
    872 	kUP5=\E[1;5A,
    873 	kUP6=\E[1;6A,
    874 	kUP7=\E[1;7A,
    875 
    876 xterm+pcc1|fragment with modifyCursorKeys:1,
    877 	kLFT=\E[2D,
    878 	kRIT=\E[2C,
    879 	kind=\E[2B,
    880 	kri=\E[2A,
    881 	kDN=\E[2B,
    882 	kDN3=\E[3B,
    883 	kDN4=\E[4B,
    884 	kDN5=\E[5B,
    885 	kDN6=\E[6B,
    886 	kDN7=\E[7B,
    887 	kLFT3=\E[3D,
    888 	kLFT4=\E[4D,
    889 	kLFT5=\E[5D,
    890 	kLFT6=\E[6D,
    891 	kLFT7=\E[7D,
    892 	kRIT3=\E[3C,
    893 	kRIT4=\E[4C,
    894 	kRIT5=\E[5C,
    895 	kRIT6=\E[6C,
    896 	kRIT7=\E[7C,
    897 	kUP=\E[2A,
    898 	kUP3=\E[3A,
    899 	kUP4=\E[4A,
    900 	kUP5=\E[5A,
    901 	kUP6=\E[6A,
    902 	kUP7=\E[7A,
    903 
    904 xterm+pcc0|fragment with modifyCursorKeys:0,
    905 	kLFT=\EO2D,
    906 	kRIT=\EO2C,
    907 	kind=\EO2B,
    908 	kri=\EO2A,
    909 	kDN=\EO2B,
    910 	kDN3=\EO3B,
    911 	kDN4=\EO4B,
    912 	kDN5=\EO5B,
    913 	kDN6=\EO6B,
    914 	kDN7=\EO7B,
    915 	kLFT3=\EO3D,
    916 	kLFT4=\EO4D,
    917 	kLFT5=\EO5D,
    918 	kLFT6=\EO6D,
    919 	kLFT7=\EO7D,
    920 	kRIT3=\EO3C,
    921 	kRIT4=\EO4C,
    922 	kRIT5=\EO5C,
    923 	kRIT6=\EO6C,
    924 	kRIT7=\EO7C,
    925 	kUP=\EO2A,
    926 	kUP3=\EO3A,
    927 	kUP4=\EO4A,
    928 	kUP5=\EO5A,
    929 	kUP6=\EO6A,
    930 	kUP7=\EO7A,
    931 
    932 # The home/end keys on the editing keypad are also treated as cursor keys.
    933 xterm+pce3|fragment with modifyCursorKeys:3,
    934 	kDC=\E[>3;2~,
    935 	kEND=\E[>1;2F,
    936 	kHOM=\E[>1;2H,
    937 	kIC=\E[>2;2~,
    938 	kNXT=\E[>6;2~,
    939 	kPRV=\E[>5;2~,
    940 	kDC3=\E[>3;3~,
    941 	kDC4=\E[>3;4~,
    942 	kDC5=\E[>3;5~,
    943 	kDC6=\E[>3;6~,
    944 	kDC7=\E[>3;7~,
    945 	kEND3=\E[>1;3F,
    946 	kEND4=\E[>1;4F,
    947 	kEND5=\E[>1;5F,
    948 	kEND6=\E[>1;6F,
    949 	kEND7=\E[>1;7F,
    950 	kHOM3=\E[>1;3H,
    951 	kHOM4=\E[>1;4H,
    952 	kHOM5=\E[>1;5H,
    953 	kHOM6=\E[>1;6H,
    954 	kHOM7=\E[>1;7H,
    955 	kIC3=\E[>2;3~,
    956 	kIC4=\E[>2;4~,
    957 	kIC5=\E[>2;5~,
    958 	kIC6=\E[>2;6~,
    959 	kIC7=\E[>2;7~,
    960 	kNXT3=\E[>6;3~,
    961 	kNXT4=\E[>6;4~,
    962 	kNXT5=\E[>6;5~,
    963 	kNXT6=\E[>6;6~,
    964 	kNXT7=\E[>6;7~,
    965 	kPRV3=\E[>5;3~,
    966 	kPRV4=\E[>5;4~,
    967 	kPRV5=\E[>5;5~,
    968 	kPRV6=\E[>5;6~,
    969 	kPRV7=\E[>5;7~,
    970 	use=xterm+pce0,
    971 
    972 xterm+pce2|fragment with modifyCursorKeys:2,
    973 	kDC=\E[3;2~,
    974 	kEND=\E[1;2F,
    975 	kHOM=\E[1;2H,
    976 	kIC=\E[2;2~,
    977 	kNXT=\E[6;2~,
    978 	kPRV=\E[5;2~,
    979 	kDC3=\E[3;3~,
    980 	kDC4=\E[3;4~,
    981 	kDC5=\E[3;5~,
    982 	kDC6=\E[3;6~,
    983 	kDC7=\E[3;7~,
    984 	kEND3=\E[1;3F,
    985 	kEND4=\E[1;4F,
    986 	kEND5=\E[1;5F,
    987 	kEND6=\E[1;6F,
    988 	kEND7=\E[1;7F,
    989 	kHOM3=\E[1;3H,
    990 	kHOM4=\E[1;4H,
    991 	kHOM5=\E[1;5H,
    992 	kHOM6=\E[1;6H,
    993 	kHOM7=\E[1;7H,
    994 	kIC3=\E[2;3~,
    995 	kIC4=\E[2;4~,
    996 	kIC5=\E[2;5~,
    997 	kIC6=\E[2;6~,
    998 	kIC7=\E[2;7~,
    999 	kNXT3=\E[6;3~,
   1000 	kNXT4=\E[6;4~,
   1001 	kNXT5=\E[6;5~,
   1002 	kNXT6=\E[6;6~,
   1003 	kNXT7=\E[6;7~,
   1004 	kPRV3=\E[5;3~,
   1005 	kPRV4=\E[5;4~,
   1006 	kPRV5=\E[5;5~,
   1007 	kPRV6=\E[5;6~,
   1008 	kPRV7=\E[5;7~,
   1009 	use=xterm+pce0,
   1010 
   1011 xterm+pce1|fragment with modifyCursorKeys:1,
   1012 	kDC=\E[3;2~,
   1013 	kEND=\E[2F,
   1014 	kHOM=\E[2H,
   1015 	kIC=\E[2;2~,
   1016 	kNXT=\E[6;2~,
   1017 	kPRV=\E[5;2~,
   1018 	kDC3=\E[3;3~,
   1019 	kDC4=\E[3;4~,
   1020 	kDC5=\E[3;5~,
   1021 	kDC6=\E[3;6~,
   1022 	kDC7=\E[3;7~,
   1023 	kEND3=\E[3F,
   1024 	kEND4=\E[4F,
   1025 	kEND5=\E[5F,
   1026 	kEND6=\E[6F,
   1027 	kEND7=\E[7F,
   1028 	kHOM3=\E[3H,
   1029 	kHOM4=\E[4H,
   1030 	kHOM5=\E[5H,
   1031 	kHOM6=\E[6H,
   1032 	kHOM7=\E[7H,
   1033 	kIC3=\E[2;3~,
   1034 	kIC4=\E[2;4~,
   1035 	kIC5=\E[2;5~,
   1036 	kIC6=\E[2;6~,
   1037 	kIC7=\E[2;7~,
   1038 	kNXT3=\E[6;3~,
   1039 	kNXT4=\E[6;4~,
   1040 	kNXT5=\E[6;5~,
   1041 	kNXT6=\E[6;6~,
   1042 	kNXT7=\E[6;7~,
   1043 	kPRV3=\E[5;3~,
   1044 	kPRV4=\E[5;4~,
   1045 	kPRV5=\E[5;5~,
   1046 	kPRV6=\E[5;6~,
   1047 	kPRV7=\E[5;7~,
   1048 	use=xterm+pce0,
   1049 
   1050 xterm+pce0|fragment with modifyCursorKeys:0,
   1051 	kDC=\E[3;2~,
   1052 	kEND=\EO2F,
   1053 	kHOM=\EO2H,
   1054 	kIC=\E[2;2~,
   1055 	kNXT=\E[6;2~,
   1056 	kPRV=\E[5;2~,
   1057 	kDC3=\E[3;3~,
   1058 	kDC4=\E[3;4~,
   1059 	kDC5=\E[3;5~,
   1060 	kDC6=\E[3;6~,
   1061 	kDC7=\E[3;7~,
   1062 	kEND3=\EO3F,
   1063 	kEND4=\EO4F,
   1064 	kEND5=\EO5F,
   1065 	kEND6=\EO6F,
   1066 	kEND7=\EO7F,
   1067 	kHOM3=\EO3H,
   1068 	kHOM4=\EO4H,
   1069 	kHOM5=\EO5H,
   1070 	kHOM6=\EO6H,
   1071 	kHOM7=\EO7H,
   1072 	kIC3=\E[2;3~,
   1073 	kIC4=\E[2;4~,
   1074 	kIC5=\E[2;5~,
   1075 	kIC6=\E[2;6~,
   1076 	kIC7=\E[2;7~,
   1077 	kNXT3=\E[6;3~,
   1078 	kNXT4=\E[6;4~,
   1079 	kNXT5=\E[6;5~,
   1080 	kNXT6=\E[6;6~,
   1081 	kNXT7=\E[6;7~,
   1082 	kPRV3=\E[5;3~,
   1083 	kPRV4=\E[5;4~,
   1084 	kPRV5=\E[5;5~,
   1085 	kPRV6=\E[5;6~,
   1086 	kPRV7=\E[5;7~,
   1087 	use=vt220+pcedit,
   1088 
   1089 ecma+italics|ECMA-48 italics,
   1090 	ritm=\E[23m,
   1091 	sitm=\E[3m,
   1092 
   1093 # The rmxx/smxx capabilities are an ncurses extension
   1094 ecma+strikeout|ECMA-48 strikeout/crossed-out,
   1095 	rmxx=\E[29m,
   1096 	smxx=\E[9m,
   1097 
   1098 # ECMA-48 does not include the VT100 indexing and scroll-margins.  It has its
   1099 # own variation.
   1100 ecma+index|ECMA-48 scroll up/down,
   1101 	indn=\E[%p1%dS,
   1102 	rin=\E[%p1%dT,
   1103 
   1104 # The XM capability is an ncurses extension
   1105 xterm+sm+1006|xterm SGR-mouse,
   1106 	kmous=\E[<,
   1107 	XM=\E[?1006;1000
   1108 		%?
   1109 			%p1%{1}%=
   1110 			%th
   1111 		%e
   1112 			l
   1113 		%;,
   1114 	xm=\E[<%i
   1115 		%p3%d;
   1116 		%p1%d;
   1117 		%p2%d;
   1118 		%?
   1119 			%p4
   1120 			%tM
   1121 		%e
   1122 			m
   1123 		%;,
   1124 
   1125 # By default, ncurses knows that xterm private mode 1000 enables/disables
   1126 # the X11 xterm mouse protocol.  So XM is not needed here, except for clarity.
   1127 xterm+x11mouse|X11 xterm mouse protocol,
   1128 	kmous=\E[M,
   1129 	XM=\E[?1000
   1130 		%?
   1131 			%p1%{1}%=
   1132 			%th
   1133 		%e
   1134 			l
   1135 		%;,
   1136 	xm=\E[M
   1137 		%?
   1138 			%p4
   1139 			%t
   1140 			%p3
   1141 		%e%{3}
   1142 		%;
   1143 		%'\s'%+%c
   1144 		%p2%'!'%+%c
   1145 		%p1%'!'%+%c,
   1146 
   1147 # xterm patch #224 2007/2/11 added private mode 1004, for enabling/disabling
   1148 # focus in/out event reporting.  The 1004 is normally part of XM in a different
   1149 # building-block, e.g., for reporting any events.
   1150 xterm+focus|xterm focus-in/out event "keys",
   1151 	XF,
   1152 	fd=\E[?1004l,
   1153 	fe=\E[?1004h,
   1154 	kxIN=\E[I,
   1155 	kxOUT=\E[O,
   1156 
   1157 # https://invisible-island.net/xterm/xterm-paste64.html
   1158 #
   1159 # Bracketed paste was introduced by xterm patch #203 in May 2005, as part of a
   1160 # larger feature for manipulating the clipboard selection.  Few terminals aside
   1161 # from xterm fully implement the clipboard feature, but several copy this
   1162 # detail.  The names for the extended capabilities here were introduced by vim
   1163 # in January 2017, but used internally.  In 2023, vim patch 9.0.1117 is needed
   1164 # to work with this change.
   1165 bracketed+paste|xterm bracketed paste,
   1166 	BD=\E[?2004l,
   1167 	BE=\E[?2004h,
   1168 	PE=\E[201~,
   1169 	PS=\E[200~,
   1170 
   1171 # https://invisible-island.net/xterm/xterm.log.html#xterm_354
   1172 #
   1173 # The response is a DSR sequence identifying the version: DCS > | text ST
   1174 # For example:
   1175 #	^[P>|XTerm(354)^[\
   1176 report+version|Report xterm name and version (XTVERSION).,
   1177 	XR=\E[>0q,
   1178 	xr=\EP>\\|XTerm\\([1-9][0-9]+\\)
   1179 	   \E\\\\,
   1180 	use=report+da2,
   1181 
   1182 # Vim uses RV to denote the secondary device attributes.  Xterm documents the
   1183 # - first parameter as the terminal type (extending it to VT100),
   1184 # - the second as the patch number for xterm, and
   1185 # - the third parameter as zero.
   1186 # Other terminals may provide useful responses, though few are documented.
   1187 #
   1188 # Since patch #280 2012/06/24, xterm by default reports itself as a VT420.
   1189 report+da2|report secondary device attributes (DA2),
   1190 	RV=\E[>c,
   1191 	rv=\E\\[41;[1-6][0-9][0-9];0c,
   1192 
   1193 # This chunk is used for building the VT220/Sun/PC keyboard variants.
   1194 xterm-basic|modern xterm terminal emulator - common,
   1195 	OTbs,
   1196 	am,
   1197 	bce,
   1198 	km,
   1199 	mir,
   1200 	msgr,
   1201 	xenl,
   1202 	AX,
   1203 	XT,
   1204 	colors#8,
   1205 	cols#80,
   1206 	lines#24,
   1207 	pairs#64,
   1208 	acsc=``aaffggiijjkkllmmnnooppqqr
   1209 	     rssttuuvvwwxxyyzz{{||}}~~,
   1210 	bel=^G,
   1211 	civis=\E[?25l,
   1212 	clear=\E[H\E[2J,
   1213 	cnorm=\E[?12l\E[?25h,
   1214 	cr=\r,
   1215 	cub1=^H,
   1216 	cud1=\n,
   1217 	cup=\E[%i%p1%d;%p2%dH,
   1218 	cvvis=\E[?12;25h,
   1219 	dch=\E[%p1%dP,
   1220 	dch1=\E[P,
   1221 	ech=\E[%p1%dX,
   1222 	ed=\E[J,
   1223 	el=\E[K,
   1224 	el1=\E[1K,
   1225 	flash=\E[?5h$<100/>\E[?5l,
   1226 	home=\E[H,
   1227 	ich=\E[%p1%d@,
   1228 	ind=\n,
   1229 	is2=\E[!p\E[?3;4l\E[4l\E>,
   1230 	kmous=\E[M,
   1231 	meml=\El,
   1232 	memu=\Em,
   1233 	op=\E[39;49m,
   1234 	ri=\EM,
   1235 	rmacs=\E(B,
   1236 	rmam=\E[?7l,
   1237 	rmir=\E[4l,
   1238 	rmkx=\E[?1l\E>,
   1239 	rmm=\E[?1034l,
   1240 	rmso=\E[27m,
   1241 	rmul=\E[24m,
   1242 	rs1=\Ec,
   1243 	rs2=\E[!p\E[?3;4l\E[4l\E>,
   1244 	setab=\E[4%p1%dm,
   1245 	setaf=\E[3%p1%dm,
   1246 	setb=\E[4
   1247 		%?
   1248 			%p1%{1}%=
   1249 			%t4
   1250 		%e
   1251 			%p1%{3}%=
   1252 			%t6
   1253 		%e
   1254 			%p1%{4}%=
   1255 			%t1
   1256 		%e
   1257 			%p1%{6}%=
   1258 			%t3
   1259 		%e
   1260 			%p1%d
   1261 		%;
   1262 		m,
   1263 	setf=\E[3
   1264 		%?
   1265 			%p1%{1}%=
   1266 			%t4
   1267 		%e
   1268 			%p1%{3}%=
   1269 			%t6
   1270 		%e
   1271 			%p1%{4}%=
   1272 			%t1
   1273 		%e
   1274 			%p1%{6}%=
   1275 			%t3
   1276 		%e
   1277 			%p1%d
   1278 		%;
   1279 		m,
   1280 	sgr=
   1281 		%?
   1282 			%p9
   1283 			%t\E(0
   1284 		%e
   1285 			\E(B
   1286 		%;
   1287 		\E[0
   1288 		%?
   1289 			%p6
   1290 			%t;1
   1291 		%;
   1292 		%?
   1293 			%p5
   1294 			%t;2
   1295 		%;
   1296 		%?
   1297 			%p2
   1298 			%t;4
   1299 		%;
   1300 		%?
   1301 			%p1
   1302 			%p3%|
   1303 			%t;7
   1304 		%;
   1305 		%?
   1306 			%p4
   1307 			%t;5
   1308 		%;
   1309 		%?
   1310 			%p7
   1311 			%t;8
   1312 		%;
   1313 		m,
   1314 	sgr0=\E(B\E[m,
   1315 	smacs=\E(0,
   1316 	smam=\E[?7h,
   1317 	smir=\E[4h,
   1318 	smkx=\E[?1h\E=,
   1319 	smm=\E[?1034h,
   1320 	E3=\E[3J,
   1321 	use=ansi+csr,
   1322 	use=ansi+enq,
   1323 	use=ansi+idl,
   1324 	use=ansi+inittabs,
   1325 	use=ansi+local,
   1326 	use=ansi+pp,
   1327 	use=ansi+rca2,
   1328 	use=ansi+sgrbold,
   1329 	use=ansi+sgrdim,
   1330 	use=xterm+alt+title,
   1331 	use=xterm+kbs,
   1332 
   1333 xterm+nofkeys|building block for xterm fkey-variants,
   1334 	npc,
   1335 	kcbt=\E[Z,
   1336 	kent=\EOM,
   1337 	nel=\EE,
   1338 	use=ecma+index,
   1339 	use=ansi+rep,
   1340 	use=ecma+strikeout,
   1341 	use=vt420+lrmm,
   1342 	use=xterm+sm+1006,
   1343 	use=xterm+tmux,
   1344 	use=xterm+focus,
   1345 	use=ecma+italics,
   1346 	use=xterm+keypad,
   1347 	use=xterm-basic,
   1348 #
   1349 # The xterm-new description has all of the features, but is not completely
   1350 # compatible with vt220.  If you are using a Sun or PC keyboard, set the
   1351 # sunKeyboard resource to true:
   1352 #	+ maps the editing keypad
   1353 #	+ interprets control-function-key as a second array of keys, so a
   1354 #	  12-fkey keyboard can support vt220's 20-fkeys.
   1355 #	+ maps numeric keypad "+" to ",".
   1356 #	+ uses DEC-style control sequences for the application keypad.
   1357 #
   1358 # Some packagers modify xterm's resource definitions to provide extra function
   1359 # keys by using the shift-modifier in the translations resource.  However, that
   1360 # interferes with the DECUDK functionality.
   1361 #
   1362 xterm-vt220|xterm emulating vt220,
   1363 	npc,
   1364 	kcbt=\E[Z,
   1365 	kend=\E[4~,
   1366 	kf10=\E[21~,
   1367 	kf11=\E[23~,
   1368 	kf12=\E[24~,
   1369 	kf13=\E[25~,
   1370 	kf14=\E[26~,
   1371 	kf15=\E[28~,
   1372 	kf16=\E[29~,
   1373 	kf17=\E[31~,
   1374 	kf18=\E[32~,
   1375 	kf19=\E[33~,
   1376 	kf20=\E[34~,
   1377 	kf5=\E[15~,
   1378 	kf6=\E[17~,
   1379 	kf7=\E[18~,
   1380 	kf8=\E[19~,
   1381 	kf9=\E[20~,
   1382 	khome=\E[1~,
   1383 	kmous=\E[M,
   1384 	nel=\EE,
   1385 	use=xterm+app,
   1386 	use=vt220+keypad,
   1387 	use=vt220+pcedit,
   1388 	use=ecma+italics,
   1389 	use=ecma+index,
   1390 	use=ansi+rep,
   1391 	use=ecma+strikeout,
   1392 	use=xterm+focus,
   1393 	use=xterm+sm+1006,
   1394 	use=xterm+tmux,
   1395 	use=xterm+keypad,
   1396 	use=xterm-basic,
   1397 #
   1398 xterm-vt52|xterm emulating dec vt52,
   1399 	cols#80,
   1400 	it#8,
   1401 	lines#24,
   1402 	acsc=``aaffggjjkkllmmnnooppqqrrs
   1403 	     sttuuvvwwxxyyzz{{||}}~~,
   1404 	bel=^G,
   1405 	clear=\EH\EJ,
   1406 	cr=\r,
   1407 	cub1=\ED,
   1408 	cud1=\EB,
   1409 	cuf1=\EC,
   1410 	cup=\EY%p1%'\s'%+%c%p2%'\s'%+%c,
   1411 	cuu1=\EA,
   1412 	ed=\EJ,
   1413 	el=\EK,
   1414 	home=\EH,
   1415 	ht=^I,
   1416 	ind=\n,
   1417 	kcub1=\ED,
   1418 	kcud1=\EB,
   1419 	kcuf1=\EC,
   1420 	kcuu1=\EA,
   1421 	nel=\r\n,
   1422 	ri=\EI,
   1423 	rmacs=\EG,
   1424 	smacs=\EF,
   1425 	use=xterm+kbs,
   1426 	use=vt52+keypad,
   1427 
   1428 # from ncurses 6.2:
   1429 # DECScope of course had no "function keys", but this building block assigns
   1430 # the three blank keys at the top of the auxiliary (numeric) keypad, using
   1431 # the same analogy as vt100 (also lacking function-keys).
   1432 #
   1433 # These assignments use the same layout for 0-9 as vt100+keypad; the vt52
   1434 # keypad had its cursor-keys on the right-column as shown -TD
   1435 #   _______________________________________
   1436 #  |   PF1   |   PF2   |   PF3   | c-up    |
   1437 #  |   \EP   |   \EQ   |   \ER   |   \EA   |
   1438 #  |_kf1__k1_|_kf2__k2_|_kf3__k3_|kcuu1_k4_|
   1439 #  |    7         8         9      c-down  |
   1440 #  |   \E?w  |   \E?x  |   \E?y  |   \EB   |
   1441 #  |_kf9__k9_|_kf10_k;_|_kf0__k0_|kcud1____|
   1442 #  |    4    |    5    |    6    | c-right |
   1443 #  |   \E?t  |   \E?u  |   \E?v  |   \EC   |
   1444 #  |_kf5__k5_|_kf6__k6_|_kf7__k7_|kcuf1_k8_|
   1445 #  |    1    |    2    |    3    | c-left  |
   1446 #  |   \E?q  |   \E?r  |   \E?s  |   \ED   |
   1447 #  |_ka1__K1_|_kb2__K2_|_ka3__K3_|kcub1____|
   1448 #  |         0         |   .     |  enter  |
   1449 #  |        \E?p       |  \E?n   |  \E?M   |
   1450 #  |___kc1_______K4____|_kc3__K5_|_kent_@8_|
   1451 #
   1452 vt52+keypad|DECScope auxiliary keypad,
   1453 	ka1=\E?q,
   1454 	ka3=\E?s,
   1455 	kb2=\E?r,
   1456 	kc1=\E?p,
   1457 	kc3=\E?n,
   1458 	kf0=\E?y,
   1459 	kf1=\EP,
   1460 	kf2=\EQ,
   1461 	kf3=\ER,
   1462 	kf5=\E?t,
   1463 	kf6=\E?u,
   1464 	kf7=\E?v,
   1465 	kf8=\E?w,
   1466 	kf9=\E?x,
   1467 #
   1468 # Sun does not number the function keys this way in their sparse termcap; their
   1469 # terminal descriptions ignore the keypads.  kb(7M) states that there are codes
   1470 # reserved for 64 function keys, 16 each in left, right, top and bottom.  Each
   1471 # keyboard type has a different number of function keys in different
   1472 # arrangements.  Using xkeycaps for reference:
   1473 #
   1474 # Type 3:  left 10, top 9, right 15
   1475 # ------
   1476 # kf1-kf9 are XK_F1-XK_F9
   1477 # There is no kf10 on this keyboard type.
   1478 # kf11-kf20 are keysyms XK_L1 through XK_L10.
   1479 # kf31-kf45 are keysyms XK_R1 through XK_R15.
   1480 #
   1481 # However, X's keysymdef.h is hard-coded to make
   1482 #	XK_L1==XK_F11 and
   1483 #	XK_R1==XK_F21,
   1484 # by someone who was unfamiliar with terminal types other than Sun's.  So
   1485 # xterm uses the internal X keysymbols, but the terminfo entry uses the Sun
   1486 # numbering scheme.
   1487 #
   1488 # Type 4:  left 11, top 12, right 15
   1489 # ------
   1490 # The left-keypad contains an unnumbered Help-key.
   1491 # The right-keypad also contains NumLock, Ins, Del, Enter, + and - keys which
   1492 # do not appear to be part of the R-sequence.
   1493 #
   1494 # Type 5:  left 9, top 12, right (more than one keypad)
   1495 # ------
   1496 # These keyboards do not use the same naming convention, look like a hybrid of
   1497 # the type 4 and IBM keyboards.
   1498 #
   1499 # XTerm resources:
   1500 # ---------------
   1501 # Set the modifyFunctionKeys resource to negative (-1) to make it simple to
   1502 # enter the higher function-key values using shift- and control-modifiers.
   1503 #
   1504 xterm-sun|xterm with sun function keys,
   1505 	kb2=\E[218z,
   1506 	kcpy=\E[197z,
   1507 	kdch1=\E[3z,
   1508 	kend=\E[220z,
   1509 	kf1=\E[224z,
   1510 	kf10=\E[233z,
   1511 	kf11=\E[192z,
   1512 	kf12=\E[193z,
   1513 	kf13=\E[194z,
   1514 	kf14=\E[195z,
   1515 	kf15=\E[196z,
   1516 	kf17=\E[198z,
   1517 	kf18=\E[199z,
   1518 	kf19=\E[200z,
   1519 	kf2=\E[225z,
   1520 	kf20=\E[201z,
   1521 	kf3=\E[226z,
   1522 	kf31=\E[208z,
   1523 	kf32=\E[209z,
   1524 	kf33=\E[210z,
   1525 	kf34=\E[211z,
   1526 	kf35=\E[212z,
   1527 	kf36=\E[213z,
   1528 	kf38=\E[215z,
   1529 	kf4=\E[227z,
   1530 	kf40=\E[217z,
   1531 	kf42=\E[219z,
   1532 	kf44=\E[221z,
   1533 	kf45=\E[222z,
   1534 	kf46=\E[234z,
   1535 	kf47=\E[235z,
   1536 	kf5=\E[228z,
   1537 	kf6=\E[229z,
   1538 	kf7=\E[230z,
   1539 	kf8=\E[231z,
   1540 	kf9=\E[232z,
   1541 	kfnd=\E[200z,
   1542 	khlp=\E[196z,
   1543 	khome=\E[214z,
   1544 	kich1=\E[2z,
   1545 	knp=\E[222z,
   1546 	kpp=\E[216z,
   1547 	kund=\E[195z,
   1548 	use=xterm+kbs,
   1549 	use=ansi+apparrows,
   1550 	use=xterm+nopcfkeys,
   1551 	use=xterm+nofkeys,
   1552 
   1553 # Note: normally xterm supports modified function-keys as described in
   1554 #	XTerm - "Other" modified keys
   1555 #	https://invisible-island.net/xterm/modified-keys.html
   1556 #
   1557 # However, xterm-hp, xterm-sco and xterm-sun assume no modifiers.  Here is
   1558 # a simple script which demonstrates these descriptions:
   1559 #	#!/bin/sh
   1560 #	export TERM=xterm-$1
   1561 #	xterm \
   1562 #		-kt $1 \
   1563 #		-fs 16 -fa mono \
   1564 #		-title $TERM \
   1565 #		-tn $TERM \
   1566 #		-xrm '*modifyCursorKeys:-1' \
   1567 #		-xrm '*modifyFunctionKeys:-1' \
   1568 #		-e tack
   1569 # e.g., "foo sun" if the script is named "foo" -TD
   1570 
   1571 xterm-hp|xterm with hpterm function keys,
   1572 	kclr=\EJ,
   1573 	kcub1=\ED,
   1574 	kcud1=\EB,
   1575 	kcuf1=\EC,
   1576 	kcuu1=\EA,
   1577 	kdch1=\EP,
   1578 	kend=\EF,
   1579 	kf1=\Ep,
   1580 	kf2=\Eq,
   1581 	kf3=\Er,
   1582 	kf4=\Es,
   1583 	kf5=\Et,
   1584 	kf6=\Eu,
   1585 	kf7=\Ev,
   1586 	kf8=\Ew,
   1587 	khome=\Eh,
   1588 	kich1=\EQ,
   1589 	knp=\ES,
   1590 	kpp=\ET,
   1591 	use=xterm+nofkeys,
   1592 	use=xterm+nopcfkeys,
   1593 #
   1594 # scoterm implements 48 function-keys using shift- and control-modifiers to
   1595 # multiple 12 function-keys.  X has a hard-coded limit of 35 function-keys,
   1596 # but xterm can represent larger values.
   1597 #
   1598 # XTerm resources:
   1599 # ---------------
   1600 # Set the modifyFunctionKeys resource to negative (-1) to make it simple to
   1601 # enter the higher function-key values using shift- and control-modifiers.
   1602 #
   1603 # Also, set ctrlFKeys resource to 12 (the default is 10) to make xterm see 48
   1604 # function-keys on a keyboard with 12 function-keys and 4 control/shift
   1605 # modifier combinations.
   1606 #
   1607 xterm-sco|xterm with SCO function keys,
   1608 	kbeg=\E[E,
   1609 	kdch1=^?,
   1610 	kf1=\E[M,
   1611 	kf10=\E[V,
   1612 	kf11=\E[W,
   1613 	kf12=\E[X,
   1614 	kf13=\E[Y,
   1615 	kf14=\E[Z,
   1616 	kf15=\E[a,
   1617 	kf16=\E[b,
   1618 	kf17=\E[c,
   1619 	kf18=\E[d,
   1620 	kf19=\E[e,
   1621 	kf2=\E[N,
   1622 	kf20=\E[f,
   1623 	kf21=\E[g,
   1624 	kf22=\E[h,
   1625 	kf23=\E[i,
   1626 	kf24=\E[j,
   1627 	kf25=\E[k,
   1628 	kf26=\E[l,
   1629 	kf27=\E[m,
   1630 	kf28=\E[n,
   1631 	kf29=\E[o,
   1632 	kf3=\E[O,
   1633 	kf30=\E[p,
   1634 	kf31=\E[q,
   1635 	kf32=\E[r,
   1636 	kf33=\E[s,
   1637 	kf34=\E[t,
   1638 	kf35=\E[u,
   1639 	kf36=\E[v,
   1640 	kf37=\E[w,
   1641 	kf38=\E[x,
   1642 	kf39=\E[y,
   1643 	kf4=\E[P,
   1644 	kf40=\E[z,
   1645 	kf41=\E[@,
   1646 	kf42=\E[[,
   1647 	kf43=\E[\\,
   1648 	kf44=\E[],
   1649 	kf45=\E[\^,
   1650 	kf46=\E[_,
   1651 	kf47=\E[`,
   1652 	kf48=\E[{,
   1653 	kf5=\E[Q,
   1654 	kf6=\E[R,
   1655 	kf7=\E[S,
   1656 	kf8=\E[T,
   1657 	kf9=\E[U,
   1658 	kich1=\E[L,
   1659 	kmous=\E[>M,
   1660 	knp=\E[G,
   1661 	kpp=\E[I,
   1662 	use=vt100+noapp,
   1663 	use=xterm+nofkeys,
   1664 #
   1665 # Other variants (these are all very old entries, from X11R5):
   1666 xterm-24|xterms|vs100|xterm terminal emulator (X Window System),
   1667 	lines#24,
   1668 	use=xterm-old,
   1669 xterm-65|xterm with tall window 65x80 (X Window System),
   1670 	lines#65,
   1671 	use=xterm-old,
   1672 xterm-bold|xterm with bold instead of underline (X Window System),
   1673 	sgr=
   1674 		%?
   1675 			%p9
   1676 			%t\016
   1677 		%e
   1678 			\017
   1679 		%;
   1680 		B\E[0
   1681 		%?
   1682 			%p6
   1683 			%t;1
   1684 		%;
   1685 		%?
   1686 			%p2
   1687 			%t;1
   1688 		%;
   1689 		%?
   1690 			%p1
   1691 			%p3%|
   1692 			%t;7
   1693 		%;
   1694 		m,
   1695 	smso=\E[7m,
   1696 	smul=\E[1m,
   1697 	use=xterm-old,
   1698 xterm-boldso|xterm with bold for standout (X Window System),
   1699 	rmso=\E[m,
   1700 	smso=\E[1m,
   1701 	use=xterm-old,
   1702 xterm-mono|monochrome xterm,
   1703 	use=xterm-old,
   1704 #
   1705 # VTxxx terminals are usually set up so that full-screen applications will use
   1706 # the cursor application mode strings.  This is good for full-screen
   1707 # applications, including legacy applications which may have hard-coded
   1708 # behavior, but bad for interactive shells (e.g., tcsh, bash) which use arrow
   1709 # keys to scroll through a history of command strings.
   1710 #
   1711 # To see the difference between normal/application modes, consider this example:
   1712 #	+ In normal (non-application) mode, the terminal transmits a down-arrow
   1713 #	  as \E[C, which happens to echo as a down-arrow.
   1714 #	+ In application mode the terminal transmits \EOC, which echoes as C.
   1715 #	  That is because the \EO is the SS3 control, which says to use the
   1716 #	  character from the G3 character set for the next cell.
   1717 #
   1718 # One example of hard-coded behavior would be for applications written to work
   1719 # with VT52 and VT100 terminals.  If the application's parser ignores 'O' and
   1720 # '?' characters after the escape, then the cursor and keypad strings for the
   1721 # two terminals are the same.  (Indeed, one of the first curses applications
   1722 # which I used did something like this to cover "ANSI" terminals -TD).
   1723 #
   1724 # To make this work (leaving the cursor keys in normal mode), we have to adjust
   1725 # the terminal initialization sequences:
   1726 #
   1727 #	smkx/rmkx set/reset the cursor and keypad application modes.  We retain
   1728 #		the latter (otherwise many applications fail).
   1729 #
   1730 #	smcup/rmcup set/restore cursor-addressing mode for full-screen
   1731 #		applications.  For xterm, this normally means the alternate
   1732 #		screen, which is not compatible with interactive shells.  Some
   1733 #		programs are "smart" and disable these.
   1734 #
   1735 xterm-noapp|xterm with cursor keys in normal mode,
   1736 	rmcup@,
   1737 	rmkx=\E>,
   1738 	smcup@,
   1739 	smkx=\E=,
   1740 	use=vt100+noapp,
   1741 	use=xterm,
   1742 
   1743 vt100+noapp|fragment with cursor keys in normal mode,
   1744 	kcub1=\E[D,
   1745 	kcud1=\E[B,
   1746 	kcuf1=\E[C,
   1747 	kcuu1=\E[A,
   1748 	use=vt100+noapp+pc,
   1749 
   1750 xterm+acs|ISO-2022 alternate character-switching for xterm,
   1751 	acsc=``aaffggiijjkkllmmnnooppqqr
   1752 	     rssttuuvvwwxxyyzz{{||}}~~,
   1753 	enacs@,
   1754 	rmacs=\E(B,
   1755 	smacs=\E(0,
   1756 
   1757 xterm+app|fragment with cursor keys in application mode,
   1758 	kcub1=\EOD,
   1759 	kcud1=\EOB,
   1760 	kcuf1=\EOC,
   1761 	kcuu1=\EOA,
   1762 	use=xterm+app+pc,
   1763 
   1764 vt100+noapp+pc|fragment for noapp pc-style home/end,
   1765 	kend=\E[F,
   1766 	khome=\E[H,
   1767 
   1768 xterm+app+pc|fragment for app pc-style home/end,
   1769 	kend=\EOF,
   1770 	khome=\EOH,
   1771 
   1772 vt220+pcedit|fragment for 6-key editing-keypad,
   1773 	kdch1=\E[3~,
   1774 	kich1=\E[2~,
   1775 	knp=\E[6~,
   1776 	kpp=\E[5~,
   1777 	use=xterm+pc+edit,
   1778 
   1779 xterm+decedit|fragment for vt220 6-key editing-keypad,
   1780 	kdch1=\E[3~,
   1781 	kich1=\E[2~,
   1782 	knp=\E[6~,
   1783 	kpp=\E[5~,
   1784 	use=xterm+vt+edit,
   1785 
   1786 xterm+pc+edit|fragment for pc-style editing keypad,
   1787 	kend=\E[4~,
   1788 	khome=\E[1~,
   1789 
   1790 xterm+vt+edit|fragment for vt220-style editing keypad,
   1791 	kfnd=\E[1~,
   1792 	kslt=\E[4~,
   1793 
   1794 xterm+alt1049|xterm 90 feature,
   1795 	rmcup=\E[?1049l,
   1796 	smcup=\E[?1049h,
   1797 
   1798 xterm+titlestack|xterm 251 feature,
   1799 	rmcup=\E[23;0;0t,
   1800 	smcup=\E[22;0;0t,
   1801 
   1802 xterm+alt+title|xterm 90 and 251 features combined,
   1803 	rmcup=\E[?1049l\E[23;0;0t,
   1804 	smcup=\E[?1049h\E[22;0;0t,
   1805 
   1806 # The xterm ctrlFKeys resource defaults to 10, so without the "pc-style"
   1807 # feature, e.g., setting the modifyCursorKeys and modifyFunctionKeys resources
   1808 # to -1 to disable them, one gets 42 function-keys on a 12-function-key
   1809 # keyboard, e.g.,
   1810 # kf1                   = \E[11~
   1811 # kf11 shift f1         = \E[23~
   1812 # kf21 control f1       = \E[42~
   1813 # kf31 shift control f1 = \E[52~
   1814 xterm+nopcfkeys|fragment without PC-style fkeys,
   1815 	kf1=\E[11~,
   1816 	kf10=\E[21~,
   1817 	kf11=\E[23~,
   1818 	kf12=\E[24~,
   1819 	kf13=\E[25~,
   1820 	kf14=\E[26~,
   1821 	kf15=\E[28~,
   1822 	kf16=\E[29~,
   1823 	kf17=\E[31~,
   1824 	kf18=\E[32~,
   1825 	kf19=\E[33~,
   1826 	kf2=\E[12~,
   1827 	kf20=\E[34~,
   1828 	kf21=\E[42~,
   1829 	kf22=\E[43~,
   1830 	kf23=\E[44~,
   1831 	kf24=\E[45~,
   1832 	kf25=\E[46~,
   1833 	kf26=\E[47~,
   1834 	kf27=\E[48~,
   1835 	kf28=\E[49~,
   1836 	kf29=\E[50~,
   1837 	kf3=\E[13~,
   1838 	kf30=\E[51~,
   1839 	kf31=\E[52~,
   1840 	kf32=\E[53~,
   1841 	kf33=\E[54~,
   1842 	kf34=\E[55~,
   1843 	kf35=\E[56~,
   1844 	kf36=\E[57~,
   1845 	kf37=\E[58~,
   1846 	kf38=\E[59~,
   1847 	kf39=\E[60~,
   1848 	kf4=\E[14~,
   1849 	kf40=\E[61~,
   1850 	kf41=\E[62~,
   1851 	kf42=\E[63~,
   1852 	kf5=\E[15~,
   1853 	kf6=\E[17~,
   1854 	kf7=\E[18~,
   1855 	kf8=\E[19~,
   1856 	kf9=\E[20~,
   1857 
   1858 # from development after ncurses 6.1:
   1859 # Xterm's emulation of the VT100 numeric keypad on a PC-keyboard runs into the
   1860 # problem that the keypad layout is different, and that the natural choice for
   1861 # PF1 is NumLock (which happens to be reserved for other use).  To work around
   1862 # that, PF1-PF4 are emulated via F1-F4, which leaves the "/", "*" and "+" not
   1863 # directly related to VT100.
   1864 #
   1865 # With the VT220 keypad block that uses the 1-9 keys as suggested in
   1866 # terminfo(5), the other keys can be handled with user-defined capabilities:
   1867 #
   1868 #   _______________________________________
   1869 #  | NumLock |    /    |    *    |    -    |
   1870 #  |         |   $Oo   |   $Oj   |   $OS   |
   1871 #  |_________|__kpDIV__|__kpMUL__|__kpSUB__|
   1872 #  |    7         8         9    |    +    |
   1873 #  |   $Ow   |   $Ox   |   $Oy   |   $Ok   |
   1874 #  |_ka1__K1_|_________|_ka3__K3_|  kpADD  |
   1875 #  |    4    |    5    |    6    |         |
   1876 #  |   $Ot   |   $Ou   |   $Ov   |         |
   1877 #  |_________|_kb2__K2_|_________|_________|
   1878 #  |    1    |    2    |    3    |         |
   1879 #  |   $Oq   |   $Or   |   $Os   |         |
   1880 #  |_kc1__K4_|_________|_kc3__K5_|  enter  |
   1881 #  |         0         |    .    |   $OM   |
   1882 #  |        $Op        |   $On   |         |
   1883 #  |_______kpZRO_______|__kpDOT__|_kent_@8_|
   1884 #
   1885 # ka2, kb1, kb3 and kc2 are extensions, as are the mixed-case names.
   1886 # There are no termcap equivalents for these extensions.
   1887 #
   1888 # kpCMA (comma) is used here for the VT100 keypad, which xterm emulates with
   1889 # shifted-keypad-plus, though normally that invokes a font-size change.
   1890 #
   1891 # Old versions of xterm, e.g., xterm-xfree86, documented \EOE as kb2, which
   1892 # does not fit into this layout.  The extension kp5 fits, but is not visible
   1893 # to termcap applications.  As an alternative, kbeg (which does have a termcap
   1894 # equivalent) is provided.
   1895 
   1896 xterm+keypad|xterm emulating VT100/VT220 numeric keypad,
   1897 	kbeg=\EOE,
   1898 	kp5=\EOE,
   1899 	kpADD=\EOk,
   1900 	kpCMA=\EOl,
   1901 	kpDIV=\EOo,
   1902 	kpDOT=\EOn,
   1903 	kpMUL=\EOj,
   1904 	kpSUB=\EOm,
   1905 	kpZRO=\EOp,
   1906 	use=vt220+keypad,
   1907 
   1908 # from development after ncurses 5.2:
   1909 # A better adaptation to modern keyboards such as the PC's, which have a dozen
   1910 # function keys and the keypad 2,4,6,8 keys are labeled with arrows keys, is to
   1911 # use the 5-key arrangement to model the arrow keys as suggested in the
   1912 # terminfo guidelines:
   1913 #   _______________________________________
   1914 #  |   PF1   |   PF2   |   PF3   |   PF4   |
   1915 #  |   $OP   |   $OQ   |   $OR   |   $OS   |
   1916 #  |_kf1__k1_|_kf2__k2_|_kf3__k3_|_kf4__k4_|
   1917 #  |    7         8         9         -    |
   1918 #  |   $Ow   |   $Ox   |   $Oy   |   $Om   |
   1919 #  |_ka1__K1_|_________|_ka3__K3_|_________|
   1920 #  |    4    |    5    |    6    |    ,    |
   1921 #  |   $Ot   |   $Ou   |   $Ov   |   $Ol   |
   1922 #  |_________|_kb2__K2_|_________|_________|
   1923 #  |    1    |    2    |    3    |         |
   1924 #  |   $Oq   |   $Or   |   $Os   |  enter  |
   1925 #  |_kc1__K4_|_________|_kc3__K5_|  $OM    |
   1926 #  |         0         |   .     |         |
   1927 #  |        $Op        |  $On    |         |
   1928 #  |___________________|_________|_kent_@8_|
   1929 vt220+keypad|dec vt220 numeric keypad,
   1930 	ka1=\EOw,
   1931 	ka3=\EOy,
   1932 	kb2=\EOu,
   1933 	kc1=\EOq,
   1934 	kc3=\EOs,
   1935 	kent=\EOM,
   1936 	kf1=\EOP,
   1937 	kf2=\EOQ,
   1938 	kf3=\EOR,
   1939 	kf4=\EOS,
   1940 	ka2=\EOx,
   1941 	kb1=\EOt,
   1942 	kb3=\EOv,
   1943 	kc2=\EOr,
   1944 #
   1945 # This should work for the commonly used "color xterm" variations (XFree86
   1946 # xterm, color_xterm, nxterm, rxvt).  Note that it does not set 'bce', so for
   1947 # XFree86 and and rxvt, some applications that use colors will be less
   1948 # efficient, and in a few special cases (with "smart" optimization) the wrong
   1949 # color will be painted in spots.
   1950 xterm-color|generic "ANSI" color xterm (X Window System),
   1951 	colors#8,
   1952 	ncv@,
   1953 	pairs#64,
   1954 	op=\E[m,
   1955 	setab=\E[4%p1%dm,
   1956 	setaf=\E[3%p1%dm,
   1957 	use=xterm-r6,
   1958 #
   1959 # vi may work better with this entry, because vi
   1960 # doesn't use insert mode much
   1961 xterm-ic|xterm-vi|xterm with insert character instead of insert mode,
   1962 	mir@,
   1963 	ich=\E[%p1%d@,
   1964 	ich1=\E[@,
   1965 	rmir@,
   1966 	smir@,
   1967 	use=xterm,
   1968 #
   1969 # This is used only for testing (it's not relevant to DEC VTxxx terminals, but
   1970 # to ncurses).
   1971 xterm-xmc|xterm with magic-cookie glitch,
   1972 	xmc#1,
   1973 	use=xterm-new,
   1974 #
   1975 # This one was originally for testing ncurses.  While the ISO 6429 defines the
   1976 # REP control, none of the DEC VTxxx terminals (VT52 through VT525) support it.
   1977 #
   1978 # The feature's inclusion in xterm was prompted by changes in ncurses to
   1979 # support testing repeat_char by Alexander Lukyanov, since no readily-available
   1980 # terminal supported this:
   1981 #
   1982 # + Alexander's patch was integrated in ncurses 1996/09/28
   1983 # + xterm patch #32 1996/11/21 was released in XFree86 3.2A 1997/01/26
   1984 #
   1985 # In July 2017, the feature was added to xterm-new in ncurses, making this
   1986 # entry obsolete (but it is kept for reference).
   1987 xterm-rep|xterm with repeat-character control,
   1988 	rep=%p1%c\E[%p2%{1}%-%db,
   1989 	use=xterm-new,
   1990 #
   1991 # This is mainly for testing xterm; the real VT220 will not let you switch
   1992 # character sets without first altering the keyboard language in the setup
   1993 # screen.  Some emulators allow this anyway.  (Note that these strings are
   1994 # normally used only for printers).  The parameter to csnm and scs is the same
   1995 # in both cases:  the keyboard language parameter returned by CSI ? 2 6 n.
   1996 xterm-nrc|xterm with VT220 national replacement character sets,
   1997 	csnm=
   1998 		%?
   1999 			%p1%{1}%=
   2000 			%tNorth\sAmerican
   2001 		%e
   2002 			%p1%{2}%=
   2003 			%tBritish
   2004 		%e
   2005 			%p1%{3}%=
   2006 			%tFlemish
   2007 		%e
   2008 			%p1%{4}%=
   2009 			%tFrench\sCanadian
   2010 		%e
   2011 			%p1%{5}%=
   2012 			%tDanish
   2013 		%e
   2014 			%p1%{6}%=
   2015 			%tFinnish
   2016 		%e
   2017 			%p1%{7}%=
   2018 			%tGerman
   2019 		%e
   2020 			%p1%{8}%=
   2021 			%tDutch
   2022 		%e
   2023 			%p1%{9}%=
   2024 			%tItalian
   2025 		%e
   2026 			%p1%{10}%=
   2027 			%tSwiss\s(French)
   2028 		%e
   2029 			%p1%{11}%=
   2030 			%tSwiss\s(German)
   2031 		%e
   2032 			%p1%{12}%=
   2033 			%tSwedish
   2034 		%e
   2035 			%p1%{13}%=
   2036 			%tNorwegian
   2037 		%e
   2038 			%p1%{14}%=
   2039 			%tFrench/Belgian
   2040 		%e
   2041 			%p1%{15}%=
   2042 			%tSpanish
   2043 		%;,
   2044 	scs=
   2045 		%?
   2046 			%p1%{1}%=
   2047 			%t\E(B
   2048 		%e
   2049 			%p1%{2}%=
   2050 			%t\E(A
   2051 		%e
   2052 			%p1%{3}%=
   2053 			%t\E(R
   2054 		%e
   2055 			%p1%{4}%=
   2056 			%t\E(9
   2057 		%e
   2058 			%p1%{5}%=
   2059 			%t\E(E
   2060 		%e
   2061 			%p1%{6}%=
   2062 			%t\E(5
   2063 		%e
   2064 			%p1%{7}%=
   2065 			%t\E(K
   2066 		%e
   2067 			%p1%{8}%=
   2068 			%t\E(4
   2069 		%e
   2070 			%p1%{9}%=
   2071 			%t\E(Y
   2072 		%e
   2073 			%p1%{10}%=
   2074 			%t\E(=
   2075 		%e
   2076 			%p1%{11}%=
   2077 			%t\E(=
   2078 		%e
   2079 			%p1%{12}%=
   2080 			%t\E(7
   2081 		%e
   2082 			%p1%{13}%=
   2083 			%t\E(E
   2084 		%e
   2085 			%p1%{14}%=
   2086 			%t\E(R
   2087 		%e
   2088 			%p1%{15}%=
   2089 			%t\E(Z
   2090 		%;,
   2091 	use=xterm-new,
   2092 #
   2093 # Foreground 0-15 maps (with toggles) into 30-37 & 90-97
   2094 # Background 0-15 maps (with toggles) into 40-47 & 100-107
   2095 #
   2096 # Originally I suppressed setaf/setab, since ANSI specifies only 8 colors, but
   2097 # Stephen Marley persuaded me to allow the "ANSI" color controls to extend to
   2098 # 16 colors.  (Note that ncurses 4.2 uses setf/setb from this description;
   2099 # however 5.0 selects either according to their availability).  - T.Dickey
   2100 #
   2101 # SVr4 curses does not use more than 8 colors anyway, so using 16 colors is
   2102 # either for terminfo-level applications or via ncurses.
   2103 xterm-16color|xterm with 16 colors,
   2104 	colors#16,
   2105 	pairs#0x100,
   2106 	setab=\E[
   2107 		%?
   2108 			%p1%{8}%<
   2109 			%t
   2110 			%p1%{40}%+
   2111 		%e
   2112 			%p1%{92}%+
   2113 		%;
   2114 		%dm,
   2115 	setaf=\E[
   2116 		%?
   2117 			%p1%{8}%<
   2118 			%t
   2119 			%p1%{30}%+
   2120 		%e
   2121 			%p1%{82}%+
   2122 		%;
   2123 		%dm,
   2124 	setb=
   2125 		%p1%{8}%/%{6}%*%{4}%+\E[%d
   2126 		%p1%{8}%m%Pa
   2127 		%?%ga%{1}%=
   2128 			%t4
   2129 		%e%ga%{3}%=
   2130 			%t6
   2131 		%e%ga%{4}%=
   2132 			%t1
   2133 		%e%ga%{6}%=
   2134 			%t3
   2135 		%e%ga%d
   2136 		%;
   2137 		m,
   2138 	setf=
   2139 		%p1%{8}%/%{6}%*%{3}%+\E[%d
   2140 		%p1%{8}%m%Pa
   2141 		%?%ga%{1}%=
   2142 			%t4
   2143 		%e%ga%{3}%=
   2144 			%t6
   2145 		%e%ga%{4}%=
   2146 			%t1
   2147 		%e%ga%{6}%=
   2148 			%t3
   2149 		%e%ga%d
   2150 		%;
   2151 		m,
   2152 	use=xterm+256color2,
   2153 	use=xterm+osc104,
   2154 	use=xterm-new,
   2155 
   2156 # xterm OSC 104 resets the color palette.  Using it as part of xterm+256color
   2157 # has the drawback that some of the xterm-alikes which use that building block
   2158 # require a different approach to rs1 -TD
   2159 xterm+osc104|reset color palette,
   2160 	oc=\E]104\007,
   2161 	rs1=\Ec\E]104\007,
   2162 
   2163 # "indexed color" is mentioned without definition in ISO 8613-6 (ITU T.416).
   2164 #
   2165 # This implementation uses a 256-element color map where the first 16 entries
   2166 # are shared with the aixterm-compatible colors (and in turn the first 8 are
   2167 # shared with the ANSI colors).  The three levels (256, 16, 8) account for the
   2168 # use of a conditional expression in setaf/setab which reduces the number of
   2169 # characters sent to the screen for typical applications.
   2170 #
   2171 # 256 colors should give 65536 pairs, but SVr4 (legacy) terminfo stores numbers
   2172 # in a signed short.  Most people will not notice problems with only 32767
   2173 # pairs.  With ncurses 6.1, numbers are stored in a signed integer (at least
   2174 # 32-bits), and the inconsistency regarding pairs is eliminated.
   2175 xterm+256color|original xterm 256-color feature,
   2176 	ccc,
   2177 	colors#0x100,
   2178 	pairs#0x10000,
   2179 	initc=\E]4;
   2180 		%p1%d;rgb:
   2181 		%p2%{255}%*%{1000}%/%2.2X/
   2182 		%p3%{255}%*%{1000}%/%2.2X/
   2183 		%p4%{255}%*%{1000}%/%2.2X\E\\,
   2184 	oc=\E]104\007,
   2185 	setab=\E[
   2186 		%?
   2187 			%p1%{8}%<
   2188 			%t4
   2189 			%p1%d
   2190 		%e
   2191 			%p1%{16}%<
   2192 			%t10
   2193 			%p1%{8}%-%d
   2194 		%e48;5;
   2195 			%p1%d
   2196 		%;
   2197 		m,
   2198 	setaf=\E[
   2199 		%?
   2200 			%p1%{8}%<
   2201 			%t3
   2202 			%p1%d
   2203 		%e
   2204 			%p1%{16}%<
   2205 			%t9
   2206 			%p1%{8}%-%d
   2207 		%e38;5;
   2208 			%p1%d
   2209 		%;
   2210 		m,
   2211 	setb@,
   2212 	setf@,
   2213 xterm+256color2|xterm 256-color feature,
   2214 	setab=\E[
   2215 		%?
   2216 			%p1%{8}%<
   2217 			%t4
   2218 			%p1%d
   2219 		%e
   2220 			%p1%{16}%<
   2221 			%t10
   2222 			%p1%{8}%-%d
   2223 		%e48:5:
   2224 			%p1%d
   2225 		%;
   2226 		m,
   2227 	setaf=\E[
   2228 		%?
   2229 			%p1%{8}%<
   2230 			%t3
   2231 			%p1%d
   2232 		%e
   2233 			%p1%{16}%<
   2234 			%t9
   2235 			%p1%{8}%-%d
   2236 		%e38:5:
   2237 			%p1%d
   2238 		%;
   2239 		m,
   2240 	use=xterm+256color,
   2241 xterm-256color|xterm with 256 colors,
   2242 	use=xterm+256color2,
   2243 	use=xterm+osc104,
   2244 	use=xterm-new,
   2245 xterm-88color|xterm with 88 colors,
   2246 	colors#88,
   2247 	pairs#7744,
   2248 	use=xterm-256color,
   2249 
   2250 # "direct color" is mentioned without definition in ISO 8613-6 (ITU T.416).
   2251 #
   2252 # This is a particular implementation which assume 8-bit values for red, green,
   2253 # and blue.  Other encodings are possible; none are addressed by that standard.
   2254 #
   2255 # The "RGB" flag is an ncurses 6.1 extension which tells the library how to
   2256 # quickly compute the color-content for a given color value.
   2257 #
   2258 # Like xterm+256color, this uses a conditional expression.  But it does that
   2259 # for a different reason: to make it readily usable for applications which
   2260 # print text but also use RGB colors, it uses a color map for the usual ANSI
   2261 # colors (0-7) and RGB colors for the remaining range of the color value.
   2262 xterm+direct|xterm with direct-color indexing,
   2263 	RGB,
   2264 	colors#0x1000000,
   2265 	pairs#0x10000,
   2266 	CO#8,
   2267 	initc@,
   2268 	op=\E[39;49m,
   2269 	setab=\E[
   2270 		%?
   2271 			%p1%{8}%<
   2272 			%t4
   2273 			%p1%d
   2274 		%e48:2::
   2275 			%p1%{65536}%/%d:
   2276 			%p1%{256}%/%{255}%&%d:
   2277 			%p1%{255}%&%d
   2278 		%;
   2279 		m,
   2280 	setaf=\E[
   2281 		%?
   2282 			%p1%{8}%<
   2283 			%t3
   2284 			%p1%d
   2285 		%e38:2::
   2286 			%p1%{65536}%/%d:
   2287 			%p1%{256}%/%{255}%&%d:
   2288 			%p1%{255}%&%d
   2289 		%;
   2290 		m,
   2291 	setb@,
   2292 	setf@,
   2293 xterm-direct|xterm with direct-color indexing,
   2294 	use=xterm+direct,
   2295 	use=xterm,
   2296 #
   2297 # This is an 8-bit version of xterm, which emulates DEC vt220 with ANSI color.
   2298 # To use it, your decTerminalID resource must be set to 200 or above, and the
   2299 # sunKeyboard resource set to true.
   2300 #
   2301 #	HTS	\E H	\210
   2302 #	RI	\E M	\215
   2303 #	SS3	\E O	\217
   2304 #	CSI	\E [	\233
   2305 #
   2306 xterm-8bit|xterm terminal emulator with 8-bit controls (X Window System),
   2307 	OTbs,
   2308 	am,
   2309 	bce,
   2310 	km,
   2311 	mc5i,
   2312 	mir,
   2313 	msgr,
   2314 	npc,
   2315 	xenl,
   2316 	AX,
   2317 	colors#8,
   2318 	cols#80,
   2319 	it#8,
   2320 	lines#24,
   2321 	pairs#64,
   2322 	bel=^G,
   2323 	blink=\2335m,
   2324 	bold=\2331m,
   2325 	cbt=\233Z,
   2326 	civis=\233?25l,
   2327 	clear=\233H\2332J,
   2328 	cnorm=\233?25l\233?25h,
   2329 	cr=\r,
   2330 	csr=\233%i%p1%d;%p2%dr,
   2331 	cub=\233%p1%dD,
   2332 	cub1=^H,
   2333 	cud=\233%p1%dB,
   2334 	cud1=\n,
   2335 	cuf=\233%p1%dC,
   2336 	cuf1=\233C,
   2337 	cup=\233%i%p1%d;%p2%dH,
   2338 	cuu=\233%p1%dA,
   2339 	cuu1=\233A,
   2340 	cvvis=\233?12;25h,
   2341 	dch=\233%p1%dP,
   2342 	dch1=\233P,
   2343 	dl=\233%p1%dM,
   2344 	dl1=\233M,
   2345 	ech=\233%p1%dX,
   2346 	ed=\233J,
   2347 	el=\233K,
   2348 	el1=\2331K,
   2349 	flash=\233?5h$<100/>\233?5l,
   2350 	home=\233H,
   2351 	hpa=\233%i%p1%dG,
   2352 	ht=^I,
   2353 	hts=\210,
   2354 	ich=\233%p1%d@,
   2355 	il=\233%p1%dL,
   2356 	il1=\233L,
   2357 	ind=\n,
   2358 	invis=\2338m,
   2359 	is2=\E[62"p\E\sG\233m\233?7h\E>
   2360 	    \E7\233?1;3;4;6l\2334l\233r
   2361 	    \E8,
   2362 	ka1=\217w,
   2363 	ka3=\217u,
   2364 	kb2=\217y,
   2365 	kbeg=\217E,
   2366 	kc1=\217q,
   2367 	kc3=\217s,
   2368 	kcbt=\233Z,
   2369 	kcub1=\217D,
   2370 	kcud1=\217B,
   2371 	kcuf1=\217C,
   2372 	kcuu1=\217A,
   2373 	kdch1=\2333~,
   2374 	kend=\2334~,
   2375 	kent=\217M,
   2376 	kf1=\23311~,
   2377 	kf10=\23321~,
   2378 	kf11=\23323~,
   2379 	kf12=\23324~,
   2380 	kf13=\23325~,
   2381 	kf14=\23326~,
   2382 	kf15=\23328~,
   2383 	kf16=\23329~,
   2384 	kf17=\23331~,
   2385 	kf18=\23332~,
   2386 	kf19=\23333~,
   2387 	kf2=\23312~,
   2388 	kf20=\23334~,
   2389 	kf3=\23313~,
   2390 	kf4=\23314~,
   2391 	kf5=\23315~,
   2392 	kf6=\23317~,
   2393 	kf7=\23318~,
   2394 	kf8=\23319~,
   2395 	kf9=\23320~,
   2396 	khome=\2331~,
   2397 	kich1=\2332~,
   2398 	kmous=\233M,
   2399 	knp=\2336~,
   2400 	kpp=\2335~,
   2401 	mc0=\233i,
   2402 	mc4=\2334i,
   2403 	mc5=\2335i,
   2404 	meml=\El,
   2405 	memu=\Em,
   2406 	op=\23339;49m,
   2407 	rc=\E8,
   2408 	rev=\2337m,
   2409 	ri=\215,
   2410 	rmam=\233?7l,
   2411 	rmcup=\233?1049l,
   2412 	rmir=\2334l,
   2413 	rmkx=\233?1l\E>,
   2414 	rmso=\23327m,
   2415 	rmul=\23324m,
   2416 	rs1=\Ec,
   2417 	rs2=\E[62"p\E\sG\233m\233?7h\E>
   2418 	    \E7\233?1;3;4;6l\2334l\233r
   2419 	    \E8,
   2420 	sc=\E7,
   2421 	setab=\2334%p1%dm,
   2422 	setaf=\2333%p1%dm,
   2423 	setb=\2334
   2424 		%?
   2425 			%p1%{1}%=
   2426 			%t4
   2427 		%e
   2428 			%p1%{3}%=
   2429 			%t6
   2430 		%e
   2431 			%p1%{4}%=
   2432 			%t1
   2433 		%e
   2434 			%p1%{6}%=
   2435 			%t3
   2436 		%e
   2437 			%p1%d
   2438 		%;
   2439 		m,
   2440 	setf=\2333
   2441 		%?
   2442 			%p1%{1}%=
   2443 			%t4
   2444 		%e
   2445 			%p1%{3}%=
   2446 			%t6
   2447 		%e
   2448 			%p1%{4}%=
   2449 			%t1
   2450 		%e
   2451 			%p1%{6}%=
   2452 			%t3
   2453 		%e
   2454 			%p1%d
   2455 		%;
   2456 		m,
   2457 	sgr=\2330
   2458 		%?
   2459 			%p6
   2460 			%t;1
   2461 		%;
   2462 		%?
   2463 			%p2
   2464 			%t;4
   2465 		%;
   2466 		%?
   2467 			%p1
   2468 			%p3%|
   2469 			%t;7
   2470 		%;
   2471 		%?
   2472 			%p4
   2473 			%t;5
   2474 		%;
   2475 		%?
   2476 			%p7
   2477 			%t;8
   2478 		%;
   2479 		m
   2480 		%?
   2481 			%p9
   2482 			%t\E(0
   2483 		%e
   2484 			\E(B
   2485 		%;,
   2486 	sgr0=\2330m\E(B,
   2487 	smam=\233?7h,
   2488 	smcup=\233?1049h,
   2489 	smir=\2334h,
   2490 	smkx=\233?1h\E=,
   2491 	smso=\2337m,
   2492 	smul=\2334m,
   2493 	tbc=\2333g,
   2494 	u6=\233[%i%d;%dR,
   2495 	u7=\E[6n,
   2496 	u8=\233[?%[;0123456789]c,
   2497 	u9=\E[c,
   2498 	vpa=\233%i%p1%dd,
   2499 	use=xterm+acs,
   2500 	use=xterm+kbs,
   2501 #
   2502 xterm-xf86-v44|xterm terminal emulator (XFree86 4.4 Window System),
   2503 	OTbs,
   2504 	am,
   2505 	bce,
   2506 	km,
   2507 	mir,
   2508 	msgr,
   2509 	npc,
   2510 	xenl,
   2511 	AX,
   2512 	XT,
   2513 	colors#8,
   2514 	cols#80,
   2515 	lines#24,
   2516 	pairs#64,
   2517 	acsc=``aaffggiijjkkllmmnnooppqqr
   2518 	     rssttuuvvwwxxyyzz{{||}}~~,
   2519 	bel=^G,
   2520 	civis=\E[?25l,
   2521 	clear=\E[H\E[2J,
   2522 	cnorm=\E[?12l\E[?25h,
   2523 	cr=\r,
   2524 	cub1=^H,
   2525 	cud1=\n,
   2526 	cvvis=\E[?12;25h,
   2527 	dch=\E[%p1%dP,
   2528 	dch1=\E[P,
   2529 	ech=\E[%p1%dX,
   2530 	ed=\E[J,
   2531 	el=\E[K,
   2532 	el1=\E[1K,
   2533 	enacs=\E(B\E)0,
   2534 	flash=\E[?5h$<100/>\E[?5l,
   2535 	hpa=\E[%i%p1%dG,
   2536 	ich=\E[%p1%d@,
   2537 	ind=\n,
   2538 	indn=\E[%p1%dS,
   2539 	is2=\E[!p\E[?3;4l\E[4l\E>,
   2540 	kDC=\E[3;2~,
   2541 	kEND=\E[1;2F,
   2542 	kHOM=\E[1;2H,
   2543 	kIC=\E[2;2~,
   2544 	kLFT=\E[1;2D,
   2545 	kNXT=\E[6;2~,
   2546 	kPRV=\E[5;2~,
   2547 	kRIT=\E[1;2C,
   2548 	kb2=\EOE,
   2549 	kcbt=\E[Z,
   2550 	kdch1=\E[3~,
   2551 	kend=\EOF,
   2552 	kent=\EOM,
   2553 	kf1=\EOP,
   2554 	kf10=\E[21~,
   2555 	kf11=\E[23~,
   2556 	kf12=\E[24~,
   2557 	kf13=\EO2P,
   2558 	kf14=\EO2Q,
   2559 	kf15=\EO2R,
   2560 	kf16=\EO2S,
   2561 	kf17=\E[15;2~,
   2562 	kf18=\E[17;2~,
   2563 	kf19=\E[18;2~,
   2564 	kf2=\EOQ,
   2565 	kf20=\E[19;2~,
   2566 	kf21=\E[20;2~,
   2567 	kf22=\E[21;2~,
   2568 	kf23=\E[23;2~,
   2569 	kf24=\E[24;2~,
   2570 	kf25=\EO5P,
   2571 	kf26=\EO5Q,
   2572 	kf27=\EO5R,
   2573 	kf28=\EO5S,
   2574 	kf29=\E[15;5~,
   2575 	kf3=\EOR,
   2576 	kf30=\E[17;5~,
   2577 	kf31=\E[18;5~,
   2578 	kf32=\E[19;5~,
   2579 	kf33=\E[20;5~,
   2580 	kf34=\E[21;5~,
   2581 	kf35=\E[23;5~,
   2582 	kf36=\E[24;5~,
   2583 	kf37=\EO6P,
   2584 	kf38=\EO6Q,
   2585 	kf39=\EO6R,
   2586 	kf4=\EOS,
   2587 	kf40=\EO6S,
   2588 	kf41=\E[15;6~,
   2589 	kf42=\E[17;6~,
   2590 	kf43=\E[18;6~,
   2591 	kf44=\E[19;6~,
   2592 	kf45=\E[20;6~,
   2593 	kf46=\E[21;6~,
   2594 	kf47=\E[23;6~,
   2595 	kf48=\E[24;6~,
   2596 	kf5=\E[15~,
   2597 	kf6=\E[17~,
   2598 	kf7=\E[18~,
   2599 	kf8=\E[19~,
   2600 	kf9=\E[20~,
   2601 	kich1=\E[2~,
   2602 	kmous=\E[M,
   2603 	knp=\E[6~,
   2604 	kpp=\E[5~,
   2605 	meml=\El,
   2606 	memu=\Em,
   2607 	op=\E[39;49m,
   2608 	ri=\EM,
   2609 	rin=\E[%p1%dT,
   2610 	rmacs=^O,
   2611 	rmam=\E[?7l,
   2612 	rmir=\E[4l,
   2613 	rmkx=\E[?1l\E>,
   2614 	rmso=\E[27m,
   2615 	rmul=\E[24m,
   2616 	rs1=\Ec,
   2617 	rs2=\E[!p\E[?3;4l\E[4l\E>,
   2618 	setab=\E[4%p1%dm,
   2619 	setaf=\E[3%p1%dm,
   2620 	setb=\E[4
   2621 		%?
   2622 			%p1%{1}%=
   2623 			%t4
   2624 		%e
   2625 			%p1%{3}%=
   2626 			%t6
   2627 		%e
   2628 			%p1%{4}%=
   2629 			%t1
   2630 		%e
   2631 			%p1%{6}%=
   2632 			%t3
   2633 		%e
   2634 			%p1%d
   2635 		%;
   2636 		m,
   2637 	setf=\E[3
   2638 		%?
   2639 			%p1%{1}%=
   2640 			%t4
   2641 		%e
   2642 			%p1%{3}%=
   2643 			%t6
   2644 		%e
   2645 			%p1%{4}%=
   2646 			%t1
   2647 		%e
   2648 			%p1%{6}%=
   2649 			%t3
   2650 		%e
   2651 			%p1%d
   2652 		%;
   2653 		m,
   2654 	sgr=\E[0
   2655 		%?
   2656 			%p6
   2657 			%t;1
   2658 		%;
   2659 		%?
   2660 			%p2
   2661 			%t;4
   2662 		%;
   2663 		%?
   2664 			%p1
   2665 			%p3%|
   2666 			%t;7
   2667 		%;
   2668 		%?
   2669 			%p4
   2670 			%t;5
   2671 		%;
   2672 		%?
   2673 			%p7
   2674 			%t;8
   2675 		%;
   2676 		m
   2677 		%?
   2678 			%p9
   2679 			%t\016
   2680 		%e
   2681 			\017
   2682 		%;,
   2683 	sgr0=\E[m\017,
   2684 	smacs=^N,
   2685 	smam=\E[?7h,
   2686 	smir=\E[4h,
   2687 	smkx=\E[?1h\E=,
   2688 	u8=\E[?1;2c,
   2689 	vpa=\E[%i%p1%dd,
   2690 	ka2=\EOx,
   2691 	kb1=\EOt,
   2692 	kb3=\EOv,
   2693 	kc2=\EOr,
   2694 	use=xterm+kbs,
   2695 	use=ansi+apparrows,
   2696 	use=ansi+csr,
   2697 	use=ansi+cup,
   2698 	use=ansi+enq,
   2699 	use=ansi+idl,
   2700 	use=ansi+inittabs,
   2701 	use=ansi+local,
   2702 	use=ansi+pp,
   2703 	use=ansi+sgrbold,
   2704 	use=xterm+alt1049,
   2705 
   2706 xterm-xfree86|xterm terminal emulator (XFree86 4.4 Window System),
   2707 	use=xterm-xf86-v44,
   2708 #
   2709 # Compatible with the R6 xterm, with the following changes:
   2710 #	+ added acsc (perhaps some versions of tic assume the standard vt100
   2711 #	  alternate character set)
   2712 #	+ added u6, u7, u8, u9 strings for Daniel Weaver's tack program.
   2713 #	+ added kmous string for ncurses.
   2714 #	+ added khome/kend strings (which conflict with kfnd/kslt, see note).
   2715 xterm-r6|xterm X11R6 version,
   2716 	OTbs,
   2717 	am,
   2718 	km,
   2719 	mir,
   2720 	msgr,
   2721 	xenl,
   2722 	cols#80,
   2723 	it#8,
   2724 	lines#24,
   2725 	acsc=``aaffggiijjkkllmmnnooppqqr
   2726 	     rssttuuvvwwxxyyzz{{||}}~~,
   2727 	bel=^G,
   2728 	bold=\E[1m,
   2729 	clear=\E[H\E[2J,
   2730 	cr=\r,
   2731 	cub=\E[%p1%dD,
   2732 	cub1=^H,
   2733 	cud=\E[%p1%dB,
   2734 	cud1=\n,
   2735 	cuf=\E[%p1%dC,
   2736 	cuf1=\E[C,
   2737 	cuu=\E[%p1%dA,
   2738 	cuu1=\E[A,
   2739 	dch=\E[%p1%dP,
   2740 	dch1=\E[P,
   2741 	dl=\E[%p1%dM,
   2742 	dl1=\E[M,
   2743 	enacs=\E)0,
   2744 	ht=^I,
   2745 	hts=\EH,
   2746 	il=\E[%p1%dL,
   2747 	il1=\E[L,
   2748 	ind=\n,
   2749 	is2=\E[m\E[?7h\E[4l\E>\E7\E[r\E[
   2750 	    ?1;3;4;6l\E8,
   2751 	kcub1=\EOD,
   2752 	kcud1=\EOB,
   2753 	kcuf1=\EOC,
   2754 	kcuu1=\EOA,
   2755 	kf1=\E[11~,
   2756 	kf10=\E[21~,
   2757 	kf11=\E[23~,
   2758 	kf12=\E[24~,
   2759 	kf13=\E[25~,
   2760 	kf14=\E[26~,
   2761 	kf15=\E[28~,
   2762 	kf16=\E[29~,
   2763 	kf17=\E[31~,
   2764 	kf18=\E[32~,
   2765 	kf19=\E[33~,
   2766 	kf2=\E[12~,
   2767 	kf20=\E[34~,
   2768 	kf3=\E[13~,
   2769 	kf4=\E[14~,
   2770 	kf5=\E[15~,
   2771 	kf6=\E[17~,
   2772 	kf7=\E[18~,
   2773 	kf8=\E[19~,
   2774 	kf9=\E[20~,
   2775 	kmous=\E[M,
   2776 	meml=\El,
   2777 	memu=\Em,
   2778 	rev=\E[7m,
   2779 	ri=\EM,
   2780 	rmacs=^O,
   2781 	rmcup=\E[2J\E[?47l\E8,
   2782 	rmir=\E[4l,
   2783 	rmkx=\E[?1l\E>,
   2784 	rmso=\E[m,
   2785 	rmul=\E[m,
   2786 	rs2=\E[m\E[?7h\E[4l\E>\E7\E[r\E[
   2787 	    ?1;3;4;6l\E8,
   2788 	sgr0=\E[m,
   2789 	smacs=^N,
   2790 	smcup=\E7\E[?47h,
   2791 	smir=\E[4h,
   2792 	smkx=\E[?1h\E=,
   2793 	smso=\E[7m,
   2794 	smul=\E[4m,
   2795 	tbc=\E[3g,
   2796 	u8=\E[?1;2c,
   2797 	u9=\E[c,
   2798 	use=ansi+cpr,
   2799 	use=ansi+csr,
   2800 	use=ansi+cup,
   2801 	use=ansi+erase,
   2802 	use=xterm+kbs,
   2803 	use=xterm+decedit,
   2804 xterm-old|antique xterm version,
   2805 	use=xterm-r6,
   2806 #
   2807 # Compatible with the R5 xterm, with the following changes:
   2808 #	+ changed 'blink=@', to 'blink@' (the former meant that "@" would start
   2809 #	  a blink, the latter that it is not supported).
   2810 #	+ changed kf1 through kf4 to correspond with actual usage.  Though X
   2811 #	  supports keypad symbols for PF1 to PF4, and xterm interprets these
   2812 #	  correctly, the F1 to F4 codes are commonly (but incorrectly) used.
   2813 #	+ moved reset string from rs1 to rs2, to correlate better with termcap.
   2814 #	+ make khome consistent with other entries.
   2815 #	+ use rmul/smul, rmir/smir from termcap, but not rmcup/smcup because
   2816 #	  not everyone wants the alternate screen.
   2817 #	+ added u6, u7, u8, u9 strings for Daniel Weaver's tack program.
   2818 #	+ added kmous string for ncurses.
   2819 xterm-r5|xterm R5 version,
   2820 	OTbs,
   2821 	am,
   2822 	km,
   2823 	msgr,
   2824 	xenl,
   2825 	cols#80,
   2826 	it#8,
   2827 	lines#24,
   2828 	bel=^G,
   2829 	bold=\E[1m,
   2830 	clear=\E[H\E[2J,
   2831 	cr=\r,
   2832 	cub1=^H,
   2833 	cud1=\n,
   2834 	cup=\E[%i%p1%d;%p2%dH,
   2835 	ed=\E[J,
   2836 	el=\E[K,
   2837 	home=\E[H,
   2838 	ht=^I,
   2839 	hts=\EH,
   2840 	ind=\n,
   2841 	kdch1=\E[3~,
   2842 	kdl1=\E[31~,
   2843 	kel=\E[8~,
   2844 	kend=\E[4~,
   2845 	kf0=\EOq,
   2846 	kf1=\E[11~,
   2847 	kf10=\E[21~,
   2848 	kf11=\E[23~,
   2849 	kf12=\E[24~,
   2850 	kf2=\E[12~,
   2851 	kf3=\E[13~,
   2852 	kf4=\E[14~,
   2853 	kf5=\E[15~,
   2854 	kf6=\E[17~,
   2855 	kf7=\E[18~,
   2856 	kf8=\E[19~,
   2857 	kf9=\E[20~,
   2858 	khome=\E[1~,
   2859 	kich1=\E[2~,
   2860 	kil1=\E[30~,
   2861 	kmous=\E[M,
   2862 	knp=\E[6~,
   2863 	kpp=\E[5~,
   2864 	rev=\E[7m,
   2865 	ri=\EM,
   2866 	rmkx=\E[?1l\E>,
   2867 	rmul=\E[m,
   2868 	rs2=\E>\E[?1;3;4;5;6l\E[4l\E[?7h
   2869 	    \E[m\E[r\E[2J\E[H,
   2870 	sgr=\E[
   2871 		%?
   2872 			%p1
   2873 			%t;7
   2874 		%;
   2875 		%?
   2876 			%p2
   2877 			%t;4
   2878 		%;
   2879 		%?
   2880 			%p3
   2881 			%t;7
   2882 		%;
   2883 		%?
   2884 			%p4
   2885 			%t;5
   2886 		%;
   2887 		%?
   2888 			%p6
   2889 			%t;1
   2890 		%;
   2891 		m,
   2892 	sgr0=\E[m,
   2893 	smkx=\E[?1h\E=,
   2894 	smul=\E[4m,
   2895 	tbc=\E[3g,
   2896 	u8=\E[?1;2c,
   2897 	use=xterm+kbs,
   2898 	use=ansi+apparrows,
   2899 	use=ansi+csr,
   2900 	use=ansi+enq,
   2901 	use=ansi+idc,
   2902 	use=ansi+idl,
   2903 	use=ansi+local,
   2904 	use=ansi+sgrso,
   2905 
   2906 # DEC status-line is an extension for VT220, and standard with VT320 and up.
   2907 dec+sl|DEC VTxx status line,
   2908 	eslok,
   2909 	hs,
   2910 	dsl=\E[0$~,
   2911 	fsl=\E[0$},
   2912 	tsl=\E[2$~\E[1$}\E[%i%p1%d`,
   2913 #
   2914 #
   2915 # Customization begins here.
   2916 #
   2917 # This is the only entry which you should have to customize, since "xterm"
   2918 # is widely used for a variety of incompatible terminal emulations including
   2919 # color_xterm and rxvt.
   2920 xterm|X11 terminal emulator,
   2921 	use=xterm-new,
   2922 #	use=xterm-r6,
   2923 
   2924 # This fragment is for people who cannot agree on what the backspace key
   2925 # should send.
   2926 xterm+kbs|fragment for backspace key,
   2927 	kbs=^H,
   2928 #	kbs=^?,
   2929