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#
132xterm-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)
148vt420+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:
155ansi+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
163ansi+csr|ANSI scroll-region plus cursor save & restore,
164	csr=\E[%i%p1%d;%p2%dr,
165	rc=\E8,
166	sc=\E7,
167
168ansi+cup|ANSI absolute cursor-addressing,
169	cup=\E[%i%p1%d;%p2%dH,
170	home=\E[H,
171
172ansi+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
178ansi+erase|ANSI clear screen/line,
179	clear=\E[H\E[J,
180	ed=\E[J,
181	el=\E[K,
182
183ansi+idc1|ANSI insert/delete one character,
184	dch1=\E[P,
185	ich1=\E[@,
186	rmir=\E[4l,
187	smir=\E[4h,
188
189ansi+idc|ANSI insert/delete characters,
190	dch=\E[%p1%dP,
191	ich=\E[%p1%d@,
192	use=ansi+idc1,
193
194ansi+idl1|ANSI insert/delete one line,
195	dl1=\E[M,
196	il1=\E[L,
197
198ansi+idl|ANSI insert/delete lines,
199	dl=\E[%p1%dM,
200	il=\E[%p1%dL,
201	use=ansi+idl1,
202
203ansi+inittabs|ANSI initial tab-stops,
204	it#8,
205	use=ansi+tabs,
206
207ansi+local1|ANSI normal-mode cursor-keys,
208	cub1=\E[D,
209	cud1=\E[B,
210	cuf1=\E[C,
211	cuu1=\E[A,
212
213ansi+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
220ansi+pp|ANSI printer port,
221	mc5i,
222	mc0=\E[i,
223	mc4=\E[4i,
224	mc5=\E[5i,
225
226ansi+rep|ANSI repeat-character,
227	rep=%p1%c\E[%p2%{1}%-%db,
228
229ansi+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
249ansi+sgrso|ANSI standout only,
250	rmso=\E[m,
251	smso=\E[7m,
252
253ansi+sgrul|ANSI underline only,
254	rmul=\E[m,
255	smul=\E[4m,
256
257ansi+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
289ansi+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
321ansi+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:
328ansi+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
336ansi+cpr|ncurses extension for ANSI CPR,
337	u6=\E[%i%d;%dR,
338	u7=\E[6n,
339
340ansi+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#
398xterm+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.
422xterm+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.
434xterm+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
490xterm+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
540xterm+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.
607xterm+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
672xterm+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
737xterm+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.
820xterm+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
848xterm+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
876xterm+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
904xterm+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.
933xterm+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
972xterm+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
1011xterm+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
1050xterm+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
1089ecma+italics|ECMA-48 italics,
1090	ritm=\E[23m,
1091	sitm=\E[3m,
1092
1093# The rmxx/smxx capabilities are an ncurses extension
1094ecma+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.
1100ecma+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
1105xterm+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.
1127xterm+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.
1150xterm+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.
1165bracketed+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)^[\
1176report+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.
1189report+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.
1194xterm-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
1333xterm+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#
1362xterm-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#
1398xterm-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#
1452vt52+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#
1504xterm-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
1571xterm-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#
1607xterm-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):
1666xterm-24|xterms|vs100|xterm terminal emulator (X Window System),
1667	lines#24,
1668	use=xterm-old,
1669xterm-65|xterm with tall window 65x80 (X Window System),
1670	lines#65,
1671	use=xterm-old,
1672xterm-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,
1698xterm-boldso|xterm with bold for standout (X Window System),
1699	rmso=\E[m,
1700	smso=\E[1m,
1701	use=xterm-old,
1702xterm-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#
1735xterm-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
1743vt100+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
1750xterm+acs|ISO-2022 alternate character-switching for xterm,
1751	acsc=``aaffggiijjkkllmmnnooppqqr
1752	     rssttuuvvwwxxyyzz{{||}}~~,
1753	enacs@,
1754	rmacs=\E(B,
1755	smacs=\E(0,
1756
1757xterm+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
1764vt100+noapp+pc|fragment for noapp pc-style home/end,
1765	kend=\E[F,
1766	khome=\E[H,
1767
1768xterm+app+pc|fragment for app pc-style home/end,
1769	kend=\EOF,
1770	khome=\EOH,
1771
1772vt220+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
1779xterm+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
1786xterm+pc+edit|fragment for pc-style editing keypad,
1787	kend=\E[4~,
1788	khome=\E[1~,
1789
1790xterm+vt+edit|fragment for vt220-style editing keypad,
1791	kfnd=\E[1~,
1792	kslt=\E[4~,
1793
1794xterm+alt1049|xterm 90 feature,
1795	rmcup=\E[?1049l,
1796	smcup=\E[?1049h,
1797
1798xterm+titlestack|xterm 251 feature,
1799	rmcup=\E[23;0;0t,
1800	smcup=\E[22;0;0t,
1801
1802xterm+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~
1814xterm+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
1896xterm+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_|
1929vt220+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.
1950xterm-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
1961xterm-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).
1971xterm-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).
1987xterm-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.
1996xterm-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.
2103xterm-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
2159xterm+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.
2175xterm+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@,
2213xterm+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,
2241xterm-256color|xterm with 256 colors,
2242	use=xterm+256color2,
2243	use=xterm+osc104,
2244	use=xterm-new,
2245xterm-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.
2262xterm+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@,
2293xterm-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#
2306xterm-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#
2502xterm-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
2706xterm-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).
2715xterm-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,
2804xterm-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.
2819xterm-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.
2907dec+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.
2920xterm|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.
2926xterm+kbs|fragment for backspace key,
2927	kbs=^H,
2928#	kbs=^?,
2929