blob: 0b971922e4dd517045522551cb24fe566609bff6 [file] [log] [blame]
######## TERMINAL TYPE DESCRIPTIONS SOURCE FILE
#
# This version of terminfo.src is distributed with ncurses.
# Report bugs to
# bug-ncurses@gnu.org
#
# Version 10.2.1
# $Date: 2000/09/24 02:29:16 $
# terminfo syntax
#
# Eric S. Raymond (current maintainer)
# John Kunze, Berkeley
# Craig Leres, Berkeley
#
# Please e-mail changes to terminfo@thyrsus.com; the old termcap@berkeley.edu
# address is no longer valid. The latest version can always be found at
# <http://www.tuxedo.org/terminfo>.
#
# PURPOSE OF THIS FILE:
#
# This file describes the capabilities of various character-cell terminals,
# as needed by software such as screen-oriented editors.
#
# Other terminfo and termcap files exist, supported by various OS vendors
# or as relics of various older versions of UNIX. This one is the longest
# and most comprehensive one in existence. It subsumes not only the entirety
# of the historical 4.4BSD, GNU, System V and SCO termcap files and the BRL
# termcap file, but also large numbers of vendor-maintained termcap and
# terminfo entries more complete and carefully tested than those in historical
# termcap/terminfo versions.
#
# Pointers to related resources (including the ncurses distribution) may
# be found at <http://www.tuxedo.org/terminfo>.
#
# INTERNATIONALIZATION:
#
# This file uses only the US-ASCII character set (no ISO8859 characters).
#
# This file assumes a US-ASCII character set. If you need to fix this, start
# by global-replacing \E(B and \E)B with the appropriate ISO 6429 enablers
# for your character set. \E(A and \E)A enables the British character set
# with the pound sign at position 2/3.
#
# In a Japanese-processing environment using EUC/Japanese or Shift-JIS,
# C1 characters are considered the first-byte set of the Japanese encodings,
# so \E)0 should be avoided in <enacs> and initialization strings.
#
# FILE FORMAT:
#
# The version you are looking at may be in any of three formats: master
# (terminfo with OT capabilities), stock terminfo, or termcap. You can tell
# which by the format given in the header above.
#
# The master format is accepted and generated by the terminfo tools in the
# ncurses suite; it differs from stock (System V-compatible) terminfo only
# in that it admits a group of capabilities (prefixed `OT') equivalent to
# various obsolete termcap capabilities. You can, thus, convert from master
# to stock terminfo simply by filtering with `sed "/OT[^,]*,/s///"'; but if
# you have ncurses `tic -I' is nicer (among other things, it automatically
# outputs entries in a canonical form).
#
# The termcap version is generated automatically from the master version
# using tic -C. This filtering leaves in the OT capabilities under their
# original termcap names. All translated entries fit within the 1023-byte
# string-table limit of archaic termcap libraries except where explicitly
# noted below. Note that the termcap translation assumes that your termcap
# library can handle multiple tc capabilities in an entry. 4.4BSD has this
# capability. Older versions of GNU termcap, through 1.3, do not.
#
# For details on these formats, see terminfo(5) in the ncurses distribution,
# and termcap(5) in the 4.4BSD Unix Programmer's Manual. Be aware that 4.4BSD
# curses has been declared obsolete by the caretakers of the 4.4BSD sources
# as of June 1995; they are encouraging everyone to migrate to ncurses.
#
# Note: unlike some other distributed terminfo files (Novell Unix & SCO's),
# no entry in this file has embedded comments. This is so source translation
# to termcap only has to carry over leading comments. Also, no name field
# contains embedded whitespace (such whitespace confuses rdist).
#
# Further note: older versions of this file were often installed with an editor
# script (reorder) that moved the most common terminal types to the front of
# the file. This should no longer be necessary, as the file is now ordered
# roughly by type frequency with ANSI/VT100 and other common types up front.
#
# Some information has been merged in from terminfo files distributed by
# USL and SCO (see COPYRIGHTS AND OTHER DELUSIONS below). Much information
# comes from vendors who maintain official terminfos for their hardware
# (notably DEC and Wyse).
#
# A detailed change history is included at the end of this file.
#
# FILE ORGANIZATION:
#
# Comments in this file begin with # - they cannot appear in the middle
# of a terminfo/termcap entry (this feature had to be sacrificed in order
# to allow standard terminfo and termcap syntax to be generated cleanly from
# the master format). Individual capabilities are commented out by
# placing a period between the colon and the capability name.
#
# The file is divided up into major sections (headed by lines beginning with
# the string "########") and minor sections (beginning with "####"); do
#
# grep "^####" <file> | more
#
# to see a listing of section headings. The intent of the divisions is
# (a) to make it easier to find things, and (b) to order the database so
# that important and frequently-encountered terminal types are near the
# front (so that you'll get reasonable search efficiency from a linear
# search of the termcap form even if you don't use reorder). Minor sections
# usually correspond to manufacturers or standard terminal classes.
# Parenthesized words following manufacturer names are type prefixes or
# product line names used by that manufacturers.
#
# HOW TO READ THE ENTRIES:
#
# The first name in an entry is the canonical name for the model or
# type, last entry is a verbose description. Others are mnemonic synonyms for
# the terminal.
#
# Terminal names look like <manufacturer> <model> - <modes/options>
# The part to the left of the dash, if a dash is present, describes the
# particular hardware of the terminal. The part to the right may be used
# for flags indicating special ROMs, extra memory, particular terminal modes,
# or user preferences.
#
# All names should be in lower case, for consistency in typing.
#
# The following are conventionally used suffixes:
# -2p Has two pages of memory. Likewise 4p, 8p, etc.
# -am Enable auto-margin.
# -m Monochrome. Suppress color support
# -mc Magic-cookie. Some terminals (notably older Wyses) can
# only support one attribute without magic-cookie lossage.
# Their base entry is usually paired with another that
# uses magic cookies to support multiple attributes.
# -nam No auto-margin - suppress :am: capability
# -nl No labels - suppress soft labels
# -ns No status line - suppress status line
# -rv Terminal in reverse video mode (black on white)
# -s Enable status line.
# -vb Use visible bell (:vb:) rather than :bl:.
# -w Wide - in 132 column mode.
# If a name has multiple suffixes and one is a line height, that one should
# go first. Thus `aaa-30-s-rv' is recommended over `aaa-s-rv-30'.
#
# Entries with embedded plus signs are designed to be included through use/tc
# capabilities, not used as standalone entries.
#
# To avoid search clashes, some older all-numeric names for terminals have
# been removed (i.e., "33" for the Model 33 Teletype, "2621" for the HP2621).
# All primary names of terminals now have alphanumeric prefixes.
#
# Comments marked "esr" are mostly results of applying the termcap-compiler
# code packaged with ncurses and contemplating the resulting error messages.
# In many cases, these indicated obvious fixes to syntax garbled by the
# composers. In a few cases, I was able to deduce corrected forms for garbled
# capabilities by looking at context. All the information in the original
# entries is preserved in the comments.
#
# In the comments, terminfo capability names are bracketed with <> (angle
# brackets). Termcap capability names are bracketed with :: (colons).
#
# INTERPRETATION OF USER CAPABILITIES
#
# The System V Release 4 and XPG4 terminfo format defines ten string
# capabilities for use by applications, <u0>...<u9>. In this file, we use
# certain of these capabilities to describe functions which are not covered
# by terminfo. The mapping is as follows:
#
# u9 terminal enquire string (equiv. to ANSI/ECMA-48 DA)
# u8 terminal answerback description
# u7 cursor position request (equiv. to VT100/ANSI/ECMA-48 DSR 6)
# u6 cursor position report (equiv. to ANSI/ECMA-48 CPR)
#
# The terminal enquire string <u9> should elicit an answerback response
# from the terminal. Common values for <u9> will be ^E (on older ASCII
# terminals) or \E[c (on newer VT100/ANSI/ECMA-48-compatible terminals).
#
# The cursor position request (<u7>) string should elicit a cursor position
# report. A typical value (for VT100 terminals) is \E[6n.
#
# The terminal answerback description (u8) must consist of an expected
# answerback string. The string may contain the following scanf(3)-like
# escapes:
#
# %c Accept any character
# %[...] Accept any number of characters in the given set
#
# The cursor position report (<u6>) string must contain two scanf(3)-style
# %d format elements. The first of these must correspond to the Y coordinate
# and the second to the %d. If the string contains the sequence %i, it is
# taken as an instruction to decrement each value after reading it (this is
# the inverse sense from the cup string). The typical CPR value is
# \E[%i%d;%dR (on VT100/ANSI/ECMA-48-compatible terminals).
#
# These capabilities are used by tack(1m), the terminfo action checker
# (distributed with ncurses 5.0).
#
# TABSET FILES
#
# All the entries in this file have been edited to assume that the tabset
# files directory is /usr/share/tabset, in conformance with the File Hierarchy
# Standard for Linux and open-source BSD systems. Some vendors (notably Sun)
# use /usr/lib/tabset or (more recently) /usr/share/lib/tabset.
#
# No curses package we know of actually uses these files. If their location
# is an issue, you will have to hand-patch the file locations before compiling
# this file.
#
# REQUEST FOR CONTACT INFORMATION AND HISTORICAL MATERIAL
#
# As the ANSI/ECMA-48 standard and variants take firmer hold, and as
# character-cell terminals are increasingly replaced by X displays, much of
# this file is becoming a historical document (this is part of the reason for
# the new organization, which puts ANSI types, xterm, Unix consoles,
# and vt100 up front in confidence that this will catch 95% of new hardware).
#
# For the terminal types still alive, I'd like to have manufacturer's
# contact data (Internet address and/or snail-mail + phone).
#
# I'm also interested in enriching the comments so that the latter portions of
# the file do in fact become a potted history of VDT technology as seen by
# UNIX hackers. Ideally, I'd like the headers for each manufacturer to
# include its live/dead/out-of-the-business status, and for as many
# terminal types as possible to be tagged with information like years
# of heaviest use, popularity, and interesting features.
#
# I'm especially interested in identifying the obscure entries listed under
# `Miscellaneous obsolete terminals, manufacturers unknown' before the tribal
# wisdom about them gets lost. If you know a lot about obscure old terminals,
# please go to the terminfo resource page, grab the UFO file (ufo.ti), and
# eyeball it for things you can identify and describe.
#
# If you have been around long enough to contribute, please read the file
# with this in mind and send me your annotations.
#
# COPYRIGHTS AND OTHER DELUSIONS
#
# The BSD ancestor of this file had a standard Regents of the University of
# California copyright with dates from 1980 to 1993.
#
# Some information has been merged in from a terminfo file SCO distributes.
# It has an obnoxious boilerplate copyright which I'm ignoring because they
# took so much of the content from the ancestral BSD versions of this file
# and didn't attribute it, thereby violating the BSD Regents' copyright.
#
# Not that anyone should care. However many valid functions copyrights may
# serve, putting one on a termcap/terminfo file with hundreds of anonymous
# contributors makes about as much sense as copyrighting a wall-full of
# graffiti -- it's legally dubious, ethically bogus, and patently ridiculous.
#
# This file deliberately has no copyright. It belongs to no one and everyone.
# If you claim you own it, you will merely succeed in looking like a fool.
# Use it as you like. Use it at your own risk. Copy and redistribute freely.
# There are no guarantees anywhere. Svaha!
#
######## ANSI, UNIX CONSOLE, AND SPECIAL TYPES
#
# This section describes terminal classes and brands that are still
# quite common.
#
#### Specials
#
# Special "terminals". These are used to label tty lines when you don't
# know what kind of terminal is on it. The characteristics of an unknown
# terminal are the lowest common denominator - they look about like a ti 700.
#
dumb|80-column dumb tty:\
:am:\
:co#80:\
:bl=^G:cr=^M:do=^J:sf=^J:
unknown|unknown terminal type:\
:gn:tc=dumb:
lpr|printer|line printer:\
:bs:hc:os:\
:co#132:li#66:\
:bl=^G:cr=^M:do=^J:ff=^L:le=^H:sf=^J:
glasstty|classic glass tty interpreting ASCII control characters:\
:am:bs:\
:co#80:\
:bl=^G:cl=^L:cr=^M:do=^J:kd=^J:kl=^H:le=^H:nw=^M^J:ta=^I:
vanilla:\
:bs:\
:bl=^G:cr=^M:do=^J:sf=^J:
#### ANSI.SYS/ISO 6429/ECMA-48 Capabilities
#
# See the end-of-file comment for more on these.
#
# ANSI capabilities are broken up into pieces, so that a terminal
# implementing some ANSI subset can use many of them.
ansi+local1:\
:do=\E[B:le=\E[D:nd=\E[C:up=\E[A:
ansi+local:\
:DO=\E[%dB:LE=\E[%dD:RI=\E[%dC:UP=\E[%dA:tc=ansi+local1:
ansi+tabs:\
:bt=\E[Z:ct=\E[2g:st=\EH:ta=^I:
ansi+inittabs:\
:it#8:tc=ansi+tabs:
ansi+erase:\
:cd=\E[J:ce=\E[K:cl=\E[H\E[J:
ansi+rca:\
:ch=\E[%+^AG:cv=\E[%+^Ad:
ansi+cup:\
:cm=\E[%i%d;%dH:ho=\E[H:
ansi+rep:\
:..rp=%p1%c\E[%p2%{1}%-%db:
ansi+idl1:\
:al=\E[L:dl=\E[M:
ansi+idl:\
:AL=\E[%dL:DL=\E[%dM:tc=ansi+idl1:
ansi+idc:\
:IC=\E[%d@:dc=\E[P:ei=\E6:ic=\E[@:im=\E6:
ansi+arrows:\
:kb=^H:kd=\E[B:kh=\E[H:kl=\E[D:kr=\E[C:ku=\E[A:
ansi+sgr|ansi graphic renditions:\
:mb=\E[5m:me=\E[0m:mk=\E[8m:mr=\E[7m:
ansi+sgrso|ansi standout only:\
:se=\E[m:so=\E[7m:
ansi+sgrul|ansi underline only:\
:ue=\E[m:us=\E[4m:
ansi+sgrbold|ansi graphic renditions; assuming terminal has bold; not dim:\
:md=\E[1m:\
:..sa=\E[%?%p1%t7;%;%?%p2%t4;%;%?%p3%t7;%;%?%p4%t5;%;%?%p6%t1;%;m:\
:tc=ansi+sgr:tc=ansi+sgrso:tc=ansi+sgrul:
ansi+sgrdim|ansi graphic renditions; assuming terminal has dim; not bold:\
:mh=\E[2m:\
:..sa=\E[%?%p1%t7;%;%?%p2%t4;%;%?%p3%t7;%;%?%p4%t5;%;%?%p5%t2;%;m:\
:tc=ansi+sgr:tc=ansi+sgrso:tc=ansi+sgrul:
ansi+pp|ansi printer port:\
:pf=\E[4i:po=\E[5i:ps=\E[0i:
ansi+csr|ansi scroll-region plus cursor save & restore:\
:cs=\E[%i%d;%dr:rc=\E8:sc=\E7:
# The IBM PC alternate character set. Plug this into any Intel console entry.
# We use \E[11m for rmacs rather than \E[12m so the <acsc> string can use the
# ROM graphics for control characters such as the diamond, up- and down-arrow.
# This works with the System V, Linux, and BSDI consoles. It's a safe bet this
# will work with any Intel console, they all seem to have inherited \E[11m
# from the ANSI.SYS de-facto standard.
klone+acs|alternate character set for ansi.sys displays:\
:ac=+\020,\021-\030.^Y0\333`\004a\261f\370g\361h\260j\331k\277l\332m\300n\305o~p\304q\304r\304s_t\303u\264v\301w\302x\263y\363z\362{\343|\330}\234~\376:\
:ae=\E[10m:as=\E[11m:
# Highlight controls corresponding to the ANSI.SYS standard. Most
# console drivers for Intel boxes obey these. Makes the same assumption
# about \E[11m as klone+acs. True ANSI/ECMA-48 would have :se=\E[27m:,
# :ue=\E[24m:, but this isn't a documented feature of ANSI.SYS.
klone+sgr|attribute control for ansi.sys displays:\
:S2=\E[11m:S3=\E[10m:mb=\E[5m:md=\E[1m:me=\E[0;10m:\
:mk=\E[8m:mr=\E[7m:\
:..sa=\E[0;10%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p6%t;1%;%?%p7%t;8%;%?%p9%t;11%;m:\
:se=\E[m:so=\E[7m:ue=\E[m:us=\E[4m:tc=klone+acs:
# Highlight controls corresponding to the ANSI.SYS standard. *All*
# console drivers for Intel boxes obey these. Does not assume \E[11m will
# work; uses \E[12m instead, which is pretty bulletproof but loses you the ACS
# diamond and arrow characters under curses.
klone+sgr-dumb|attribute control for ansi.sys displays (no ESC [ 11 m):\
:as=\E[12m:mb=\E[5m:md=\E[1m:me=\E[0;10m:mk=\E[8m:\
:mr=\E[7m:\
:..sa=\E[0;10%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p6%t;1%;%?%p7%t;8%;%?%p9%t;12%;m:\
:se=\E[m:so=\E[7m:ue=\E[m:us=\E[4m:tc=klone+acs:
# KOI8-R (RFC1489) acs (alternate character set)
# From: Qing Long <qinglong@Bolizm.ihep.su>, 24 Feb 1996.
klone+koi8acs|alternate character set for ansi.sys displays with KOI8 charset:\
:ac=+\020,\021-\036.^_0\215`\004a\237f\234g\232h\222i\220j\205k\203l\202m\204n\212o\213p\216q\0r\217s\214t\206u\207v\210w\211x\201y\230z\231{\267|\274}L~\225:\
:ae=\E[10m:as=\E[11m:
# ANSI.SYS color control. The setab/setaf caps depend on the coincidence
# between SVr4/XPG4's color numbers and ANSI.SYS attributes. Here are longer
# but equivalent strings that don't rely on that coincidence:
# setb=\E[4%?%p1%{1}%=%t4%e%p1%{3}%=%t6%e%p1%{4}%=%t1%e%p1%{6}%=%t3%e%p1%d%;m,
# setf=\E[3%?%p1%{1}%=%t4%e%p1%{3}%=%t6%e%p1%{4}%=%t1%e%p1%{6}%=%t3%e%p1%d%;m,
# The DOS 5 manual asserts that these sequences meet the ISO 6429 standard.
# They match a subset of ECMA-48.
klone+color|color control for ansi.sys and ISO6429-compatible displays:\
:Co#8:NC#3:pa#64:\
:AB=\E[4%dm:AF=\E[3%dm:op=\E[37;40m:
# This is better than klone+color, it doesn't assume white-on-black as the
# default color pair, but many `ANSI' terminals don't grok the <op> cap.
#This is part of the definition, but not accepted: AX,
ecma+color|color control for ECMA-48-compatible terminals:\
:Co#8:NC#3:pa#64:\
:AB=\E[4%dm:AF=\E[3%dm:op=\E[39;49m:
# Attribute control for ECMA-48-compatible terminals
ecma+sgr|attribute capabilities for true ECMA-48 terminals:\
:se=\E[27m:ue=\E[24m:tc=klone+sgr:
# For comparison, here are all the capabilities implied by the Intel
# Binary Compatibility Standard (level 2) that fit within terminfo.
# For more detail on this rather pathetic standard, see the comments
# near the end of this file.
ibcs2|Intel Binary Compatibility Standard prescriptions:\
:AL=\E[%dL:DC=\E[%dP:DO=\E[%dB:IC=\E[%d@:LE=\E[%dD:\
:RA=\E[?7l:RI=\E[%dC:S1=\E=%dg:SA=\E[?7h:SF=\E[%dS:\
:SR=\E[%dT:UP=\E[%dA:bt=\E[Z:ch=\E[%i%dG:cl=\Ec:\
:cm=\E[%i%d;%dH:ct=\E[g:cv=\E[%i%dd:ec=\E[%dX:ei=:im=:\
:rc=\E7:sc=\E7:st=\EH:
#### ANSI/ECMA-48 terminals and terminal emulators
#
# See near the end of this file for details on ANSI conformance.
# Don't mess with these entries! Lots of other entries depend on them!
#
# This section lists entries in a least-capable to most-capable order.
# if you're in doubt about what `ANSI' matches yours, try them in that
# order and back off from the first that breaks.
# ansi-mr is for ANSI terminals with ONLY relative cursor addressing
# and more than one page of memory. It uses local motions instead of
# direct cursor addressing, and makes almost no assumptions. It does
# assume auto margins, no padding and/or xon/xoff, and a 24x80 screen.
ansi-mr|mem rel cup ansi:\
:am:xo:\
:co#80:li#24:tc=vanilla:tc=ansi+erase:tc=ansi+local1:
# ansi-mini is a bare minimum ANSI terminal. This should work on anything, but
# beware of screen size problems and memory relative cursor addressing.
ansi-mini|any ansi terminal with pessimistic assumptions:\
:am:xo:\
:co#80:li#24:tc=vanilla:tc=ansi+cup:tc=ansi+erase:
# ansi-mtabs adds relative addressing and minimal tab support
ansi-mtabs|any ansi terminal with pessimistic assumptions:\
:it#8:\
:ta=^I:tc=ansi+local1:tc=ansi-mini:
# ANSI X3.64 from emory!mlhhh (Hugh Hansard) via BRL
#
# The following is an entry for the full ANSI 3.64 (1977). It lacks
# padding, but most terminals using the standard are "fast" enough
# not to require any -- even at 9600 bps. If you encounter problems,
# try including the padding specifications.
#
# Note: the :as: and :ae: specifications are not implemented here, for
# the available termcap documentation does not make clear WHICH alternate
# character set to specify. ANSI 3.64 seems to make allowances for several.
# Please make the appropriate adjustments to fit your needs -- that is
# if you will be using alternate character sets.
#
# There are very few terminals running the full ANSI 3.64 standard,
# so I could only test this entry on one verified terminal (Visual 102).
# I would appreciate the results on other terminals sent to me.
#
# Please report comments, changes, and problems to:
#
# U.S. MAIL: Hugh Hansard
# Box: 22830
# Emory University
# Atlanta, GA. 30322.
#
# USENET {akgua,msdc,sb1,sb6,gatech}!emory!mlhhh.
#
# (Added vt100 :rc:,:sc: to quiet a tic warning --esr)
ansi77|ansi 3.64 standard 1977 version:\
:am:bs:mi:\
:co#80:it#8:li#24:\
:al=5*\E[L:bl=^G:cd=\E[J:ce=\E[K:cl=\E[;H\E[2J:\
:cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:dc=\E[P:dl=5*\E[M:\
:do=\E[B:ei=\E[4l:ho=\E[H:im=\E[4h:k1=\EOP:k2=\EOR:k4=\EOS:\
:kb=^H:kd=\E[B:kh=\E[H:kl=\E[D:kr=\E[C:ku=\E[A:le=^H:\
:nd=\E[C:nw=^M\ED:rc=\E8:sc=\E7:se=\E[m:sf=\ED:so=\E[7m:\
:sr=\EM:ta=^I:ue=\E[m:up=\E[A:us=\E[4m:
# Procomm and some other ANSI emulations don't recognize all of the ANSI-
# standard capabilities. This entry deletes :UP:, :RI:, :DO:, :LE:, and
# <vpa>/<hpa> capabilities, forcing curses to use repetitions of :up:,
# :nd:, :do: and :le:. Also deleted :IC: and :ic:, as QModem up to
# 5.03 doesn't recognize these. Finally, we delete :rp: and :sr:, which seem
# to confuse many emulators. On the other hand, we can count on these programs
# doing :ae:/:as:/:sa:. Older versions of this entry featured
# <invis=\E[9m>, but <invis=\E[8m> now seems to be more common under
# ANSI.SYS influence.
# From: Eric S. Raymond <esr@snark.thyrsus.com> Oct 30 1995
pcansi-m|pcansi-mono|ibm-pc terminal programs claiming to be ansi (mono mode):\
:am:bs:mi:ms:\
:co#80:it#8:li#24:\
:al=\E[L:bl=^G:bt=\E[Z:cd=\E[J:ce=\E[K:cl=\E[H\E[J:\
:cm=\E[%i%d;%dH:cr=^M:ct=\E[2g:dc=\E[P:dl=\E[M:do=\E[B:\
:ho=\E[H:kb=^H:kd=\E[B:kh=\E[H:kl=\E[D:kr=\E[C:ku=\E[A:\
:le=\E[D:nd=\E[C:sf=^J:st=\EH:ta=^I:up=\E[A:\
:tc=klone+sgr-dumb:
pcansi-25-m|pcansi25m|ibm-pc terminal programs with 25 lines (mono mode):\
:li#25:tc=pcansi-m:
pcansi-33-m|pcansi33m|ibm-pc terminal programs with 33 lines (mono mode):\
:li#33:tc=pcansi-m:
pcansi-43-m|ansi43m|ibm-pc terminal programs with 43 lines (mono mode):\
:li#43:tc=pcansi-m:
# The color versions. All PC emulators do color...
pcansi|ibm-pc terminal programs claiming to be ansi:\
:tc=klone+color:tc=pcansi-m:
pcansi-25|pcansi25|ibm-pc terminal programs with 25 lines:\
:li#25:tc=pcansi:
pcansi-33|pcansi33|ibm-pc terminal programs with 33 lines:\
:li#33:tc=pcansi:
pcansi-43|pcansi43|ibm-pc terminal programs with 43 lines:\
:li#43:tc=pcansi:
# ansi-m -- full ANSI X3.64 with ANSI.SYS-compatible attributes, no color.
# If you want pound signs rather than dollars, replace `B' with `A'
# in the <s0ds>, <s1ds>, <s2ds>, and <s3ds> capabilities.
# From: Eric S. Raymond <esr@snark.thyrsus.com> Nov 6 1995
ansi-m|ansi-mono|ANSI X3.64-1979 terminal with ANSI.SYS compatible attributes:\
:5i:\
:AL=\E[%dL:DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:IC=\E[%d@:\
:LE=\E[%dD:RI=\E[%dC:SF=\E[%dS:SR=\E[%dT:UP=\E[%dA:\
:cb=\E[1K:ch=\E[%i%dG:ct=\E[2g:cv=\E[%i%dd:ec=\E[%dX:ei=:\
:im=:kB=\E[Z:kI=\E[L:kb=^H:kd=\E[B:kl=\E[D:kr=\E[C:ku=\E[A:\
:nw=\r\E[S:pf=\E[4i:po=\E[5i:..rp=%p1%c\E[%p2%{1}%-%db:\
:s0=\E(B:s1=\E)B:s2=\E*B:s3=\E+B:ta=\E[I:tc=pcansi-m:
# ansi -- this terminfo expresses the largest subset of X3.64 that will fit in
# standard terminfo. Assumes ANSI.SYS-compatible attributes and color.
# From: Eric S. Raymond <esr@snark.thyrsus.com> Nov 6 1995
ansi|ansi/pc-term compatible with color:\
:u6=\E[%i%d;%dR:u7=\E[6n:..u8=\E[?%[;0123456789]c:\
:u9=\E[c:tc=ecma+color:tc=klone+sgr:tc=ansi-m:
# ansi-generic is a vanilla ANSI terminal. This is assumed to implement
# all the normal ANSI stuff with no extensions. It assumes
# insert/delete line/char is there, so it won't work with
# vt100 clones. It assumes video attributes for bold, blink,
# underline, and reverse, which won't matter much if the terminal
# can't do some of those. Padding is assumed to be zero, which
# shouldn't hurt since xon/xoff is assumed.
ansi-generic|generic ansi standard terminal:\
:am:xo:\
:co#80:li#24:tc=vanilla:tc=ansi+csr:tc=ansi+cup:\
:tc=ansi+rca:tc=ansi+erase:tc=ansi+tabs:tc=ansi+local:\
:tc=ansi+idc:tc=ansi+idl:tc=ansi+rep:tc=ansi+sgrbold:\
:tc=ansi+arrows:
#### DOS ANSI.SYS variants
#
# This completely describes the sequences specified in the DOS 2.1 ANSI.SYS
# documentation (except for the keyboard key reassignment feature, which
# doen't fit the <pfkey> model well). The klone+acs sequences were valid
# though undocumented. The <pfkey> capability is untested but should work for
# keys F1-F10 (%p1 values outside this range will yield unpredictable results).
# From: Eric S. Raymond <esr@snark.thyrsus.com> Nov 7 1995
ansi.sys-old|ANSI.SYS under PC-DOS 2.1:\
:am:bs:mi:ms:xo:\
:co#80:li#25:\
:RA=\E[?7l:SA=\E[?7h:ce=\E[k:cl=\E[2J:cm=\E[%i%d;%dH:\
:do=\E[B:ho=\E[H:is=\E[m\E[?7h:kd=^J:kh=^^:kl=^H:kr=^L:\
:ku=^K:le=^H:nd=\E[C:pk=\E[0;%+\:;"%s":rc=\E[u:sc=\E[s:\
:u6=\E[%i%d;%dR:u7=\E[6n:up=\E[A:tc=klone+color:\
:tc=klone+sgr:
ansi.sys|ANSI.SYS 3.1 and later versions:\
:ce=\E[K:tc=ansi.sys-old:
#
# Define IBM PC keypad keys for vi as per MS-Kermit while using ANSI.SYS.
# This should only be used when the terminal emulator cannot redefine the keys.
# Since redefining keys with ansi.sys also affects PC-DOS programs, the key
# definitions must be restored. If the terminal emulator is quit while in vi
# or others using :ks:/:ke:, the keypad will not be defined as per PC-DOS.
# The PgUp and PgDn are prefixed with ESC so that tn3270 can be used on Unix
# (^U and ^D are already defined for tn3270). The ESC is safe for vi but it
# does "beep". ESC ESC i is used for Ins to avoid tn3270 ESC i for coltab.
# Note that :kl: is always BS, because PC-dos can tolerate this change.
# Caution: vi is limited to 256 string bytes, longer crashes or weirds out vi.
# Consequently the End keypad key could not be set (it is relatively safe and
# actually useful because it sends ^@ O, which beeps and opens a line above).
ansi.sysk|ansisysk|PC-DOS 3.1 ANSI.SYS with keypad redefined for vi:\
:is=U2 PC-DOS 3.1 ANSI.SYS with keypad redefined for vi 9-29-86\n\E[;75;8p:\
:ke=\E[;71;0;71p\E[;72;0;72p\E[;73;0;73p\E[;77;0;77p\E[;80;0;80p\E[;81;0;81p\E[;82;0;82p\E[;83;0;83p:\
:ks=\E[;71;30p\E[;72;11p\E[;73;27;21p\E[;77;12p\E[;80;10p\E[;81;27;4p\E[;82;27;27;105p\E[;83;127p:\
:tc=ansi.sys:
#
# Adds ins/del line/character, hence vi reverse scrolls/inserts/deletes nicer.
nansi.sys|nansisys|PC-DOS Public Domain NANSI.SYS:\
:al=\E[1L:dc=\E[1P:dl=\E[1M:ei=:ic=\E[1@:im=:\
:is=U3 PC-DOS Public Domain NANSI.SYS 9-23-86\n:\
:tc=ansi.sys:
#
# See ansi.sysk and nansi.sys above.
nansi.sysk|nansisysk|PC-DOS Public Domain NANSI.SYS with keypad redefined for vi:\
:al=\E[1L:dc=\E[1P:dl=\E[1M:ei=:ic=\E[1@:im=:\
:is=U4 PC-DOS Public Domain NANSI.SYS with keypad redefined for vi 9-29-86\n\E[;75;8p:\
:tc=ansi.sysk:
#### ANSI console types
#
#### BeOS
#
# BeOS entry for Terminal program Seems to be almost ANSI
beterm|BeOS Terminal:\
:am:eo:mi:ms:xn:xo:\
:Co#8:NC#5:co#80:it#8:li#25:pa#64:\
:&7=^Z:@7=\E[4~:AB=\E[4%dm:AF=\E[3%dm:AL=\E[%dL:DC=\E[%dP:\
:DL=\E[%dM:DO=\E[%dB:F1=\E[21~:F2=\E[22~:IC=\E[%d@:\
:LE=\E[%dD:RI=\E[%dC:Sb=\E[%+(m:Sf=\E[%+^^m:UP=\E[%dA:\
:al=\E[L:bl=^G:cb=\E[1K: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:\
:cv=\E[%i%dd:dc=\E[P:dl=\E[M:do=^J:ec=\E[%dX:ei=\E[4l:\
:ho=\E[H:ic=\E[@:im=\E[4h:k1=\E[11~:k2=\E[12~:k3=\E[13~:\
:k4=\E[14~:k5=\E[15~:k6=\E[16~:k7=\E[17~:k8=\E[18~:\
:k9=\E[19~:k;=\E[20~:kD=\E[3~:kI=\E[2~:kN=\E[6~:kP=\E[5~:\
:kb=^H:kd=\E[B:ke=\E[?4l:kh=\E[1~:kl=\E[D:kr=\E[C:\
:ks=\E[?4h:ku=\E[A:le=^H:md=\E[1m:me=\E[0;10m:mr=\E[7m:\
:nd=\E[C:nw=^M^J:op=\E[m:r1=\Ec:rc=\E8:sc=\E7:se=\E[m:sf=^J:\
:so=\E[7m:sr=\EM:st=\EH:ta=^I:u6=\E[%i%d;%dR:u7=\E[6n:\
:ue=\E[24m:up=\E[A:us=\E[4m:
#### Linux consoles
#
# This entry is good for the 1.2.13 or later version of the Linux console.
#
# ***************************************************************************
# * *
# * WARNING: *
# * Linuxes come with a default keyboard mapping kcbt=^I. This entry, in *
# * response to user requests, assumes kcbt=\E[Z, the ANSI/ECMA reverse-tab *
# * character. Here are the keymap replacement lines that will set this up: *
# * *
# keycode 15 = Tab Tab
# alt keycode 15 = Meta_Tab
# shift keycode 15 = F26
# string F26 ="\033[Z"
# * *
# * This has to use a key slot which is unfortunate (any unused one will *
# * do, F26 is the higher-numbered one). The change ought to be built *
# * into the kernel tables. *
# * *
# ***************************************************************************
#
# The 1.3.x kernels add color-change capabilities; if yours doesn't have this
# and it matters, turn off <ccc>. The %02x escape used to implement this is
# not back-portable to SV curses and not supported in ncurses versions before
# 1.9.9. All linux kernels since 1.2.13 (at least) set the screen size
# themselves; this entry assumes that capability.
#
# This entry is good for the 1.2.13 or later version of the Linux console.
#
# ***************************************************************************
# * *
# * WARNING: *
# * Linuxes come with a default keyboard mapping kcbt=^I. This entry, in *
# * response to user requests, assumes kcbt=\E[Z, the ANSI/ECMA reverse-tab *
# * character. Here are the keymap replacement lines that will set this up: *
# * *
# keycode 15 = Tab Tab
# alt keycode 15 = Meta_Tab
# shift keycode 15 = F26
# string F26 ="\033[Z"
# * *
# * This has to use a key slot which is unfortunate (any unused one will *
# * do, F26 is the higher-numbered one). The change ought to be built *
# * into the kernel tables. *
# * *
# ***************************************************************************
#
# The 1.3.x kernels add color-change capabilities; if yours doesn't have this
# and it matters, turn off <ccc>. The %02x escape used to implement this is
# not back-portable to SV curses and not supported in ncurses versions before
# 1.9.9. All linux kernels since 1.2.13 (at least) set the screen size
# themselves; this entry assumes that capability.
#
# The 2.2.x kernels add a private mode that sets the cursor type; use that to
# get a block cursor for cvvis.
# reported by Frank Heckenbach <frank@g-n-u.de>.
# (untranslatable capabilities removed to fit entry within 1023 bytes)
# (sgr removed to fit entry within 1023 bytes)
# (acsc removed to fit entry within 1023 bytes)
linux|linux console:\
:am:eo:mi:ms:ut:xn:xo:\
:NC#18:it#8:\
:&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:Km=\E[M:al=\E[L:bl=^G:cb=\E[1K: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:ec=\E[%dX: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=\177:kd=\E[B:kh=\E[1~:\
:kl=\E[D:kr=\E[C:ku=\E[A:le=^H:mh=\E[2m:mr=\E[7m:nd=\E[C:\
:nw=^M^J:r1=\Ec\E]R:rc=\E8:sc=\E7:se=\E[27m:sf=^J:sr=\EM:\
:st=\EH:ta=^I:u6=\E[%i%d;%dR:u7=\E[6n:u8=\E[?6c:u9=\E[c:\
:ue=\E[24m:up=\E[A:us=\E[4m:vb=200\E[?5h\E[?5l:\
:ve=\E[?25h\E[?0c:vi=\E[?25l\E[?1c:vs=\E[?25h\E[?8c:\
:tc=klone+sgr:tc=ecma+color:
linux-m|Linux console no color:\
:Co@:pa@:\
:AB@:AF@:Sb@:Sf@:tc=linux:
linux-c-nc|linux console 1.3.x hack for ncurses only:\
:cc:\
:..Ic=\E]P%p1%x%p2%{255}%*%{1000}%/%02x%p3%{255}%*%{1000}%/%02x%p4%{255}%*%{1000}%/%02x:\
:oc=\E]R:tc=linux:
# From: Dennis Henriksen <opus@osrl.dk>, 9 July 1996
linux-c|linux console 1.3.6+ with private palette for each virtual console:\
:cc:\
:Co#8:pa#64:\
:..Ic=\E]P%?%p1%{9}%>%t%p1%{10}%-%'a'%+%c%e%p1%d%;%p2%{255}%&%Pr%gr%{16}%/%Px%?%gx%{9}%>%t%gx%{10}%-%'A'%+%c%e%gx%d%;%gr%{15}%&%Px%?%gx%{9}%>%t%gx%{10}%-%'A'%+%c%e%gx%d%;%p3%{255}%&%Pr%gr%{16}%/%Px%?%gx%{9}%>%t%gx%{10}%-%'A'%+%c%e%gx%d%;%gr%{15}%&%Px%?%gx%{9}%>%t%gx%{10}%-%'A'%+%c%e%gx%d%;%p4%{255}%&%Pr%gr%{16}%/%Px%?%gx%{9}%>%t%gx%{10}%-%'A'%+%c%e%gx%d%;%gr%{15}%&%Px%?%gx%{9}%>%t%gx%{10}%-%'A'%+%c%e%gx%d%;:\
:oc=\E]R: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:
# This assumes you have used setfont(8) to load one of the Linux koi8-r fonts.
# acsc entry from Pavel Roskin" <pavel@absolute.spb.su>, 29 Sep 1997.
linux-koi8|linux with koi8 alternate character set:\
:ac=+\020,\021-\030.^Y0\215`\004a\221f\234g\237h\220i\276j\205k\203l\202m\204n\212o~p\0q\0r\0s_t\206u\207v\211w\210x\201y\230z\231{\267|\274~\224:\
:tc=linux:tc=klone+koi8acs:
# Another entry for KOI8-r with Qing Long's acsc.
# (which one better complies with the standard?)
linux-koi8r|linux with koi8-r alternate character set:\
:tc=linux:tc=klone+koi8acs:
# Entry for the latin1 and latin2 fonts
linux-lat|linux with latin1 or latin2 alternate character set:\
:ac=+\020,\021-\030.^Y0\333`\004a\013f\370g\361h\260i\316j\211k\214l\206m\203n\305o~p\304q\212r\304s_t\207u\215v\301w\302x\205y\363z\362{\343|\330}\234~\376:\
:tc=linux:
#### Mach
#
# From: Matthew Vernon <mcv21@pick.sel.cam.ac.uk>
mach|Mach Console:\
:am:km:\
:co#80:it#8:li#25:\
:@7=\E[Y:AL=\E[%dL:DL=\E[%dM:DO=\E[%dB:LE=\E[%dD:\
:RI=\E[%dC:UP=\E[%dA:al=\E[L:bl=^G:cd=\E[J:ce=\E[K:cl=\Ec:\
:cm=\E[%i%d;%dH:cr=^M:dl=\E[M:do=^J:ho=\E[H:k1=\EOP:\
:k2=\EOQ:k3=\EOR:k4=\EOS:k5=\EOT:k6=\EOU:k7=\EOV:k8=\EOW:\
:k9=\EOX:k;=\EOY:kD=\E[9:kH=\E[F:kI=\E[@:kN=\E[U:kP=\E[V:\
:kb=^H:kd=\E[B:kh=\E[H:kl=\E[D:kr=\E[C:ku=\E[A:le=^H:\
:mb=\E[5m:md=\E[1m:me=\E[0m:mr=\E[7m:nd=\E[C:se=\E[0m:\
:sf=^J:so=\E[7m:ta=^I:ue=\E[24m:up=\E[A:us=\E[4m:
mach-bold|Mach Console with bold instead of underline:\
:ue=\E[0m:us=\E[1m:tc=mach:
mach-color|Mach Console with ANSI color:\
:Co#8:pa#64:\
:AB=\E[4%dm:AF=\E[3%dm:mh=\E[2m:mk=\E[8m:op=\E[37;40m:\
:se=\E[27m:tc=mach:
#### OSF Unix
#
# OSF/1 1.1 Snapshot 2
pmcons|pmconsole|PMAX console:\
:am:\
:co#128:li#57:\
:bl=^G:cl=^L:cr=^M:do=^J:k1=\EOP:k2=\EOQ:k3=\EOR:k4=\EOS:\
:kd=\E[B:kl=\E[D:kr=\E[C:ku=\E[A:le=^H:sf=^J:ta=^I:up=^K:
# SCO console and SOS-Syscons console for 386bsd
# (scoansi: had unknown capabilities
# :Gc=N:Gd=K:Gh=M:Gl=L:Gu=J:Gv=\072:\
# :GC=E:GD=B:GH=D:GL=\64:GU=A:GV=\63:GR=C:
# :G1=?:G2=Z:G3=@:G4=Y:G5=;:G6=I:G7=H:G8=<:\
# :CW=\E[M:NU=\E[N:RF=\E[O:RC=\E[P:\
# :WL=\E[S:WR=\E[T:CL=\E[U:CR=\E[V:\
# I renamed GS/GE/HM/EN/PU/PD/RT and added klone+sgr-dumb, based
# on the :as:=\E[12m -- esr)
#
# klone+sgr-dumb is an error since the acsc does not match -TD
#
# In this description based on SCO's keyboard(HW) manpage list of default function key
# values:
# F13-F24 are shifted F1-F12
# F25-F36 are control F1-F12
# F37-F48 are shift+control F1-F12
# (untranslatable capabilities removed to fit entry within 1023 bytes)
scoansi|SCO Extended ANSI standard crt:\
:am:bs:eo:xo:\
:Co#8:co#80:it#8:li#25:pa#64:\
:@1=\E[E:@7=\E[F:AB=\E[4%dm:AF=\E[3%dm:F1=\E[W:F2=\E[X:\
:F3=\E[Y:F5=\E[a:F6=\E[b:F7=\E[c:F8=\E[d:F9=\E[e:FA=\E[f:\
:FB=\E[g:FC=\E[h:FD=\E[i:FE=\E[j:FF=\E[k:FG=\E[l:FH=\E[m:\
:FI=\E[n:FJ=\E[o:FK=\E[p:FL=\E[q:FM=\E[r:FN=\E[s:FO=\E[t:\
:FP=\E[u:FQ=\E[v:FR=\E[w:FS=\E[x:FT=\E[y:FU=\E[z:FV=\E[@:\
:FW=\E[[:FX=\E[\\:FY=\E[]:FZ=\E[^:Fa=\E[_:Fb=\E[`:Fc=\E[{:\
:ac=0[5566778899\:\:;;<<==>>FFGGHHIIJJKKLLMMNNOOPPQQRRSSTTUUVVWWXX`ja0fxgqh2jYk?lZm@nEqDtCu4vAwBx3~y:\
:ae=\E[10m:al=\E[L:as=\E[12m:bt=\E[Z:cd=\E[J:ce=\E[K:\
:cl=\E[H\E[2J:cm=\E[%i%d;%dH:dc=\E[P:dl=\E[M:do=\E[B:ei=:\
:ho=\E[H:ic=\E[@:im=:k1=\E[M:k2=\E[N:k3=\E[O:k4=\E[P:\
:k5=\E[Q:k6=\E[R:k7=\E[S:k8=\E[T:k9=\E[U:k;=\E[V:kB=\E[Z:\
:kI=\E[L:kN=\E[G:kP=\E[I:kb=^H:kd=\E[B:kh=\E[H:kl=\E[D:\
:kr=\E[C:ku=\E[A:le=\E[D:mb=\E[5m:md=\E[1m:me=\E[0;10m:\
:mk=\E[8m:mr=\E[7m:nd=\E[C:op=\E[37;40m:se=\E[m:sf=\E[S:\
:so=\E[7m:sr=\E[T:ta=^I:ue=\E[m:up=\E[A:us=\E[4m:
# This actually describes the generic SVr4 display driver for Intel boxes.
# The :mh=\E[2m: isn't documented and therefore may not be reliable.
# From: Eric Raymond <esr@snark.thyrsus.com> Mon Nov 27 19:00:53 EST 1995
att6386|at386|386at|AT&T WGS 6386 console:\
:am:bw:eo:xo:\
:co#80:it#8:li#25:\
:@7=\E[Y:AL=\E[%dL:DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:F1=\EOZ:\
:F2=\EOA:IC=\E[%d@:LE=\E[%dD:RI=\E[%dC:SF=\E[%dS:\
:SR=\E[%dT:UP=\E[%dA:\
:ac=``a1fxgqh0jYk?lZm@nEooppqDrrsstCu4vAwBx3yyzz{{||}}~~:\
:ae=\E[10m:al=\E[1L:as=\E[12m:bl=^G:bt=\E[Z:cd=\E[J:\
:ce=\E[K:ch=\E[%i%dG:cl=\E[2J\E[H:cm=\E[%i%d;%dH:cr=^M:\
:ct=\E[2g:cv=\E[%i%dd:dc=\E[P:dl=\E[1M:do=\E[B:ec=\E[%dX:\
:ei=:ho=\E[H:ic=\E[1@:im=:is=\E[0;10;39m:k1=\EOP:k2=\EOQ:\
:k3=\EOR:k4=\EOS:k5=\EOT:k6=\EOU:k7=\EOV:k8=\EOW:k9=\EOX:\
:k;=\EOY:kB=^]:kD=\E[P:kI=\E[@:kM=\E0:kN=\E[U:kP=\E[V:kb=^H:\
:kd=\E[B:kh=\E[H:kl=\E[D:kr=\E[C:ku=\E[A:le=\E[D:mb=\E[5m:\
:md=\E[1m:me=\E[0;10m:mh=\E[2m:mk=\E[9m:mr=\E[7m:nd=\E[C:\
:nw=\r\E[S:rc=\E8:\
:..sa=\E[10m\E[0%?%p1%p3%|%t;7%;%?%p2%t;4%;%?%p4%t;5%;%?%p5%t;2%;%?%p6%t;1%;%?%p9%t;12%e;10%;%?%p7%t;9%;m:\
:sc=\E7:se=\E[m:sf=\E[S:so=\E[7m:sr=\E[T:st=\EH:ta=^I:\
:ue=\E[m:up=\E[A:us=\E[4m:ve=\E[=1C:vi=\E[=C:\
:tc=klone+color:
# (pc6300plus: removed ":KM=/usr/lib/ua/kmap.s5:"; renamed BO/EE/CI/CV -- esr)
pc6300plus|AT&T 6300 plus:\
:am:bs:xo:\
:co#80:li#24:\
:al=\E[1L:bl=^G:cd=\E[0J:ce=\E[0K:cl=\E[2J\E[H:\
:cm=\E[%i%2;%2H:cr=^M:ct=\E[3g:dc=\E[1P:dl=\E[1M:do=\E[B:\
:ei=:ho=\E[H:ic=\E[1@:im=:k1=\EOc:k2=\EOd:k3=\EOe:k4=\EOf:\
:k5=\EOg:k6=\EOh:k7=\EOi:k8=\EOj:k9=\EOk:k;=\EOu:kb=^H:\
:kd=\E[B:kl=\E[D:kr=\E[C:ku=\E[A:le=^H:mb=\E[5m:md=\E[1m:\
:me=\E[m:mh=\E[2m:mk=\E[9m:mr=\E[7m:nd=\E[C:nw=^M^J:\
:se=\E[m:sf=^J:so=\E[7m:st=\EH:ue=\E[m:up=\E[A:us=\E[4m:\
:ve=\E[=1C:vi=\E[=C:
# From: Benjamin C. W. Sittler <bsittler@nmt.edu>
#
# I have a UNIX PC which I use as a terminal attached to my Linux PC.
# Unfortunately, the UNIX PC terminfo entry that comes with ncurses
# is broken. All the special key sequences are broken, making it unusable
# with Emacs. The problem stems from the following:
#
# The UNIX PC has a plethora of keys (103 of them, and there's no numeric
# keypad!), loadable fonts, and strange highlighting modes ("dithered"
# half-intensity, "smeared" bold, and real strike-out, for example.) It also
# uses resizable terminal windows, but the bundled terminal program always
# uses an 80x24 window (and doesn't support seem to support a 132-column
# mode.)
#
# HISTORY: The UNIX PC was one of the first machines with a GUI, and used a
# library which was a superset of SVr3.5 curses (called tam, for "terminal
# access method".) tam includes support for real, overlapping windows,
# onscreen function key labels, and bitmap graphics. But since the primary
# user interface on the UNIX PC was a GUI program (ua, for "user
# assistant",) and remote administration was considered important for the
# machine, tam also supported VT100-compatible terminals attached to the
# serial port or used across the StarLan network. To simulate the extra keys
# not present on a VT100, users could press ESC and a two-letter sequence,
# such as u d (Undo) or U D (Shift-Undo.) These two-letter sequences,
# however, were not the same as those sent by the actual Undo key. The
# actual Undo key sends ESC 0 s unshifted, and ESC 0 S shifted, for example.
# (If you're interested in adding some of the tam calls to ncurses, btw, I
# have the full documentation and several programs which use tam. It also
# used an extended terminfo format to describe key sequences, special
# highlighting modes, etc.)
#
# KEYS: This means that ncurses would quite painful on the UNIX PC, since
# there are two sequences for every key-modifier combination (local keyboard
# sequence and remote "VT100" sequence.) But I doubt many people are trying
# to use ncurses on the UNIX PC, since ncurses doesn't properly handle the
# GUI. Unfortunately, the terminfo entry (and the termcap, too, I presume)
# seem to have been built from the manual describing the VT100 sequences.
# This means it doesn't work for a real live UNIX PC.
#
# FONTS: The UNIX PC also has a strange interpretation of "alternate
# character set". Rather than the VT100 graphics you might expect, it allows
# up to 8 custom fonts to be loaded at any given time. This means that
# programs expecting VT100 graphics will usually be disappointed. For this
# reason I have disabled the smacs/rmacs sequences, but they could easily be
# re-enabled. Here are the relevant control sequences (from the ESCAPE(7)
# manpage), should you wish to do so:
#
# SGR10 - Select font 0 - ESC [ 10 m or SO
# SGR11 - Select font 1 - ESC [ 11 m or SI
# SGR12 - Select font 2 - ESC [ 12 m
# ... (etc.)
# SGR17 - Select font 7 - ESC [ 17 m
#
# Graphics for line drawing are not reliably found at *any* character
# location because the UNIX PC has dynamically reloadable fonts. I use font
# 0 for regular text and font 1 for italics, but this is by no means
# universal. So ASCII line drawing is in order if smacs/rmacs are enabled.
#
# MISC: The cursor visible/cursor invisible sequences were swapped in the
# distributed terminfo.
#
# To ameliorate these problems (and fix a few highlighting bugs) I rewrote
# the UNIX PC terminfo entry. The modified version works great with Lynx,
# Emacs, and XEmacs running on my Linux PC and displaying on the UNIX PC
# attached by serial cable. In Emacs, even the Undo key works, and many
# applications can now use the F1-F8 keys.
#
# esr's notes:
# Terminfo entry for the AT&T Unix PC 7300
# from escape(7) in Unix PC 7300 Manual.
# Somewhat similar to a vt100-am (but different enough
# to redo this from scratch.)
#
# /***************************************************************
# *
# * FONT LOADING PROGRAM FOR THE UNIX PC
# *
# * This routine loads a font defined in the file ALTFONT
# * into font memory slot #1. Once the font has been loaded,
# * it can be used as an alternative character set.
# *
# * The call to ioctl with the argument WIOCLFONT is the key
# * to this routine. For more information, see window(7) in
# * the PC 7300 documentation.
# ***************************************************************/
# #include <string.h> /* needed for strcpy call */
# #include <sys/window.h> /* needed for ioctl call */
# #define FNSIZE 60 /* font name size */
# #define ALTFONT "/usr/lib/wfont/special.8.ft" /* font file */
# /*
# * The file /usr/lib/wfont/special.8.ft comes with the
# * standard PC software. It defines a graphics character set
# * similar to that of the Teletype 5425 terminal. To view
# * this or other fonts in /usr/lib/wfont, use the command
# * cfont <filename>. For further information on fonts see
# * cfont(1) in the PC 7300 documentation.
# */
#
# struct altfdata /* structure for alt font data */
# {
# short altf_slot; /* memory slot number */
# char altf_name[FNSIZE]; /* font name (file name) */
# };
# ldfont()
# {
# int wd; /* window in which altfont will be */
# struct altfdata altf;
# altf.altf_slot=1;
# strcpy(altf.altf_name,ALTFONT);
# for (wd =1; wd < 12; wd++) {
# ioctl(wd, WIOCLFONT,&altf);
# }
# }
#
# (att7300: added :vi:/:ve:/:ic:/<invis> from the BSDI entry,
# they're confirmed by the man page for the System V display---esr)
#
# (untranslatable capabilities removed to fit entry within 1023 bytes)
# (sgr removed to fit entry within 1023 bytes)
# (acsc removed to fit entry within 1023 bytes)
# (terminfo-only capabilities suppressed to fit entry within 1023 bytes)
att7300|unixpc|pc7300|3b1|s4|AT&T UNIX PC Model 7300:\
:am:xo:\
:co#80:it#8:li#24:\
:AL=\E[%dL:DL=\E[%dM:DO=\E[%dB:LE=\E[%dD:RI=\E[%dC:\
:UP=\E[%dA:al=\E[L:bl=^G:bt=\E^I:cd=\E[0J:ce=\E[0K:\
:cl=\E[2J\E[H:cm=\E[%i%d;%dH:cr=^M:dc=\E[P:dl=\E[M:\
:do=\E[B:ei=:ho=\E[H:i1=\017\E[=1w:ic=\E[@:im=:k1=\EOc:\
:k2=\EOd:k3=\EOe:k4=\EOf:k5=\EOg:k6=\EOh:k7=\EOi:k8=\EOj:\
:kD=\ENf:kI=\ENj:kN=\E[U:kP=\E[V:kb=^H:kd=\E[B:kh=\E[H:\
:kl=\E[D:kr=\E[C:ku=\E[A:le=^H:mb=\E[9m:md=\E[1m:\
:me=\E[0;10m:mh=\E[2m:mr=\E[7m:nd=\E[C:nw=\EE:se=\E[m:\
:sf=^J:so=\E[7m:sr=\EM:ue=\E[m:up=\E[A:us=\E[4m:ve=\E[=0C:\
:vi=\E[=1C:
# Sent by Stefan Stapelberg <stefan@rent-a-guru.de>, 24 Feb 1997, this is
# from SGI's terminfo database. SGI's entry shows F9-F12 with the codes
# for the application keypad mode. We have added iris-ansi-ap rather than
# change the original to keypad mode.
#
# (iris-ansi: added rmam/smam based on init string -- esr)
#
# This entry, and those derived from it, is used in xwsh (also known as
# winterm). Some capabilities that do not fit into the terminfo model
# include the shift- and control-functionkeys:
#
# F1-F12 generate different codes when shift or control modifiers are used.
# For example:
# F1 \E[001q
# shift F1 \E[013q
# control-F1 \E[025q
#
# In application keypad mode, F9-F12 generate codes like vt100 PF1-PF4, i.e.,
# \EOP to \EOS. The shifted and control modifiers still do the same thing.
#
# The cursor keys also have different codes:
# control-up \E[162q
# control-down \E[165q
# control-left \E[159q
# control-right \E[168q
#
# shift-up \E[161q
# shift-down \E[164q
# shift-left \E[158q
# shift-right \E[167q
#
# control-tab \[072q
#
iris-ansi|iris-ansi-net|IRIS emulating 40 line ANSI terminal (almost VT100):\
:am:\
:co#80:it#8:li#40:\
:!2=\E[218q:#2=\E[143q:#4=\E[158q:%9=\E[209q:%f=\E[210q:\
:%i=\E[167q:&7=\E[217q:*4=\E[P:*7=\E[147q:@7=\E[146q:\
:@8=^M:AL=\E[%dL:DL=\E[%dM:DO=\E[%dB:F1=\E[011q:\
:F2=\E[012q:LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:SA=\E[?7h:\
:UP=\E[%dA:al=\E[L:bl=^G:cb=\E[1K:cd=\E[J:ce=\E[K:\
:cl=\E[H\E[2J:cm=\E[%i%d;%dH:cr=^M:ct=\E[3g:dl=\E[M:do=^J:\
:ho=\E[H:is=\E[?1l\E>\E[?7h\E[100g\E[0m\E7\E[r\E8:\
:k1=\E[001q:k2=\E[002q:k3=\E[003q:k4=\E[004q:k5=\E[005q:\
:k6=\E[006q:k7=\E[007q:k8=\E[008q:k9=\E[009q:k;=\E[010q:\
:kB=\E[Z:kD=\177:kI=\E[139q:kM=\E[146q:kN=\E[154q:\
:kP=\E[150q:kb=^H:kd=\E[B:kh=\E[H:kl=\E[D:kr=\E[C:ku=\E[A:\
:le=\E[D:md=\E[1m:me=\E[m:mr=\E[7m:nd=\E[C:nw=\EE:\
:pk=\EP101;%d.y%s\E\\:rc=\E8:sc=\E7:se=\E[m:sf=\ED:\
:so=\E[1;7m:sr=\EM:st=\EH:ta=^I:ue=\E[m:up=\E[A:us=\E[4m:\
:ve=\E[9/y\E[12/y\E[=6l:vs=\E[10/y\E[=1h\E[=2l\E[=6h:
iris-ansi-ap|IRIS ANSI in application-keypad mode:\
:@8=\EOM:F1=\E[011q:F2=\E[012q:is=\E[?1l\E=\E[?7h:\
:k9=\E[009q:k;=\E[010q:tc=iris-ansi:
# From the man-page, this is a quasi-vt100 emulator that runs on SGI's IRIX
# (T.Dickey 98/1/24)
iris-color|xwsh|IRIX ANSI with color:\
:NC#33:\
:DC=\E[%dP:IC=\E[%d@:ZH=\E[3m:ZR=\E[23m:cs=\E[%i%d;%dr:\
:ec=\E[%dX:ei=:im=:mh=\E[2m:r1=\Ec:\
:r2=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:rc=\E8:sc=\E7:\
:u6=\E[%i%d;%dR:u7=\E[6n:u8=\E[?1;2c:u9=\E[c:ue=\E[24m:\
:tc=klone+color:tc=iris-ansi-ap:
# The following is a version of the ibm-pc entry distributed with PC/IX,
# (Interactive Systems' System 3 for the Big Blue), modified by Richard
# McIntosh at UCB/CSM. The :pt: and :uc: have been removed from the original,
# (the former is untrue, and the latter failed under UCB/man); standout and
# underline modes have been added. Note: this entry describes the "native"
# capabilities of the PC monochrome display, without ANY emulation; most
# communications packages (but NOT PC/IX connect) do some kind of emulation.
pcix|PC/IX console:\
:am:bw:eo:\
:co#80:li#24:\
:cd=\E[J:ce=\E[K:cl=\Ec:cm=\E[%i%2;%2H:do=\E[B:ho=\E[H:\
:le=^H:me=\E[m:nd=\E[C:se=\E[m:so=\E[7m:ue=\E[m:up=\E[A:\
:us=\E[4m:
# (ibmpcx: this entry used to be known as ibmx.
# It formerly included the following extension capabilities:
# :GC=b:GL=v:GR=t:RT=^J:\
# :GH=\E[196g:GV=\E[179g:\
# :GU=\E[193g:GD=\E[194g:\
# :G1=\E[191g:G2=\E[218g:G3=\E[192g:G4=\E[217g:\
# :CW=\E[E:NU=\E[F:RF=\E[G:RC=\E[H:\
# :WL=\E[K:WR=\E[L:CL=\E[M:CR=\E[N:\
# I renamed GS/GE/WL/WR/CL/CR/PU/PD/HM/EN; also, removed a duplicate
# ":kh=\E[Y:". Added IBM-PC forms characters and highlights, they match
# what was there before. -- esr)
ibmpcx|xenix|ibmx|IBM PC xenix console display:\
:am:bs:ms:\
:co#80:li#25:\
:@7=\E[d:al=\E[L:cd=\E[J:ce=\E[K:cl=^L:cm=\E[%d;%dH:\
:dc=\E[P:dl=\E[M:do=\E[B:ei=:ho=\E[H:ic=\E[@:im=:k1=\E[K:\
:k2=\E[L:k3=\E[M:k4=\E[N:kN=\E[e:kP=\E[Z:kb=^H:kd=\E[B:\
:kh=\E[Y:kl=\E[D:kr=\E[C:ku=\E[A:le=^H:nd=\E[C:up=\E[A:\
:tc=klone+acs:tc=klone+sgr:
#### DEC VT100 and compatibles
#
# DEC terminals from the vt100 forward 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.
#
# In October 1995 DEC sold its terminals business, including the VT and Dorio
# line and trademark, to SunRiver Data Systems. SunRiver has since changed
# its name to Boundless Technologies; see http://www.boundless.com.
#
# 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 :xn: 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
# :xn: right on vt100. The correct way to handle :xn: 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 :xn:
# 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 :is:/:ct:/:st: 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.
#
# The VT100 series terminals have cursor ("arrows") keys which can operate
# in two different modes: Cursor Mode and Application Mode. Cursor Mode
# is the reset state, and is assumed to be the normal state. Application
# Mode is the "set" state. In Cursor Mode, the cursor keys transmit
# "Esc [ {code}" sequences, conforming to ANSI standards. In Application
# Mode, the cursor keys transmit "Esc O <code>" sequences. Application Mode
# was provided primarily as an aid to the porting of VT52 applications. It is
# assumed that the cursor keys are normally in Cursor Mode, and expected that
# applications such as vi will always transmit the :ks: string. Therefore,
# the definitions for the cursor keys are made to match what the terminal
# transmits after the :ks: string is transmitted. If the :ks: string
# is a null string or is not defined, then cursor keys are assumed to be in
# "Cursor Mode", and the cursor keys definitions should match that assumption,
# else the application may fail. It is also expected that applications will
# always transmit the :ke: string to the terminal before they exit.
#
# The VT100 series terminals have an auxiliary keypad, commonly referred to as
# the "Numeric Keypad", because it is a cluster of numeric and function keys.
# The Numeric Keypad which can operate in two different modes: Numeric Mode and
# Application Mode. Numeric Mode is the reset state, and is assumed to be
# the normal state. Application Mode is the "set" state. In Numeric Mode,
# the numeric and punctuation keys transmit ASCII 7-bit characters, and the
# Enter key transmits the same as the Return key (Note: the Return key
# can be configured to send either LF (\015) or CR LF). In Application Mode,
# all the keypad keys transmit "Esc O {code}" sequences. The PF1 - PF4 keys
# always send the same "Esc O {code}" sequences. It is assumed that the keypad
# is normally in Numeric Mode. If an application requires that the keypad be
# in Application Mode then it is expected that the user, or the application,
# will set the TERM environment variable to point to a terminfo entry which has
# defined the :ks: string to include the codes that switch the keypad into
# Application Mode, and the terminfo entry will also define function key
# fields to match the Application Mode control codes. If the :ks: string
# is a null string or is not defined, then the keypad is assumed to be in
# Numeric Mode. If the :ks: string switches the keypad into Application
# Mode, it is expected that the :ke: string will contain the control codes
# necessary to reset the keypad to "Normal" mode, and it is also expected that
# applications which transmit the :ks: string will also always transmit the
# :ke: string to the terminal before they exit.
#
# Here's a diagram of the VT100 keypad keys with their bindings.
# The top line is the name of the key (some DEC keyboards have the keys
# labelled somewhat differently, like GOLD instead of PF1, but this is
# the most "official" name). The second line is the escape sequence it
# generates in Application Keypad mode (where "$" means the ESC
# character). The third line contains two items, first the mapping of
# the key in terminfo, and then in termcap.
# _______________________________________
# | PF1 | PF2 | PF3 | PF4 |
# | $OP | $OQ | $OR | $OS |
# |_kf1__k1_|_kf2__k2_|_kf3__k3_|_kf4__k4_|
# | 7 8 9 - |
# | $Ow | $Ox | $Oy | $Om |
# |_kf9__k9_|_kf10_k;_|_kf0__k0_|_________|
# | 4 | 5 | 6 | , |
# | $Ot | $Ou | $Ov | $Ol |
# |_kf5__k5_|_kf6__k6_|_kf7__k7_|_kf8__k8_|
# | 1 | 2 | 3 | |
# | $Oq | $Or | $Os | enter |
# |_ka1__K1_|_kb2__K2_|_ka3__K3_| $OM |
# | 0 | . | |
# | $Op | $On | |
# |___kc1_______K4____|_kc3__K5_|_kent_@8_|
#
# 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
#
# (vt100: I added <rmam>/<smam> based on the init string, also :bs:. -- esr)
vt100|vt100-am|dec vt100 (w/advanced video):\
:am:bs: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:rc=\E8:rs=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:\
:..sa=\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;m%?%p9%t\016%e\017%;$<2>:\
: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:
vt100-vb|dec vt100 (w/advanced video) & no beep:\
:bl@:vb=\E[?5h\E[?5l:tc=vt100:
# Ordinary vt100 in 132 column ("wide") mode.
vt100-w|vt100-w-am|dec vt100 132 cols (w/advanced video):\
:co#132:li#24:\
:rs=\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@:\
:rs=\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;%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;%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:\
:co#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 :me:
# 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:
# This isn't a DEC entry, it came from University of Wisconsin.
# (vt131: I added <rmam>/<smam> based on the init string, also :bs: -- esr)
vt131|dec vt131:\
:am:bs:xn:\
:co#80:it#8:li#24:vt#3:\
:RA=\E[?7h:SA=\E[?7h:bl=^G:cd=50\E[J:ce=3\E[K:\
:cl=50\E[;H\E[2J:cm=5\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:\
:do=^J:ho=\E[H:is=\E[1;24r\E[24;1H:k1=\EOP:k2=\EOQ:\
:k3=\EOR:k4=\EOS:kb=^H:kd=\EOB:ke=\E[?1l\E>:kl=\EOD:\
:kr=\EOC:ks=\E[?1h\E=:ku=\EOA:le=^H:mb=2\E[5m:md=2\E[1m:\
:me=2\E[m:mr=2\E[7m:nd=2\E[C:nw=^M^J:\
:r1=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:rc=\E8:sc=\E7:\
:se=2\E[m:so=2\E[7m:sr=5\EM:ta=^I:ue=2\E[m:up=2\E[A:\
:us=2\E[4m:
# vt132 - like vt100 but slower and has ins/del line and such.
# I'm told that :im:/:ei: are backwards in the terminal from the
# manual and from the ANSI standard, this describes the actual
# terminal. I've never actually used a vt132 myself, so this
# is untested.
#
vt132|DEC vt132:\
:xn:\
:al=\E[L:dc=\E[P:dl=\E[M:ei=\E[4h:im=\E[4l:ip=:sf=\n:\
:tc=vt100:
# This vt220 description maps F5--F9 to the second block of function keys
# at the top of the keyboard. The "DO" key is used as F10 to avoid conflict
# with the key marked (ESC) on the vt220. See vt220d for an alternate mapping.
# PF1--PF4 are used as F1--F4.
#
vt220-old|vt200-old|DEC VT220 in vt100 emulation mode:\
:am:bs:mi:pt:xn:xo:\
:co#80:li#24:vt#3:\
:@7=\E[4~:RA=\E[?7l:SA=\E[?7h:\
:ac=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\
:ae=\E(B:al=\E[L:as=\E(0:bl=^G:cd=\E[J:ce=\E[K:\
:cl=\E[H\E[2J:cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:\
:dc=\E[P:dl=\E[M:do=\E[B:ei=\E[4l:ho=\E[H:\
:if=/usr/share/tabset/vt100:im=\E[4h:\
:is=\E[1;24r\E[24;1H:k1=\EOP:k2=\EOQ:k3=\EOR:k4=\EOS:\
:k5=\E[17~:k6=\E[18~:k7=\E[19~:k8=\E[20~:k9=\E[21~:\
:k;=\E[29~: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:mb=\E[5m:\
:md=\E[1m:me=\E[m:mr=\E[7m:nd=\E[C:nl=^J:rc=\E8:\
:rf=/usr/share/tabset/vt100:\
:rs=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:\
:..sa=\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p4%t;5%;%?%p1%p3%|%t;7%;m%?%p9%t\E(0%e\E(B%;$<2>:\
:sc=\E7:se=\E[27m:sf=20\ED:so=\E[7m:sr=14\EM:ta=^I:\
:ue=\E[24m:up=\E[A:us=\E[4m:ve=\E[?25h:vi=\E[?25l:
# A much better description of the VT200/220; used to be vt220-8
# changed rmacs/smacs from shift-in/shift-out to vt200-old's explicit G0/G1
# designation to accommodate bug in pcvt -TD
# (untranslatable capabilities removed to fit entry within 1023 bytes)
# (sgr removed to fit entry within 1023 bytes)
# (acsc removed to fit entry within 1023 bytes)
vt220|vt200|dec vt220:\
:5i:am:bs:mi:ms:xn:xo:\
:co#80:it#8:li#24:vt#3:\
:%0=\E[29~:%1=\E[28~:*6=\E[4~:@0=\E[1~:AL=\E[%dL:\
:DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:F1=\E[23~:F2=\E[24~:\
:F3=\E[25~:F4=\E[26~:F7=\E[31~:F8=\E[32~:F9=\E[33~:\
:FA=\E[34~:IC=\E[%d@:LE=\E[%dD:RA=\E[?7l:RI=\E[%dC:\
:SA=\E[?7h:UP=\E[%dA:ae=\E(B:al=\E[L:as=\E(0: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:dc=\E[P:dl=\E[M:do=^J:\
:eA=\E)0:ec=\E[%dX:ei=\E[4l:ho=\E[H:\
:if=/usr/share/tabset/vt100:im=\E[4h:\
:is=\E[?7h\E[>\E[?1h\E F\E[?4l:k1=\EOP:k2=\EOQ:k3=\EOR:\
:k4=\EOS:k6=\E[17~:k7=\E[18~:k8=\E[19~:k9=\E[20~:\
:k;=\E[21~:kI=\E[2~:kN=\E[6~:kP=\E[5~:kb=^H:kd=\E[B:\
:kh=\E[H:kl=\E[D:kr=\E[C:ku=\E[A:l1=pf1:l2=pf2:l3=pf3:\
:l4=pf4:le=^H:mb=\E[5m:md=\E[1m:me=\E[m:mr=\E[7m:nd=\E[C:\
:nw=\EE:pf=\E[4i:po=\E[5i:ps=\E[i:r1=\E[?3l:rc=\E8:sc=\E7:\
:se=\E[27m:sf=\ED:so=\E[7m:sr=\EM:st=\EH:ta=^I:ue=\E[24m:\
:up=\E[A:us=\E[4m:vb=\E[?5h\E[?5l:
vt220-w|vt200-w|DEC vt220 in wide mode:\
:co#132:\
:r3=\E[?3h:tc=vt220:
# (untranslatable capabilities removed to fit entry within 1023 bytes)
# (sgr removed to fit entry within 1023 bytes)
# (acsc removed to fit entry within 1023 bytes)
# (terminfo-only capabilities suppressed to fit entry within 1023 bytes)
vt220-8bit|vt220-8|vt200-8bit|vt200-8|dec vt220/200 in 8-bit mode:\
:am:bs:mi:ms:xn:xo:\
:co#80:it#8:li#24:vt#3:\
:AL=\233%dL:DC=\233%dP:DL=\233%dM:DO=\233%dB:IC=\233%d@:\
:LE=\233%dD:RI=\233%dC:UP=\233%dA:ae=^O:al=\233L:as=^N:\
:bl=^G:cd=\233J:ce=\233K:cl=\233H\233J:cm=\233%i%d;%dH:\
:cr=^M:cs=\233%i%d;%dr:ct=\2333g:dc=\233P:dl=\233M:do=^J:\
:ec=\233%dX:ei=\2334l:ho=\233H:\
:if=/usr/share/tabset/vt100:im=\2334h:\
:is=\233?7h\233>\233?1h\E F\233?4l:k1=\EOP:k2=\EOQ:\
:k3=\EOR:k4=\EOS:k6=\23317~:k7=\23318~:k8=\23319~:\
:k9=\23320~:kI=\2332~:kN=\2336~:kP=\2335~:kb=^H:kd=\233B:\
:kh=\233H:kl=\233D:kr=\233C:ku=\233A:le=^H:mb=\2335m:\
:md=\2331m:me=\233m:mr=\2337m:nd=\233C:nw=\EE:rc=\E8:\
:sc=\E7:se=\23327m:sf=\ED:so=\2337m:sr=\EM:st=\EH:ta=^I:\
:ue=\23324m:up=\233A:us=\2334m:vb=\233?5h\233?5l:
#
# vt220d:
# This vt220 description regards F6--F10 as the second block of function keys
# at the top of the keyboard. This mapping follows the description given
# in the VT220 Programmer Reference Manual and agrees with the labeling
# on some terminals that emulate the vt220. There is no support for an F5.
# See vt220 for an alternate mapping.
#
vt220d|DEC VT220 in vt100 mode with DEC function key labeling:\
: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~:k5@:\
:k6=\E[17~:k7=\E[18~:k8=\E[19~:k9=\E[20~:k;=\E[21~:\
:tc=vt220-old:
vt220-nam|v200-nam|VT220 in vt100 mode with no auto margins:\
:am@:\
:rs=\E>\E[?3l\E[?4l\E[?5l\E[?7l\E[?8h:tc=vt220:
# vt220 termcap written Tue Oct 25 20:41:10 1988 by Alex Latzko
# (not an official DEC entry!)
# The problem with real vt220 terminals is they don't send escapes when in
# in vt220 mode. This can be gotten around two ways. 1> don't send
# escapes or 2> put the vt220 into vt100 mode and use all the nifty
# features of vt100 advanced video which it then has.
#
# This entry takes the view of putting a vt220 into vt100 mode so
# you can use the escape key in emacs and everything else which needs it.
#
# You probably don't want to use this on a VMS machine since VMS will think
# it has a vt220 and will get fouled up coming out of emacs
#
# From: Alexander Latzko <latzko@marsenius.rutgers.edu>, 30 Dec 1996
# (Added vt100 :rc:,:sc: to quiet a tic warning -- esr)
vt200-js|vt220-js|dec vt200 series with jump scroll:\
:am:\
:co#80:\
:al=\E[L:bl=^G:cd=\E[J:ce=\E[K:cl=\E[H\E[J:cm=\E[%i%d;%dH:\
:cr=^M:cs=\E[%i%d;%dr:dc=\E[P:dl=\E[M:dm=:do=^J:ed=:\
:ei=\E[4l:ho=\E[H:im=\E[4h:\
:is=\E[61"p\E[H\E[?3l\E[?4l\E[?1l\E[?5l\E[?6l\E[?7h\E[?8h\E[?25h\E>\E[m:\
:k1=\EOP:k2=\EOQ:k3=\EOR:k4=\EOS:kb=^H:kd=\EOB:\
:ke=\E[?1l\E>:kl=\EOD:kr=\EOC:ks=\E[?1h\E=:ku=\EOA:le=^H:\
:nw=^M\ED:r1=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:rc=\E8:\
:rf=/usr/lib/tabset/vt100:sc=\E7:se=5\E[27m:sf=\ED:\
:so=5\E[7m:sr=\EM:ta=^I:ue=\E[24m:up=\E[A:us=\E[4m:
# This was DEC's vt320. Use the purpose-built one below instead
#vt320|DEC VT320 in vt100 emulation mode,
# use=vt220,
#
# Use v320n for SCO's LYRIX. Otherwise, use Adam Thompson's vt320-nam.
#
vt320nam|v320n|DEC VT320 in vt100 emul. mode with NO AUTO WRAP mode:\
:am@:\
:rs=\E>\E[?3l\E[?4l\E[?5l\E[?7l\E[?8h:tc=vt220: