# This entry is good for the 1.1.47 version of the Linux console driver.
#
# Note: there are numerous broken linux entries out there, which didn't screw
# up BSD termcap but hose ncurses's smarter cursor-movement optimization.
# One common pathology is an incorrect tab length of 4.
#
# ***************************************************************************
# *                                                                         *
# *                           WARNING:                                      *
# * Some Linuxes come with a default keyboard mapping that makes kbs=^? and *
# * all have kcbt=^I.  Apply `loadkeys -d' to change this if necessary, and *
# * bug your Linux distributor to get it right in the next release.  Here   *
# * are the keymap replacement lines that will fix the problem:             *
# *                                                                         *
#	keycode  14 = BackSpace       BackSpace
#		alt     keycode  14 = Meta_BackSpace
#	keycode  15 = Tab             Tab
#		alt     keycode  15 = Meta_Tab
#		shift	keycode  15 = F26
#	string F26 ="\033[Z"
# *                                                                         *
# * This has to use F26 which is unfortunate.  The change ought to be built *
# * into the kernel tables.                                                 *
# *                                                                         *
# ***************************************************************************
#
# From: Eric S. Raymond <esr@snark.thyrsus.com> 9 Nov 1995
#
# added linux-lat as an alias -- theline drawing characters aren't right, but
# I think everything which uses line-drawing chars uses terminfo anyway -- ewt
linux|linux-lat|linux console:\
	:am:eo:mi:ms:ut:xn:xo:\
	:co#80:it#8:li#25:\
	:&7=^Z:@7=\E[4~:AL=\E[%dL:DC=\E[%dP:DL=\E[%dM:\
	:F1=\E[23~:F2=\E[24~:F3=\E[25~:F4=\E[26~:F5=\E[28~:\
	:F6=\E[29~:F7=\E[31~:F8=\E[32~:F9=\E[33~:FA=\E[34~:\
	:IC=\E[%d@:K2=\E[G:al=\E[L:bl=^G:cd=\E[J:ce=\E[K:\
	:ch=\E[%i%dG:cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:\
	:cs=\E[%i%d;%dr:ct=\E[3g:cv=\E[%i%dd:dc=\E[P:dl=\E[M:\
	:do=^J:ei=\E[4l:ho=\E[H:ic=\E[@:im=\E[4h:k1=\E[[A:\
	:k2=\E[[B:k3=\E[[C:k4=\E[[D:k5=\E[[E:k6=\E[17~:\
	:k7=\E[18~:k8=\E[19~:k9=\E[20~:k;=\E[21~:kB=\E[Z:\
	:kD=\E[3~:kI=\E[2~:kN=\E[6~:kP=\E[5~:kb=^H:kd=\E[B:\
	:kh=\E[1~:kl=\E[D:kr=\E[C:ku=\E[A:le=^H:mr=\E[7m:\
	:nd=\E[C:nw=^M^J:r1=\Ec:rc=\E8:sc=\E7:sf=^J:sr=\EM:\
	:st=\EH:ta=^I:u6=\E[%i%d;%dR:u7=\E[6n:u8=\E[?6c:\
	:u9=\E[c:up=\E[A:vb=200\E[?5h\E[?5l:ve=\E[?25h:\
	:vi=\E[?25l:tc=klone+sgr:tc=klone+color:tc=klone+acs:
linux-m|Linux console no color:\
	:Co@:pa@:\
	:AB@:AF@:Sb@:Sf@:tc=linux:

# See the note on ICH/ICH1 VERSUS RMIR/SMIR near the end of file
linux-nic|linux with ich/ich1 suppressed for non-curses programs:\
	:IC@:ei=:ic@:im=:tc=linux:
	
#### DEC VT100 and compatibles
#
# DEC terminals from the vt100 forward (and the vt52, way obsolete but still
# the basis of some emulations) are collected here. Older DEC terminals and
# micro consoles can be found in the `obsolete' section.  More details on
# the relationship between the VT100 and ANSI X3.64/ISO 6429/ECMA-48 may be
# found near the end of this file.
#
# Except where noted, these entries are DEC's official terminfos.
# Contact Bill Hedberg <hedberg@hannah.enet.dec.com> of Terminal Support
# Engineering for more information.  Updated terminfos and termcaps 
# are kept available at ftp://gatekeeper.dec.com/pub/DEC/termcaps.
#

vt52|dec vt52:\
	:co#80:it#8:li#24:\
	:bl=^G:cd=\EJ:ce=\EK:cl=\EH\EJ:cm=\EY%+ %+ :cr=^M:\
	:do=\EB:ho=\EH:kb=^H:kd=\EB:kl=\ED:kr=\EC:ku=\EA:\
	:le=\ED:nd=\EC:nw=^M^J:sf=^J:sr=\EI:ta=^I:up=\EA:

# NOTE:  Any VT100 emulation, whether in hardware or software, almost
# certainly includes what DEC called the `Level 1 editing extension' codes;
# only the very oldest VT100s lacked these and there probably aren't any of
# those left alive.  To capture these, use one of the VT102 entries.
#
# Note that the <xenl> glitch in vt100 is not quite the same as on the Concept,
# since the cursor is left in a different position while in the
# weird state (concept at beginning of next line, vt100 at end
# of this line) so all versions of vi before 3.7 don't handle
# <xenl> right on vt100. The correct way to handle <xenl> is when
# you output the char in column 80, immediately output CR LF
# and then assume you are in column 1 of the next line. If <xenl>
# is on, am should be on too.
# 
# I assume you have smooth scroll off or are at a slow enough baud
# rate that it doesn't matter (1200? or less). Also this assumes
# that you set auto-nl to "on", if you set it off use vt100-nam 
# below.
# 
# The padding requirements listed here are guesses. It is strongly
# recommended that xon/xoff be enabled, as this is assumed here.
# 
# The vt100 uses <rs2> and <rf> rather than <is2>/<tbc>/<hts> because the 
# tab settings are in non-volatile memory and don't need to be 
# reset upon login. Also setting the number of columns glitches 
# the screen annoyingly. You can type "reset" to get them set.
#
# This is how the keypad gets assigned in Application Keypad mode.
#	PF1 = kf1	  PF2 = kf2	    PF3   = kf3	      PF4 = kf4
#	7   = kf9	  8   = kf10	    9     = kf0	      - 
#	4   = kf5	  5   = kf6	    6     = kf7	      ,   = kf8
#	1   = ka1	  2   = kb2	    3     = ka3
#	0   = kc1	  .   = kc3	    ENTER = kent
#
# And here, for those of you with orphaned VT100s lacking documentation, is
# a description of the soft switches invoked when you do `Set Up'.
# 
#  Scroll 0-Jump               Shifted 3   0-#
#  |      1-Smooth             |           1-British pound sign
#  | Autorepeat 0-Off          | Wrap Around 0-Off
#  | |          1-On           | |           1-On
#  | | Screen 0-Dark Bkg       | | New Line 0-Off
#  | | |      1-Light Bkg      | | |        1-On
#  | | | Cursor 0-Underline    | | | Interlace 0-Off
#  | | | |      1-Block        | | | |         1-On
#  | | | |                     | | | |
#  1 1 0 1       1 1 1 1       0 1 0 0       0 0 1 0       <--Standard Settings
#                | | | |                     | | | |
#                | | | Auto XON/XOFF 0-Off   | | | Power 0-60 Hz
#                | | |               1-On    | | |       1-50 Hz
#                | | Ansi/VT52 0-VT52        | | Bits Per Char. 0-7 Bits
#                | |           1-ANSI        | |                1-8 Bits
#                | Keyclick 0-Off            | Parity 0-Off
#                |          1-On             |        1-On
#                Margin Bell 0-Off           Parity Sense 0-Odd
#                            1-On                         1-Even
#
# The following SET-UP modes are assumed for normal operation:
#	ANSI_MODE	AUTO_XON/XOFF_ON	NEWLINE_OFF	80_COLUMNS
#	WRAP_AROUND_ON  JUMP_SCROLL_OFF
# Other SET-UP modes may be set for operator convenience or communication
# requirements; I recommend
#	AUTOREPEAT_ON	BLOCK_CURSOR	MARGIN_BELL_OFF    SHIFTED_3_#
# Unless you have a graphics add-on such as Digital Engineering's VT640
# (and even then, whenever it can be arranged!) you should set
#	INTERLACE_OFF
#
# (I added <rmam>/<smam> based on the init string -- esr)
vt100|vt100-am|dec vt100 (w/advanced video):\
	:am:ms:xn:xo:\
	:co#80:it#8:li#24:vt#3:\
	:@8=\EOM:DO=\E[%dB:K1=\EOq:K2=\EOr:K3=\EOs:K4=\EOp:\
	:K5=\EOn:LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:SA=\E[?7h:\
	:UP=\E[%dA:\
	:ac=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\
	:ae=^O:as=^N:bl=^G:cb=\E[1K:cd=\E[J:ce=\E[K:\
	:cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:\
	:ct=\E[3g:do=^J:eA=\E(B\E)0:ho=\E[H:k0=\EOy:k1=\EOP:\
	:k2=\EOQ:k3=\EOR:k4=\EOS:k5=\EOt:k6=\EOu:k7=\EOv:\
	:k8=\EOl:k9=\EOw:k;=\EOx:kb=^H:kd=\EOB:ke=\E[?1l\E>:\
	:kl=\EOD:kr=\EOC:ks=\E[?1h\E=:ku=\EOA:le=^H:mb=\E[5m:\
	:md=\E[1m:me=\E[m\017:mr=\E[7m:nd=\E[C:\
	:r2=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:rc=\E8:\
	:..sa=\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;m%?%p9%t\016%e\017%;:\
	:sc=\E7:se=\E[m:sf=^J:so=\E[7m:sr=\EM:st=\EH:ta=^I:\
	:ue=\E[m:up=\E[A:us=\E[4m:
vt100nam|vt100-nam|vt100 no automargins:\
	:am@:xn@:tc=vt100-am:

# Ordinary vt100 in 132 column ("wide") mode.
vt100-w|vt100-w-am|dec vt100 132 cols (w/advanced video):\
	:co#132:li#24:\
	:r2=\E>\E[?3h\E[?4l\E[?5l\E[?8h:tc=vt100-am:
vt100-w-nam|vt100-nam-w|dec vt100 132 cols (w/advanced video no automargin):\
	:co#132:li#14:vt@:\
	:r2=\E>\E[?3h\E[?4l\E[?5l\E[?8h:tc=vt100-nam:

# vt100 with no advanced video.
vt100-nav|vt100 without advanced video option:\
	:sg#1:\
	:mb@:md@:me@:mr@:sa@:se=\E[m:so=\E[7m:ue@:us@:tc=vt100:
vt100-nav-w|vt100-w-nav|dec vt100 132 cols 14 lines (no advanced video option):\
	:co#132:li#14:tc=vt100-nav:

# vt100 with one of the 24 lines used as a status line.
# We put the status line on the top.
vt100-s|vt100-s-top|vt100-top-s|vt100 for use with top sysline:\
	:es:hs:\
	:li#23:\
	:cl=\E[2;1H\E[J:cm=\E[%i%+^A;%dH:cs=\E[%i%i%d;%dr:\
	:ds=\E7\E[1;24r\E8:fs=\E8:ho=\E[2;1H:\
	:is=\E7\E[2;24r\E8:ts=\E7\E[1;%p1%dH\E[1K:tc=vt100-am:

# Status line at bottom. 
# Clearing the screen will clobber status line.
vt100-s-bot|vt100-bot-s|vt100 for use with bottom sysline:\
	:es:hs:\
	:li#23:\
	:ds=\E7\E[1;24r\E8:fs=\E8:is=\E[1;23r\E[23;1H:\
	:ts=\E7\E[24;%p1%dH\E[1K:tc=vt100-am:

# Most of the `vt100' emulators out there actually emulate a vt102
# This entry (or vt102-nsgr) is probably the right thing to use for
# these.  
vt102|dec vt102:\
	:mi:\
	:al=\E[L:dc=\E[P:dl=\E[M:ei=\E[4l:im=\E[4h:tc=vt100:
vt102-w|dec vt102 in wide mode:\
	:li#132:\
	:r3=\E[?3h:tc=vt102:

# Many brain-dead PC comm programs that pretend to be `vt100-compatible'
# fail to interpret the ^O and ^N escapes properly.  Symptom: the <sgr0>
# string in the canonical vt100 entry above leaves the screen littered
# with little  snowflake or star characters (IBM PC ROM character \017 = ^O)
# after highlight turnoffs.  This entry should fix that, and even leave
# ACS support working, at the cost of making multiple-highlight changes 
# slightly more expensive.
# From: Eric S. Raymond <esr@snark.thyrsus.com> July 22 1995
vt102-nsgr|vt102 no sgr (use if you see snowflakes after highlight changes):\
	:me=\E[m:sa@:tc=vt102:

# VT125 Graphics CRT.  Clear screen also erases graphics
vt125|vt125 graphics terminal:\
	:cl=\E[H\E[2J\EPpS(E)\E\\:tc=vt100:

