terminfo revision 913cc679
1# $XTermId: terminfo,v 1.165 2017/05/07 22:54:33 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-2016,2017 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#
36# Special Capabilities:
37# --------------------
38# ich has a corresponding capability that inserts a single blank.  We could
39#	have used ich1=\E[@, which works with ncurses, but that is not standard
40#	behavior.  If it is set, then SVr4 vi (e.g., Solaris 2.6) emits both
41#	smir/rmir and ich1.
42# meml locks memory above the cursor; memu unlocks (ala HP terminals).  This
43#	is not recognized by some older (e.g., SVr3) tic programs, but none
44#	do more than warn about it.  Ignore the warning.
45# smcup clears memory before switching to the alternate screen.  The older
46#	(deprecated) \E[?47h did not do this, requiring applications to
47#	embed a \E[2J in the rmcup string.  However, that behavior cannot
48#	be disabled via titeInhibit, making that resource not function as
49#	intended on systems with terminfo.
50# rs2/is2 are shorter with XFree86 xterm because it supports DECSTR.  We
51#	use the shorter sequence for compatibility with the termcap, which
52#	is trimmed to keep it shorter than 1023 characters.  It (escape \E[!p)
53#	replaces these in the conventional vt100 reset-string:
54#		\E7	- save cursor (fixes origin-mode side-effect)
55#		\E[r	- reset scrolling margins
56#		\E[m	- reset SGR (including color)
57#		\E[?7h	- reset wraparound mode (DECAWM)
58#		\E[?1l	- reset application cursor keys (DECCKM)
59#		\E[?6l	- reset origin mode (DECOM)
60#		\E8	- restore cursor
61#	DECSTR is recognized by XFree86 xterm even in vt52 mode.
62#
63# Editing Keypad:
64# --------------
65# XFree86 xterm emulates vt220 if the decTerminalID resource is set to 200 or
66# higher.  Otherwise it emulates a vt100 or vt52 depending on the value of the
67# resource.  When emulating a vt220, we support the editing keypad.  Sun and PC
68# keyboards have an editing keypad which is similar to the vt220:
69#
70#	VT220 editing keypad
71#	----------------------------
72#	Find      Insert      Remove
73#	Select    Prev        Next
74#	----------------------------
75#
76#	Sun/PC editing keypad
77#	----------------------------
78#	Insert    Home        PageUp
79#	Delete    End         PageDn
80#	----------------------------
81#
82# If the sunKeyboard resource is true, we map it this way (adjusting the values
83# of Home, End and Delete):
84#	VT220		      Sun/PC
85#	----------------------------
86#	Find		      Home
87#	Select		      End
88#	Insert		      Insert
89#	Remove		      Delete
90#	Prev		      PageUp
91#	Next		      PageDn
92#	----------------------------
93#
94# Note that all of the keys on the editing keypad transmit escape sequences.  A
95# vt220 does this only when in vt220 mode; when emulating a vt100 the editing
96# keypad is inactive.
97#
98# Alternative keycodes:
99# --------------------
100# Several of the function keys have alternative names, depending on the type of
101# host which your xterm is connected to.  DEC (i.e., the VMS system) uses F15
102# as the HELP key, F16 as the DO key.  Unix applications generally do not do
103# this.  Curses applications in particular, assign a unique keycode to each
104# capability string.  These terminal descriptions do not have conflicting
105# definitions, to ensure that Unix curses applications use a consistent set of
106# keycodes.  To get a VMS-bias, make these substitutions:
107#	1. change khome to kfnd
108#	2. change kend to kslt
109# The original xterm-r6 entry does in fact have a VMS bias.
110#
111# Some legacy applications using the termcap emulation may expect kll where
112# we have specified kend.
113#
114# Function keys with modifiers (Sun/PC):
115# -------------------------------------
116#	Shift-Fx          - kf{12+x}
117#	Control-Fx        - kf{24+x}
118#	Shift-Control-Fx  - kf{36+x}
119#
120# The terminfo defines some special keys which are documented as "shifted",
121# e.g., kDC is shifted-delete-character.
122#
123# Note however, that even though the terminfo says a key might be sent, there
124# may be conflicts which prevent this.  For example, it is common to use
125# shifted pageup and pagedown for window manager functions.  The default
126# translation for xterm since X11R4 has overridden shifted Insert, Select,
127# PageUp and PageDown, which correspond to terminfo kIC, kEND, kPRV and kNXT
128# respectively.
129#
130xterm-new|modern xterm terminal emulator,
131	npc,
132	indn=\E[%p1%dS,
133	kb2=\EOE,
134	kcbt=\E[Z,
135	kent=\EOM,
136	rin=\E[%p1%dT,
137	use=ecma+strikeout,
138	use=xterm+pcfkeys,
139	use=xterm+tmux,
140	use=xterm-basic,
141#
142# Encode modifiers using parameters (see "Xterm Control Sequences" ctlseqs.ms).
143# Note that this is unrelated to PCTERM.
144#
145# Some names are extensions allowed by ncurses, e.g.,
146#	kDN, kDN5, kDN6, kLFT5, kLFT6, kRIT5, kRIT6, kUP, kUP5, kUP6
147#
148# The uppercase names are made up, since there are no standards that apply.
149# If they were limited to two characters, they could in principle be translated
150# to termcap.  However, termcap sizes are limited to 1023 bytes, so there is
151# little point in ensuring that extended key names can be translated to
152# termcap.  A terminfo file can be up to 4096 bytes; using all extended keys
153# that xterm can generate would in fact exceed that limit.
154#
155# The numbers correspond to the modifier parameters documented in Xterm
156# Control Sequences:
157#
158#	2	Shift
159#	3	Alt
160#	4	Shift + Alt
161#	5	Control
162#	6	Shift + Control
163#	7	Alt + Control
164#	8	Shift + Alt + Control
165#
166# X/Open Curses defines some shift combinations, which are also used here
167# where applicable.  Since it does define some shift combinations, no number
168# (2) is used for suffixing the made-up names.  Some combinations are not
169# useful, e.g., they may reboot your computer, or they may require too many
170# fingers.  I stopped at modifier 7, just to keep things simple -TD
171#
172# XTerm resources:
173# ---------------
174# The xterm+pcfn, xterm+pcf0, xterm+pcf1, xterm+pcf2 and xterm+pcf3 fragments
175# correspond to default resource settings for xterm on a 104-key PC keyboard
176# with 12 function-keys:
177#
178#	*sunKeyboard:false
179#	*oldXtermFKeys:false
180#	*modifyCursorKeys:2
181#	*modifyFunctionKeys:2
182#	*ctrlFKeys:10
183#
184# The key numbers are computed based on the modifiers:
185#
186#	kf1-kf12 are F1-F12
187#	kf13-kf24 are shift F1-F12
188#	kf25-kf36 are control F1-F12
189#	kf37-kf48 are control+shift F1-F12
190#	kf49-kf60 are alt F1-F12
191#	kf61-kf63 are shift-alt F1-F3
192#
193# Note that ncurses would allow definition of kf64 and beyond, if there were
194# an application that required it.
195#
196xterm+pcfkeys|fragment for PC-style keys,
197	use=xterm+app,
198	use=xterm+pcf2,
199	use=xterm+pce2,
200	use=xterm+pcc2,
201
202# This chunk is based on suggestions by Ailin Nemui and Nicholas Marriott, who
203# asked for some of xterm's advanced features to be added to its terminfo
204# entry.  It defines extended capabilities not found in standard terminfo or
205# termcap.  These are useful in tmux, for instance, hence the name.
206#
207# One caveat in adding extended capabilities in ncurses is that if the names
208# are longer than two characters, then they will not be visible through the
209# termcap interface.
210#
211# Ms modifies the selection/clipboard.  Its parameters are
212#	p1 = the storage unit (clipboard, selection or cut buffer)
213#	p2 = the base64-encoded clipboard content.
214# 
215# Ss is used to set the cursor style as described by the DECSCUSR
216#	function to a block or underline.
217# Se resets the cursor style to the terminal power-on default.
218#  
219# Cs and Ce set and reset the cursor colour.
220xterm+tmux|advanced xterm features used in tmux,
221	Cr=\E]112\007,
222	Cs=\E]12;%p1%s\007,
223	Ms=\E]52;%p1%s;%p2%s
224	   \007,
225	Se=\E[2\sq,
226	Ss=\E[%p1%d\sq,
227#
228# The ctrlFKeys resource is only relevant to the xterm+pcfn and xterm+pcfN
229# entries, since the modifyFunctionKeys resource overrides ctrlFKeys when it is
230# positive.  A different choice of ctrlFKeys would give a different set of
231# function-key strings.
232xterm+pcfn|fragment with modifyFunctionKeys:-1 and ctrlFKeys:10,
233	kf1=\EOP,
234	kf10=\E[21~,
235	kf11=\E[23~,
236	kf12=\E[24~,
237	kf13=\E[25~,
238	kf14=\E[26~,
239	kf15=\E[28~,
240	kf16=\E[29~,
241	kf17=\E[31~,
242	kf18=\E[32~,
243	kf19=\E[33~,
244	kf2=\EOQ,
245	kf20=\E[34~,
246	kf21=\E[42~,
247	kf22=\E[43~,
248	kf23=\E[44~,
249	kf24=\E[45~,
250	kf25=\E[46~,
251	kf26=\E[47~,
252	kf27=\E[48~,
253	kf28=\E[49~,
254	kf29=\E[50~,
255	kf3=\EOR,
256	kf30=\E[51~,
257	kf31=\E[52~,
258	kf32=\E[53~,
259	kf33=\E[54~,
260	kf34=\E[55~,
261	kf35=\E[56~,
262	kf36=\E[57~,
263	kf37=\E[58~,
264	kf38=\E[59~,
265	kf39=\E[60~,
266	kf4=\EOS,
267	kf40=\E[61~,
268	kf41=\E[62~,
269	kf42=\E[63~,
270	kf43=\E[64~,
271	kf44=\E[65~,
272	kf45=\E[66~,
273	kf46=\E[67~,
274	kf47=\E[68~,
275	kf48=\E[69~,
276	kf5=\E[15~,
277	kf6=\E[17~,
278	kf7=\E[18~,
279	kf8=\E[19~,
280	kf9=\E[20~,
281
282# Changing ctrlFKeys to 12 would let us number the keys using just shift- and
283# control- modifiers:
284#	kf1-kf12 are F1-F12
285#	kf13-kf24 are shift F1-F12
286#	kf25-kf36 are control F1-F12
287#	kf37-kf48 are control+shift F1-F12
288xterm+pcfN|fragment with modifyFunctionKeys:-1 and ctrlFKeys:12,
289	kf1=\EOP,
290	kf10=\E[21~,
291	kf11=\E[23~,
292	kf12=\E[24~,
293	kf13=\E[25~,
294	kf14=\E[26~,
295	kf15=\E[28~,
296	kf16=\E[29~,
297	kf17=\E[31~,
298	kf18=\E[32~,
299	kf19=\E[33~,
300	kf2=\EOQ,
301	kf20=\E[34~,
302	kf21=\E[42~,
303	kf22=\E[43~,
304	kf23=\E[44~,
305	kf24=\E[45~,
306	kf25=\E[46~,
307	kf26=\E[47~,
308	kf27=\E[48~,
309	kf28=\E[49~,
310	kf29=\E[50~,
311	kf3=\EOR,
312	kf30=\E[51~,
313	kf31=\E[52~,
314	kf32=\E[53~,
315	kf33=\E[54~,
316	kf34=\E[55~,
317	kf35=\E[56~,
318	kf36=\E[57~,
319	kf37=\E[58~,
320	kf38=\E[59~,
321	kf39=\E[60~,
322	kf4=\EOS,
323	kf40=\E[61~,
324	kf41=\E[62~,
325	kf42=\E[63~,
326	kf43=\E[64~,
327	kf44=\E[65~,
328	kf45=\E[66~,
329	kf46=\E[67~,
330	kf47=\E[68~,
331	kf48=\E[69~,
332	kf5=\E[15~,
333	kf6=\E[17~,
334	kf7=\E[18~,
335	kf8=\E[19~,
336	kf9=\E[20~,
337
338xterm+pcf0|fragment with modifyFunctionKeys:0,
339	kf1=\EOP,
340	kf10=\E[21~,
341	kf11=\E[23~,
342	kf12=\E[24~,
343	kf13=\EO2P,
344	kf14=\EO2Q,
345	kf15=\EO2R,
346	kf16=\EO2S,
347	kf17=\E[15;2~,
348	kf18=\E[17;2~,
349	kf19=\E[18;2~,
350	kf2=\EOQ,
351	kf20=\E[19;2~,
352	kf21=\E[20;2~,
353	kf22=\E[21;2~,
354	kf23=\E[23;2~,
355	kf24=\E[24;2~,
356	kf25=\EO5P,
357	kf26=\EO5Q,
358	kf27=\EO5R,
359	kf28=\EO5S,
360	kf29=\E[15;5~,
361	kf3=\EOR,
362	kf30=\E[17;5~,
363	kf31=\E[18;5~,
364	kf32=\E[19;5~,
365	kf33=\E[20;5~,
366	kf34=\E[21;5~,
367	kf35=\E[23;5~,
368	kf36=\E[24;5~,
369	kf37=\EO6P,
370	kf38=\EO6Q,
371	kf39=\EO6R,
372	kf4=\EOS,
373	kf40=\EO6S,
374	kf41=\E[15;6~,
375	kf42=\E[17;6~,
376	kf43=\E[18;6~,
377	kf44=\E[19;6~,
378	kf45=\E[20;6~,
379	kf46=\E[21;6~,
380	kf47=\E[23;6~,
381	kf48=\E[24;6~,
382	kf49=\EO3P,
383	kf5=\E[15~,
384	kf50=\EO3Q,
385	kf51=\EO3R,
386	kf52=\EO3S,
387	kf53=\E[15;3~,
388	kf54=\E[17;3~,
389	kf55=\E[18;3~,
390	kf56=\E[19;3~,
391	kf57=\E[20;3~,
392	kf58=\E[21;3~,
393	kf59=\E[23;3~,
394	kf6=\E[17~,
395	kf60=\E[24;3~,
396	kf61=\EO4P,
397	kf62=\EO4Q,
398	kf63=\EO4R,
399	kf7=\E[18~,
400	kf8=\E[19~,
401	kf9=\E[20~,
402
403# This is almost the same as xterm+pcf2 because the unmodified keys all happen
404# to have a pattern that forces the modifier to the same position.
405xterm+pcf1|fragment with modifyFunctionKeys:1,
406	kf1=\EOP,
407	kf10=\E[21~,
408	kf11=\E[23~,
409	kf12=\E[24~,
410	kf13=\E[2P,
411	kf14=\E[2Q,
412	kf15=\E[2R,
413	kf16=\E[2S,
414	kf17=\E[15;2~,
415	kf18=\E[17;2~,
416	kf19=\E[18;2~,
417	kf2=\EOQ,
418	kf20=\E[19;2~,
419	kf21=\E[20;2~,
420	kf22=\E[21;2~,
421	kf23=\E[23;2~,
422	kf24=\E[24;2~,
423	kf25=\E[5P,
424	kf26=\E[5Q,
425	kf27=\E[5R,
426	kf28=\E[5S,
427	kf29=\E[15;5~,
428	kf3=\EOR,
429	kf30=\E[17;5~,
430	kf31=\E[18;5~,
431	kf32=\E[19;5~,
432	kf33=\E[20;5~,
433	kf34=\E[21;5~,
434	kf35=\E[23;5~,
435	kf36=\E[24;5~,
436	kf37=\E[6P,
437	kf38=\E[6Q,
438	kf39=\E[6R,
439	kf4=\EOS,
440	kf40=\E[6S,
441	kf41=\E[15;6~,
442	kf42=\E[17;6~,
443	kf43=\E[18;6~,
444	kf44=\E[19;6~,
445	kf45=\E[20;6~,
446	kf46=\E[21;6~,
447	kf47=\E[23;6~,
448	kf48=\E[24;6~,
449	kf49=\E[3P,
450	kf5=\E[15~,
451	kf50=\E[3Q,
452	kf51=\E[3R,
453	kf52=\E[3S,
454	kf53=\E[15;3~,
455	kf54=\E[17;3~,
456	kf55=\E[18;3~,
457	kf56=\E[19;3~,
458	kf57=\E[20;3~,
459	kf58=\E[21;3~,
460	kf59=\E[23;3~,
461	kf6=\E[17~,
462	kf60=\E[24;3~,
463	kf61=\E[4P,
464	kf62=\E[4Q,
465	kf63=\E[4R,
466	kf7=\E[18~,
467	kf8=\E[19~,
468	kf9=\E[20~,
469
470xterm+pcf2|fragment with modifyFunctionKeys:2,
471	kf1=\EOP,
472	kf10=\E[21~,
473	kf11=\E[23~,
474	kf12=\E[24~,
475	kf13=\E[1;2P,
476	kf14=\E[1;2Q,
477	kf15=\E[1;2R,
478	kf16=\E[1;2S,
479	kf17=\E[15;2~,
480	kf18=\E[17;2~,
481	kf19=\E[18;2~,
482	kf2=\EOQ,
483	kf20=\E[19;2~,
484	kf21=\E[20;2~,
485	kf22=\E[21;2~,
486	kf23=\E[23;2~,
487	kf24=\E[24;2~,
488	kf25=\E[1;5P,
489	kf26=\E[1;5Q,
490	kf27=\E[1;5R,
491	kf28=\E[1;5S,
492	kf29=\E[15;5~,
493	kf3=\EOR,
494	kf30=\E[17;5~,
495	kf31=\E[18;5~,
496	kf32=\E[19;5~,
497	kf33=\E[20;5~,
498	kf34=\E[21;5~,
499	kf35=\E[23;5~,
500	kf36=\E[24;5~,
501	kf37=\E[1;6P,
502	kf38=\E[1;6Q,
503	kf39=\E[1;6R,
504	kf4=\EOS,
505	kf40=\E[1;6S,
506	kf41=\E[15;6~,
507	kf42=\E[17;6~,
508	kf43=\E[18;6~,
509	kf44=\E[19;6~,
510	kf45=\E[20;6~,
511	kf46=\E[21;6~,
512	kf47=\E[23;6~,
513	kf48=\E[24;6~,
514	kf49=\E[1;3P,
515	kf5=\E[15~,
516	kf50=\E[1;3Q,
517	kf51=\E[1;3R,
518	kf52=\E[1;3S,
519	kf53=\E[15;3~,
520	kf54=\E[17;3~,
521	kf55=\E[18;3~,
522	kf56=\E[19;3~,
523	kf57=\E[20;3~,
524	kf58=\E[21;3~,
525	kf59=\E[23;3~,
526	kf6=\E[17~,
527	kf60=\E[24;3~,
528	kf61=\E[1;4P,
529	kf62=\E[1;4Q,
530	kf63=\E[1;4R,
531	kf7=\E[18~,
532	kf8=\E[19~,
533	kf9=\E[20~,
534
535xterm+pcf3|fragment with modifyFunctionKeys:3,
536	kf1=\EOP,
537	kf10=\E[21~,
538	kf11=\E[23~,
539	kf12=\E[24~,
540	kf13=\E[>1;2P,
541	kf14=\E[>1;2Q,
542	kf15=\E[>1;2R,
543	kf16=\E[>1;2S,
544	kf17=\E[>15;2~,
545	kf18=\E[>17;2~,
546	kf19=\E[>18;2~,
547	kf2=\EOQ,
548	kf20=\E[>19;2~,
549	kf21=\E[>20;2~,
550	kf22=\E[>21;2~,
551	kf23=\E[>23;2~,
552	kf24=\E[>24;2~,
553	kf25=\E[>1;5P,
554	kf26=\E[>1;5Q,
555	kf27=\E[>1;5R,
556	kf28=\E[>1;5S,
557	kf29=\E[>15;5~,
558	kf3=\EOR,
559	kf30=\E[>17;5~,
560	kf31=\E[>18;5~,
561	kf32=\E[>19;5~,
562	kf33=\E[>20;5~,
563	kf34=\E[>21;5~,
564	kf35=\E[>23;5~,
565	kf36=\E[>24;5~,
566	kf37=\E[>1;6P,
567	kf38=\E[>1;6Q,
568	kf39=\E[>1;6R,
569	kf4=\EOS,
570	kf40=\E[>1;6S,
571	kf41=\E[>15;6~,
572	kf42=\E[>17;6~,
573	kf43=\E[>18;6~,
574	kf44=\E[>19;6~,
575	kf45=\E[>20;6~,
576	kf46=\E[>21;6~,
577	kf47=\E[>23;6~,
578	kf48=\E[>24;6~,
579	kf49=\E[>1;3P,
580	kf5=\E[15~,
581	kf50=\E[>1;3Q,
582	kf51=\E[>1;3R,
583	kf52=\E[>1;3S,
584	kf53=\E[>15;3~,
585	kf54=\E[>17;3~,
586	kf55=\E[>18;3~,
587	kf56=\E[>19;3~,
588	kf57=\E[>20;3~,
589	kf58=\E[>21;3~,
590	kf59=\E[>23;3~,
591	kf6=\E[17~,
592	kf60=\E[>24;3~,
593	kf61=\E[>1;4P,
594	kf62=\E[>1;4Q,
595	kf63=\E[>1;4R,
596	kf7=\E[18~,
597	kf8=\E[19~,
598	kf9=\E[20~,
599#
600# The "PC-style" modifier scheme was introduced in xterm patch #94 (1999/3/27)
601# and revised in patch #167 (2002/8/24).
602#
603# The original assignments from patch #94 for cursor-keys had some technical
604# issues:
605#
606#	A parameter for a function-key to represent a modifier is just more
607#	bits.  But for a cursor-key it may change the behavior of the
608#	application.  For instance, emacs decodes the first parameter of a
609#	cursor-key as a repeat count.
610#
611#	A parameterized string should (really) not begin with SS3 (\EO).
612#	Rather, CSI (\E[) should be used.
613#
614# For these reasons, the original assignments were deprecated.  For
615# compatibility reasons, they are still available as a setting of xterm's
616# modifyCursorKeys resource.  These fragments list the modified cursor-keys
617# that might apply to xterm+pcfkeys with different values of that resource.
618xterm+pcc3|fragment with modifyCursorKeys:3,
619	kLFT=\E[>1;2D,
620	kRIT=\E[>1;2C,
621	kind=\E[>1;2B,
622	kri=\E[>1;2A,
623	kDN=\E[>1;2B,
624	kDN3=\E[>1;3B,
625	kDN4=\E[>1;4B,
626	kDN5=\E[>1;5B,
627	kDN6=\E[>1;6B,
628	kDN7=\E[>1;7B,
629	kLFT3=\E[>1;3D,
630	kLFT4=\E[>1;4D,
631	kLFT5=\E[>1;5D,
632	kLFT6=\E[>1;6D,
633	kLFT7=\E[>1;7D,
634	kRIT3=\E[>1;3C,
635	kRIT4=\E[>1;4C,
636	kRIT5=\E[>1;5C,
637	kRIT6=\E[>1;6C,
638	kRIT7=\E[>1;7C,
639	kUP=\E[>1;2A,
640	kUP3=\E[>1;3A,
641	kUP4=\E[>1;4A,
642	kUP5=\E[>1;5A,
643	kUP6=\E[>1;6A,
644	kUP7=\E[>1;7A,
645
646xterm+pcc2|fragment with modifyCursorKeys:2,
647	kLFT=\E[1;2D,
648	kRIT=\E[1;2C,
649	kind=\E[1;2B,
650	kri=\E[1;2A,
651	kDN=\E[1;2B,
652	kDN3=\E[1;3B,
653	kDN4=\E[1;4B,
654	kDN5=\E[1;5B,
655	kDN6=\E[1;6B,
656	kDN7=\E[1;7B,
657	kLFT3=\E[1;3D,
658	kLFT4=\E[1;4D,
659	kLFT5=\E[1;5D,
660	kLFT6=\E[1;6D,
661	kLFT7=\E[1;7D,
662	kRIT3=\E[1;3C,
663	kRIT4=\E[1;4C,
664	kRIT5=\E[1;5C,
665	kRIT6=\E[1;6C,
666	kRIT7=\E[1;7C,
667	kUP=\E[1;2A,
668	kUP3=\E[1;3A,
669	kUP4=\E[1;4A,
670	kUP5=\E[1;5A,
671	kUP6=\E[1;6A,
672	kUP7=\E[1;7A,
673
674xterm+pcc1|fragment with modifyCursorKeys:1,
675	kLFT=\E[2D,
676	kRIT=\E[2C,
677	kind=\E[2B,
678	kri=\E[2A,
679	kDN=\E[2B,
680	kDN3=\E[3B,
681	kDN4=\E[4B,
682	kDN5=\E[5B,
683	kDN6=\E[6B,
684	kDN7=\E[7B,
685	kLFT3=\E[3D,
686	kLFT4=\E[4D,
687	kLFT5=\E[5D,
688	kLFT6=\E[6D,
689	kLFT7=\E[7D,
690	kRIT3=\E[3C,
691	kRIT4=\E[4C,
692	kRIT5=\E[5C,
693	kRIT6=\E[6C,
694	kRIT7=\E[7C,
695	kUP=\E[2A,
696	kUP3=\E[3A,
697	kUP4=\E[4A,
698	kUP5=\E[5A,
699	kUP6=\E[6A,
700	kUP7=\E[7A,
701
702xterm+pcc0|fragment with modifyCursorKeys:0,
703	kLFT=\EO2D,
704	kRIT=\EO2C,
705	kind=\EO2B,
706	kri=\EO2A,
707	kDN=\EO2B,
708	kDN3=\EO3B,
709	kDN4=\EO4B,
710	kDN5=\EO5B,
711	kDN6=\EO6B,
712	kDN7=\EO7B,
713	kLFT3=\EO3D,
714	kLFT4=\EO4D,
715	kLFT5=\EO5D,
716	kLFT6=\EO6D,
717	kLFT7=\EO7D,
718	kRIT3=\EO3C,
719	kRIT4=\EO4C,
720	kRIT5=\EO5C,
721	kRIT6=\EO6C,
722	kRIT7=\EO7C,
723	kUP=\EO2A,
724	kUP3=\EO3A,
725	kUP4=\EO4A,
726	kUP5=\EO5A,
727	kUP6=\EO6A,
728	kUP7=\EO7A,
729
730# The home/end keys on the editing keypad are also treated as cursor keys.
731xterm+pce3|fragment with modifyCursorKeys:3,
732	kDC=\E[>3;2~,
733	kEND=\E[>1;2F,
734	kHOM=\E[>1;2H,
735	kIC=\E[>2;2~,
736	kNXT=\E[>6;2~,
737	kPRV=\E[>5;2~,
738	kDC3=\E[>3;3~,
739	kDC4=\E[>3;4~,
740	kDC5=\E[>3;5~,
741	kDC6=\E[>3;6~,
742	kDC7=\E[>3;7~,
743	kEND3=\E[>1;3F,
744	kEND4=\E[>1;4F,
745	kEND5=\E[>1;5F,
746	kEND6=\E[>1;6F,
747	kEND7=\E[>1;7F,
748	kHOM3=\E[>1;3H,
749	kHOM4=\E[>1;4H,
750	kHOM5=\E[>1;5H,
751	kHOM6=\E[>1;6H,
752	kHOM7=\E[>1;7H,
753	kIC3=\E[>2;3~,
754	kIC4=\E[>2;4~,
755	kIC5=\E[>2;5~,
756	kIC6=\E[>2;6~,
757	kIC7=\E[>2;7~,
758	kNXT3=\E[>6;3~,
759	kNXT4=\E[>6;4~,
760	kNXT5=\E[>6;5~,
761	kNXT6=\E[>6;6~,
762	kNXT7=\E[>6;7~,
763	kPRV3=\E[>5;3~,
764	kPRV4=\E[>5;4~,
765	kPRV5=\E[>5;5~,
766	kPRV6=\E[>5;6~,
767	kPRV7=\E[>5;7~,
768	use=xterm+pce0,
769
770xterm+pce2|fragment with modifyCursorKeys:2,
771	kDC=\E[3;2~,
772	kEND=\E[1;2F,
773	kHOM=\E[1;2H,
774	kIC=\E[2;2~,
775	kNXT=\E[6;2~,
776	kPRV=\E[5;2~,
777	kDC3=\E[3;3~,
778	kDC4=\E[3;4~,
779	kDC5=\E[3;5~,
780	kDC6=\E[3;6~,
781	kDC7=\E[3;7~,
782	kEND3=\E[1;3F,
783	kEND4=\E[1;4F,
784	kEND5=\E[1;5F,
785	kEND6=\E[1;6F,
786	kEND7=\E[1;7F,
787	kHOM3=\E[1;3H,
788	kHOM4=\E[1;4H,
789	kHOM5=\E[1;5H,
790	kHOM6=\E[1;6H,
791	kHOM7=\E[1;7H,
792	kIC3=\E[2;3~,
793	kIC4=\E[2;4~,
794	kIC5=\E[2;5~,
795	kIC6=\E[2;6~,
796	kIC7=\E[2;7~,
797	kNXT3=\E[6;3~,
798	kNXT4=\E[6;4~,
799	kNXT5=\E[6;5~,
800	kNXT6=\E[6;6~,
801	kNXT7=\E[6;7~,
802	kPRV3=\E[5;3~,
803	kPRV4=\E[5;4~,
804	kPRV5=\E[5;5~,
805	kPRV6=\E[5;6~,
806	kPRV7=\E[5;7~,
807	use=xterm+pce0,
808
809xterm+pce1|fragment with modifyCursorKeys:1,
810	kDC=\E[3;2~,
811	kEND=\E[2F,
812	kHOM=\E[2H,
813	kIC=\E[2;2~,
814	kNXT=\E[6;2~,
815	kPRV=\E[5;2~,
816	kDC3=\E[3;3~,
817	kDC4=\E[3;4~,
818	kDC5=\E[3;5~,
819	kDC6=\E[3;6~,
820	kDC7=\E[3;7~,
821	kEND3=\E[3F,
822	kEND4=\E[4F,
823	kEND5=\E[5F,
824	kEND6=\E[6F,
825	kEND7=\E[7F,
826	kHOM3=\E[3H,
827	kHOM4=\E[4H,
828	kHOM5=\E[5H,
829	kHOM6=\E[6H,
830	kHOM7=\E[7H,
831	kIC3=\E[2;3~,
832	kIC4=\E[2;4~,
833	kIC5=\E[2;5~,
834	kIC6=\E[2;6~,
835	kIC7=\E[2;7~,
836	kNXT3=\E[6;3~,
837	kNXT4=\E[6;4~,
838	kNXT5=\E[6;5~,
839	kNXT6=\E[6;6~,
840	kNXT7=\E[6;7~,
841	kPRV3=\E[5;3~,
842	kPRV4=\E[5;4~,
843	kPRV5=\E[5;5~,
844	kPRV6=\E[5;6~,
845	kPRV7=\E[5;7~,
846	use=xterm+pce0,
847
848xterm+pce0|fragment with modifyCursorKeys:0,
849	kDC=\E[3;2~,
850	kEND=\EO2F,
851	kHOM=\EO2H,
852	kIC=\E[2;2~,
853	kNXT=\E[6;2~,
854	kPRV=\E[5;2~,
855	kDC3=\E[3;3~,
856	kDC4=\E[3;4~,
857	kDC5=\E[3;5~,
858	kDC6=\E[3;6~,
859	kDC7=\E[3;7~,
860	kEND3=\EO3F,
861	kEND4=\EO4F,
862	kEND5=\EO5F,
863	kEND6=\EO6F,
864	kEND7=\EO7F,
865	kHOM3=\EO3H,
866	kHOM4=\EO4H,
867	kHOM5=\EO5H,
868	kHOM6=\EO6H,
869	kHOM7=\EO7H,
870	kIC3=\E[2;3~,
871	kIC4=\E[2;4~,
872	kIC5=\E[2;5~,
873	kIC6=\E[2;6~,
874	kIC7=\E[2;7~,
875	kNXT3=\E[6;3~,
876	kNXT4=\E[6;4~,
877	kNXT5=\E[6;5~,
878	kNXT6=\E[6;6~,
879	kNXT7=\E[6;7~,
880	kPRV3=\E[5;3~,
881	kPRV4=\E[5;4~,
882	kPRV5=\E[5;5~,
883	kPRV6=\E[5;6~,
884	kPRV7=\E[5;7~,
885	use=xterm+edit,
886
887ecma+strikeout|ECMA-48 strikeout/crossed-out,
888	rmxx=\E[29m,
889	smxx=\E[9m,
890#
891# This chunk is used for building the VT220/Sun/PC keyboard variants.
892xterm-basic|modern xterm terminal emulator - common,
893	OTbs,
894	am,
895	bce,
896	km,
897	mc5i,
898	mir,
899	msgr,
900	xenl,
901	AX,
902	XT,
903	colors#8,
904	cols#80,
905	it#8,
906	lines#24,
907	pairs#64,
908	acsc=``aaffggiijjkkllmmnnooppqqr
909	     rssttuuvvwwxxyyzz{{||}}~~,
910	bel=^G,
911	blink=\E[5m,
912	bold=\E[1m,
913	cbt=\E[Z,
914	civis=\E[?25l,
915	clear=\E[H\E[2J,
916	cnorm=\E[?12l\E[?25h,
917	cr=\r,
918	csr=\E[%i%p1%d;%p2%dr,
919	cub=\E[%p1%dD,
920	cub1=^H,
921	cud=\E[%p1%dB,
922	cud1=\n,
923	cuf=\E[%p1%dC,
924	cuf1=\E[C,
925	cup=\E[%i%p1%d;%p2%dH,
926	cuu=\E[%p1%dA,
927	cuu1=\E[A,
928	cvvis=\E[?12;25h,
929	dch=\E[%p1%dP,
930	dch1=\E[P,
931	dim=\E[2m,
932	dl=\E[%p1%dM,
933	dl1=\E[M,
934	ech=\E[%p1%dX,
935	ed=\E[J,
936	el=\E[K,
937	el1=\E[1K,
938	flash=\E[?5h$<100/>\E[?5l,
939	home=\E[H,
940	hpa=\E[%i%p1%dG,
941	ht=^I,
942	hts=\EH,
943	ich=\E[%p1%d@,
944	il=\E[%p1%dL,
945	il1=\E[L,
946	ind=\n,
947	invis=\E[8m,
948	is2=\E[!p\E[?3;4l\E[4l\E>,
949	kmous=\E[M,
950	mc0=\E[i,
951	mc4=\E[4i,
952	mc5=\E[5i,
953	meml=\El,
954	memu=\Em,
955	op=\E[39;49m,
956	rc=\E8,
957	rev=\E[7m,
958	ri=\EM,
959	ritm=\E[23m,
960	rmacs=\E(B,
961	rmam=\E[?7l,
962	rmcup=\E[?1049l,
963	rmir=\E[4l,
964	rmkx=\E[?1l\E>,
965	rmm=\E[?1034l,
966	rmso=\E[27m,
967	rmul=\E[24m,
968	rs1=\Ec,
969	rs2=\E[!p\E[?3;4l\E[4l\E>,
970	sc=\E7,
971	setab=\E[4%p1%dm,
972	setaf=\E[3%p1%dm,
973	setb=\E[4
974		%?
975			%p1%{1}%=
976			%t4
977		%e
978			%p1%{3}%=
979			%t6
980		%e
981			%p1%{4}%=
982			%t1
983		%e
984			%p1%{6}%=
985			%t3
986		%e
987			%p1%d
988		%;
989		m,
990	setf=\E[3
991		%?
992			%p1%{1}%=
993			%t4
994		%e
995			%p1%{3}%=
996			%t6
997		%e
998			%p1%{4}%=
999			%t1
1000		%e
1001			%p1%{6}%=
1002			%t3
1003		%e
1004			%p1%d
1005		%;
1006		m,
1007	sgr=
1008		%?
1009			%p9
1010			%t\E(0
1011		%e
1012			\E(B
1013		%;
1014		\E[0
1015		%?
1016			%p6
1017			%t;1
1018		%;
1019		%?
1020			%p5
1021			%t;2
1022		%;
1023		%?
1024			%p2
1025			%t;4
1026		%;
1027		%?
1028			%p1%p3%|
1029			%t;7
1030		%;
1031		%?
1032			%p4
1033			%t;5
1034		%;
1035		%?
1036			%p7
1037			%t;8
1038		%;
1039		m,
1040	sgr0=\E(B\E[m,
1041	sitm=\E[3m,
1042	smacs=\E(0,
1043	smam=\E[?7h,
1044	smcup=\E[?1049h,
1045	smir=\E[4h,
1046	smkx=\E[?1h\E=,
1047	smm=\E[?1034h,
1048	smso=\E[7m,
1049	smul=\E[4m,
1050	tbc=\E[3g,
1051	u6=\E[%i%d;%dR,
1052	u7=\E[6n,
1053	u8=\E[?%[;0123456789]c,
1054	u9=\E[c,
1055	vpa=\E[%i%p1%dd,
1056	E3=\E[3J,
1057	use=xterm+kbs,
1058#
1059# The xterm-new description has all of the features, but is not completely
1060# compatible with vt220.  If you are using a Sun or PC keyboard, set the
1061# sunKeyboard resource to true:
1062#	+ maps the editing keypad
1063#	+ interprets control-function-key as a second array of keys, so a
1064#	  12-fkey keyboard can support vt220's 20-fkeys.
1065#	+ maps numeric keypad "+" to ",".
1066#	+ uses DEC-style control sequences for the application keypad.
1067#
1068# Some packagers modify xterm's resource definitions to provide extra function
1069# keys by using the shift-modifier in the translations resource.  However, that
1070# interferes with the DECUDK functionality.
1071#
1072xterm-vt220|xterm emulating vt220,
1073	ka1=\EOw,
1074	ka3=\EOy,
1075	kb2=\EOu,
1076	kc1=\EOq,
1077	kc3=\EOs,
1078	kcbt=\E[Z,
1079	kend=\E[4~,
1080	kent=\EOM,
1081	kf1=\EOP,
1082	kf10=\E[21~,
1083	kf11=\E[23~,
1084	kf12=\E[24~,
1085	kf13=\E[25~,
1086	kf14=\E[26~,
1087	kf15=\E[28~,
1088	kf16=\E[29~,
1089	kf17=\E[31~,
1090	kf18=\E[32~,
1091	kf19=\E[33~,
1092	kf2=\EOQ,
1093	kf20=\E[34~,
1094	kf3=\EOR,
1095	kf4=\EOS,
1096	kf5=\E[15~,
1097	kf6=\E[17~,
1098	kf7=\E[18~,
1099	kf8=\E[19~,
1100	kf9=\E[20~,
1101	khome=\E[1~,
1102	kich1=\E[2~,
1103	knp=\E[6~,
1104	kpp=\E[5~,
1105	ka2=\EOx,
1106	kb1=\EOt,
1107	kb3=\EOv,
1108	kc2=\EOr,
1109	use=xterm+app,
1110	use=xterm+edit,
1111	use=xterm-basic,
1112#
1113xterm-vt52|xterm emulating dec vt52,
1114	cols#80,
1115	it#8,
1116	lines#24,
1117	acsc=``aaffggjjkkllmmnnooppqqrrs
1118	     sttuuvvwwxxyyzz{{||}}~~,
1119	bel=^G,
1120	clear=\EH\EJ,
1121	cr=\r,
1122	cub1=\ED,
1123	cud1=\EB,
1124	cuf1=\EC,
1125	cup=\EY%p1%'\s'%+%c%p2%'\s'%+%c,
1126	cuu1=\EA,
1127	ed=\EJ,
1128	el=\EK,
1129	home=\EH,
1130	ht=^I,
1131	ind=\n,
1132	kcub1=\ED,
1133	kcud1=\EB,
1134	kcuf1=\EC,
1135	kcuu1=\EA,
1136	nel=\r\n,
1137	ri=\EI,
1138	rmacs=\EG,
1139	smacs=\EF,
1140	use=xterm+kbs,
1141#
1142# Sun does not number the function keys this way in their sparse termcap; their
1143# terminal descriptions ignore the keypads.  kb(7M) states that there are codes
1144# reserved for 64 function keys, 16 each in left, right, top and bottom.  Each
1145# keyboard type has a different number of function keys in different
1146# arrangements.  Using xkeycaps for reference:
1147#
1148# Type 3:  left 10, top 9, right 15
1149# ------
1150# kf1-kf9 are XK_F1-XK_F9
1151# There is no kf10 on this keyboard type.
1152# kf11-kf20 are keysyms XK_L1 through XK_L10.
1153# kf31-kf45 are keysyms XK_R1 through XK_R15.
1154#
1155# However, X's keysymdef.h is hard-coded to make
1156#	XK_L1==XK_F11 and
1157#	XK_R1==XK_F21,
1158# by someone who was unfamiliar with terminal types other than Sun's.  So
1159# xterm uses the internal X keysymbols, but the terminfo entry uses the Sun
1160# numbering scheme.
1161#
1162# Type 4:  left 11, top 12, right 15
1163# ------
1164# The left-keypad contains an unnumbered Help-key.
1165# The right-keypad also contains NumLock, Ins, Del, Enter, + and - keys which
1166# do not appear to be part of the R-sequence.
1167#
1168# Type 5:  left 9, top 12, right (more than one keypad)
1169# ------
1170# These keyboards do not use the same naming convention, look like a hybrid of
1171# the type 4 and IBM keyboards.
1172#
1173# XTerm resources:
1174# ---------------
1175# Set the modifyFunctionKeys resource to negative (-1) to make it simple to
1176# enter the higher function-key values using shift- and control-modifiers.
1177#
1178xterm-sun|xterm with sun function keys,
1179	kb2=\E[218z,
1180	kcpy=\E[197z,
1181	kcub1=\EOD,
1182	kcud1=\EOB,
1183	kcuf1=\EOC,
1184	kcuu1=\EOA,
1185	kdch1=\E[3z,
1186	kend=\E[220z,
1187	kent=\EOM,
1188	kf1=\E[224z,
1189	kf10=\E[233z,
1190	kf11=\E[192z,
1191	kf12=\E[193z,
1192	kf13=\E[194z,
1193	kf14=\E[195z,
1194	kf15=\E[196z,
1195	kf17=\E[198z,
1196	kf18=\E[199z,
1197	kf19=\E[200z,
1198	kf2=\E[225z,
1199	kf20=\E[201z,
1200	kf3=\E[226z,
1201	kf31=\E[208z,
1202	kf32=\E[209z,
1203	kf33=\E[210z,
1204	kf34=\E[211z,
1205	kf35=\E[212z,
1206	kf36=\E[213z,
1207	kf38=\E[215z,
1208	kf4=\E[227z,
1209	kf40=\E[217z,
1210	kf42=\E[219z,
1211	kf44=\E[221z,
1212	kf45=\E[222z,
1213	kf46=\E[234z,
1214	kf47=\E[235z,
1215	kf5=\E[228z,
1216	kf6=\E[229z,
1217	kf7=\E[230z,
1218	kf8=\E[231z,
1219	kf9=\E[232z,
1220	kfnd=\E[200z,
1221	khlp=\E[196z,
1222	khome=\E[214z,
1223	kich1=\E[2z,
1224	knp=\E[222z,
1225	kpp=\E[216z,
1226	kund=\E[195z,
1227	use=xterm-basic,
1228#
1229xterm-hp|xterm with hpterm function keys,
1230	kclr=\EJ,
1231	kcub1=\ED,
1232	kcud1=\EB,
1233	kcuf1=\EC,
1234	kcuu1=\EA,
1235	kdch1=\EP,
1236	kend=\EF,
1237	kf1=\Ep,
1238	kf2=\Eq,
1239	kf3=\Er,
1240	kf4=\Es,
1241	kf5=\Et,
1242	kf6=\Eu,
1243	kf7=\Ev,
1244	kf8=\Ew,
1245	khome=\Eh,
1246	kich1=\EQ,
1247	knp=\ES,
1248	kpp=\ET,
1249	use=xterm-basic,
1250#
1251# scoterm implements 48 function-keys using shift- and control-modifiers to
1252# multiple 12 function-keys.  X has a hard-coded limit of 35 function-keys,
1253# but xterm can represent larger values.
1254#
1255# XTerm resources:
1256# ---------------
1257# Set the modifyFunctionKeys resource to negative (-1) to make it simple to
1258# enter the higher function-key values using shift- and control-modifiers.
1259#
1260# Also, set ctrlFKeys resource to 12 (the default is 10) to make xterm see 48
1261# function-keys on a keyboard with 12 function-keys and 4 control/shift
1262# modifier combinations.
1263#
1264xterm-sco|xterm with SCO function keys,
1265	kbeg=\E[E,
1266	kdch1=^?,
1267	kf1=\E[M,
1268	kf10=\E[V,
1269	kf11=\E[W,
1270	kf12=\E[X,
1271	kf13=\E[Y,
1272	kf14=\E[Z,
1273	kf15=\E[a,
1274	kf16=\E[b,
1275	kf17=\E[c,
1276	kf18=\E[d,
1277	kf19=\E[e,
1278	kf2=\E[N,
1279	kf20=\E[f,
1280	kf21=\E[g,
1281	kf22=\E[h,
1282	kf23=\E[i,
1283	kf24=\E[j,
1284	kf25=\E[k,
1285	kf26=\E[l,
1286	kf27=\E[m,
1287	kf28=\E[n,
1288	kf29=\E[o,
1289	kf3=\E[O,
1290	kf30=\E[p,
1291	kf31=\E[q,
1292	kf32=\E[r,
1293	kf33=\E[s,
1294	kf34=\E[t,
1295	kf35=\E[u,
1296	kf36=\E[v,
1297	kf37=\E[w,
1298	kf38=\E[x,
1299	kf39=\E[y,
1300	kf4=\E[P,
1301	kf40=\E[z,
1302	kf41=\E[@,
1303	kf42=\E[[,
1304	kf43=\E[\\,
1305	kf44=\E[],
1306	kf45=\E[\^,
1307	kf46=\E[_,
1308	kf47=\E[`,
1309	kf48=\E[{,
1310	kf5=\E[Q,
1311	kf6=\E[R,
1312	kf7=\E[S,
1313	kf8=\E[T,
1314	kf9=\E[U,
1315	kich1=\E[L,
1316	kmous=\E[>M,
1317	knp=\E[G,
1318	kpp=\E[I,
1319	use=xterm+noapp,
1320	use=xterm-basic,
1321#
1322# Other variants (these are all very old entries, from X11R5):
1323xterm-24|xterms|vs100|xterm terminal emulator (X Window System),
1324	lines#24,
1325	use=xterm-old,
1326xterm-65|xterm with tall window 65x80 (X Window System),
1327	lines#65,
1328	use=xterm-old,
1329xterm-bold|xterm with bold instead of underline (X Window System),
1330	sgr=
1331		%?
1332			%p9
1333			%t\016
1334		%e
1335			\017
1336		%;
1337		B\E[0
1338		%?
1339			%p6
1340			%t;1
1341		%;
1342		%?
1343			%p2
1344			%t;1
1345		%;
1346		%?
1347			%p1%p3%|
1348			%t;7
1349		%;
1350		m,
1351	smso=\E[7m,
1352	smul=\E[1m,
1353	use=xterm-old,
1354xterm-boldso|xterm with bold for standout (X Window System),
1355	rmso=\E[m,
1356	smso=\E[1m,
1357	use=xterm-old,
1358xterm-mono|monochrome xterm,
1359	bce@,
1360	colors@,
1361	ncv@,
1362	pairs@,
1363	op@,
1364	setab@,
1365	setaf@,
1366	setb@,
1367	setf@,
1368	sgr@,
1369	use=xterm-old,
1370#
1371# VTxxx terminals are usually set up so that full-screen applications will use
1372# the cursor application mode strings.  This is good for full-screen
1373# applications, including legacy applications which may have hard-coded
1374# behavior, but bad for interactive shells (e.g., tcsh, bash) which use arrow
1375# keys to scroll through a history of command strings.
1376#
1377# To see the difference between normal/application modes, consider this example:
1378#	+ In normal (non-application) mode, the terminal transmits a down-arrow
1379#	  as \E[C, which happens to echo as a down-arrow.
1380#	+ In application mode the terminal transmits \EOC, which echoes as C.
1381#	  That is because the \EO is the SS3 control, which says to use the
1382#	  character from the G3 character set for the next cell.
1383#
1384# One example of hard-coded behavior would be for applications written to work
1385# with VT52 and VT100 terminals.  If the application's parser ignores 'O' and
1386# '?' characters after the escape, then the cursor and keypad strings for the
1387# two terminals are the same.  (Indeed, one of the first curses applications
1388# which I used did something like this to cover "ANSI" terminals -TD).
1389#
1390# To make this work (leaving the cursor keys in normal mode), we have to adjust
1391# the terminal initialization sequences:
1392#
1393#	smkx/rmkx set/reset the cursor and keypad application modes.  We retain
1394#		the latter (otherwise many applications fail).
1395#
1396#	smcup/rmcup set/restore cursor-addressing mode for full-screen
1397#		applications.  For xterm, this normally means the alternate
1398#		screen, which is not compatible with interactive shells.  Some
1399#		programs are "smart" and disable these.
1400#
1401xterm-noapp|xterm with cursor keys in normal mode,
1402	rmcup@,
1403	rmkx=\E>,
1404	smcup@,
1405	smkx=\E=,
1406	use=xterm+noapp,
1407	use=xterm,
1408
1409xterm+noapp|fragment with cursor keys in normal mode,
1410	kcub1=\E[D,
1411	kcud1=\E[B,
1412	kcuf1=\E[C,
1413	kcuu1=\E[A,
1414	use=xterm+noapp+pc,
1415
1416xterm+app|fragment with cursor keys in application mode,
1417	kcub1=\EOD,
1418	kcud1=\EOB,
1419	kcuf1=\EOC,
1420	kcuu1=\EOA,
1421	use=xterm+app+pc,
1422
1423xterm+noapp+pc|fragment for noapp pc-style home/end,
1424	kend=\E[F,
1425	khome=\E[H,
1426
1427xterm+app+pc|fragment for app pc-style home/end,
1428	kend=\EOF,
1429	khome=\EOH,
1430
1431xterm+edit|fragment for 6-key editing-keypad,
1432	kdch1=\E[3~,
1433	kich1=\E[2~,
1434	knp=\E[6~,
1435	kpp=\E[5~,
1436	use=xterm+pc+edit,
1437
1438xterm+decedit|fragment for vt220 6-key editing-keypad,
1439	kdch1=\E[3~,
1440	kich1=\E[2~,
1441	knp=\E[6~,
1442	kpp=\E[5~,
1443	use=xterm+vt+edit,
1444
1445xterm+pc+edit|fragment for pc-style editing keypad,
1446	kend=\E[4~,
1447	khome=\E[1~,
1448
1449xterm+vt+edit|fragment for vt220-style editing keypad,
1450	kfnd=\E[1~,
1451	kslt=\E[4~,
1452
1453#
1454# This should work for the commonly used "color xterm" variations (XFree86
1455# xterm, color_xterm, nxterm, rxvt).  Note that it does not set 'bce', so for
1456# XFree86 and and rxvt, some applications that use colors will be less
1457# efficient, and in a few special cases (with "smart" optimization) the wrong
1458# color will be painted in spots.
1459xterm-color|generic "ANSI" color xterm (X Window System),
1460	colors#8,
1461	ncv@,
1462	pairs#64,
1463	op=\E[m,
1464	setab=\E[4%p1%dm,
1465	setaf=\E[3%p1%dm,
1466	use=xterm-r6,
1467#
1468# vi may work better with this entry, because vi
1469# doesn't use insert mode much
1470xterm-ic|xterm-vi|xterm with insert character instead of insert mode,
1471	mir@,
1472	ich=\E[%p1%d@,
1473	ich1=\E[@,
1474	rmir@,
1475	smir@,
1476	use=xterm,
1477#
1478# This is used only for testing (it's not relevant to DEC VTxxx terminals, but
1479# to ncurses).
1480xterm-xmc|xterm with magic-cookie glitch,
1481	xmc#1,
1482	use=xterm-new,
1483#
1484# This one also is primarily for testing ncurses; while the ISO 6429 defines
1485# the REP control, none of the DEC VTxxx terminals (VT52 through VT420) support
1486# it.
1487xterm-rep|xterm with repeat-character control,
1488	rep=%p1%c\E[%p2%{1}%-%db,
1489	use=xterm-new,
1490#
1491# This is mainly for testing xterm; the real VT220 will not let you switch
1492# character sets without first altering the keyboard language in the setup
1493# screen.  Some emulators allow this anyway.  (Note that these strings are
1494# normally used only for printers).  The parameter to csnm and scs is the same
1495# in both cases:  the keyboard language parameter returned by CSI ? 2 6 n.
1496xterm-nrc|xterm with VT220 national replacement character sets,
1497	csnm=
1498		%?
1499			%p1%{1}%=
1500			%tNorth\sAmerican
1501		%e
1502			%p1%{2}%=
1503			%tBritish
1504		%e
1505			%p1%{3}%=
1506			%tFlemish
1507		%e
1508			%p1%{4}%=
1509			%tFrench\sCanadian
1510		%e
1511			%p1%{5}%=
1512			%tDanish
1513		%e
1514			%p1%{6}%=
1515			%tFinnish
1516		%e
1517			%p1%{7}%=
1518			%tGerman
1519		%e
1520			%p1%{8}%=
1521			%tDutch
1522		%e
1523			%p1%{9}%=
1524			%tItalian
1525		%e
1526			%p1%{10}%=
1527			%tSwiss\s(French)
1528		%e
1529			%p1%{11}%=
1530			%tSwiss\s(German)
1531		%e
1532			%p1%{12}%=
1533			%tSwedish
1534		%e
1535			%p1%{13}%=
1536			%tNorwegian
1537		%e
1538			%p1%{14}%=
1539			%tFrench/Belgian
1540		%e
1541			%p1%{15}%=
1542			%tSpanish
1543		%;,
1544	scs=
1545		%?
1546			%p1%{1}%=
1547			%t\E(B
1548		%e
1549			%p1%{2}%=
1550			%t\E(A
1551		%e
1552			%p1%{3}%=
1553			%t\E(R
1554		%e
1555			%p1%{4}%=
1556			%t\E(9
1557		%e
1558			%p1%{5}%=
1559			%t\E(E
1560		%e
1561			%p1%{6}%=
1562			%t\E(5
1563		%e
1564			%p1%{7}%=
1565			%t\E(K
1566		%e
1567			%p1%{8}%=
1568			%t\E(4
1569		%e
1570			%p1%{9}%=
1571			%t\E(Y
1572		%e
1573			%p1%{10}%=
1574			%t\E(=
1575		%e
1576			%p1%{11}%=
1577			%t\E(=
1578		%e
1579			%p1%{12}%=
1580			%t\E(7
1581		%e
1582			%p1%{13}%=
1583			%t\E(E
1584		%e
1585			%p1%{14}%=
1586			%t\E(R
1587		%e
1588			%p1%{15}%=
1589			%t\E(Z
1590		%;,
1591	use=xterm-new,
1592#
1593# Foreground 0-15 maps (with toggles) into 30-37 & 90-97
1594# Background 0-15 maps (with toggles) into 40-47 & 100-107
1595#
1596# Originally I suppressed setaf/setab, since ANSI specifies only 8 colors, but
1597# Stephen Marley persuaded me to allow the "ANSI" color controls to extend to
1598# 16 colors.  (Note that ncurses 4.2 uses setf/setb from this description;
1599# however 5.0 selects either according to their availability).  - T.Dickey
1600#
1601# SVr4 curses does not use more than 8 colors anyway, so using 16 colors is
1602# either for terminfo-level applications or via ncurses.
1603xterm-16color|xterm with 16 colors,
1604	colors#16,
1605	pairs#0x100,
1606	setab=\E[
1607		%?
1608			%p1%{8}%<
1609			%t%p1%{40}%+
1610		%e
1611			%p1%{92}%+
1612		%;
1613		%dm,
1614	setaf=\E[
1615		%?
1616			%p1%{8}%<
1617			%t%p1%{30}%+
1618		%e
1619			%p1%{82}%+
1620		%;
1621		%dm,
1622	setb=
1623		%p1%{8}%/%{6}%*%{4}%+\E[%d%p1%{8}%m%Pa
1624		%?%ga%{1}%=
1625			%t4
1626		%e%ga%{3}%=
1627			%t6
1628		%e%ga%{4}%=
1629			%t1
1630		%e%ga%{6}%=
1631			%t3
1632		%e%ga%d
1633		%;
1634		m,
1635	setf=
1636		%p1%{8}%/%{6}%*%{3}%+\E[%d%p1%{8}%m%Pa
1637		%?%ga%{1}%=
1638			%t4
1639		%e%ga%{3}%=
1640			%t6
1641		%e%ga%{4}%=
1642			%t1
1643		%e%ga%{6}%=
1644			%t3
1645		%e%ga%d
1646		%;
1647		m,
1648	use=xterm+256color,
1649	use=xterm-new,
1650#
1651# This uses RGB values 0..1000
1652#
1653# 256 colors should give 65536 pairs, but terminfo stores numbers in a signed
1654# short.  Most people will not notice problems with only 32767 pairs.
1655xterm+256color|xterm 256-color feature,
1656	ccc,
1657	colors#0x100,
1658	pairs#0x7fff,
1659	initc=\E]4;
1660		%p1%d;rgb\:%p2%{255}%*%{1000}%/%2.2X/%p3%{255}%*%{1000}%/%2.2X/%p4%{255}%*%{1000}%/%2.2X\E\\,
1661	oc=\E]104\007,
1662	rs1=\Ec\E]104\007,
1663	setab=\E[
1664		%?
1665			%p1%{8}%<
1666			%t4%p1%d
1667		%e
1668			%p1%{16}%<
1669			%t10%p1%{8}%-%d
1670		%e48;5;
1671			%p1%d
1672		%;
1673		m,
1674	setaf=\E[
1675		%?
1676			%p1%{8}%<
1677			%t3%p1%d
1678		%e
1679			%p1%{16}%<
1680			%t9%p1%{8}%-%d
1681		%e38;5;
1682			%p1%d
1683		%;
1684		m,
1685	setb@,
1686	setf@,
1687xterm-256color|xterm with 256 colors,
1688	use=xterm+256color,
1689	use=xterm-new,
1690xterm-88color|xterm with 88 colors,
1691	colors#88,
1692	pairs#7744,
1693	use=xterm-256color,
1694#
1695# This is an 8-bit version of xterm, which emulates DEC vt220 with ANSI color.
1696# To use it, your decTerminalID resource must be set to 200 or above, and the
1697# sunKeyboard resource set to true.
1698#
1699#	HTS	\E H	\210
1700#	RI	\E M	\215
1701#	SS3	\E O	\217
1702#	CSI	\E [	\233
1703#
1704xterm-8bit|xterm terminal emulator with 8-bit controls (X Window System),
1705	OTbs,
1706	am,
1707	bce,
1708	km,
1709	mc5i,
1710	mir,
1711	msgr,
1712	npc,
1713	xenl,
1714	AX,
1715	colors#8,
1716	cols#80,
1717	it#8,
1718	lines#24,
1719	pairs#64,
1720	acsc=``aaffggiijjkkllmmnnooppqqr
1721	     rssttuuvvwwxxyyzz{{||}}~~,
1722	bel=^G,
1723	blink=\2335m,
1724	bold=\2331m,
1725	cbt=\233Z,
1726	civis=\233?25l,
1727	clear=\233H\2332J,
1728	cnorm=\233?25l\233?25h,
1729	cr=\r,
1730	csr=\233%i%p1%d;%p2%dr,
1731	cub=\233%p1%dD,
1732	cub1=^H,
1733	cud=\233%p1%dB,
1734	cud1=\n,
1735	cuf=\233%p1%dC,
1736	cuf1=\233C,
1737	cup=\233%i%p1%d;%p2%dH,
1738	cuu=\233%p1%dA,
1739	cuu1=\233A,
1740	cvvis=\233?12;25h,
1741	dch=\233%p1%dP,
1742	dch1=\233P,
1743	dl=\233%p1%dM,
1744	dl1=\233M,
1745	ech=\233%p1%dX,
1746	ed=\233J,
1747	el=\233K,
1748	el1=\2331K,
1749	flash=\233?5h$<100/>\233?5l,
1750	home=\233H,
1751	hpa=\233%i%p1%dG,
1752	ht=^I,
1753	hts=\210,
1754	ich=\233%p1%d@,
1755	il=\233%p1%dL,
1756	il1=\233L,
1757	ind=\n,
1758	invis=\2338m,
1759	is2=\E[62"p\E\sG\233m\233?7h\E>
1760	    \E7\233?1;3;4;6l\2334l\233r
1761	    \E8,
1762	ka1=\217w,
1763	ka3=\217u,
1764	kb2=\217y,
1765	kbeg=\217E,
1766	kc1=\217q,
1767	kc3=\217s,
1768	kcbt=\233Z,
1769	kcub1=\217D,
1770	kcud1=\217B,
1771	kcuf1=\217C,
1772	kcuu1=\217A,
1773	kdch1=\2333~,
1774	kend=\2334~,
1775	kent=\217M,
1776	kf1=\23311~,
1777	kf10=\23321~,
1778	kf11=\23323~,
1779	kf12=\23324~,
1780	kf13=\23325~,
1781	kf14=\23326~,
1782	kf15=\23328~,
1783	kf16=\23329~,
1784	kf17=\23331~,
1785	kf18=\23332~,
1786	kf19=\23333~,
1787	kf2=\23312~,
1788	kf20=\23334~,
1789	kf3=\23313~,
1790	kf4=\23314~,
1791	kf5=\23315~,
1792	kf6=\23317~,
1793	kf7=\23318~,
1794	kf8=\23319~,
1795	kf9=\23320~,
1796	khome=\2331~,
1797	kich1=\2332~,
1798	kmous=\233M,
1799	knp=\2336~,
1800	kpp=\2335~,
1801	mc0=\233i,
1802	mc4=\2334i,
1803	mc5=\2335i,
1804	meml=\El,
1805	memu=\Em,
1806	op=\23339;49m,
1807	rc=\E8,
1808	rev=\2337m,
1809	ri=\215,
1810	rmacs=\E(B,
1811	rmam=\233?7l,
1812	rmcup=\233?1049l,
1813	rmir=\2334l,
1814	rmkx=\233?1l\E>,
1815	rmso=\23327m,
1816	rmul=\23324m,
1817	rs1=\Ec,
1818	rs2=\E[62"p\E\sG\233m\233?7h\E>
1819	    \E7\233?1;3;4;6l\2334l\233r
1820	    \E8,
1821	sc=\E7,
1822	setab=\2334%p1%dm,
1823	setaf=\2333%p1%dm,
1824	setb=\2334
1825		%?
1826			%p1%{1}%=
1827			%t4
1828		%e
1829			%p1%{3}%=
1830			%t6
1831		%e
1832			%p1%{4}%=
1833			%t1
1834		%e
1835			%p1%{6}%=
1836			%t3
1837		%e
1838			%p1%d
1839		%;
1840		m,
1841	setf=\2333
1842		%?
1843			%p1%{1}%=
1844			%t4
1845		%e
1846			%p1%{3}%=
1847			%t6
1848		%e
1849			%p1%{4}%=
1850			%t1
1851		%e
1852			%p1%{6}%=
1853			%t3
1854		%e
1855			%p1%d
1856		%;
1857		m,
1858	sgr=\2330
1859		%?
1860			%p6
1861			%t;1
1862		%;
1863		%?
1864			%p2
1865			%t;4
1866		%;
1867		%?
1868			%p1%p3%|
1869			%t;7
1870		%;
1871		%?
1872			%p4
1873			%t;5
1874		%;
1875		%?
1876			%p7
1877			%t;8
1878		%;
1879		m
1880		%?
1881			%p9
1882			%t\E(0
1883		%e
1884			\E(B
1885		%;,
1886	sgr0=\2330m\E(B,
1887	smacs=\E(0,
1888	smam=\233?7h,
1889	smcup=\233?1049h,
1890	smir=\2334h,
1891	smkx=\233?1h\E=,
1892	smso=\2337m,
1893	smul=\2334m,
1894	tbc=\2333g,
1895	u6=\233[%i%d;%dR,
1896	u7=\E[6n,
1897	u8=\233[?%[;0123456789]c,
1898	u9=\E[c,
1899	vpa=\233%i%p1%dd,
1900	use=xterm+kbs,
1901#
1902xterm-xf86-v44|xterm terminal emulator (XFree86 4.4 Window System),
1903	OTbs,
1904	am,
1905	bce,
1906	km,
1907	mc5i,
1908	mir,
1909	msgr,
1910	npc,
1911	xenl,
1912	AX,
1913	XT,
1914	colors#8,
1915	cols#80,
1916	it#8,
1917	lines#24,
1918	pairs#64,
1919	acsc=``aaffggiijjkkllmmnnooppqqr
1920	     rssttuuvvwwxxyyzz{{||}}~~,
1921	bel=^G,
1922	blink=\E[5m,
1923	bold=\E[1m,
1924	cbt=\E[Z,
1925	civis=\E[?25l,
1926	clear=\E[H\E[2J,
1927	cnorm=\E[?12l\E[?25h,
1928	cr=\r,
1929	csr=\E[%i%p1%d;%p2%dr,
1930	cub=\E[%p1%dD,
1931	cub1=^H,
1932	cud=\E[%p1%dB,
1933	cud1=\n,
1934	cuf=\E[%p1%dC,
1935	cuf1=\E[C,
1936	cup=\E[%i%p1%d;%p2%dH,
1937	cuu=\E[%p1%dA,
1938	cuu1=\E[A,
1939	cvvis=\E[?12;25h,
1940	dch=\E[%p1%dP,
1941	dch1=\E[P,
1942	dl=\E[%p1%dM,
1943	dl1=\E[M,
1944	ech=\E[%p1%dX,
1945	ed=\E[J,
1946	el=\E[K,
1947	el1=\E[1K,
1948	enacs=\E(B\E)0,
1949	flash=\E[?5h$<100/>\E[?5l,
1950	home=\E[H,
1951	hpa=\E[%i%p1%dG,
1952	ht=^I,
1953	hts=\EH,
1954	ich=\E[%p1%d@,
1955	il=\E[%p1%dL,
1956	il1=\E[L,
1957	ind=\n,
1958	indn=\E[%p1%dS,
1959	invis=\E[8m,
1960	is2=\E[!p\E[?3;4l\E[4l\E>,
1961	kDC=\E[3;2~,
1962	kEND=\E[1;2F,
1963	kHOM=\E[1;2H,
1964	kIC=\E[2;2~,
1965	kLFT=\E[1;2D,
1966	kNXT=\E[6;2~,
1967	kPRV=\E[5;2~,
1968	kRIT=\E[1;2C,
1969	kb2=\EOE,
1970	kcbt=\E[Z,
1971	kcub1=\EOD,
1972	kcud1=\EOB,
1973	kcuf1=\EOC,
1974	kcuu1=\EOA,
1975	kdch1=\E[3~,
1976	kend=\EOF,
1977	kent=\EOM,
1978	kf1=\EOP,
1979	kf10=\E[21~,
1980	kf11=\E[23~,
1981	kf12=\E[24~,
1982	kf13=\EO2P,
1983	kf14=\EO2Q,
1984	kf15=\EO2R,
1985	kf16=\EO2S,
1986	kf17=\E[15;2~,
1987	kf18=\E[17;2~,
1988	kf19=\E[18;2~,
1989	kf2=\EOQ,
1990	kf20=\E[19;2~,
1991	kf21=\E[20;2~,
1992	kf22=\E[21;2~,
1993	kf23=\E[23;2~,
1994	kf24=\E[24;2~,
1995	kf25=\EO5P,
1996	kf26=\EO5Q,
1997	kf27=\EO5R,
1998	kf28=\EO5S,
1999	kf29=\E[15;5~,
2000	kf3=\EOR,
2001	kf30=\E[17;5~,
2002	kf31=\E[18;5~,
2003	kf32=\E[19;5~,
2004	kf33=\E[20;5~,
2005	kf34=\E[21;5~,
2006	kf35=\E[23;5~,
2007	kf36=\E[24;5~,
2008	kf37=\EO6P,
2009	kf38=\EO6Q,
2010	kf39=\EO6R,
2011	kf4=\EOS,
2012	kf40=\EO6S,
2013	kf41=\E[15;6~,
2014	kf42=\E[17;6~,
2015	kf43=\E[18;6~,
2016	kf44=\E[19;6~,
2017	kf45=\E[20;6~,
2018	kf46=\E[21;6~,
2019	kf47=\E[23;6~,
2020	kf48=\E[24;6~,
2021	kf5=\E[15~,
2022	kf6=\E[17~,
2023	kf7=\E[18~,
2024	kf8=\E[19~,
2025	kf9=\E[20~,
2026	khome=\EOH,
2027	kich1=\E[2~,
2028	kmous=\E[M,
2029	knp=\E[6~,
2030	kpp=\E[5~,
2031	mc0=\E[i,
2032	mc4=\E[4i,
2033	mc5=\E[5i,
2034	meml=\El,
2035	memu=\Em,
2036	op=\E[39;49m,
2037	rc=\E8,
2038	rev=\E[7m,
2039	ri=\EM,
2040	rin=\E[%p1%dT,
2041	rmacs=^O,
2042	rmam=\E[?7l,
2043	rmcup=\E[?1049l,
2044	rmir=\E[4l,
2045	rmkx=\E[?1l\E>,
2046	rmso=\E[27m,
2047	rmul=\E[24m,
2048	rs1=\Ec,
2049	rs2=\E[!p\E[?3;4l\E[4l\E>,
2050	sc=\E7,
2051	setab=\E[4%p1%dm,
2052	setaf=\E[3%p1%dm,
2053	setb=\E[4
2054		%?
2055			%p1%{1}%=
2056			%t4
2057		%e
2058			%p1%{3}%=
2059			%t6
2060		%e
2061			%p1%{4}%=
2062			%t1
2063		%e
2064			%p1%{6}%=
2065			%t3
2066		%e
2067			%p1%d
2068		%;
2069		m,
2070	setf=\E[3
2071		%?
2072			%p1%{1}%=
2073			%t4
2074		%e
2075			%p1%{3}%=
2076			%t6
2077		%e
2078			%p1%{4}%=
2079			%t1
2080		%e
2081			%p1%{6}%=
2082			%t3
2083		%e
2084			%p1%d
2085		%;
2086		m,
2087	sgr=\E[0
2088		%?
2089			%p6
2090			%t;1
2091		%;
2092		%?
2093			%p2
2094			%t;4
2095		%;
2096		%?
2097			%p1%p3%|
2098			%t;7
2099		%;
2100		%?
2101			%p4
2102			%t;5
2103		%;
2104		%?
2105			%p7
2106			%t;8
2107		%;
2108		m
2109		%?
2110			%p9
2111			%t\016
2112		%e
2113			\017
2114		%;,
2115	sgr0=\E[m\017,
2116	smacs=^N,
2117	smam=\E[?7h,
2118	smcup=\E[?1049h,
2119	smir=\E[4h,
2120	smkx=\E[?1h\E=,
2121	smso=\E[7m,
2122	smul=\E[4m,
2123	tbc=\E[3g,
2124	u6=\E[%i%d;%dR,
2125	u7=\E[6n,
2126	u8=\E[?1;2c,
2127	u9=\E[c,
2128	vpa=\E[%i%p1%dd,
2129	ka2=\EOx,
2130	kb1=\EOt,
2131	kb3=\EOv,
2132	kc2=\EOr,
2133	use=xterm+kbs,
2134xterm-xfree86|xterm terminal emulator (XFree86 4.4 Window System),
2135	use=xterm-xf86-v44,
2136#
2137# Compatible with the R6 xterm, with the following changes:
2138#	+ added acsc (perhaps some versions of tic assume the standard vt100
2139#	  alternate character set)
2140#	+ added u6, u7, u8, u9 strings for Daniel Weaver's tack program.
2141#	+ added kmous string for ncurses.
2142#	+ added khome/kend strings (which conflict with kfnd/kslt, see note).
2143xterm-r6|xterm X11R6 version,
2144	OTbs,
2145	am,
2146	km,
2147	mir,
2148	msgr,
2149	xenl,
2150	cols#80,
2151	it#8,
2152	lines#24,
2153	acsc=``aaffggiijjkkllmmnnooppqqr
2154	     rssttuuvvwwxxyyzz{{||}}~~,
2155	bel=^G,
2156	bold=\E[1m,
2157	clear=\E[H\E[2J,
2158	cr=\r,
2159	csr=\E[%i%p1%d;%p2%dr,
2160	cub=\E[%p1%dD,
2161	cub1=^H,
2162	cud=\E[%p1%dB,
2163	cud1=\n,
2164	cuf=\E[%p1%dC,
2165	cuf1=\E[C,
2166	cup=\E[%i%p1%d;%p2%dH,
2167	cuu=\E[%p1%dA,
2168	cuu1=\E[A,
2169	dch=\E[%p1%dP,
2170	dch1=\E[P,
2171	dl=\E[%p1%dM,
2172	dl1=\E[M,
2173	ed=\E[J,
2174	el=\E[K,
2175	enacs=\E)0,
2176	home=\E[H,
2177	ht=^I,
2178	hts=\EH,
2179	il=\E[%p1%dL,
2180	il1=\E[L,
2181	ind=\n,
2182	is2=\E[m\E[?7h\E[4l\E>\E7\E[r\E[
2183	    ?1;3;4;6l\E8,
2184	kcub1=\EOD,
2185	kcud1=\EOB,
2186	kcuf1=\EOC,
2187	kcuu1=\EOA,
2188	kdch1=\E[3~,
2189	kf1=\E[11~,
2190	kf10=\E[21~,
2191	kf11=\E[23~,
2192	kf12=\E[24~,
2193	kf13=\E[25~,
2194	kf14=\E[26~,
2195	kf15=\E[28~,
2196	kf16=\E[29~,
2197	kf17=\E[31~,
2198	kf18=\E[32~,
2199	kf19=\E[33~,
2200	kf2=\E[12~,
2201	kf20=\E[34~,
2202	kf3=\E[13~,
2203	kf4=\E[14~,
2204	kf5=\E[15~,
2205	kf6=\E[17~,
2206	kf7=\E[18~,
2207	kf8=\E[19~,
2208	kf9=\E[20~,
2209	kmous=\E[M,
2210	meml=\El,
2211	memu=\Em,
2212	rc=\E8,
2213	rev=\E[7m,
2214	ri=\EM,
2215	rmacs=^O,
2216	rmcup=\E[2J\E[?47l\E8,
2217	rmir=\E[4l,
2218	rmkx=\E[?1l\E>,
2219	rmso=\E[m,
2220	rmul=\E[m,
2221	rs2=\E[m\E[?7h\E[4l\E>\E7\E[r\E[
2222	    ?1;3;4;6l\E8,
2223	sc=\E7,
2224	sgr0=\E[m,
2225	smacs=^N,
2226	smcup=\E7\E[?47h,
2227	smir=\E[4h,
2228	smkx=\E[?1h\E=,
2229	smso=\E[7m,
2230	smul=\E[4m,
2231	tbc=\E[3g,
2232	u6=\E[%i%d;%dR,
2233	u7=\E[6n,
2234	u8=\E[?1;2c,
2235	u9=\E[c,
2236	use=xterm+kbs,
2237	use=xterm+decedit,
2238xterm-old|antique xterm version,
2239	use=xterm-r6,
2240#
2241# Compatible with the R5 xterm, with the following changes:
2242#	+ changed 'blink=@', to 'blink@' (the former meant that "@" would start
2243#	  a blink, the latter that it is not supported).
2244#	+ changed kf1 through kf4 to correspond with actual usage.  Though X
2245#	  supports keypad symbols for PF1 to PF4, and xterm interprets these
2246#	  correctly, the F1 to F4 codes are commonly (but incorrectly) used.
2247#	+ moved reset string from rs1 to rs2, to correlate better with termcap.
2248#	+ make khome consistent with other entries.
2249#	+ use rmul/smul, rmir/smir from termcap, but not rmcup/smcup because
2250#	  not everyone wants the alternate screen.
2251#	+ added u6, u7, u8, u9 strings for Daniel Weaver's tack program.
2252#	+ added kmous string for ncurses.
2253xterm-r5|xterm R5 version,
2254	OTbs,
2255	am,
2256	km,
2257	msgr,
2258	xenl,
2259	cols#80,
2260	it#8,
2261	lines#24,
2262	bel=^G,
2263	bold=\E[1m,
2264	clear=\E[H\E[2J,
2265	cr=\r,
2266	csr=\E[%i%p1%d;%p2%dr,
2267	cub=\E[%p1%dD,
2268	cub1=^H,
2269	cud=\E[%p1%dB,
2270	cud1=\n,
2271	cuf=\E[%p1%dC,
2272	cuf1=\E[C,
2273	cup=\E[%i%p1%d;%p2%dH,
2274	cuu=\E[%p1%dA,
2275	cuu1=\E[A,
2276	dch=\E[%p1%dP,
2277	dch1=\E[P,
2278	dl=\E[%p1%dM,
2279	dl1=\E[M,
2280	ed=\E[J,
2281	el=\E[K,
2282	home=\E[H,
2283	ht=^I,
2284	hts=\EH,
2285	ich=\E[%p1%d@,
2286	ich1=\E[@,
2287	il=\E[%p1%dL,
2288	il1=\E[L,
2289	ind=\n,
2290	kcub1=\EOD,
2291	kcud1=\EOB,
2292	kcuf1=\EOC,
2293	kcuu1=\EOA,
2294	kdch1=\E[3~,
2295	kdl1=\E[31~,
2296	kel=\E[8~,
2297	kend=\E[4~,
2298	kf0=\EOq,
2299	kf1=\E[11~,
2300	kf10=\E[21~,
2301	kf11=\E[23~,
2302	kf12=\E[24~,
2303	kf2=\E[12~,
2304	kf3=\E[13~,
2305	kf4=\E[14~,
2306	kf5=\E[15~,
2307	kf6=\E[17~,
2308	kf7=\E[18~,
2309	kf8=\E[19~,
2310	kf9=\E[20~,
2311	khome=\E[1~,
2312	kich1=\E[2~,
2313	kil1=\E[30~,
2314	kmous=\E[M,
2315	knp=\E[6~,
2316	kpp=\E[5~,
2317	rc=\E8,
2318	rev=\E[7m,
2319	ri=\EM,
2320	rmir=\E[4l,
2321	rmkx=\E[?1l\E>,
2322	rmso=\E[m,
2323	rmul=\E[m,
2324	rs2=\E>\E[?1;3;4;5;6l\E[4l\E[?7h
2325	    \E[m\E[r\E[2J\E[H,
2326	sc=\E7,
2327	sgr=\E[
2328		%?
2329			%p1
2330			%t;7
2331		%;
2332		%?
2333			%p2
2334			%t;4
2335		%;
2336		%?
2337			%p3
2338			%t;7
2339		%;
2340		%?
2341			%p4
2342			%t;5
2343		%;
2344		%?
2345			%p6
2346			%t;1
2347		%;
2348		m,
2349	sgr0=\E[m,
2350	smir=\E[4h,
2351	smkx=\E[?1h\E=,
2352	smso=\E[7m,
2353	smul=\E[4m,
2354	tbc=\E[3g,
2355	u6=\E[%i%d;%dR,
2356	u7=\E[6n,
2357	u8=\E[?1;2c,
2358	u9=\E[c,
2359	use=xterm+kbs,
2360#
2361#
2362# Customization begins here.
2363#
2364# This is the only entry which you should have to customize, since "xterm"
2365# is widely used for a variety of incompatible terminal emulations including
2366# color_xterm and rxvt.
2367xterm|X11 terminal emulator,
2368	use=xterm-new,
2369#	use=xterm-r6,
2370
2371# This fragment is for people who cannot agree on what the backspace key
2372# should send.
2373xterm+kbs|fragment for backspace key,
2374	kbs=^H,
2375#	kbs=^?,
2376