View | Details | Raw Unified | Return to bug 246029
Collapse All | Expand All

(-)b/share/termcap/termcap (+270 lines)
Lines 2788-2793 screen-256color|VT 100/ANSI X3.64 terminal with 256 colors:\ Link Here
2788
	:Co#256:pa#32767:\
2788
	:Co#256:pa#32767:\
2789
	:AB=\E[48;5;%dm:AF=\E[38;5;%dm:tc=screen:
2789
	:AB=\E[48;5;%dm:AF=\E[38;5;%dm:tc=screen:
2790
2790
2791
xterm+x11mouse|X11 xterm mouse protocol:\
2792
	:Km=\E[M:
2793
xterm-x11mouse|X11 mouse:\
2794
	:tc=xterm+x11mouse:tc=xterm:
2795
2796
screen+fkeys|function-keys according to screen:\
2797
	:*6@:@0@:@7=\E[4~:k1=\EOP:k2=\EOQ:k3=\EOR:k4=\EOS:kh=\E[1~:
2798
2799
screen+italics|screen cannot support italics:\
2800
	:ZH@:ZR@:
2801
2802
screen.xterm-xfree86|screen.xterm-new|screen customized for modern xterm:\
2803
	:bw:ut@:\
2804
	:#3@:%c@:%e@:mk@:ml@:mu@:rp@:\
2805
	:..sa=%?%p9%t\E(0%e\E(B%;\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;%?%p5%t;2%;m:\
2806
	:tc=screen+italics:tc=screen+fkeys:tc=xterm+x11mouse:\
2807
	:tc=xterm-new:
2808
2809
ibm+16color|IBM aixterm color definitions:\
2810
	:Co#16:pa#256:\
2811
	:..AB=\E[%?%p1%{8}%<%t%p1%{40}%+%e%p1%{92}%+%;%dm:\
2812
	:..AF=\E[%?%p1%{8}%<%t%p1%{30}%+%e%p1%{82}%+%;%dm:\
2813
	:..Sb=%p1%{8}%/%{6}%*%{4}%+\E[%d%p1%{8}%m%Pa%?%ga%{1}%=%t4%e%ga%{3}%=%t6%e%ga%{4}%=%t1%e%ga%{6}%=%t3%e%ga%d%;m:\
2814
	:..Sf=%p1%{8}%/%{6}%*%{3}%+\E[%d%p1%{8}%m%Pa%?%ga%{1}%=%t4%e%ga%{3}%=%t6%e%ga%{4}%=%t1%e%ga%{6}%=%t3%e%ga%d%;m:
2815
xterm+256setaf|xterm 256-color (set-only):\
2816
	:cc@:\
2817
	:Co#256:pa#65536:\
2818
	:AB=\E[48;5;%dm:AF=\E[38;5;%dm:Ic@:Sb@:Sf@:op=\E[39;49m:
2819
2820
# ======================================================================
2821
# Entries for GNU Screen with 16 colors.
2822
# Those variations permit to benefit from 16 colors palette, and from
2823
# bold font and blink attribute separated from bright colors. But they
2824
# are less portable than the generic "screen" 8 color entries: Their
2825
# usage makes real sense only if the terminals you attach and reattach
2826
# do all support 16 color palette.
2827
2828
screen-16color|GNU Screen with 16 colors:\
2829
	:tc=ibm+16color:tc=screen:
2830
2831
screen-16color-s|GNU Screen with 16 colors and status line:\
2832
	:tc=ibm+16color:tc=SH:
2833
2834
screen-16color-bce|GNU Screen with 16 colors and BCE:\
2835
	:tc=ibm+16color:tc=screen-bce:
2836
2837
screen-16color-bce-s|GNU Screen with 16 colors using BCE and status line:\
2838
	:ut:tc=ibm+16color:tc=SH:
2839
2840
# ======================================================================
2841
# Entries for GNU Screen 4.02 with --enable-colors256.
2842
2843
screen-256color-s|GNU Screen with 256 colors and status line:\
2844
	:tc=xterm+256setaf:tc=SH:
2845
2846
screen-256color-bce|GNU Screen with 256 colors and BCE:\
2847
	:ut:tc=xterm+256setaf:tc=screen-bce:
2848
2849
screen-256color-bce-s|GNU Screen with 256 colors using BCE and status line:\
2850
	:ut:tc=xterm+256setaf:tc=SH:
2851
2852
screen.xterm-256color|GNU Screen with xterm using 256 colors:\
2853
	:tc=xterm+256setaf:tc=screen.xterm-new:
2854
2855
screen.putty-256color|GNU Screen with putty using 256 colors:\
2856
	:tc=xterm+256setaf:tc=screen.putty:
2857
2858
screen.xterm-r6|screen customized for X11R6 xterm:\
2859
	:bw:tc=xterm+x11mouse:tc=screen+fkeys:tc=xterm-r6:
2860
# Color applications running in screen and TeraTerm do not play well together
2861
# on Solaris because Sun's curses implementation gets confused.
2862
screen.teraterm|disable ncv in teraterm:\
2863
	:NC#127:\
2864
	:ac=+\020,\021-\030.^Y0\333`\004a\261f\370g\361h\260i\316j\331k\277l\332m\300n\305o~p\304q\304r\304s_t\303u\264v\301w\302x\263y\363z\362{\343|\330}\234~\376:\
2865
	:tc=screen+fkeys:tc=xterm+x11mouse:tc=screen:
2866
2867
#### DEC VT100 and compatibles
2868
#
2869
# DEC terminals from the vt100 forward are collected here. Older DEC terminals
2870
# and micro consoles can be found in the `obsolete' section.  More details on
2871
# the relationship between the VT100 and ANSI X3.64/ISO 6429/ECMA-48 may be
2872
# found near the end of this file.
2873
#
2874
# Except where noted, these entries are DEC's official terminfos.
2875
# Contact Bill Hedberg <hedberg@hannah.enet.dec.com> of Terminal Support
2876
# Engineering for more information.  Updated terminfos and termcaps
2877
# are kept available at ftp://gatekeeper.dec.com/pub/DEC/termcaps.
2878
#
2879
# In October 1995 DEC sold its terminals business, including the VT and Dorio
2880
# line and trademark, to SunRiver Data Systems.  SunRiver has since changed
2881
# its name to Boundless Technologies; see http://www.boundless.com.
2882
#
2883
2884
# NOTE:  Any VT100 emulation, whether in hardware or software, almost
2885
# certainly includes what DEC called the `Level 1 editing extension' codes;
2886
# only the very oldest VT100s lacked these and there probably aren't any of
2887
# those left alive.  To capture these, use one of the VT102 entries.
2888
#
2889
# Note that the :xn: glitch in vt100 is not quite the same as on the Concept,
2890
# since the cursor is left in a different position while in the
2891
# weird state (concept at beginning of next line, vt100 at end
2892
# of this line) so all versions of vi before 3.7 don't handle
2893
# :xn: right on vt100. The correct way to handle :xn: is when
2894
# you output the char in column 80, immediately output CR LF
2895
# and then assume you are in column 1 of the next line. If :xn:
2896
# is on, am should be on too.
2897
#
2898
# I assume you have smooth scroll off or are at a slow enough baud
2899
# rate that it doesn't matter (1200? or less). Also this assumes
2900
# that you set auto-nl to "on", if you set it off use vt100-nam
2901
# below.
2902
#
2903
# The padding requirements listed here are guesses. It is strongly
2904
# recommended that xon/xoff be enabled, as this is assumed here.
2905
#
2906
# The vt100 uses <rs2> and <rf> rather than :is:/:ct:/:st: because the
2907
# tab settings are in non-volatile memory and don't need to be
2908
# reset upon login. Also setting the number of columns glitches
2909
# the screen annoyingly. You can type "reset" to get them set.
2910
#
2911
# The VT100 series terminals have cursor ("arrows") keys which can operate
2912
# in two different modes: Cursor Mode and Application Mode.  Cursor Mode
2913
# is the reset state, and is assumed to be the normal state.  Application
2914
# Mode is the "set" state.  In Cursor Mode, the cursor keys transmit
2915
# "Esc [ {code}" sequences, conforming to ANSI standards.  In Application
2916
# Mode, the cursor keys transmit "Esc O <code>" sequences.  Application Mode
2917
# was provided primarily as an aid to the porting of VT52 applications.  It is
2918
# assumed that the cursor keys are normally in Cursor Mode, and expected that
2919
# applications such as vi will always transmit the :ks: string.  Therefore,
2920
# the definitions for the cursor keys are made to match what the terminal
2921
# transmits after the :ks: string is transmitted.  If the :ks: string
2922
# is a null string or is not defined, then cursor keys are assumed to be in
2923
# "Cursor Mode", and the cursor keys definitions should match that assumption,
2924
# else the application may fail.  It is also expected that applications will
2925
# always transmit the :ke: string to the terminal before they exit.
2926
#
2927
# The VT100 series terminals have an auxiliary keypad, commonly referred to as
2928
# the "Numeric Keypad", because it is a cluster of numeric and function keys.
2929
# The Numeric Keypad which can operate in two different modes: Numeric Mode and
2930
# Application Mode.  Numeric Mode is the reset state, and is assumed to be
2931
# the normal state.  Application Mode is the "set" state.  In Numeric Mode,
2932
# the numeric and punctuation keys transmit ASCII 7-bit characters, and the
2933
# Enter key transmits the same as the Return key (Note: the Return key
2934
# can be configured to send either LF (\015) or CR LF).  In Application Mode,
2935
# all the keypad keys transmit "Esc O {code}" sequences.  The PF1 - PF4 keys
2936
# always send the same "Esc O {code}" sequences.  It is assumed that the keypad
2937
# is normally in Numeric Mode.  If an application requires that the keypad be
2938
# in Application Mode then it is expected that the user, or the application,
2939
# will set the TERM environment variable to point to a terminfo entry which has
2940
# defined the :ks: string to include the codes that switch the keypad into
2941
# Application Mode, and the terminfo entry will also define function key
2942
# fields to match the Application Mode control codes.  If the :ks: string
2943
# is a null string or is not defined, then the keypad is assumed to be in
2944
# Numeric Mode.  If the :ks: string switches the keypad into Application
2945
# Mode, it is expected that the :ke: string will contain the control codes
2946
# necessary to reset the keypad to "Normal" mode, and it is also expected that
2947
# applications which transmit the :ks: string will also always transmit the
2948
# :ke: string to the terminal before they exit.
2949
#
2950
# Here's a diagram of the VT100 keypad keys with their bindings.
2951
# The top line is the name of the key (some DEC keyboards have the keys
2952
# labelled somewhat differently, like GOLD instead of PF1, but this is
2953
# the most "official" name).  The second line is the escape sequence it
2954
# generates in Application Keypad mode (where "$" means the ESC
2955
# character).  The third line contains two items, first the mapping of
2956
# the key in terminfo, and then in termcap.
2957
#   _______________________________________
2958
#  |   PF1   |   PF2   |   PF3   |   PF4   |
2959
#  |   $OP   |   $OQ   |   $OR   |   $OS   |
2960
#  |_kf1__k1_|_kf2__k2_|_kf3__k3_|_kf4__k4_|
2961
#  |    7         8         9         -    |
2962
#  |   $Ow   |   $Ox   |   $Oy   |   $Om   |
2963
#  |_kf9__k9_|_kf10_k;_|_kf0__k0_|_________|
2964
#  |    4    |    5    |    6    |    ,    |
2965
#  |   $Ot   |   $Ou   |   $Ov   |   $Ol   |
2966
#  |_kf5__k5_|_kf6__k6_|_kf7__k7_|_kf8__k8_|
2967
#  |    1    |    2    |    3    |         |
2968
#  |   $Oq   |   $Or   |   $Os   |  enter  |
2969
#  |_ka1__K1_|_kb2__K2_|_ka3__K3_|  $OM    |
2970
#  |         0         |   .     |         |
2971
#  |        $Op        |  $On    |         |
2972
#  |___kc1_______K4____|_kc3__K5_|_kent_@8_|
2973
#
2974
# Note however, that the arrangement of the 5-key ka1-kc3 do not follow the
2975
# terminfo guidelines.  That is a compromise used to assign the remaining
2976
# keys on the keypad to kf5-kf0, used on older systems with legacy termcap
2977
# support:
2978
vt100+keypad|dec vt100 numeric keypad no fkeys:\
2979
	:K1=\EOq:K2=\EOr:K3=\EOs:K4=\EOp:K5=\EOn:
2980
screen.Eterm|screen in Eterm:\
2981
	:tc=xterm+x11mouse:tc=screen+fkeys:tc=Eterm:
2982
2983
# fix the backspace key
2984
screen.linux|screen in linux console:\
2985
	:bw:\
2986
	:kB@:kb=\177:tc=xterm+x11mouse:tc=screen+fkeys:tc=screen:
2987
2988
screen.putty|screen in putty:\
2989
	:tc=xterm+x11mouse:tc=screen+fkeys:tc=putty:
2990
2991
# The default "screen" entry is reasonably portable, but not optimal for the
2992
# most widely-used terminal emulators.  The "bce" capability is supported in
2993
# screen since 3.9.13, and when used, will require fewer characters to be sent
2994
# to the terminal for updates.
2995
#
2996
# If you are using only terminals which support bce, then you can use this
2997
# feature in your screen configuration.
2998
#
2999
# Adding these lines to your ".screenrc" file will allow using these customized
3000
# entries:
3001
#	term screen-bce
3002
#	bce on
3003
#	defbce on
3004
screen-bce.xterm-new|screen optimized for modern xterm:\
3005
	:ut:\
3006
	:ec@:tc=screen+italics:tc=screen.xterm-new:
3007
screen-bce.Eterm|screen optimized for Eterm:\
3008
	:ut:\
3009
	:ec@:tc=screen.Eterm:
3010
screen-bce.linux|screen optimized for linux console:\
3011
	:ut:\
3012
	:ec@:tc=screen.linux:
3013
3014
screen2|old VT 100/ANSI X3.64 virtual terminal:\
3015
	:co#80:it#8:li#24:\
3016
	:AL=\E[%dL:DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:IC=\E[%d@:\
3017
	:LE=\E[%dD:RI=\E[%dC:UP=\E[%dA:al=\E[L:bt=\E[Z:cd=\E[J:\
3018
	:ce=\E[K:cl=\E[2J\E[H:cm=\E[%i%d;%dH:cr=\r:ct=\E[3g:\
3019
	:dc=\E[P:dl=\E[M:do=\E[B:ei=\E[4l:ic=:im=\E[4h:k0=\E~:\
3020
	:k1=\ES:k2=\ET:k3=\EU:k4=\EV:k5=\EW:k6=\EP:k7=\EQ:k8=\ER:\
3021
	:k9=\E0I:kb=^H:kd=\EB:kh=\EH:kl=\ED:kr=\EC:ku=\EA:le=^H:\
3022
	:me=\E[m:nd=\E[C:nw=\r\n:r1=\Ec:rc=\E8:sc=\E7:se=\E[23m:\
3023
	:sf=\n:so=\E[3m:sr=\EM:st=\EH:ta=^I:ue=\E[24m:up=\E[A:\
3024
	:us=\E[4m:
3025
# (screen3: removed unknown ":xv:LP:G0:" -- esr)
3026
screen3|older VT 100/ANSI X3.64 virtual terminal:\
3027
	:km:mi:ms:\
3028
	:co#80:it#8:li#24:\
3029
	:AL=\E[%dL:DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:IC=\E[%d@:\
3030
	:LE=\E[%dD:RI=\E[%dC:UP=\E[%dA:al=\E[L:bl=^G:bt=\E[Z:\
3031
	:cd=\E[J:ce=\E[K:cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=\r:\
3032
	:cs=\E[%i%d;%dr:ct=\E[3g:dc=\E[P:dl=\E[M:do=\n:ei=\E[4l:\
3033
	:ho=\E[H:im=\E[4h:is=\E)0:k1=\EOP:k2=\EOQ:k3=\EOR:k4=\EOS:\
3034
	:kb=^H:kd=\EOB:ke=\E>:kl=\EOD:kr=\EOC:ks=\E=:ku=\EOA:le=^H:\
3035
	:mb=\E[5m:md=\E[1m:me=\E[m:mr=\E[7m:nd=\E[C:nw=\EE:r1=\Ec:\
3036
	:rc=\E8:sc=\E7:se=\E[23m:sf=\n:so=\E[3m:sr=\EM:st=\EH:ta=^I:\
3037
	:ue=\E[24m:up=\EM:us=\E[4m:
3038
3039
# screen 4.0 was released 2003-07-21, and as of March 2019, its terminfo file
3040
# was last updated in 2009 to include 256-color support.  The most recent
3041
# release is 4.6.2 (October 2017).
3042
screen4:\
3043
	:tc=screen:
3044
3045
# As of March 2019, screen 5.0 has not been released.
3046
#
3047
# However,
3048
#
3049
#	https://savannah.gnu.org/bugs/?36676
3050
#
3051
# mentions a change to implement italics which should be in a version 5,
3052
# (implemented 2016-11-05, but merged 2017-07-09).  That does away with the
3053
# longstanding use of SGR 3 for standout, and interprets it as italics.
3054
#
3055
# The same development branch has some support for direct-colors, but none
3056
# of this has been documented.
3057
screen5|VT 100/ANSI X3.64 virtual terminal (someday):\
3058
	:..sa=\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;%?%p5%t;2%;m%?%p9%t\016%e\017%;:\
3059
	:se=\E[27m:so=\E[7m:tc=ecma+italics:tc=screen:
3060
2791
ecma+italics|ECMA-48 italics:\
3061
ecma+italics|ECMA-48 italics:\
2792
	:ZH=\E[3m:ZR=\E[23m:
3062
	:ZH=\E[3m:ZR=\E[23m:
2793
3063

Return to bug 246029