104b94745Smrg# $XTermId: terminfo,v 1.209 2024/02/11 23:35:48 tom Exp $
2d522f475Smrg#
3d522f475Smrg# Updates/notes/new entries (e.g., xterm-8bit, xterm-16color, xterm-256color)
4d522f475Smrg# - Thomas E. Dickey
5d522f475Smrg#
6d522f475Smrg#------------------------------------------------------------------------------
704b94745Smrg# Copyright 1996-2023,2024 by Thomas E. Dickey
8d522f475Smrg#
9d522f475Smrg#                         All Rights Reserved
10d522f475Smrg#
11d522f475Smrg# Permission is hereby granted, free of charge, to any person obtaining a
12d522f475Smrg# copy of this software and associated documentation files (the
13d522f475Smrg# "Software"), to deal in the Software without restriction, including
14d522f475Smrg# without limitation the rights to use, copy, modify, merge, publish,
15d522f475Smrg# distribute, sublicense, and/or sell copies of the Software, and to
16d522f475Smrg# permit persons to whom the Software is furnished to do so, subject to
17d522f475Smrg# the following conditions:
18d522f475Smrg#
19d522f475Smrg# The above copyright notice and this permission notice shall be included
20d522f475Smrg# in all copies or substantial portions of the Software.
21d522f475Smrg#
22d522f475Smrg# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
23d522f475Smrg# OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
24d522f475Smrg# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
25d522f475Smrg# IN NO EVENT SHALL THE ABOVE LISTED COPYRIGHT HOLDER(S) BE LIABLE FOR ANY
26d522f475Smrg# CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
27d522f475Smrg# TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
28d522f475Smrg# SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
29d522f475Smrg#
30d522f475Smrg# Except as contained in this notice, the name(s) of the above copyright
31d522f475Smrg# holders shall not be used in advertising or otherwise to promote the
32d522f475Smrg# sale, use or other dealings in this Software without prior written
33d522f475Smrg# authorization.
34d522f475Smrg#------------------------------------------------------------------------------
35f2e35a3aSmrg# format (ncurses 6.1): tic -I -W -1 -f -x terminfo
36f2e35a3aSmrg#------------------------------------------------------------------------------
37d522f475Smrg#
38d522f475Smrg# Special Capabilities:
39d522f475Smrg# --------------------
40d522f475Smrg# ich has a corresponding capability that inserts a single blank.  We could
41d522f475Smrg#	have used ich1=\E[@, which works with ncurses, but that is not standard
42d522f475Smrg#	behavior.  If it is set, then SVr4 vi (e.g., Solaris 2.6) emits both
43d522f475Smrg#	smir/rmir and ich1.
44d522f475Smrg# meml locks memory above the cursor; memu unlocks (ala HP terminals).  This
45d522f475Smrg#	is not recognized by some older (e.g., SVr3) tic programs, but none
46d522f475Smrg#	do more than warn about it.  Ignore the warning.
47d522f475Smrg# smcup clears memory before switching to the alternate screen.  The older
48d522f475Smrg#	(deprecated) \E[?47h did not do this, requiring applications to
49d522f475Smrg#	embed a \E[2J in the rmcup string.  However, that behavior cannot
50d522f475Smrg#	be disabled via titeInhibit, making that resource not function as
51d522f475Smrg#	intended on systems with terminfo.
52d522f475Smrg# rs2/is2 are shorter with XFree86 xterm because it supports DECSTR.  We
53d522f475Smrg#	use the shorter sequence for compatibility with the termcap, which
54d522f475Smrg#	is trimmed to keep it shorter than 1023 characters.  It (escape \E[!p)
55d522f475Smrg#	replaces these in the conventional vt100 reset-string:
56d522f475Smrg#		\E7	- save cursor (fixes origin-mode side-effect)
57d522f475Smrg#		\E[r	- reset scrolling margins
58d522f475Smrg#		\E[m	- reset SGR (including color)
59d522f475Smrg#		\E[?7h	- reset wraparound mode (DECAWM)
60d522f475Smrg#		\E[?1l	- reset application cursor keys (DECCKM)
61d522f475Smrg#		\E[?6l	- reset origin mode (DECOM)
62d522f475Smrg#		\E8	- restore cursor
63d522f475Smrg#	DECSTR is recognized by XFree86 xterm even in vt52 mode.
64d522f475Smrg#
65d522f475Smrg# Editing Keypad:
66d522f475Smrg# --------------
67d522f475Smrg# XFree86 xterm emulates vt220 if the decTerminalID resource is set to 200 or
68d522f475Smrg# higher.  Otherwise it emulates a vt100 or vt52 depending on the value of the
69d522f475Smrg# resource.  When emulating a vt220, we support the editing keypad.  Sun and PC
70d522f475Smrg# keyboards have an editing keypad which is similar to the vt220:
71d522f475Smrg#
72d522f475Smrg#	VT220 editing keypad
73d522f475Smrg#	----------------------------
74d522f475Smrg#	Find      Insert      Remove
75d522f475Smrg#	Select    Prev        Next
76d522f475Smrg#	----------------------------
77d522f475Smrg#
78d522f475Smrg#	Sun/PC editing keypad
79d522f475Smrg#	----------------------------
80d522f475Smrg#	Insert    Home        PageUp
81d522f475Smrg#	Delete    End         PageDn
82d522f475Smrg#	----------------------------
83d522f475Smrg#
84d522f475Smrg# If the sunKeyboard resource is true, we map it this way (adjusting the values
85d522f475Smrg# of Home, End and Delete):
86d522f475Smrg#	VT220		      Sun/PC
87d522f475Smrg#	----------------------------
88d522f475Smrg#	Find		      Home
89d522f475Smrg#	Select		      End
90d522f475Smrg#	Insert		      Insert
91d522f475Smrg#	Remove		      Delete
92d522f475Smrg#	Prev		      PageUp
93d522f475Smrg#	Next		      PageDn
94d522f475Smrg#	----------------------------
95d522f475Smrg#
96d522f475Smrg# Note that all of the keys on the editing keypad transmit escape sequences.  A
97d522f475Smrg# vt220 does this only when in vt220 mode; when emulating a vt100 the editing
98d522f475Smrg# keypad is inactive.
99d522f475Smrg#
100d522f475Smrg# Alternative keycodes:
101d522f475Smrg# --------------------
102d522f475Smrg# Several of the function keys have alternative names, depending on the type of
103d522f475Smrg# host which your xterm is connected to.  DEC (i.e., the VMS system) uses F15
104d522f475Smrg# as the HELP key, F16 as the DO key.  Unix applications generally do not do
105d522f475Smrg# this.  Curses applications in particular, assign a unique keycode to each
106d522f475Smrg# capability string.  These terminal descriptions do not have conflicting
107d522f475Smrg# definitions, to ensure that Unix curses applications use a consistent set of
108d522f475Smrg# keycodes.  To get a VMS-bias, make these substitutions:
109d522f475Smrg#	1. change khome to kfnd
110d522f475Smrg#	2. change kend to kslt
111d522f475Smrg# The original xterm-r6 entry does in fact have a VMS bias.
112d522f475Smrg#
113d522f475Smrg# Some legacy applications using the termcap emulation may expect kll where
114d522f475Smrg# we have specified kend.
115d522f475Smrg#
116d522f475Smrg# Function keys with modifiers (Sun/PC):
117d522f475Smrg# -------------------------------------
118d522f475Smrg#	Shift-Fx          - kf{12+x}
119d522f475Smrg#	Control-Fx        - kf{24+x}
120d522f475Smrg#	Shift-Control-Fx  - kf{36+x}
121d522f475Smrg#
122d522f475Smrg# The terminfo defines some special keys which are documented as "shifted",
123d522f475Smrg# e.g., kDC is shifted-delete-character.
124d522f475Smrg#
125d522f475Smrg# Note however, that even though the terminfo says a key might be sent, there
126d522f475Smrg# may be conflicts which prevent this.  For example, it is common to use
127d522f475Smrg# shifted pageup and pagedown for window manager functions.  The default
128d522f475Smrg# translation for xterm since X11R4 has overridden shifted Insert, Select,
129d522f475Smrg# PageUp and PageDown, which correspond to terminfo kIC, kEND, kPRV and kNXT
130d522f475Smrg# respectively.
131d522f475Smrg#
132d522f475Smrgxterm-new|modern xterm terminal emulator,
1334419d26bSmrg	use=dec+sl,
134ad37e533Smrg	use=ecma+index,
135f2e35a3aSmrg	use=xterm+keypad,
136f2e35a3aSmrg	use=vt420+lrmm,
137f2e35a3aSmrg	use=xterm+sm+1006,
138f2e35a3aSmrg	use=ansi+rep,
139913cc679Smrg	use=ecma+strikeout,
140d522f475Smrg	use=xterm+pcfkeys,
141e39b573cSmrg	use=xterm+tmux,
142ad37e533Smrg	use=xterm+nofkeys,
1435307cd1aSmrg	use=bracketed+paste,
1445307cd1aSmrg	use=report+version,
1455307cd1aSmrg	use=xterm+focus,
146f2e35a3aSmrg
147f2e35a3aSmrg# Left/right margins are supported in xterm since patch #279 (2012/05/10)
148f2e35a3aSmrgvt420+lrmm|VT420 left/right margins,
1494419d26bSmrg	mgc=\E[?69l,
1504419d26bSmrg	smglp=\E[?69h\E[%i%p1%ds,
151f2e35a3aSmrg	smglr=\E[?69h\E[%i%p1%d;%p2%ds,
152a5ae21e4Smrg	smgrp=\E[?69h\E[%i;%p1%ds,
153f2e35a3aSmrg
15404b94745Smrg# These "ansi+XXX" blocks were added in ncurses 5.0 or 5.1:
15504b94745Smrgansi+arrows|ANSI normal-mode home and cursor-keys,
15604b94745Smrg	kbs=^H,
15704b94745Smrg	kcub1=\E[D,
15804b94745Smrg	kcud1=\E[B,
15904b94745Smrg	kcuf1=\E[C,
16004b94745Smrg	kcuu1=\E[A,
16104b94745Smrg	khome=\E[H,
16204b94745Smrg
16304b94745Smrgansi+csr|ANSI scroll-region plus cursor save & restore,
16404b94745Smrg	csr=\E[%i%p1%d;%p2%dr,
16504b94745Smrg	rc=\E8,
16604b94745Smrg	sc=\E7,
16704b94745Smrg
16804b94745Smrgansi+cup|ANSI absolute cursor-addressing,
16904b94745Smrg	cup=\E[%i%p1%d;%p2%dH,
17004b94745Smrg	home=\E[H,
171f2e35a3aSmrg
172f2e35a3aSmrgansi+enq|ncurses extension for ANSI ENQ,
173f2e35a3aSmrg	u6=\E[%i%d;%dR,
174f2e35a3aSmrg	u7=\E[6n,
175f2e35a3aSmrg	u8=\E[?%[;0123456789]c,
176f2e35a3aSmrg	u9=\E[c,
177f2e35a3aSmrg
17804b94745Smrgansi+erase|ANSI clear screen/line,
17904b94745Smrg	clear=\E[H\E[J,
18004b94745Smrg	ed=\E[J,
18104b94745Smrg	el=\E[K,
18204b94745Smrg
18304b94745Smrgansi+idc1|ANSI insert/delete one character,
18404b94745Smrg	dch1=\E[P,
18504b94745Smrg	ich1=\E[@,
18604b94745Smrg	rmir=\E[4l,
18704b94745Smrg	smir=\E[4h,
18804b94745Smrg
18904b94745Smrgansi+idc|ANSI insert/delete characters,
19004b94745Smrg	dch=\E[%p1%dP,
19104b94745Smrg	ich=\E[%p1%d@,
19204b94745Smrg	use=ansi+idc1,
19304b94745Smrg
19404b94745Smrgansi+idl1|ANSI insert/delete one line,
19504b94745Smrg	dl1=\E[M,
19604b94745Smrg	il1=\E[L,
19704b94745Smrg
19804b94745Smrgansi+idl|ANSI insert/delete lines,
19904b94745Smrg	dl=\E[%p1%dM,
20004b94745Smrg	il=\E[%p1%dL,
20104b94745Smrg	use=ansi+idl1,
20204b94745Smrg
20304b94745Smrgansi+inittabs|ANSI initial tab-stops,
20404b94745Smrg	it#8,
20504b94745Smrg	use=ansi+tabs,
20604b94745Smrg
20704b94745Smrgansi+local1|ANSI normal-mode cursor-keys,
20804b94745Smrg	cub1=\E[D,
20904b94745Smrg	cud1=\E[B,
21004b94745Smrg	cuf1=\E[C,
21104b94745Smrg	cuu1=\E[A,
21204b94745Smrg
21304b94745Smrgansi+local|ANSI normal-mode parameterized cursor-keys,
21404b94745Smrg	cub=\E[%p1%dD,
21504b94745Smrg	cud=\E[%p1%dB,
21604b94745Smrg	cuf=\E[%p1%dC,
21704b94745Smrg	cuu=\E[%p1%dA,
21804b94745Smrg	use=ansi+local1,
21904b94745Smrg
22004b94745Smrgansi+pp|ANSI printer port,
22104b94745Smrg	mc5i,
22204b94745Smrg	mc0=\E[i,
22304b94745Smrg	mc4=\E[4i,
22404b94745Smrg	mc5=\E[5i,
22504b94745Smrg
22604b94745Smrgansi+rep|ANSI repeat-character,
22704b94745Smrg	rep=%p1%c\E[%p2%{1}%-%db,
22804b94745Smrg
22904b94745Smrgansi+sgr|ANSI graphic renditions,
23004b94745Smrg	blink=\E[5m,
23104b94745Smrg	invis=\E[8m,
23204b94745Smrg	rev=\E[7m,
23304b94745Smrg	sgr=\E[0
23404b94745Smrg		%?
23504b94745Smrg			%p3
23604b94745Smrg			%t;7
23704b94745Smrg		%;
23804b94745Smrg		%?
23904b94745Smrg			%p4
24004b94745Smrg			%t;5
24104b94745Smrg		%;
24204b94745Smrg		%?
24304b94745Smrg			%p7
24404b94745Smrg			%t;8
24504b94745Smrg		%;
24604b94745Smrg		m,
24704b94745Smrg	sgr0=\E[0m,
24804b94745Smrg
24904b94745Smrgansi+sgrso|ANSI standout only,
25004b94745Smrg	rmso=\E[m,
25104b94745Smrg	smso=\E[7m,
25204b94745Smrg
25304b94745Smrgansi+sgrul|ANSI underline only,
25404b94745Smrg	rmul=\E[m,
25504b94745Smrg	smul=\E[4m,
25604b94745Smrg
25704b94745Smrgansi+sgrbold|ANSI graphic renditions; assuming terminal has bold; not dim,
25804b94745Smrg	bold=\E[1m,
25904b94745Smrg	sgr=\E[
26004b94745Smrg		%?
26104b94745Smrg			%p1
26204b94745Smrg			%t7;
26304b94745Smrg		%;
26404b94745Smrg		%?
26504b94745Smrg			%p2
26604b94745Smrg			%t4;
26704b94745Smrg		%;
26804b94745Smrg		%?
26904b94745Smrg			%p3
27004b94745Smrg			%t7;
27104b94745Smrg		%;
27204b94745Smrg		%?
27304b94745Smrg			%p4
27404b94745Smrg			%t5;
27504b94745Smrg		%;
27604b94745Smrg		%?
27704b94745Smrg			%p6
27804b94745Smrg			%t1;
27904b94745Smrg		%;
28004b94745Smrg		%?
28104b94745Smrg			%p7
28204b94745Smrg			%t8;
28304b94745Smrg		%;
28404b94745Smrg		m,
28504b94745Smrg	use=ansi+sgr,
28604b94745Smrg	use=ansi+sgrso,
28704b94745Smrg	use=ansi+sgrul,
28804b94745Smrg
28904b94745Smrgansi+sgrdim|ANSI graphic renditions; assuming terminal has dim; not bold,
29004b94745Smrg	dim=\E[2m,
29104b94745Smrg	sgr=\E[
29204b94745Smrg		%?
29304b94745Smrg			%p1
29404b94745Smrg			%t7;
29504b94745Smrg		%;
29604b94745Smrg		%?
29704b94745Smrg			%p2
29804b94745Smrg			%t4;
29904b94745Smrg		%;
30004b94745Smrg		%?
30104b94745Smrg			%p3
30204b94745Smrg			%t7;
30304b94745Smrg		%;
30404b94745Smrg		%?
30504b94745Smrg			%p4
30604b94745Smrg			%t5;
30704b94745Smrg		%;
30804b94745Smrg		%?
30904b94745Smrg			%p5
31004b94745Smrg			%t2;
31104b94745Smrg		%;
31204b94745Smrg		%?
31304b94745Smrg			%p7
31404b94745Smrg			%t8;
31504b94745Smrg		%;
31604b94745Smrg		m,
31704b94745Smrg	use=ansi+sgr,
31804b94745Smrg	use=ansi+sgrso,
31904b94745Smrg	use=ansi+sgrul,
32004b94745Smrg
32104b94745Smrgansi+tabs|ANSI tab-stops,
32204b94745Smrg	cbt=\E[Z,
32304b94745Smrg	ht=^I,
32404b94745Smrg	hts=\EH,
32504b94745Smrg	tbc=\E[3g,
32604b94745Smrg
32704b94745Smrg# These were added after ncurses 6.0:
32804b94745Smrgansi+apparrows|ANSI application-mode home and cursor-keys,
32904b94745Smrg	kcub1=\EOD,
33004b94745Smrg	kcud1=\EOB,
33104b94745Smrg	kcuf1=\EOC,
33204b94745Smrg	kcuu1=\EOA,
33304b94745Smrg	khome=\EOH,
33404b94745Smrg	use=ansi+arrows,
33504b94745Smrg
33604b94745Smrgansi+cpr|ncurses extension for ANSI CPR,
33704b94745Smrg	u6=\E[%i%d;%dR,
33804b94745Smrg	u7=\E[6n,
33904b94745Smrg
34004b94745Smrgansi+rca2|ANSI relative cursor-addressing,
34104b94745Smrg	hpa=\E[%i%p1%dG,
34204b94745Smrg	vpa=\E[%i%p1%dd,
34304b94745Smrg
344d522f475Smrg# Encode modifiers using parameters (see "Xterm Control Sequences" ctlseqs.ms).
345d522f475Smrg# Note that this is unrelated to PCTERM.
346d522f475Smrg#
347d522f475Smrg# Some names are extensions allowed by ncurses, e.g.,
348d522f475Smrg#	kDN, kDN5, kDN6, kLFT5, kLFT6, kRIT5, kRIT6, kUP, kUP5, kUP6
349d522f475Smrg#
350d522f475Smrg# The uppercase names are made up, since there are no standards that apply.
351d522f475Smrg# If they were limited to two characters, they could in principle be translated
352d522f475Smrg# to termcap.  However, termcap sizes are limited to 1023 bytes, so there is
353d522f475Smrg# little point in ensuring that extended key names can be translated to
354d522f475Smrg# termcap.  A terminfo file can be up to 4096 bytes; using all extended keys
355d522f475Smrg# that xterm can generate would in fact exceed that limit.
356d522f475Smrg#
357d522f475Smrg# The numbers correspond to the modifier parameters documented in Xterm
358d522f475Smrg# Control Sequences:
359d522f475Smrg#
360d522f475Smrg#	2	Shift
361d522f475Smrg#	3	Alt
362d522f475Smrg#	4	Shift + Alt
363d522f475Smrg#	5	Control
364d522f475Smrg#	6	Shift + Control
365d522f475Smrg#	7	Alt + Control
366d522f475Smrg#	8	Shift + Alt + Control
367d522f475Smrg#
368d522f475Smrg# X/Open Curses defines some shift combinations, which are also used here
369d522f475Smrg# where applicable.  Since it does define some shift combinations, no number
370d522f475Smrg# (2) is used for suffixing the made-up names.  Some combinations are not
371d522f475Smrg# useful, e.g., they may reboot your computer, or they may require too many
372d522f475Smrg# fingers.  I stopped at modifier 7, just to keep things simple -TD
373d522f475Smrg#
374d522f475Smrg# XTerm resources:
375d522f475Smrg# ---------------
376d522f475Smrg# The xterm+pcfn, xterm+pcf0, xterm+pcf1, xterm+pcf2 and xterm+pcf3 fragments
377d522f475Smrg# correspond to default resource settings for xterm on a 104-key PC keyboard
378d522f475Smrg# with 12 function-keys:
379d522f475Smrg#
380d522f475Smrg#	*sunKeyboard:false
381d522f475Smrg#	*oldXtermFKeys:false
382d522f475Smrg#	*modifyCursorKeys:2
383d522f475Smrg#	*modifyFunctionKeys:2
384d522f475Smrg#	*ctrlFKeys:10
385d522f475Smrg#
386d522f475Smrg# The key numbers are computed based on the modifiers:
387d522f475Smrg#
388d522f475Smrg#	kf1-kf12 are F1-F12
389d522f475Smrg#	kf13-kf24 are shift F1-F12
390d522f475Smrg#	kf25-kf36 are control F1-F12
391d522f475Smrg#	kf37-kf48 are control+shift F1-F12
392d522f475Smrg#	kf49-kf60 are alt F1-F12
393d522f475Smrg#	kf61-kf63 are shift-alt F1-F3
394d522f475Smrg#
395d522f475Smrg# Note that ncurses would allow definition of kf64 and beyond, if there were
396d522f475Smrg# an application that required it.
397d522f475Smrg#
398d522f475Smrgxterm+pcfkeys|fragment for PC-style keys,
399d522f475Smrg	use=xterm+app,
400d522f475Smrg	use=xterm+pcf2,
401d522f475Smrg	use=xterm+pce2,
402d522f475Smrg	use=xterm+pcc2,
403e39b573cSmrg
404e39b573cSmrg# This chunk is based on suggestions by Ailin Nemui and Nicholas Marriott, who
405e39b573cSmrg# asked for some of xterm's advanced features to be added to its terminfo
406e39b573cSmrg# entry.  It defines extended capabilities not found in standard terminfo or
407e39b573cSmrg# termcap.  These are useful in tmux, for instance, hence the name.
408e39b573cSmrg#
409e39b573cSmrg# One caveat in adding extended capabilities in ncurses is that if the names
410e39b573cSmrg# are longer than two characters, then they will not be visible through the
411e39b573cSmrg# termcap interface.
412e39b573cSmrg#
413e39b573cSmrg# Ms modifies the selection/clipboard.  Its parameters are
414e39b573cSmrg#	p1 = the storage unit (clipboard, selection or cut buffer)
415e39b573cSmrg#	p2 = the base64-encoded clipboard content.
416f2e35a3aSmrg#
417e39b573cSmrg# Ss is used to set the cursor style as described by the DECSCUSR
418e39b573cSmrg#	function to a block or underline.
419e39b573cSmrg# Se resets the cursor style to the terminal power-on default.
420f2e35a3aSmrg#
421e39b573cSmrg# Cs and Ce set and reset the cursor colour.
422e39b573cSmrgxterm+tmux|advanced xterm features used in tmux,
423e39b573cSmrg	Cr=\E]112\007,
424e39b573cSmrg	Cs=\E]12;%p1%s\007,
425913cc679Smrg	Ms=\E]52;%p1%s;%p2%s
426913cc679Smrg	   \007,
427913cc679Smrg	Se=\E[2\sq,
428913cc679Smrg	Ss=\E[%p1%d\sq,
429d522f475Smrg#
430d522f475Smrg# The ctrlFKeys resource is only relevant to the xterm+pcfn and xterm+pcfN
431d522f475Smrg# entries, since the modifyFunctionKeys resource overrides ctrlFKeys when it is
432d522f475Smrg# positive.  A different choice of ctrlFKeys would give a different set of
433d522f475Smrg# function-key strings.
434d522f475Smrgxterm+pcfn|fragment with modifyFunctionKeys:-1 and ctrlFKeys:10,
435d522f475Smrg	kf1=\EOP,
436d522f475Smrg	kf10=\E[21~,
437d522f475Smrg	kf11=\E[23~,
438d522f475Smrg	kf12=\E[24~,
439d522f475Smrg	kf13=\E[25~,
440d522f475Smrg	kf14=\E[26~,
441d522f475Smrg	kf15=\E[28~,
442d522f475Smrg	kf16=\E[29~,
443d522f475Smrg	kf17=\E[31~,
444d522f475Smrg	kf18=\E[32~,
445d522f475Smrg	kf19=\E[33~,
446d522f475Smrg	kf2=\EOQ,
447d522f475Smrg	kf20=\E[34~,
448d522f475Smrg	kf21=\E[42~,
449d522f475Smrg	kf22=\E[43~,
450d522f475Smrg	kf23=\E[44~,
451d522f475Smrg	kf24=\E[45~,
452d522f475Smrg	kf25=\E[46~,
453d522f475Smrg	kf26=\E[47~,
454d522f475Smrg	kf27=\E[48~,
455d522f475Smrg	kf28=\E[49~,
456d522f475Smrg	kf29=\E[50~,
457d522f475Smrg	kf3=\EOR,
458d522f475Smrg	kf30=\E[51~,
459d522f475Smrg	kf31=\E[52~,
460d522f475Smrg	kf32=\E[53~,
461d522f475Smrg	kf33=\E[54~,
462d522f475Smrg	kf34=\E[55~,
463d522f475Smrg	kf35=\E[56~,
464d522f475Smrg	kf36=\E[57~,
465d522f475Smrg	kf37=\E[58~,
466d522f475Smrg	kf38=\E[59~,
467d522f475Smrg	kf39=\E[60~,
468d522f475Smrg	kf4=\EOS,
469d522f475Smrg	kf40=\E[61~,
470d522f475Smrg	kf41=\E[62~,
471d522f475Smrg	kf42=\E[63~,
472d522f475Smrg	kf43=\E[64~,
473d522f475Smrg	kf44=\E[65~,
474d522f475Smrg	kf45=\E[66~,
475d522f475Smrg	kf46=\E[67~,
476d522f475Smrg	kf47=\E[68~,
477d522f475Smrg	kf48=\E[69~,
478d522f475Smrg	kf5=\E[15~,
479d522f475Smrg	kf6=\E[17~,
480d522f475Smrg	kf7=\E[18~,
481d522f475Smrg	kf8=\E[19~,
482d522f475Smrg	kf9=\E[20~,
483d522f475Smrg
484d522f475Smrg# Changing ctrlFKeys to 12 would let us number the keys using just shift- and
485d522f475Smrg# control- modifiers:
486d522f475Smrg#	kf1-kf12 are F1-F12
487d522f475Smrg#	kf13-kf24 are shift F1-F12
488d522f475Smrg#	kf25-kf36 are control F1-F12
489d522f475Smrg#	kf37-kf48 are control+shift F1-F12
490d522f475Smrgxterm+pcfN|fragment with modifyFunctionKeys:-1 and ctrlFKeys:12,
491d522f475Smrg	kf1=\EOP,
492d522f475Smrg	kf10=\E[21~,
493d522f475Smrg	kf11=\E[23~,
494d522f475Smrg	kf12=\E[24~,
495d522f475Smrg	kf13=\E[25~,
496d522f475Smrg	kf14=\E[26~,
497d522f475Smrg	kf15=\E[28~,
498d522f475Smrg	kf16=\E[29~,
499d522f475Smrg	kf17=\E[31~,
500d522f475Smrg	kf18=\E[32~,
501d522f475Smrg	kf19=\E[33~,
502d522f475Smrg	kf2=\EOQ,
503d522f475Smrg	kf20=\E[34~,
504d522f475Smrg	kf21=\E[42~,
505d522f475Smrg	kf22=\E[43~,
506d522f475Smrg	kf23=\E[44~,
507d522f475Smrg	kf24=\E[45~,
508d522f475Smrg	kf25=\E[46~,
509d522f475Smrg	kf26=\E[47~,
510d522f475Smrg	kf27=\E[48~,
511d522f475Smrg	kf28=\E[49~,
512d522f475Smrg	kf29=\E[50~,
513d522f475Smrg	kf3=\EOR,
514d522f475Smrg	kf30=\E[51~,
515d522f475Smrg	kf31=\E[52~,
516d522f475Smrg	kf32=\E[53~,
517d522f475Smrg	kf33=\E[54~,
518d522f475Smrg	kf34=\E[55~,
519d522f475Smrg	kf35=\E[56~,
520d522f475Smrg	kf36=\E[57~,
521d522f475Smrg	kf37=\E[58~,
522d522f475Smrg	kf38=\E[59~,
523d522f475Smrg	kf39=\E[60~,
524d522f475Smrg	kf4=\EOS,
525d522f475Smrg	kf40=\E[61~,
526d522f475Smrg	kf41=\E[62~,
527d522f475Smrg	kf42=\E[63~,
528d522f475Smrg	kf43=\E[64~,
529d522f475Smrg	kf44=\E[65~,
530d522f475Smrg	kf45=\E[66~,
531d522f475Smrg	kf46=\E[67~,
532d522f475Smrg	kf47=\E[68~,
533d522f475Smrg	kf48=\E[69~,
534d522f475Smrg	kf5=\E[15~,
535d522f475Smrg	kf6=\E[17~,
536d522f475Smrg	kf7=\E[18~,
537d522f475Smrg	kf8=\E[19~,
538d522f475Smrg	kf9=\E[20~,
539d522f475Smrg
540d522f475Smrgxterm+pcf0|fragment with modifyFunctionKeys:0,
541d522f475Smrg	kf1=\EOP,
542d522f475Smrg	kf10=\E[21~,
543d522f475Smrg	kf11=\E[23~,
544d522f475Smrg	kf12=\E[24~,
545d522f475Smrg	kf13=\EO2P,
546d522f475Smrg	kf14=\EO2Q,
547d522f475Smrg	kf15=\EO2R,
548d522f475Smrg	kf16=\EO2S,
549d522f475Smrg	kf17=\E[15;2~,
550d522f475Smrg	kf18=\E[17;2~,
551d522f475Smrg	kf19=\E[18;2~,
552d522f475Smrg	kf2=\EOQ,
553d522f475Smrg	kf20=\E[19;2~,
554d522f475Smrg	kf21=\E[20;2~,
555d522f475Smrg	kf22=\E[21;2~,
556d522f475Smrg	kf23=\E[23;2~,
557d522f475Smrg	kf24=\E[24;2~,
558d522f475Smrg	kf25=\EO5P,
559d522f475Smrg	kf26=\EO5Q,
560d522f475Smrg	kf27=\EO5R,
561d522f475Smrg	kf28=\EO5S,
562d522f475Smrg	kf29=\E[15;5~,
563d522f475Smrg	kf3=\EOR,
564d522f475Smrg	kf30=\E[17;5~,
565d522f475Smrg	kf31=\E[18;5~,
566d522f475Smrg	kf32=\E[19;5~,
567d522f475Smrg	kf33=\E[20;5~,
568d522f475Smrg	kf34=\E[21;5~,
569d522f475Smrg	kf35=\E[23;5~,
570d522f475Smrg	kf36=\E[24;5~,
571d522f475Smrg	kf37=\EO6P,
572d522f475Smrg	kf38=\EO6Q,
573d522f475Smrg	kf39=\EO6R,
574d522f475Smrg	kf4=\EOS,
575d522f475Smrg	kf40=\EO6S,
576d522f475Smrg	kf41=\E[15;6~,
577d522f475Smrg	kf42=\E[17;6~,
578d522f475Smrg	kf43=\E[18;6~,
579d522f475Smrg	kf44=\E[19;6~,
580d522f475Smrg	kf45=\E[20;6~,
581d522f475Smrg	kf46=\E[21;6~,
582d522f475Smrg	kf47=\E[23;6~,
583d522f475Smrg	kf48=\E[24;6~,
584d522f475Smrg	kf49=\EO3P,
585d522f475Smrg	kf5=\E[15~,
586d522f475Smrg	kf50=\EO3Q,
587d522f475Smrg	kf51=\EO3R,
588d522f475Smrg	kf52=\EO3S,
589d522f475Smrg	kf53=\E[15;3~,
590d522f475Smrg	kf54=\E[17;3~,
591d522f475Smrg	kf55=\E[18;3~,
592d522f475Smrg	kf56=\E[19;3~,
593d522f475Smrg	kf57=\E[20;3~,
594d522f475Smrg	kf58=\E[21;3~,
595d522f475Smrg	kf59=\E[23;3~,
596d522f475Smrg	kf6=\E[17~,
597d522f475Smrg	kf60=\E[24;3~,
598d522f475Smrg	kf61=\EO4P,
599d522f475Smrg	kf62=\EO4Q,
600d522f475Smrg	kf63=\EO4R,
601d522f475Smrg	kf7=\E[18~,
602d522f475Smrg	kf8=\E[19~,
603d522f475Smrg	kf9=\E[20~,
604d522f475Smrg
605d522f475Smrg# This is almost the same as xterm+pcf2 because the unmodified keys all happen
606d522f475Smrg# to have a pattern that forces the modifier to the same position.
607d522f475Smrgxterm+pcf1|fragment with modifyFunctionKeys:1,
608d522f475Smrg	kf1=\EOP,
609d522f475Smrg	kf10=\E[21~,
610d522f475Smrg	kf11=\E[23~,
611d522f475Smrg	kf12=\E[24~,
612d522f475Smrg	kf13=\E[2P,
613d522f475Smrg	kf14=\E[2Q,
614d522f475Smrg	kf15=\E[2R,
615d522f475Smrg	kf16=\E[2S,
616d522f475Smrg	kf17=\E[15;2~,
617d522f475Smrg	kf18=\E[17;2~,
618d522f475Smrg	kf19=\E[18;2~,
619d522f475Smrg	kf2=\EOQ,
620d522f475Smrg	kf20=\E[19;2~,
621d522f475Smrg	kf21=\E[20;2~,
622d522f475Smrg	kf22=\E[21;2~,
623d522f475Smrg	kf23=\E[23;2~,
624d522f475Smrg	kf24=\E[24;2~,
625d522f475Smrg	kf25=\E[5P,
626d522f475Smrg	kf26=\E[5Q,
627d522f475Smrg	kf27=\E[5R,
628d522f475Smrg	kf28=\E[5S,
629d522f475Smrg	kf29=\E[15;5~,
630d522f475Smrg	kf3=\EOR,
631d522f475Smrg	kf30=\E[17;5~,
632d522f475Smrg	kf31=\E[18;5~,
633d522f475Smrg	kf32=\E[19;5~,
634d522f475Smrg	kf33=\E[20;5~,
635d522f475Smrg	kf34=\E[21;5~,
636d522f475Smrg	kf35=\E[23;5~,
637d522f475Smrg	kf36=\E[24;5~,
638d522f475Smrg	kf37=\E[6P,
639d522f475Smrg	kf38=\E[6Q,
640d522f475Smrg	kf39=\E[6R,
641d522f475Smrg	kf4=\EOS,
642d522f475Smrg	kf40=\E[6S,
643d522f475Smrg	kf41=\E[15;6~,
644d522f475Smrg	kf42=\E[17;6~,
645d522f475Smrg	kf43=\E[18;6~,
646d522f475Smrg	kf44=\E[19;6~,
647d522f475Smrg	kf45=\E[20;6~,
648d522f475Smrg	kf46=\E[21;6~,
649d522f475Smrg	kf47=\E[23;6~,
650d522f475Smrg	kf48=\E[24;6~,
651d522f475Smrg	kf49=\E[3P,
652d522f475Smrg	kf5=\E[15~,
653d522f475Smrg	kf50=\E[3Q,
654d522f475Smrg	kf51=\E[3R,
655d522f475Smrg	kf52=\E[3S,
656d522f475Smrg	kf53=\E[15;3~,
657d522f475Smrg	kf54=\E[17;3~,
658d522f475Smrg	kf55=\E[18;3~,
659d522f475Smrg	kf56=\E[19;3~,
660d522f475Smrg	kf57=\E[20;3~,
661d522f475Smrg	kf58=\E[21;3~,
662d522f475Smrg	kf59=\E[23;3~,
663d522f475Smrg	kf6=\E[17~,
664d522f475Smrg	kf60=\E[24;3~,
665d522f475Smrg	kf61=\E[4P,
666d522f475Smrg	kf62=\E[4Q,
667d522f475Smrg	kf63=\E[4R,
668d522f475Smrg	kf7=\E[18~,
669d522f475Smrg	kf8=\E[19~,
670d522f475Smrg	kf9=\E[20~,
671d522f475Smrg
672d522f475Smrgxterm+pcf2|fragment with modifyFunctionKeys:2,
673d522f475Smrg	kf1=\EOP,
674d522f475Smrg	kf10=\E[21~,
675d522f475Smrg	kf11=\E[23~,
676d522f475Smrg	kf12=\E[24~,
677d522f475Smrg	kf13=\E[1;2P,
678d522f475Smrg	kf14=\E[1;2Q,
679d522f475Smrg	kf15=\E[1;2R,
680d522f475Smrg	kf16=\E[1;2S,
681d522f475Smrg	kf17=\E[15;2~,
682d522f475Smrg	kf18=\E[17;2~,
683d522f475Smrg	kf19=\E[18;2~,
684d522f475Smrg	kf2=\EOQ,
685d522f475Smrg	kf20=\E[19;2~,
686d522f475Smrg	kf21=\E[20;2~,
687d522f475Smrg	kf22=\E[21;2~,
688d522f475Smrg	kf23=\E[23;2~,
689d522f475Smrg	kf24=\E[24;2~,
690d522f475Smrg	kf25=\E[1;5P,
691d522f475Smrg	kf26=\E[1;5Q,
692d522f475Smrg	kf27=\E[1;5R,
693d522f475Smrg	kf28=\E[1;5S,
694d522f475Smrg	kf29=\E[15;5~,
695d522f475Smrg	kf3=\EOR,
696d522f475Smrg	kf30=\E[17;5~,
697d522f475Smrg	kf31=\E[18;5~,
698d522f475Smrg	kf32=\E[19;5~,
699d522f475Smrg	kf33=\E[20;5~,
700d522f475Smrg	kf34=\E[21;5~,
701d522f475Smrg	kf35=\E[23;5~,
702d522f475Smrg	kf36=\E[24;5~,
703d522f475Smrg	kf37=\E[1;6P,
704d522f475Smrg	kf38=\E[1;6Q,
705d522f475Smrg	kf39=\E[1;6R,
706d522f475Smrg	kf4=\EOS,
707d522f475Smrg	kf40=\E[1;6S,
708d522f475Smrg	kf41=\E[15;6~,
709d522f475Smrg	kf42=\E[17;6~,
710d522f475Smrg	kf43=\E[18;6~,
711d522f475Smrg	kf44=\E[19;6~,
712d522f475Smrg	kf45=\E[20;6~,
713d522f475Smrg	kf46=\E[21;6~,
714d522f475Smrg	kf47=\E[23;6~,
715d522f475Smrg	kf48=\E[24;6~,
716d522f475Smrg	kf49=\E[1;3P,
717d522f475Smrg	kf5=\E[15~,
718d522f475Smrg	kf50=\E[1;3Q,
719d522f475Smrg	kf51=\E[1;3R,
720d522f475Smrg	kf52=\E[1;3S,
721d522f475Smrg	kf53=\E[15;3~,
722d522f475Smrg	kf54=\E[17;3~,
723d522f475Smrg	kf55=\E[18;3~,
724d522f475Smrg	kf56=\E[19;3~,
725d522f475Smrg	kf57=\E[20;3~,
726d522f475Smrg	kf58=\E[21;3~,
727d522f475Smrg	kf59=\E[23;3~,
728d522f475Smrg	kf6=\E[17~,
729d522f475Smrg	kf60=\E[24;3~,
730d522f475Smrg	kf61=\E[1;4P,
731d522f475Smrg	kf62=\E[1;4Q,
732d522f475Smrg	kf63=\E[1;4R,
733d522f475Smrg	kf7=\E[18~,
734d522f475Smrg	kf8=\E[19~,
735d522f475Smrg	kf9=\E[20~,
736d522f475Smrg
737d522f475Smrgxterm+pcf3|fragment with modifyFunctionKeys:3,
738d522f475Smrg	kf1=\EOP,
739d522f475Smrg	kf10=\E[21~,
740d522f475Smrg	kf11=\E[23~,
741d522f475Smrg	kf12=\E[24~,
742d522f475Smrg	kf13=\E[>1;2P,
743d522f475Smrg	kf14=\E[>1;2Q,
744d522f475Smrg	kf15=\E[>1;2R,
745d522f475Smrg	kf16=\E[>1;2S,
746d522f475Smrg	kf17=\E[>15;2~,
747d522f475Smrg	kf18=\E[>17;2~,
748d522f475Smrg	kf19=\E[>18;2~,
749d522f475Smrg	kf2=\EOQ,
750d522f475Smrg	kf20=\E[>19;2~,
751d522f475Smrg	kf21=\E[>20;2~,
752d522f475Smrg	kf22=\E[>21;2~,
753d522f475Smrg	kf23=\E[>23;2~,
754d522f475Smrg	kf24=\E[>24;2~,
755d522f475Smrg	kf25=\E[>1;5P,
756d522f475Smrg	kf26=\E[>1;5Q,
757d522f475Smrg	kf27=\E[>1;5R,
758d522f475Smrg	kf28=\E[>1;5S,
759d522f475Smrg	kf29=\E[>15;5~,
760d522f475Smrg	kf3=\EOR,
761d522f475Smrg	kf30=\E[>17;5~,
762d522f475Smrg	kf31=\E[>18;5~,
763d522f475Smrg	kf32=\E[>19;5~,
764d522f475Smrg	kf33=\E[>20;5~,
765d522f475Smrg	kf34=\E[>21;5~,
766d522f475Smrg	kf35=\E[>23;5~,
767d522f475Smrg	kf36=\E[>24;5~,
768d522f475Smrg	kf37=\E[>1;6P,
769d522f475Smrg	kf38=\E[>1;6Q,
770d522f475Smrg	kf39=\E[>1;6R,
771d522f475Smrg	kf4=\EOS,
772d522f475Smrg	kf40=\E[>1;6S,
773d522f475Smrg	kf41=\E[>15;6~,
774d522f475Smrg	kf42=\E[>17;6~,
775d522f475Smrg	kf43=\E[>18;6~,
776d522f475Smrg	kf44=\E[>19;6~,
777d522f475Smrg	kf45=\E[>20;6~,
778d522f475Smrg	kf46=\E[>21;6~,
779d522f475Smrg	kf47=\E[>23;6~,
780d522f475Smrg	kf48=\E[>24;6~,
781d522f475Smrg	kf49=\E[>1;3P,
782d522f475Smrg	kf5=\E[15~,
783d522f475Smrg	kf50=\E[>1;3Q,
784d522f475Smrg	kf51=\E[>1;3R,
785d522f475Smrg	kf52=\E[>1;3S,
786d522f475Smrg	kf53=\E[>15;3~,
787d522f475Smrg	kf54=\E[>17;3~,
788d522f475Smrg	kf55=\E[>18;3~,
789d522f475Smrg	kf56=\E[>19;3~,
790d522f475Smrg	kf57=\E[>20;3~,
791d522f475Smrg	kf58=\E[>21;3~,
792d522f475Smrg	kf59=\E[>23;3~,
793d522f475Smrg	kf6=\E[17~,
794d522f475Smrg	kf60=\E[>24;3~,
795d522f475Smrg	kf61=\E[>1;4P,
796d522f475Smrg	kf62=\E[>1;4Q,
797d522f475Smrg	kf63=\E[>1;4R,
798d522f475Smrg	kf7=\E[18~,
799d522f475Smrg	kf8=\E[19~,
800d522f475Smrg	kf9=\E[20~,
801d522f475Smrg#
802d522f475Smrg# The "PC-style" modifier scheme was introduced in xterm patch #94 (1999/3/27)
803d522f475Smrg# and revised in patch #167 (2002/8/24).
804d522f475Smrg#
805d522f475Smrg# The original assignments from patch #94 for cursor-keys had some technical
806d522f475Smrg# issues:
807d522f475Smrg#
808d522f475Smrg#	A parameter for a function-key to represent a modifier is just more
809d522f475Smrg#	bits.  But for a cursor-key it may change the behavior of the
810d522f475Smrg#	application.  For instance, emacs decodes the first parameter of a
811d522f475Smrg#	cursor-key as a repeat count.
812d522f475Smrg#
813d522f475Smrg#	A parameterized string should (really) not begin with SS3 (\EO).
814d522f475Smrg#	Rather, CSI (\E[) should be used.
815d522f475Smrg#
816d522f475Smrg# For these reasons, the original assignments were deprecated.  For
817d522f475Smrg# compatibility reasons, they are still available as a setting of xterm's
818d522f475Smrg# modifyCursorKeys resource.  These fragments list the modified cursor-keys
819d522f475Smrg# that might apply to xterm+pcfkeys with different values of that resource.
820d522f475Smrgxterm+pcc3|fragment with modifyCursorKeys:3,
821d522f475Smrg	kLFT=\E[>1;2D,
822d522f475Smrg	kRIT=\E[>1;2C,
823d522f475Smrg	kind=\E[>1;2B,
824d522f475Smrg	kri=\E[>1;2A,
825d522f475Smrg	kDN=\E[>1;2B,
826d522f475Smrg	kDN3=\E[>1;3B,
827d522f475Smrg	kDN4=\E[>1;4B,
828d522f475Smrg	kDN5=\E[>1;5B,
829d522f475Smrg	kDN6=\E[>1;6B,
830d522f475Smrg	kDN7=\E[>1;7B,
831d522f475Smrg	kLFT3=\E[>1;3D,
832d522f475Smrg	kLFT4=\E[>1;4D,
833d522f475Smrg	kLFT5=\E[>1;5D,
834d522f475Smrg	kLFT6=\E[>1;6D,
835d522f475Smrg	kLFT7=\E[>1;7D,
836d522f475Smrg	kRIT3=\E[>1;3C,
837d522f475Smrg	kRIT4=\E[>1;4C,
838d522f475Smrg	kRIT5=\E[>1;5C,
839d522f475Smrg	kRIT6=\E[>1;6C,
840d522f475Smrg	kRIT7=\E[>1;7C,
841d522f475Smrg	kUP=\E[>1;2A,
842d522f475Smrg	kUP3=\E[>1;3A,
843d522f475Smrg	kUP4=\E[>1;4A,
844d522f475Smrg	kUP5=\E[>1;5A,
845d522f475Smrg	kUP6=\E[>1;6A,
846d522f475Smrg	kUP7=\E[>1;7A,
847d522f475Smrg
848d522f475Smrgxterm+pcc2|fragment with modifyCursorKeys:2,
849d522f475Smrg	kLFT=\E[1;2D,
850d522f475Smrg	kRIT=\E[1;2C,
851d522f475Smrg	kind=\E[1;2B,
852d522f475Smrg	kri=\E[1;2A,
853d522f475Smrg	kDN=\E[1;2B,
854d522f475Smrg	kDN3=\E[1;3B,
855d522f475Smrg	kDN4=\E[1;4B,
856d522f475Smrg	kDN5=\E[1;5B,
857d522f475Smrg	kDN6=\E[1;6B,
858d522f475Smrg	kDN7=\E[1;7B,
859d522f475Smrg	kLFT3=\E[1;3D,
860d522f475Smrg	kLFT4=\E[1;4D,
861d522f475Smrg	kLFT5=\E[1;5D,
862d522f475Smrg	kLFT6=\E[1;6D,
863d522f475Smrg	kLFT7=\E[1;7D,
864d522f475Smrg	kRIT3=\E[1;3C,
865d522f475Smrg	kRIT4=\E[1;4C,
866d522f475Smrg	kRIT5=\E[1;5C,
867d522f475Smrg	kRIT6=\E[1;6C,
868d522f475Smrg	kRIT7=\E[1;7C,
869d522f475Smrg	kUP=\E[1;2A,
870d522f475Smrg	kUP3=\E[1;3A,
871d522f475Smrg	kUP4=\E[1;4A,
872d522f475Smrg	kUP5=\E[1;5A,
873d522f475Smrg	kUP6=\E[1;6A,
874d522f475Smrg	kUP7=\E[1;7A,
875d522f475Smrg
876d522f475Smrgxterm+pcc1|fragment with modifyCursorKeys:1,
877d522f475Smrg	kLFT=\E[2D,
878d522f475Smrg	kRIT=\E[2C,
879d522f475Smrg	kind=\E[2B,
880d522f475Smrg	kri=\E[2A,
881d522f475Smrg	kDN=\E[2B,
882d522f475Smrg	kDN3=\E[3B,
883d522f475Smrg	kDN4=\E[4B,
884d522f475Smrg	kDN5=\E[5B,
885d522f475Smrg	kDN6=\E[6B,
886d522f475Smrg	kDN7=\E[7B,
887d522f475Smrg	kLFT3=\E[3D,
888d522f475Smrg	kLFT4=\E[4D,
889d522f475Smrg	kLFT5=\E[5D,
890d522f475Smrg	kLFT6=\E[6D,
891d522f475Smrg	kLFT7=\E[7D,
892d522f475Smrg	kRIT3=\E[3C,
893d522f475Smrg	kRIT4=\E[4C,
894d522f475Smrg	kRIT5=\E[5C,
895d522f475Smrg	kRIT6=\E[6C,
896d522f475Smrg	kRIT7=\E[7C,
897d522f475Smrg	kUP=\E[2A,
898d522f475Smrg	kUP3=\E[3A,
899d522f475Smrg	kUP4=\E[4A,
900d522f475Smrg	kUP5=\E[5A,
901d522f475Smrg	kUP6=\E[6A,
902d522f475Smrg	kUP7=\E[7A,
903d522f475Smrg
904d522f475Smrgxterm+pcc0|fragment with modifyCursorKeys:0,
905d522f475Smrg	kLFT=\EO2D,
906d522f475Smrg	kRIT=\EO2C,
907d522f475Smrg	kind=\EO2B,
908d522f475Smrg	kri=\EO2A,
909d522f475Smrg	kDN=\EO2B,
910d522f475Smrg	kDN3=\EO3B,
911d522f475Smrg	kDN4=\EO4B,
912d522f475Smrg	kDN5=\EO5B,
913d522f475Smrg	kDN6=\EO6B,
914d522f475Smrg	kDN7=\EO7B,
915d522f475Smrg	kLFT3=\EO3D,
916d522f475Smrg	kLFT4=\EO4D,
917d522f475Smrg	kLFT5=\EO5D,
918d522f475Smrg	kLFT6=\EO6D,
919d522f475Smrg	kLFT7=\EO7D,
920d522f475Smrg	kRIT3=\EO3C,
921d522f475Smrg	kRIT4=\EO4C,
922d522f475Smrg	kRIT5=\EO5C,
923d522f475Smrg	kRIT6=\EO6C,
924d522f475Smrg	kRIT7=\EO7C,
925d522f475Smrg	kUP=\EO2A,
926d522f475Smrg	kUP3=\EO3A,
927d522f475Smrg	kUP4=\EO4A,
928d522f475Smrg	kUP5=\EO5A,
929d522f475Smrg	kUP6=\EO6A,
930d522f475Smrg	kUP7=\EO7A,
931d522f475Smrg
932d522f475Smrg# The home/end keys on the editing keypad are also treated as cursor keys.
933d522f475Smrgxterm+pce3|fragment with modifyCursorKeys:3,
934d522f475Smrg	kDC=\E[>3;2~,
935d522f475Smrg	kEND=\E[>1;2F,
936d522f475Smrg	kHOM=\E[>1;2H,
937d522f475Smrg	kIC=\E[>2;2~,
938d522f475Smrg	kNXT=\E[>6;2~,
939d522f475Smrg	kPRV=\E[>5;2~,
940d522f475Smrg	kDC3=\E[>3;3~,
941d522f475Smrg	kDC4=\E[>3;4~,
942d522f475Smrg	kDC5=\E[>3;5~,
943d522f475Smrg	kDC6=\E[>3;6~,
944d522f475Smrg	kDC7=\E[>3;7~,
945d522f475Smrg	kEND3=\E[>1;3F,
946d522f475Smrg	kEND4=\E[>1;4F,
947d522f475Smrg	kEND5=\E[>1;5F,
948d522f475Smrg	kEND6=\E[>1;6F,
949d522f475Smrg	kEND7=\E[>1;7F,
950d522f475Smrg	kHOM3=\E[>1;3H,
951d522f475Smrg	kHOM4=\E[>1;4H,
952d522f475Smrg	kHOM5=\E[>1;5H,
953d522f475Smrg	kHOM6=\E[>1;6H,
954d522f475Smrg	kHOM7=\E[>1;7H,
955d522f475Smrg	kIC3=\E[>2;3~,
956d522f475Smrg	kIC4=\E[>2;4~,
957d522f475Smrg	kIC5=\E[>2;5~,
958d522f475Smrg	kIC6=\E[>2;6~,
959d522f475Smrg	kIC7=\E[>2;7~,
960d522f475Smrg	kNXT3=\E[>6;3~,
961d522f475Smrg	kNXT4=\E[>6;4~,
962d522f475Smrg	kNXT5=\E[>6;5~,
963d522f475Smrg	kNXT6=\E[>6;6~,
964d522f475Smrg	kNXT7=\E[>6;7~,
965d522f475Smrg	kPRV3=\E[>5;3~,
966d522f475Smrg	kPRV4=\E[>5;4~,
967d522f475Smrg	kPRV5=\E[>5;5~,
968d522f475Smrg	kPRV6=\E[>5;6~,
969d522f475Smrg	kPRV7=\E[>5;7~,
970d522f475Smrg	use=xterm+pce0,
971d522f475Smrg
972d522f475Smrgxterm+pce2|fragment with modifyCursorKeys:2,
973d522f475Smrg	kDC=\E[3;2~,
974d522f475Smrg	kEND=\E[1;2F,
975d522f475Smrg	kHOM=\E[1;2H,
976d522f475Smrg	kIC=\E[2;2~,
977d522f475Smrg	kNXT=\E[6;2~,
978d522f475Smrg	kPRV=\E[5;2~,
979d522f475Smrg	kDC3=\E[3;3~,
980d522f475Smrg	kDC4=\E[3;4~,
981d522f475Smrg	kDC5=\E[3;5~,
982d522f475Smrg	kDC6=\E[3;6~,
983d522f475Smrg	kDC7=\E[3;7~,
984d522f475Smrg	kEND3=\E[1;3F,
985d522f475Smrg	kEND4=\E[1;4F,
986d522f475Smrg	kEND5=\E[1;5F,
987d522f475Smrg	kEND6=\E[1;6F,
988d522f475Smrg	kEND7=\E[1;7F,
989d522f475Smrg	kHOM3=\E[1;3H,
990d522f475Smrg	kHOM4=\E[1;4H,
991d522f475Smrg	kHOM5=\E[1;5H,
992d522f475Smrg	kHOM6=\E[1;6H,
993d522f475Smrg	kHOM7=\E[1;7H,
994d522f475Smrg	kIC3=\E[2;3~,
995d522f475Smrg	kIC4=\E[2;4~,
996d522f475Smrg	kIC5=\E[2;5~,
997d522f475Smrg	kIC6=\E[2;6~,
998d522f475Smrg	kIC7=\E[2;7~,
999d522f475Smrg	kNXT3=\E[6;3~,
1000d522f475Smrg	kNXT4=\E[6;4~,
1001d522f475Smrg	kNXT5=\E[6;5~,
1002d522f475Smrg	kNXT6=\E[6;6~,
1003d522f475Smrg	kNXT7=\E[6;7~,
1004d522f475Smrg	kPRV3=\E[5;3~,
1005d522f475Smrg	kPRV4=\E[5;4~,
1006d522f475Smrg	kPRV5=\E[5;5~,
1007d522f475Smrg	kPRV6=\E[5;6~,
1008d522f475Smrg	kPRV7=\E[5;7~,
1009d522f475Smrg	use=xterm+pce0,
1010d522f475Smrg
1011d522f475Smrgxterm+pce1|fragment with modifyCursorKeys:1,
1012d522f475Smrg	kDC=\E[3;2~,
1013d522f475Smrg	kEND=\E[2F,
1014d522f475Smrg	kHOM=\E[2H,
1015d522f475Smrg	kIC=\E[2;2~,
1016d522f475Smrg	kNXT=\E[6;2~,
1017d522f475Smrg	kPRV=\E[5;2~,
1018d522f475Smrg	kDC3=\E[3;3~,
1019d522f475Smrg	kDC4=\E[3;4~,
1020d522f475Smrg	kDC5=\E[3;5~,
1021d522f475Smrg	kDC6=\E[3;6~,
1022d522f475Smrg	kDC7=\E[3;7~,
1023d522f475Smrg	kEND3=\E[3F,
1024d522f475Smrg	kEND4=\E[4F,
1025d522f475Smrg	kEND5=\E[5F,
1026d522f475Smrg	kEND6=\E[6F,
1027d522f475Smrg	kEND7=\E[7F,
1028d522f475Smrg	kHOM3=\E[3H,
1029d522f475Smrg	kHOM4=\E[4H,
1030d522f475Smrg	kHOM5=\E[5H,
1031d522f475Smrg	kHOM6=\E[6H,
1032d522f475Smrg	kHOM7=\E[7H,
1033d522f475Smrg	kIC3=\E[2;3~,
1034d522f475Smrg	kIC4=\E[2;4~,
1035d522f475Smrg	kIC5=\E[2;5~,
1036d522f475Smrg	kIC6=\E[2;6~,
1037d522f475Smrg	kIC7=\E[2;7~,
1038d522f475Smrg	kNXT3=\E[6;3~,
1039d522f475Smrg	kNXT4=\E[6;4~,
1040d522f475Smrg	kNXT5=\E[6;5~,
1041d522f475Smrg	kNXT6=\E[6;6~,
1042d522f475Smrg	kNXT7=\E[6;7~,
1043d522f475Smrg	kPRV3=\E[5;3~,
1044d522f475Smrg	kPRV4=\E[5;4~,
1045d522f475Smrg	kPRV5=\E[5;5~,
1046d522f475Smrg	kPRV6=\E[5;6~,
1047d522f475Smrg	kPRV7=\E[5;7~,
1048d522f475Smrg	use=xterm+pce0,
1049d522f475Smrg
1050d522f475Smrgxterm+pce0|fragment with modifyCursorKeys:0,
1051d522f475Smrg	kDC=\E[3;2~,
1052d522f475Smrg	kEND=\EO2F,
1053d522f475Smrg	kHOM=\EO2H,
1054d522f475Smrg	kIC=\E[2;2~,
1055d522f475Smrg	kNXT=\E[6;2~,
1056d522f475Smrg	kPRV=\E[5;2~,
1057d522f475Smrg	kDC3=\E[3;3~,
1058d522f475Smrg	kDC4=\E[3;4~,
1059d522f475Smrg	kDC5=\E[3;5~,
1060d522f475Smrg	kDC6=\E[3;6~,
1061d522f475Smrg	kDC7=\E[3;7~,
1062d522f475Smrg	kEND3=\EO3F,
1063d522f475Smrg	kEND4=\EO4F,
1064d522f475Smrg	kEND5=\EO5F,
1065d522f475Smrg	kEND6=\EO6F,
1066d522f475Smrg	kEND7=\EO7F,
1067d522f475Smrg	kHOM3=\EO3H,
1068d522f475Smrg	kHOM4=\EO4H,
1069d522f475Smrg	kHOM5=\EO5H,
1070d522f475Smrg	kHOM6=\EO6H,
1071d522f475Smrg	kHOM7=\EO7H,
1072d522f475Smrg	kIC3=\E[2;3~,
1073d522f475Smrg	kIC4=\E[2;4~,
1074d522f475Smrg	kIC5=\E[2;5~,
1075d522f475Smrg	kIC6=\E[2;6~,
1076d522f475Smrg	kIC7=\E[2;7~,
1077d522f475Smrg	kNXT3=\E[6;3~,
1078d522f475Smrg	kNXT4=\E[6;4~,
1079d522f475Smrg	kNXT5=\E[6;5~,
1080d522f475Smrg	kNXT6=\E[6;6~,
1081d522f475Smrg	kNXT7=\E[6;7~,
1082d522f475Smrg	kPRV3=\E[5;3~,
1083d522f475Smrg	kPRV4=\E[5;4~,
1084d522f475Smrg	kPRV5=\E[5;5~,
1085d522f475Smrg	kPRV6=\E[5;6~,
1086d522f475Smrg	kPRV7=\E[5;7~,
108704b94745Smrg	use=vt220+pcedit,
1088913cc679Smrg
1089ad37e533Smrgecma+italics|ECMA-48 italics,
1090ad37e533Smrg	ritm=\E[23m,
1091ad37e533Smrg	sitm=\E[3m,
1092ad37e533Smrg
1093f2e35a3aSmrg# The rmxx/smxx capabilities are an ncurses extension
1094913cc679Smrgecma+strikeout|ECMA-48 strikeout/crossed-out,
1095913cc679Smrg	rmxx=\E[29m,
1096913cc679Smrg	smxx=\E[9m,
1097f2e35a3aSmrg
1098ad37e533Smrg# ECMA-48 does not include the VT100 indexing and scroll-margins.  It has its
1099ad37e533Smrg# own variation.
1100ad37e533Smrgecma+index|ECMA-48 scroll up/down,
1101ad37e533Smrg	indn=\E[%p1%dS,
1102ad37e533Smrg	rin=\E[%p1%dT,
1103ad37e533Smrg
1104f2e35a3aSmrg# The XM capability is an ncurses extension
1105f2e35a3aSmrgxterm+sm+1006|xterm SGR-mouse,
1106f2e35a3aSmrg	kmous=\E[<,
110704b94745Smrg	XM=\E[?1006;1000
1108f2e35a3aSmrg		%?
1109f2e35a3aSmrg			%p1%{1}%=
1110f2e35a3aSmrg			%th
1111f2e35a3aSmrg		%e
1112f2e35a3aSmrg			l
1113f2e35a3aSmrg		%;,
1114f2e35a3aSmrg	xm=\E[<%i
11154419d26bSmrg		%p3%d;
11164419d26bSmrg		%p1%d;
11174419d26bSmrg		%p2%d;
1118f2e35a3aSmrg		%?
1119f2e35a3aSmrg			%p4
1120f2e35a3aSmrg			%tM
1121f2e35a3aSmrg		%e
1122f2e35a3aSmrg			m
1123f2e35a3aSmrg		%;,
1124f2e35a3aSmrg
1125f2e35a3aSmrg# By default, ncurses knows that xterm private mode 1000 enables/disables
1126f2e35a3aSmrg# the X11 xterm mouse protocol.  So XM is not needed here, except for clarity.
1127f2e35a3aSmrgxterm+x11mouse|X11 xterm mouse protocol,
1128f2e35a3aSmrg	kmous=\E[M,
1129f2e35a3aSmrg	XM=\E[?1000
1130f2e35a3aSmrg		%?
1131f2e35a3aSmrg			%p1%{1}%=
1132f2e35a3aSmrg			%th
1133f2e35a3aSmrg		%e
1134f2e35a3aSmrg			l
1135f2e35a3aSmrg		%;,
1136f2e35a3aSmrg	xm=\E[M
1137f2e35a3aSmrg		%?
1138f2e35a3aSmrg			%p4
11394419d26bSmrg			%t
11404419d26bSmrg			%p3
1141f2e35a3aSmrg		%e%{3}
1142f2e35a3aSmrg		%;
1143f2e35a3aSmrg		%'\s'%+%c
11444419d26bSmrg		%p2%'!'%+%c
11454419d26bSmrg		%p1%'!'%+%c,
1146f2e35a3aSmrg
11475307cd1aSmrg# xterm patch #224 2007/2/11 added private mode 1004, for enabling/disabling
11485307cd1aSmrg# focus in/out event reporting.  The 1004 is normally part of XM in a different
11495307cd1aSmrg# building-block, e.g., for reporting any events.
11505307cd1aSmrgxterm+focus|xterm focus-in/out event "keys",
11515307cd1aSmrg	XF,
115204b94745Smrg	fd=\E[?1004l,
115304b94745Smrg	fe=\E[?1004h,
11545307cd1aSmrg	kxIN=\E[I,
11555307cd1aSmrg	kxOUT=\E[O,
11565307cd1aSmrg
11575307cd1aSmrg# https://invisible-island.net/xterm/xterm-paste64.html
11585307cd1aSmrg#
11595307cd1aSmrg# Bracketed paste was introduced by xterm patch #203 in May 2005, as part of a
11605307cd1aSmrg# larger feature for manipulating the clipboard selection.  Few terminals aside
11615307cd1aSmrg# from xterm fully implement the clipboard feature, but several copy this
11625307cd1aSmrg# detail.  The names for the extended capabilities here were introduced by vim
11635307cd1aSmrg# in January 2017, but used internally.  In 2023, vim patch 9.0.1117 is needed
11645307cd1aSmrg# to work with this change.
11655307cd1aSmrgbracketed+paste|xterm bracketed paste,
11665307cd1aSmrg	BD=\E[?2004l,
11675307cd1aSmrg	BE=\E[?2004h,
11685307cd1aSmrg	PE=\E[201~,
11695307cd1aSmrg	PS=\E[200~,
11705307cd1aSmrg
11715307cd1aSmrg# https://invisible-island.net/xterm/xterm.log.html#xterm_354
11725307cd1aSmrg#
11735307cd1aSmrg# The response is a DSR sequence identifying the version: DCS > | text ST
11745307cd1aSmrg# For example:
11755307cd1aSmrg#	^[P>|XTerm(354)^[\
11765307cd1aSmrgreport+version|Report xterm name and version (XTVERSION).,
11775307cd1aSmrg	XR=\E[>0q,
11785307cd1aSmrg	xr=\EP>\\|XTerm\\([1-9][0-9]+\\)
11795307cd1aSmrg	   \E\\\\,
11805307cd1aSmrg	use=report+da2,
11815307cd1aSmrg
11825307cd1aSmrg# Vim uses RV to denote the secondary device attributes.  Xterm documents the
11835307cd1aSmrg# - first parameter as the terminal type (extending it to VT100),
11845307cd1aSmrg# - the second as the patch number for xterm, and
11855307cd1aSmrg# - the third parameter as zero.
11865307cd1aSmrg# Other terminals may provide useful responses, though few are documented.
11875307cd1aSmrg#
11885307cd1aSmrg# Since patch #280 2012/06/24, xterm by default reports itself as a VT420.
11895307cd1aSmrgreport+da2|report secondary device attributes (DA2),
11905307cd1aSmrg	RV=\E[>c,
11915307cd1aSmrg	rv=\E\\[41;[1-6][0-9][0-9];0c,
11925307cd1aSmrg
1193d522f475Smrg# This chunk is used for building the VT220/Sun/PC keyboard variants.
1194d522f475Smrgxterm-basic|modern xterm terminal emulator - common,
1195d522f475Smrg	OTbs,
1196d522f475Smrg	am,
1197d522f475Smrg	bce,
1198d522f475Smrg	km,
1199d522f475Smrg	mir,
1200d522f475Smrg	msgr,
1201d522f475Smrg	xenl,
1202d522f475Smrg	AX,
12030bd37d32Smrg	XT,
1204d522f475Smrg	colors#8,
1205d522f475Smrg	cols#80,
1206d522f475Smrg	lines#24,
1207d522f475Smrg	pairs#64,
1208913cc679Smrg	acsc=``aaffggiijjkkllmmnnooppqqr
1209913cc679Smrg	     rssttuuvvwwxxyyzz{{||}}~~,
1210d522f475Smrg	bel=^G,
1211d522f475Smrg	civis=\E[?25l,
1212d522f475Smrg	clear=\E[H\E[2J,
1213d522f475Smrg	cnorm=\E[?12l\E[?25h,
1214913cc679Smrg	cr=\r,
1215d522f475Smrg	cub1=^H,
1216913cc679Smrg	cud1=\n,
1217d522f475Smrg	cup=\E[%i%p1%d;%p2%dH,
1218d522f475Smrg	cvvis=\E[?12;25h,
1219d522f475Smrg	dch=\E[%p1%dP,
1220d522f475Smrg	dch1=\E[P,
1221d522f475Smrg	ech=\E[%p1%dX,
1222d522f475Smrg	ed=\E[J,
1223d522f475Smrg	el=\E[K,
1224d522f475Smrg	el1=\E[1K,
1225d522f475Smrg	flash=\E[?5h$<100/>\E[?5l,
1226d522f475Smrg	home=\E[H,
1227d522f475Smrg	ich=\E[%p1%d@,
1228913cc679Smrg	ind=\n,
1229d522f475Smrg	is2=\E[!p\E[?3;4l\E[4l\E>,
1230d522f475Smrg	kmous=\E[M,
1231d522f475Smrg	meml=\El,
1232d522f475Smrg	memu=\Em,
1233d522f475Smrg	op=\E[39;49m,
1234d522f475Smrg	ri=\EM,
1235d522f475Smrg	rmacs=\E(B,
1236d522f475Smrg	rmam=\E[?7l,
1237d522f475Smrg	rmir=\E[4l,
1238d522f475Smrg	rmkx=\E[?1l\E>,
1239d522f475Smrg	rmm=\E[?1034l,
1240d522f475Smrg	rmso=\E[27m,
1241d522f475Smrg	rmul=\E[24m,
1242d522f475Smrg	rs1=\Ec,
1243d522f475Smrg	rs2=\E[!p\E[?3;4l\E[4l\E>,
1244d522f475Smrg	setab=\E[4%p1%dm,
1245d522f475Smrg	setaf=\E[3%p1%dm,
1246913cc679Smrg	setb=\E[4
1247913cc679Smrg		%?
1248913cc679Smrg			%p1%{1}%=
1249913cc679Smrg			%t4
1250913cc679Smrg		%e
1251913cc679Smrg			%p1%{3}%=
1252913cc679Smrg			%t6
1253913cc679Smrg		%e
1254913cc679Smrg			%p1%{4}%=
1255913cc679Smrg			%t1
1256913cc679Smrg		%e
1257913cc679Smrg			%p1%{6}%=
1258913cc679Smrg			%t3
1259913cc679Smrg		%e
1260913cc679Smrg			%p1%d
1261913cc679Smrg		%;
1262913cc679Smrg		m,
1263913cc679Smrg	setf=\E[3
1264913cc679Smrg		%?
1265913cc679Smrg			%p1%{1}%=
1266913cc679Smrg			%t4
1267913cc679Smrg		%e
1268913cc679Smrg			%p1%{3}%=
1269913cc679Smrg			%t6
1270913cc679Smrg		%e
1271913cc679Smrg			%p1%{4}%=
1272913cc679Smrg			%t1
1273913cc679Smrg		%e
1274913cc679Smrg			%p1%{6}%=
1275913cc679Smrg			%t3
1276913cc679Smrg		%e
1277913cc679Smrg			%p1%d
1278913cc679Smrg		%;
1279913cc679Smrg		m,
1280913cc679Smrg	sgr=
1281913cc679Smrg		%?
1282913cc679Smrg			%p9
1283913cc679Smrg			%t\E(0
1284913cc679Smrg		%e
1285913cc679Smrg			\E(B
1286913cc679Smrg		%;
1287913cc679Smrg		\E[0
1288913cc679Smrg		%?
1289913cc679Smrg			%p6
1290913cc679Smrg			%t;1
1291913cc679Smrg		%;
1292913cc679Smrg		%?
1293913cc679Smrg			%p5
1294913cc679Smrg			%t;2
1295913cc679Smrg		%;
1296913cc679Smrg		%?
1297913cc679Smrg			%p2
1298913cc679Smrg			%t;4
1299913cc679Smrg		%;
1300913cc679Smrg		%?
13014419d26bSmrg			%p1
13024419d26bSmrg			%p3%|
1303913cc679Smrg			%t;7
1304913cc679Smrg		%;
1305913cc679Smrg		%?
1306913cc679Smrg			%p4
1307913cc679Smrg			%t;5
1308913cc679Smrg		%;
1309913cc679Smrg		%?
1310913cc679Smrg			%p7
1311913cc679Smrg			%t;8
1312913cc679Smrg		%;
1313913cc679Smrg		m,
1314d522f475Smrg	sgr0=\E(B\E[m,
1315d522f475Smrg	smacs=\E(0,
1316d522f475Smrg	smam=\E[?7h,
1317d522f475Smrg	smir=\E[4h,
1318d522f475Smrg	smkx=\E[?1h\E=,
1319d522f475Smrg	smm=\E[?1034h,
13202e4f8982Smrg	E3=\E[3J,
132104b94745Smrg	use=ansi+csr,
1322f2e35a3aSmrg	use=ansi+enq,
132304b94745Smrg	use=ansi+idl,
132404b94745Smrg	use=ansi+inittabs,
132504b94745Smrg	use=ansi+local,
132604b94745Smrg	use=ansi+pp,
132704b94745Smrg	use=ansi+rca2,
132804b94745Smrg	use=ansi+sgrbold,
132904b94745Smrg	use=ansi+sgrdim,
1330f2e35a3aSmrg	use=xterm+alt+title,
13310bd37d32Smrg	use=xterm+kbs,
1332ad37e533Smrg
1333ad37e533Smrgxterm+nofkeys|building block for xterm fkey-variants,
1334ad37e533Smrg	npc,
1335ad37e533Smrg	kcbt=\E[Z,
1336ad37e533Smrg	kent=\EOM,
1337ad37e533Smrg	nel=\EE,
1338ad37e533Smrg	use=ecma+index,
1339ad37e533Smrg	use=ansi+rep,
1340ad37e533Smrg	use=ecma+strikeout,
1341ad37e533Smrg	use=vt420+lrmm,
1342ad37e533Smrg	use=xterm+sm+1006,
1343ad37e533Smrg	use=xterm+tmux,
134404b94745Smrg	use=xterm+focus,
1345ad37e533Smrg	use=ecma+italics,
1346ad37e533Smrg	use=xterm+keypad,
1347ad37e533Smrg	use=xterm-basic,
1348d522f475Smrg#
1349d522f475Smrg# The xterm-new description has all of the features, but is not completely
1350d522f475Smrg# compatible with vt220.  If you are using a Sun or PC keyboard, set the
1351d522f475Smrg# sunKeyboard resource to true:
1352d522f475Smrg#	+ maps the editing keypad
1353d522f475Smrg#	+ interprets control-function-key as a second array of keys, so a
1354d522f475Smrg#	  12-fkey keyboard can support vt220's 20-fkeys.
1355d522f475Smrg#	+ maps numeric keypad "+" to ",".
1356d522f475Smrg#	+ uses DEC-style control sequences for the application keypad.
1357d522f475Smrg#
1358d522f475Smrg# Some packagers modify xterm's resource definitions to provide extra function
1359d522f475Smrg# keys by using the shift-modifier in the translations resource.  However, that
1360d522f475Smrg# interferes with the DECUDK functionality.
1361d522f475Smrg#
1362d522f475Smrgxterm-vt220|xterm emulating vt220,
1363ad37e533Smrg	npc,
1364d522f475Smrg	kcbt=\E[Z,
1365d522f475Smrg	kend=\E[4~,
1366d522f475Smrg	kf10=\E[21~,
1367d522f475Smrg	kf11=\E[23~,
1368d522f475Smrg	kf12=\E[24~,
1369d522f475Smrg	kf13=\E[25~,
1370d522f475Smrg	kf14=\E[26~,
1371d522f475Smrg	kf15=\E[28~,
1372d522f475Smrg	kf16=\E[29~,
1373d522f475Smrg	kf17=\E[31~,
1374d522f475Smrg	kf18=\E[32~,
1375d522f475Smrg	kf19=\E[33~,
1376d522f475Smrg	kf20=\E[34~,
1377d522f475Smrg	kf5=\E[15~,
1378d522f475Smrg	kf6=\E[17~,
1379d522f475Smrg	kf7=\E[18~,
1380d522f475Smrg	kf8=\E[19~,
1381d522f475Smrg	kf9=\E[20~,
1382d522f475Smrg	khome=\E[1~,
1383ad37e533Smrg	kmous=\E[M,
1384ad37e533Smrg	nel=\EE,
1385d522f475Smrg	use=xterm+app,
1386ad37e533Smrg	use=vt220+keypad,
138704b94745Smrg	use=vt220+pcedit,
1388ad37e533Smrg	use=ecma+italics,
1389ad37e533Smrg	use=ecma+index,
1390ad37e533Smrg	use=ansi+rep,
1391ad37e533Smrg	use=ecma+strikeout,
139204b94745Smrg	use=xterm+focus,
1393ad37e533Smrg	use=xterm+sm+1006,
1394ad37e533Smrg	use=xterm+tmux,
1395ad37e533Smrg	use=xterm+keypad,
1396d522f475Smrg	use=xterm-basic,
1397d522f475Smrg#
1398d522f475Smrgxterm-vt52|xterm emulating dec vt52,
1399d522f475Smrg	cols#80,
1400d522f475Smrg	it#8,
1401d522f475Smrg	lines#24,
1402913cc679Smrg	acsc=``aaffggjjkkllmmnnooppqqrrs
1403913cc679Smrg	     sttuuvvwwxxyyzz{{||}}~~,
1404d522f475Smrg	bel=^G,
1405d522f475Smrg	clear=\EH\EJ,
1406913cc679Smrg	cr=\r,
1407d522f475Smrg	cub1=\ED,
1408d522f475Smrg	cud1=\EB,
1409d522f475Smrg	cuf1=\EC,
1410913cc679Smrg	cup=\EY%p1%'\s'%+%c%p2%'\s'%+%c,
1411d522f475Smrg	cuu1=\EA,
1412d522f475Smrg	ed=\EJ,
1413d522f475Smrg	el=\EK,
1414d522f475Smrg	home=\EH,
1415d522f475Smrg	ht=^I,
1416913cc679Smrg	ind=\n,
1417d522f475Smrg	kcub1=\ED,
1418d522f475Smrg	kcud1=\EB,
1419d522f475Smrg	kcuf1=\EC,
1420d522f475Smrg	kcuu1=\EA,
1421913cc679Smrg	nel=\r\n,
1422d522f475Smrg	ri=\EI,
1423d522f475Smrg	rmacs=\EG,
1424d522f475Smrg	smacs=\EF,
14250bd37d32Smrg	use=xterm+kbs,
1426f2e35a3aSmrg	use=vt52+keypad,
1427f2e35a3aSmrg
1428f2e35a3aSmrg# from ncurses 6.2:
1429f2e35a3aSmrg# DECScope of course had no "function keys", but this building block assigns
1430f2e35a3aSmrg# the three blank keys at the top of the auxiliary (numeric) keypad, using
1431f2e35a3aSmrg# the same analogy as vt100 (also lacking function-keys).
1432f2e35a3aSmrg#
1433f2e35a3aSmrg# These assignments use the same layout for 0-9 as vt100+keypad; the vt52
1434f2e35a3aSmrg# keypad had its cursor-keys on the right-column as shown -TD
1435f2e35a3aSmrg#   _______________________________________
1436f2e35a3aSmrg#  |   PF1   |   PF2   |   PF3   | c-up    |
1437f2e35a3aSmrg#  |   \EP   |   \EQ   |   \ER   |   \EA   |
1438f2e35a3aSmrg#  |_kf1__k1_|_kf2__k2_|_kf3__k3_|kcuu1_k4_|
1439f2e35a3aSmrg#  |    7         8         9      c-down  |
1440f2e35a3aSmrg#  |   \E?w  |   \E?x  |   \E?y  |   \EB   |
1441f2e35a3aSmrg#  |_kf9__k9_|_kf10_k;_|_kf0__k0_|kcud1____|
1442f2e35a3aSmrg#  |    4    |    5    |    6    | c-right |
1443f2e35a3aSmrg#  |   \E?t  |   \E?u  |   \E?v  |   \EC   |
1444f2e35a3aSmrg#  |_kf5__k5_|_kf6__k6_|_kf7__k7_|kcuf1_k8_|
1445f2e35a3aSmrg#  |    1    |    2    |    3    | c-left  |
1446f2e35a3aSmrg#  |   \E?q  |   \E?r  |   \E?s  |   \ED   |
1447f2e35a3aSmrg#  |_ka1__K1_|_kb2__K2_|_ka3__K3_|kcub1____|
1448f2e35a3aSmrg#  |         0         |   .     |  enter  |
1449f2e35a3aSmrg#  |        \E?p       |  \E?n   |  \E?M   |
1450f2e35a3aSmrg#  |___kc1_______K4____|_kc3__K5_|_kent_@8_|
1451f2e35a3aSmrg#
1452f2e35a3aSmrgvt52+keypad|DECScope auxiliary keypad,
1453f2e35a3aSmrg	ka1=\E?q,
1454f2e35a3aSmrg	ka3=\E?s,
1455f2e35a3aSmrg	kb2=\E?r,
1456f2e35a3aSmrg	kc1=\E?p,
1457f2e35a3aSmrg	kc3=\E?n,
1458f2e35a3aSmrg	kf0=\E?y,
1459f2e35a3aSmrg	kf1=\EP,
1460f2e35a3aSmrg	kf2=\EQ,
1461f2e35a3aSmrg	kf3=\ER,
1462f2e35a3aSmrg	kf5=\E?t,
1463f2e35a3aSmrg	kf6=\E?u,
1464f2e35a3aSmrg	kf7=\E?v,
1465f2e35a3aSmrg	kf8=\E?w,
1466f2e35a3aSmrg	kf9=\E?x,
1467d522f475Smrg#
1468d522f475Smrg# Sun does not number the function keys this way in their sparse termcap; their
1469d522f475Smrg# terminal descriptions ignore the keypads.  kb(7M) states that there are codes
1470d522f475Smrg# reserved for 64 function keys, 16 each in left, right, top and bottom.  Each
1471d522f475Smrg# keyboard type has a different number of function keys in different
1472d522f475Smrg# arrangements.  Using xkeycaps for reference:
1473d522f475Smrg#
1474d522f475Smrg# Type 3:  left 10, top 9, right 15
1475d522f475Smrg# ------
1476d522f475Smrg# kf1-kf9 are XK_F1-XK_F9
1477d522f475Smrg# There is no kf10 on this keyboard type.
1478d522f475Smrg# kf11-kf20 are keysyms XK_L1 through XK_L10.
1479d522f475Smrg# kf31-kf45 are keysyms XK_R1 through XK_R15.
1480d522f475Smrg#
1481d522f475Smrg# However, X's keysymdef.h is hard-coded to make
1482d522f475Smrg#	XK_L1==XK_F11 and
1483d522f475Smrg#	XK_R1==XK_F21,
1484d522f475Smrg# by someone who was unfamiliar with terminal types other than Sun's.  So
1485d522f475Smrg# xterm uses the internal X keysymbols, but the terminfo entry uses the Sun
1486d522f475Smrg# numbering scheme.
1487d522f475Smrg#
1488d522f475Smrg# Type 4:  left 11, top 12, right 15
1489d522f475Smrg# ------
1490d522f475Smrg# The left-keypad contains an unnumbered Help-key.
1491d522f475Smrg# The right-keypad also contains NumLock, Ins, Del, Enter, + and - keys which
1492d522f475Smrg# do not appear to be part of the R-sequence.
1493d522f475Smrg#
1494d522f475Smrg# Type 5:  left 9, top 12, right (more than one keypad)
1495d522f475Smrg# ------
1496d522f475Smrg# These keyboards do not use the same naming convention, look like a hybrid of
1497d522f475Smrg# the type 4 and IBM keyboards.
1498d522f475Smrg#
1499d522f475Smrg# XTerm resources:
1500d522f475Smrg# ---------------
1501d522f475Smrg# Set the modifyFunctionKeys resource to negative (-1) to make it simple to
1502d522f475Smrg# enter the higher function-key values using shift- and control-modifiers.
1503d522f475Smrg#
1504d522f475Smrgxterm-sun|xterm with sun function keys,
1505d522f475Smrg	kb2=\E[218z,
1506d522f475Smrg	kcpy=\E[197z,
1507d522f475Smrg	kdch1=\E[3z,
1508d522f475Smrg	kend=\E[220z,
1509d522f475Smrg	kf1=\E[224z,
1510d522f475Smrg	kf10=\E[233z,
1511d522f475Smrg	kf11=\E[192z,
1512d522f475Smrg	kf12=\E[193z,
1513d522f475Smrg	kf13=\E[194z,
1514d522f475Smrg	kf14=\E[195z,
1515d522f475Smrg	kf15=\E[196z,
1516d522f475Smrg	kf17=\E[198z,
1517d522f475Smrg	kf18=\E[199z,
1518d522f475Smrg	kf19=\E[200z,
1519d522f475Smrg	kf2=\E[225z,
1520d522f475Smrg	kf20=\E[201z,
1521d522f475Smrg	kf3=\E[226z,
1522d522f475Smrg	kf31=\E[208z,
1523d522f475Smrg	kf32=\E[209z,
1524d522f475Smrg	kf33=\E[210z,
1525d522f475Smrg	kf34=\E[211z,
1526d522f475Smrg	kf35=\E[212z,
1527d522f475Smrg	kf36=\E[213z,
1528d522f475Smrg	kf38=\E[215z,
1529d522f475Smrg	kf4=\E[227z,
1530d522f475Smrg	kf40=\E[217z,
1531d522f475Smrg	kf42=\E[219z,
1532d522f475Smrg	kf44=\E[221z,
1533d522f475Smrg	kf45=\E[222z,
1534d522f475Smrg	kf46=\E[234z,
1535d522f475Smrg	kf47=\E[235z,
1536d522f475Smrg	kf5=\E[228z,
1537d522f475Smrg	kf6=\E[229z,
1538d522f475Smrg	kf7=\E[230z,
1539d522f475Smrg	kf8=\E[231z,
1540d522f475Smrg	kf9=\E[232z,
1541d522f475Smrg	kfnd=\E[200z,
1542d522f475Smrg	khlp=\E[196z,
1543d522f475Smrg	khome=\E[214z,
1544d522f475Smrg	kich1=\E[2z,
1545d522f475Smrg	knp=\E[222z,
1546d522f475Smrg	kpp=\E[216z,
1547d522f475Smrg	kund=\E[195z,
154804b94745Smrg	use=xterm+kbs,
154904b94745Smrg	use=ansi+apparrows,
1550a5ae21e4Smrg	use=xterm+nopcfkeys,
1551ad37e533Smrg	use=xterm+nofkeys,
1552a5ae21e4Smrg
1553a5ae21e4Smrg# Note: normally xterm supports modified function-keys as described in
1554a5ae21e4Smrg#	XTerm - "Other" modified keys
1555a5ae21e4Smrg#	https://invisible-island.net/xterm/modified-keys.html
1556a5ae21e4Smrg#
1557a5ae21e4Smrg# However, xterm-hp, xterm-sco and xterm-sun assume no modifiers.  Here is
1558a5ae21e4Smrg# a simple script which demonstrates these descriptions:
1559a5ae21e4Smrg#	#!/bin/sh
1560a5ae21e4Smrg#	export TERM=xterm-$1
1561a5ae21e4Smrg#	xterm \
1562a5ae21e4Smrg#		-kt $1 \
1563a5ae21e4Smrg#		-fs 16 -fa mono \
1564a5ae21e4Smrg#		-title $TERM \
1565a5ae21e4Smrg#		-tn $TERM \
1566a5ae21e4Smrg#		-xrm '*modifyCursorKeys:-1' \
1567a5ae21e4Smrg#		-xrm '*modifyFunctionKeys:-1' \
1568a5ae21e4Smrg#		-e tack
1569a5ae21e4Smrg# e.g., "foo sun" if the script is named "foo" -TD
1570a5ae21e4Smrg
1571d522f475Smrgxterm-hp|xterm with hpterm function keys,
1572d522f475Smrg	kclr=\EJ,
1573d522f475Smrg	kcub1=\ED,
1574d522f475Smrg	kcud1=\EB,
1575d522f475Smrg	kcuf1=\EC,
1576d522f475Smrg	kcuu1=\EA,
1577d522f475Smrg	kdch1=\EP,
1578d522f475Smrg	kend=\EF,
1579d522f475Smrg	kf1=\Ep,
1580d522f475Smrg	kf2=\Eq,
1581d522f475Smrg	kf3=\Er,
1582d522f475Smrg	kf4=\Es,
1583d522f475Smrg	kf5=\Et,
1584d522f475Smrg	kf6=\Eu,
1585d522f475Smrg	kf7=\Ev,
1586d522f475Smrg	kf8=\Ew,
1587d522f475Smrg	khome=\Eh,
1588d522f475Smrg	kich1=\EQ,
1589d522f475Smrg	knp=\ES,
1590d522f475Smrg	kpp=\ET,
1591ad37e533Smrg	use=xterm+nofkeys,
1592a5ae21e4Smrg	use=xterm+nopcfkeys,
1593d522f475Smrg#
1594d522f475Smrg# scoterm implements 48 function-keys using shift- and control-modifiers to
1595d522f475Smrg# multiple 12 function-keys.  X has a hard-coded limit of 35 function-keys,
1596d522f475Smrg# but xterm can represent larger values.
1597d522f475Smrg#
1598d522f475Smrg# XTerm resources:
1599d522f475Smrg# ---------------
1600d522f475Smrg# Set the modifyFunctionKeys resource to negative (-1) to make it simple to
1601d522f475Smrg# enter the higher function-key values using shift- and control-modifiers.
1602d522f475Smrg#
1603d522f475Smrg# Also, set ctrlFKeys resource to 12 (the default is 10) to make xterm see 48
1604d522f475Smrg# function-keys on a keyboard with 12 function-keys and 4 control/shift
1605d522f475Smrg# modifier combinations.
1606d522f475Smrg#
1607d522f475Smrgxterm-sco|xterm with SCO function keys,
1608d522f475Smrg	kbeg=\E[E,
1609913cc679Smrg	kdch1=^?,
1610d522f475Smrg	kf1=\E[M,
1611d522f475Smrg	kf10=\E[V,
1612d522f475Smrg	kf11=\E[W,
1613d522f475Smrg	kf12=\E[X,
1614d522f475Smrg	kf13=\E[Y,
1615d522f475Smrg	kf14=\E[Z,
1616d522f475Smrg	kf15=\E[a,
1617d522f475Smrg	kf16=\E[b,
1618d522f475Smrg	kf17=\E[c,
1619d522f475Smrg	kf18=\E[d,
1620d522f475Smrg	kf19=\E[e,
1621d522f475Smrg	kf2=\E[N,
1622d522f475Smrg	kf20=\E[f,
1623d522f475Smrg	kf21=\E[g,
1624d522f475Smrg	kf22=\E[h,
1625d522f475Smrg	kf23=\E[i,
1626d522f475Smrg	kf24=\E[j,
1627d522f475Smrg	kf25=\E[k,
1628d522f475Smrg	kf26=\E[l,
1629d522f475Smrg	kf27=\E[m,
1630d522f475Smrg	kf28=\E[n,
1631d522f475Smrg	kf29=\E[o,
1632d522f475Smrg	kf3=\E[O,
1633d522f475Smrg	kf30=\E[p,
1634d522f475Smrg	kf31=\E[q,
1635d522f475Smrg	kf32=\E[r,
1636d522f475Smrg	kf33=\E[s,
1637d522f475Smrg	kf34=\E[t,
1638d522f475Smrg	kf35=\E[u,
1639d522f475Smrg	kf36=\E[v,
1640d522f475Smrg	kf37=\E[w,
1641d522f475Smrg	kf38=\E[x,
1642d522f475Smrg	kf39=\E[y,
1643d522f475Smrg	kf4=\E[P,
1644d522f475Smrg	kf40=\E[z,
1645d522f475Smrg	kf41=\E[@,
1646d522f475Smrg	kf42=\E[[,
1647d522f475Smrg	kf43=\E[\\,
1648d522f475Smrg	kf44=\E[],
1649d522f475Smrg	kf45=\E[\^,
1650d522f475Smrg	kf46=\E[_,
1651d522f475Smrg	kf47=\E[`,
1652d522f475Smrg	kf48=\E[{,
1653d522f475Smrg	kf5=\E[Q,
1654d522f475Smrg	kf6=\E[R,
1655d522f475Smrg	kf7=\E[S,
1656d522f475Smrg	kf8=\E[T,
1657d522f475Smrg	kf9=\E[U,
1658d522f475Smrg	kich1=\E[L,
1659d522f475Smrg	kmous=\E[>M,
1660d522f475Smrg	knp=\E[G,
1661d522f475Smrg	kpp=\E[I,
166204b94745Smrg	use=vt100+noapp,
1663ad37e533Smrg	use=xterm+nofkeys,
1664d522f475Smrg#
1665d522f475Smrg# Other variants (these are all very old entries, from X11R5):
1666d522f475Smrgxterm-24|xterms|vs100|xterm terminal emulator (X Window System),
1667d522f475Smrg	lines#24,
1668d522f475Smrg	use=xterm-old,
1669d522f475Smrgxterm-65|xterm with tall window 65x80 (X Window System),
1670d522f475Smrg	lines#65,
1671d522f475Smrg	use=xterm-old,
1672d522f475Smrgxterm-bold|xterm with bold instead of underline (X Window System),
1673913cc679Smrg	sgr=
1674913cc679Smrg		%?
1675913cc679Smrg			%p9
1676913cc679Smrg			%t\016
1677913cc679Smrg		%e
1678913cc679Smrg			\017
1679913cc679Smrg		%;
1680913cc679Smrg		B\E[0
1681913cc679Smrg		%?
1682913cc679Smrg			%p6
1683913cc679Smrg			%t;1
1684913cc679Smrg		%;
1685913cc679Smrg		%?
1686913cc679Smrg			%p2
1687913cc679Smrg			%t;1
1688913cc679Smrg		%;
1689913cc679Smrg		%?
16904419d26bSmrg			%p1
16914419d26bSmrg			%p3%|
1692913cc679Smrg			%t;7
1693913cc679Smrg		%;
1694913cc679Smrg		m,
1695d522f475Smrg	smso=\E[7m,
1696d522f475Smrg	smul=\E[1m,
1697d522f475Smrg	use=xterm-old,
1698d522f475Smrgxterm-boldso|xterm with bold for standout (X Window System),
1699d522f475Smrg	rmso=\E[m,
1700d522f475Smrg	smso=\E[1m,
1701d522f475Smrg	use=xterm-old,
1702d522f475Smrgxterm-mono|monochrome xterm,
1703d522f475Smrg	use=xterm-old,
1704d522f475Smrg#
1705d522f475Smrg# VTxxx terminals are usually set up so that full-screen applications will use
1706d522f475Smrg# the cursor application mode strings.  This is good for full-screen
1707d522f475Smrg# applications, including legacy applications which may have hard-coded
1708d522f475Smrg# behavior, but bad for interactive shells (e.g., tcsh, bash) which use arrow
1709d522f475Smrg# keys to scroll through a history of command strings.
1710d522f475Smrg#
1711d522f475Smrg# To see the difference between normal/application modes, consider this example:
1712d522f475Smrg#	+ In normal (non-application) mode, the terminal transmits a down-arrow
1713d522f475Smrg#	  as \E[C, which happens to echo as a down-arrow.
1714d522f475Smrg#	+ In application mode the terminal transmits \EOC, which echoes as C.
1715d522f475Smrg#	  That is because the \EO is the SS3 control, which says to use the
1716d522f475Smrg#	  character from the G3 character set for the next cell.
1717d522f475Smrg#
1718d522f475Smrg# One example of hard-coded behavior would be for applications written to work
1719d522f475Smrg# with VT52 and VT100 terminals.  If the application's parser ignores 'O' and
1720d522f475Smrg# '?' characters after the escape, then the cursor and keypad strings for the
1721d522f475Smrg# two terminals are the same.  (Indeed, one of the first curses applications
1722d522f475Smrg# which I used did something like this to cover "ANSI" terminals -TD).
1723d522f475Smrg#
1724d522f475Smrg# To make this work (leaving the cursor keys in normal mode), we have to adjust
1725d522f475Smrg# the terminal initialization sequences:
1726d522f475Smrg#
1727d522f475Smrg#	smkx/rmkx set/reset the cursor and keypad application modes.  We retain
1728d522f475Smrg#		the latter (otherwise many applications fail).
1729d522f475Smrg#
1730d522f475Smrg#	smcup/rmcup set/restore cursor-addressing mode for full-screen
1731d522f475Smrg#		applications.  For xterm, this normally means the alternate
1732d522f475Smrg#		screen, which is not compatible with interactive shells.  Some
1733d522f475Smrg#		programs are "smart" and disable these.
1734d522f475Smrg#
1735d522f475Smrgxterm-noapp|xterm with cursor keys in normal mode,
1736d522f475Smrg	rmcup@,
1737d522f475Smrg	rmkx=\E>,
1738d522f475Smrg	smcup@,
1739d522f475Smrg	smkx=\E=,
174004b94745Smrg	use=vt100+noapp,
1741d522f475Smrg	use=xterm,
1742d522f475Smrg
174304b94745Smrgvt100+noapp|fragment with cursor keys in normal mode,
1744d522f475Smrg	kcub1=\E[D,
1745d522f475Smrg	kcud1=\E[B,
1746d522f475Smrg	kcuf1=\E[C,
1747d522f475Smrg	kcuu1=\E[A,
174804b94745Smrg	use=vt100+noapp+pc,
174904b94745Smrg
175004b94745Smrgxterm+acs|ISO-2022 alternate character-switching for xterm,
175104b94745Smrg	acsc=``aaffggiijjkkllmmnnooppqqr
175204b94745Smrg	     rssttuuvvwwxxyyzz{{||}}~~,
175304b94745Smrg	enacs@,
175404b94745Smrg	rmacs=\E(B,
175504b94745Smrg	smacs=\E(0,
1756d522f475Smrg
1757d522f475Smrgxterm+app|fragment with cursor keys in application mode,
1758d522f475Smrg	kcub1=\EOD,
1759d522f475Smrg	kcud1=\EOB,
1760d522f475Smrg	kcuf1=\EOC,
1761d522f475Smrg	kcuu1=\EOA,
1762d522f475Smrg	use=xterm+app+pc,
1763d522f475Smrg
176404b94745Smrgvt100+noapp+pc|fragment for noapp pc-style home/end,
1765d522f475Smrg	kend=\E[F,
1766d522f475Smrg	khome=\E[H,
1767d522f475Smrg
1768d522f475Smrgxterm+app+pc|fragment for app pc-style home/end,
1769d522f475Smrg	kend=\EOF,
1770d522f475Smrg	khome=\EOH,
1771d522f475Smrg
177204b94745Smrgvt220+pcedit|fragment for 6-key editing-keypad,
1773d522f475Smrg	kdch1=\E[3~,
1774d522f475Smrg	kich1=\E[2~,
1775d522f475Smrg	knp=\E[6~,
1776d522f475Smrg	kpp=\E[5~,
1777d522f475Smrg	use=xterm+pc+edit,
1778d522f475Smrg
1779d522f475Smrgxterm+decedit|fragment for vt220 6-key editing-keypad,
1780d522f475Smrg	kdch1=\E[3~,
1781d522f475Smrg	kich1=\E[2~,
1782d522f475Smrg	knp=\E[6~,
1783d522f475Smrg	kpp=\E[5~,
1784d522f475Smrg	use=xterm+vt+edit,
1785d522f475Smrg
1786d522f475Smrgxterm+pc+edit|fragment for pc-style editing keypad,
1787d522f475Smrg	kend=\E[4~,
1788d522f475Smrg	khome=\E[1~,
1789d522f475Smrg
1790d522f475Smrgxterm+vt+edit|fragment for vt220-style editing keypad,
1791d522f475Smrg	kfnd=\E[1~,
1792d522f475Smrg	kslt=\E[4~,
1793d522f475Smrg
1794f2e35a3aSmrgxterm+alt1049|xterm 90 feature,
1795f2e35a3aSmrg	rmcup=\E[?1049l,
1796f2e35a3aSmrg	smcup=\E[?1049h,
1797f2e35a3aSmrg
1798f2e35a3aSmrgxterm+titlestack|xterm 251 feature,
1799f2e35a3aSmrg	rmcup=\E[23;0;0t,
1800f2e35a3aSmrg	smcup=\E[22;0;0t,
1801f2e35a3aSmrg
1802f2e35a3aSmrgxterm+alt+title|xterm 90 and 251 features combined,
1803f2e35a3aSmrg	rmcup=\E[?1049l\E[23;0;0t,
1804f2e35a3aSmrg	smcup=\E[?1049h\E[22;0;0t,
1805f2e35a3aSmrg
1806a5ae21e4Smrg# The xterm ctrlFKeys resource defaults to 10, so without the "pc-style"
1807a5ae21e4Smrg# feature, e.g., setting the modifyCursorKeys and modifyFunctionKeys resources
1808a5ae21e4Smrg# to -1 to disable them, one gets 42 function-keys on a 12-function-key
1809a5ae21e4Smrg# keyboard, e.g.,
1810a5ae21e4Smrg# kf1                   = \E[11~
1811a5ae21e4Smrg# kf11 shift f1         = \E[23~
1812a5ae21e4Smrg# kf21 control f1       = \E[42~
1813a5ae21e4Smrg# kf31 shift control f1 = \E[52~
1814a5ae21e4Smrgxterm+nopcfkeys|fragment without PC-style fkeys,
1815a5ae21e4Smrg	kf1=\E[11~,
1816a5ae21e4Smrg	kf10=\E[21~,
1817a5ae21e4Smrg	kf11=\E[23~,
1818a5ae21e4Smrg	kf12=\E[24~,
1819a5ae21e4Smrg	kf13=\E[25~,
1820a5ae21e4Smrg	kf14=\E[26~,
1821a5ae21e4Smrg	kf15=\E[28~,
1822a5ae21e4Smrg	kf16=\E[29~,
1823a5ae21e4Smrg	kf17=\E[31~,
1824a5ae21e4Smrg	kf18=\E[32~,
1825a5ae21e4Smrg	kf19=\E[33~,
1826a5ae21e4Smrg	kf2=\E[12~,
1827a5ae21e4Smrg	kf20=\E[34~,
1828a5ae21e4Smrg	kf21=\E[42~,
1829a5ae21e4Smrg	kf22=\E[43~,
1830a5ae21e4Smrg	kf23=\E[44~,
1831a5ae21e4Smrg	kf24=\E[45~,
1832a5ae21e4Smrg	kf25=\E[46~,
1833a5ae21e4Smrg	kf26=\E[47~,
1834a5ae21e4Smrg	kf27=\E[48~,
1835a5ae21e4Smrg	kf28=\E[49~,
1836a5ae21e4Smrg	kf29=\E[50~,
1837a5ae21e4Smrg	kf3=\E[13~,
1838a5ae21e4Smrg	kf30=\E[51~,
1839a5ae21e4Smrg	kf31=\E[52~,
1840a5ae21e4Smrg	kf32=\E[53~,
1841a5ae21e4Smrg	kf33=\E[54~,
1842a5ae21e4Smrg	kf34=\E[55~,
1843a5ae21e4Smrg	kf35=\E[56~,
1844a5ae21e4Smrg	kf36=\E[57~,
1845a5ae21e4Smrg	kf37=\E[58~,
1846a5ae21e4Smrg	kf38=\E[59~,
1847a5ae21e4Smrg	kf39=\E[60~,
1848a5ae21e4Smrg	kf4=\E[14~,
1849a5ae21e4Smrg	kf40=\E[61~,
1850a5ae21e4Smrg	kf41=\E[62~,
1851a5ae21e4Smrg	kf42=\E[63~,
1852a5ae21e4Smrg	kf5=\E[15~,
1853a5ae21e4Smrg	kf6=\E[17~,
1854a5ae21e4Smrg	kf7=\E[18~,
1855a5ae21e4Smrg	kf8=\E[19~,
1856a5ae21e4Smrg	kf9=\E[20~,
1857a5ae21e4Smrg
1858f2e35a3aSmrg# from development after ncurses 6.1:
1859f2e35a3aSmrg# Xterm's emulation of the VT100 numeric keypad on a PC-keyboard runs into the
1860f2e35a3aSmrg# problem that the keypad layout is different, and that the natural choice for
1861f2e35a3aSmrg# PF1 is NumLock (which happens to be reserved for other use).  To work around
1862f2e35a3aSmrg# that, PF1-PF4 are emulated via F1-F4, which leaves the "/", "*" and "+" not
1863f2e35a3aSmrg# directly related to VT100.
1864f2e35a3aSmrg#
1865f2e35a3aSmrg# With the VT220 keypad block that uses the 1-9 keys as suggested in
1866f2e35a3aSmrg# terminfo(5), the other keys can be handled with user-defined capabilities:
1867f2e35a3aSmrg#
1868f2e35a3aSmrg#   _______________________________________
1869f2e35a3aSmrg#  | NumLock |    /    |    *    |    -    |
1870f2e35a3aSmrg#  |         |   $Oo   |   $Oj   |   $OS   |
1871f2e35a3aSmrg#  |_________|__kpDIV__|__kpMUL__|__kpSUB__|
1872a5ae21e4Smrg#  |    7         8         9    |    +    |
1873a5ae21e4Smrg#  |   $Ow   |   $Ox   |   $Oy   |   $Ok   |
1874a5ae21e4Smrg#  |_ka1__K1_|_________|_ka3__K3_|  kpADD  |
1875a5ae21e4Smrg#  |    4    |    5    |    6    |         |
1876f2e35a3aSmrg#  |   $Ot   |   $Ou   |   $Ov   |         |
1877f2e35a3aSmrg#  |_________|_kb2__K2_|_________|_________|
1878f2e35a3aSmrg#  |    1    |    2    |    3    |         |
1879f2e35a3aSmrg#  |   $Oq   |   $Or   |   $Os   |         |
1880f2e35a3aSmrg#  |_kc1__K4_|_________|_kc3__K5_|  enter  |
1881a5ae21e4Smrg#  |         0         |    .    |   $OM   |
1882a5ae21e4Smrg#  |        $Op        |   $On   |         |
1883a5ae21e4Smrg#  |_______kpZRO_______|__kpDOT__|_kent_@8_|
1884a5ae21e4Smrg#
1885a5ae21e4Smrg# ka2, kb1, kb3 and kc2 are extensions, as are the mixed-case names.
1886a5ae21e4Smrg# There are no termcap equivalents for these extensions.
1887a5ae21e4Smrg#
1888a5ae21e4Smrg# kpCMA (comma) is used here for the VT100 keypad, which xterm emulates with
1889a5ae21e4Smrg# shifted-keypad-plus, though normally that invokes a font-size change.
1890a5ae21e4Smrg#
1891a5ae21e4Smrg# Old versions of xterm, e.g., xterm-xfree86, documented \EOE as kb2, which
1892a5ae21e4Smrg# does not fit into this layout.  The extension kp5 fits, but is not visible
1893a5ae21e4Smrg# to termcap applications.  As an alternative, kbeg (which does have a termcap
1894a5ae21e4Smrg# equivalent) is provided.
1895a5ae21e4Smrg
1896f2e35a3aSmrgxterm+keypad|xterm emulating VT100/VT220 numeric keypad,
18974419d26bSmrg	kbeg=\EOE,
1898f2e35a3aSmrg	kp5=\EOE,
1899f2e35a3aSmrg	kpADD=\EOk,
1900f2e35a3aSmrg	kpCMA=\EOl,
1901f2e35a3aSmrg	kpDIV=\EOo,
1902f2e35a3aSmrg	kpDOT=\EOn,
1903f2e35a3aSmrg	kpMUL=\EOj,
1904f2e35a3aSmrg	kpSUB=\EOm,
1905f2e35a3aSmrg	kpZRO=\EOp,
1906f2e35a3aSmrg	use=vt220+keypad,
1907f2e35a3aSmrg
1908f2e35a3aSmrg# from development after ncurses 5.2:
1909f2e35a3aSmrg# A better adaptation to modern keyboards such as the PC's, which have a dozen
1910f2e35a3aSmrg# function keys and the keypad 2,4,6,8 keys are labeled with arrows keys, is to
1911f2e35a3aSmrg# use the 5-key arrangement to model the arrow keys as suggested in the
1912f2e35a3aSmrg# terminfo guidelines:
1913f2e35a3aSmrg#   _______________________________________
1914f2e35a3aSmrg#  |   PF1   |   PF2   |   PF3   |   PF4   |
1915f2e35a3aSmrg#  |   $OP   |   $OQ   |   $OR   |   $OS   |
1916f2e35a3aSmrg#  |_kf1__k1_|_kf2__k2_|_kf3__k3_|_kf4__k4_|
1917f2e35a3aSmrg#  |    7         8         9         -    |
1918f2e35a3aSmrg#  |   $Ow   |   $Ox   |   $Oy   |   $Om   |
1919f2e35a3aSmrg#  |_ka1__K1_|_________|_ka3__K3_|_________|
1920f2e35a3aSmrg#  |    4    |    5    |    6    |    ,    |
1921f2e35a3aSmrg#  |   $Ot   |   $Ou   |   $Ov   |   $Ol   |
1922f2e35a3aSmrg#  |_________|_kb2__K2_|_________|_________|
1923f2e35a3aSmrg#  |    1    |    2    |    3    |         |
1924f2e35a3aSmrg#  |   $Oq   |   $Or   |   $Os   |  enter  |
1925f2e35a3aSmrg#  |_kc1__K4_|_________|_kc3__K5_|  $OM    |
1926f2e35a3aSmrg#  |         0         |   .     |         |
1927f2e35a3aSmrg#  |        $Op        |  $On    |         |
1928f2e35a3aSmrg#  |___________________|_________|_kent_@8_|
1929f2e35a3aSmrgvt220+keypad|dec vt220 numeric keypad,
1930f2e35a3aSmrg	ka1=\EOw,
1931f2e35a3aSmrg	ka3=\EOy,
1932f2e35a3aSmrg	kb2=\EOu,
1933f2e35a3aSmrg	kc1=\EOq,
1934f2e35a3aSmrg	kc3=\EOs,
1935f2e35a3aSmrg	kent=\EOM,
1936f2e35a3aSmrg	kf1=\EOP,
1937f2e35a3aSmrg	kf2=\EOQ,
1938f2e35a3aSmrg	kf3=\EOR,
1939f2e35a3aSmrg	kf4=\EOS,
1940f2e35a3aSmrg	ka2=\EOx,
1941f2e35a3aSmrg	kb1=\EOt,
1942f2e35a3aSmrg	kb3=\EOv,
1943f2e35a3aSmrg	kc2=\EOr,
1944d522f475Smrg#
1945d522f475Smrg# This should work for the commonly used "color xterm" variations (XFree86
1946d522f475Smrg# xterm, color_xterm, nxterm, rxvt).  Note that it does not set 'bce', so for
1947d522f475Smrg# XFree86 and and rxvt, some applications that use colors will be less
1948d522f475Smrg# efficient, and in a few special cases (with "smart" optimization) the wrong
1949d522f475Smrg# color will be painted in spots.
1950d522f475Smrgxterm-color|generic "ANSI" color xterm (X Window System),
1951d522f475Smrg	colors#8,
1952d522f475Smrg	ncv@,
1953d522f475Smrg	pairs#64,
1954d522f475Smrg	op=\E[m,
1955d522f475Smrg	setab=\E[4%p1%dm,
1956d522f475Smrg	setaf=\E[3%p1%dm,
1957d522f475Smrg	use=xterm-r6,
1958d522f475Smrg#
1959d522f475Smrg# vi may work better with this entry, because vi
1960d522f475Smrg# doesn't use insert mode much
1961d522f475Smrgxterm-ic|xterm-vi|xterm with insert character instead of insert mode,
1962d522f475Smrg	mir@,
1963d522f475Smrg	ich=\E[%p1%d@,
1964d522f475Smrg	ich1=\E[@,
1965d522f475Smrg	rmir@,
1966d522f475Smrg	smir@,
1967d522f475Smrg	use=xterm,
1968d522f475Smrg#
1969d522f475Smrg# This is used only for testing (it's not relevant to DEC VTxxx terminals, but
1970d522f475Smrg# to ncurses).
1971d522f475Smrgxterm-xmc|xterm with magic-cookie glitch,
1972d522f475Smrg	xmc#1,
1973d522f475Smrg	use=xterm-new,
1974d522f475Smrg#
1975f2e35a3aSmrg# This one was originally for testing ncurses.  While the ISO 6429 defines the
1976f2e35a3aSmrg# REP control, none of the DEC VTxxx terminals (VT52 through VT525) support it.
1977f2e35a3aSmrg#
1978f2e35a3aSmrg# The feature's inclusion in xterm was prompted by changes in ncurses to
1979f2e35a3aSmrg# support testing repeat_char by Alexander Lukyanov, since no readily-available
1980f2e35a3aSmrg# terminal supported this:
1981f2e35a3aSmrg#
1982f2e35a3aSmrg# + Alexander's patch was integrated in ncurses 1996/09/28
1983f2e35a3aSmrg# + xterm patch #32 1996/11/21 was released in XFree86 3.2A 1997/01/26
1984f2e35a3aSmrg#
1985f2e35a3aSmrg# In July 2017, the feature was added to xterm-new in ncurses, making this
1986f2e35a3aSmrg# entry obsolete (but it is kept for reference).
1987d522f475Smrgxterm-rep|xterm with repeat-character control,
1988d522f475Smrg	rep=%p1%c\E[%p2%{1}%-%db,
1989d522f475Smrg	use=xterm-new,
1990d522f475Smrg#
1991d522f475Smrg# This is mainly for testing xterm; the real VT220 will not let you switch
1992d522f475Smrg# character sets without first altering the keyboard language in the setup
1993d522f475Smrg# screen.  Some emulators allow this anyway.  (Note that these strings are
1994d522f475Smrg# normally used only for printers).  The parameter to csnm and scs is the same
1995d522f475Smrg# in both cases:  the keyboard language parameter returned by CSI ? 2 6 n.
1996d522f475Smrgxterm-nrc|xterm with VT220 national replacement character sets,
1997913cc679Smrg	csnm=
1998913cc679Smrg		%?
1999913cc679Smrg			%p1%{1}%=
2000913cc679Smrg			%tNorth\sAmerican
2001913cc679Smrg		%e
2002913cc679Smrg			%p1%{2}%=
2003913cc679Smrg			%tBritish
2004913cc679Smrg		%e
2005913cc679Smrg			%p1%{3}%=
2006913cc679Smrg			%tFlemish
2007913cc679Smrg		%e
2008913cc679Smrg			%p1%{4}%=
2009913cc679Smrg			%tFrench\sCanadian
2010913cc679Smrg		%e
2011913cc679Smrg			%p1%{5}%=
2012913cc679Smrg			%tDanish
2013913cc679Smrg		%e
2014913cc679Smrg			%p1%{6}%=
2015913cc679Smrg			%tFinnish
2016913cc679Smrg		%e
2017913cc679Smrg			%p1%{7}%=
2018913cc679Smrg			%tGerman
2019913cc679Smrg		%e
2020913cc679Smrg			%p1%{8}%=
2021913cc679Smrg			%tDutch
2022913cc679Smrg		%e
2023913cc679Smrg			%p1%{9}%=
2024913cc679Smrg			%tItalian
2025913cc679Smrg		%e
2026913cc679Smrg			%p1%{10}%=
2027913cc679Smrg			%tSwiss\s(French)
2028913cc679Smrg		%e
2029913cc679Smrg			%p1%{11}%=
2030913cc679Smrg			%tSwiss\s(German)
2031913cc679Smrg		%e
2032913cc679Smrg			%p1%{12}%=
2033913cc679Smrg			%tSwedish
2034913cc679Smrg		%e
2035913cc679Smrg			%p1%{13}%=
2036913cc679Smrg			%tNorwegian
2037913cc679Smrg		%e
2038913cc679Smrg			%p1%{14}%=
2039913cc679Smrg			%tFrench/Belgian
2040913cc679Smrg		%e
2041913cc679Smrg			%p1%{15}%=
2042913cc679Smrg			%tSpanish
2043913cc679Smrg		%;,
2044913cc679Smrg	scs=
2045913cc679Smrg		%?
2046913cc679Smrg			%p1%{1}%=
2047913cc679Smrg			%t\E(B
2048913cc679Smrg		%e
2049913cc679Smrg			%p1%{2}%=
2050913cc679Smrg			%t\E(A
2051913cc679Smrg		%e
2052913cc679Smrg			%p1%{3}%=
2053913cc679Smrg			%t\E(R
2054913cc679Smrg		%e
2055913cc679Smrg			%p1%{4}%=
2056913cc679Smrg			%t\E(9
2057913cc679Smrg		%e
2058913cc679Smrg			%p1%{5}%=
2059913cc679Smrg			%t\E(E
2060913cc679Smrg		%e
2061913cc679Smrg			%p1%{6}%=
2062913cc679Smrg			%t\E(5
2063913cc679Smrg		%e
2064913cc679Smrg			%p1%{7}%=
2065913cc679Smrg			%t\E(K
2066913cc679Smrg		%e
2067913cc679Smrg			%p1%{8}%=
2068913cc679Smrg			%t\E(4
2069913cc679Smrg		%e
2070913cc679Smrg			%p1%{9}%=
2071913cc679Smrg			%t\E(Y
2072913cc679Smrg		%e
2073913cc679Smrg			%p1%{10}%=
2074913cc679Smrg			%t\E(=
2075913cc679Smrg		%e
2076913cc679Smrg			%p1%{11}%=
2077913cc679Smrg			%t\E(=
2078913cc679Smrg		%e
2079913cc679Smrg			%p1%{12}%=
2080913cc679Smrg			%t\E(7
2081913cc679Smrg		%e
2082913cc679Smrg			%p1%{13}%=
2083913cc679Smrg			%t\E(E
2084913cc679Smrg		%e
2085913cc679Smrg			%p1%{14}%=
2086913cc679Smrg			%t\E(R
2087913cc679Smrg		%e
2088913cc679Smrg			%p1%{15}%=
2089913cc679Smrg			%t\E(Z
2090913cc679Smrg		%;,
2091d522f475Smrg	use=xterm-new,
2092d522f475Smrg#
2093d522f475Smrg# Foreground 0-15 maps (with toggles) into 30-37 & 90-97
2094d522f475Smrg# Background 0-15 maps (with toggles) into 40-47 & 100-107
2095d522f475Smrg#
2096d522f475Smrg# Originally I suppressed setaf/setab, since ANSI specifies only 8 colors, but
2097d522f475Smrg# Stephen Marley persuaded me to allow the "ANSI" color controls to extend to
2098d522f475Smrg# 16 colors.  (Note that ncurses 4.2 uses setf/setb from this description;
2099d522f475Smrg# however 5.0 selects either according to their availability).  - T.Dickey
2100d522f475Smrg#
2101d522f475Smrg# SVr4 curses does not use more than 8 colors anyway, so using 16 colors is
2102d522f475Smrg# either for terminfo-level applications or via ncurses.
2103d522f475Smrgxterm-16color|xterm with 16 colors,
2104d522f475Smrg	colors#16,
2105913cc679Smrg	pairs#0x100,
2106913cc679Smrg	setab=\E[
2107913cc679Smrg		%?
2108913cc679Smrg			%p1%{8}%<
21094419d26bSmrg			%t
21104419d26bSmrg			%p1%{40}%+
2111913cc679Smrg		%e
2112913cc679Smrg			%p1%{92}%+
2113913cc679Smrg		%;
2114913cc679Smrg		%dm,
2115913cc679Smrg	setaf=\E[
2116913cc679Smrg		%?
2117913cc679Smrg			%p1%{8}%<
21184419d26bSmrg			%t
21194419d26bSmrg			%p1%{30}%+
2120913cc679Smrg		%e
2121913cc679Smrg			%p1%{82}%+
2122913cc679Smrg		%;
2123913cc679Smrg		%dm,
2124913cc679Smrg	setb=
21254419d26bSmrg		%p1%{8}%/%{6}%*%{4}%+\E[%d
21264419d26bSmrg		%p1%{8}%m%Pa
2127913cc679Smrg		%?%ga%{1}%=
2128913cc679Smrg			%t4
2129913cc679Smrg		%e%ga%{3}%=
2130913cc679Smrg			%t6
2131913cc679Smrg		%e%ga%{4}%=
2132913cc679Smrg			%t1
2133913cc679Smrg		%e%ga%{6}%=
2134913cc679Smrg			%t3
2135913cc679Smrg		%e%ga%d
2136913cc679Smrg		%;
2137913cc679Smrg		m,
2138913cc679Smrg	setf=
21394419d26bSmrg		%p1%{8}%/%{6}%*%{3}%+\E[%d
21404419d26bSmrg		%p1%{8}%m%Pa
2141913cc679Smrg		%?%ga%{1}%=
2142913cc679Smrg			%t4
2143913cc679Smrg		%e%ga%{3}%=
2144913cc679Smrg			%t6
2145913cc679Smrg		%e%ga%{4}%=
2146913cc679Smrg			%t1
2147913cc679Smrg		%e%ga%{6}%=
2148913cc679Smrg			%t3
2149913cc679Smrg		%e%ga%d
2150913cc679Smrg		%;
2151913cc679Smrg		m,
2152f2e35a3aSmrg	use=xterm+256color2,
2153f2e35a3aSmrg	use=xterm+osc104,
2154d522f475Smrg	use=xterm-new,
2155f2e35a3aSmrg
2156f2e35a3aSmrg# xterm OSC 104 resets the color palette.  Using it as part of xterm+256color
2157f2e35a3aSmrg# has the drawback that some of the xterm-alikes which use that building block
2158f2e35a3aSmrg# require a different approach to rs1 -TD
2159f2e35a3aSmrgxterm+osc104|reset color palette,
2160f2e35a3aSmrg	oc=\E]104\007,
2161f2e35a3aSmrg	rs1=\Ec\E]104\007,
2162f2e35a3aSmrg
2163f2e35a3aSmrg# "indexed color" is mentioned without definition in ISO 8613-6 (ITU T.416).
2164f2e35a3aSmrg#
2165f2e35a3aSmrg# This implementation uses a 256-element color map where the first 16 entries
2166f2e35a3aSmrg# are shared with the aixterm-compatible colors (and in turn the first 8 are
2167f2e35a3aSmrg# shared with the ANSI colors).  The three levels (256, 16, 8) account for the
2168f2e35a3aSmrg# use of a conditional expression in setaf/setab which reduces the number of
2169f2e35a3aSmrg# characters sent to the screen for typical applications.
2170f2e35a3aSmrg#
2171f2e35a3aSmrg# 256 colors should give 65536 pairs, but SVr4 (legacy) terminfo stores numbers
2172f2e35a3aSmrg# in a signed short.  Most people will not notice problems with only 32767
2173f2e35a3aSmrg# pairs.  With ncurses 6.1, numbers are stored in a signed integer (at least
2174f2e35a3aSmrg# 32-bits), and the inconsistency regarding pairs is eliminated.
2175f2e35a3aSmrgxterm+256color|original xterm 256-color feature,
2176d522f475Smrg	ccc,
2177913cc679Smrg	colors#0x100,
2178f2e35a3aSmrg	pairs#0x10000,
2179913cc679Smrg	initc=\E]4;
21804419d26bSmrg		%p1%d;rgb:
21814419d26bSmrg		%p2%{255}%*%{1000}%/%2.2X/
21824419d26bSmrg		%p3%{255}%*%{1000}%/%2.2X/
21834419d26bSmrg		%p4%{255}%*%{1000}%/%2.2X\E\\,
21842e4f8982Smrg	oc=\E]104\007,
2185913cc679Smrg	setab=\E[
2186913cc679Smrg		%?
2187913cc679Smrg			%p1%{8}%<
21884419d26bSmrg			%t4
21894419d26bSmrg			%p1%d
2190913cc679Smrg		%e
2191913cc679Smrg			%p1%{16}%<
21924419d26bSmrg			%t10
21934419d26bSmrg			%p1%{8}%-%d
2194913cc679Smrg		%e48;5;
2195913cc679Smrg			%p1%d
2196913cc679Smrg		%;
2197913cc679Smrg		m,
2198913cc679Smrg	setaf=\E[
2199913cc679Smrg		%?
2200913cc679Smrg			%p1%{8}%<
22014419d26bSmrg			%t3
22024419d26bSmrg			%p1%d
2203913cc679Smrg		%e
2204913cc679Smrg			%p1%{16}%<
22054419d26bSmrg			%t9
22064419d26bSmrg			%p1%{8}%-%d
2207913cc679Smrg		%e38;5;
2208913cc679Smrg			%p1%d
2209913cc679Smrg		%;
2210913cc679Smrg		m,
2211d522f475Smrg	setb@,
2212d522f475Smrg	setf@,
2213f2e35a3aSmrgxterm+256color2|xterm 256-color feature,
2214f2e35a3aSmrg	setab=\E[
2215f2e35a3aSmrg		%?
2216f2e35a3aSmrg			%p1%{8}%<
22174419d26bSmrg			%t4
22184419d26bSmrg			%p1%d
2219f2e35a3aSmrg		%e
2220f2e35a3aSmrg			%p1%{16}%<
22214419d26bSmrg			%t10
22224419d26bSmrg			%p1%{8}%-%d
22234419d26bSmrg		%e48:5:
2224f2e35a3aSmrg			%p1%d
2225f2e35a3aSmrg		%;
2226f2e35a3aSmrg		m,
2227f2e35a3aSmrg	setaf=\E[
2228f2e35a3aSmrg		%?
2229f2e35a3aSmrg			%p1%{8}%<
22304419d26bSmrg			%t3
22314419d26bSmrg			%p1%d
2232f2e35a3aSmrg		%e
2233f2e35a3aSmrg			%p1%{16}%<
22344419d26bSmrg			%t9
22354419d26bSmrg			%p1%{8}%-%d
22364419d26bSmrg		%e38:5:
2237f2e35a3aSmrg			%p1%d
2238f2e35a3aSmrg		%;
2239f2e35a3aSmrg		m,
22400bd37d32Smrg	use=xterm+256color,
2241f2e35a3aSmrgxterm-256color|xterm with 256 colors,
2242f2e35a3aSmrg	use=xterm+256color2,
2243f2e35a3aSmrg	use=xterm+osc104,
2244d522f475Smrg	use=xterm-new,
2245d522f475Smrgxterm-88color|xterm with 88 colors,
2246d522f475Smrg	colors#88,
2247d522f475Smrg	pairs#7744,
2248d522f475Smrg	use=xterm-256color,
2249f2e35a3aSmrg
2250f2e35a3aSmrg# "direct color" is mentioned without definition in ISO 8613-6 (ITU T.416).
2251f2e35a3aSmrg#
2252f2e35a3aSmrg# This is a particular implementation which assume 8-bit values for red, green,
2253f2e35a3aSmrg# and blue.  Other encodings are possible; none are addressed by that standard.
2254f2e35a3aSmrg#
2255f2e35a3aSmrg# The "RGB" flag is an ncurses 6.1 extension which tells the library how to
2256f2e35a3aSmrg# quickly compute the color-content for a given color value.
2257f2e35a3aSmrg#
2258f2e35a3aSmrg# Like xterm+256color, this uses a conditional expression.  But it does that
2259f2e35a3aSmrg# for a different reason: to make it readily usable for applications which
2260f2e35a3aSmrg# print text but also use RGB colors, it uses a color map for the usual ANSI
2261f2e35a3aSmrg# colors (0-7) and RGB colors for the remaining range of the color value.
2262f2e35a3aSmrgxterm+direct|xterm with direct-color indexing,
2263f2e35a3aSmrg	RGB,
2264f2e35a3aSmrg	colors#0x1000000,
2265f2e35a3aSmrg	pairs#0x10000,
2266f2e35a3aSmrg	CO#8,
2267f2e35a3aSmrg	initc@,
2268f2e35a3aSmrg	op=\E[39;49m,
2269f2e35a3aSmrg	setab=\E[
2270f2e35a3aSmrg		%?
2271f2e35a3aSmrg			%p1%{8}%<
22724419d26bSmrg			%t4
22734419d26bSmrg			%p1%d
22744419d26bSmrg		%e48:2::
22754419d26bSmrg			%p1%{65536}%/%d:
22764419d26bSmrg			%p1%{256}%/%{255}%&%d:
22774419d26bSmrg			%p1%{255}%&%d
2278f2e35a3aSmrg		%;
2279f2e35a3aSmrg		m,
2280f2e35a3aSmrg	setaf=\E[
2281f2e35a3aSmrg		%?
2282f2e35a3aSmrg			%p1%{8}%<
22834419d26bSmrg			%t3
22844419d26bSmrg			%p1%d
22854419d26bSmrg		%e38:2::
22864419d26bSmrg			%p1%{65536}%/%d:
22874419d26bSmrg			%p1%{256}%/%{255}%&%d:
22884419d26bSmrg			%p1%{255}%&%d
2289f2e35a3aSmrg		%;
2290f2e35a3aSmrg		m,
2291f2e35a3aSmrg	setb@,
2292f2e35a3aSmrg	setf@,
2293f2e35a3aSmrgxterm-direct|xterm with direct-color indexing,
2294f2e35a3aSmrg	use=xterm+direct,
2295f2e35a3aSmrg	use=xterm,
2296d522f475Smrg#
2297d522f475Smrg# This is an 8-bit version of xterm, which emulates DEC vt220 with ANSI color.
2298d522f475Smrg# To use it, your decTerminalID resource must be set to 200 or above, and the
2299d522f475Smrg# sunKeyboard resource set to true.
2300d522f475Smrg#
2301d522f475Smrg#	HTS	\E H	\210
2302d522f475Smrg#	RI	\E M	\215
2303d522f475Smrg#	SS3	\E O	\217
2304d522f475Smrg#	CSI	\E [	\233
2305d522f475Smrg#
2306d522f475Smrgxterm-8bit|xterm terminal emulator with 8-bit controls (X Window System),
2307d522f475Smrg	OTbs,
2308d522f475Smrg	am,
2309d522f475Smrg	bce,
2310d522f475Smrg	km,
2311d522f475Smrg	mc5i,
2312d522f475Smrg	mir,
2313d522f475Smrg	msgr,
2314d522f475Smrg	npc,
2315d522f475Smrg	xenl,
2316d522f475Smrg	AX,
2317d522f475Smrg	colors#8,
2318d522f475Smrg	cols#80,
2319d522f475Smrg	it#8,
2320d522f475Smrg	lines#24,
2321d522f475Smrg	pairs#64,
2322d522f475Smrg	bel=^G,
2323d522f475Smrg	blink=\2335m,
2324d522f475Smrg	bold=\2331m,
2325d522f475Smrg	cbt=\233Z,
2326d522f475Smrg	civis=\233?25l,
2327d522f475Smrg	clear=\233H\2332J,
2328d522f475Smrg	cnorm=\233?25l\233?25h,
2329913cc679Smrg	cr=\r,
2330d522f475Smrg	csr=\233%i%p1%d;%p2%dr,
2331d522f475Smrg	cub=\233%p1%dD,
2332d522f475Smrg	cub1=^H,
2333d522f475Smrg	cud=\233%p1%dB,
2334913cc679Smrg	cud1=\n,
2335d522f475Smrg	cuf=\233%p1%dC,
2336d522f475Smrg	cuf1=\233C,
2337d522f475Smrg	cup=\233%i%p1%d;%p2%dH,
2338d522f475Smrg	cuu=\233%p1%dA,
2339d522f475Smrg	cuu1=\233A,
2340d522f475Smrg	cvvis=\233?12;25h,
2341d522f475Smrg	dch=\233%p1%dP,
2342d522f475Smrg	dch1=\233P,
2343d522f475Smrg	dl=\233%p1%dM,
2344d522f475Smrg	dl1=\233M,
2345d522f475Smrg	ech=\233%p1%dX,
2346d522f475Smrg	ed=\233J,
2347d522f475Smrg	el=\233K,
2348d522f475Smrg	el1=\2331K,
2349d522f475Smrg	flash=\233?5h$<100/>\233?5l,
2350d522f475Smrg	home=\233H,
2351d522f475Smrg	hpa=\233%i%p1%dG,
2352d522f475Smrg	ht=^I,
2353d522f475Smrg	hts=\210,
2354d522f475Smrg	ich=\233%p1%d@,
2355d522f475Smrg	il=\233%p1%dL,
2356d522f475Smrg	il1=\233L,
2357913cc679Smrg	ind=\n,
2358d522f475Smrg	invis=\2338m,
2359913cc679Smrg	is2=\E[62"p\E\sG\233m\233?7h\E>
2360913cc679Smrg	    \E7\233?1;3;4;6l\2334l\233r
2361913cc679Smrg	    \E8,
2362d522f475Smrg	ka1=\217w,
2363d522f475Smrg	ka3=\217u,
2364d522f475Smrg	kb2=\217y,
2365d522f475Smrg	kbeg=\217E,
2366d522f475Smrg	kc1=\217q,
2367d522f475Smrg	kc3=\217s,
2368d522f475Smrg	kcbt=\233Z,
2369d522f475Smrg	kcub1=\217D,
2370d522f475Smrg	kcud1=\217B,
2371d522f475Smrg	kcuf1=\217C,
2372d522f475Smrg	kcuu1=\217A,
2373d522f475Smrg	kdch1=\2333~,
2374d522f475Smrg	kend=\2334~,
2375d522f475Smrg	kent=\217M,
2376d522f475Smrg	kf1=\23311~,
2377d522f475Smrg	kf10=\23321~,
2378d522f475Smrg	kf11=\23323~,
2379d522f475Smrg	kf12=\23324~,
2380d522f475Smrg	kf13=\23325~,
2381d522f475Smrg	kf14=\23326~,
2382d522f475Smrg	kf15=\23328~,
2383d522f475Smrg	kf16=\23329~,
2384d522f475Smrg	kf17=\23331~,
2385d522f475Smrg	kf18=\23332~,
2386d522f475Smrg	kf19=\23333~,
2387d522f475Smrg	kf2=\23312~,
2388d522f475Smrg	kf20=\23334~,
2389d522f475Smrg	kf3=\23313~,
2390d522f475Smrg	kf4=\23314~,
2391d522f475Smrg	kf5=\23315~,
2392d522f475Smrg	kf6=\23317~,
2393d522f475Smrg	kf7=\23318~,
2394d522f475Smrg	kf8=\23319~,
2395d522f475Smrg	kf9=\23320~,
2396d522f475Smrg	khome=\2331~,
2397d522f475Smrg	kich1=\2332~,
2398d522f475Smrg	kmous=\233M,
2399d522f475Smrg	knp=\2336~,
2400d522f475Smrg	kpp=\2335~,
2401d522f475Smrg	mc0=\233i,
2402d522f475Smrg	mc4=\2334i,
2403d522f475Smrg	mc5=\2335i,
2404d522f475Smrg	meml=\El,
2405d522f475Smrg	memu=\Em,
2406d522f475Smrg	op=\23339;49m,
2407d522f475Smrg	rc=\E8,
2408d522f475Smrg	rev=\2337m,
2409d522f475Smrg	ri=\215,
2410d522f475Smrg	rmam=\233?7l,
2411d522f475Smrg	rmcup=\233?1049l,
2412d522f475Smrg	rmir=\2334l,
2413d522f475Smrg	rmkx=\233?1l\E>,
2414d522f475Smrg	rmso=\23327m,
2415d522f475Smrg	rmul=\23324m,
2416d522f475Smrg	rs1=\Ec,
2417913cc679Smrg	rs2=\E[62"p\E\sG\233m\233?7h\E>
2418913cc679Smrg	    \E7\233?1;3;4;6l\2334l\233r
2419913cc679Smrg	    \E8,
2420d522f475Smrg	sc=\E7,
2421d522f475Smrg	setab=\2334%p1%dm,
2422d522f475Smrg	setaf=\2333%p1%dm,
2423913cc679Smrg	setb=\2334
2424913cc679Smrg		%?
2425913cc679Smrg			%p1%{1}%=
2426913cc679Smrg			%t4
2427913cc679Smrg		%e
2428913cc679Smrg			%p1%{3}%=
2429913cc679Smrg			%t6
2430913cc679Smrg		%e
2431913cc679Smrg			%p1%{4}%=
2432913cc679Smrg			%t1
2433913cc679Smrg		%e
2434913cc679Smrg			%p1%{6}%=
2435913cc679Smrg			%t3
2436913cc679Smrg		%e
2437913cc679Smrg			%p1%d
2438913cc679Smrg		%;
2439913cc679Smrg		m,
2440913cc679Smrg	setf=\2333
2441913cc679Smrg		%?
2442913cc679Smrg			%p1%{1}%=
2443913cc679Smrg			%t4
2444913cc679Smrg		%e
2445913cc679Smrg			%p1%{3}%=
2446913cc679Smrg			%t6
2447913cc679Smrg		%e
2448913cc679Smrg			%p1%{4}%=
2449913cc679Smrg			%t1
2450913cc679Smrg		%e
2451913cc679Smrg			%p1%{6}%=
2452913cc679Smrg			%t3
2453913cc679Smrg		%e
2454913cc679Smrg			%p1%d
2455913cc679Smrg		%;
2456913cc679Smrg		m,
2457913cc679Smrg	sgr=\2330
2458913cc679Smrg		%?
2459913cc679Smrg			%p6
2460913cc679Smrg			%t;1
2461913cc679Smrg		%;
2462913cc679Smrg		%?
2463913cc679Smrg			%p2
2464913cc679Smrg			%t;4
2465913cc679Smrg		%;
2466913cc679Smrg		%?
24674419d26bSmrg			%p1
24684419d26bSmrg			%p3%|
2469913cc679Smrg			%t;7
2470913cc679Smrg		%;
2471913cc679Smrg		%?
2472913cc679Smrg			%p4
2473913cc679Smrg			%t;5
2474913cc679Smrg		%;
2475913cc679Smrg		%?
2476913cc679Smrg			%p7
2477913cc679Smrg			%t;8
2478913cc679Smrg		%;
2479913cc679Smrg		m
2480913cc679Smrg		%?
2481913cc679Smrg			%p9
2482913cc679Smrg			%t\E(0
2483913cc679Smrg		%e
2484913cc679Smrg			\E(B
2485913cc679Smrg		%;,
2486d522f475Smrg	sgr0=\2330m\E(B,
2487d522f475Smrg	smam=\233?7h,
2488d522f475Smrg	smcup=\233?1049h,
2489d522f475Smrg	smir=\2334h,
2490d522f475Smrg	smkx=\233?1h\E=,
2491d522f475Smrg	smso=\2337m,
2492d522f475Smrg	smul=\2334m,
2493d522f475Smrg	tbc=\2333g,
2494d522f475Smrg	u6=\233[%i%d;%dR,
2495d522f475Smrg	u7=\E[6n,
2496913cc679Smrg	u8=\233[?%[;0123456789]c,
2497d522f475Smrg	u9=\E[c,
2498d522f475Smrg	vpa=\233%i%p1%dd,
249904b94745Smrg	use=xterm+acs,
25000bd37d32Smrg	use=xterm+kbs,
2501d522f475Smrg#
2502d522f475Smrgxterm-xf86-v44|xterm terminal emulator (XFree86 4.4 Window System),
2503d522f475Smrg	OTbs,
2504d522f475Smrg	am,
2505d522f475Smrg	bce,
2506d522f475Smrg	km,
2507d522f475Smrg	mir,
2508d522f475Smrg	msgr,
2509d522f475Smrg	npc,
2510d522f475Smrg	xenl,
2511d522f475Smrg	AX,
25120bd37d32Smrg	XT,
2513d522f475Smrg	colors#8,
2514d522f475Smrg	cols#80,
2515d522f475Smrg	lines#24,
2516d522f475Smrg	pairs#64,
2517913cc679Smrg	acsc=``aaffggiijjkkllmmnnooppqqr
2518913cc679Smrg	     rssttuuvvwwxxyyzz{{||}}~~,
2519d522f475Smrg	bel=^G,
2520d522f475Smrg	civis=\E[?25l,
2521d522f475Smrg	clear=\E[H\E[2J,
2522d522f475Smrg	cnorm=\E[?12l\E[?25h,
2523913cc679Smrg	cr=\r,
2524d522f475Smrg	cub1=^H,
2525913cc679Smrg	cud1=\n,
2526d522f475Smrg	cvvis=\E[?12;25h,
2527d522f475Smrg	dch=\E[%p1%dP,
2528d522f475Smrg	dch1=\E[P,
2529d522f475Smrg	ech=\E[%p1%dX,
2530d522f475Smrg	ed=\E[J,
2531d522f475Smrg	el=\E[K,
2532d522f475Smrg	el1=\E[1K,
2533d522f475Smrg	enacs=\E(B\E)0,
2534d522f475Smrg	flash=\E[?5h$<100/>\E[?5l,
2535d522f475Smrg	hpa=\E[%i%p1%dG,
2536d522f475Smrg	ich=\E[%p1%d@,
2537913cc679Smrg	ind=\n,
2538d522f475Smrg	indn=\E[%p1%dS,
2539d522f475Smrg	is2=\E[!p\E[?3;4l\E[4l\E>,
2540d522f475Smrg	kDC=\E[3;2~,
2541d522f475Smrg	kEND=\E[1;2F,
2542d522f475Smrg	kHOM=\E[1;2H,
2543d522f475Smrg	kIC=\E[2;2~,
2544d522f475Smrg	kLFT=\E[1;2D,
2545d522f475Smrg	kNXT=\E[6;2~,
2546d522f475Smrg	kPRV=\E[5;2~,
2547d522f475Smrg	kRIT=\E[1;2C,
2548d522f475Smrg	kb2=\EOE,
2549d522f475Smrg	kcbt=\E[Z,
2550d522f475Smrg	kdch1=\E[3~,
2551d522f475Smrg	kend=\EOF,
2552d522f475Smrg	kent=\EOM,
2553d522f475Smrg	kf1=\EOP,
2554d522f475Smrg	kf10=\E[21~,
2555d522f475Smrg	kf11=\E[23~,
2556d522f475Smrg	kf12=\E[24~,
2557d522f475Smrg	kf13=\EO2P,
2558d522f475Smrg	kf14=\EO2Q,
2559d522f475Smrg	kf15=\EO2R,
2560d522f475Smrg	kf16=\EO2S,
2561d522f475Smrg	kf17=\E[15;2~,
2562d522f475Smrg	kf18=\E[17;2~,
2563d522f475Smrg	kf19=\E[18;2~,
2564d522f475Smrg	kf2=\EOQ,
2565d522f475Smrg	kf20=\E[19;2~,
2566d522f475Smrg	kf21=\E[20;2~,
2567d522f475Smrg	kf22=\E[21;2~,
2568d522f475Smrg	kf23=\E[23;2~,
2569d522f475Smrg	kf24=\E[24;2~,
2570d522f475Smrg	kf25=\EO5P,
2571d522f475Smrg	kf26=\EO5Q,
2572d522f475Smrg	kf27=\EO5R,
2573d522f475Smrg	kf28=\EO5S,
2574d522f475Smrg	kf29=\E[15;5~,
2575d522f475Smrg	kf3=\EOR,
2576d522f475Smrg	kf30=\E[17;5~,
2577d522f475Smrg	kf31=\E[18;5~,
2578d522f475Smrg	kf32=\E[19;5~,
2579d522f475Smrg	kf33=\E[20;5~,
2580d522f475Smrg	kf34=\E[21;5~,
2581d522f475Smrg	kf35=\E[23;5~,
2582d522f475Smrg	kf36=\E[24;5~,
2583d522f475Smrg	kf37=\EO6P,
2584d522f475Smrg	kf38=\EO6Q,
2585d522f475Smrg	kf39=\EO6R,
2586d522f475Smrg	kf4=\EOS,
2587d522f475Smrg	kf40=\EO6S,
2588d522f475Smrg	kf41=\E[15;6~,
2589d522f475Smrg	kf42=\E[17;6~,
2590d522f475Smrg	kf43=\E[18;6~,
2591d522f475Smrg	kf44=\E[19;6~,
2592d522f475Smrg	kf45=\E[20;6~,
2593d522f475Smrg	kf46=\E[21;6~,
2594d522f475Smrg	kf47=\E[23;6~,
2595d522f475Smrg	kf48=\E[24;6~,
2596d522f475Smrg	kf5=\E[15~,
2597d522f475Smrg	kf6=\E[17~,
2598d522f475Smrg	kf7=\E[18~,
2599d522f475Smrg	kf8=\E[19~,
2600d522f475Smrg	kf9=\E[20~,
2601d522f475Smrg	kich1=\E[2~,
2602d522f475Smrg	kmous=\E[M,
2603d522f475Smrg	knp=\E[6~,
2604d522f475Smrg	kpp=\E[5~,
2605d522f475Smrg	meml=\El,
2606d522f475Smrg	memu=\Em,
2607d522f475Smrg	op=\E[39;49m,
2608d522f475Smrg	ri=\EM,
2609d522f475Smrg	rin=\E[%p1%dT,
2610d522f475Smrg	rmacs=^O,
2611d522f475Smrg	rmam=\E[?7l,
2612d522f475Smrg	rmir=\E[4l,
2613d522f475Smrg	rmkx=\E[?1l\E>,
2614d522f475Smrg	rmso=\E[27m,
2615d522f475Smrg	rmul=\E[24m,
2616d522f475Smrg	rs1=\Ec,
2617d522f475Smrg	rs2=\E[!p\E[?3;4l\E[4l\E>,
2618d522f475Smrg	setab=\E[4%p1%dm,
2619d522f475Smrg	setaf=\E[3%p1%dm,
2620913cc679Smrg	setb=\E[4
2621913cc679Smrg		%?
2622913cc679Smrg			%p1%{1}%=
2623913cc679Smrg			%t4
2624913cc679Smrg		%e
2625913cc679Smrg			%p1%{3}%=
2626913cc679Smrg			%t6
2627913cc679Smrg		%e
2628913cc679Smrg			%p1%{4}%=
2629913cc679Smrg			%t1
2630913cc679Smrg		%e
2631913cc679Smrg			%p1%{6}%=
2632913cc679Smrg			%t3
2633913cc679Smrg		%e
2634913cc679Smrg			%p1%d
2635913cc679Smrg		%;
2636913cc679Smrg		m,
2637913cc679Smrg	setf=\E[3
2638913cc679Smrg		%?
2639913cc679Smrg			%p1%{1}%=
2640913cc679Smrg			%t4
2641913cc679Smrg		%e
2642913cc679Smrg			%p1%{3}%=
2643913cc679Smrg			%t6
2644913cc679Smrg		%e
2645913cc679Smrg			%p1%{4}%=
2646913cc679Smrg			%t1
2647913cc679Smrg		%e
2648913cc679Smrg			%p1%{6}%=
2649913cc679Smrg			%t3
2650913cc679Smrg		%e
2651913cc679Smrg			%p1%d
2652913cc679Smrg		%;
2653913cc679Smrg		m,
2654913cc679Smrg	sgr=\E[0
2655913cc679Smrg		%?
2656913cc679Smrg			%p6
2657913cc679Smrg			%t;1
2658913cc679Smrg		%;
2659913cc679Smrg		%?
2660913cc679Smrg			%p2
2661913cc679Smrg			%t;4
2662913cc679Smrg		%;
2663913cc679Smrg		%?
26644419d26bSmrg			%p1
26654419d26bSmrg			%p3%|
2666913cc679Smrg			%t;7
2667913cc679Smrg		%;
2668913cc679Smrg		%?
2669913cc679Smrg			%p4
2670913cc679Smrg			%t;5
2671913cc679Smrg		%;
2672913cc679Smrg		%?
2673913cc679Smrg			%p7
2674913cc679Smrg			%t;8
2675913cc679Smrg		%;
2676913cc679Smrg		m
2677913cc679Smrg		%?
2678913cc679Smrg			%p9
2679913cc679Smrg			%t\016
2680913cc679Smrg		%e
2681913cc679Smrg			\017
2682913cc679Smrg		%;,
2683d522f475Smrg	sgr0=\E[m\017,
2684d522f475Smrg	smacs=^N,
2685d522f475Smrg	smam=\E[?7h,
2686d522f475Smrg	smir=\E[4h,
2687d522f475Smrg	smkx=\E[?1h\E=,
2688d522f475Smrg	u8=\E[?1;2c,
2689d522f475Smrg	vpa=\E[%i%p1%dd,
2690d522f475Smrg	ka2=\EOx,
2691d522f475Smrg	kb1=\EOt,
2692d522f475Smrg	kb3=\EOv,
2693d522f475Smrg	kc2=\EOr,
26940bd37d32Smrg	use=xterm+kbs,
269504b94745Smrg	use=ansi+apparrows,
269604b94745Smrg	use=ansi+csr,
269704b94745Smrg	use=ansi+cup,
269804b94745Smrg	use=ansi+enq,
269904b94745Smrg	use=ansi+idl,
270004b94745Smrg	use=ansi+inittabs,
270104b94745Smrg	use=ansi+local,
270204b94745Smrg	use=ansi+pp,
270304b94745Smrg	use=ansi+sgrbold,
270404b94745Smrg	use=xterm+alt1049,
270504b94745Smrg
2706d522f475Smrgxterm-xfree86|xterm terminal emulator (XFree86 4.4 Window System),
2707d522f475Smrg	use=xterm-xf86-v44,
2708d522f475Smrg#
2709d522f475Smrg# Compatible with the R6 xterm, with the following changes:
2710d522f475Smrg#	+ added acsc (perhaps some versions of tic assume the standard vt100
2711d522f475Smrg#	  alternate character set)
2712d522f475Smrg#	+ added u6, u7, u8, u9 strings for Daniel Weaver's tack program.
2713d522f475Smrg#	+ added kmous string for ncurses.
2714d522f475Smrg#	+ added khome/kend strings (which conflict with kfnd/kslt, see note).
27150bd37d32Smrgxterm-r6|xterm X11R6 version,
2716d522f475Smrg	OTbs,
2717d522f475Smrg	am,
2718d522f475Smrg	km,
2719d522f475Smrg	mir,
2720d522f475Smrg	msgr,
2721d522f475Smrg	xenl,
2722d522f475Smrg	cols#80,
2723d522f475Smrg	it#8,
2724d522f475Smrg	lines#24,
2725913cc679Smrg	acsc=``aaffggiijjkkllmmnnooppqqr
2726913cc679Smrg	     rssttuuvvwwxxyyzz{{||}}~~,
2727d522f475Smrg	bel=^G,
2728d522f475Smrg	bold=\E[1m,
2729d522f475Smrg	clear=\E[H\E[2J,
2730913cc679Smrg	cr=\r,
2731d522f475Smrg	cub=\E[%p1%dD,
2732d522f475Smrg	cub1=^H,
2733d522f475Smrg	cud=\E[%p1%dB,
2734913cc679Smrg	cud1=\n,
2735d522f475Smrg	cuf=\E[%p1%dC,
2736d522f475Smrg	cuf1=\E[C,
2737d522f475Smrg	cuu=\E[%p1%dA,
2738d522f475Smrg	cuu1=\E[A,
2739d522f475Smrg	dch=\E[%p1%dP,
2740d522f475Smrg	dch1=\E[P,
2741d522f475Smrg	dl=\E[%p1%dM,
2742d522f475Smrg	dl1=\E[M,
2743d522f475Smrg	enacs=\E)0,
2744d522f475Smrg	ht=^I,
2745d522f475Smrg	hts=\EH,
2746d522f475Smrg	il=\E[%p1%dL,
2747d522f475Smrg	il1=\E[L,
2748913cc679Smrg	ind=\n,
2749913cc679Smrg	is2=\E[m\E[?7h\E[4l\E>\E7\E[r\E[
2750913cc679Smrg	    ?1;3;4;6l\E8,
2751d522f475Smrg	kcub1=\EOD,
2752d522f475Smrg	kcud1=\EOB,
2753d522f475Smrg	kcuf1=\EOC,
2754d522f475Smrg	kcuu1=\EOA,
2755d522f475Smrg	kf1=\E[11~,
2756d522f475Smrg	kf10=\E[21~,
2757d522f475Smrg	kf11=\E[23~,
2758d522f475Smrg	kf12=\E[24~,
2759d522f475Smrg	kf13=\E[25~,
2760d522f475Smrg	kf14=\E[26~,
2761d522f475Smrg	kf15=\E[28~,
2762d522f475Smrg	kf16=\E[29~,
2763d522f475Smrg	kf17=\E[31~,
2764d522f475Smrg	kf18=\E[32~,
2765d522f475Smrg	kf19=\E[33~,
2766d522f475Smrg	kf2=\E[12~,
2767d522f475Smrg	kf20=\E[34~,
2768d522f475Smrg	kf3=\E[13~,
2769d522f475Smrg	kf4=\E[14~,
2770d522f475Smrg	kf5=\E[15~,
2771d522f475Smrg	kf6=\E[17~,
2772d522f475Smrg	kf7=\E[18~,
2773d522f475Smrg	kf8=\E[19~,
2774d522f475Smrg	kf9=\E[20~,
2775d522f475Smrg	kmous=\E[M,
2776d522f475Smrg	meml=\El,
2777d522f475Smrg	memu=\Em,
2778d522f475Smrg	rev=\E[7m,
2779d522f475Smrg	ri=\EM,
2780d522f475Smrg	rmacs=^O,
2781d522f475Smrg	rmcup=\E[2J\E[?47l\E8,
2782d522f475Smrg	rmir=\E[4l,
2783d522f475Smrg	rmkx=\E[?1l\E>,
2784d522f475Smrg	rmso=\E[m,
2785d522f475Smrg	rmul=\E[m,
2786913cc679Smrg	rs2=\E[m\E[?7h\E[4l\E>\E7\E[r\E[
2787913cc679Smrg	    ?1;3;4;6l\E8,
2788d522f475Smrg	sgr0=\E[m,
2789d522f475Smrg	smacs=^N,
2790d522f475Smrg	smcup=\E7\E[?47h,
2791d522f475Smrg	smir=\E[4h,
2792d522f475Smrg	smkx=\E[?1h\E=,
2793d522f475Smrg	smso=\E[7m,
2794d522f475Smrg	smul=\E[4m,
2795d522f475Smrg	tbc=\E[3g,
2796d522f475Smrg	u8=\E[?1;2c,
2797d522f475Smrg	u9=\E[c,
279804b94745Smrg	use=ansi+cpr,
279904b94745Smrg	use=ansi+csr,
280004b94745Smrg	use=ansi+cup,
280104b94745Smrg	use=ansi+erase,
28020bd37d32Smrg	use=xterm+kbs,
2803d522f475Smrg	use=xterm+decedit,
28040bd37d32Smrgxterm-old|antique xterm version,
28050bd37d32Smrg	use=xterm-r6,
2806d522f475Smrg#
2807d522f475Smrg# Compatible with the R5 xterm, with the following changes:
2808d522f475Smrg#	+ changed 'blink=@', to 'blink@' (the former meant that "@" would start
2809d522f475Smrg#	  a blink, the latter that it is not supported).
2810d522f475Smrg#	+ changed kf1 through kf4 to correspond with actual usage.  Though X
2811d522f475Smrg#	  supports keypad symbols for PF1 to PF4, and xterm interprets these
2812d522f475Smrg#	  correctly, the F1 to F4 codes are commonly (but incorrectly) used.
2813d522f475Smrg#	+ moved reset string from rs1 to rs2, to correlate better with termcap.
2814d522f475Smrg#	+ make khome consistent with other entries.
2815d522f475Smrg#	+ use rmul/smul, rmir/smir from termcap, but not rmcup/smcup because
2816d522f475Smrg#	  not everyone wants the alternate screen.
2817d522f475Smrg#	+ added u6, u7, u8, u9 strings for Daniel Weaver's tack program.
2818d522f475Smrg#	+ added kmous string for ncurses.
2819d522f475Smrgxterm-r5|xterm R5 version,
2820d522f475Smrg	OTbs,
2821d522f475Smrg	am,
2822d522f475Smrg	km,
2823d522f475Smrg	msgr,
2824d522f475Smrg	xenl,
2825d522f475Smrg	cols#80,
2826d522f475Smrg	it#8,
2827d522f475Smrg	lines#24,
2828d522f475Smrg	bel=^G,
2829d522f475Smrg	bold=\E[1m,
2830d522f475Smrg	clear=\E[H\E[2J,
2831913cc679Smrg	cr=\r,
2832d522f475Smrg	cub1=^H,
2833913cc679Smrg	cud1=\n,
2834d522f475Smrg	cup=\E[%i%p1%d;%p2%dH,
2835d522f475Smrg	ed=\E[J,
2836d522f475Smrg	el=\E[K,
2837d522f475Smrg	home=\E[H,
2838d522f475Smrg	ht=^I,
2839d522f475Smrg	hts=\EH,
2840913cc679Smrg	ind=\n,
2841d522f475Smrg	kdch1=\E[3~,
2842d522f475Smrg	kdl1=\E[31~,
2843d522f475Smrg	kel=\E[8~,
2844d522f475Smrg	kend=\E[4~,
2845d522f475Smrg	kf0=\EOq,
2846d522f475Smrg	kf1=\E[11~,
2847d522f475Smrg	kf10=\E[21~,
2848d522f475Smrg	kf11=\E[23~,
2849d522f475Smrg	kf12=\E[24~,
2850d522f475Smrg	kf2=\E[12~,
2851d522f475Smrg	kf3=\E[13~,
2852d522f475Smrg	kf4=\E[14~,
2853d522f475Smrg	kf5=\E[15~,
2854d522f475Smrg	kf6=\E[17~,
2855d522f475Smrg	kf7=\E[18~,
2856d522f475Smrg	kf8=\E[19~,
2857d522f475Smrg	kf9=\E[20~,
2858d522f475Smrg	khome=\E[1~,
2859d522f475Smrg	kich1=\E[2~,
2860d522f475Smrg	kil1=\E[30~,
2861d522f475Smrg	kmous=\E[M,
2862d522f475Smrg	knp=\E[6~,
2863d522f475Smrg	kpp=\E[5~,
2864d522f475Smrg	rev=\E[7m,
2865d522f475Smrg	ri=\EM,
2866d522f475Smrg	rmkx=\E[?1l\E>,
2867d522f475Smrg	rmul=\E[m,
2868913cc679Smrg	rs2=\E>\E[?1;3;4;5;6l\E[4l\E[?7h
2869913cc679Smrg	    \E[m\E[r\E[2J\E[H,
2870913cc679Smrg	sgr=\E[
2871913cc679Smrg		%?
2872913cc679Smrg			%p1
2873913cc679Smrg			%t;7
2874913cc679Smrg		%;
2875913cc679Smrg		%?
2876913cc679Smrg			%p2
2877913cc679Smrg			%t;4
2878913cc679Smrg		%;
2879913cc679Smrg		%?
2880913cc679Smrg			%p3
2881913cc679Smrg			%t;7
2882913cc679Smrg		%;
2883913cc679Smrg		%?
2884913cc679Smrg			%p4
2885913cc679Smrg			%t;5
2886913cc679Smrg		%;
2887913cc679Smrg		%?
2888913cc679Smrg			%p6
2889913cc679Smrg			%t;1
2890913cc679Smrg		%;
2891913cc679Smrg		m,
2892d522f475Smrg	sgr0=\E[m,
2893d522f475Smrg	smkx=\E[?1h\E=,
2894d522f475Smrg	smul=\E[4m,
2895d522f475Smrg	tbc=\E[3g,
2896d522f475Smrg	u8=\E[?1;2c,
28970bd37d32Smrg	use=xterm+kbs,
289804b94745Smrg	use=ansi+apparrows,
289904b94745Smrg	use=ansi+csr,
290004b94745Smrg	use=ansi+enq,
290104b94745Smrg	use=ansi+idc,
290204b94745Smrg	use=ansi+idl,
290304b94745Smrg	use=ansi+local,
290404b94745Smrg	use=ansi+sgrso,
29054419d26bSmrg
29064419d26bSmrg# DEC status-line is an extension for VT220, and standard with VT320 and up.
29074419d26bSmrgdec+sl|DEC VTxx status line,
29084419d26bSmrg	eslok,
29094419d26bSmrg	hs,
29105307cd1aSmrg	dsl=\E[0$~,
29114419d26bSmrg	fsl=\E[0$},
29124419d26bSmrg	tsl=\E[2$~\E[1$}\E[%i%p1%d`,
2913d522f475Smrg#
2914d522f475Smrg#
2915d522f475Smrg# Customization begins here.
2916d522f475Smrg#
2917d522f475Smrg# This is the only entry which you should have to customize, since "xterm"
2918d522f475Smrg# is widely used for a variety of incompatible terminal emulations including
2919d522f475Smrg# color_xterm and rxvt.
2920d522f475Smrgxterm|X11 terminal emulator,
2921d522f475Smrg	use=xterm-new,
2922d522f475Smrg#	use=xterm-r6,
29230bd37d32Smrg
29240bd37d32Smrg# This fragment is for people who cannot agree on what the backspace key
29250bd37d32Smrg# should send.
29260bd37d32Smrgxterm+kbs|fragment for backspace key,
29270bd37d32Smrg	kbs=^H,
29282e4f8982Smrg#	kbs=^?,
2929