433 kx # $XTermId: terminfo,v 1.206 2023/01/08 10:51:12 tom Exp $
433 kx #
433 kx # Updates/notes/new entries (e.g., xterm-8bit, xterm-16color, xterm-256color)
433 kx # - Thomas E. Dickey
433 kx #
433 kx #------------------------------------------------------------------------------
433 kx # Copyright 1996-2022,2023 by Thomas E. Dickey
433 kx #
433 kx # All Rights Reserved
433 kx #
433 kx # Permission is hereby granted, free of charge, to any person obtaining a
433 kx # copy of this software and associated documentation files (the
433 kx # "Software"), to deal in the Software without restriction, including
433 kx # without limitation the rights to use, copy, modify, merge, publish,
433 kx # distribute, sublicense, and/or sell copies of the Software, and to
433 kx # permit persons to whom the Software is furnished to do so, subject to
433 kx # the following conditions:
433 kx #
433 kx # The above copyright notice and this permission notice shall be included
433 kx # in all copies or substantial portions of the Software.
433 kx #
433 kx # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
433 kx # OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
433 kx # MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
433 kx # IN NO EVENT SHALL THE ABOVE LISTED COPYRIGHT HOLDER(S) BE LIABLE FOR ANY
433 kx # CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
433 kx # TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
433 kx # SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
433 kx #
433 kx # Except as contained in this notice, the name(s) of the above copyright
433 kx # holders shall not be used in advertising or otherwise to promote the
433 kx # sale, use or other dealings in this Software without prior written
433 kx # authorization.
433 kx #------------------------------------------------------------------------------
433 kx # format (ncurses 6.1): tic -I -W -1 -f -x terminfo
433 kx #------------------------------------------------------------------------------
433 kx #
433 kx # Special Capabilities:
433 kx # --------------------
433 kx # ich has a corresponding capability that inserts a single blank. We could
433 kx # have used ich1=\E[@, which works with ncurses, but that is not standard
433 kx # behavior. If it is set, then SVr4 vi (e.g., Solaris 2.6) emits both
433 kx # smir/rmir and ich1.
433 kx # meml locks memory above the cursor; memu unlocks (ala HP terminals). This
433 kx # is not recognized by some older (e.g., SVr3) tic programs, but none
433 kx # do more than warn about it. Ignore the warning.
433 kx # smcup clears memory before switching to the alternate screen. The older
433 kx # (deprecated) \E[?47h did not do this, requiring applications to
433 kx # embed a \E[2J in the rmcup string. However, that behavior cannot
433 kx # be disabled via titeInhibit, making that resource not function as
433 kx # intended on systems with terminfo.
433 kx # rs2/is2 are shorter with XFree86 xterm because it supports DECSTR. We
433 kx # use the shorter sequence for compatibility with the termcap, which
433 kx # is trimmed to keep it shorter than 1023 characters. It (escape \E[!p)
433 kx # replaces these in the conventional vt100 reset-string:
433 kx # \E7 - save cursor (fixes origin-mode side-effect)
433 kx # \E[r - reset scrolling margins
433 kx # \E[m - reset SGR (including color)
433 kx # \E[?7h - reset wraparound mode (DECAWM)
433 kx # \E[?1l - reset application cursor keys (DECCKM)
433 kx # \E[?6l - reset origin mode (DECOM)
433 kx # \E8 - restore cursor
433 kx # DECSTR is recognized by XFree86 xterm even in vt52 mode.
433 kx #
433 kx # Editing Keypad:
433 kx # --------------
433 kx # XFree86 xterm emulates vt220 if the decTerminalID resource is set to 200 or
433 kx # higher. Otherwise it emulates a vt100 or vt52 depending on the value of the
433 kx # resource. When emulating a vt220, we support the editing keypad. Sun and PC
433 kx # keyboards have an editing keypad which is similar to the vt220:
433 kx #
433 kx # VT220 editing keypad
433 kx # ----------------------------
433 kx # Find Insert Remove
433 kx # Select Prev Next
433 kx # ----------------------------
433 kx #
433 kx # Sun/PC editing keypad
433 kx # ----------------------------
433 kx # Insert Home PageUp
433 kx # Delete End PageDn
433 kx # ----------------------------
433 kx #
433 kx # If the sunKeyboard resource is true, we map it this way (adjusting the values
433 kx # of Home, End and Delete):
433 kx # VT220 Sun/PC
433 kx # ----------------------------
433 kx # Find Home
433 kx # Select End
433 kx # Insert Insert
433 kx # Remove Delete
433 kx # Prev PageUp
433 kx # Next PageDn
433 kx # ----------------------------
433 kx #
433 kx # Note that all of the keys on the editing keypad transmit escape sequences. A
433 kx # vt220 does this only when in vt220 mode; when emulating a vt100 the editing
433 kx # keypad is inactive.
433 kx #
433 kx # Alternative keycodes:
433 kx # --------------------
433 kx # Several of the function keys have alternative names, depending on the type of
433 kx # host which your xterm is connected to. DEC (i.e., the VMS system) uses F15
433 kx # as the HELP key, F16 as the DO key. Unix applications generally do not do
433 kx # this. Curses applications in particular, assign a unique keycode to each
433 kx # capability string. These terminal descriptions do not have conflicting
433 kx # definitions, to ensure that Unix curses applications use a consistent set of
433 kx # keycodes. To get a VMS-bias, make these substitutions:
433 kx # 1. change khome to kfnd
433 kx # 2. change kend to kslt
433 kx # The original xterm-r6 entry does in fact have a VMS bias.
433 kx #
433 kx # Some legacy applications using the termcap emulation may expect kll where
433 kx # we have specified kend.
433 kx #
433 kx # Function keys with modifiers (Sun/PC):
433 kx # -------------------------------------
433 kx # Shift-Fx - kf{12+x}
433 kx # Control-Fx - kf{24+x}
433 kx # Shift-Control-Fx - kf{36+x}
433 kx #
433 kx # The terminfo defines some special keys which are documented as "shifted",
433 kx # e.g., kDC is shifted-delete-character.
433 kx #
433 kx # Note however, that even though the terminfo says a key might be sent, there
433 kx # may be conflicts which prevent this. For example, it is common to use
433 kx # shifted pageup and pagedown for window manager functions. The default
433 kx # translation for xterm since X11R4 has overridden shifted Insert, Select,
433 kx # PageUp and PageDown, which correspond to terminfo kIC, kEND, kPRV and kNXT
433 kx # respectively.
433 kx #
433 kx xterm-new|modern xterm terminal emulator,
433 kx npc,
433 kx indn=\E[%p1%dS,
433 kx kcbt=\E[Z,
433 kx kent=\EOM,
433 kx nel=\EE,
433 kx use=dec+sl,
433 kx use=ecma+index,
433 kx use=xterm+keypad,
433 kx use=vt420+lrmm,
433 kx use=xterm+sm+1006,
433 kx use=ansi+rep,
433 kx use=ecma+strikeout,
433 kx use=xterm+pcfkeys,
433 kx use=xterm+tmux,
433 kx use=xterm+nofkeys,
433 kx use=bracketed+paste,
433 kx use=report+version,
433 kx
433 kx # Left/right margins are supported in xterm since patch #279 (2012/05/10)
433 kx vt420+lrmm|VT420 left/right margins,
433 kx mgc=\E[?69l,
433 kx smglp=\E[?69h\E[%i%p1%ds,
433 kx smglr=\E[?69h\E[%i%p1%d;%p2%ds,
433 kx smgrp=\E[?69h\E[%i;%p1%ds,
433 kx
433 kx # These "ansi+XXX" blocks were added in ncurses 5.0:
433 kx ansi+rep,
433 kx rep=%p1%c\E[%p2%{1}%-%db,
433 kx
433 kx ansi+enq|ncurses extension for ANSI ENQ,
433 kx u6=\E[%i%d;%dR,
433 kx u7=\E[6n,
433 kx u8=\E[?%[;0123456789]c,
433 kx u9=\E[c,
433 kx
433 kx # Encode modifiers using parameters (see "Xterm Control Sequences" ctlseqs.ms).
433 kx # Note that this is unrelated to PCTERM.
433 kx #
433 kx # Some names are extensions allowed by ncurses, e.g.,
433 kx # kDN, kDN5, kDN6, kLFT5, kLFT6, kRIT5, kRIT6, kUP, kUP5, kUP6
433 kx #
433 kx # The uppercase names are made up, since there are no standards that apply.
433 kx # If they were limited to two characters, they could in principle be translated
433 kx # to termcap. However, termcap sizes are limited to 1023 bytes, so there is
433 kx # little point in ensuring that extended key names can be translated to
433 kx # termcap. A terminfo file can be up to 4096 bytes; using all extended keys
433 kx # that xterm can generate would in fact exceed that limit.
433 kx #
433 kx # The numbers correspond to the modifier parameters documented in Xterm
433 kx # Control Sequences:
433 kx #
433 kx # 2 Shift
433 kx # 3 Alt
433 kx # 4 Shift + Alt
433 kx # 5 Control
433 kx # 6 Shift + Control
433 kx # 7 Alt + Control
433 kx # 8 Shift + Alt + Control
433 kx #
433 kx # X/Open Curses defines some shift combinations, which are also used here
433 kx # where applicable. Since it does define some shift combinations, no number
433 kx # (2) is used for suffixing the made-up names. Some combinations are not
433 kx # useful, e.g., they may reboot your computer, or they may require too many
433 kx # fingers. I stopped at modifier 7, just to keep things simple -TD
433 kx #
433 kx # XTerm resources:
433 kx # ---------------
433 kx # The xterm+pcfn, xterm+pcf0, xterm+pcf1, xterm+pcf2 and xterm+pcf3 fragments
433 kx # correspond to default resource settings for xterm on a 104-key PC keyboard
433 kx # with 12 function-keys:
433 kx #
433 kx # *sunKeyboard:false
433 kx # *oldXtermFKeys:false
433 kx # *modifyCursorKeys:2
433 kx # *modifyFunctionKeys:2
433 kx # *ctrlFKeys:10
433 kx #
433 kx # The key numbers are computed based on the modifiers:
433 kx #
433 kx # kf1-kf12 are F1-F12
433 kx # kf13-kf24 are shift F1-F12
433 kx # kf25-kf36 are control F1-F12
433 kx # kf37-kf48 are control+shift F1-F12
433 kx # kf49-kf60 are alt F1-F12
433 kx # kf61-kf63 are shift-alt F1-F3
433 kx #
433 kx # Note that ncurses would allow definition of kf64 and beyond, if there were
433 kx # an application that required it.
433 kx #
433 kx xterm+pcfkeys|fragment for PC-style keys,
433 kx use=xterm+app,
433 kx use=xterm+pcf2,
433 kx use=xterm+pce2,
433 kx use=xterm+pcc2,
433 kx
433 kx # This chunk is based on suggestions by Ailin Nemui and Nicholas Marriott, who
433 kx # asked for some of xterm's advanced features to be added to its terminfo
433 kx # entry. It defines extended capabilities not found in standard terminfo or
433 kx # termcap. These are useful in tmux, for instance, hence the name.
433 kx #
433 kx # One caveat in adding extended capabilities in ncurses is that if the names
433 kx # are longer than two characters, then they will not be visible through the
433 kx # termcap interface.
433 kx #
433 kx # Ms modifies the selection/clipboard. Its parameters are
433 kx # p1 = the storage unit (clipboard, selection or cut buffer)
433 kx # p2 = the base64-encoded clipboard content.
433 kx #
433 kx # Ss is used to set the cursor style as described by the DECSCUSR
433 kx # function to a block or underline.
433 kx # Se resets the cursor style to the terminal power-on default.
433 kx #
433 kx # Cs and Ce set and reset the cursor colour.
433 kx xterm+tmux|advanced xterm features used in tmux,
433 kx Cr=\E]112\007,
433 kx Cs=\E]12;%p1%s\007,
433 kx Ms=\E]52;%p1%s;%p2%s
433 kx \007,
433 kx Se=\E[2\sq,
433 kx Ss=\E[%p1%d\sq,
433 kx #
433 kx # The ctrlFKeys resource is only relevant to the xterm+pcfn and xterm+pcfN
433 kx # entries, since the modifyFunctionKeys resource overrides ctrlFKeys when it is
433 kx # positive. A different choice of ctrlFKeys would give a different set of
433 kx # function-key strings.
433 kx xterm+pcfn|fragment with modifyFunctionKeys:-1 and ctrlFKeys:10,
433 kx kf1=\EOP,
433 kx kf10=\E[21~,
433 kx kf11=\E[23~,
433 kx kf12=\E[24~,
433 kx kf13=\E[25~,
433 kx kf14=\E[26~,
433 kx kf15=\E[28~,
433 kx kf16=\E[29~,
433 kx kf17=\E[31~,
433 kx kf18=\E[32~,
433 kx kf19=\E[33~,
433 kx kf2=\EOQ,
433 kx kf20=\E[34~,
433 kx kf21=\E[42~,
433 kx kf22=\E[43~,
433 kx kf23=\E[44~,
433 kx kf24=\E[45~,
433 kx kf25=\E[46~,
433 kx kf26=\E[47~,
433 kx kf27=\E[48~,
433 kx kf28=\E[49~,
433 kx kf29=\E[50~,
433 kx kf3=\EOR,
433 kx kf30=\E[51~,
433 kx kf31=\E[52~,
433 kx kf32=\E[53~,
433 kx kf33=\E[54~,
433 kx kf34=\E[55~,
433 kx kf35=\E[56~,
433 kx kf36=\E[57~,
433 kx kf37=\E[58~,
433 kx kf38=\E[59~,
433 kx kf39=\E[60~,
433 kx kf4=\EOS,
433 kx kf40=\E[61~,
433 kx kf41=\E[62~,
433 kx kf42=\E[63~,
433 kx kf43=\E[64~,
433 kx kf44=\E[65~,
433 kx kf45=\E[66~,
433 kx kf46=\E[67~,
433 kx kf47=\E[68~,
433 kx kf48=\E[69~,
433 kx kf5=\E[15~,
433 kx kf6=\E[17~,
433 kx kf7=\E[18~,
433 kx kf8=\E[19~,
433 kx kf9=\E[20~,
433 kx
433 kx # Changing ctrlFKeys to 12 would let us number the keys using just shift- and
433 kx # control- modifiers:
433 kx # kf1-kf12 are F1-F12
433 kx # kf13-kf24 are shift F1-F12
433 kx # kf25-kf36 are control F1-F12
433 kx # kf37-kf48 are control+shift F1-F12
433 kx xterm+pcfN|fragment with modifyFunctionKeys:-1 and ctrlFKeys:12,
433 kx kf1=\EOP,
433 kx kf10=\E[21~,
433 kx kf11=\E[23~,
433 kx kf12=\E[24~,
433 kx kf13=\E[25~,
433 kx kf14=\E[26~,
433 kx kf15=\E[28~,
433 kx kf16=\E[29~,
433 kx kf17=\E[31~,
433 kx kf18=\E[32~,
433 kx kf19=\E[33~,
433 kx kf2=\EOQ,
433 kx kf20=\E[34~,
433 kx kf21=\E[42~,
433 kx kf22=\E[43~,
433 kx kf23=\E[44~,
433 kx kf24=\E[45~,
433 kx kf25=\E[46~,
433 kx kf26=\E[47~,
433 kx kf27=\E[48~,
433 kx kf28=\E[49~,
433 kx kf29=\E[50~,
433 kx kf3=\EOR,
433 kx kf30=\E[51~,
433 kx kf31=\E[52~,
433 kx kf32=\E[53~,
433 kx kf33=\E[54~,
433 kx kf34=\E[55~,
433 kx kf35=\E[56~,
433 kx kf36=\E[57~,
433 kx kf37=\E[58~,
433 kx kf38=\E[59~,
433 kx kf39=\E[60~,
433 kx kf4=\EOS,
433 kx kf40=\E[61~,
433 kx kf41=\E[62~,
433 kx kf42=\E[63~,
433 kx kf43=\E[64~,
433 kx kf44=\E[65~,
433 kx kf45=\E[66~,
433 kx kf46=\E[67~,
433 kx kf47=\E[68~,
433 kx kf48=\E[69~,
433 kx kf5=\E[15~,
433 kx kf6=\E[17~,
433 kx kf7=\E[18~,
433 kx kf8=\E[19~,
433 kx kf9=\E[20~,
433 kx
433 kx xterm+pcf0|fragment with modifyFunctionKeys:0,
433 kx kf1=\EOP,
433 kx kf10=\E[21~,
433 kx kf11=\E[23~,
433 kx kf12=\E[24~,
433 kx kf13=\EO2P,
433 kx kf14=\EO2Q,
433 kx kf15=\EO2R,
433 kx kf16=\EO2S,
433 kx kf17=\E[15;2~,
433 kx kf18=\E[17;2~,
433 kx kf19=\E[18;2~,
433 kx kf2=\EOQ,
433 kx kf20=\E[19;2~,
433 kx kf21=\E[20;2~,
433 kx kf22=\E[21;2~,
433 kx kf23=\E[23;2~,
433 kx kf24=\E[24;2~,
433 kx kf25=\EO5P,
433 kx kf26=\EO5Q,
433 kx kf27=\EO5R,
433 kx kf28=\EO5S,
433 kx kf29=\E[15;5~,
433 kx kf3=\EOR,
433 kx kf30=\E[17;5~,
433 kx kf31=\E[18;5~,
433 kx kf32=\E[19;5~,
433 kx kf33=\E[20;5~,
433 kx kf34=\E[21;5~,
433 kx kf35=\E[23;5~,
433 kx kf36=\E[24;5~,
433 kx kf37=\EO6P,
433 kx kf38=\EO6Q,
433 kx kf39=\EO6R,
433 kx kf4=\EOS,
433 kx kf40=\EO6S,
433 kx kf41=\E[15;6~,
433 kx kf42=\E[17;6~,
433 kx kf43=\E[18;6~,
433 kx kf44=\E[19;6~,
433 kx kf45=\E[20;6~,
433 kx kf46=\E[21;6~,
433 kx kf47=\E[23;6~,
433 kx kf48=\E[24;6~,
433 kx kf49=\EO3P,
433 kx kf5=\E[15~,
433 kx kf50=\EO3Q,
433 kx kf51=\EO3R,
433 kx kf52=\EO3S,
433 kx kf53=\E[15;3~,
433 kx kf54=\E[17;3~,
433 kx kf55=\E[18;3~,
433 kx kf56=\E[19;3~,
433 kx kf57=\E[20;3~,
433 kx kf58=\E[21;3~,
433 kx kf59=\E[23;3~,
433 kx kf6=\E[17~,
433 kx kf60=\E[24;3~,
433 kx kf61=\EO4P,
433 kx kf62=\EO4Q,
433 kx kf63=\EO4R,
433 kx kf7=\E[18~,
433 kx kf8=\E[19~,
433 kx kf9=\E[20~,
433 kx
433 kx # This is almost the same as xterm+pcf2 because the unmodified keys all happen
433 kx # to have a pattern that forces the modifier to the same position.
433 kx xterm+pcf1|fragment with modifyFunctionKeys:1,
433 kx kf1=\EOP,
433 kx kf10=\E[21~,
433 kx kf11=\E[23~,
433 kx kf12=\E[24~,
433 kx kf13=\E[2P,
433 kx kf14=\E[2Q,
433 kx kf15=\E[2R,
433 kx kf16=\E[2S,
433 kx kf17=\E[15;2~,
433 kx kf18=\E[17;2~,
433 kx kf19=\E[18;2~,
433 kx kf2=\EOQ,
433 kx kf20=\E[19;2~,
433 kx kf21=\E[20;2~,
433 kx kf22=\E[21;2~,
433 kx kf23=\E[23;2~,
433 kx kf24=\E[24;2~,
433 kx kf25=\E[5P,
433 kx kf26=\E[5Q,
433 kx kf27=\E[5R,
433 kx kf28=\E[5S,
433 kx kf29=\E[15;5~,
433 kx kf3=\EOR,
433 kx kf30=\E[17;5~,
433 kx kf31=\E[18;5~,
433 kx kf32=\E[19;5~,
433 kx kf33=\E[20;5~,
433 kx kf34=\E[21;5~,
433 kx kf35=\E[23;5~,
433 kx kf36=\E[24;5~,
433 kx kf37=\E[6P,
433 kx kf38=\E[6Q,
433 kx kf39=\E[6R,
433 kx kf4=\EOS,
433 kx kf40=\E[6S,
433 kx kf41=\E[15;6~,
433 kx kf42=\E[17;6~,
433 kx kf43=\E[18;6~,
433 kx kf44=\E[19;6~,
433 kx kf45=\E[20;6~,
433 kx kf46=\E[21;6~,
433 kx kf47=\E[23;6~,
433 kx kf48=\E[24;6~,
433 kx kf49=\E[3P,
433 kx kf5=\E[15~,
433 kx kf50=\E[3Q,
433 kx kf51=\E[3R,
433 kx kf52=\E[3S,
433 kx kf53=\E[15;3~,
433 kx kf54=\E[17;3~,
433 kx kf55=\E[18;3~,
433 kx kf56=\E[19;3~,
433 kx kf57=\E[20;3~,
433 kx kf58=\E[21;3~,
433 kx kf59=\E[23;3~,
433 kx kf6=\E[17~,
433 kx kf60=\E[24;3~,
433 kx kf61=\E[4P,
433 kx kf62=\E[4Q,
433 kx kf63=\E[4R,
433 kx kf7=\E[18~,
433 kx kf8=\E[19~,
433 kx kf9=\E[20~,
433 kx
433 kx xterm+pcf2|fragment with modifyFunctionKeys:2,
433 kx kf1=\EOP,
433 kx kf10=\E[21~,
433 kx kf11=\E[23~,
433 kx kf12=\E[24~,
433 kx kf13=\E[1;2P,
433 kx kf14=\E[1;2Q,
433 kx kf15=\E[1;2R,
433 kx kf16=\E[1;2S,
433 kx kf17=\E[15;2~,
433 kx kf18=\E[17;2~,
433 kx kf19=\E[18;2~,
433 kx kf2=\EOQ,
433 kx kf20=\E[19;2~,
433 kx kf21=\E[20;2~,
433 kx kf22=\E[21;2~,
433 kx kf23=\E[23;2~,
433 kx kf24=\E[24;2~,
433 kx kf25=\E[1;5P,
433 kx kf26=\E[1;5Q,
433 kx kf27=\E[1;5R,
433 kx kf28=\E[1;5S,
433 kx kf29=\E[15;5~,
433 kx kf3=\EOR,
433 kx kf30=\E[17;5~,
433 kx kf31=\E[18;5~,
433 kx kf32=\E[19;5~,
433 kx kf33=\E[20;5~,
433 kx kf34=\E[21;5~,
433 kx kf35=\E[23;5~,
433 kx kf36=\E[24;5~,
433 kx kf37=\E[1;6P,
433 kx kf38=\E[1;6Q,
433 kx kf39=\E[1;6R,
433 kx kf4=\EOS,
433 kx kf40=\E[1;6S,
433 kx kf41=\E[15;6~,
433 kx kf42=\E[17;6~,
433 kx kf43=\E[18;6~,
433 kx kf44=\E[19;6~,
433 kx kf45=\E[20;6~,
433 kx kf46=\E[21;6~,
433 kx kf47=\E[23;6~,
433 kx kf48=\E[24;6~,
433 kx kf49=\E[1;3P,
433 kx kf5=\E[15~,
433 kx kf50=\E[1;3Q,
433 kx kf51=\E[1;3R,
433 kx kf52=\E[1;3S,
433 kx kf53=\E[15;3~,
433 kx kf54=\E[17;3~,
433 kx kf55=\E[18;3~,
433 kx kf56=\E[19;3~,
433 kx kf57=\E[20;3~,
433 kx kf58=\E[21;3~,
433 kx kf59=\E[23;3~,
433 kx kf6=\E[17~,
433 kx kf60=\E[24;3~,
433 kx kf61=\E[1;4P,
433 kx kf62=\E[1;4Q,
433 kx kf63=\E[1;4R,
433 kx kf7=\E[18~,
433 kx kf8=\E[19~,
433 kx kf9=\E[20~,
433 kx
433 kx xterm+pcf3|fragment with modifyFunctionKeys:3,
433 kx kf1=\EOP,
433 kx kf10=\E[21~,
433 kx kf11=\E[23~,
433 kx kf12=\E[24~,
433 kx kf13=\E[>1;2P,
433 kx kf14=\E[>1;2Q,
433 kx kf15=\E[>1;2R,
433 kx kf16=\E[>1;2S,
433 kx kf17=\E[>15;2~,
433 kx kf18=\E[>17;2~,
433 kx kf19=\E[>18;2~,
433 kx kf2=\EOQ,
433 kx kf20=\E[>19;2~,
433 kx kf21=\E[>20;2~,
433 kx kf22=\E[>21;2~,
433 kx kf23=\E[>23;2~,
433 kx kf24=\E[>24;2~,
433 kx kf25=\E[>1;5P,
433 kx kf26=\E[>1;5Q,
433 kx kf27=\E[>1;5R,
433 kx kf28=\E[>1;5S,
433 kx kf29=\E[>15;5~,
433 kx kf3=\EOR,
433 kx kf30=\E[>17;5~,
433 kx kf31=\E[>18;5~,
433 kx kf32=\E[>19;5~,
433 kx kf33=\E[>20;5~,
433 kx kf34=\E[>21;5~,
433 kx kf35=\E[>23;5~,
433 kx kf36=\E[>24;5~,
433 kx kf37=\E[>1;6P,
433 kx kf38=\E[>1;6Q,
433 kx kf39=\E[>1;6R,
433 kx kf4=\EOS,
433 kx kf40=\E[>1;6S,
433 kx kf41=\E[>15;6~,
433 kx kf42=\E[>17;6~,
433 kx kf43=\E[>18;6~,
433 kx kf44=\E[>19;6~,
433 kx kf45=\E[>20;6~,
433 kx kf46=\E[>21;6~,
433 kx kf47=\E[>23;6~,
433 kx kf48=\E[>24;6~,
433 kx kf49=\E[>1;3P,
433 kx kf5=\E[15~,
433 kx kf50=\E[>1;3Q,
433 kx kf51=\E[>1;3R,
433 kx kf52=\E[>1;3S,
433 kx kf53=\E[>15;3~,
433 kx kf54=\E[>17;3~,
433 kx kf55=\E[>18;3~,
433 kx kf56=\E[>19;3~,
433 kx kf57=\E[>20;3~,
433 kx kf58=\E[>21;3~,
433 kx kf59=\E[>23;3~,
433 kx kf6=\E[17~,
433 kx kf60=\E[>24;3~,
433 kx kf61=\E[>1;4P,
433 kx kf62=\E[>1;4Q,
433 kx kf63=\E[>1;4R,
433 kx kf7=\E[18~,
433 kx kf8=\E[19~,
433 kx kf9=\E[20~,
433 kx #
433 kx # The "PC-style" modifier scheme was introduced in xterm patch #94 (1999/3/27)
433 kx # and revised in patch #167 (2002/8/24).
433 kx #
433 kx # The original assignments from patch #94 for cursor-keys had some technical
433 kx # issues:
433 kx #
433 kx # A parameter for a function-key to represent a modifier is just more
433 kx # bits. But for a cursor-key it may change the behavior of the
433 kx # application. For instance, emacs decodes the first parameter of a
433 kx # cursor-key as a repeat count.
433 kx #
433 kx # A parameterized string should (really) not begin with SS3 (\EO).
433 kx # Rather, CSI (\E[) should be used.
433 kx #
433 kx # For these reasons, the original assignments were deprecated. For
433 kx # compatibility reasons, they are still available as a setting of xterm's
433 kx # modifyCursorKeys resource. These fragments list the modified cursor-keys
433 kx # that might apply to xterm+pcfkeys with different values of that resource.
433 kx xterm+pcc3|fragment with modifyCursorKeys:3,
433 kx kLFT=\E[>1;2D,
433 kx kRIT=\E[>1;2C,
433 kx kind=\E[>1;2B,
433 kx kri=\E[>1;2A,
433 kx kDN=\E[>1;2B,
433 kx kDN3=\E[>1;3B,
433 kx kDN4=\E[>1;4B,
433 kx kDN5=\E[>1;5B,
433 kx kDN6=\E[>1;6B,
433 kx kDN7=\E[>1;7B,
433 kx kLFT3=\E[>1;3D,
433 kx kLFT4=\E[>1;4D,
433 kx kLFT5=\E[>1;5D,
433 kx kLFT6=\E[>1;6D,
433 kx kLFT7=\E[>1;7D,
433 kx kRIT3=\E[>1;3C,
433 kx kRIT4=\E[>1;4C,
433 kx kRIT5=\E[>1;5C,
433 kx kRIT6=\E[>1;6C,
433 kx kRIT7=\E[>1;7C,
433 kx kUP=\E[>1;2A,
433 kx kUP3=\E[>1;3A,
433 kx kUP4=\E[>1;4A,
433 kx kUP5=\E[>1;5A,
433 kx kUP6=\E[>1;6A,
433 kx kUP7=\E[>1;7A,
433 kx
433 kx xterm+pcc2|fragment with modifyCursorKeys:2,
433 kx kLFT=\E[1;2D,
433 kx kRIT=\E[1;2C,
433 kx kind=\E[1;2B,
433 kx kri=\E[1;2A,
433 kx kDN=\E[1;2B,
433 kx kDN3=\E[1;3B,
433 kx kDN4=\E[1;4B,
433 kx kDN5=\E[1;5B,
433 kx kDN6=\E[1;6B,
433 kx kDN7=\E[1;7B,
433 kx kLFT3=\E[1;3D,
433 kx kLFT4=\E[1;4D,
433 kx kLFT5=\E[1;5D,
433 kx kLFT6=\E[1;6D,
433 kx kLFT7=\E[1;7D,
433 kx kRIT3=\E[1;3C,
433 kx kRIT4=\E[1;4C,
433 kx kRIT5=\E[1;5C,
433 kx kRIT6=\E[1;6C,
433 kx kRIT7=\E[1;7C,
433 kx kUP=\E[1;2A,
433 kx kUP3=\E[1;3A,
433 kx kUP4=\E[1;4A,
433 kx kUP5=\E[1;5A,
433 kx kUP6=\E[1;6A,
433 kx kUP7=\E[1;7A,
433 kx
433 kx xterm+pcc1|fragment with modifyCursorKeys:1,
433 kx kLFT=\E[2D,
433 kx kRIT=\E[2C,
433 kx kind=\E[2B,
433 kx kri=\E[2A,
433 kx kDN=\E[2B,
433 kx kDN3=\E[3B,
433 kx kDN4=\E[4B,
433 kx kDN5=\E[5B,
433 kx kDN6=\E[6B,
433 kx kDN7=\E[7B,
433 kx kLFT3=\E[3D,
433 kx kLFT4=\E[4D,
433 kx kLFT5=\E[5D,
433 kx kLFT6=\E[6D,
433 kx kLFT7=\E[7D,
433 kx kRIT3=\E[3C,
433 kx kRIT4=\E[4C,
433 kx kRIT5=\E[5C,
433 kx kRIT6=\E[6C,
433 kx kRIT7=\E[7C,
433 kx kUP=\E[2A,
433 kx kUP3=\E[3A,
433 kx kUP4=\E[4A,
433 kx kUP5=\E[5A,
433 kx kUP6=\E[6A,
433 kx kUP7=\E[7A,
433 kx
433 kx xterm+pcc0|fragment with modifyCursorKeys:0,
433 kx kLFT=\EO2D,
433 kx kRIT=\EO2C,
433 kx kind=\EO2B,
433 kx kri=\EO2A,
433 kx kDN=\EO2B,
433 kx kDN3=\EO3B,
433 kx kDN4=\EO4B,
433 kx kDN5=\EO5B,
433 kx kDN6=\EO6B,
433 kx kDN7=\EO7B,
433 kx kLFT3=\EO3D,
433 kx kLFT4=\EO4D,
433 kx kLFT5=\EO5D,
433 kx kLFT6=\EO6D,
433 kx kLFT7=\EO7D,
433 kx kRIT3=\EO3C,
433 kx kRIT4=\EO4C,
433 kx kRIT5=\EO5C,
433 kx kRIT6=\EO6C,
433 kx kRIT7=\EO7C,
433 kx kUP=\EO2A,
433 kx kUP3=\EO3A,
433 kx kUP4=\EO4A,
433 kx kUP5=\EO5A,
433 kx kUP6=\EO6A,
433 kx kUP7=\EO7A,
433 kx
433 kx # The home/end keys on the editing keypad are also treated as cursor keys.
433 kx xterm+pce3|fragment with modifyCursorKeys:3,
433 kx kDC=\E[>3;2~,
433 kx kEND=\E[>1;2F,
433 kx kHOM=\E[>1;2H,
433 kx kIC=\E[>2;2~,
433 kx kNXT=\E[>6;2~,
433 kx kPRV=\E[>5;2~,
433 kx kDC3=\E[>3;3~,
433 kx kDC4=\E[>3;4~,
433 kx kDC5=\E[>3;5~,
433 kx kDC6=\E[>3;6~,
433 kx kDC7=\E[>3;7~,
433 kx kEND3=\E[>1;3F,
433 kx kEND4=\E[>1;4F,
433 kx kEND5=\E[>1;5F,
433 kx kEND6=\E[>1;6F,
433 kx kEND7=\E[>1;7F,
433 kx kHOM3=\E[>1;3H,
433 kx kHOM4=\E[>1;4H,
433 kx kHOM5=\E[>1;5H,
433 kx kHOM6=\E[>1;6H,
433 kx kHOM7=\E[>1;7H,
433 kx kIC3=\E[>2;3~,
433 kx kIC4=\E[>2;4~,
433 kx kIC5=\E[>2;5~,
433 kx kIC6=\E[>2;6~,
433 kx kIC7=\E[>2;7~,
433 kx kNXT3=\E[>6;3~,
433 kx kNXT4=\E[>6;4~,
433 kx kNXT5=\E[>6;5~,
433 kx kNXT6=\E[>6;6~,
433 kx kNXT7=\E[>6;7~,
433 kx kPRV3=\E[>5;3~,
433 kx kPRV4=\E[>5;4~,
433 kx kPRV5=\E[>5;5~,
433 kx kPRV6=\E[>5;6~,
433 kx kPRV7=\E[>5;7~,
433 kx use=xterm+pce0,
433 kx
433 kx xterm+pce2|fragment with modifyCursorKeys:2,
433 kx kDC=\E[3;2~,
433 kx kEND=\E[1;2F,
433 kx kHOM=\E[1;2H,
433 kx kIC=\E[2;2~,
433 kx kNXT=\E[6;2~,
433 kx kPRV=\E[5;2~,
433 kx kDC3=\E[3;3~,
433 kx kDC4=\E[3;4~,
433 kx kDC5=\E[3;5~,
433 kx kDC6=\E[3;6~,
433 kx kDC7=\E[3;7~,
433 kx kEND3=\E[1;3F,
433 kx kEND4=\E[1;4F,
433 kx kEND5=\E[1;5F,
433 kx kEND6=\E[1;6F,
433 kx kEND7=\E[1;7F,
433 kx kHOM3=\E[1;3H,
433 kx kHOM4=\E[1;4H,
433 kx kHOM5=\E[1;5H,
433 kx kHOM6=\E[1;6H,
433 kx kHOM7=\E[1;7H,
433 kx kIC3=\E[2;3~,
433 kx kIC4=\E[2;4~,
433 kx kIC5=\E[2;5~,
433 kx kIC6=\E[2;6~,
433 kx kIC7=\E[2;7~,
433 kx kNXT3=\E[6;3~,
433 kx kNXT4=\E[6;4~,
433 kx kNXT5=\E[6;5~,
433 kx kNXT6=\E[6;6~,
433 kx kNXT7=\E[6;7~,
433 kx kPRV3=\E[5;3~,
433 kx kPRV4=\E[5;4~,
433 kx kPRV5=\E[5;5~,
433 kx kPRV6=\E[5;6~,
433 kx kPRV7=\E[5;7~,
433 kx use=xterm+pce0,
433 kx
433 kx xterm+pce1|fragment with modifyCursorKeys:1,
433 kx kDC=\E[3;2~,
433 kx kEND=\E[2F,
433 kx kHOM=\E[2H,
433 kx kIC=\E[2;2~,
433 kx kNXT=\E[6;2~,
433 kx kPRV=\E[5;2~,
433 kx kDC3=\E[3;3~,
433 kx kDC4=\E[3;4~,
433 kx kDC5=\E[3;5~,
433 kx kDC6=\E[3;6~,
433 kx kDC7=\E[3;7~,
433 kx kEND3=\E[3F,
433 kx kEND4=\E[4F,
433 kx kEND5=\E[5F,
433 kx kEND6=\E[6F,
433 kx kEND7=\E[7F,
433 kx kHOM3=\E[3H,
433 kx kHOM4=\E[4H,
433 kx kHOM5=\E[5H,
433 kx kHOM6=\E[6H,
433 kx kHOM7=\E[7H,
433 kx kIC3=\E[2;3~,
433 kx kIC4=\E[2;4~,
433 kx kIC5=\E[2;5~,
433 kx kIC6=\E[2;6~,
433 kx kIC7=\E[2;7~,
433 kx kNXT3=\E[6;3~,
433 kx kNXT4=\E[6;4~,
433 kx kNXT5=\E[6;5~,
433 kx kNXT6=\E[6;6~,
433 kx kNXT7=\E[6;7~,
433 kx kPRV3=\E[5;3~,
433 kx kPRV4=\E[5;4~,
433 kx kPRV5=\E[5;5~,
433 kx kPRV6=\E[5;6~,
433 kx kPRV7=\E[5;7~,
433 kx use=xterm+pce0,
433 kx
433 kx xterm+pce0|fragment with modifyCursorKeys:0,
433 kx kDC=\E[3;2~,
433 kx kEND=\EO2F,
433 kx kHOM=\EO2H,
433 kx kIC=\E[2;2~,
433 kx kNXT=\E[6;2~,
433 kx kPRV=\E[5;2~,
433 kx kDC3=\E[3;3~,
433 kx kDC4=\E[3;4~,
433 kx kDC5=\E[3;5~,
433 kx kDC6=\E[3;6~,
433 kx kDC7=\E[3;7~,
433 kx kEND3=\EO3F,
433 kx kEND4=\EO4F,
433 kx kEND5=\EO5F,
433 kx kEND6=\EO6F,
433 kx kEND7=\EO7F,
433 kx kHOM3=\EO3H,
433 kx kHOM4=\EO4H,
433 kx kHOM5=\EO5H,
433 kx kHOM6=\EO6H,
433 kx kHOM7=\EO7H,
433 kx kIC3=\E[2;3~,
433 kx kIC4=\E[2;4~,
433 kx kIC5=\E[2;5~,
433 kx kIC6=\E[2;6~,
433 kx kIC7=\E[2;7~,
433 kx kNXT3=\E[6;3~,
433 kx kNXT4=\E[6;4~,
433 kx kNXT5=\E[6;5~,
433 kx kNXT6=\E[6;6~,
433 kx kNXT7=\E[6;7~,
433 kx kPRV3=\E[5;3~,
433 kx kPRV4=\E[5;4~,
433 kx kPRV5=\E[5;5~,
433 kx kPRV6=\E[5;6~,
433 kx kPRV7=\E[5;7~,
433 kx use=xterm+edit,
433 kx
433 kx ecma+italics|ECMA-48 italics,
433 kx ritm=\E[23m,
433 kx sitm=\E[3m,
433 kx
433 kx # The rmxx/smxx capabilities are an ncurses extension
433 kx ecma+strikeout|ECMA-48 strikeout/crossed-out,
433 kx rmxx=\E[29m,
433 kx smxx=\E[9m,
433 kx
433 kx # ECMA-48 does not include the VT100 indexing and scroll-margins. It has its
433 kx # own variation.
433 kx ecma+index|ECMA-48 scroll up/down,
433 kx indn=\E[%p1%dS,
433 kx rin=\E[%p1%dT,
433 kx
433 kx # The XM capability is an ncurses extension
433 kx xterm+sm+1006|xterm SGR-mouse,
433 kx kmous=\E[<,
433 kx XM=\E[?1006;1000
433 kx %?
433 kx %p1%{1}%=
433 kx %th
433 kx %e
433 kx l
433 kx %;,
433 kx xm=\E[<%i
433 kx %p3%d;
433 kx %p1%d;
433 kx %p2%d;
433 kx %?
433 kx %p4
433 kx %tM
433 kx %e
433 kx m
433 kx %;,
433 kx
433 kx # By default, ncurses knows that xterm private mode 1000 enables/disables
433 kx # the X11 xterm mouse protocol. So XM is not needed here, except for clarity.
433 kx xterm+x11mouse|X11 xterm mouse protocol,
433 kx kmous=\E[M,
433 kx XM=\E[?1000
433 kx %?
433 kx %p1%{1}%=
433 kx %th
433 kx %e
433 kx l
433 kx %;,
433 kx xm=\E[M
433 kx %?
433 kx %p4
433 kx %t
433 kx %p3
433 kx %e%{3}
433 kx %;
433 kx %'\s'%+%c
433 kx %p2%'!'%+%c
433 kx %p1%'!'%+%c,
433 kx
433 kx # https://invisible-island.net/xterm/xterm-paste64.html
433 kx #
433 kx # Bracketed paste was introduced by xterm patch #203 in May 2005, as part of a
433 kx # larger feature for manipulating the clipboard selection. Few terminals aside
433 kx # from xterm fully implement the clipboard feature, but several copy this
433 kx # detail. The names for the extended capabilities here were introduced by vim
433 kx # in January 2017, but used internally. In 2023, vim patch 9.0.1117 is needed
433 kx # to work with this change.
433 kx bracketed+paste|xterm bracketed paste,
433 kx BD=\E[?2004l,
433 kx BE=\E[?2004h,
433 kx PE=\E[201~,
433 kx PS=\E[200~,
433 kx
433 kx # https://invisible-island.net/xterm/xterm.log.html#xterm_354
433 kx #
433 kx # The response is a DSR sequence identifying the version: DCS > | text ST
433 kx # For example:
433 kx # ^[P>|XTerm(354)^[\
433 kx report+version|Report xterm name and version (XTVERSION).,
433 kx RV=\E[>0q,
433 kx
433 kx # This chunk is used for building the VT220/Sun/PC keyboard variants.
433 kx xterm-basic|modern xterm terminal emulator - common,
433 kx OTbs,
433 kx am,
433 kx bce,
433 kx km,
433 kx mc5i,
433 kx mir,
433 kx msgr,
433 kx xenl,
433 kx AX,
433 kx XT,
433 kx colors#8,
433 kx cols#80,
433 kx it#8,
433 kx lines#24,
433 kx pairs#64,
433 kx acsc=``aaffggiijjkkllmmnnooppqqr
433 kx rssttuuvvwwxxyyzz{{||}}~~,
433 kx bel=^G,
433 kx blink=\E[5m,
433 kx bold=\E[1m,
433 kx cbt=\E[Z,
433 kx civis=\E[?25l,
433 kx clear=\E[H\E[2J,
433 kx cnorm=\E[?12l\E[?25h,
433 kx cr=\r,
433 kx csr=\E[%i%p1%d;%p2%dr,
433 kx cub=\E[%p1%dD,
433 kx cub1=^H,
433 kx cud=\E[%p1%dB,
433 kx cud1=\n,
433 kx cuf=\E[%p1%dC,
433 kx cuf1=\E[C,
433 kx cup=\E[%i%p1%d;%p2%dH,
433 kx cuu=\E[%p1%dA,
433 kx cuu1=\E[A,
433 kx cvvis=\E[?12;25h,
433 kx dch=\E[%p1%dP,
433 kx dch1=\E[P,
433 kx dim=\E[2m,
433 kx dl=\E[%p1%dM,
433 kx dl1=\E[M,
433 kx ech=\E[%p1%dX,
433 kx ed=\E[J,
433 kx el=\E[K,
433 kx el1=\E[1K,
433 kx flash=\E[?5h$<100/>\E[?5l,
433 kx home=\E[H,
433 kx hpa=\E[%i%p1%dG,
433 kx ht=^I,
433 kx hts=\EH,
433 kx ich=\E[%p1%d@,
433 kx il=\E[%p1%dL,
433 kx il1=\E[L,
433 kx ind=\n,
433 kx invis=\E[8m,
433 kx is2=\E[!p\E[?3;4l\E[4l\E>,
433 kx kmous=\E[M,
433 kx mc0=\E[i,
433 kx mc4=\E[4i,
433 kx mc5=\E[5i,
433 kx meml=\El,
433 kx memu=\Em,
433 kx op=\E[39;49m,
433 kx rc=\E8,
433 kx rev=\E[7m,
433 kx ri=\EM,
433 kx rmacs=\E(B,
433 kx rmam=\E[?7l,
433 kx rmir=\E[4l,
433 kx rmkx=\E[?1l\E>,
433 kx rmm=\E[?1034l,
433 kx rmso=\E[27m,
433 kx rmul=\E[24m,
433 kx rs1=\Ec,
433 kx rs2=\E[!p\E[?3;4l\E[4l\E>,
433 kx sc=\E7,
433 kx setab=\E[4%p1%dm,
433 kx setaf=\E[3%p1%dm,
433 kx setb=\E[4
433 kx %?
433 kx %p1%{1}%=
433 kx %t4
433 kx %e
433 kx %p1%{3}%=
433 kx %t6
433 kx %e
433 kx %p1%{4}%=
433 kx %t1
433 kx %e
433 kx %p1%{6}%=
433 kx %t3
433 kx %e
433 kx %p1%d
433 kx %;
433 kx m,
433 kx setf=\E[3
433 kx %?
433 kx %p1%{1}%=
433 kx %t4
433 kx %e
433 kx %p1%{3}%=
433 kx %t6
433 kx %e
433 kx %p1%{4}%=
433 kx %t1
433 kx %e
433 kx %p1%{6}%=
433 kx %t3
433 kx %e
433 kx %p1%d
433 kx %;
433 kx m,
433 kx sgr=
433 kx %?
433 kx %p9
433 kx %t\E(0
433 kx %e
433 kx \E(B
433 kx %;
433 kx \E[0
433 kx %?
433 kx %p6
433 kx %t;1
433 kx %;
433 kx %?
433 kx %p5
433 kx %t;2
433 kx %;
433 kx %?
433 kx %p2
433 kx %t;4
433 kx %;
433 kx %?
433 kx %p1
433 kx %p3%|
433 kx %t;7
433 kx %;
433 kx %?
433 kx %p4
433 kx %t;5
433 kx %;
433 kx %?
433 kx %p7
433 kx %t;8
433 kx %;
433 kx m,
433 kx sgr0=\E(B\E[m,
433 kx smacs=\E(0,
433 kx smam=\E[?7h,
433 kx smir=\E[4h,
433 kx smkx=\E[?1h\E=,
433 kx smm=\E[?1034h,
433 kx smso=\E[7m,
433 kx smul=\E[4m,
433 kx tbc=\E[3g,
433 kx vpa=\E[%i%p1%dd,
433 kx E3=\E[3J,
433 kx use=ansi+enq,
433 kx use=xterm+alt+title,
433 kx use=xterm+kbs,
433 kx
433 kx xterm+nofkeys|building block for xterm fkey-variants,
433 kx npc,
433 kx kcbt=\E[Z,
433 kx kent=\EOM,
433 kx nel=\EE,
433 kx use=ecma+index,
433 kx use=ansi+rep,
433 kx use=ecma+strikeout,
433 kx use=vt420+lrmm,
433 kx use=xterm+sm+1006,
433 kx use=xterm+tmux,
433 kx use=ecma+italics,
433 kx use=xterm+keypad,
433 kx use=xterm-basic,
433 kx #
433 kx # The xterm-new description has all of the features, but is not completely
433 kx # compatible with vt220. If you are using a Sun or PC keyboard, set the
433 kx # sunKeyboard resource to true:
433 kx # + maps the editing keypad
433 kx # + interprets control-function-key as a second array of keys, so a
433 kx # 12-fkey keyboard can support vt220's 20-fkeys.
433 kx # + maps numeric keypad "+" to ",".
433 kx # + uses DEC-style control sequences for the application keypad.
433 kx #
433 kx # Some packagers modify xterm's resource definitions to provide extra function
433 kx # keys by using the shift-modifier in the translations resource. However, that
433 kx # interferes with the DECUDK functionality.
433 kx #
433 kx xterm-vt220|xterm emulating vt220,
433 kx npc,
433 kx kcbt=\E[Z,
433 kx kcub1=\EOD,
433 kx kcud1=\EOB,
433 kx kcuf1=\EOC,
433 kx kcuu1=\EOA,
433 kx kend=\E[4~,
433 kx kent=\EOM,
433 kx kf10=\E[21~,
433 kx kf11=\E[23~,
433 kx kf12=\E[24~,
433 kx kf13=\E[25~,
433 kx kf14=\E[26~,
433 kx kf15=\E[28~,
433 kx kf16=\E[29~,
433 kx kf17=\E[31~,
433 kx kf18=\E[32~,
433 kx kf19=\E[33~,
433 kx kf20=\E[34~,
433 kx kf5=\E[15~,
433 kx kf6=\E[17~,
433 kx kf7=\E[18~,
433 kx kf8=\E[19~,
433 kx kf9=\E[20~,
433 kx khome=\E[1~,
433 kx kich1=\E[2~,
433 kx kmous=\E[M,
433 kx knp=\E[6~,
433 kx kpp=\E[5~,
433 kx nel=\EE,
433 kx use=xterm+app,
433 kx use=xterm+edit,
433 kx use=vt220+keypad,
433 kx use=ecma+italics,
433 kx use=ecma+index,
433 kx use=ansi+rep,
433 kx use=ecma+strikeout,
433 kx use=xterm+sm+1006,
433 kx use=xterm+tmux,
433 kx use=xterm+keypad,
433 kx use=xterm-basic,
433 kx #
433 kx xterm-vt52|xterm emulating dec vt52,
433 kx cols#80,
433 kx it#8,
433 kx lines#24,
433 kx acsc=``aaffggjjkkllmmnnooppqqrrs
433 kx sttuuvvwwxxyyzz{{||}}~~,
433 kx bel=^G,
433 kx clear=\EH\EJ,
433 kx cr=\r,
433 kx cub1=\ED,
433 kx cud1=\EB,
433 kx cuf1=\EC,
433 kx cup=\EY%p1%'\s'%+%c%p2%'\s'%+%c,
433 kx cuu1=\EA,
433 kx ed=\EJ,
433 kx el=\EK,
433 kx home=\EH,
433 kx ht=^I,
433 kx ind=\n,
433 kx kcub1=\ED,
433 kx kcud1=\EB,
433 kx kcuf1=\EC,
433 kx kcuu1=\EA,
433 kx nel=\r\n,
433 kx ri=\EI,
433 kx rmacs=\EG,
433 kx smacs=\EF,
433 kx use=xterm+kbs,
433 kx use=vt52+keypad,
433 kx
433 kx # from ncurses 6.2:
433 kx # DECScope of course had no "function keys", but this building block assigns
433 kx # the three blank keys at the top of the auxiliary (numeric) keypad, using
433 kx # the same analogy as vt100 (also lacking function-keys).
433 kx #
433 kx # These assignments use the same layout for 0-9 as vt100+keypad; the vt52
433 kx # keypad had its cursor-keys on the right-column as shown -TD
433 kx # _______________________________________
433 kx # | PF1 | PF2 | PF3 | c-up |
433 kx # | \EP | \EQ | \ER | \EA |
433 kx # |_kf1__k1_|_kf2__k2_|_kf3__k3_|kcuu1_k4_|
433 kx # | 7 8 9 c-down |
433 kx # | \E?w | \E?x | \E?y | \EB |
433 kx # |_kf9__k9_|_kf10_k;_|_kf0__k0_|kcud1____|
433 kx # | 4 | 5 | 6 | c-right |
433 kx # | \E?t | \E?u | \E?v | \EC |
433 kx # |_kf5__k5_|_kf6__k6_|_kf7__k7_|kcuf1_k8_|
433 kx # | 1 | 2 | 3 | c-left |
433 kx # | \E?q | \E?r | \E?s | \ED |
433 kx # |_ka1__K1_|_kb2__K2_|_ka3__K3_|kcub1____|
433 kx # | 0 | . | enter |
433 kx # | \E?p | \E?n | \E?M |
433 kx # |___kc1_______K4____|_kc3__K5_|_kent_@8_|
433 kx #
433 kx vt52+keypad|DECScope auxiliary keypad,
433 kx ka1=\E?q,
433 kx ka3=\E?s,
433 kx kb2=\E?r,
433 kx kc1=\E?p,
433 kx kc3=\E?n,
433 kx kf0=\E?y,
433 kx kf1=\EP,
433 kx kf2=\EQ,
433 kx kf3=\ER,
433 kx kf5=\E?t,
433 kx kf6=\E?u,
433 kx kf7=\E?v,
433 kx kf8=\E?w,
433 kx kf9=\E?x,
433 kx #
433 kx # Sun does not number the function keys this way in their sparse termcap; their
433 kx # terminal descriptions ignore the keypads. kb(7M) states that there are codes
433 kx # reserved for 64 function keys, 16 each in left, right, top and bottom. Each
433 kx # keyboard type has a different number of function keys in different
433 kx # arrangements. Using xkeycaps for reference:
433 kx #
433 kx # Type 3: left 10, top 9, right 15
433 kx # ------
433 kx # kf1-kf9 are XK_F1-XK_F9
433 kx # There is no kf10 on this keyboard type.
433 kx # kf11-kf20 are keysyms XK_L1 through XK_L10.
433 kx # kf31-kf45 are keysyms XK_R1 through XK_R15.
433 kx #
433 kx # However, X's keysymdef.h is hard-coded to make
433 kx # XK_L1==XK_F11 and
433 kx # XK_R1==XK_F21,
433 kx # by someone who was unfamiliar with terminal types other than Sun's. So
433 kx # xterm uses the internal X keysymbols, but the terminfo entry uses the Sun
433 kx # numbering scheme.
433 kx #
433 kx # Type 4: left 11, top 12, right 15
433 kx # ------
433 kx # The left-keypad contains an unnumbered Help-key.
433 kx # The right-keypad also contains NumLock, Ins, Del, Enter, + and - keys which
433 kx # do not appear to be part of the R-sequence.
433 kx #
433 kx # Type 5: left 9, top 12, right (more than one keypad)
433 kx # ------
433 kx # These keyboards do not use the same naming convention, look like a hybrid of
433 kx # the type 4 and IBM keyboards.
433 kx #
433 kx # XTerm resources:
433 kx # ---------------
433 kx # Set the modifyFunctionKeys resource to negative (-1) to make it simple to
433 kx # enter the higher function-key values using shift- and control-modifiers.
433 kx #
433 kx xterm-sun|xterm with sun function keys,
433 kx kb2=\E[218z,
433 kx kcpy=\E[197z,
433 kx kcub1=\EOD,
433 kx kcud1=\EOB,
433 kx kcuf1=\EOC,
433 kx kcuu1=\EOA,
433 kx kdch1=\E[3z,
433 kx kend=\E[220z,
433 kx kent=\EOM,
433 kx kf1=\E[224z,
433 kx kf10=\E[233z,
433 kx kf11=\E[192z,
433 kx kf12=\E[193z,
433 kx kf13=\E[194z,
433 kx kf14=\E[195z,
433 kx kf15=\E[196z,
433 kx kf17=\E[198z,
433 kx kf18=\E[199z,
433 kx kf19=\E[200z,
433 kx kf2=\E[225z,
433 kx kf20=\E[201z,
433 kx kf3=\E[226z,
433 kx kf31=\E[208z,
433 kx kf32=\E[209z,
433 kx kf33=\E[210z,
433 kx kf34=\E[211z,
433 kx kf35=\E[212z,
433 kx kf36=\E[213z,
433 kx kf38=\E[215z,
433 kx kf4=\E[227z,
433 kx kf40=\E[217z,
433 kx kf42=\E[219z,
433 kx kf44=\E[221z,
433 kx kf45=\E[222z,
433 kx kf46=\E[234z,
433 kx kf47=\E[235z,
433 kx kf5=\E[228z,
433 kx kf6=\E[229z,
433 kx kf7=\E[230z,
433 kx kf8=\E[231z,
433 kx kf9=\E[232z,
433 kx kfnd=\E[200z,
433 kx khlp=\E[196z,
433 kx khome=\E[214z,
433 kx kich1=\E[2z,
433 kx knp=\E[222z,
433 kx kpp=\E[216z,
433 kx kund=\E[195z,
433 kx use=xterm+nopcfkeys,
433 kx use=xterm+nofkeys,
433 kx
433 kx # Note: normally xterm supports modified function-keys as described in
433 kx # XTerm - "Other" modified keys
433 kx # https://invisible-island.net/xterm/modified-keys.html
433 kx #
433 kx # However, xterm-hp, xterm-sco and xterm-sun assume no modifiers. Here is
433 kx # a simple script which demonstrates these descriptions:
433 kx # #!/bin/sh
433 kx # export TERM=xterm-$1
433 kx # xterm \
433 kx # -kt $1 \
433 kx # -fs 16 -fa mono \
433 kx # -title $TERM \
433 kx # -tn $TERM \
433 kx # -xrm '*modifyCursorKeys:-1' \
433 kx # -xrm '*modifyFunctionKeys:-1' \
433 kx # -e tack
433 kx # e.g., "foo sun" if the script is named "foo" -TD
433 kx
433 kx xterm-hp|xterm with hpterm function keys,
433 kx kclr=\EJ,
433 kx kcub1=\ED,
433 kx kcud1=\EB,
433 kx kcuf1=\EC,
433 kx kcuu1=\EA,
433 kx kdch1=\EP,
433 kx kend=\EF,
433 kx kf1=\Ep,
433 kx kf2=\Eq,
433 kx kf3=\Er,
433 kx kf4=\Es,
433 kx kf5=\Et,
433 kx kf6=\Eu,
433 kx kf7=\Ev,
433 kx kf8=\Ew,
433 kx khome=\Eh,
433 kx kich1=\EQ,
433 kx knp=\ES,
433 kx kpp=\ET,
433 kx use=xterm+nofkeys,
433 kx use=xterm+nopcfkeys,
433 kx #
433 kx # scoterm implements 48 function-keys using shift- and control-modifiers to
433 kx # multiple 12 function-keys. X has a hard-coded limit of 35 function-keys,
433 kx # but xterm can represent larger values.
433 kx #
433 kx # XTerm resources:
433 kx # ---------------
433 kx # Set the modifyFunctionKeys resource to negative (-1) to make it simple to
433 kx # enter the higher function-key values using shift- and control-modifiers.
433 kx #
433 kx # Also, set ctrlFKeys resource to 12 (the default is 10) to make xterm see 48
433 kx # function-keys on a keyboard with 12 function-keys and 4 control/shift
433 kx # modifier combinations.
433 kx #
433 kx xterm-sco|xterm with SCO function keys,
433 kx kbeg=\E[E,
433 kx kdch1=^?,
433 kx kf1=\E[M,
433 kx kf10=\E[V,
433 kx kf11=\E[W,
433 kx kf12=\E[X,
433 kx kf13=\E[Y,
433 kx kf14=\E[Z,
433 kx kf15=\E[a,
433 kx kf16=\E[b,
433 kx kf17=\E[c,
433 kx kf18=\E[d,
433 kx kf19=\E[e,
433 kx kf2=\E[N,
433 kx kf20=\E[f,
433 kx kf21=\E[g,
433 kx kf22=\E[h,
433 kx kf23=\E[i,
433 kx kf24=\E[j,
433 kx kf25=\E[k,
433 kx kf26=\E[l,
433 kx kf27=\E[m,
433 kx kf28=\E[n,
433 kx kf29=\E[o,
433 kx kf3=\E[O,
433 kx kf30=\E[p,
433 kx kf31=\E[q,
433 kx kf32=\E[r,
433 kx kf33=\E[s,
433 kx kf34=\E[t,
433 kx kf35=\E[u,
433 kx kf36=\E[v,
433 kx kf37=\E[w,
433 kx kf38=\E[x,
433 kx kf39=\E[y,
433 kx kf4=\E[P,
433 kx kf40=\E[z,
433 kx kf41=\E[@,
433 kx kf42=\E[[,
433 kx kf43=\E[\\,
433 kx kf44=\E[],
433 kx kf45=\E[\^,
433 kx kf46=\E[_,
433 kx kf47=\E[`,
433 kx kf48=\E[{,
433 kx kf5=\E[Q,
433 kx kf6=\E[R,
433 kx kf7=\E[S,
433 kx kf8=\E[T,
433 kx kf9=\E[U,
433 kx kich1=\E[L,
433 kx kmous=\E[>M,
433 kx knp=\E[G,
433 kx kpp=\E[I,
433 kx use=xterm+noapp,
433 kx use=xterm+nofkeys,
433 kx #
433 kx # Other variants (these are all very old entries, from X11R5):
433 kx xterm-24|xterms|vs100|xterm terminal emulator (X Window System),
433 kx lines#24,
433 kx use=xterm-old,
433 kx xterm-65|xterm with tall window 65x80 (X Window System),
433 kx lines#65,
433 kx use=xterm-old,
433 kx xterm-bold|xterm with bold instead of underline (X Window System),
433 kx sgr=
433 kx %?
433 kx %p9
433 kx %t\016
433 kx %e
433 kx \017
433 kx %;
433 kx B\E[0
433 kx %?
433 kx %p6
433 kx %t;1
433 kx %;
433 kx %?
433 kx %p2
433 kx %t;1
433 kx %;
433 kx %?
433 kx %p1
433 kx %p3%|
433 kx %t;7
433 kx %;
433 kx m,
433 kx smso=\E[7m,
433 kx smul=\E[1m,
433 kx use=xterm-old,
433 kx xterm-boldso|xterm with bold for standout (X Window System),
433 kx rmso=\E[m,
433 kx smso=\E[1m,
433 kx use=xterm-old,
433 kx xterm-mono|monochrome xterm,
433 kx use=xterm-old,
433 kx #
433 kx # VTxxx terminals are usually set up so that full-screen applications will use
433 kx # the cursor application mode strings. This is good for full-screen
433 kx # applications, including legacy applications which may have hard-coded
433 kx # behavior, but bad for interactive shells (e.g., tcsh, bash) which use arrow
433 kx # keys to scroll through a history of command strings.
433 kx #
433 kx # To see the difference between normal/application modes, consider this example:
433 kx # + In normal (non-application) mode, the terminal transmits a down-arrow
433 kx # as \E[C, which happens to echo as a down-arrow.
433 kx # + In application mode the terminal transmits \EOC, which echoes as C.
433 kx # That is because the \EO is the SS3 control, which says to use the
433 kx # character from the G3 character set for the next cell.
433 kx #
433 kx # One example of hard-coded behavior would be for applications written to work
433 kx # with VT52 and VT100 terminals. If the application's parser ignores 'O' and
433 kx # '?' characters after the escape, then the cursor and keypad strings for the
433 kx # two terminals are the same. (Indeed, one of the first curses applications
433 kx # which I used did something like this to cover "ANSI" terminals -TD).
433 kx #
433 kx # To make this work (leaving the cursor keys in normal mode), we have to adjust
433 kx # the terminal initialization sequences:
433 kx #
433 kx # smkx/rmkx set/reset the cursor and keypad application modes. We retain
433 kx # the latter (otherwise many applications fail).
433 kx #
433 kx # smcup/rmcup set/restore cursor-addressing mode for full-screen
433 kx # applications. For xterm, this normally means the alternate
433 kx # screen, which is not compatible with interactive shells. Some
433 kx # programs are "smart" and disable these.
433 kx #
433 kx xterm-noapp|xterm with cursor keys in normal mode,
433 kx rmcup@,
433 kx rmkx=\E>,
433 kx smcup@,
433 kx smkx=\E=,
433 kx use=xterm+noapp,
433 kx use=xterm,
433 kx
433 kx xterm+noapp|fragment with cursor keys in normal mode,
433 kx kcub1=\E[D,
433 kx kcud1=\E[B,
433 kx kcuf1=\E[C,
433 kx kcuu1=\E[A,
433 kx use=xterm+noapp+pc,
433 kx
433 kx xterm+app|fragment with cursor keys in application mode,
433 kx kcub1=\EOD,
433 kx kcud1=\EOB,
433 kx kcuf1=\EOC,
433 kx kcuu1=\EOA,
433 kx use=xterm+app+pc,
433 kx
433 kx xterm+noapp+pc|fragment for noapp pc-style home/end,
433 kx kend=\E[F,
433 kx khome=\E[H,
433 kx
433 kx xterm+app+pc|fragment for app pc-style home/end,
433 kx kend=\EOF,
433 kx khome=\EOH,
433 kx
433 kx xterm+edit|fragment for 6-key editing-keypad,
433 kx kdch1=\E[3~,
433 kx kich1=\E[2~,
433 kx knp=\E[6~,
433 kx kpp=\E[5~,
433 kx use=xterm+pc+edit,
433 kx
433 kx xterm+decedit|fragment for vt220 6-key editing-keypad,
433 kx kdch1=\E[3~,
433 kx kich1=\E[2~,
433 kx knp=\E[6~,
433 kx kpp=\E[5~,
433 kx use=xterm+vt+edit,
433 kx
433 kx xterm+pc+edit|fragment for pc-style editing keypad,
433 kx kend=\E[4~,
433 kx khome=\E[1~,
433 kx
433 kx xterm+vt+edit|fragment for vt220-style editing keypad,
433 kx kfnd=\E[1~,
433 kx kslt=\E[4~,
433 kx
433 kx xterm+noalt|xterm without altscreen,
433 kx rmcup@,
433 kx smcup@,
433 kx
433 kx xterm+alt1049|xterm 90 feature,
433 kx rmcup=\E[?1049l,
433 kx smcup=\E[?1049h,
433 kx
433 kx xterm+titlestack|xterm 251 feature,
433 kx rmcup=\E[23;0;0t,
433 kx smcup=\E[22;0;0t,
433 kx
433 kx xterm+alt+title|xterm 90 and 251 features combined,
433 kx rmcup=\E[?1049l\E[23;0;0t,
433 kx smcup=\E[?1049h\E[22;0;0t,
433 kx
433 kx # The xterm ctrlFKeys resource defaults to 10, so without the "pc-style"
433 kx # feature, e.g., setting the modifyCursorKeys and modifyFunctionKeys resources
433 kx # to -1 to disable them, one gets 42 function-keys on a 12-function-key
433 kx # keyboard, e.g.,
433 kx # kf1 = \E[11~
433 kx # kf11 shift f1 = \E[23~
433 kx # kf21 control f1 = \E[42~
433 kx # kf31 shift control f1 = \E[52~
433 kx xterm+nopcfkeys|fragment without PC-style fkeys,
433 kx kf1=\E[11~,
433 kx kf10=\E[21~,
433 kx kf11=\E[23~,
433 kx kf12=\E[24~,
433 kx kf13=\E[25~,
433 kx kf14=\E[26~,
433 kx kf15=\E[28~,
433 kx kf16=\E[29~,
433 kx kf17=\E[31~,
433 kx kf18=\E[32~,
433 kx kf19=\E[33~,
433 kx kf2=\E[12~,
433 kx kf20=\E[34~,
433 kx kf21=\E[42~,
433 kx kf22=\E[43~,
433 kx kf23=\E[44~,
433 kx kf24=\E[45~,
433 kx kf25=\E[46~,
433 kx kf26=\E[47~,
433 kx kf27=\E[48~,
433 kx kf28=\E[49~,
433 kx kf29=\E[50~,
433 kx kf3=\E[13~,
433 kx kf30=\E[51~,
433 kx kf31=\E[52~,
433 kx kf32=\E[53~,
433 kx kf33=\E[54~,
433 kx kf34=\E[55~,
433 kx kf35=\E[56~,
433 kx kf36=\E[57~,
433 kx kf37=\E[58~,
433 kx kf38=\E[59~,
433 kx kf39=\E[60~,
433 kx kf4=\E[14~,
433 kx kf40=\E[61~,
433 kx kf41=\E[62~,
433 kx kf42=\E[63~,
433 kx kf5=\E[15~,
433 kx kf6=\E[17~,
433 kx kf7=\E[18~,
433 kx kf8=\E[19~,
433 kx kf9=\E[20~,
433 kx
433 kx # from development after ncurses 6.1:
433 kx # Xterm's emulation of the VT100 numeric keypad on a PC-keyboard runs into the
433 kx # problem that the keypad layout is different, and that the natural choice for
433 kx # PF1 is NumLock (which happens to be reserved for other use). To work around
433 kx # that, PF1-PF4 are emulated via F1-F4, which leaves the "/", "*" and "+" not
433 kx # directly related to VT100.
433 kx #
433 kx # With the VT220 keypad block that uses the 1-9 keys as suggested in
433 kx # terminfo(5), the other keys can be handled with user-defined capabilities:
433 kx #
433 kx # _______________________________________
433 kx # | NumLock | / | * | - |
433 kx # | | $Oo | $Oj | $OS |
433 kx # |_________|__kpDIV__|__kpMUL__|__kpSUB__|
433 kx # | 7 8 9 | + |
433 kx # | $Ow | $Ox | $Oy | $Ok |
433 kx # |_ka1__K1_|_________|_ka3__K3_| kpADD |
433 kx # | 4 | 5 | 6 | |
433 kx # | $Ot | $Ou | $Ov | |
433 kx # |_________|_kb2__K2_|_________|_________|
433 kx # | 1 | 2 | 3 | |
433 kx # | $Oq | $Or | $Os | |
433 kx # |_kc1__K4_|_________|_kc3__K5_| enter |
433 kx # | 0 | . | $OM |
433 kx # | $Op | $On | |
433 kx # |_______kpZRO_______|__kpDOT__|_kent_@8_|
433 kx #
433 kx # ka2, kb1, kb3 and kc2 are extensions, as are the mixed-case names.
433 kx # There are no termcap equivalents for these extensions.
433 kx #
433 kx # kpCMA (comma) is used here for the VT100 keypad, which xterm emulates with
433 kx # shifted-keypad-plus, though normally that invokes a font-size change.
433 kx #
433 kx # Old versions of xterm, e.g., xterm-xfree86, documented \EOE as kb2, which
433 kx # does not fit into this layout. The extension kp5 fits, but is not visible
433 kx # to termcap applications. As an alternative, kbeg (which does have a termcap
433 kx # equivalent) is provided.
433 kx
433 kx xterm+keypad|xterm emulating VT100/VT220 numeric keypad,
433 kx kbeg=\EOE,
433 kx kp5=\EOE,
433 kx kpADD=\EOk,
433 kx kpCMA=\EOl,
433 kx kpDIV=\EOo,
433 kx kpDOT=\EOn,
433 kx kpMUL=\EOj,
433 kx kpSUB=\EOm,
433 kx kpZRO=\EOp,
433 kx use=vt220+keypad,
433 kx
433 kx # from development after ncurses 5.2:
433 kx # A better adaptation to modern keyboards such as the PC's, which have a dozen
433 kx # function keys and the keypad 2,4,6,8 keys are labeled with arrows keys, is to
433 kx # use the 5-key arrangement to model the arrow keys as suggested in the
433 kx # terminfo guidelines:
433 kx # _______________________________________
433 kx # | PF1 | PF2 | PF3 | PF4 |
433 kx # | $OP | $OQ | $OR | $OS |
433 kx # |_kf1__k1_|_kf2__k2_|_kf3__k3_|_kf4__k4_|
433 kx # | 7 8 9 - |
433 kx # | $Ow | $Ox | $Oy | $Om |
433 kx # |_ka1__K1_|_________|_ka3__K3_|_________|
433 kx # | 4 | 5 | 6 | , |
433 kx # | $Ot | $Ou | $Ov | $Ol |
433 kx # |_________|_kb2__K2_|_________|_________|
433 kx # | 1 | 2 | 3 | |
433 kx # | $Oq | $Or | $Os | enter |
433 kx # |_kc1__K4_|_________|_kc3__K5_| $OM |
433 kx # | 0 | . | |
433 kx # | $Op | $On | |
433 kx # |___________________|_________|_kent_@8_|
433 kx vt220+keypad|dec vt220 numeric keypad,
433 kx ka1=\EOw,
433 kx ka3=\EOy,
433 kx kb2=\EOu,
433 kx kc1=\EOq,
433 kx kc3=\EOs,
433 kx kent=\EOM,
433 kx kf1=\EOP,
433 kx kf2=\EOQ,
433 kx kf3=\EOR,
433 kx kf4=\EOS,
433 kx ka2=\EOx,
433 kx kb1=\EOt,
433 kx kb3=\EOv,
433 kx kc2=\EOr,
433 kx #
433 kx # This should work for the commonly used "color xterm" variations (XFree86
433 kx # xterm, color_xterm, nxterm, rxvt). Note that it does not set 'bce', so for
433 kx # XFree86 and and rxvt, some applications that use colors will be less
433 kx # efficient, and in a few special cases (with "smart" optimization) the wrong
433 kx # color will be painted in spots.
433 kx xterm-color|generic "ANSI" color xterm (X Window System),
433 kx colors#8,
433 kx ncv@,
433 kx pairs#64,
433 kx op=\E[m,
433 kx setab=\E[4%p1%dm,
433 kx setaf=\E[3%p1%dm,
433 kx use=xterm-r6,
433 kx #
433 kx # vi may work better with this entry, because vi
433 kx # doesn't use insert mode much
433 kx xterm-ic|xterm-vi|xterm with insert character instead of insert mode,
433 kx mir@,
433 kx ich=\E[%p1%d@,
433 kx ich1=\E[@,
433 kx rmir@,
433 kx smir@,
433 kx use=xterm,
433 kx #
433 kx # This is used only for testing (it's not relevant to DEC VTxxx terminals, but
433 kx # to ncurses).
433 kx xterm-xmc|xterm with magic-cookie glitch,
433 kx xmc#1,
433 kx use=xterm-new,
433 kx #
433 kx # This one was originally for testing ncurses. While the ISO 6429 defines the
433 kx # REP control, none of the DEC VTxxx terminals (VT52 through VT525) support it.
433 kx #
433 kx # The feature's inclusion in xterm was prompted by changes in ncurses to
433 kx # support testing repeat_char by Alexander Lukyanov, since no readily-available
433 kx # terminal supported this:
433 kx #
433 kx # + Alexander's patch was integrated in ncurses 1996/09/28
433 kx # + xterm patch #32 1996/11/21 was released in XFree86 3.2A 1997/01/26
433 kx #
433 kx # In July 2017, the feature was added to xterm-new in ncurses, making this
433 kx # entry obsolete (but it is kept for reference).
433 kx xterm-rep|xterm with repeat-character control,
433 kx rep=%p1%c\E[%p2%{1}%-%db,
433 kx use=xterm-new,
433 kx #
433 kx # This is mainly for testing xterm; the real VT220 will not let you switch
433 kx # character sets without first altering the keyboard language in the setup
433 kx # screen. Some emulators allow this anyway. (Note that these strings are
433 kx # normally used only for printers). The parameter to csnm and scs is the same
433 kx # in both cases: the keyboard language parameter returned by CSI ? 2 6 n.
433 kx xterm-nrc|xterm with VT220 national replacement character sets,
433 kx csnm=
433 kx %?
433 kx %p1%{1}%=
433 kx %tNorth\sAmerican
433 kx %e
433 kx %p1%{2}%=
433 kx %tBritish
433 kx %e
433 kx %p1%{3}%=
433 kx %tFlemish
433 kx %e
433 kx %p1%{4}%=
433 kx %tFrench\sCanadian
433 kx %e
433 kx %p1%{5}%=
433 kx %tDanish
433 kx %e
433 kx %p1%{6}%=
433 kx %tFinnish
433 kx %e
433 kx %p1%{7}%=
433 kx %tGerman
433 kx %e
433 kx %p1%{8}%=
433 kx %tDutch
433 kx %e
433 kx %p1%{9}%=
433 kx %tItalian
433 kx %e
433 kx %p1%{10}%=
433 kx %tSwiss\s(French)
433 kx %e
433 kx %p1%{11}%=
433 kx %tSwiss\s(German)
433 kx %e
433 kx %p1%{12}%=
433 kx %tSwedish
433 kx %e
433 kx %p1%{13}%=
433 kx %tNorwegian
433 kx %e
433 kx %p1%{14}%=
433 kx %tFrench/Belgian
433 kx %e
433 kx %p1%{15}%=
433 kx %tSpanish
433 kx %;,
433 kx scs=
433 kx %?
433 kx %p1%{1}%=
433 kx %t\E(B
433 kx %e
433 kx %p1%{2}%=
433 kx %t\E(A
433 kx %e
433 kx %p1%{3}%=
433 kx %t\E(R
433 kx %e
433 kx %p1%{4}%=
433 kx %t\E(9
433 kx %e
433 kx %p1%{5}%=
433 kx %t\E(E
433 kx %e
433 kx %p1%{6}%=
433 kx %t\E(5
433 kx %e
433 kx %p1%{7}%=
433 kx %t\E(K
433 kx %e
433 kx %p1%{8}%=
433 kx %t\E(4
433 kx %e
433 kx %p1%{9}%=
433 kx %t\E(Y
433 kx %e
433 kx %p1%{10}%=
433 kx %t\E(=
433 kx %e
433 kx %p1%{11}%=
433 kx %t\E(=
433 kx %e
433 kx %p1%{12}%=
433 kx %t\E(7
433 kx %e
433 kx %p1%{13}%=
433 kx %t\E(E
433 kx %e
433 kx %p1%{14}%=
433 kx %t\E(R
433 kx %e
433 kx %p1%{15}%=
433 kx %t\E(Z
433 kx %;,
433 kx use=xterm-new,
433 kx #
433 kx # Foreground 0-15 maps (with toggles) into 30-37 & 90-97
433 kx # Background 0-15 maps (with toggles) into 40-47 & 100-107
433 kx #
433 kx # Originally I suppressed setaf/setab, since ANSI specifies only 8 colors, but
433 kx # Stephen Marley persuaded me to allow the "ANSI" color controls to extend to
433 kx # 16 colors. (Note that ncurses 4.2 uses setf/setb from this description;
433 kx # however 5.0 selects either according to their availability). - T.Dickey
433 kx #
433 kx # SVr4 curses does not use more than 8 colors anyway, so using 16 colors is
433 kx # either for terminfo-level applications or via ncurses.
433 kx xterm-16color|xterm with 16 colors,
433 kx colors#16,
433 kx pairs#0x100,
433 kx setab=\E[
433 kx %?
433 kx %p1%{8}%<
433 kx %t
433 kx %p1%{40}%+
433 kx %e
433 kx %p1%{92}%+
433 kx %;
433 kx %dm,
433 kx setaf=\E[
433 kx %?
433 kx %p1%{8}%<
433 kx %t
433 kx %p1%{30}%+
433 kx %e
433 kx %p1%{82}%+
433 kx %;
433 kx %dm,
433 kx setb=
433 kx %p1%{8}%/%{6}%*%{4}%+\E[%d
433 kx %p1%{8}%m%Pa
433 kx %?%ga%{1}%=
433 kx %t4
433 kx %e%ga%{3}%=
433 kx %t6
433 kx %e%ga%{4}%=
433 kx %t1
433 kx %e%ga%{6}%=
433 kx %t3
433 kx %e%ga%d
433 kx %;
433 kx m,
433 kx setf=
433 kx %p1%{8}%/%{6}%*%{3}%+\E[%d
433 kx %p1%{8}%m%Pa
433 kx %?%ga%{1}%=
433 kx %t4
433 kx %e%ga%{3}%=
433 kx %t6
433 kx %e%ga%{4}%=
433 kx %t1
433 kx %e%ga%{6}%=
433 kx %t3
433 kx %e%ga%d
433 kx %;
433 kx m,
433 kx use=xterm+256color2,
433 kx use=xterm+osc104,
433 kx use=xterm-new,
433 kx
433 kx # xterm OSC 104 resets the color palette. Using it as part of xterm+256color
433 kx # has the drawback that some of the xterm-alikes which use that building block
433 kx # require a different approach to rs1 -TD
433 kx xterm+osc104|reset color palette,
433 kx oc=\E]104\007,
433 kx rs1=\Ec\E]104\007,
433 kx
433 kx # "indexed color" is mentioned without definition in ISO 8613-6 (ITU T.416).
433 kx #
433 kx # This implementation uses a 256-element color map where the first 16 entries
433 kx # are shared with the aixterm-compatible colors (and in turn the first 8 are
433 kx # shared with the ANSI colors). The three levels (256, 16, 8) account for the
433 kx # use of a conditional expression in setaf/setab which reduces the number of
433 kx # characters sent to the screen for typical applications.
433 kx #
433 kx # 256 colors should give 65536 pairs, but SVr4 (legacy) terminfo stores numbers
433 kx # in a signed short. Most people will not notice problems with only 32767
433 kx # pairs. With ncurses 6.1, numbers are stored in a signed integer (at least
433 kx # 32-bits), and the inconsistency regarding pairs is eliminated.
433 kx xterm+256color|original xterm 256-color feature,
433 kx ccc,
433 kx colors#0x100,
433 kx pairs#0x10000,
433 kx initc=\E]4;
433 kx %p1%d;rgb:
433 kx %p2%{255}%*%{1000}%/%2.2X/
433 kx %p3%{255}%*%{1000}%/%2.2X/
433 kx %p4%{255}%*%{1000}%/%2.2X\E\\,
433 kx oc=\E]104\007,
433 kx setab=\E[
433 kx %?
433 kx %p1%{8}%<
433 kx %t4
433 kx %p1%d
433 kx %e
433 kx %p1%{16}%<
433 kx %t10
433 kx %p1%{8}%-%d
433 kx %e48;5;
433 kx %p1%d
433 kx %;
433 kx m,
433 kx setaf=\E[
433 kx %?
433 kx %p1%{8}%<
433 kx %t3
433 kx %p1%d
433 kx %e
433 kx %p1%{16}%<
433 kx %t9
433 kx %p1%{8}%-%d
433 kx %e38;5;
433 kx %p1%d
433 kx %;
433 kx m,
433 kx setb@,
433 kx setf@,
433 kx xterm+256color2|xterm 256-color feature,
433 kx setab=\E[
433 kx %?
433 kx %p1%{8}%<
433 kx %t4
433 kx %p1%d
433 kx %e
433 kx %p1%{16}%<
433 kx %t10
433 kx %p1%{8}%-%d
433 kx %e48:5:
433 kx %p1%d
433 kx %;
433 kx m,
433 kx setaf=\E[
433 kx %?
433 kx %p1%{8}%<
433 kx %t3
433 kx %p1%d
433 kx %e
433 kx %p1%{16}%<
433 kx %t9
433 kx %p1%{8}%-%d
433 kx %e38:5:
433 kx %p1%d
433 kx %;
433 kx m,
433 kx setb@,
433 kx setf@,
433 kx use=xterm+256color,
433 kx xterm-256color|xterm with 256 colors,
433 kx use=xterm+256color2,
433 kx use=xterm+osc104,
433 kx use=xterm-new,
433 kx xterm-88color|xterm with 88 colors,
433 kx colors#88,
433 kx pairs#7744,
433 kx use=xterm-256color,
433 kx
433 kx # "direct color" is mentioned without definition in ISO 8613-6 (ITU T.416).
433 kx #
433 kx # This is a particular implementation which assume 8-bit values for red, green,
433 kx # and blue. Other encodings are possible; none are addressed by that standard.
433 kx #
433 kx # The "RGB" flag is an ncurses 6.1 extension which tells the library how to
433 kx # quickly compute the color-content for a given color value.
433 kx #
433 kx # Like xterm+256color, this uses a conditional expression. But it does that
433 kx # for a different reason: to make it readily usable for applications which
433 kx # print text but also use RGB colors, it uses a color map for the usual ANSI
433 kx # colors (0-7) and RGB colors for the remaining range of the color value.
433 kx xterm+direct|xterm with direct-color indexing,
433 kx RGB,
433 kx colors#0x1000000,
433 kx pairs#0x10000,
433 kx CO#8,
433 kx initc@,
433 kx op=\E[39;49m,
433 kx setab=\E[
433 kx %?
433 kx %p1%{8}%<
433 kx %t4
433 kx %p1%d
433 kx %e48:2::
433 kx %p1%{65536}%/%d:
433 kx %p1%{256}%/%{255}%&%d:
433 kx %p1%{255}%&%d
433 kx %;
433 kx m,
433 kx setaf=\E[
433 kx %?
433 kx %p1%{8}%<
433 kx %t3
433 kx %p1%d
433 kx %e38:2::
433 kx %p1%{65536}%/%d:
433 kx %p1%{256}%/%{255}%&%d:
433 kx %p1%{255}%&%d
433 kx %;
433 kx m,
433 kx setb@,
433 kx setf@,
433 kx xterm-direct|xterm with direct-color indexing,
433 kx use=xterm+direct,
433 kx use=xterm,
433 kx #
433 kx # This is an 8-bit version of xterm, which emulates DEC vt220 with ANSI color.
433 kx # To use it, your decTerminalID resource must be set to 200 or above, and the
433 kx # sunKeyboard resource set to true.
433 kx #
433 kx # HTS \E H \210
433 kx # RI \E M \215
433 kx # SS3 \E O \217
433 kx # CSI \E [ \233
433 kx #
433 kx xterm-8bit|xterm terminal emulator with 8-bit controls (X Window System),
433 kx OTbs,
433 kx am,
433 kx bce,
433 kx km,
433 kx mc5i,
433 kx mir,
433 kx msgr,
433 kx npc,
433 kx xenl,
433 kx AX,
433 kx colors#8,
433 kx cols#80,
433 kx it#8,
433 kx lines#24,
433 kx pairs#64,
433 kx acsc=``aaffggiijjkkllmmnnooppqqr
433 kx rssttuuvvwwxxyyzz{{||}}~~,
433 kx bel=^G,
433 kx blink=\2335m,
433 kx bold=\2331m,
433 kx cbt=\233Z,
433 kx civis=\233?25l,
433 kx clear=\233H\2332J,
433 kx cnorm=\233?25l\233?25h,
433 kx cr=\r,
433 kx csr=\233%i%p1%d;%p2%dr,
433 kx cub=\233%p1%dD,
433 kx cub1=^H,
433 kx cud=\233%p1%dB,
433 kx cud1=\n,
433 kx cuf=\233%p1%dC,
433 kx cuf1=\233C,
433 kx cup=\233%i%p1%d;%p2%dH,
433 kx cuu=\233%p1%dA,
433 kx cuu1=\233A,
433 kx cvvis=\233?12;25h,
433 kx dch=\233%p1%dP,
433 kx dch1=\233P,
433 kx dl=\233%p1%dM,
433 kx dl1=\233M,
433 kx ech=\233%p1%dX,
433 kx ed=\233J,
433 kx el=\233K,
433 kx el1=\2331K,
433 kx flash=\233?5h$<100/>\233?5l,
433 kx home=\233H,
433 kx hpa=\233%i%p1%dG,
433 kx ht=^I,
433 kx hts=\210,
433 kx ich=\233%p1%d@,
433 kx il=\233%p1%dL,
433 kx il1=\233L,
433 kx ind=\n,
433 kx invis=\2338m,
433 kx is2=\E[62"p\E\sG\233m\233?7h\E>
433 kx \E7\233?1;3;4;6l\2334l\233r
433 kx \E8,
433 kx ka1=\217w,
433 kx ka3=\217u,
433 kx kb2=\217y,
433 kx kbeg=\217E,
433 kx kc1=\217q,
433 kx kc3=\217s,
433 kx kcbt=\233Z,
433 kx kcub1=\217D,
433 kx kcud1=\217B,
433 kx kcuf1=\217C,
433 kx kcuu1=\217A,
433 kx kdch1=\2333~,
433 kx kend=\2334~,
433 kx kent=\217M,
433 kx kf1=\23311~,
433 kx kf10=\23321~,
433 kx kf11=\23323~,
433 kx kf12=\23324~,
433 kx kf13=\23325~,
433 kx kf14=\23326~,
433 kx kf15=\23328~,
433 kx kf16=\23329~,
433 kx kf17=\23331~,
433 kx kf18=\23332~,
433 kx kf19=\23333~,
433 kx kf2=\23312~,
433 kx kf20=\23334~,
433 kx kf3=\23313~,
433 kx kf4=\23314~,
433 kx kf5=\23315~,
433 kx kf6=\23317~,
433 kx kf7=\23318~,
433 kx kf8=\23319~,
433 kx kf9=\23320~,
433 kx khome=\2331~,
433 kx kich1=\2332~,
433 kx kmous=\233M,
433 kx knp=\2336~,
433 kx kpp=\2335~,
433 kx mc0=\233i,
433 kx mc4=\2334i,
433 kx mc5=\2335i,
433 kx meml=\El,
433 kx memu=\Em,
433 kx op=\23339;49m,
433 kx rc=\E8,
433 kx rev=\2337m,
433 kx ri=\215,
433 kx rmacs=\E(B,
433 kx rmam=\233?7l,
433 kx rmcup=\233?1049l,
433 kx rmir=\2334l,
433 kx rmkx=\233?1l\E>,
433 kx rmso=\23327m,
433 kx rmul=\23324m,
433 kx rs1=\Ec,
433 kx rs2=\E[62"p\E\sG\233m\233?7h\E>
433 kx \E7\233?1;3;4;6l\2334l\233r
433 kx \E8,
433 kx sc=\E7,
433 kx setab=\2334%p1%dm,
433 kx setaf=\2333%p1%dm,
433 kx setb=\2334
433 kx %?
433 kx %p1%{1}%=
433 kx %t4
433 kx %e
433 kx %p1%{3}%=
433 kx %t6
433 kx %e
433 kx %p1%{4}%=
433 kx %t1
433 kx %e
433 kx %p1%{6}%=
433 kx %t3
433 kx %e
433 kx %p1%d
433 kx %;
433 kx m,
433 kx setf=\2333
433 kx %?
433 kx %p1%{1}%=
433 kx %t4
433 kx %e
433 kx %p1%{3}%=
433 kx %t6
433 kx %e
433 kx %p1%{4}%=
433 kx %t1
433 kx %e
433 kx %p1%{6}%=
433 kx %t3
433 kx %e
433 kx %p1%d
433 kx %;
433 kx m,
433 kx sgr=\2330
433 kx %?
433 kx %p6
433 kx %t;1
433 kx %;
433 kx %?
433 kx %p2
433 kx %t;4
433 kx %;
433 kx %?
433 kx %p1
433 kx %p3%|
433 kx %t;7
433 kx %;
433 kx %?
433 kx %p4
433 kx %t;5
433 kx %;
433 kx %?
433 kx %p7
433 kx %t;8
433 kx %;
433 kx m
433 kx %?
433 kx %p9
433 kx %t\E(0
433 kx %e
433 kx \E(B
433 kx %;,
433 kx sgr0=\2330m\E(B,
433 kx smacs=\E(0,
433 kx smam=\233?7h,
433 kx smcup=\233?1049h,
433 kx smir=\2334h,
433 kx smkx=\233?1h\E=,
433 kx smso=\2337m,
433 kx smul=\2334m,
433 kx tbc=\2333g,
433 kx u6=\233[%i%d;%dR,
433 kx u7=\E[6n,
433 kx u8=\233[?%[;0123456789]c,
433 kx u9=\E[c,
433 kx vpa=\233%i%p1%dd,
433 kx use=xterm+kbs,
433 kx #
433 kx xterm-xf86-v44|xterm terminal emulator (XFree86 4.4 Window System),
433 kx OTbs,
433 kx am,
433 kx bce,
433 kx km,
433 kx mc5i,
433 kx mir,
433 kx msgr,
433 kx npc,
433 kx xenl,
433 kx AX,
433 kx XT,
433 kx colors#8,
433 kx cols#80,
433 kx it#8,
433 kx lines#24,
433 kx pairs#64,
433 kx acsc=``aaffggiijjkkllmmnnooppqqr
433 kx rssttuuvvwwxxyyzz{{||}}~~,
433 kx bel=^G,
433 kx blink=\E[5m,
433 kx bold=\E[1m,
433 kx cbt=\E[Z,
433 kx civis=\E[?25l,
433 kx clear=\E[H\E[2J,
433 kx cnorm=\E[?12l\E[?25h,
433 kx cr=\r,
433 kx csr=\E[%i%p1%d;%p2%dr,
433 kx cub=\E[%p1%dD,
433 kx cub1=^H,
433 kx cud=\E[%p1%dB,
433 kx cud1=\n,
433 kx cuf=\E[%p1%dC,
433 kx cuf1=\E[C,
433 kx cup=\E[%i%p1%d;%p2%dH,
433 kx cuu=\E[%p1%dA,
433 kx cuu1=\E[A,
433 kx cvvis=\E[?12;25h,
433 kx dch=\E[%p1%dP,
433 kx dch1=\E[P,
433 kx dl=\E[%p1%dM,
433 kx dl1=\E[M,
433 kx ech=\E[%p1%dX,
433 kx ed=\E[J,
433 kx el=\E[K,
433 kx el1=\E[1K,
433 kx enacs=\E(B\E)0,
433 kx flash=\E[?5h$<100/>\E[?5l,
433 kx home=\E[H,
433 kx hpa=\E[%i%p1%dG,
433 kx ht=^I,
433 kx hts=\EH,
433 kx ich=\E[%p1%d@,
433 kx il=\E[%p1%dL,
433 kx il1=\E[L,
433 kx ind=\n,
433 kx indn=\E[%p1%dS,
433 kx invis=\E[8m,
433 kx is2=\E[!p\E[?3;4l\E[4l\E>,
433 kx kDC=\E[3;2~,
433 kx kEND=\E[1;2F,
433 kx kHOM=\E[1;2H,
433 kx kIC=\E[2;2~,
433 kx kLFT=\E[1;2D,
433 kx kNXT=\E[6;2~,
433 kx kPRV=\E[5;2~,
433 kx kRIT=\E[1;2C,
433 kx kb2=\EOE,
433 kx kcbt=\E[Z,
433 kx kcub1=\EOD,
433 kx kcud1=\EOB,
433 kx kcuf1=\EOC,
433 kx kcuu1=\EOA,
433 kx kdch1=\E[3~,
433 kx kend=\EOF,
433 kx kent=\EOM,
433 kx kf1=\EOP,
433 kx kf10=\E[21~,
433 kx kf11=\E[23~,
433 kx kf12=\E[24~,
433 kx kf13=\EO2P,
433 kx kf14=\EO2Q,
433 kx kf15=\EO2R,
433 kx kf16=\EO2S,
433 kx kf17=\E[15;2~,
433 kx kf18=\E[17;2~,
433 kx kf19=\E[18;2~,
433 kx kf2=\EOQ,
433 kx kf20=\E[19;2~,
433 kx kf21=\E[20;2~,
433 kx kf22=\E[21;2~,
433 kx kf23=\E[23;2~,
433 kx kf24=\E[24;2~,
433 kx kf25=\EO5P,
433 kx kf26=\EO5Q,
433 kx kf27=\EO5R,
433 kx kf28=\EO5S,
433 kx kf29=\E[15;5~,
433 kx kf3=\EOR,
433 kx kf30=\E[17;5~,
433 kx kf31=\E[18;5~,
433 kx kf32=\E[19;5~,
433 kx kf33=\E[20;5~,
433 kx kf34=\E[21;5~,
433 kx kf35=\E[23;5~,
433 kx kf36=\E[24;5~,
433 kx kf37=\EO6P,
433 kx kf38=\EO6Q,
433 kx kf39=\EO6R,
433 kx kf4=\EOS,
433 kx kf40=\EO6S,
433 kx kf41=\E[15;6~,
433 kx kf42=\E[17;6~,
433 kx kf43=\E[18;6~,
433 kx kf44=\E[19;6~,
433 kx kf45=\E[20;6~,
433 kx kf46=\E[21;6~,
433 kx kf47=\E[23;6~,
433 kx kf48=\E[24;6~,
433 kx kf5=\E[15~,
433 kx kf6=\E[17~,
433 kx kf7=\E[18~,
433 kx kf8=\E[19~,
433 kx kf9=\E[20~,
433 kx khome=\EOH,
433 kx kich1=\E[2~,
433 kx kmous=\E[M,
433 kx knp=\E[6~,
433 kx kpp=\E[5~,
433 kx mc0=\E[i,
433 kx mc4=\E[4i,
433 kx mc5=\E[5i,
433 kx meml=\El,
433 kx memu=\Em,
433 kx op=\E[39;49m,
433 kx rc=\E8,
433 kx rev=\E[7m,
433 kx ri=\EM,
433 kx rin=\E[%p1%dT,
433 kx rmacs=^O,
433 kx rmam=\E[?7l,
433 kx rmir=\E[4l,
433 kx rmkx=\E[?1l\E>,
433 kx rmso=\E[27m,
433 kx rmul=\E[24m,
433 kx rs1=\Ec,
433 kx rs2=\E[!p\E[?3;4l\E[4l\E>,
433 kx sc=\E7,
433 kx setab=\E[4%p1%dm,
433 kx setaf=\E[3%p1%dm,
433 kx setb=\E[4
433 kx %?
433 kx %p1%{1}%=
433 kx %t4
433 kx %e
433 kx %p1%{3}%=
433 kx %t6
433 kx %e
433 kx %p1%{4}%=
433 kx %t1
433 kx %e
433 kx %p1%{6}%=
433 kx %t3
433 kx %e
433 kx %p1%d
433 kx %;
433 kx m,
433 kx setf=\E[3
433 kx %?
433 kx %p1%{1}%=
433 kx %t4
433 kx %e
433 kx %p1%{3}%=
433 kx %t6
433 kx %e
433 kx %p1%{4}%=
433 kx %t1
433 kx %e
433 kx %p1%{6}%=
433 kx %t3
433 kx %e
433 kx %p1%d
433 kx %;
433 kx m,
433 kx sgr=\E[0
433 kx %?
433 kx %p6
433 kx %t;1
433 kx %;
433 kx %?
433 kx %p2
433 kx %t;4
433 kx %;
433 kx %?
433 kx %p1
433 kx %p3%|
433 kx %t;7
433 kx %;
433 kx %?
433 kx %p4
433 kx %t;5
433 kx %;
433 kx %?
433 kx %p7
433 kx %t;8
433 kx %;
433 kx m
433 kx %?
433 kx %p9
433 kx %t\016
433 kx %e
433 kx \017
433 kx %;,
433 kx sgr0=\E[m\017,
433 kx smacs=^N,
433 kx smam=\E[?7h,
433 kx smir=\E[4h,
433 kx smkx=\E[?1h\E=,
433 kx smso=\E[7m,
433 kx smul=\E[4m,
433 kx tbc=\E[3g,
433 kx u6=\E[%i%d;%dR,
433 kx u7=\E[6n,
433 kx u8=\E[?1;2c,
433 kx u9=\E[c,
433 kx vpa=\E[%i%p1%dd,
433 kx ka2=\EOx,
433 kx kb1=\EOt,
433 kx kb3=\EOv,
433 kx kc2=\EOr,
433 kx use=xterm+alt1049,
433 kx use=xterm+kbs,
433 kx xterm-xfree86|xterm terminal emulator (XFree86 4.4 Window System),
433 kx use=xterm-xf86-v44,
433 kx #
433 kx # Compatible with the R6 xterm, with the following changes:
433 kx # + added acsc (perhaps some versions of tic assume the standard vt100
433 kx # alternate character set)
433 kx # + added u6, u7, u8, u9 strings for Daniel Weaver's tack program.
433 kx # + added kmous string for ncurses.
433 kx # + added khome/kend strings (which conflict with kfnd/kslt, see note).
433 kx xterm-r6|xterm X11R6 version,
433 kx OTbs,
433 kx am,
433 kx km,
433 kx mir,
433 kx msgr,
433 kx xenl,
433 kx cols#80,
433 kx it#8,
433 kx lines#24,
433 kx acsc=``aaffggiijjkkllmmnnooppqqr
433 kx rssttuuvvwwxxyyzz{{||}}~~,
433 kx bel=^G,
433 kx bold=\E[1m,
433 kx clear=\E[H\E[2J,
433 kx cr=\r,
433 kx csr=\E[%i%p1%d;%p2%dr,
433 kx cub=\E[%p1%dD,
433 kx cub1=^H,
433 kx cud=\E[%p1%dB,
433 kx cud1=\n,
433 kx cuf=\E[%p1%dC,
433 kx cuf1=\E[C,
433 kx cup=\E[%i%p1%d;%p2%dH,
433 kx cuu=\E[%p1%dA,
433 kx cuu1=\E[A,
433 kx dch=\E[%p1%dP,
433 kx dch1=\E[P,
433 kx dl=\E[%p1%dM,
433 kx dl1=\E[M,
433 kx ed=\E[J,
433 kx el=\E[K,
433 kx enacs=\E)0,
433 kx home=\E[H,
433 kx ht=^I,
433 kx hts=\EH,
433 kx il=\E[%p1%dL,
433 kx il1=\E[L,
433 kx ind=\n,
433 kx is2=\E[m\E[?7h\E[4l\E>\E7\E[r\E[
433 kx ?1;3;4;6l\E8,
433 kx kcub1=\EOD,
433 kx kcud1=\EOB,
433 kx kcuf1=\EOC,
433 kx kcuu1=\EOA,
433 kx kdch1=\E[3~,
433 kx kf1=\E[11~,
433 kx kf10=\E[21~,
433 kx kf11=\E[23~,
433 kx kf12=\E[24~,
433 kx kf13=\E[25~,
433 kx kf14=\E[26~,
433 kx kf15=\E[28~,
433 kx kf16=\E[29~,
433 kx kf17=\E[31~,
433 kx kf18=\E[32~,
433 kx kf19=\E[33~,
433 kx kf2=\E[12~,
433 kx kf20=\E[34~,
433 kx kf3=\E[13~,
433 kx kf4=\E[14~,
433 kx kf5=\E[15~,
433 kx kf6=\E[17~,
433 kx kf7=\E[18~,
433 kx kf8=\E[19~,
433 kx kf9=\E[20~,
433 kx kmous=\E[M,
433 kx meml=\El,
433 kx memu=\Em,
433 kx rc=\E8,
433 kx rev=\E[7m,
433 kx ri=\EM,
433 kx rmacs=^O,
433 kx rmcup=\E[2J\E[?47l\E8,
433 kx rmir=\E[4l,
433 kx rmkx=\E[?1l\E>,
433 kx rmso=\E[m,
433 kx rmul=\E[m,
433 kx rs2=\E[m\E[?7h\E[4l\E>\E7\E[r\E[
433 kx ?1;3;4;6l\E8,
433 kx sc=\E7,
433 kx sgr0=\E[m,
433 kx smacs=^N,
433 kx smcup=\E7\E[?47h,
433 kx smir=\E[4h,
433 kx smkx=\E[?1h\E=,
433 kx smso=\E[7m,
433 kx smul=\E[4m,
433 kx tbc=\E[3g,
433 kx u6=\E[%i%d;%dR,
433 kx u7=\E[6n,
433 kx u8=\E[?1;2c,
433 kx u9=\E[c,
433 kx use=xterm+kbs,
433 kx use=xterm+decedit,
433 kx xterm-old|antique xterm version,
433 kx use=xterm-r6,
433 kx #
433 kx # Compatible with the R5 xterm, with the following changes:
433 kx # + changed 'blink=@', to 'blink@' (the former meant that "@" would start
433 kx # a blink, the latter that it is not supported).
433 kx # + changed kf1 through kf4 to correspond with actual usage. Though X
433 kx # supports keypad symbols for PF1 to PF4, and xterm interprets these
433 kx # correctly, the F1 to F4 codes are commonly (but incorrectly) used.
433 kx # + moved reset string from rs1 to rs2, to correlate better with termcap.
433 kx # + make khome consistent with other entries.
433 kx # + use rmul/smul, rmir/smir from termcap, but not rmcup/smcup because
433 kx # not everyone wants the alternate screen.
433 kx # + added u6, u7, u8, u9 strings for Daniel Weaver's tack program.
433 kx # + added kmous string for ncurses.
433 kx xterm-r5|xterm R5 version,
433 kx OTbs,
433 kx am,
433 kx km,
433 kx msgr,
433 kx xenl,
433 kx cols#80,
433 kx it#8,
433 kx lines#24,
433 kx bel=^G,
433 kx bold=\E[1m,
433 kx clear=\E[H\E[2J,
433 kx cr=\r,
433 kx csr=\E[%i%p1%d;%p2%dr,
433 kx cub=\E[%p1%dD,
433 kx cub1=^H,
433 kx cud=\E[%p1%dB,
433 kx cud1=\n,
433 kx cuf=\E[%p1%dC,
433 kx cuf1=\E[C,
433 kx cup=\E[%i%p1%d;%p2%dH,
433 kx cuu=\E[%p1%dA,
433 kx cuu1=\E[A,
433 kx dch=\E[%p1%dP,
433 kx dch1=\E[P,
433 kx dl=\E[%p1%dM,
433 kx dl1=\E[M,
433 kx ed=\E[J,
433 kx el=\E[K,
433 kx home=\E[H,
433 kx ht=^I,
433 kx hts=\EH,
433 kx ich=\E[%p1%d@,
433 kx ich1=\E[@,
433 kx il=\E[%p1%dL,
433 kx il1=\E[L,
433 kx ind=\n,
433 kx kcub1=\EOD,
433 kx kcud1=\EOB,
433 kx kcuf1=\EOC,
433 kx kcuu1=\EOA,
433 kx kdch1=\E[3~,
433 kx kdl1=\E[31~,
433 kx kel=\E[8~,
433 kx kend=\E[4~,
433 kx kf0=\EOq,
433 kx kf1=\E[11~,
433 kx kf10=\E[21~,
433 kx kf11=\E[23~,
433 kx kf12=\E[24~,
433 kx kf2=\E[12~,
433 kx kf3=\E[13~,
433 kx kf4=\E[14~,
433 kx kf5=\E[15~,
433 kx kf6=\E[17~,
433 kx kf7=\E[18~,
433 kx kf8=\E[19~,
433 kx kf9=\E[20~,
433 kx khome=\E[1~,
433 kx kich1=\E[2~,
433 kx kil1=\E[30~,
433 kx kmous=\E[M,
433 kx knp=\E[6~,
433 kx kpp=\E[5~,
433 kx rc=\E8,
433 kx rev=\E[7m,
433 kx ri=\EM,
433 kx rmir=\E[4l,
433 kx rmkx=\E[?1l\E>,
433 kx rmso=\E[m,
433 kx rmul=\E[m,
433 kx rs2=\E>\E[?1;3;4;5;6l\E[4l\E[?7h
433 kx \E[m\E[r\E[2J\E[H,
433 kx sc=\E7,
433 kx sgr=\E[
433 kx %?
433 kx %p1
433 kx %t;7
433 kx %;
433 kx %?
433 kx %p2
433 kx %t;4
433 kx %;
433 kx %?
433 kx %p3
433 kx %t;7
433 kx %;
433 kx %?
433 kx %p4
433 kx %t;5
433 kx %;
433 kx %?
433 kx %p6
433 kx %t;1
433 kx %;
433 kx m,
433 kx sgr0=\E[m,
433 kx smir=\E[4h,
433 kx smkx=\E[?1h\E=,
433 kx smso=\E[7m,
433 kx smul=\E[4m,
433 kx tbc=\E[3g,
433 kx u6=\E[%i%d;%dR,
433 kx u7=\E[6n,
433 kx u8=\E[?1;2c,
433 kx u9=\E[c,
433 kx use=xterm+kbs,
433 kx
433 kx # DEC status-line is an extension for VT220, and standard with VT320 and up.
433 kx dec+sl|DEC VTxx status line,
433 kx eslok,
433 kx hs,
433 kx dsl=\E[0$~,
433 kx fsl=\E[0$},
433 kx tsl=\E[2$~\E[1$}\E[%i%p1%d`,
433 kx #
433 kx #
433 kx # Customization begins here.
433 kx #
433 kx # This is the only entry which you should have to customize, since "xterm"
433 kx # is widely used for a variety of incompatible terminal emulations including
433 kx # color_xterm and rxvt.
433 kx xterm|X11 terminal emulator,
433 kx # use=xterm-new,
433 kx # use=xterm-r6,
433 kx # For compatibility purposes, use the same contents as the xterm-new entry,
433 kx # but without "use=ansi+rep,"
433 kx npc,
433 kx indn=\E[%p1%dS,
433 kx kcbt=\E[Z,
433 kx kent=\EOM,
433 kx nel=\EE,
433 kx use=dec+sl,
433 kx use=ecma+index,
433 kx use=xterm+keypad,
433 kx use=vt420+lrmm,
433 kx use=xterm+sm+1006,
433 kx # use=ansi+rep,
433 kx use=ecma+strikeout,
433 kx use=xterm+pcfkeys,
433 kx use=xterm+tmux,
433 kx use=xterm+nofkeys,
433 kx use=bracketed+paste,
433 kx use=report+version,
433 kx
433 kx # This fragment is for people who cannot agree on what the backspace key
433 kx # should send.
433 kx xterm+kbs|fragment for backspace key,
433 kx kbs=^H,
433 kx # kbs=^?,