113cfc972SYuri Pankov######## TERMINAL TYPE DESCRIPTIONS SOURCE FILE
213cfc972SYuri Pankov#
313cfc972SYuri Pankov# This version of terminfo.src is distributed with ncurses and is maintained
413cfc972SYuri Pankov# by Thomas E. Dickey (TD).
513cfc972SYuri Pankov#
613cfc972SYuri Pankov# Report bugs and new terminal descriptions to
713cfc972SYuri Pankov#	bug-ncurses@gnu.org
813cfc972SYuri Pankov#
913cfc972SYuri Pankov#	$Revision: 1.399 $
1013cfc972SYuri Pankov#	$Date: 2011/08/20 20:52:51 $
1113cfc972SYuri Pankov#
1213cfc972SYuri Pankov# The original header is preserved below for reference.  It is noted that there
1313cfc972SYuri Pankov# is a "newer" version which differs in some cosmetic details (but actually
1413cfc972SYuri Pankov# stopped updates several years ago); we have decided to not change the header
1513cfc972SYuri Pankov# unless there is also a change in content.
1613cfc972SYuri Pankov#
1713cfc972SYuri Pankov# To further muddy the waters, it is noted that changes to this file as part of
1813cfc972SYuri Pankov# maintenance of ncurses (since 1996) are generally conceded to be copyright
1913cfc972SYuri Pankov# under the ncurses MIT-style license.  That was the effect of the agreement
2013cfc972SYuri Pankov# which the principal authors of ncurses made in 1998.  However, since much of
2113cfc972SYuri Pankov# the file itself is of unknown authorship (and the disclaimer below makes it
2213cfc972SYuri Pankov# obvious that Raymond cannot or will not convey rights over those parts),
2313cfc972SYuri Pankov# there is no explicit copyright notice on the file itself.
2413cfc972SYuri Pankov#
2513cfc972SYuri Pankov# It would also be a nuisance to split the file into unknown/known authorship
2613cfc972SYuri Pankov# and move pieces as they are maintained, since many of the maintenance changes
2713cfc972SYuri Pankov# have been small corrections to Raymond's translations to/from termcap format,
2813cfc972SYuri Pankov# correcting the data but not the accompanying annotations.
2913cfc972SYuri Pankov#
3013cfc972SYuri Pankov# In any case, note that almost half of this file is not data but annotations
3113cfc972SYuri Pankov# which reflect creative effort.  Furthermore, the structure of entries to
3213cfc972SYuri Pankov# reuse common chunks also is creative (and subject to copyright).  Finally,
3313cfc972SYuri Pankov# some portions of the data are derivative work under a compatible MIT-style
3413cfc972SYuri Pankov# license from xterm.
3513cfc972SYuri Pankov#
3613cfc972SYuri Pankov#------------------------------------------------------------------------------
3713cfc972SYuri Pankov#	Version 10.2.1
3813cfc972SYuri Pankov#	terminfo syntax
3913cfc972SYuri Pankov#
4013cfc972SYuri Pankov#	Eric S. Raymond		(current maintainer)
4113cfc972SYuri Pankov#	John Kunze, Berkeley
4213cfc972SYuri Pankov#	Craig Leres, Berkeley
4313cfc972SYuri Pankov#
4413cfc972SYuri Pankov# Please e-mail changes to terminfo@thyrsus.com; the old termcap@berkeley.edu
4513cfc972SYuri Pankov# address is no longer valid.  The latest version can always be found at
4613cfc972SYuri Pankov# <http://www.tuxedo.org/terminfo>.
4713cfc972SYuri Pankov#
4813cfc972SYuri Pankov# PURPOSE OF THIS FILE:
4913cfc972SYuri Pankov#
5013cfc972SYuri Pankov# This file describes the capabilities of various character-cell terminals,
5113cfc972SYuri Pankov# as needed by software such as screen-oriented editors.
5213cfc972SYuri Pankov#
5313cfc972SYuri Pankov# Other terminfo and termcap files exist, supported by various OS vendors
5413cfc972SYuri Pankov# or as relics of various older versions of UNIX.  This one is the longest
5513cfc972SYuri Pankov# and most comprehensive one in existence.  It subsumes not only the entirety
5613cfc972SYuri Pankov# of the historical 4.4BSD, GNU, System V and SCO termcap files and the BRL
5713cfc972SYuri Pankov# termcap file, but also large numbers of vendor-maintained termcap and
5813cfc972SYuri Pankov# terminfo entries more complete and carefully tested than those in historical
5913cfc972SYuri Pankov# termcap/terminfo versions.
6013cfc972SYuri Pankov#
6113cfc972SYuri Pankov# Pointers to related resources (including the ncurses distribution) may
6213cfc972SYuri Pankov# be found at <http://www.tuxedo.org/terminfo>.
6313cfc972SYuri Pankov#
6413cfc972SYuri Pankov# INTERNATIONALIZATION:
6513cfc972SYuri Pankov#
6613cfc972SYuri Pankov# This file uses only the US-ASCII character set (no ISO8859 characters).
6713cfc972SYuri Pankov#
6813cfc972SYuri Pankov# This file assumes a US-ASCII character set. If you need to fix this, start
6913cfc972SYuri Pankov# by global-replacing \E(B and \E)B with the appropriate ISO 6429 enablers
7013cfc972SYuri Pankov# for your character set.  \E(A and \E)A enables the British character set
7113cfc972SYuri Pankov# with the pound sign at position 2/3.
7213cfc972SYuri Pankov#
7313cfc972SYuri Pankov# In a Japanese-processing environment using EUC/Japanese or Shift-JIS,
7413cfc972SYuri Pankov# C1 characters are considered the first-byte set of the Japanese encodings,
7513cfc972SYuri Pankov# so \E)0 should be avoided in <enacs> and initialization strings.
7613cfc972SYuri Pankov#
7713cfc972SYuri Pankov# FILE FORMAT:
7813cfc972SYuri Pankov#
7913cfc972SYuri Pankov# The version you are looking at may be in any of three formats: master
8013cfc972SYuri Pankov# (terminfo with OT capabilities), stock terminfo, or termcap.  You can tell
8113cfc972SYuri Pankov# which by the format given in the header above.
8213cfc972SYuri Pankov#
8313cfc972SYuri Pankov# The master format is accepted and generated by the terminfo tools in the
8413cfc972SYuri Pankov# ncurses suite; it differs from stock (System V-compatible) terminfo only
8513cfc972SYuri Pankov# in that it admits a group of capabilities (prefixed `OT') equivalent to
8613cfc972SYuri Pankov# various obsolete termcap capabilities.  You can, thus, convert from master
8713cfc972SYuri Pankov# to stock terminfo simply by filtering with `sed "/OT[^,]*,/s///"'; but if
8813cfc972SYuri Pankov# you have ncurses `tic -I' is nicer (among other things, it automatically
8913cfc972SYuri Pankov# outputs entries in a canonical form).
9013cfc972SYuri Pankov#
9113cfc972SYuri Pankov# The termcap version is generated automatically from the master version
9213cfc972SYuri Pankov# using tic -C.  This filtering leaves in the OT capabilities under their
9313cfc972SYuri Pankov# original termcap names.  All translated entries fit within the 1023-byte
9413cfc972SYuri Pankov# string-table limit of archaic termcap libraries except where explicitly
9513cfc972SYuri Pankov# noted below.  Note that the termcap translation assumes that your termcap
9613cfc972SYuri Pankov# library can handle multiple tc capabilities in an entry. 4.4BSD has this
9713cfc972SYuri Pankov# capability.  Older versions of GNU termcap, through 1.3, do not.
9813cfc972SYuri Pankov#
9913cfc972SYuri Pankov# For details on these formats, see terminfo(5) in the ncurses distribution,
10013cfc972SYuri Pankov# and termcap(5) in the 4.4BSD Unix Programmer's Manual.  Be aware that 4.4BSD
10113cfc972SYuri Pankov# curses has been declared obsolete by the caretakers of the 4.4BSD sources
10213cfc972SYuri Pankov# as of June 1995; they are encouraging everyone to migrate to ncurses.
10313cfc972SYuri Pankov#
10413cfc972SYuri Pankov# Note: unlike some other distributed terminfo files (Novell Unix & SCO's),
10513cfc972SYuri Pankov# no entry in this file has embedded comments.  This is so source translation
10613cfc972SYuri Pankov# to termcap only has to carry over leading comments.  Also, no name field
10713cfc972SYuri Pankov# contains embedded whitespace (such whitespace confuses rdist).
10813cfc972SYuri Pankov#
10913cfc972SYuri Pankov# Further note: older versions of this file were often installed with an editor
11013cfc972SYuri Pankov# script (reorder) that moved the most common terminal types to the front of
11113cfc972SYuri Pankov# the file.  This should no longer be necessary, as the file is now ordered
11213cfc972SYuri Pankov# roughly by type frequency with ANSI/VT100 and other common types up front.
11313cfc972SYuri Pankov#
11413cfc972SYuri Pankov# Some information has been merged in from terminfo files distributed by
11513cfc972SYuri Pankov# USL and SCO (see COPYRIGHTS AND OTHER DELUSIONS below).  Much information
11613cfc972SYuri Pankov# comes from vendors who maintain official terminfos for their hardware
11713cfc972SYuri Pankov# (notably DEC and Wyse).
11813cfc972SYuri Pankov#
11913cfc972SYuri Pankov# A detailed change history is included at the end of this file.
12013cfc972SYuri Pankov#
12113cfc972SYuri Pankov# FILE ORGANIZATION:
12213cfc972SYuri Pankov#
12313cfc972SYuri Pankov# Comments in this file begin with # - they cannot appear in the middle
12413cfc972SYuri Pankov# of a terminfo/termcap entry (this feature had to be sacrificed in order
12513cfc972SYuri Pankov# to allow standard terminfo and termcap syntax to be generated cleanly from
12613cfc972SYuri Pankov# the master format).  Individual capabilities are commented out by
12713cfc972SYuri Pankov# placing a period between the colon and the capability name.
12813cfc972SYuri Pankov#
12913cfc972SYuri Pankov# The file is divided up into major sections (headed by lines beginning with
13013cfc972SYuri Pankov# the string "########") and minor sections (beginning with "####"); do
13113cfc972SYuri Pankov#
13213cfc972SYuri Pankov#	grep "^####" <file> | more
13313cfc972SYuri Pankov#
13413cfc972SYuri Pankov# to see a listing of section headings.  The intent of the divisions is
13513cfc972SYuri Pankov# (a) to make it easier to find things, and (b) to order the database so
13613cfc972SYuri Pankov# that important and frequently-encountered terminal types are near the
13713cfc972SYuri Pankov# front (so that you'll get reasonable search efficiency from a linear
13813cfc972SYuri Pankov# search of the termcap form even if you don't use reorder).  Minor sections
13913cfc972SYuri Pankov# usually correspond to manufacturers or standard terminal classes.
14013cfc972SYuri Pankov# Parenthesized words following manufacturer names are type prefixes or
14113cfc972SYuri Pankov# product line names used by that manufacturers.
14213cfc972SYuri Pankov#
14313cfc972SYuri Pankov# HOW TO READ THE ENTRIES:
14413cfc972SYuri Pankov#
14513cfc972SYuri Pankov# The first name in an entry is the canonical name for the model or
14613cfc972SYuri Pankov# type, last entry is a verbose description.  Others are mnemonic synonyms for
14713cfc972SYuri Pankov# the terminal.
14813cfc972SYuri Pankov#
14913cfc972SYuri Pankov# Terminal names look like <manufacturer> <model> - <modes/options>
15013cfc972SYuri Pankov# The part to the left of the dash, if a dash is present, describes the
15113cfc972SYuri Pankov# particular hardware of the terminal.  The part to the right may be used
15213cfc972SYuri Pankov# for flags indicating special ROMs, extra memory, particular terminal modes,
15313cfc972SYuri Pankov# or user preferences.
15413cfc972SYuri Pankov#
15513cfc972SYuri Pankov# All names should be in lower case, for consistency in typing.
15613cfc972SYuri Pankov#
15713cfc972SYuri Pankov# The following are conventionally used suffixes:
15813cfc972SYuri Pankov#	-2p	Has two pages of memory.  Likewise 4p, 8p, etc.
15913cfc972SYuri Pankov#	-am	Enable auto-margin.
16013cfc972SYuri Pankov#	-m	Monochrome.  Suppress color support
16113cfc972SYuri Pankov#	-mc	Magic-cookie.  Some terminals (notably older Wyses) can
16213cfc972SYuri Pankov#		only support one attribute without magic-cookie lossage.
16313cfc972SYuri Pankov#		Their base entry is usually paired with another that
16413cfc972SYuri Pankov#		uses magic cookies to support multiple attributes.
16513cfc972SYuri Pankov#	-nam	No auto-margin - suppress <am> capability
16613cfc972SYuri Pankov#	-nl	No labels - suppress soft labels
16713cfc972SYuri Pankov#	-ns	No status line - suppress status line
16813cfc972SYuri Pankov#	-rv	Terminal in reverse video mode (black on white)
16913cfc972SYuri Pankov#	-s	Enable status line.
17013cfc972SYuri Pankov#	-vb	Use visible bell (<flash>) rather than <bel>.
17113cfc972SYuri Pankov#	-w	Wide - in 132 column mode.
17213cfc972SYuri Pankov# If a name has multiple suffixes and one is a line height, that one should
17313cfc972SYuri Pankov# go first.  Thus `aaa-30-s-rv' is recommended over `aaa-s-rv-30'.
17413cfc972SYuri Pankov#
17513cfc972SYuri Pankov# Entries with embedded plus signs are designed to be included through use/tc
17613cfc972SYuri Pankov# capabilities, not used as standalone entries.
17713cfc972SYuri Pankov#
17813cfc972SYuri Pankov# To avoid search clashes, some older all-numeric names for terminals have
17913cfc972SYuri Pankov# been removed (i.e., "33" for the Model 33 Teletype, "2621" for the HP2621).
18013cfc972SYuri Pankov# All primary names of terminals now have alphanumeric prefixes.
18113cfc972SYuri Pankov#
18213cfc972SYuri Pankov# Comments marked "esr" are mostly results of applying the termcap-compiler
18313cfc972SYuri Pankov# code packaged with ncurses and contemplating the resulting error messages.
18413cfc972SYuri Pankov# In many cases, these indicated obvious fixes to syntax garbled by the
18513cfc972SYuri Pankov# composers.  In a few cases, I was able to deduce corrected forms for garbled
18613cfc972SYuri Pankov# capabilities by looking at context.  All the information in the original
18713cfc972SYuri Pankov# entries is preserved in the comments.
18813cfc972SYuri Pankov#
18913cfc972SYuri Pankov# In the comments, terminfo capability names are bracketed with <> (angle
19013cfc972SYuri Pankov# brackets).  Termcap capability names are bracketed with :: (colons).
19113cfc972SYuri Pankov#
19213cfc972SYuri Pankov# INTERPRETATION OF USER CAPABILITIES
19313cfc972SYuri Pankov#
19413cfc972SYuri Pankov# The System V Release 4 and XPG4 terminfo format defines ten string
19513cfc972SYuri Pankov# capabilities for use by applications, <u0>...<u9>.   In this file, we use
19613cfc972SYuri Pankov# certain of these capabilities to describe functions which are not covered
19713cfc972SYuri Pankov# by terminfo.  The mapping is as follows:
19813cfc972SYuri Pankov#
19913cfc972SYuri Pankov#	u9	terminal enquire string (equiv. to ANSI/ECMA-48 DA)
20013cfc972SYuri Pankov#	u8	terminal answerback description
20113cfc972SYuri Pankov#	u7	cursor position request (equiv. to VT100/ANSI/ECMA-48 DSR 6)
20213cfc972SYuri Pankov#	u6	cursor position report (equiv. to ANSI/ECMA-48 CPR)
20313cfc972SYuri Pankov#
20413cfc972SYuri Pankov# The terminal enquire string <u9> should elicit an answerback response
20513cfc972SYuri Pankov# from the terminal.  Common values for <u9> will be ^E (on older ASCII
20613cfc972SYuri Pankov# terminals) or \E[c (on newer VT100/ANSI/ECMA-48-compatible terminals).
20713cfc972SYuri Pankov#
20813cfc972SYuri Pankov# The cursor position request (<u7>) string should elicit a cursor position
20913cfc972SYuri Pankov# report.  A typical value (for VT100 terminals) is \E[6n.
21013cfc972SYuri Pankov#
21113cfc972SYuri Pankov# The terminal answerback description (u8) must consist of an expected
21213cfc972SYuri Pankov# answerback string.  The string may contain the following scanf(3)-like
21313cfc972SYuri Pankov# escapes:
21413cfc972SYuri Pankov#
21513cfc972SYuri Pankov#	%c	Accept any character
21613cfc972SYuri Pankov#	%[...]	Accept any number of characters in the given set
21713cfc972SYuri Pankov#
21813cfc972SYuri Pankov# The cursor position report (<u6>) string must contain two scanf(3)-style
21913cfc972SYuri Pankov# %d format elements.  The first of these must correspond to the Y coordinate
22013cfc972SYuri Pankov# and the second to the %d.  If the string contains the sequence %i, it is
22113cfc972SYuri Pankov# taken as an instruction to decrement each value after reading it (this is
22213cfc972SYuri Pankov# the inverse sense from the cup string).  The typical CPR value is
22313cfc972SYuri Pankov# \E[%i%d;%dR (on VT100/ANSI/ECMA-48-compatible terminals).
22413cfc972SYuri Pankov#
22513cfc972SYuri Pankov# These capabilities are used by tack(1m), the terminfo action checker
22613cfc972SYuri Pankov# (distributed with ncurses 5.0).
22713cfc972SYuri Pankov#
22813cfc972SYuri Pankov# TABSET FILES
22913cfc972SYuri Pankov#
23013cfc972SYuri Pankov# All the entries in this file have been edited to assume that the tabset
23113cfc972SYuri Pankov# files directory is /usr/share/tabset, in conformance with the File Hierarchy
23213cfc972SYuri Pankov# Standard for Linux and open-source BSD systems.  Some vendors (notably Sun)
23313cfc972SYuri Pankov# use /usr/lib/tabset or (more recently) /usr/share/lib/tabset.
23413cfc972SYuri Pankov#
23513cfc972SYuri Pankov# No curses package we know of actually uses these files.  If their location
23613cfc972SYuri Pankov# is an issue, you will have to hand-patch the file locations before compiling
23713cfc972SYuri Pankov# this file.
23813cfc972SYuri Pankov#
23913cfc972SYuri Pankov# REQUEST FOR CONTACT INFORMATION AND HISTORICAL MATERIAL
24013cfc972SYuri Pankov#
24113cfc972SYuri Pankov# As the ANSI/ECMA-48 standard and variants take firmer hold, and as
24213cfc972SYuri Pankov# character-cell terminals are increasingly replaced by X displays, much of
24313cfc972SYuri Pankov# this file is becoming a historical document (this is part of the reason for
24413cfc972SYuri Pankov# the new organization, which puts ANSI types, xterm, Unix consoles,
24513cfc972SYuri Pankov# and vt100 up front in confidence that this will catch 95% of new hardware).
24613cfc972SYuri Pankov#
24713cfc972SYuri Pankov# For the terminal types still alive, I'd like to have manufacturer's
24813cfc972SYuri Pankov# contact data (Internet address and/or snail-mail + phone).
24913cfc972SYuri Pankov#
25013cfc972SYuri Pankov# I'm also interested in enriching the comments so that the latter portions of
25113cfc972SYuri Pankov# the file do in fact become a potted history of VDT technology as seen by
25213cfc972SYuri Pankov# UNIX hackers.  Ideally, I'd like the headers for each manufacturer to
25313cfc972SYuri Pankov# include its live/dead/out-of-the-business status, and for as many
25413cfc972SYuri Pankov# terminal types as possible to be tagged with information like years
25513cfc972SYuri Pankov# of heaviest use, popularity, and interesting features.
25613cfc972SYuri Pankov#
25713cfc972SYuri Pankov# I'm especially interested in identifying the obscure entries listed under
25813cfc972SYuri Pankov# `Miscellaneous obsolete terminals, manufacturers unknown' before the tribal
25913cfc972SYuri Pankov# wisdom about them gets lost.  If you know a lot about obscure old terminals,
26013cfc972SYuri Pankov# please go to the terminfo resource page, grab the UFO file (ufo.ti), and
26113cfc972SYuri Pankov# eyeball it for things you can identify and describe.
26213cfc972SYuri Pankov#
26313cfc972SYuri Pankov# If you have been around long enough to contribute, please read the file
26413cfc972SYuri Pankov# with this in mind and send me your annotations.
26513cfc972SYuri Pankov#
26613cfc972SYuri Pankov# COPYRIGHTS AND OTHER DELUSIONS
26713cfc972SYuri Pankov#
26813cfc972SYuri Pankov# The BSD ancestor of this file had a standard Regents of the University of
26913cfc972SYuri Pankov# California copyright with dates from 1980 to 1993.
27013cfc972SYuri Pankov#
27113cfc972SYuri Pankov# Some information has been merged in from a terminfo file SCO distributes.
27213cfc972SYuri Pankov# It has an obnoxious boilerplate copyright which I'm ignoring because they
27313cfc972SYuri Pankov# took so much of the content from the ancestral BSD versions of this file
27413cfc972SYuri Pankov# and didn't attribute it, thereby violating the BSD Regents' copyright.
27513cfc972SYuri Pankov#
27613cfc972SYuri Pankov# Not that anyone should care.  However many valid functions copyrights may
27713cfc972SYuri Pankov# serve, putting one on a termcap/terminfo file with hundreds of anonymous
27813cfc972SYuri Pankov# contributors makes about as much sense as copyrighting a wall-full of
27913cfc972SYuri Pankov# graffiti -- it's legally dubious, ethically bogus, and patently ridiculous.
28013cfc972SYuri Pankov#
28113cfc972SYuri Pankov# This file deliberately has no copyright.  It belongs to no one and everyone.
28213cfc972SYuri Pankov# If you claim you own it, you will merely succeed in looking like a fool.
28313cfc972SYuri Pankov# Use it as you like.  Use it at your own risk.  Copy and redistribute freely.
28413cfc972SYuri Pankov# There are no guarantees anywhere.  Svaha!
28513cfc972SYuri Pankov#
28613cfc972SYuri Pankov
28713cfc972SYuri Pankov######## ANSI, UNIX CONSOLE, AND SPECIAL TYPES
28813cfc972SYuri Pankov#
28913cfc972SYuri Pankov# This section describes terminal classes and brands that are still
29013cfc972SYuri Pankov# quite common.
29113cfc972SYuri Pankov#
29213cfc972SYuri Pankov
29313cfc972SYuri Pankov#### Specials
29413cfc972SYuri Pankov#
29513cfc972SYuri Pankov# Special "terminals".  These are used to label tty lines when you don't
29613cfc972SYuri Pankov# know what kind of terminal is on it.  The characteristics of an unknown
29713cfc972SYuri Pankov# terminal are the lowest common denominator - they look about like a ti 700.
29813cfc972SYuri Pankov#
29913cfc972SYuri Pankov
30013cfc972SYuri Pankovdumb|80-column dumb tty,
30113cfc972SYuri Pankov	am,
30213cfc972SYuri Pankov	cols#80,
30313cfc972SYuri Pankov	bel=^G, cr=^M, cud1=^J, ind=^J,
30413cfc972SYuri Pankovunknown|unknown terminal type,
30513cfc972SYuri Pankov	gn, use=dumb,
30613cfc972SYuri Pankovlpr|printer|line printer,
30713cfc972SYuri Pankov	OTbs, hc, os,
30813cfc972SYuri Pankov	cols#132, lines#66,
30913cfc972SYuri Pankov	bel=^G, cr=^M, cub1=^H, cud1=^J, ff=^L, ind=^J,
31013cfc972SYuri Pankovglasstty|classic glass tty interpreting ASCII control characters,
31113cfc972SYuri Pankov	OTbs, am,
31213cfc972SYuri Pankov	cols#80,
31313cfc972SYuri Pankov	bel=^G, clear=^L, cr=^M, cub1=^H, cud1=^J, ht=^I, kcub1=^H,
31413cfc972SYuri Pankov	kcud1=^J, nel=^M^J, .kbs=^H,
31513cfc972SYuri Pankov
31613cfc972SYuri Pankovvanilla|dumb tty,
31713cfc972SYuri Pankov	OTbs,
31813cfc972SYuri Pankov	bel=^G, cr=^M, cud1=^J, ind=^J,
31913cfc972SYuri Pankov
32013cfc972SYuri Pankov# This is almost the same as "dumb", but with no prespecified width.
32113cfc972SYuri Pankov# DEL and ^C are hardcoded to act as kill characters.
32213cfc972SYuri Pankov# ^D acts as a line break (just like newline).
32313cfc972SYuri Pankov# It also interprets
32413cfc972SYuri Pankov#      \033];xxx\007
32513cfc972SYuri Pankov# for compatibility with xterm -TD
32613cfc972SYuri Pankov9term|Plan9 terminal emulator for X,
32713cfc972SYuri Pankov	am,
32813cfc972SYuri Pankov	OTnl=^J, bel=^G, cud1=^J,
32913cfc972SYuri Pankov
33013cfc972SYuri Pankov#### ANSI.SYS/ISO 6429/ECMA-48 Capabilities
33113cfc972SYuri Pankov#
33213cfc972SYuri Pankov# See the end-of-file comment for more on these.
33313cfc972SYuri Pankov#
33413cfc972SYuri Pankov
33513cfc972SYuri Pankov# ANSI capabilities are broken up into pieces, so that a terminal
33613cfc972SYuri Pankov# implementing some ANSI subset can use many of them.
33713cfc972SYuri Pankovansi+local1,
33813cfc972SYuri Pankov	cub1=\E[D, cud1=\E[B, cuf1=\E[C, cuu1=\E[A,
33913cfc972SYuri Pankovansi+local,
34013cfc972SYuri Pankov	cub=\E[%p1%dD, cud=\E[%p1%dB, cuf=\E[%p1%dC,
34113cfc972SYuri Pankov	cuu=\E[%p1%dA, use=ansi+local1,
34213cfc972SYuri Pankovansi+tabs,
34313cfc972SYuri Pankov	cbt=\E[Z, ht=^I, hts=\EH, tbc=\E[3g,
34413cfc972SYuri Pankovansi+inittabs,
34513cfc972SYuri Pankov	it#8, use=ansi+tabs,
34613cfc972SYuri Pankovansi+erase,
34713cfc972SYuri Pankov	clear=\E[H\E[J, ed=\E[J, el=\E[K,
34813cfc972SYuri Pankovansi+rca,
34913cfc972SYuri Pankov	hpa=\E[%p1%{1}%+%dG, vpa=\E[%p1%{1}%+%dd,
35013cfc972SYuri Pankovansi+cup,
35113cfc972SYuri Pankov	cup=\E[%i%p1%d;%p2%dH, home=\E[H,
35213cfc972SYuri Pankovansi+rep,
35313cfc972SYuri Pankov	rep=%p1%c\E[%p2%{1}%-%db,
35413cfc972SYuri Pankovansi+idl1,
35513cfc972SYuri Pankov	dl1=\E[M, il1=\E[L,
35613cfc972SYuri Pankovansi+idl,
35713cfc972SYuri Pankov	dl=\E[%p1%dM, il=\E[%p1%dL, use=ansi+idl1,
35813cfc972SYuri Pankovansi+idc,
35913cfc972SYuri Pankov	dch1=\E[P, ich=\E[%p1%d@, ich1=\E[@, rmir=\E6, smir=\E6,
36013cfc972SYuri Pankovansi+arrows,
36113cfc972SYuri Pankov	kbs=^H, kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A,
36213cfc972SYuri Pankov	khome=\E[H,
36313cfc972SYuri Pankovansi+sgr|ansi graphic renditions,
36413cfc972SYuri Pankov	blink=\E[5m, invis=\E[8m, rev=\E[7m,
36513cfc972SYuri Pankov	sgr=\E[0%?%p3%t;7%;%?%p4%t;5%;%?%p7%t;8%;m,
36613cfc972SYuri Pankov	sgr0=\E[0m,
36713cfc972SYuri Pankovansi+sgrso|ansi standout only,
36813cfc972SYuri Pankov	rmso=\E[m, smso=\E[7m,
36913cfc972SYuri Pankovansi+sgrul|ansi underline only,
37013cfc972SYuri Pankov	rmul=\E[m, smul=\E[4m,
37113cfc972SYuri Pankovansi+sgrbold|ansi graphic renditions; assuming terminal has bold; not dim,
37213cfc972SYuri Pankov	bold=\E[1m,
37313cfc972SYuri Pankov	sgr=\E[%?%p1%t7;%;%?%p2%t4;%;%?%p3%t7;%;%?%p4%t5;%;%?%p6%t1;%;%?%p7%t8;%;m,
37413cfc972SYuri Pankov	use=ansi+sgr, use=ansi+sgrso, use=ansi+sgrul,
37513cfc972SYuri Pankovansi+sgrdim|ansi graphic renditions; assuming terminal has dim; not bold,
37613cfc972SYuri Pankov	dim=\E[2m,
37713cfc972SYuri Pankov	sgr=\E[%?%p1%t7;%;%?%p2%t4;%;%?%p3%t7;%;%?%p4%t5;%;%?%p5%t2;%;%?%p7%t8;%;m,
37813cfc972SYuri Pankov	use=ansi+sgr, use=ansi+sgrso, use=ansi+sgrul,
37913cfc972SYuri Pankovansi+pp|ansi printer port,
38013cfc972SYuri Pankov	mc0=\E[0i, mc4=\E[4i, mc5=\E[5i,
38113cfc972SYuri Pankovansi+csr|ansi scroll-region plus cursor save & restore,
38213cfc972SYuri Pankov	csr=\E[%i%p1%d;%p2%dr, rc=\E8, sc=\E7,
38313cfc972SYuri Pankov
38413cfc972SYuri Pankov# The IBM PC alternate character set.  Plug this into any Intel console entry.
38513cfc972SYuri Pankov# We use \E[11m for rmacs rather than \E[12m so the <acsc> string can use the
38613cfc972SYuri Pankov# ROM graphics for control characters such as the diamond, up- and down-arrow.
38713cfc972SYuri Pankov# This works with the System V, Linux, and BSDI consoles.  It's a safe bet this
38813cfc972SYuri Pankov# will work with any Intel console, they all seem to have inherited \E[11m
38913cfc972SYuri Pankov# from the ANSI.SYS de-facto standard.
39013cfc972SYuri Pankovklone+acs|alternate character set for ansi.sys displays,
39113cfc972SYuri Pankov	acsc=+\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,
39213cfc972SYuri Pankov	rmacs=\E[10m, smacs=\E[11m,
39313cfc972SYuri Pankov
39413cfc972SYuri Pankov# Highlight controls corresponding to the ANSI.SYS standard.  Most
39513cfc972SYuri Pankov# console drivers for Intel boxes obey these.  Makes the same assumption
39613cfc972SYuri Pankov# about \E[11m as klone+acs.  True ANSI/ECMA-48 would have <rmso=\E[27m>,
39713cfc972SYuri Pankov# <rmul=\E[24m>, but this isn't a documented feature of ANSI.SYS.
39813cfc972SYuri Pankovklone+sgr|attribute control for ansi.sys displays,
39913cfc972SYuri Pankov	blink=\E[5m, bold=\E[1m, rev=\E[7m, rmpch=\E[10m,
40013cfc972SYuri Pankov	rmso=\E[m, rmul=\E[m,
40113cfc972SYuri Pankov	sgr=\E[0;10%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p6%t;1%;%?%p9%t;11%;m,
40213cfc972SYuri Pankov	sgr0=\E[0;10m, smpch=\E[11m, smso=\E[7m, smul=\E[4m,
40313cfc972SYuri Pankov	use=klone+acs,
40413cfc972SYuri Pankov
40513cfc972SYuri Pankov# Most Intel boxes do not treat "invis" (invisible) text.
40613cfc972SYuri Pankovklone+sgr8|attribute control for ansi.sys displays,
40713cfc972SYuri Pankov	invis=\E[8m,
40813cfc972SYuri Pankov	sgr=\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,
40913cfc972SYuri Pankov	use=klone+sgr,
41013cfc972SYuri Pankov
41113cfc972SYuri Pankov# Highlight controls corresponding to the ANSI.SYS standard.  *All*
41213cfc972SYuri Pankov# console drivers for Intel boxes obey these.  Does not assume \E[11m will
41313cfc972SYuri Pankov# work; uses \E[12m instead, which is pretty bulletproof but loses you the ACS
41413cfc972SYuri Pankov# diamond and arrow characters under curses.
41513cfc972SYuri Pankovklone+sgr-dumb|attribute control for ansi.sys displays (no ESC [ 11 m),
41613cfc972SYuri Pankov	blink=\E[5m, bold=\E[1m, invis=\E[8m, rev=\E[7m, rmso=\E[m,
41713cfc972SYuri Pankov	rmul=\E[m,
41813cfc972SYuri Pankov	sgr=\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,
41913cfc972SYuri Pankov	sgr0=\E[0;10m, smacs=\E[12m, smso=\E[7m, smul=\E[4m,
42013cfc972SYuri Pankov	use=klone+acs,
42113cfc972SYuri Pankov
42213cfc972SYuri Pankov# KOI8-R (RFC1489) acs (alternate character set)
42313cfc972SYuri Pankov# From: Qing Long <qinglong@Bolizm.ihep.su>, 24 Feb 1996.
42413cfc972SYuri Pankovklone+koi8acs|alternate character set for ansi.sys displays with KOI8 charset,
42513cfc972SYuri Pankov	acsc=+\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,
42613cfc972SYuri Pankov	rmacs=\E[10m, smacs=\E[11m,
42713cfc972SYuri Pankov
42813cfc972SYuri Pankov# ANSI.SYS color control.  The setab/setaf caps depend on the coincidence
42913cfc972SYuri Pankov# between SVr4/XPG4's color numbers and ANSI.SYS attributes.  Here are longer
43013cfc972SYuri Pankov# but equivalent strings that don't rely on that coincidence:
43113cfc972SYuri Pankov# setb=\E[4%?%p1%{1}%=%t4%e%p1%{3}%=%t6%e%p1%{4}%=%t1%e%p1%{6}%=%t3%e%p1%d%;m,
43213cfc972SYuri Pankov# setf=\E[3%?%p1%{1}%=%t4%e%p1%{3}%=%t6%e%p1%{4}%=%t1%e%p1%{6}%=%t3%e%p1%d%;m,
43313cfc972SYuri Pankov# The DOS 5 manual asserts that these sequences meet the ISO 6429 standard.
43413cfc972SYuri Pankov# They match a subset of ECMA-48.
43513cfc972SYuri Pankovklone+color|color control for ansi.sys and ISO6429-compatible displays,
43613cfc972SYuri Pankov	colors#8, ncv#3, pairs#64,
43713cfc972SYuri Pankov	op=\E[37;40m, setab=\E[4%p1%dm, setaf=\E[3%p1%dm,
43813cfc972SYuri Pankov
43913cfc972SYuri Pankov# This is better than klone+color, it doesn't assume white-on-black as the
44013cfc972SYuri Pankov# default color pair,  but many `ANSI' terminals don't grok the <op> cap.
44113cfc972SYuri Pankovecma+color|color control for ECMA-48-compatible terminals,
44213cfc972SYuri Pankov	AX,
44313cfc972SYuri Pankov	colors#8, ncv#3, pairs#64,
44413cfc972SYuri Pankov	op=\E[39;49m, setab=\E[4%p1%dm, setaf=\E[3%p1%dm,
44513cfc972SYuri Pankov
44613cfc972SYuri Pankov# Attribute control for ECMA-48-compatible terminals
44713cfc972SYuri Pankovecma+sgr|attribute capabilities for true ECMA-48 terminals,
44813cfc972SYuri Pankov	rmso=\E[27m, rmul=\E[24m, use=klone+sgr8,
44913cfc972SYuri Pankov
45013cfc972SYuri Pankov# For comparison, here are all the capabilities implied by the Intel
45113cfc972SYuri Pankov# Binary Compatibility Standard (level 2) that fit within terminfo.
45213cfc972SYuri Pankov# For more detail on this rather pathetic standard, see the comments
45313cfc972SYuri Pankov# near the end of this file.
45413cfc972SYuri Pankovibcs2|Intel Binary Compatibility Standard prescriptions,
45513cfc972SYuri Pankov	cbt=\E[Z, clear=\Ec, cub=\E[%p1%dD, cub1=\E[1D,
45613cfc972SYuri Pankov	cud=\E[%p1%dB, cud1=\E[1B, cuf=\E[%p1%dC, cuf1=\E[1C,
45713cfc972SYuri Pankov	cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[1A,
45813cfc972SYuri Pankov	dch=\E[%p1%dP, dispc=\E=%p1%dg, ech=\E[%p1%dX,
45913cfc972SYuri Pankov	hpa=\E[%i%p1%dG, hts=\EH, ich=\E[%p1%d@, il=\E[%p1%dL,
46013cfc972SYuri Pankov	indn=\E[%p1%dS, rc=\E7, rin=\E[%p1%dT, rmam=\E[?7l, sc=\E7,
46113cfc972SYuri Pankov	smam=\E[?7h, tbc=\E[g, vpa=\E[%i%p1%dd,
46213cfc972SYuri Pankov
46313cfc972SYuri Pankov#### ANSI/ECMA-48 terminals and terminal emulators
46413cfc972SYuri Pankov#
46513cfc972SYuri Pankov# See near the end of this file for details on ANSI conformance.
46613cfc972SYuri Pankov# Don't mess with these entries!  Lots of other entries depend on them!
46713cfc972SYuri Pankov#
46813cfc972SYuri Pankov# This section lists entries in a least-capable to most-capable order.
46913cfc972SYuri Pankov# if you're in doubt about what `ANSI' matches yours, try them in that
47013cfc972SYuri Pankov# order and back off from the first that breaks.
47113cfc972SYuri Pankov
47213cfc972SYuri Pankov# ansi-mr is for ANSI terminals with ONLY relative cursor addressing
47313cfc972SYuri Pankov# and more than one page of memory.  It uses local motions instead of
47413cfc972SYuri Pankov# direct cursor addressing, and makes almost no assumptions. It does
47513cfc972SYuri Pankov# assume auto margins, no padding and/or xon/xoff, and a 24x80 screen.
47613cfc972SYuri Pankovansi-mr|mem rel cup ansi,
47713cfc972SYuri Pankov	am, xon,
47813cfc972SYuri Pankov	cols#80, lines#24, use=vanilla, use=ansi+erase,
47913cfc972SYuri Pankov	use=ansi+local1,
48013cfc972SYuri Pankov
48113cfc972SYuri Pankov# ansi-mini is a bare minimum ANSI terminal. This should work on anything, but
48213cfc972SYuri Pankov# beware of screen size problems and memory relative cursor addressing.
48313cfc972SYuri Pankovansi-mini|any ansi terminal with pessimistic assumptions,
48413cfc972SYuri Pankov	am, xon,
48513cfc972SYuri Pankov	cols#80, lines#24, use=vanilla, use=ansi+cup,
48613cfc972SYuri Pankov	use=ansi+erase,
48713cfc972SYuri Pankov
48813cfc972SYuri Pankov# ansi-mtabs adds relative addressing and minimal tab support
48913cfc972SYuri Pankovansi-mtabs|any ansi terminal with pessimistic assumptions,
49013cfc972SYuri Pankov	it#8,
49113cfc972SYuri Pankov	ht=^I, use=ansi+local1, use=ansi-mini,
49213cfc972SYuri Pankov
49313cfc972SYuri Pankov# ANSI X3.64 from emory!mlhhh (Hugh Hansard) via BRL
49413cfc972SYuri Pankov#
49513cfc972SYuri Pankov# The following is an entry for the full ANSI 3.64 (1977).  It lacks
49613cfc972SYuri Pankov# padding, but most terminals using the standard are "fast" enough
49713cfc972SYuri Pankov# not to require any -- even at 9600 bps.  If you encounter problems,
49813cfc972SYuri Pankov# try including the padding specifications.
49913cfc972SYuri Pankov#
50013cfc972SYuri Pankov# Note: the :as: and :ae: specifications are not implemented here, for
50113cfc972SYuri Pankov# the available termcap documentation does not make clear WHICH alternate
50213cfc972SYuri Pankov# character set to specify.  ANSI 3.64 seems to make allowances for several.
50313cfc972SYuri Pankov# Please make the appropriate adjustments to fit your needs -- that is
50413cfc972SYuri Pankov# if you will be using alternate character sets.
50513cfc972SYuri Pankov#
50613cfc972SYuri Pankov# There are very few terminals running the full ANSI 3.64 standard,
50713cfc972SYuri Pankov# so I could only test this entry on one verified terminal (Visual 102).
50813cfc972SYuri Pankov# I would appreciate the results on other terminals sent to me.
50913cfc972SYuri Pankov#
51013cfc972SYuri Pankov# Please report comments, changes, and problems to:
51113cfc972SYuri Pankov#
51213cfc972SYuri Pankov# U.S. MAIL:   Hugh Hansard
51313cfc972SYuri Pankov#              Box: 22830
51413cfc972SYuri Pankov#              Emory University
51513cfc972SYuri Pankov#              Atlanta, GA. 30322.
51613cfc972SYuri Pankov#
51713cfc972SYuri Pankov# USENET {akgua,msdc,sb1,sb6,gatech}!emory!mlhhh.
51813cfc972SYuri Pankov#
51913cfc972SYuri Pankov# (Added vt100 <rc>,<sc> to quiet a tic warning --esr)
52013cfc972SYuri Pankovansi77|ansi 3.64 standard 1977 version,
52113cfc972SYuri Pankov	OTbs, am, mir,
52213cfc972SYuri Pankov	cols#80, it#8, lines#24,
52313cfc972SYuri Pankov	bel=^G, clear=\E[;H\E[2J, cr=^M, csr=\E[%i%p1%d;%p2%dr,
52413cfc972SYuri Pankov	cub1=^H, cud1=\E[B, cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH,
52513cfc972SYuri Pankov	cuu1=\E[A, dch1=\E[P, dl1=\E[M$<5*/>, ed=\E[J, el=\E[K,
52613cfc972SYuri Pankov	home=\E[H, ht=^I, il1=\E[L$<5*/>, ind=\ED, kbs=^H,
52713cfc972SYuri Pankov	kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, kf1=\EOP,
52813cfc972SYuri Pankov	kf2=\EOR, kf4=\EOS, khome=\E[H, nel=^M\ED, rc=\E8, ri=\EM,
52913cfc972SYuri Pankov	rmir=\E[4l, rmso=\E[m, rmul=\E[m, sc=\E7, smir=\E[4h,
53013cfc972SYuri Pankov	smso=\E[7m, smul=\E[4m,
53113cfc972SYuri Pankov
53213cfc972SYuri Pankov# Procomm and some other ANSI emulations don't recognize all of the ANSI-
53313cfc972SYuri Pankov# standard capabilities.  This entry deletes <cuu>, <cuf>, <cud>, <cub>, and
53413cfc972SYuri Pankov# <vpa>/<hpa> capabilities, forcing curses to use repetitions of <cuu1>,
53513cfc972SYuri Pankov# <cuf1>, <cud1> and <cub1>.  Also deleted <ich> and <ich1>, as QModem up to
53613cfc972SYuri Pankov# 5.03 doesn't recognize these.  Finally, we delete <rep> and <ri>, which seem
53713cfc972SYuri Pankov# to confuse many emulators.  On the other hand, we can count on these programs
53813cfc972SYuri Pankov# doing <rmacs>/<smacs>/<sgr>. Older versions of this entry featured
53913cfc972SYuri Pankov# <invis=\E[9m>, but <invis=\E[8m> now seems to be more common under
54013cfc972SYuri Pankov# ANSI.SYS influence.
54113cfc972SYuri Pankov# From: Eric S. Raymond <esr@snark.thyrsus.com> Oct 30 1995
54213cfc972SYuri Pankovpcansi-m|pcansi-mono|ibm-pc terminal programs claiming to be ansi (mono mode),
54313cfc972SYuri Pankov	OTbs, am, mir, msgr,
54413cfc972SYuri Pankov	cols#80, it#8, lines#24,
54513cfc972SYuri Pankov	bel=^G, cbt=\E[Z, clear=\E[H\E[J, cr=^M, cub1=\E[D,
54613cfc972SYuri Pankov	cud1=\E[B, cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH, cuu1=\E[A,
54713cfc972SYuri Pankov	dch1=\E[P, dl1=\E[M, ed=\E[J, el=\E[K, home=\E[H, ht=^I,
54813cfc972SYuri Pankov	hts=\EH, il1=\E[L, ind=^J, kbs=^H, kcub1=\E[D, kcud1=\E[B,
54913cfc972SYuri Pankov	kcuf1=\E[C, kcuu1=\E[A, khome=\E[H, tbc=\E[3g,
55013cfc972SYuri Pankov	use=klone+sgr-dumb,
55113cfc972SYuri Pankovpcansi-25-m|pcansi25m|ibm-pc terminal programs with 25 lines (mono mode),
55213cfc972SYuri Pankov	lines#25, use=pcansi-m,
55313cfc972SYuri Pankovpcansi-33-m|pcansi33m|ibm-pc terminal programs with 33 lines (mono mode),
55413cfc972SYuri Pankov	lines#33, use=pcansi-m,
55513cfc972SYuri Pankovpcansi-43-m|ansi43m|ibm-pc terminal programs with 43 lines (mono mode),
55613cfc972SYuri Pankov	lines#43, use=pcansi-m,
55713cfc972SYuri Pankov# The color versions.  All PC emulators do color...
55813cfc972SYuri Pankovpcansi|ibm-pc terminal programs claiming to be ansi,
55913cfc972SYuri Pankov	use=klone+color, use=pcansi-m,
56013cfc972SYuri Pankovpcansi-25|pcansi25|ibm-pc terminal programs with 25 lines,
56113cfc972SYuri Pankov	lines#25, use=pcansi,
56213cfc972SYuri Pankovpcansi-33|pcansi33|ibm-pc terminal programs with 33 lines,
56313cfc972SYuri Pankov	lines#33, use=pcansi,
56413cfc972SYuri Pankovpcansi-43|pcansi43|ibm-pc terminal programs with 43 lines,
56513cfc972SYuri Pankov	lines#43, use=pcansi,
56613cfc972SYuri Pankov
56713cfc972SYuri Pankov# ansi-m -- full ANSI X3.64 with ANSI.SYS-compatible attributes, no color.
56813cfc972SYuri Pankov# If you want pound signs rather than dollars, replace `B' with `A'
56913cfc972SYuri Pankov# in the <s0ds>, <s1ds>, <s2ds>, and <s3ds> capabilities.
57013cfc972SYuri Pankov# From: Eric S. Raymond <esr@snark.thyrsus.com> Nov 6 1995
57113cfc972SYuri Pankovansi-m|ansi-mono|ANSI X3.64-1979 terminal with ANSI.SYS compatible attributes,
57213cfc972SYuri Pankov	mc5i,
57313cfc972SYuri Pankov	cub=\E[%p1%dD, cud=\E[%p1%dB, cuf=\E[%p1%dC,
57413cfc972SYuri Pankov	cuu=\E[%p1%dA, dch=\E[%p1%dP, dl=\E[%p1%dM,
57513cfc972SYuri Pankov	ech=\E[%p1%dX, el1=\E[1K, hpa=\E[%i%p1%dG, ht=\E[I,
57613cfc972SYuri Pankov	ich=\E[%p1%d@, il=\E[%p1%dL, indn=\E[%p1%dS, kbs=^H,
57713cfc972SYuri Pankov	kcbt=\E[Z, kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A,
57813cfc972SYuri Pankov	kich1=\E[L, mc4=\E[4i, mc5=\E[5i, nel=\r\E[S,
57913cfc972SYuri Pankov	rep=%p1%c\E[%p2%{1}%-%db, rin=\E[%p1%dT, s0ds=\E(B,
58013cfc972SYuri Pankov	s1ds=\E)B, s2ds=\E*B, s3ds=\E+B, tbc=\E[3g,
58113cfc972SYuri Pankov	vpa=\E[%i%p1%dd, use=pcansi-m,
58213cfc972SYuri Pankov
58313cfc972SYuri Pankovansi+enq|ncurses extension for ANSI ENQ,
58413cfc972SYuri Pankov	u6=\E[%i%d;%dR, u7=\E[6n, u8=\E[?%[;0123456789]c,
58513cfc972SYuri Pankov	u9=\E[c,
58613cfc972SYuri Pankov
58713cfc972SYuri Pankov# ansi -- this terminfo expresses the largest subset of X3.64 that will fit in
58813cfc972SYuri Pankov# standard terminfo.  Assumes ANSI.SYS-compatible attributes and color.
58913cfc972SYuri Pankov# From: Eric S. Raymond <esr@snark.thyrsus.com> Nov 6 1995
59013cfc972SYuri Pankovansi|ansi/pc-term compatible with color,
59113cfc972SYuri Pankov	use=ansi+enq, use=ecma+color, use=klone+sgr8, use=ansi-m,
59213cfc972SYuri Pankov
59313cfc972SYuri Pankov# ansi-generic is a vanilla ANSI terminal. This is assumed to implement
59413cfc972SYuri Pankov# all the normal ANSI stuff with no extensions. It assumes
59513cfc972SYuri Pankov# insert/delete line/char is there, so it won't work with
59613cfc972SYuri Pankov# vt100 clones. It assumes video attributes for bold, blink,
59713cfc972SYuri Pankov# underline, and reverse, which won't matter much if the terminal
59813cfc972SYuri Pankov# can't do some of those. Padding is assumed to be zero, which
59913cfc972SYuri Pankov# shouldn't hurt since xon/xoff is assumed.
60013cfc972SYuri Pankovansi-generic|generic ansi standard terminal,
60113cfc972SYuri Pankov	am, xon,
60213cfc972SYuri Pankov	cols#80, lines#24, use=vanilla, use=ansi+csr, use=ansi+cup,
60313cfc972SYuri Pankov	use=ansi+rca, use=ansi+erase, use=ansi+tabs,
60413cfc972SYuri Pankov	use=ansi+local, use=ansi+idc, use=ansi+idl, use=ansi+rep,
60513cfc972SYuri Pankov	use=ansi+sgrbold, use=ansi+arrows,
60613cfc972SYuri Pankov
60713cfc972SYuri Pankov#### DOS ANSI.SYS variants
60813cfc972SYuri Pankov#
60913cfc972SYuri Pankov# This completely describes the sequences specified in the DOS 2.1 ANSI.SYS
61013cfc972SYuri Pankov# documentation (except for the keyboard key reassignment feature, which
61113cfc972SYuri Pankov# doesn't fit the <pfkey> model well).  The klone+acs sequences were valid
61213cfc972SYuri Pankov# though undocumented.  The <pfkey> capability is untested but should work for
61313cfc972SYuri Pankov# keys F1-F10 (%p1 values outside this range will yield unpredictable results).
61413cfc972SYuri Pankov# From: Eric S. Raymond <esr@snark.thyrsus.com> Nov 7 1995
61513cfc972SYuri Pankovansi.sys-old|ANSI.SYS under PC-DOS 2.1,
61613cfc972SYuri Pankov	OTbs, am, mir, msgr, xon,
61713cfc972SYuri Pankov	cols#80, lines#25,
61813cfc972SYuri Pankov	clear=\E[2J, cub1=^H, cud1=\E[B, cuf1=\E[C,
61913cfc972SYuri Pankov	cup=\E[%i%p1%d;%p2%dH, cuu1=\E[A, el=\E[k, home=\E[H,
62013cfc972SYuri Pankov	is2=\E[m\E[?7h, kcub1=^H, kcud1=^J, kcuf1=^L, kcuu1=^K,
62113cfc972SYuri Pankov	khome=^^, pfkey=\E[0;%p1%{58}%+%d;%p2"%s"p, rc=\E[u,
62213cfc972SYuri Pankov	rmam=\E[?7l, sc=\E[s, smam=\E[?7h, u6=\E[%i%d;%dR,
62313cfc972SYuri Pankov	u7=\E[6n, use=klone+color, use=klone+sgr8,
62413cfc972SYuri Pankov
62513cfc972SYuri Pankov# Keypad:	Home=\0G	Up=\0H	PrPag=\0I
62613cfc972SYuri Pankov#		ka1,kh		kcuu1		kpp,ka3
62713cfc972SYuri Pankov#
62813cfc972SYuri Pankov#		Left=\0K	5=\0L		Right=\0M
62913cfc972SYuri Pankov#		kcub1		kb2		kcuf1
63013cfc972SYuri Pankov#
63113cfc972SYuri Pankov#		End=\0O		Down=\0P	NxPag=\0Q
63213cfc972SYuri Pankov#		kc1,kend	kcud1		kc3,knp
63313cfc972SYuri Pankov#
63413cfc972SYuri Pankov#		Ins=\0R		Del=\0S
63513cfc972SYuri Pankov#		kich1		kdch1
63613cfc972SYuri Pankov#
63713cfc972SYuri Pankov# On keyboard with 12 function keys,
63813cfc972SYuri Pankov#	shifted f-keys: F13-F24
63913cfc972SYuri Pankov#	control f-keys: F25-F36
64013cfc972SYuri Pankov#	alt f-keys:     F37-F48
64113cfc972SYuri Pankov# The shift/control/alt keys do not modify each other, but alt overrides both,
64213cfc972SYuri Pankov# and control overrides shift.
64313cfc972SYuri Pankov#
64413cfc972SYuri Pankov# <pfkey> capability for F1-F48 -TD
64513cfc972SYuri Pankovansi.sys|ANSI.SYS 3.1 and later versions,
64613cfc972SYuri Pankov	el=\E[K, ka1=\0G, ka3=\0I, kb2=\0L, kbs=^H, kc1=\0O, kc3=\0Q,
64713cfc972SYuri Pankov	kcbt=\0^O, kcub1=\0K, kcud1=\0P, kcuf1=\0M, kcuu1=\0H,
64813cfc972SYuri Pankov	kdch1=\0S, kend=\0O, kf1=\0;, kf10=\0D, kf11=\0\205,
64913cfc972SYuri Pankov	kf12=\0\206, kf13=\0T, kf14=\0U, kf15=\0V, kf16=\0W,
65013cfc972SYuri Pankov	kf17=\0X, kf18=\0Y, kf19=\0Z, kf2=\0<, kf20=\0[, kf21=\0\\,
65113cfc972SYuri Pankov	kf22=\0], kf23=\0\207, kf24=\0\210, kf25=\0\^, kf26=\0_,
65213cfc972SYuri Pankov	kf27=\0`, kf28=\0a, kf29=\0b, kf3=\0=, kf30=\0c, kf31=\0d,
65313cfc972SYuri Pankov	kf32=\0e, kf33=\0f, kf34=\0g, kf35=\0\211, kf36=\0\212,
65413cfc972SYuri Pankov	kf37=\0h, kf38=\0i, kf39=\0j, kf4=\0>, kf40=\0k, kf41=\0l,
65513cfc972SYuri Pankov	kf42=\0m, kf43=\0n, kf44=\0o, kf45=\0p, kf46=\0q,
65613cfc972SYuri Pankov	kf47=\0\213, kf48=\0\214, kf5=\0?, kf6=\0@, kf7=\0A, kf8=\0B,
65713cfc972SYuri Pankov	kf9=\0C, khome=\0G, kich1=\0R, knp=\0Q, kpp=\0I,
65813cfc972SYuri Pankov	pfkey=\E[0;%?%p1%{11}%<%t%'\:'%e%?%p1%{13}%<%t%'z'%e%?%p1%{23}%<%t%'G'%e%?%p1%{25}%<%t%'p'%e%?%p1%'#'%<%t%'E'%e%?%p1%'%'%<%t%'f'%e%?%p1%'/'%<%t%'C'%e%{92}%;%;%;%;%;%;%;%p1%+%d;%p2"%s"p,
65913cfc972SYuri Pankov	use=ansi.sys-old,
66013cfc972SYuri Pankov
66113cfc972SYuri Pankov#
66213cfc972SYuri Pankov# Define IBM PC keypad keys for vi as per MS-Kermit while using ANSI.SYS.
66313cfc972SYuri Pankov# This should only be used when the terminal emulator cannot redefine the keys.
66413cfc972SYuri Pankov# Since redefining keys with ansi.sys also affects PC-DOS programs, the key
66513cfc972SYuri Pankov# definitions must be restored.  If the terminal emulator is quit while in vi
66613cfc972SYuri Pankov# or others using <smkx>/<rmkx>, the keypad will not be defined as per PC-DOS.
66713cfc972SYuri Pankov# The PgUp and PgDn are prefixed with ESC so that tn3270 can be used on Unix
66813cfc972SYuri Pankov# (^U and ^D are already defined for tn3270).  The ESC is safe for vi but it
66913cfc972SYuri Pankov# does "beep".  ESC ESC i is used for Ins to avoid tn3270 ESC i for coltab.
67013cfc972SYuri Pankov# Note that <kcub1> is always BS, because PC-dos can tolerate this change.
67113cfc972SYuri Pankov# Caution: vi is limited to 256 string bytes, longer crashes or weirds out vi.
67213cfc972SYuri Pankov# Consequently the End keypad key could not be set (it is relatively safe and
67313cfc972SYuri Pankov# actually useful because it sends ^@ O, which beeps and opens a line above).
67413cfc972SYuri Pankovansi.sysk|ansisysk|PC-DOS 3.1 ANSI.SYS with keypad redefined for vi,
67513cfc972SYuri Pankov	is2=U2 PC-DOS 3.1 ANSI.SYS with keypad redefined for vi 9-29-86\n\E[;75;8p,
67613cfc972SYuri Pankov	rmkx=\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,
67713cfc972SYuri Pankov	smkx=\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,
67813cfc972SYuri Pankov	use=ansi.sys,
67913cfc972SYuri Pankov#
68013cfc972SYuri Pankov# Adds ins/del line/character, hence vi reverse scrolls/inserts/deletes nicer.
68113cfc972SYuri Pankovnansi.sys|nansisys|PC-DOS Public Domain NANSI.SYS,
68213cfc972SYuri Pankov	dch1=\E[1P, dl1=\E[1M, ich1=\E[1@, il1=\E[1L,
68313cfc972SYuri Pankov	is2=U3 PC-DOS Public Domain NANSI.SYS 9-23-86\n,
68413cfc972SYuri Pankov	use=ansi.sys,
68513cfc972SYuri Pankov#
68613cfc972SYuri Pankov# See ansi.sysk and nansi.sys above.
68713cfc972SYuri Pankovnansi.sysk|nansisysk|PC-DOS Public Domain NANSI.SYS with keypad redefined for vi,
68813cfc972SYuri Pankov	dch1=\E[1P, dl1=\E[1M, ich1=\E[1@, il1=\E[1L,
68913cfc972SYuri Pankov	is2=U4 PC-DOS Public Domain NANSI.SYS with keypad redefined for vi 9-29-86\n\E[;75;8p,
69013cfc972SYuri Pankov	use=ansi.sysk,
69113cfc972SYuri Pankov
69213cfc972SYuri Pankov#### ANSI console types
69313cfc972SYuri Pankov
69413cfc972SYuri Pankov#
69513cfc972SYuri Pankov# Atari ST terminals.
69613cfc972SYuri Pankov# From Guido Flohr <gufl0000@stud.uni-sb.de>.
69713cfc972SYuri Pankov#
69813cfc972SYuri Pankovtw52|tw52-color|Toswin window manager with color,
69913cfc972SYuri Pankov	bce,
70013cfc972SYuri Pankov	colors#16, pairs#256,
70113cfc972SYuri Pankov	oc=\Eb?\Ec0, op=\Eb?\Ec0,
70213cfc972SYuri Pankov	setab=\Ec%?%p1%{0}%=%t?%e%p1%{7}%=%t0%e%p1%{15}%=%t7%e%p1%{48}%+%c,
70313cfc972SYuri Pankov	setaf=\Eb%?%p1%{0}%=%t?%e%p1%{7}%=%t0%e%p1%{15}%=%t7%e%p1%{48}%+%c,
70413cfc972SYuri Pankov	setb=\Ec%?%p1%{0}%=%t?%e%p1%{7}%=%t0%e%p1%{15}%=%t7%e%p1%{48}%+%c,
70513cfc972SYuri Pankov	setf=\Eb%?%p1%{0}%=%t?%e%p1%{7}%=%t0%e%p1%{15}%=%t7%e%p1%{48}%+%c,
70613cfc972SYuri Pankov	use=tw52-m,
70713cfc972SYuri Pankovtw52-m|Toswin window manager monochrome,
70813cfc972SYuri Pankov	ul,
70913cfc972SYuri Pankov	ma#999,
71013cfc972SYuri Pankov	bold=\Eya, dch1=\Ea, dim=\EyB,
71113cfc972SYuri Pankov	is2=\Ev\Eq\Ez_\Ee\Ei\Eb?\Ec0, rev=\EyP, rmso=\EzQ,
71213cfc972SYuri Pankov	rmul=\EzH, rs2=\Ev\Eq\Ez_\Ee\Ei\Eb?\Ec0, sgr0=\Ez_,
71313cfc972SYuri Pankov	smso=\EyQ, smul=\EyH, use=at-m,
71413cfc972SYuri Pankovtt52|Atari TT medium and high resolution,
71513cfc972SYuri Pankov	lines#30, use=at-color,
71613cfc972SYuri Pankovst52-color|at-color|atari-color|atari_st-color|Atari ST with color,
71713cfc972SYuri Pankov	bce,
71813cfc972SYuri Pankov	colors#16, pairs#256,
71913cfc972SYuri Pankov	is2=\Ev\Eq\Ee\Eb1\Ec0, rs2=\Ev\Eq\Ee\Eb1\Ec0,
72013cfc972SYuri Pankov	setab=\Ec%?%p1%{0}%=%t1%e%p1%{1}%=%t2%e%p1%{2}%=%t3%e%p1%{3}%=%t>%e%p1%{4}%=%t4%e%p1%{5}%=%t7%e%p1%{6}%=%t5%e%p1%{7}%=%t0%e%p1%{8}%=%t8%e%p1%{9}%=%t9%e%p1%{10}%=%t\:%e%p1%{11}%=%t;%e%p1%{12}%=%t<%e%p1%{13}%=%t=%e%p1%{14}%=%t6%e?,
72113cfc972SYuri Pankov	setaf=\Eb%?%p1%{0}%=%t1%e%p1%{1}%=%t2%e%p1%{2}%=%t3%e%p1%{3}%=%t>%e%p1%{4}%=%t4%e%p1%{5}%=%t7%e%p1%{6}%=%t5%e%p1%{7}%=%t0%e%p1%{8}%=%t8%e%p1%{9}%=%t9%e%p1%{10}%=%t\:%e%p1%{11}%=%t;%e%p1%{12}%=%t<%e%p1%{13}%=%t=%e%p1%{14}%=%t6%e?,
72213cfc972SYuri Pankov	setb=\Ec%?%p1%{0}%=%t1%e%p1%{1}%=%t2%e%p1%{2}%=%t3%e%p1%{3}%=%t>%e%p1%{4}%=%t4%e%p1%{5}%=%t7%e%p1%{6}%=%t5%e%p1%{7}%=%t0%e%p1%{8}%=%t8%e%p1%{9}%=%t9%e%p1%{10}%=%t\:%e%p1%{11}%=%t;%e%p1%{12}%=%t<%e%p1%{13}%=%t=%e%p1%{14}%=%t6%e?,
72313cfc972SYuri Pankov	setf=\Eb%?%p1%{0}%=%t1%e%p1%{1}%=%t2%e%p1%{2}%=%t3%e%p1%{3}%=%t>%e%p1%{4}%=%t4%e%p1%{5}%=%t7%e%p1%{6}%=%t5%e%p1%{7}%=%t0%e%p1%{8}%=%t8%e%p1%{9}%=%t9%e%p1%{10}%=%t\:%e%p1%{11}%=%t;%e%p1%{12}%=%t<%e%p1%{13}%=%t=%e%p1%{14}%=%t6%e?,
72413cfc972SYuri Pankov	use=st52,
72513cfc972SYuri Pankovst52|st52-m|at|at-m|atari|atari-m|atari_st|atarist-m|Atari ST,
72613cfc972SYuri Pankov	am, eo, mir, npc,
72713cfc972SYuri Pankov	cols#80, it#8, lines#24,
72813cfc972SYuri Pankov	bel=^G, civis=\Ef, clear=\EE, cnorm=\Ee, cr=^M, cub1=\ED,
72913cfc972SYuri Pankov	cud1=\EB, cuf1=\EC, cup=\EY%p1%{32}%+%c%p2%{32}%+%c,
73013cfc972SYuri Pankov	cuu1=\EA, dl1=\EM, ed=\EJ, el=\EK, el1=\Eo, home=\EH, ht=^I,
73113cfc972SYuri Pankov	il1=\EL, ind=^J, is2=\Ev\Eq\Ee, kLFT=\Ed, kRIT=\Ec, kbs=^H,
73213cfc972SYuri Pankov	kcub1=\ED, kcud1=\EB, kcuf1=\EC, kcuu1=\EA, kdch1=\177,
73313cfc972SYuri Pankov	kf1=\EP, kf10=\EY, kf11=\Ep, kf12=\Eq, kf13=\Er, kf14=\Es,
73413cfc972SYuri Pankov	kf15=\Et, kf16=\Eu, kf17=\Ev, kf18=\Ew, kf19=\Ex, kf2=\EQ,
73513cfc972SYuri Pankov	kf20=\Ey, kf3=\ER, kf4=\ES, kf5=\ET, kf6=\EU, kf7=\EV, kf8=\EW,
73613cfc972SYuri Pankov	kf9=\EX, khlp=\EH, khome=\EE, kich1=\EI, knp=\Eb, kpp=\Ea,
73713cfc972SYuri Pankov	kund=\EK, nel=^M^J, rc=\Ek, rev=\Ep, ri=\EI, rmso=\Eq,
73813cfc972SYuri Pankov	rs2=\Ev\Eq\Ee, sc=\Ej, sgr0=\Eq, smso=\Ep,
73913cfc972SYuri Pankovtw100|toswin vt100 window mgr,
74013cfc972SYuri Pankov	eo, mir, msgr, xon,
74113cfc972SYuri Pankov	colors#8, cols#80, it#8, lines#24, pairs#64, vt#3,
74213cfc972SYuri Pankov	acsc=++\,\,--..00II``aaffgghhjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
74313cfc972SYuri Pankov	bel=^G, blink=\E[5m, bold=\E[1m, civis=\Ef,
74413cfc972SYuri Pankov	clear=\E[2J\E[H, cnorm=\Ee, cr=^M, csr=\E[%i%p1%d;%p2%dr,
74513cfc972SYuri Pankov	cub=\E[%p1%dD, cub1=^H, cud=\E[%p1%dB, cud1=\EB,
74613cfc972SYuri Pankov	cuf=\E[%p1%dC, cuf1=\EC, cup=\E[%i%p1%d;%p2%dH,
74713cfc972SYuri Pankov	cuu=\E[%p1%dA, cuu1=\EA, dch1=\Ea, dim=\E[2m, dl=\E[%p1%dM,
74813cfc972SYuri Pankov	dl1=\E[M, ed=\E[J, el=\E[K, el1=\E[1K, home=\E[H, ht=^I,
74913cfc972SYuri Pankov	hts=\EH, ich=\E[%p1%d@, il1=\EL, ind=^J, is2=\E<\E)0, kbs=^H,
75013cfc972SYuri Pankov	kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, kdch1=\177,
75113cfc972SYuri Pankov	kf1=\EOP, kf10=\EOY, kf11=\Ep, kf12=\Eq, kf13=\Er, kf14=\Es,
75213cfc972SYuri Pankov	kf15=\Et, kf16=\Eu, kf17=\Ev, kf18=\Ew, kf19=\Ex, kf2=\EOQ,
75313cfc972SYuri Pankov	kf20=\Ey, kf3=\EOR, kf4=\EOS, kf5=\EOT, kf6=\EOU, kf7=\EOV,
75413cfc972SYuri Pankov	kf8=\EOW, kf9=\EOX, khlp=\EH, khome=\E\EE, kich1=\EI,
75513cfc972SYuri Pankov	knp=\Eb, kpp=\E\Ea, kund=\EK, ll=\E[24H, nel=\EE,
75613cfc972SYuri Pankov	oc=\E[30;47m, op=\E[30;47m, rc=\E8, rev=\E[7m, ri=\EM,
75713cfc972SYuri Pankov	rmacs=^O, rmcup=\E[?7h, rmir=\Ei, rmkx=\E[?1l\E>,
75813cfc972SYuri Pankov	rmso=\E[m, rmul=\E[m,
75913cfc972SYuri Pankov	rs1=\E<\E[20l\E[?3;6;9l\E[r\Eq\E(B\017\E)0\E>,
76013cfc972SYuri Pankov	sc=\E7,
76113cfc972SYuri Pankov	setb=\E[4%p1%'0'%+%Pa%?%ga%'0'%=%t0%e%ga%'1'%=%t4%e%ga%'2'%=%t2%e%ga%'3'%=%t6%e%ga%'4'%=%t1%e%ga%'5'%=%t5%e%ga%'6'%=%t3%e7%;m,
76213cfc972SYuri Pankov	setf=\E[3%p1%'0'%+%Pa%?%ga%'0'%=%t0%e%ga%'1'%=%t4%e%ga%'2'%=%t2%e%ga%'3'%=%t6%e%ga%'4'%=%t1%e%ga%'5'%=%t5%e%ga%'6'%=%t3%e7%;m,
76313cfc972SYuri Pankov	sgr0=\E[m, smacs=^N, smcup=\E[?7l, smir=\Eh,
76413cfc972SYuri Pankov	smkx=\E[?1h\E=, smso=\E[7m, smul=\E[4m, tbc=\E[3g,
76513cfc972SYuri Pankov# The entries for stv52 and stv52pc probably need a revision.
76613cfc972SYuri Pankovstv52|MiNT virtual console,
76713cfc972SYuri Pankov	am, msgr,
76813cfc972SYuri Pankov	cols#80, it#8, lines#30,
76913cfc972SYuri Pankov	bel=^G, blink=\Er, bold=\EyA, civis=\Ef, clear=\EE,
77013cfc972SYuri Pankov	cnorm=\E. \Ee, cr=^M, cub1=^H, cud1=\EB, cuf1=\EC,
77113cfc972SYuri Pankov	cup=\EY%p1%{32}%+%c%p2%{32}%+%c, cuu1=\EA, cvvis=\E.",
77213cfc972SYuri Pankov	dim=\Em, dl1=\EM, ed=\EJ, el=\EK, home=\EH, ht=^I, il1=\EL,
77313cfc972SYuri Pankov	ind=\n$<2*/>, kbs=^H, kcub1=\ED, kcud1=\EB, kcuf1=\EC,
77413cfc972SYuri Pankov	kcuu1=\EA, kdch1=\177, kf1=\EP, kf10=\EY, kf11=\Ep, kf12=\Eq,
77513cfc972SYuri Pankov	kf13=\Er, kf14=\Es, kf15=\Et, kf16=\Eu, kf17=\Ev, kf18=\Ew,
77613cfc972SYuri Pankov	kf19=\Ex, kf2=\EQ, kf20=\Ey, kf3=\ER, kf4=\ES, kf5=\ET,
77713cfc972SYuri Pankov	kf6=\EU, kf7=\EV, kf8=\EW, kf9=\EX, khlp=\EH, khome=\EE,
77813cfc972SYuri Pankov	kich1=\EI, knp=\Eb, kpp=\Ea, kund=\EK, nel=\r\n$<2*/>,
77913cfc972SYuri Pankov	op=\Eb@\EcO, rev=\Ep, ri=\EI$<2*/>, rmcup=\Ev\E. \Ee\Ez_,
78013cfc972SYuri Pankov	rmso=\Eq, rmul=\EzH, rs1=\Ez_\Eb@\EcA, sgr0=\Ez_,
78113cfc972SYuri Pankov	smcup=\Ev\Ee\Ez_, smso=\Ep, smul=\EyH,
78213cfc972SYuri Pankovstv52pc|MiNT virtual console with PC charset,
78313cfc972SYuri Pankov	am, msgr,
78413cfc972SYuri Pankov	cols#80, it#8, lines#30,
78513cfc972SYuri Pankov	acsc=+\257\,\256-\^.v0\333I\374`\177a\260f\370g\361h\261j\331k\277l\332m\300n\305o\377p-q\304r-s_t+u+v+w+x\263y\363z\362{\343|\366}\234~\371,
78613cfc972SYuri Pankov	bel=^G, blink=\Er, bold=\EyA, civis=\Ef, clear=\EE,
78713cfc972SYuri Pankov	cnorm=\E. \Ee, cr=^M, cub1=^H, cud1=\EB, cuf1=\EC,
78813cfc972SYuri Pankov	cup=\EY%p1%{32}%+%c%p2%{32}%+%c, cuu1=\EA, cvvis=\E.",
78913cfc972SYuri Pankov	dim=\Em, dl1=\EM, ed=\EJ, el=\EK, home=\EH, ht=^I, il1=\EL,
79013cfc972SYuri Pankov	ind=\n$<2*/>, kbs=^H, kcub1=\ED, kcud1=\EB, kcuf1=\EC,
79113cfc972SYuri Pankov	kcuu1=\EA, kdch1=\177, kf1=\EP, kf10=\EY, kf11=\Ep, kf12=\Eq,
79213cfc972SYuri Pankov	kf13=\Er, kf14=\Es, kf15=\Et, kf16=\Eu, kf17=\Ev, kf18=\Ew,
79313cfc972SYuri Pankov	kf19=\Ex, kf2=\EQ, kf20=\Ey, kf3=\ER, kf4=\ES, kf5=\ET,
79413cfc972SYuri Pankov	kf6=\EU, kf7=\EV, kf8=\EW, kf9=\EX, khlp=\EH, khome=\EE,
79513cfc972SYuri Pankov	kich1=\EI, knp=\Eb, kpp=\Ea, kund=\EK, nel=\r\n$<2*/>,
79613cfc972SYuri Pankov	rev=\Ep, ri=\EI$<2*/>, rmcup=\Ev\E. \Ee\Ez_, rmso=\Eq,
79713cfc972SYuri Pankov	rmul=\EzH, rs1=\Ez_\Eb@\EcA, sgr0=\Ez_, smcup=\Ev\Ee\Ez_,
79813cfc972SYuri Pankov	smso=\Ep, smul=\EyH,
79913cfc972SYuri Pankov
80013cfc972SYuri Pankov#### Atari ST
80113cfc972SYuri Pankov#
80213cfc972SYuri Pankov
80313cfc972SYuri Pankov# From: Simson L. Garfinkel <simsong@media-lab.mit.edu>
80413cfc972SYuri Pankovatari-old|atari st,
80513cfc972SYuri Pankov	OTbs, am,
80613cfc972SYuri Pankov	cols#80, it#8, lines#25,
80713cfc972SYuri Pankov	clear=\EH\EJ, cub1=\ED, cud1=\EB, cuf1=\EC,
80813cfc972SYuri Pankov	cup=\EY%p1%{32}%+%c%p2%{32}%+%c, cuu1=\EA, dl1=\EM,
80913cfc972SYuri Pankov	ed=\EJ, el=\EK, ht=^I, il1=\EL, kcub1=\ED, kcud1=\EB,
81013cfc972SYuri Pankov	kcuf1=\EC, kcuu1=\EA, ri=\EI, rmso=\Eq, sgr0=\Eq, smso=\Ep,
81113cfc972SYuri Pankov# UniTerm terminal program for the Atari ST:  49-line VT220 emulation mode
81213cfc972SYuri Pankov# From: Paul M. Aoki <aoki@ucbvax.berkeley.edu>
81313cfc972SYuri Pankovuniterm|uniterm49|UniTerm VT220 emulator with 49 lines,
81413cfc972SYuri Pankov	lines#49,
81513cfc972SYuri Pankov	is2=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h\E[1;49r\E[49;1H,
81613cfc972SYuri Pankov	use=vt220,
81713cfc972SYuri Pankov# MiNT VT52 emulation. 80 columns, 25 rows.
81813cfc972SYuri Pankov# MiNT is Now TOS, the operating system which comes with all Ataris now
81913cfc972SYuri Pankov# (mainly Atari Falcon). This termcap is for the VT52 emulation you get
82013cfc972SYuri Pankov# under tcsh/zsh/bash/sh/ksh/ash/csh when you run MiNT in `console' mode
82113cfc972SYuri Pankov# From: Per Persson <pp@gnu.ai.mit.edu>, 27 Feb 1996
82213cfc972SYuri Pankovst52-old|Atari ST with VT52 emulation,
82313cfc972SYuri Pankov	am, km,
82413cfc972SYuri Pankov	cols#80, lines#25,
82513cfc972SYuri Pankov	bel=^G, civis=\Ef, clear=\EH\EJ, cnorm=\Ee, cr=^M, cub1=\ED,
82613cfc972SYuri Pankov	cud1=\EB, cuf1=\EC, cup=\EY%p1%{32}%+%c%p2%{32}%+%c,
82713cfc972SYuri Pankov	cuu1=\EA, dl1=\EM, ed=\EJ, el=\EK, home=\EH, ht=^I, il1=\EL,
82813cfc972SYuri Pankov	ind=^J, ka1=\E#7, ka3=\E#5, kb2=\E#9, kbs=^H, kc1=\E#1,
82913cfc972SYuri Pankov	kc3=\E#3, kclr=\E#7, kcub1=\E#K, kcud1=\E#P, kcuf1=\E#M,
83013cfc972SYuri Pankov	kcuu1=\E#H, kf0=\E#D, kf1=\E#;, kf2=\E#<, kf3=\E#=, kf4=\E#>,
83113cfc972SYuri Pankov	kf5=\E#?, kf6=\E#@, kf7=\E#A, kf8=\E#B, kf9=\E#C, khome=\E#G,
83213cfc972SYuri Pankov	kil1=\E#R, kind=\E#2, kri=\E#8, lf0=f10, nel=^M^J, rc=\Ek,
83313cfc972SYuri Pankov	ri=\EI, rmcup=, rmso=\Eq, rs1=\Ez_\Eb@\EcA, sc=\Ej, sgr0=\Eq,
83413cfc972SYuri Pankov	smcup=\Ee, smso=\Ep,
83513cfc972SYuri Pankov
83613cfc972SYuri Pankov#### BeOS
83713cfc972SYuri Pankov#
83813cfc972SYuri Pankov# BeOS entry for Terminal program Seems to be almost ANSI
83913cfc972SYuri Pankovbeterm|BeOS Terminal,
84013cfc972SYuri Pankov	am, eo, mir, msgr, xenl, xon,
84113cfc972SYuri Pankov	colors#8, cols#80, it#8, lines#25, ncv#5, pairs#64,
84213cfc972SYuri Pankov	bel=^G, bold=\E[1m, clear=\E[H\E[J, cr=^M,
84313cfc972SYuri Pankov	csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=^H,
84413cfc972SYuri Pankov	cud=\E[%p1%dB, cud1=^J, cuf=\E[%p1%dC, cuf1=\E[C,
84513cfc972SYuri Pankov	cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A,
84613cfc972SYuri Pankov	dch=\E[%p1%dP, dch1=\E[P, dl=\E[%p1%dM, dl1=\E[M,
84713cfc972SYuri Pankov	ech=\E[%p1%dX, ed=\E[J, el=\E[K, el1=\E[1K, home=\E[H,
84813cfc972SYuri Pankov	hpa=\E[%i%p1%dG, ht=^I, hts=\EH, ich=\E[%p1%d@, ich1=\E[@,
84913cfc972SYuri Pankov	il=\E[%p1%dL, il1=\E[L, ind=^J, kbs=^H, kcub1=\E[D,
85013cfc972SYuri Pankov	kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, kdch1=\E[3~,
85113cfc972SYuri Pankov	kend=\E[4~, kf1=\E[11~, kf10=\E[20~, kf11=\E[21~,
85213cfc972SYuri Pankov	kf12=\E[22~, kf2=\E[12~, kf3=\E[13~, kf4=\E[14~,
85313cfc972SYuri Pankov	kf5=\E[15~, kf6=\E[16~, kf7=\E[17~, kf8=\E[18~, kf9=\E[19~,
85413cfc972SYuri Pankov	khome=\E[1~, kich1=\E[2~, knp=\E[6~, kpp=\E[5~, kspd=^Z,
85513cfc972SYuri Pankov	nel=^M^J, op=\E[m, rc=\E8, rev=\E[7m, ri=\EM, rmir=\E[4l,
85613cfc972SYuri Pankov	rmkx=\E[?4l, rmso=\E[m, rmul=\E[24m, rs1=\Ec, sc=\E7,
85713cfc972SYuri Pankov	setab=\E[4%p1%dm, setaf=\E[3%p1%dm,
85813cfc972SYuri Pankov	setb=\E[%p1%{40}%+%cm, setf=\E[%p1%{30}%+%cm,
85913cfc972SYuri Pankov	sgr0=\E[0;10m, smir=\E[4h, smkx=\E[?4h, smso=\E[7m,
86013cfc972SYuri Pankov	smul=\E[4m, u6=\E[%i%p1%d;%p2%dR, u7=\E[6n,
86113cfc972SYuri Pankov	vpa=\E[%i%p1%dd,
86213cfc972SYuri Pankov
86313cfc972SYuri Pankov#### Linux consoles
86413cfc972SYuri Pankov#
86513cfc972SYuri Pankov
86613cfc972SYuri Pankov# This entry is good for the 1.2.13 or later version of the Linux console.
86713cfc972SYuri Pankov#
86813cfc972SYuri Pankov# ***************************************************************************
86913cfc972SYuri Pankov# *                                                                         *
87013cfc972SYuri Pankov# *                           WARNING:                                      *
87113cfc972SYuri Pankov# * Linuxes come with a default keyboard mapping kcbt=^I.  This entry, in   *
87213cfc972SYuri Pankov# * response to user requests, assumes kcbt=\E[Z, the ANSI/ECMA reverse-tab *
87313cfc972SYuri Pankov# * character. Here are the keymap replacement lines that will set this up: *
87413cfc972SYuri Pankov# *                                                                         *
87513cfc972SYuri Pankov#	keycode  15 = Tab             Tab
87613cfc972SYuri Pankov#		alt     keycode  15 = Meta_Tab
87713cfc972SYuri Pankov#		shift	keycode  15 = F26
87813cfc972SYuri Pankov#	string F26 ="\033[Z"
87913cfc972SYuri Pankov# *                                                                         *
88013cfc972SYuri Pankov# * This has to use a key slot which is unfortunate (any unused one will    *
88113cfc972SYuri Pankov# * do, F26 is the higher-numbered one).  The change ought to be built      *
88213cfc972SYuri Pankov# * into the kernel tables.                                                 *
88313cfc972SYuri Pankov# *                                                                         *
88413cfc972SYuri Pankov# ***************************************************************************
88513cfc972SYuri Pankov#
88613cfc972SYuri Pankov# All linux kernels since 1.2.13 (at least) set the screen size
88713cfc972SYuri Pankov# themselves; this entry assumes that capability.
88813cfc972SYuri Pankov#
88913cfc972SYuri Pankovlinux-basic|linux console,
89013cfc972SYuri Pankov	am, bce, eo, mir, msgr, xenl, xon,
89113cfc972SYuri Pankov	it#8, ncv#18, U8#1,
89213cfc972SYuri Pankov	acsc=+\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,
89313cfc972SYuri Pankov	bel=^G, clear=\E[H\E[J, cr=^M, csr=\E[%i%p1%d;%p2%dr,
89413cfc972SYuri Pankov	cub=\E[%p1%dD, cub1=^H, cud=\E[%p1%dB, cud1=^J,
89513cfc972SYuri Pankov	cuf=\E[%p1%dC, cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH,
89613cfc972SYuri Pankov	cuu=\E[%p1%dA, cuu1=\E[A, dch=\E[%p1%dP, dch1=\E[P,
89713cfc972SYuri Pankov	dim=\E[2m, dl=\E[%p1%dM, dl1=\E[M, ech=\E[%p1%dX, ed=\E[J,
89813cfc972SYuri Pankov	el=\E[K, el1=\E[1K, flash=\E[?5h\E[?5l$<200/>, home=\E[H,
89913cfc972SYuri Pankov	hpa=\E[%i%p1%dG, ht=^I, hts=\EH, ich=\E[%p1%d@, ich1=\E[@,
90013cfc972SYuri Pankov	il=\E[%p1%dL, il1=\E[L, ind=^J, kb2=\E[G, kbs=\177,
90113cfc972SYuri Pankov	kcbt=\E[Z, kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A,
90213cfc972SYuri Pankov	kdch1=\E[3~, kend=\E[4~, kf1=\E[[A, kf10=\E[21~,
90313cfc972SYuri Pankov	kf11=\E[23~, kf12=\E[24~, kf13=\E[25~, kf14=\E[26~,
90413cfc972SYuri Pankov	kf15=\E[28~, kf16=\E[29~, kf17=\E[31~, kf18=\E[32~,
90513cfc972SYuri Pankov	kf19=\E[33~, kf2=\E[[B, kf20=\E[34~, kf3=\E[[C, kf4=\E[[D,
90613cfc972SYuri Pankov	kf5=\E[[E, kf6=\E[17~, kf7=\E[18~, kf8=\E[19~, kf9=\E[20~,
90713cfc972SYuri Pankov	khome=\E[1~, kich1=\E[2~, kmous=\E[M, knp=\E[6~, kpp=\E[5~,
90813cfc972SYuri Pankov	kspd=^Z, nel=^M^J, rc=\E8, rev=\E[7m, ri=\EM, rmam=\E[?7l,
90913cfc972SYuri Pankov	rmir=\E[4l, rmso=\E[27m, rmul=\E[24m, rs1=\Ec\E]R, sc=\E7,
91013cfc972SYuri Pankov	sgr=\E[0;10%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p5%t;2%;%?%p6%t;1%;%?%p7%t;8%;%?%p9%t;11%;m,
91113cfc972SYuri Pankov	smam=\E[?7h, smir=\E[4h, smul=\E[4m, tbc=\E[3g,
91213cfc972SYuri Pankov	vpa=\E[%i%p1%dd, use=vt102+enq, use=klone+sgr,
91313cfc972SYuri Pankov	use=ecma+color,
91413cfc972SYuri Pankov
91513cfc972SYuri Pankovlinux-m|Linux console no color,
91613cfc972SYuri Pankov	colors@, pairs@,
91713cfc972SYuri Pankov	setab@, setaf@, setb@, setf@, use=linux,
91813cfc972SYuri Pankov
91913cfc972SYuri Pankov# The 1.3.x kernels add color-change capabilities; if yours doesn't have this
92013cfc972SYuri Pankov# and it matters, turn off <ccc>.  The %02x escape used to implement this is
92113cfc972SYuri Pankov# not supposedly back-portable to older SV curses (although it has worked fine
92213cfc972SYuri Pankov# on Solaris for several years) and not supported in ncurses versions before
92313cfc972SYuri Pankov# 1.9.9.
92413cfc972SYuri Pankovlinux-c-nc|linux console with color-change,
92513cfc972SYuri Pankov	ccc,
92613cfc972SYuri Pankov	initc=\E]P%p1%x%p2%{255}%*%{1000}%/%02x%p3%{255}%*%{1000}%/%02x%p4%{255}%*%{1000}%/%02x,
92713cfc972SYuri Pankov	oc=\E]R, use=linux-basic,
92813cfc972SYuri Pankov# From: Dennis Henriksen <opus@osrl.dk>, 9 July 1996
92913cfc972SYuri Pankovlinux-c|linux console 1.3.6+ for older ncurses,
93013cfc972SYuri Pankov	ccc,
93113cfc972SYuri Pankov	initc=\E]P%?%p1%{9}%>%t%p1%{10}%-%'a'%+%c%e%p1%d%;%p2%{255}%*%{1000}%/%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}%*%{1000}%/%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}%*%{1000}%/%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%;,
93213cfc972SYuri Pankov	oc=\E]R, use=linux-basic,
93313cfc972SYuri Pankov
93413cfc972SYuri Pankov# The 2.2.x kernels add a private mode that sets the cursor type; use that to
93513cfc972SYuri Pankov# get a block cursor for cvvis.
93613cfc972SYuri Pankov# reported by Frank Heckenbach <frank@g-n-u.de>.
93713cfc972SYuri Pankovlinux2.2|linux 2.2.x console,
93813cfc972SYuri Pankov	civis=\E[?25l\E[?1c, cnorm=\E[?25h\E[?0c,
93913cfc972SYuri Pankov	cvvis=\E[?25h\E[?8c, use=linux-c-nc,
94013cfc972SYuri Pankov
94113cfc972SYuri Pankov# Linux 2.6.x has a fix for SI/SO to work with UTF-8 encoding added here:
94213cfc972SYuri Pankov#	http://lkml.indiana.edu/hypermail/linux/kernel/0602.2/0868.html
94313cfc972SYuri Pankov# Using SI/SO has the drawback that it confuses screen.  SCS would work.
94413cfc972SYuri Pankov# However, SCS is buggy (see comment in Debian #515609) -TD
94513cfc972SYuri Pankovlinux2.6|linux 2.6.x console,
94613cfc972SYuri Pankov	rmacs=^O,
94713cfc972SYuri Pankov	sgr=\E[0;10%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p5%t;2%;%?%p6%t;1%;%?%p7%t;8%;m%?%p9%t\016%e\017%;,
94813cfc972SYuri Pankov	sgr0=\E[m\017, smacs=^N, use=linux2.2,
94913cfc972SYuri Pankov
95013cfc972SYuri Pankov# The 3.0 kernel adds support for clearing scrollback buffer (capability E3).
95113cfc972SYuri Pankovlinux3.0|linux 3.0 kernels,
95213cfc972SYuri Pankov	E3=\E[3;J, use=linux2.6,
95313cfc972SYuri Pankov
95413cfc972SYuri Pankovlinux|linux console,
95513cfc972SYuri Pankov	use=linux3.0,
95613cfc972SYuri Pankov
95713cfc972SYuri Pankov# Subject: linux 2.6.26 vt back_color_erase
95813cfc972SYuri Pankov# Changes to the Linux console driver broke bce model as reported in
95913cfc972SYuri Pankov#	https://bugzilla.novell.com/show_bug.cgi?id=418613
96013cfc972SYuri Pankov# apparently from
96113cfc972SYuri Pankov#	http://lkml.org/lkml/2008/4/26/305
96213cfc972SYuri Pankov#	http://groups.google.com/group/fa.linux.kernel/browse_thread/thread/87f98338f0d636bb/aa96e8b86cee0d1e?lnk=st&q=#aa96e8b86cee0d1e
96313cfc972SYuri Pankovlinux2.6.26|linux console w/o bce,
96413cfc972SYuri Pankov	bce@, use=linux2.6,
96513cfc972SYuri Pankov
96613cfc972SYuri Pankov# See the note on ICH/ICH1 VERSUS RMIR/SMIR near the end of file
96713cfc972SYuri Pankovlinux-nic|linux with ich/ich1 suppressed for non-curses programs,
96813cfc972SYuri Pankov	ich@, ich1@, use=linux,
96913cfc972SYuri Pankov
97013cfc972SYuri Pankov# This assumes you have used setfont(8) to load one of the Linux koi8-r fonts.
97113cfc972SYuri Pankov# acsc entry from Pavel Roskin" <pavel@absolute.spb.su>, 29 Sep 1997.
97213cfc972SYuri Pankovlinux-koi8|linux with koi8 alternate character set,
97313cfc972SYuri Pankov	acsc=+\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,
97413cfc972SYuri Pankov	use=linux, use=klone+koi8acs,
97513cfc972SYuri Pankov
97613cfc972SYuri Pankov# Another entry for KOI8-r with Qing Long's acsc.
97713cfc972SYuri Pankov# (which one better complies with the standard?)
97813cfc972SYuri Pankovlinux-koi8r|linux with koi8-r alternate character set,
97913cfc972SYuri Pankov	use=linux, use=klone+koi8acs,
98013cfc972SYuri Pankov
98113cfc972SYuri Pankov# Entry for the latin1 and latin2 fonts
98213cfc972SYuri Pankovlinux-lat|linux with latin1 or latin2 alternate character set,
98313cfc972SYuri Pankov	acsc=+\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,
98413cfc972SYuri Pankov	use=linux,
98513cfc972SYuri Pankov
98613cfc972SYuri Pankov# This uses graphics from VT codeset instead of from cp437.
98713cfc972SYuri Pankov# reason: cp437 (aka "straight to font") is not functional under luit.
98813cfc972SYuri Pankov# from: Andrey V Lukyanov <land@long.yar.ru>.
98913cfc972SYuri Pankovlinux-vt|linux console using VT codes for graphics,
99013cfc972SYuri Pankov	acsc=++\,\,--..00``aaffgghhiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz~~,
99113cfc972SYuri Pankov	rmacs=\E(K, rmpch@, sgr@, sgr0=\E[0m\E(K\017, smacs=\E(0,
99213cfc972SYuri Pankov	smpch@, use=linux,
99313cfc972SYuri Pankov
99413cfc972SYuri Pankov# This is based on the Linux console (relies on the console to perform some
99513cfc972SYuri Pankov# of the functionality), but does not recognize as many control sequences.
99613cfc972SYuri Pankov# The program comes bundled with an old (circa 1998) copy of the Linux
99713cfc972SYuri Pankov# console terminfo.  It recognizes some non-ANSI/VT100 sequences such as
99813cfc972SYuri Pankov#	\E*	move cursor to home, as as \E[H
99913cfc972SYuri Pankov#	\E,X	same as \E(X
100013cfc972SYuri Pankov#	\EE	move cursor to beginning of row
100113cfc972SYuri Pankov#	\E[y,xf	same as \E[y,xH
100213cfc972SYuri Pankov#
100313cfc972SYuri Pankov# Note: The status-line support is buggy (dsl does not work).
100413cfc972SYuri Pankovkon|kon2|jfbterm|Kanji ON Linux console,
100513cfc972SYuri Pankov	ccc@, hs,
100613cfc972SYuri Pankov	civis@, cnorm@, cvvis@, dsl=\E[?H, flash@, fsl=\E[?F, initc@,
100713cfc972SYuri Pankov	initp@, kcbt@, oc@, op=\E[37;40m, rs1=\Ec, tsl=\E[?T,
100813cfc972SYuri Pankov	use=linux,
100913cfc972SYuri Pankov
101013cfc972SYuri Pankov# 16-color linux console entry; this works with a 256-character
101113cfc972SYuri Pankov# console font but bright background colors turn into dim ones when
101213cfc972SYuri Pankov# you use a 512-character console font. This uses bold for bright
101313cfc972SYuri Pankov# foreground colors and blink for bright background colors.
101413cfc972SYuri Pankovlinux-16color|linux console with 16 colors,
101513cfc972SYuri Pankov	colors#16, ncv#54, pairs#256,
101613cfc972SYuri Pankov	setab=\E[4%p1%{8}%m%d%?%p1%{8}%>%t;5%e%p1%{8}%=%t;2%e;25%;m,
101713cfc972SYuri Pankov	setaf=\E[3%p1%{8}%m%d%?%p1%{8}%>%t;1%e%p1%{8}%=%t;2%e;21%;m,
101813cfc972SYuri Pankov	use=linux,
101913cfc972SYuri Pankov
102013cfc972SYuri Pankov# bterm (bogl 0.1.18)
102113cfc972SYuri Pankov# Implementation is in bogl-term.c
102213cfc972SYuri Pankov# Key capabilities from linux terminfo entry
102313cfc972SYuri Pankov#
102413cfc972SYuri Pankov# Notes:
102513cfc972SYuri Pankov# bterm only supports acs using wide-characters, has case for these: qjxamlkut
102613cfc972SYuri Pankov# bterm does not support sgr, since it only processes one parameter -TD
102713cfc972SYuri Pankovbterm|bogl virtual terminal,
102813cfc972SYuri Pankov	am, bce,
102913cfc972SYuri Pankov	colors#8, cols#80, lines#24, pairs#64,
103013cfc972SYuri Pankov	acsc=aajjkkllmmqqttuuxx, bold=\E[1m, civis=\E[?25l,
103113cfc972SYuri Pankov	clear=\E[H\E[2J, cnorm=\E[?25h, cr=^M, cub1=^H, cud1=^J,
103213cfc972SYuri Pankov	cup=\E[%i%p1%d;%p2%dH, ed=\E[J, el=\E[K, home=\E[H, ind=^J,
103313cfc972SYuri Pankov	kb2=\E[G, kbs=\177, kcbt=\E[Z, kcub1=\E[D, kcud1=\E[B,
103413cfc972SYuri Pankov	kcuf1=\E[C, kcuu1=\E[A, kdch1=\E[3~, kend=\E[4~, kf1=\E[[A,
103513cfc972SYuri Pankov	kf10=\E[21~, kf11=\E[23~, kf12=\E[24~, kf13=\E[25~,
103613cfc972SYuri Pankov	kf14=\E[26~, kf15=\E[28~, kf16=\E[29~, kf17=\E[31~,
103713cfc972SYuri Pankov	kf18=\E[32~, kf19=\E[33~, kf2=\E[[B, kf20=\E[34~,
103813cfc972SYuri Pankov	kf3=\E[[C, kf4=\E[[D, kf5=\E[[E, kf6=\E[17~, kf7=\E[18~,
103913cfc972SYuri Pankov	kf8=\E[19~, kf9=\E[20~, khome=\E[1~, kich1=\E[2~,
104013cfc972SYuri Pankov	kmous=\E[M, knp=\E[6~, kpp=\E[5~, kspd=^Z, nel=^M^J,
104113cfc972SYuri Pankov	op=\E49;39m, rev=\E[7m, ri=\EM, rmacs=^O, rmso=\E[27m,
104213cfc972SYuri Pankov	rmul=\E[24m, setab=\E[4%p1%dm, setaf=\E[3%p1%dm,
104313cfc972SYuri Pankov	sgr0=\E[0m, smacs=^N, smso=\E[7m, smul=\E[4m,
104413cfc972SYuri Pankov
104513cfc972SYuri Pankov#### Mach
104613cfc972SYuri Pankov#
104713cfc972SYuri Pankov
104813cfc972SYuri Pankov# From: Matthew Vernon <mcv21@pick.sel.cam.ac.uk>
104913cfc972SYuri Pankovmach|Mach Console,
105013cfc972SYuri Pankov	am, km,
105113cfc972SYuri Pankov	cols#80, it#8, lines#25,
105213cfc972SYuri Pankov	bel=^G, blink=\E[5m, bold=\E[1m, clear=\Ec, cr=^M,
105313cfc972SYuri Pankov	cub=\E[%p1%dD, cub1=^H, cud=\E[%p1%dB, cud1=^J,
105413cfc972SYuri Pankov	cuf=\E[%p1%dC, cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH,
105513cfc972SYuri Pankov	cuu=\E[%p1%dA, cuu1=\E[A, dl=\E[%p1%dM, dl1=\E[M, ed=\E[J,
105613cfc972SYuri Pankov	el=\E[K, home=\E[H, ht=^I, il=\E[%p1%dL, il1=\E[L, ind=^J,
105713cfc972SYuri Pankov	kbs=\177, kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A,
105813cfc972SYuri Pankov	kdch1=\E[9, kend=\E[Y, kf1=\EOP, kf10=\EOY, kf2=\EOQ,
105913cfc972SYuri Pankov	kf3=\EOR, kf4=\EOS, kf5=\EOT, kf6=\EOU, kf7=\EOV, kf8=\EOW,
106013cfc972SYuri Pankov	kf9=\EOX, khome=\E[H, kich1=\E[@, kll=\E[F, knp=\E[U,
106113cfc972SYuri Pankov	kpp=\E[V, rev=\E[7m, rmso=\E[0m, rmul=\E[24m, sgr0=\E[0m,
106213cfc972SYuri Pankov	smso=\E[7m, smul=\E[4m,
106313cfc972SYuri Pankovmach-bold|Mach Console with bold instead of underline,
106413cfc972SYuri Pankov	rmul=\E[0m, smul=\E[1m, use=mach,
106513cfc972SYuri Pankovmach-color|Mach Console with ANSI color,
106613cfc972SYuri Pankov	colors#8, pairs#64,
106713cfc972SYuri Pankov	dim=\E[2m, invis=\E[8m, op=\E[37;40m, rmso=\E[27m,
106813cfc972SYuri Pankov	setab=\E[4%p1%dm, setaf=\E[3%p1%dm, use=mach,
106913cfc972SYuri Pankov
107013cfc972SYuri Pankov# From: Marcus Brinkmann
107113cfc972SYuri Pankov# http://savannah.gnu.org/cgi-bin/viewcvs/*checkout*/hurd/hurd/console/
107213cfc972SYuri Pankov#
107313cfc972SYuri Pankov# Comments in the original are summarized here:
107413cfc972SYuri Pankov#
107513cfc972SYuri Pankov# hurd uses 8-bit characters (km).
107613cfc972SYuri Pankov#
107713cfc972SYuri Pankov# Although it doesn't do XON/XOFF, we don't want padding characters (xon).
107813cfc972SYuri Pankov#
107913cfc972SYuri Pankov# Regarding compatibility to vt100:  hurd doesn't specify <xenl>, as we don't
108013cfc972SYuri Pankov# have the eat_newline_glitch.  It doesn't support setting or removing tab
108113cfc972SYuri Pankov# stops (hts/tbc).
108213cfc972SYuri Pankov#
108313cfc972SYuri Pankov# hurd uses ^H instead of \E[D for cub1, as only ^H implements <bw> and it is
108413cfc972SYuri Pankov# one byte instead three.
108513cfc972SYuri Pankov#
108613cfc972SYuri Pankov# <ich1> is not included because hurd has insert mode.
108713cfc972SYuri Pankov#
108813cfc972SYuri Pankov# hurd doesn't use ^J for scrolling, because this could put things into the
108913cfc972SYuri Pankov# scrollback buffer.
109013cfc972SYuri Pankov#
109113cfc972SYuri Pankov# gsbom/grbom are used to enable/disable real bold (not intensity bright) mode.
109213cfc972SYuri Pankov# This is a GNU extension.
109313cfc972SYuri Pankov#
109413cfc972SYuri Pankov# The original has commented-out ncv, but is restored here.
109513cfc972SYuri Pankov#
109613cfc972SYuri Pankov# Reading the source, RIS resets cnorm, but not xmous.
109713cfc972SYuri Pankovhurd|The GNU Hurd console server,
109813cfc972SYuri Pankov	am, bce, bw, eo, km, mir, msgr, xon,
109913cfc972SYuri Pankov	colors#8, it#8, ncv#18, pairs#64,
110013cfc972SYuri Pankov	acsc=++\,\,--..00``aaffgghhiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
110113cfc972SYuri Pankov	bel=^G, blink=\E[5m, bold=\E[1m, cbt=\E[Z, civis=\E[?25l,
110213cfc972SYuri Pankov	clear=\Ec, cnorm=\E[?25h, cr=^M, csr=\E[%i%p1%d;%p2%dr,
110313cfc972SYuri Pankov	cub=\E[%p1%dD, cub1=^H, cud=\E[%p1%dB, cud1=\E[B,
110413cfc972SYuri Pankov	cuf=\E[%p1%dC, cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH,
110513cfc972SYuri Pankov	cuu=\E[%p1%dA, cuu1=\E[A, cvvis=\E[34l, dch=\E[%p1%dP,
110613cfc972SYuri Pankov	dch1=\E[P, dim=\E[2m, dl=\E[%p1%dM, dl1=\E[M,
110713cfc972SYuri Pankov	ech=\E[%p1%dX, ed=\E[J, el=\E[K, el1=\E[1K, flash=\Eg,
110813cfc972SYuri Pankov	home=\E[H, hpa=\E[%i%p1%dG, ht=^I, ich=\E[%p1%d@,
110913cfc972SYuri Pankov	il=\E[%p1%dL, il1=\E[L, ind=\E[S, indn=\E[%p1%dS,
111013cfc972SYuri Pankov	invis=\E[8m, kb2=\E[G, kbs=\177, kcbt=\E[Z, kcub1=\EOD,
111113cfc972SYuri Pankov	kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, kdch1=\E[3~,
111213cfc972SYuri Pankov	kend=\E[4~, kf1=\EOP, kf10=\E[21~, kf11=\E[23~,
111313cfc972SYuri Pankov	kf12=\E[24~, kf13=\E[25~, kf14=\E[26~, kf15=\E[28~,
111413cfc972SYuri Pankov	kf16=\E[29~, kf17=\E[31~, kf18=\E[32~, kf19=\E[33~,
111513cfc972SYuri Pankov	kf2=\EOQ, kf20=\E[34~, kf3=\EOR, kf4=\EOS, kf5=\E[15~,
111613cfc972SYuri Pankov	kf6=\E[17~, kf7=\E[18~, kf8=\E[19~, kf9=\E[20~,
111713cfc972SYuri Pankov	khome=\E[1~, kich1=\E[2~, kmous=\E[M, knp=\E[6~, kpp=\E[5~,
111813cfc972SYuri Pankov	kspd=^Z, nel=^M^J, op=\E[39;49m, rc=\E8, rev=\E[7m, ri=\E[T,
111913cfc972SYuri Pankov	rin=\E[%p1%dT, ritm=\E[23m, rmacs=\E[10m, rmir=\E[4l,
112013cfc972SYuri Pankov	rmso=\E[27m, rmul=\E[24m, rs1=\EM\E[?1000l, sc=\E7,
112113cfc972SYuri Pankov	setab=\E[4%p1%dm, setaf=\E[3%p1%dm,
112213cfc972SYuri Pankov	sgr=\E[0%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p5%t;2%;%?%p6%t;1%;%?%p7%t;8%;%?%p9%t;11%;m,
112313cfc972SYuri Pankov	sgr0=\E[0m, sitm=\E[3m, smacs=\E[11m, smir=\E[4h,
112413cfc972SYuri Pankov	smso=\E[7m, smul=\E[4m, vpa=\E[%i%p1%dd, grbom=\E[>1l,
112513cfc972SYuri Pankov	gsbom=\E[>1h,
112613cfc972SYuri Pankov
112713cfc972SYuri Pankov#### OSF Unix
112813cfc972SYuri Pankov#
112913cfc972SYuri Pankov
113013cfc972SYuri Pankov# OSF/1 1.1 Snapshot 2
113113cfc972SYuri Pankovpmcons|pmconsole|PMAX console,
113213cfc972SYuri Pankov	am,
113313cfc972SYuri Pankov	cols#128, lines#57,
113413cfc972SYuri Pankov	bel=^G, clear=^L, cr=^M, cub1=^H, cud1=^J, cuu1=^K, ht=^I,
113513cfc972SYuri Pankov	ind=^J, kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A,
113613cfc972SYuri Pankov	kf1=\EOP, kf2=\EOQ, kf3=\EOR, kf4=\EOS,
113713cfc972SYuri Pankov
113813cfc972SYuri Pankov# SCO console and SOS-Syscons console for 386bsd
113913cfc972SYuri Pankov# (scoansi: had unknown capabilities
114013cfc972SYuri Pankov#	:Gc=N:Gd=K:Gh=M:Gl=L:Gu=J:Gv=\072:\
114113cfc972SYuri Pankov#	:GC=E:GD=B:GH=D:GL=\64:GU=A:GV=\63:GR=C:
114213cfc972SYuri Pankov#	:G1=?:G2=Z:G3=@:G4=Y:G5=;:G6=I:G7=H:G8=<:\
114313cfc972SYuri Pankov#	:CW=\E[M:NU=\E[N:RF=\E[O:RC=\E[P:\
114413cfc972SYuri Pankov#	:WL=\E[S:WR=\E[T:CL=\E[U:CR=\E[V:\
114513cfc972SYuri Pankov# I renamed GS/GE/HM/EN/PU/PD/RT and added klone+sgr-dumb, based
114613cfc972SYuri Pankov# on the <smacs>=\E[12m  -- esr)
114713cfc972SYuri Pankov#
114813cfc972SYuri Pankov# klone+sgr-dumb is an error since the acsc does not match -TD
114913cfc972SYuri Pankov#
115013cfc972SYuri Pankov# In this description based on SCO's keyboard(HW) manpage list of default
115113cfc972SYuri Pankov# function key values:
115213cfc972SYuri Pankov#	F13-F24 are shifted F1-F12
115313cfc972SYuri Pankov#	F25-F36 are control F1-F12
115413cfc972SYuri Pankov#	F37-F48 are shift+control F1-F12
115513cfc972SYuri Pankov#
115613cfc972SYuri Pankov# hpa/vpa work in the console, but not in scoterm:
115713cfc972SYuri Pankov#	hpa=\E[%p1%dG,
115813cfc972SYuri Pankov#	vpa=\E[%p1%dd,
115913cfc972SYuri Pankov#
116013cfc972SYuri Pankov# SCO's terminfo uses
116113cfc972SYuri Pankov#	kLFT=\E[d,
116213cfc972SYuri Pankov#	kRIT=\E[c,
116313cfc972SYuri Pankov# which do not work (console or scoterm).
116413cfc972SYuri Pankov#
116513cfc972SYuri Pankov# Console documents only 3 attributes can be set with SGR (so we don't use sgr).
116613cfc972SYuri Pankovscoansi-old|SCO Extended ANSI standard crt (5.0.5),
116713cfc972SYuri Pankov	OTbs, am, bce, eo, xon,
116813cfc972SYuri Pankov	colors#8, cols#80, it#8, lines#25, pairs#64,
116913cfc972SYuri Pankov	acsc=+/\,.-\230.\2310[5566778899\:\:;;<<==>>FFGGHHIIJJKKLLMMNNOOPPQQRRSSTTUUVVWWXX`\204a0fxgqh2jYk?lZm@nEqDtCu4vAwBx3yszr{c}\034~\207,
117013cfc972SYuri Pankov	bel=^G, blink=\E[5m, bold=\E[1m, cbt=\E[Z,
117113cfc972SYuri Pankov	civis=\E[=14;12C, clear=\E[H\E[2J, cnorm=\E[=10;12C,
117213cfc972SYuri Pankov	cub=\E[%p1%dD, cub1=^H, cud=\E[%p1%dB, cud1=\E[B,
117313cfc972SYuri Pankov	cuf=\E[%p1%dC, cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH,
117413cfc972SYuri Pankov	cuu=\E[%p1%dA, cuu1=\E[A, cvvis=\E[=0;12C, dch=\E[%p1%dP,
117513cfc972SYuri Pankov	dch1=\E[P, dispc=\E[=%p1%dg, dl=\E[%p1%dM, dl1=\E[M,
117613cfc972SYuri Pankov	ed=\E[m\E[J, el=\E[m\E[K, el1=\E[1K, home=\E[H, ht=^I,
117713cfc972SYuri Pankov	hts=\EH, ich=\E[%p1%d@, ich1=\E[@, il=\E[%p1%dL, il1=\E[L,
117813cfc972SYuri Pankov	ind=\E[S, indn=\E[%p1%dS, invis=\E[8m, kbeg=\E[E, kbs=^H,
117913cfc972SYuri Pankov	kcbt=\E[Z, kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A,
118013cfc972SYuri Pankov	kdch1=\177, kend=\E[F, kf1=\E[M, kf10=\E[V, kf11=\E[W,
118113cfc972SYuri Pankov	kf12=\E[X, kf13=\E[Y, kf15=\E[a, kf16=\E[b, kf17=\E[c,
118213cfc972SYuri Pankov	kf18=\E[d, kf19=\E[e, kf2=\E[N, kf20=\E[f, kf21=\E[g,
118313cfc972SYuri Pankov	kf22=\E[h, kf23=\E[i, kf24=\E[j, kf25=\E[k, kf26=\E[l,
118413cfc972SYuri Pankov	kf27=\E[m, kf28=\E[n, kf29=\E[o, kf3=\E[O, kf30=\E[p,
118513cfc972SYuri Pankov	kf31=\E[q, kf32=\E[r, kf33=\E[s, kf34=\E[t, kf35=\E[u,
118613cfc972SYuri Pankov	kf36=\E[v, kf37=\E[w, kf38=\E[x, kf39=\E[y, kf4=\E[P,
118713cfc972SYuri Pankov	kf40=\E[z, kf41=\E[@, kf42=\E[[, kf43=\E[\\, kf44=\E[],
118813cfc972SYuri Pankov	kf45=\E[\^, kf46=\E[_, kf47=\E[`, kf48=\E[{, kf5=\E[Q,
118913cfc972SYuri Pankov	kf6=\E[R, kf7=\E[S, kf8=\E[T, kf9=\E[U, khome=\E[H,
119013cfc972SYuri Pankov	kich1=\E[L, knp=\E[G, kpp=\E[I, op=\E[0;37;40m, rc=\E8,
119113cfc972SYuri Pankov	rev=\E[7m, ri=\E[T, rin=\E[%p1%dT, rmacs=\E[10m,
119213cfc972SYuri Pankov	rmam=\E[?7l, rmso=\E[m, rmul=\E[m, sc=\E7,
119313cfc972SYuri Pankov	setab=\E[4%p1%dm, setaf=\E[3%p1%dm, sgr0=\E[0;10m,
119413cfc972SYuri Pankov	smacs=\E[12m, smam=\E[?7h, smso=\E[7m, smul=\E[4m,
119513cfc972SYuri Pankovscoansi-new|SCO Extended ANSI standard crt (5.0.6),
119613cfc972SYuri Pankov	km,
119713cfc972SYuri Pankov	civis=\E[=0c, cnorm=\E[=1c, csr=\E[%i%p1%d;%p2%dr,
119813cfc972SYuri Pankov	cvvis=\E[=2c, mgc=\E[=r, oc=\E[51m, op=\E[50m,
119913cfc972SYuri Pankov	rep=\E[%p1%d;%p2%db, rmm=\E[=11L,
120013cfc972SYuri Pankov	sgr=\E[0%?%p1%p3%|%t;7%;%?%p2%t;4%;%?%p4%t;5%;%?%p6%t;1%;%?%p7%t;8%;%?%p9%t;12%;m,
120113cfc972SYuri Pankov	smgb=\E[=1;0m, smgbp=\E[=1;%i%p1%dm,
120213cfc972SYuri Pankov	smglp=\E[=2;%i%p1%dm, smgr=\E[=3;0m,
120313cfc972SYuri Pankov	smgrp=\E[=3;%i%p1%dm, smgt=\E[=0;0m,
120413cfc972SYuri Pankov	smgtp=\E[=0;%i%p1%dm, smm=\E[=10L,
120513cfc972SYuri Pankov	wind=\E[%i%p1%d;%p2%d;%i%p3%d;%p4%dr,
120613cfc972SYuri Pankov	use=scoansi-old,
120713cfc972SYuri Pankov# make this easy to change...
120813cfc972SYuri Pankovscoansi|SCO Extended ANSI standard crt,
120913cfc972SYuri Pankov	use=scoansi-old,
121013cfc972SYuri Pankov
121113cfc972SYuri Pankov# This actually describes the generic SVr4 display driver for Intel boxes.
121213cfc972SYuri Pankov# The <dim=\E[2m> isn't documented and therefore may not be reliable.
121313cfc972SYuri Pankov# From: Eric Raymond <esr@snark.thyrsus.com> Mon Nov 27 19:00:53 EST 1995
121413cfc972SYuri Pankovatt6386|at386|386at|AT&T WGS 6386 console,
121513cfc972SYuri Pankov	am, bw, eo, xon,
121613cfc972SYuri Pankov	cols#80, it#8, lines#25,
121713cfc972SYuri Pankov	acsc=``a1fxgqh0jYk?lZm@nEooppqDrrsstCu4vAwBx3yyzz{{||}}~~,
121813cfc972SYuri Pankov	bel=^G, blink=\E[5m, bold=\E[1m, cbt=\E[Z, civis=\E[=C,
121913cfc972SYuri Pankov	clear=\E[2J\E[H, cnorm=\E[=1C, cr=^M, cub=\E[%p1%dD,
122013cfc972SYuri Pankov	cub1=\E[D, cud=\E[%p1%dB, cud1=\E[B, cuf=\E[%p1%dC,
122113cfc972SYuri Pankov	cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA,
122213cfc972SYuri Pankov	cuu1=\E[A, dch=\E[%p1%dP, dch1=\E[P, dim=\E[2m,
122313cfc972SYuri Pankov	dl=\E[%p1%dM, dl1=\E[1M, ech=\E[%p1%dX, ed=\E[J, el=\E[K,
122413cfc972SYuri Pankov	home=\E[H, hpa=\E[%i%p1%dG, ht=^I, hts=\EH, ich=\E[%p1%d@,
122513cfc972SYuri Pankov	ich1=\E[1@, il=\E[%p1%dL, il1=\E[1L, ind=\E[S,
122613cfc972SYuri Pankov	indn=\E[%p1%dS, invis=\E[9m, is2=\E[0;10;39m, kbs=^H,
122713cfc972SYuri Pankov	kcbt=^], kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A,
122813cfc972SYuri Pankov	kdch1=\E[P, kend=\E[Y, kf1=\EOP, kf10=\EOY, kf11=\EOZ,
122913cfc972SYuri Pankov	kf12=\EOA, kf2=\EOQ, kf3=\EOR, kf4=\EOS, kf5=\EOT, kf6=\EOU,
123013cfc972SYuri Pankov	kf7=\EOV, kf8=\EOW, kf9=\EOX, khome=\E[H, kich1=\E[@,
123113cfc972SYuri Pankov	knp=\E[U, kpp=\E[V, krmir=\E0, nel=\r\E[S, rc=\E8, rev=\E[7m,
123213cfc972SYuri Pankov	ri=\E[T, rin=\E[%p1%dT, rmacs=\E[10m, rmso=\E[m, rmul=\E[m,
123313cfc972SYuri Pankov	sc=\E7,
123413cfc972SYuri Pankov	sgr=\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,
123513cfc972SYuri Pankov	sgr0=\E[0;10m, smacs=\E[12m, smso=\E[7m, smul=\E[4m,
123613cfc972SYuri Pankov	tbc=\E[3g, vpa=\E[%i%p1%dd, use=klone+color,
123713cfc972SYuri Pankov# (pc6300plus: removed ":KM=/usr/lib/ua/kmap.s5:"; renamed BO/EE/CI/CV -- esr)
123813cfc972SYuri Pankovpc6300plus|AT&T 6300 plus,
123913cfc972SYuri Pankov	OTbs, am, xon,
124013cfc972SYuri Pankov	cols#80, lines#24,
124113cfc972SYuri Pankov	bel=^G, blink=\E[5m, bold=\E[1m, civis=\E[=C,
124213cfc972SYuri Pankov	clear=\E[2J\E[H, cnorm=\E[=1C, cr=^M, cub1=^H, cud1=\E[B,
124313cfc972SYuri Pankov	cuf1=\E[C, cup=\E[%i%p1%2d;%p2%2dH, cuu1=\E[A,
124413cfc972SYuri Pankov	dch1=\E[1P, dim=\E[2m, dl1=\E[1M, ed=\E[0J, el=\E[0K,
124513cfc972SYuri Pankov	home=\E[H, hts=\EH, ich1=\E[1@, il1=\E[1L, ind=^J,
124613cfc972SYuri Pankov	invis=\E[9m, kbs=^H, kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C,
124713cfc972SYuri Pankov	kcuu1=\E[A, kf1=\EOc, kf10=\EOu, kf2=\EOd, kf3=\EOe,
124813cfc972SYuri Pankov	kf4=\EOf, kf5=\EOg, kf6=\EOh, kf7=\EOi, kf8=\EOj, kf9=\EOk,
124913cfc972SYuri Pankov	nel=^M^J, rev=\E[7m, rmso=\E[m, rmul=\E[m, sgr0=\E[m,
125013cfc972SYuri Pankov	smso=\E[7m, smul=\E[4m, tbc=\E[3g,
125113cfc972SYuri Pankov
125213cfc972SYuri Pankov# From: Benjamin C. W. Sittler <bsittler@nmt.edu>
125313cfc972SYuri Pankov#
125413cfc972SYuri Pankov# I have a UNIX PC which I use as a terminal attached to my Linux PC.
125513cfc972SYuri Pankov# Unfortunately, the UNIX PC terminfo entry that comes with ncurses
125613cfc972SYuri Pankov# is broken. All the special key sequences are broken, making it unusable
125713cfc972SYuri Pankov# with Emacs. The problem stems from the following:
125813cfc972SYuri Pankov#
125913cfc972SYuri Pankov# The UNIX PC has a plethora of keys (103 of them, and there's no numeric
126013cfc972SYuri Pankov# keypad!), loadable fonts, and strange highlighting modes ("dithered"
126113cfc972SYuri Pankov# half-intensity, "smeared" bold, and real strike-out, for example.) It also
126213cfc972SYuri Pankov# uses resizable terminal windows, but the bundled terminal program always
126313cfc972SYuri Pankov# uses an 80x24 window (and doesn't support seem to support a 132-column
126413cfc972SYuri Pankov# mode.)
126513cfc972SYuri Pankov#
126613cfc972SYuri Pankov# HISTORY: The UNIX PC was one of the first machines with a GUI, and used a
126713cfc972SYuri Pankov# library which was a superset of SVr3.5 curses (called tam, for "terminal
126813cfc972SYuri Pankov# access method".) tam includes support for real, overlapping windows,
126913cfc972SYuri Pankov# onscreen function key labels, and bitmap graphics. But since the primary
127013cfc972SYuri Pankov# user interface on the UNIX PC was a GUI program (ua, for "user
127113cfc972SYuri Pankov# assistant",) and remote administration was considered important for the
127213cfc972SYuri Pankov# machine, tam also supported VT100-compatible terminals attached to the
127313cfc972SYuri Pankov# serial port or used across the StarLan network. To simulate the extra keys
127413cfc972SYuri Pankov# not present on a VT100, users could press ESC and a two-letter sequence,
127513cfc972SYuri Pankov# such as u d (Undo) or U D (Shift-Undo.) These two-letter sequences,
127613cfc972SYuri Pankov# however, were not the same as those sent by the actual Undo key. The
127713cfc972SYuri Pankov# actual Undo key sends ESC 0 s unshifted, and ESC 0 S shifted, for example.
127813cfc972SYuri Pankov# (If you're interested in adding some of the tam calls to ncurses, btw, I
127913cfc972SYuri Pankov# have the full documentation and several programs which use tam. It also
128013cfc972SYuri Pankov# used an extended terminfo format to describe key sequences, special
128113cfc972SYuri Pankov# highlighting modes, etc.)
128213cfc972SYuri Pankov#
128313cfc972SYuri Pankov# KEYS: This means that ncurses would quite painful on the UNIX PC, since
128413cfc972SYuri Pankov# there are two sequences for every key-modifier combination (local keyboard
128513cfc972SYuri Pankov# sequence and remote "VT100" sequence.) But I doubt many people are trying
128613cfc972SYuri Pankov# to use ncurses on the UNIX PC, since ncurses doesn't properly handle the
128713cfc972SYuri Pankov# GUI. Unfortunately, the terminfo entry (and the termcap, too, I presume)
128813cfc972SYuri Pankov# seem to have been built from the manual describing the VT100 sequences.
128913cfc972SYuri Pankov# This means it doesn't work for a real live UNIX PC.
129013cfc972SYuri Pankov#
129113cfc972SYuri Pankov# FONTS: The UNIX PC also has a strange interpretation of "alternate
129213cfc972SYuri Pankov# character set". Rather than the VT100 graphics you might expect, it allows
129313cfc972SYuri Pankov# up to 8 custom fonts to be loaded at any given time. This means that
129413cfc972SYuri Pankov# programs expecting VT100 graphics will usually be disappointed. For this
129513cfc972SYuri Pankov# reason I have disabled the smacs/rmacs sequences, but they could easily be
129613cfc972SYuri Pankov# re-enabled. Here are the relevant control sequences (from the ESCAPE(7)
129713cfc972SYuri Pankov# manpage), should you wish to do so:
129813cfc972SYuri Pankov#
129913cfc972SYuri Pankov# SGR10 - Select font 0 - ESC [ 10 m or SO
130013cfc972SYuri Pankov# SGR11 - Select font 1 - ESC [ 11 m or SI
130113cfc972SYuri Pankov# SGR12 - Select font 2 - ESC [ 12 m
130213cfc972SYuri Pankov# ... (etc.)
130313cfc972SYuri Pankov# SGR17 - Select font 7 - ESC [ 17 m
130413cfc972SYuri Pankov#
130513cfc972SYuri Pankov# Graphics for line drawing are not reliably found at *any* character
130613cfc972SYuri Pankov# location because the UNIX PC has dynamically reloadable fonts. I use font
130713cfc972SYuri Pankov# 0 for regular text and font 1 for italics, but this is by no means
130813cfc972SYuri Pankov# universal. So ASCII line drawing is in order if smacs/rmacs are enabled.
130913cfc972SYuri Pankov#
131013cfc972SYuri Pankov# MISC: The cursor visible/cursor invisible sequences were swapped in the
131113cfc972SYuri Pankov# distributed terminfo.
131213cfc972SYuri Pankov#
131313cfc972SYuri Pankov# To ameliorate these problems (and fix a few highlighting bugs) I rewrote
131413cfc972SYuri Pankov# the UNIX PC terminfo entry. The modified version works great with Lynx,
131513cfc972SYuri Pankov# Emacs, and XEmacs running on my Linux PC and displaying on the UNIX PC
131613cfc972SYuri Pankov# attached by serial cable. In Emacs, even the Undo key works, and many
131713cfc972SYuri Pankov# applications can now use the F1-F8 keys.
131813cfc972SYuri Pankov#
131913cfc972SYuri Pankov# esr's notes:
132013cfc972SYuri Pankov#	Terminfo entry for the AT&T Unix PC 7300
132113cfc972SYuri Pankov#	from escape(7) in Unix PC 7300 Manual.
132213cfc972SYuri Pankov#	Somewhat similar to a vt100-am (but different enough
132313cfc972SYuri Pankov#	to redo this from scratch.)
132413cfc972SYuri Pankov#
132513cfc972SYuri Pankov#	/***************************************************************
132613cfc972SYuri Pankov#	*
132713cfc972SYuri Pankov#	*           FONT LOADING PROGRAM FOR THE UNIX PC
132813cfc972SYuri Pankov#	*
132913cfc972SYuri Pankov#	*     This routine loads a font defined in the file ALTFONT
133013cfc972SYuri Pankov#	*     into font memory slot #1.  Once the font has been loaded,
133113cfc972SYuri Pankov#	*     it can be used as an alternative character set.
133213cfc972SYuri Pankov#	*
133313cfc972SYuri Pankov#	*     The call to ioctl with the argument WIOCLFONT is the key
133413cfc972SYuri Pankov#	*     to this routine.  For more information, see window(7) in
133513cfc972SYuri Pankov#	*     the PC 7300 documentation.
133613cfc972SYuri Pankov#	***************************************************************/
133713cfc972SYuri Pankov#	#include <string.h>		/* needed for strcpy call */
133813cfc972SYuri Pankov#	#include <sys/window.h>         /* needed for ioctl call */
133913cfc972SYuri Pankov#	#define FNSIZE	60		/* font name size */
134013cfc972SYuri Pankov#	#define ALTFONT  "/usr/lib/wfont/special.8.ft"  /* font file */
134113cfc972SYuri Pankov#	/*
134213cfc972SYuri Pankov#	*     The file /usr/lib/wfont/special.8.ft comes with the
134313cfc972SYuri Pankov#	*     standard PC software.  It defines a graphics character set
134413cfc972SYuri Pankov#	*     similar to that of the Teletype 5425 terminal.  To view
134513cfc972SYuri Pankov#	*     this or other fonts in /usr/lib/wfont, use the command
134613cfc972SYuri Pankov#	*     cfont <filename>.  For further information on fonts see
134713cfc972SYuri Pankov#	*     cfont(1) in the PC 7300 documentation.
134813cfc972SYuri Pankov#	*/
134913cfc972SYuri Pankov#
135013cfc972SYuri Pankov#	struct altfdata 	/* structure for alt font data */
135113cfc972SYuri Pankov#	{
135213cfc972SYuri Pankov#	short	altf_slot;		/* memory slot number */
135313cfc972SYuri Pankov#	char	altf_name[FNSIZE];	/* font name (file name) */
135413cfc972SYuri Pankov#	};
135513cfc972SYuri Pankov#	ldfont()
135613cfc972SYuri Pankov#	{
135713cfc972SYuri Pankov#		int wd;		/* window in which altfont will be */
135813cfc972SYuri Pankov#		struct altfdata altf;
135913cfc972SYuri Pankov#		altf.altf_slot=1;
136013cfc972SYuri Pankov#		strcpy(altf.altf_name,ALTFONT);
136113cfc972SYuri Pankov#		for (wd =1; wd < 12; wd++) {
136213cfc972SYuri Pankov#		     ioctl(wd, WIOCLFONT,&altf);
136313cfc972SYuri Pankov#	        }
136413cfc972SYuri Pankov#	}
136513cfc972SYuri Pankov#
136613cfc972SYuri Pankov# (att7300: added <civis>/<cnorm>/<ich1>/<invis> from the BSDI entry,
136713cfc972SYuri Pankov# they're confirmed by the man page for the System V display---esr)
136813cfc972SYuri Pankov#
136913cfc972SYuri Pankovatt7300|unixpc|pc7300|3b1|s4|AT&T UNIX PC Model 7300,
137013cfc972SYuri Pankov	am, xon,
137113cfc972SYuri Pankov	cols#80, it#8, lines#24,
137213cfc972SYuri Pankov	bel=^G, blink=\E[9m, bold=\E[1m, cbt=\E^I, civis=\E[=1C,
137313cfc972SYuri Pankov	clear=\E[2J\E[H, cnorm=\E[=0C, cr=^M, cub=\E[%p1%dD,
137413cfc972SYuri Pankov	cub1=^H, cud=\E[%p1%dB, cud1=\E[B, cuf=\E[%p1%dC,
137513cfc972SYuri Pankov	cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA,
137613cfc972SYuri Pankov	cuu1=\E[A, dch1=\E[P, dim=\E[2m, dl=\E[%p1%dM, dl1=\E[M,
137713cfc972SYuri Pankov	ed=\E[0J, el=\E[0K, home=\E[H, ich1=\E[@, il=\E[%p1%dL,
137813cfc972SYuri Pankov	il1=\E[L, ind=^J, invis=\E[9m, is1=\017\E[=1w, kBEG=\ENB,
137913cfc972SYuri Pankov	kCAN=\EOW, kCPY=\END, kCRT=\EON, kDC=\ENF, kDL=\ENE,
138013cfc972SYuri Pankov	kEND=\ENN, kEOL=\EOA, kFND=\EOX, kHLP=\EOM, kHOM=\ENM,
138113cfc972SYuri Pankov	kIC=\ENJ, kLFT=\ENK, kMOV=\ENC, kNXT=\ENH, kOPT=\EOR,
138213cfc972SYuri Pankov	kPRV=\ENG, kRDO=\EOT, kRIT=\ENL, kRPL=\EOY, kSAV=\EOO,
138313cfc972SYuri Pankov	kUND=\EOS, kbeg=\ENb, kbs=^H, kcan=\EOw, kcbt=\E[Z,
138413cfc972SYuri Pankov	kclo=\EOV, kclr=\E[J, kcmd=\EOu, kcpy=\ENd, kcrt=\EOn,
138513cfc972SYuri Pankov	kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, kdch1=\ENf,
138613cfc972SYuri Pankov	ked=\E[J, kel=\EOa, kend=\E0, kext=\EOk, kf1=\EOc, kf2=\EOd,
138713cfc972SYuri Pankov	kf3=\EOe, kf4=\EOf, kf5=\EOg, kf6=\EOh, kf7=\EOi, kf8=\EOj,
138813cfc972SYuri Pankov	kfnd=\EOx, khlp=\EOm, khome=\E[H, kich1=\ENj, kind=\E[B,
138913cfc972SYuri Pankov	kmov=\ENc, kmrk=\ENi, knp=\E[U, knxt=\ENh, kopn=\EOv,
139013cfc972SYuri Pankov	kopt=\EOr, kpp=\E[V, kprt=\EOz, kprv=\ENg, krdo=\EOt,
139113cfc972SYuri Pankov	kref=\EOb, krfr=\ENa, kri=\E[A, krpl=\EOy, krst=\EOB,
139213cfc972SYuri Pankov	ksav=\EOo, kslt=\ENI, kund=\EOs, nel=\EE, rev=\E[7m, ri=\EM,
139313cfc972SYuri Pankov	rmso=\E[m, rmul=\E[m, sgr0=\E[0;10m, smso=\E[7m,
139413cfc972SYuri Pankov	smul=\E[4m,
139513cfc972SYuri Pankov
139613cfc972SYuri Pankov# Sent by Stefan Stapelberg <stefan@rent-a-guru.de>, 24 Feb 1997, this is
139713cfc972SYuri Pankov# from SGI's terminfo database.  SGI's entry shows F9-F12 with the codes
139813cfc972SYuri Pankov# for the application keypad mode.  We have added iris-ansi-ap rather than
139913cfc972SYuri Pankov# change the original to keypad mode.
140013cfc972SYuri Pankov#
140113cfc972SYuri Pankov# (iris-ansi: added rmam/smam based on init string -- esr)
140213cfc972SYuri Pankov#
140313cfc972SYuri Pankov# This entry, and those derived from it, is used in xwsh (also known as
140413cfc972SYuri Pankov# winterm).  Some capabilities that do not fit into the terminfo model
140513cfc972SYuri Pankov# include the shift- and control-functionkeys:
140613cfc972SYuri Pankov#
140713cfc972SYuri Pankov# F1-F12 generate different codes when shift or control modifiers are used.
140813cfc972SYuri Pankov# For example:
140913cfc972SYuri Pankov#	F1      	\E[001q
141013cfc972SYuri Pankov#	shift F1	\E[013q
141113cfc972SYuri Pankov#	control-F1	\E[025q
141213cfc972SYuri Pankov#
141313cfc972SYuri Pankov# In application keypad mode, F9-F12 generate codes like vt100 PF1-PF4, i.e.,
141413cfc972SYuri Pankov# \EOP to \EOS.  The shifted and control modifiers still do the same thing.
141513cfc972SYuri Pankov#
141613cfc972SYuri Pankov# The cursor keys also have different codes:
141713cfc972SYuri Pankov#	control-up	\E[162q
141813cfc972SYuri Pankov#	control-down	\E[165q
141913cfc972SYuri Pankov#	control-left	\E[159q
142013cfc972SYuri Pankov#	control-right	\E[168q
142113cfc972SYuri Pankov#
142213cfc972SYuri Pankov#	shift-up	\E[161q
142313cfc972SYuri Pankov#	shift-down	\E[164q
142413cfc972SYuri Pankov#	shift-left	\E[158q
142513cfc972SYuri Pankov#	shift-right	\E[167q
142613cfc972SYuri Pankov#
142713cfc972SYuri Pankov#	control-tab	\[072q
142813cfc972SYuri Pankov#
142913cfc972SYuri Pankoviris-ansi|iris-ansi-net|IRIS emulating 40 line ANSI terminal (almost VT100),
143013cfc972SYuri Pankov	am,
143113cfc972SYuri Pankov	cols#80, it#8, lines#40,
143213cfc972SYuri Pankov	bel=^G, bold=\E[1m, clear=\E[H\E[2J,
143313cfc972SYuri Pankov	cnorm=\E[9/y\E[12/y\E[=6l, cr=^M, cub=\E[%p1%dD,
143413cfc972SYuri Pankov	cub1=\E[D, cud=\E[%p1%dB, cud1=^J, cuf=\E[%p1%dC,
143513cfc972SYuri Pankov	cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA,
143613cfc972SYuri Pankov	cuu1=\E[A, cvvis=\E[10/y\E[=1h\E[=2l\E[=6h,
143713cfc972SYuri Pankov	dl=\E[%p1%dM, dl1=\E[M, ed=\E[J, el=\E[K, el1=\E[1K,
143813cfc972SYuri Pankov	home=\E[H, ht=^I, hts=\EH, il=\E[%p1%dL, il1=\E[L, ind=\ED,
143913cfc972SYuri Pankov	is2=\E[?1l\E>\E[?7h\E[100g\E[0m\E7\E[r\E8, kDC=\E[P,
144013cfc972SYuri Pankov	kEND=\E[147q, kHOM=\E[143q, kLFT=\E[158q, kPRT=\E[210q,
144113cfc972SYuri Pankov	kRIT=\E[167q, kSPD=\E[218q, kbs=^H, kcbt=\E[Z, kcub1=\E[D,
144213cfc972SYuri Pankov	kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, kdch1=\177,
144313cfc972SYuri Pankov	kend=\E[146q, kent=^M, kf1=\E[001q, kf10=\E[010q,
144413cfc972SYuri Pankov	kf11=\E[011q, kf12=\E[012q, kf2=\E[002q, kf3=\E[003q,
144513cfc972SYuri Pankov	kf4=\E[004q, kf5=\E[005q, kf6=\E[006q, kf7=\E[007q,
144613cfc972SYuri Pankov	kf8=\E[008q, kf9=\E[009q, khome=\E[H, kich1=\E[139q,
144713cfc972SYuri Pankov	knp=\E[154q, kpp=\E[150q, kprt=\E[209q, krmir=\E[146q,
144813cfc972SYuri Pankov	kspd=\E[217q, nel=\EE, pfkey=\EP101;%p1%d.y%p2%s\E\\,
144913cfc972SYuri Pankov	rc=\E8, rev=\E[7m, ri=\EM, rmam=\E[?7l, rmso=\E[m, rmul=\E[m,
145013cfc972SYuri Pankov	sc=\E7, sgr0=\E[m, smam=\E[?7h, smso=\E[1;7m, smul=\E[4m,
145113cfc972SYuri Pankov	tbc=\E[3g,
145213cfc972SYuri Pankoviris-ansi-ap|IRIS ANSI in application-keypad mode,
145313cfc972SYuri Pankov	is2=\E[?1l\E=\E[?7h, kent=\EOM, kf10=\E[010q,
145413cfc972SYuri Pankov	kf11=\E[011q, kf12=\E[012q, kf9=\E[009q, use=iris-ansi,
145513cfc972SYuri Pankov
145613cfc972SYuri Pankov# From the man-page, this is a quasi-vt100 emulator that runs on SGI's IRIX
145713cfc972SYuri Pankov# (T.Dickey 98/1/24)
145813cfc972SYuri Pankoviris-color|xwsh|IRIX ANSI with color,
145913cfc972SYuri Pankov	ncv#33,
146013cfc972SYuri Pankov	csr=\E[%i%p1%d;%p2%dr, dch=\E[%p1%dP, dim=\E[2m,
146113cfc972SYuri Pankov	ech=\E[%p1%dX, ich=\E[%p1%d@, rc=\E8, ritm=\E[23m,
146213cfc972SYuri Pankov	rmul=\E[24m, rs1=\Ec,
146313cfc972SYuri Pankov	rs2=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h, sc=\E7,
146413cfc972SYuri Pankov	sitm=\E[3m, use=vt100+enq, use=klone+color,
146513cfc972SYuri Pankov	use=iris-ansi-ap,
146613cfc972SYuri Pankov
146713cfc972SYuri Pankov# The following is a version of the ibm-pc entry distributed with PC/IX,
146813cfc972SYuri Pankov# (Interactive Systems' System 3 for the Big Blue), modified by Richard
146913cfc972SYuri Pankov# McIntosh at UCB/CSM.  The :pt: and :uc: have been removed from the original,
147013cfc972SYuri Pankov# (the former is untrue, and the latter failed under UCB/man); standout and
147113cfc972SYuri Pankov# underline modes have been added.  Note: this entry describes the "native"
147213cfc972SYuri Pankov# capabilities of the PC monochrome display, without ANY emulation; most
147313cfc972SYuri Pankov# communications packages (but NOT PC/IX connect) do some kind of emulation.
147413cfc972SYuri Pankovpcix|PC/IX console,
147513cfc972SYuri Pankov	am, bw, eo,
147613cfc972SYuri Pankov	cols#80, lines#24,
147713cfc972SYuri Pankov	clear=\Ec, cub1=^H, cud1=\E[B, cuf1=\E[C,
147813cfc972SYuri Pankov	cup=\E[%i%p1%2d;%p2%2dH, cuu1=\E[A, ed=\E[J, el=\E[K,
147913cfc972SYuri Pankov	home=\E[H, rmso=\E[m, rmul=\E[m, sgr0=\E[m, smso=\E[7m,
148013cfc972SYuri Pankov	smul=\E[4m,
148113cfc972SYuri Pankov
148213cfc972SYuri Pankov# (ibmpcx: this entry used to be known as ibmx.
148313cfc972SYuri Pankov# It formerly included the following extension capabilities:
148413cfc972SYuri Pankov#	:GC=b:GL=v:GR=t:RT=^J:\
148513cfc972SYuri Pankov#	:GH=\E[196g:GV=\E[179g:\
148613cfc972SYuri Pankov#	:GU=\E[193g:GD=\E[194g:\
148713cfc972SYuri Pankov#	:G1=\E[191g:G2=\E[218g:G3=\E[192g:G4=\E[217g:\
148813cfc972SYuri Pankov#	:CW=\E[E:NU=\E[F:RF=\E[G:RC=\E[H:\
148913cfc972SYuri Pankov#	:WL=\E[K:WR=\E[L:CL=\E[M:CR=\E[N:\
149013cfc972SYuri Pankov# I renamed GS/GE/WL/WR/CL/CR/PU/PD/HM/EN; also, removed a duplicate
149113cfc972SYuri Pankov# ":kh=\E[Y:".  Added IBM-PC forms characters and highlights, they match
149213cfc972SYuri Pankov# what was there before. -- esr)
149313cfc972SYuri Pankovibmpcx|xenix|ibmx|IBM PC xenix console display,
149413cfc972SYuri Pankov	OTbs, am, msgr,
149513cfc972SYuri Pankov	cols#80, lines#25,
149613cfc972SYuri Pankov	clear=^L, cub1=^H, cud1=\E[B, cuf1=\E[C,
149713cfc972SYuri Pankov	cup=\E[%p1%d;%p2%dH, cuu1=\E[A, dch1=\E[P, dl1=\E[M,
149813cfc972SYuri Pankov	ed=\E[J, el=\E[K, home=\E[H, ich1=\E[@, il1=\E[L, kbs=^H,
149913cfc972SYuri Pankov	kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, kend=\E[d,
150013cfc972SYuri Pankov	kf1=\E[K, kf2=\E[L, kf3=\E[M, kf4=\E[N, khome=\E[Y, knp=\E[e,
150113cfc972SYuri Pankov	kpp=\E[Z, use=klone+acs, use=klone+sgr8,
150213cfc972SYuri Pankov
150313cfc972SYuri Pankov#### QNX
150413cfc972SYuri Pankov#
150513cfc972SYuri Pankov
150613cfc972SYuri Pankov# QNX 4.0 Console
150713cfc972SYuri Pankov# Michael's original version of this entry had <am@>, <smcup=\Ei>,
150813cfc972SYuri Pankov# <rmcup=\Eh\ER>; this was so terminfo applications could write the lower
150913cfc972SYuri Pankov# right corner without triggering a scroll.  The ncurses terminfo library can
151013cfc972SYuri Pankov# handle this case with the <ich1> capability, and prefers <am> for better
151113cfc972SYuri Pankov# optimization.  Bug: The <op> capability resets attributes.
151213cfc972SYuri Pankov# From: Michael Hunter <mphunter@qnx.com> 30 Jul 1996
151313cfc972SYuri Pankov# (removed: <sgr=%?%p1%t\E<%;%p2%t\E[%;%p3%t\E(%;%p4%t\E{%;%p6%t\E<%;,>)
151413cfc972SYuri Pankovqnx|qnx4|qnx console,
151513cfc972SYuri Pankov	daisy, km, mir, msgr, xhpa, xt,
151613cfc972SYuri Pankov	colors#8, cols#80, it#4, lines#25, ncv#3, pairs#8,
151713cfc972SYuri Pankov	acsc=O\333a\261j\331k\277l\332m\300n\305o\337q\304s\334t\303u\264v\301w\302x\263,
151813cfc972SYuri Pankov	bel=^G, blink=\E{, bold=\E<, civis=\Ey0, clear=\EH\EJ,
151913cfc972SYuri Pankov	cnorm=\Ey1, cr=^M, cub1=^H, cud1=^J, cuf1=\EC,
152013cfc972SYuri Pankov	cup=\EY%p1%{32}%+%c%p2%{32}%+%c, cuu1=\EA, cvvis=\Ey2,
152113cfc972SYuri Pankov	dch1=\Ef, dl1=\EF, ed=\EJ, el=\EK, home=\EH, ht=^I, ich1=\Ee,
152213cfc972SYuri Pankov	il1=\EE, ind=^J, kBEG=\377\356, kCAN=\377\263,
152313cfc972SYuri Pankov	kCMD=\377\267, kCPY=\377\363, kCRT=\377\364,
152413cfc972SYuri Pankov	kDL=\377\366, kEND=\377\301, kEOL=\377\311,
152513cfc972SYuri Pankov	kEXT=\377\367, kFND=\377\370, kHLP=\377\371,
152613cfc972SYuri Pankov	kHOM=\377\260, kIC=\377\340, kLFT=\377\264,
152713cfc972SYuri Pankov	kMOV=\377\306, kMSG=\377\304, kNXT=\377\272,
152813cfc972SYuri Pankov	kOPT=\377\372, kPRT=\377\275, kPRV=\377\262,
152913cfc972SYuri Pankov	kRDO=\377\315, kRES=\377\374, kRIT=\377\266,
153013cfc972SYuri Pankov	kRPL=\377\373, kSAV=\377\307, kSPD=\377\303,
153113cfc972SYuri Pankov	kUND=\377\337, kbeg=\377\300, kcan=\377\243, kcbt=\377\0,
153213cfc972SYuri Pankov	kclo=\377\343, kclr=\377\341, kcmd=\377\245,
153313cfc972SYuri Pankov	kcpy=\377\265, kcrt=\377\305, kctab=\377\237,
153413cfc972SYuri Pankov	kcub1=\377\244, kcud1=\377\251, kcuf1=\377\246,
153513cfc972SYuri Pankov	kcuu1=\377\241, kdch1=\377\254, kdl1=\377\274,
153613cfc972SYuri Pankov	ked=\377\314, kel=\377\310, kend=\377\250, kent=\377\320,
153713cfc972SYuri Pankov	kext=\377\270, kf1=\377\201, kf10=\377\212,
153813cfc972SYuri Pankov	kf11=\377\256, kf12=\377\257, kf13=\377\213,
153913cfc972SYuri Pankov	kf14=\377\214, kf15=\377\215, kf16=\377\216,
154013cfc972SYuri Pankov	kf17=\377\217, kf18=\377\220, kf19=\377\221,
154113cfc972SYuri Pankov	kf2=\377\202, kf20=\377\222, kf21=\377\223,
154213cfc972SYuri Pankov	kf22=\377\224, kf23=\377\333, kf24=\377\334,
154313cfc972SYuri Pankov	kf25=\377\225, kf26=\377\226, kf27=\377\227,
154413cfc972SYuri Pankov	kf28=\377\230, kf29=\377\231, kf3=\377\203,
154513cfc972SYuri Pankov	kf30=\377\232, kf31=\377\233, kf32=\377\234,
154613cfc972SYuri Pankov	kf33=\377\235, kf34=\377\236, kf35=\377\276,
154713cfc972SYuri Pankov	kf36=\377\277, kf37=\377\321, kf38=\377\322,
154813cfc972SYuri Pankov	kf39=\377\323, kf4=\377\204, kf40=\377\324,
154913cfc972SYuri Pankov	kf41=\377\325, kf42=\377\326, kf43=\377\327,
155013cfc972SYuri Pankov	kf44=\377\330, kf45=\377\331, kf46=\377\332,
155113cfc972SYuri Pankov	kf47=\377\316, kf48=\377\317, kf5=\377\205, kf6=\377\206,
155213cfc972SYuri Pankov	kf7=\377\207, kf8=\377\210, kf9=\377\211, kfnd=\377\346,
155313cfc972SYuri Pankov	khlp=\377\350, khome=\377\240, khts=\377\342,
155413cfc972SYuri Pankov	kich1=\377\253, kil1=\377\273, kind=\377\261,
155513cfc972SYuri Pankov	kmov=\377\351, kmrk=\377\355, kmsg=\377\345,
155613cfc972SYuri Pankov	knp=\377\252, knxt=\377\312, kopn=\377\357,
155713cfc972SYuri Pankov	kopt=\377\353, kpp=\377\242, kprt=\377\255,
155813cfc972SYuri Pankov	kprv=\377\302, krdo=\377\336, kref=\377\354,
155913cfc972SYuri Pankov	kres=\377\360, krfr=\377\347, kri=\377\271,
156013cfc972SYuri Pankov	krmir=\377\313, krpl=\377\362, krst=\377\352,
156113cfc972SYuri Pankov	ksav=\377\361, kslt=\377\247, kspd=\377\335,
156213cfc972SYuri Pankov	ktbc=\377\344, kund=\377\365, mvpa=\E!%p1%02d, op=\ER,
156313cfc972SYuri Pankov	rep=\Eg%p2%{32}%+%c%p1%c, rev=\E(, ri=\EI, rmcup=\Eh\ER,
156413cfc972SYuri Pankov	rmso=\E), rmul=\E], rs1=\ER, setb=\E@%p1%Pb%gb%gf%d%d,
156513cfc972SYuri Pankov	setf=\E@%p1%Pf%gb%gf%d%d, sgr0=\E}\E]\E>\E), smcup=\Ei,
156613cfc972SYuri Pankov	smso=\E(, smul=\E[,
156713cfc972SYuri Pankov#
156813cfc972SYuri Pankov#
156913cfc972SYuri Pankovqnxt|qnxt4|QNX4 terminal,
157013cfc972SYuri Pankov	crxm, use=qnx4,
157113cfc972SYuri Pankov#
157213cfc972SYuri Pankovqnxm|QNX4 with mouse events,
157313cfc972SYuri Pankov	maddr#1,
157413cfc972SYuri Pankov	chr=\E/, cvr=\E", is1=\E/0t, mcub=\E/>1h, mcub1=\E/>7h,
157513cfc972SYuri Pankov	mcud=\E/>1h, mcud1=\E/>1l\E/>9h, mcuf=\E/>1h\E/>9l,
157613cfc972SYuri Pankov	mcuf1=\E/>7l, mcuu=\E/>6h, mcuu1=\E/>6l, rmicm=\E/>2l,
157713cfc972SYuri Pankov	smicm=\E/>2h, use=qnx4,
157813cfc972SYuri Pankov#
157913cfc972SYuri Pankovqnxw|QNX4 windows,
158013cfc972SYuri Pankov	xvpa, use=qnxm,
158113cfc972SYuri Pankov#
158213cfc972SYuri Pankov#	Monochrome QNX4 terminal or console. Setting this terminal type will
158313cfc972SYuri Pankov#	allow an application running on a color console to behave as if it
158413cfc972SYuri Pankov#	were a monochrome terminal. Output will be through stdout instead of
158513cfc972SYuri Pankov#	console writes because the term routines will recognize that the
158613cfc972SYuri Pankov#	terminal name starts with 'qnxt'.
158713cfc972SYuri Pankov#
158813cfc972SYuri Pankovqnxtmono|Monochrome QNX4 terminal or console,
158913cfc972SYuri Pankov	colors@, pairs@,
159013cfc972SYuri Pankov	scp@, use=qnx4,
159113cfc972SYuri Pankov
159213cfc972SYuri Pankov# From: Federico Bianchi <bianchi@pc-arte2.arte.unipi.it>, 1 Jul 1998
159313cfc972SYuri Pankov# (esr: commented out <scp> and <rmcup> to avoid warnings.)
159413cfc972SYuri Pankov# (TD: derive from original qnx4 entry)
159513cfc972SYuri Pankovqnxt2|qnx 2.15 serial terminal,
159613cfc972SYuri Pankov	am,
159713cfc972SYuri Pankov	civis@, cnorm@, cvvis@, dch1@, ich1@, kRES@, kRPL@, kUND@, kspd@,
159813cfc972SYuri Pankov	rep@, rmcup@, rmso=\E>, setb@, setf@, smcup@, smso=\E<, use=qnx4,
159913cfc972SYuri Pankov
160013cfc972SYuri Pankov# QNX ANSI terminal definition
160113cfc972SYuri Pankovqansi-g|QNX ANSI,
160213cfc972SYuri Pankov	am, eslok, hs, xon,
160313cfc972SYuri Pankov	colors#8, cols#80, it#8, lines#25, ncv#19, pairs#64, wsl#80,
160413cfc972SYuri Pankov	acsc=Oa``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
160513cfc972SYuri Pankov	bel=^G, blink=\E[5m, bold=\E[1m, cbt=\E[Z, civis=\E[?25l,
160613cfc972SYuri Pankov	clear=\E[2J\E[H, cnorm=\E[?25h\E[?12l, cr=^M,
160713cfc972SYuri Pankov	csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=\E[D,
160813cfc972SYuri Pankov	cud=\E[%p1%dB, cud1=\E[B, cuf=\E[%p1%dC, cuf1=\E[C,
160913cfc972SYuri Pankov	cup=\E[%i%p1%d;%p2%dH$<5>, cuu=\E[%p1%dA, cuu1=\E[A,
161013cfc972SYuri Pankov	cvvis=\E[?12;25h, dch=\E[%p1%dP, dch1=\E[P, dim=\E[2m,
161113cfc972SYuri Pankov	dl=\E[%p1%dM, dl1=\E[1M, dsl=\E[r, ech=\E[%p1%dX, ed=\E[J,
161213cfc972SYuri Pankov	el=\E[K, el1=\E[1K\E[X, flash=\E[?5h$<200>\E[?5l,
161313cfc972SYuri Pankov	fsl=\E[?6h\E8, home=\E[H, hpa=\E[%i%p1%dG, ht=^I, hts=\EH,
161413cfc972SYuri Pankov	ich=\E[%p1%d@, ich1=\E[1@, il=\E[%p1%dL, il1=\E[1L,
161513cfc972SYuri Pankov	ind=\E[S, indn=\E[%p1%dS, invis=\E[9m,
161613cfc972SYuri Pankov	is2=\E>\E[?1l\E[?7h\E[0;10;39;49m, is3=\E(B\E)0,
161713cfc972SYuri Pankov	kBEG=\ENn, kCAN=\E[s, kCMD=\E[t, kCPY=\ENs, kCRT=\ENt,
161813cfc972SYuri Pankov	kDL=\ENv, kEXT=\ENw, kFND=\ENx, kHLP=\ENy, kHOM=\E[h,
161913cfc972SYuri Pankov	kLFT=\E[d, kNXT=\E[u, kOPT=\ENz, kPRV=\E[v, kRIT=\E[c,
162013cfc972SYuri Pankov	kbs=^H, kcan=\E[S, kcbt=\E[Z, kclo=\ENc, kclr=\ENa,
162113cfc972SYuri Pankov	kcmd=\E[G, kcpy=\E[g, kctab=\E[z, kcub1=\E[D, kcud1=\E[B,
162213cfc972SYuri Pankov	kcuf1=\E[C, kcuu1=\E[A, kdch1=\E[P, kdl1=\E[p, kend=\E[Y,
162313cfc972SYuri Pankov	kext=\E[y, kf1=\EOP, kf10=\EOY, kf11=\EOZ, kf12=\EOA,
162413cfc972SYuri Pankov	kf13=\EOp, kf14=\EOq, kf15=\EOr, kf16=\EOs, kf17=\EOt,
162513cfc972SYuri Pankov	kf18=\EOu, kf19=\EOv, kf2=\EOQ, kf20=\EOw, kf21=\EOx,
162613cfc972SYuri Pankov	kf22=\EOy, kf23=\EOz, kf24=\EOa, kf25=\E[1~, kf26=\E[2~,
162713cfc972SYuri Pankov	kf27=\E[3~, kf28=\E[4~, kf29=\E[5~, kf3=\EOR, kf30=\E[6~,
162813cfc972SYuri Pankov	kf31=\E[7~, kf32=\E[8~, kf33=\E[9~, kf34=\E[10~,
162913cfc972SYuri Pankov	kf35=\E[11~, kf36=\E[12~, kf37=\E[17~, kf38=\E[18~,
163013cfc972SYuri Pankov	kf39=\E[19~, kf4=\EOS, kf40=\E[20~, kf41=\E[21~,
163113cfc972SYuri Pankov	kf42=\E[22~, kf43=\E[23~, kf44=\E[24~, kf45=\E[25~,
163213cfc972SYuri Pankov	kf46=\E[26~, kf47=\E[27~, kf48=\E[28~, kf5=\EOT, kf6=\EOU,
163313cfc972SYuri Pankov	kf7=\EOV, kf8=\EOW, kf9=\EOX, kfnd=\ENf, khlp=\ENh,
163413cfc972SYuri Pankov	khome=\E[H, khts=\ENb, kich1=\E[@, kil1=\E[`, kind=\E[a,
163513cfc972SYuri Pankov	kmov=\ENi, kmrk=\ENm, kmsg=\ENe, knp=\E[U, kopn=\ENo,
163613cfc972SYuri Pankov	kopt=\ENk, kpp=\E[V, kref=\ENl, kres=\ENp, krfr=\ENg,
163713cfc972SYuri Pankov	kri=\E[b, krpl=\ENr, krst=\ENj, ksav=\ENq, kslt=\E[T,
163813cfc972SYuri Pankov	ktbc=\ENd, kund=\ENu, ll=\E[99H, nel=\EE, op=\E[39;49m,
163913cfc972SYuri Pankov	rep=%p1%c\E[%p2%{1}%-%db, rev=\E[7m, ri=\E[T,
164013cfc972SYuri Pankov	rin=\E[%p1%dT, rmacs=^O, rmam=\E[?7l, rmso=\E[27m,
164113cfc972SYuri Pankov	rmul=\E[24m, rs1=\017\E[?7h\E[0;39;49m$<2>\E>\E[?1l,
164213cfc972SYuri Pankov	rs2=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h,
164313cfc972SYuri Pankov	setb=\E[4%?%p1%{1}%=%t4%e%p1%{3}%=%t6%e%p1%{4}%=%t1%e%p1%{6}%=%t3%e%p1%d%;m,
164413cfc972SYuri Pankov	setf=\E[3%?%p1%{1}%=%t4%e%p1%{3}%=%t6%e%p1%{4}%=%t1%e%p1%{6}%=%t3%e%p1%d%;m,
164513cfc972SYuri Pankov	sgr=\E[0%?%p6%t;1%;%?%p5%t;2%;%?%p2%t;4%;%?%p4%t;5%;%?%p3%p1%|%t;7%;%?%p7%t;9%;m%?%p9%t\016%e\017%;,
164613cfc972SYuri Pankov	sgr0=\E[m\017, smacs=^N, smam=\E[?7h, smso=\E[7m,
164713cfc972SYuri Pankov	smul=\E[4m, tbc=\E[3g,
164813cfc972SYuri Pankov	tsl=\E7\E1;24r\E[?6l\E[25;%i%p1%dH,
164913cfc972SYuri Pankov#
165013cfc972SYuri Pankovqansi|QNX ansi with console writes,
165113cfc972SYuri Pankov	daisy, xhpa, use=qansi-g,
165213cfc972SYuri Pankov#
165313cfc972SYuri Pankovqansi-t|QNX ansi without console writes,
165413cfc972SYuri Pankov	crxm, use=qansi,
165513cfc972SYuri Pankov#
165613cfc972SYuri Pankovqansi-m|QNX ansi with mouse,
165713cfc972SYuri Pankov	maddr#1,
165813cfc972SYuri Pankov	chr=\E[, cvr=\E], is1=\E[0t, mcub=\E[>1h, mcub1=\E[>7h,
165913cfc972SYuri Pankov	mcud=\E[>1h, mcud1=\E[>1l\E[>9h, mcuf=\E[>1h\E[>9l,
166013cfc972SYuri Pankov	mcuf1=\E[>7l, mcuu=\E[>6h, mcuu1=\E[>6l, rmicm=\E[>2l,
166113cfc972SYuri Pankov	smicm=\E[>2h, use=qansi,
166213cfc972SYuri Pankov#
166313cfc972SYuri Pankovqansi-w|QNX ansi for windows,
166413cfc972SYuri Pankov	xvpa, use=qansi-m,
166513cfc972SYuri Pankov
166613cfc972SYuri Pankov#### NetBSD consoles
166713cfc972SYuri Pankov#
166813cfc972SYuri Pankov# pcvt termcap database entries (corresponding to release 3.31)
166913cfc972SYuri Pankov# Author's last edit-date: [Fri Sep 15 20:29:10 1995]
167013cfc972SYuri Pankov#
167113cfc972SYuri Pankov# (For the terminfo master file, I translated these into terminfo syntax.
167213cfc972SYuri Pankov# Then I dropped all the pseudo-HP entries. we don't want and can't use
167313cfc972SYuri Pankov# the :Xs: flag. Then I split :is: into a size-independent <is1> and a
167413cfc972SYuri Pankov# size-dependent <is2>.  Finally, I added <rmam>/<smam> -- esr)
167513cfc972SYuri Pankov
167613cfc972SYuri Pankov# NOTE: <ich1> has been taken out of this entry. for reference, it should
167713cfc972SYuri Pankov# be <ich1=\E[@>.  For discussion, see ICH/ICH1 VERSUS RMIR/SMIR below.
167813cfc972SYuri Pankov# (esr: added <civis> and <cnorm> to resolve NetBSD Problem Report #4583)
167913cfc972SYuri PankovpcvtXX|pcvt vt200 emulator (DEC VT220),
168013cfc972SYuri Pankov	am, km, mir, msgr, xenl,
168113cfc972SYuri Pankov	it#8, vt#3,
168213cfc972SYuri Pankov	acsc=++\,\,--..00``aaffgghhiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz~~,
168313cfc972SYuri Pankov	bel=^G, blink=\E[5m, bold=\E[1m, civis=\E[?25l,
168413cfc972SYuri Pankov	clear=\E[H\E[J, cnorm=\E[?25h, cr=^M,
168513cfc972SYuri Pankov	csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=^H,
168613cfc972SYuri Pankov	cud=\E[%p1%dB, cud1=\E[B, cuf=\E[%p1%dC, cuf1=\E[C,
168713cfc972SYuri Pankov	cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A,
168813cfc972SYuri Pankov	dch=\E[%p1%dP, dch1=\E[P, dl=\E[%p1%dM, dl1=\E[M, ed=\E[J,
168913cfc972SYuri Pankov	el=\E[K, el1=\E[1K, home=\E[H, ht=^I, hts=\EH, ich=\E[%p1%d@,
169013cfc972SYuri Pankov	il=\E[%p1%dL, il1=\E[L, ind=\ED, indn=\E[%p1%dS,
169113cfc972SYuri Pankov	is1=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h, kbs=\177,
169213cfc972SYuri Pankov	kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA,
169313cfc972SYuri Pankov	kdch1=\E[3~, kf1=\E[17~, kf2=\E[18~, kf3=\E[19~,
169413cfc972SYuri Pankov	kf4=\E[20~, kf5=\E[21~, kf6=\E[23~, kf7=\E[24~, kf8=\E[25~,
169513cfc972SYuri Pankov	khome=\E[1~, kich1=\E[2~, kll=\E[4~, knp=\E[6~, kpp=\E[5~,
169613cfc972SYuri Pankov	nel=\EE, rc=\E8, rev=\E[7m, rf=/usr/share/tabset/vt100,
169713cfc972SYuri Pankov	ri=\EM, rin=\E[%p1%dT, rmacs=\E(B, rmam=\E[?7l, rmir=\E[4l,
169813cfc972SYuri Pankov	rmkx=\E[?1l\E>, rmso=\E[27m, rmul=\E[24m,
169913cfc972SYuri Pankov	rs1=\Ec\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h, sc=\E7,
170013cfc972SYuri Pankov	sgr0=\E[m, smacs=\E(0, smam=\E[?7h, smir=\E[4h,
170113cfc972SYuri Pankov	smkx=\E[?1h\E=, smso=\E[7m, smul=\E[4m, tbc=\E[3g,
170213cfc972SYuri Pankov
170313cfc972SYuri Pankov#	NetBSD/FreeBSD vt220 terminal emulator console (pc keyboard & monitor)
170413cfc972SYuri Pankov#	termcap entries for pure VT220-Emulation and 25, 28, 35, 40, 43 and
170513cfc972SYuri Pankov#	50 lines entries; 80 columns
170613cfc972SYuri Pankovpcvt25|dec vt220 emulation with 25 lines,
170713cfc972SYuri Pankov	cols#80, lines#25,
170813cfc972SYuri Pankov	is2=\E[1;25r\E[25;1H, use=pcvtXX,
170913cfc972SYuri Pankovpcvt28|dec vt220 emulation with 28 lines,
171013cfc972SYuri Pankov	cols#80, lines#28,
171113cfc972SYuri Pankov	is2=\E[1;28r\E[28;1H, use=pcvtXX,
171213cfc972SYuri Pankovpcvt35|dec vt220 emulation with 35 lines,
171313cfc972SYuri Pankov	cols#80, lines#35,
171413cfc972SYuri Pankov	is2=\E[1;35r\E[35;1H, use=pcvtXX,
171513cfc972SYuri Pankovpcvt40|dec vt220 emulation with 40 lines,
171613cfc972SYuri Pankov	cols#80, lines#40,
171713cfc972SYuri Pankov	is2=\E[1;40r\E[40;1H, use=pcvtXX,
171813cfc972SYuri Pankovpcvt43|dec vt220 emulation with 43 lines,
171913cfc972SYuri Pankov	cols#80, lines#43,
172013cfc972SYuri Pankov	is2=\E[1;43r\E[43;1H, use=pcvtXX,
172113cfc972SYuri Pankovpcvt50|dec vt220 emulation with 50 lines,
172213cfc972SYuri Pankov	cols#80, lines#50,
172313cfc972SYuri Pankov	is2=\E[1;50r\E[50;1H, use=pcvtXX,
172413cfc972SYuri Pankov
172513cfc972SYuri Pankov#	NetBSD/FreeBSD vt220 terminal emulator console (pc keyboard & monitor)
172613cfc972SYuri Pankov#	termcap entries for pure VT220-Emulation and 25, 28, 35, 40, 43 and
172713cfc972SYuri Pankov#	50 lines entries; 132 columns
172813cfc972SYuri Pankovpcvt25w|dec vt220 emulation with 25 lines and 132 cols,
172913cfc972SYuri Pankov	cols#132, lines#25,
173013cfc972SYuri Pankov	is2=\E[1;25r\E[25;1H, use=pcvtXX,
173113cfc972SYuri Pankovpcvt28w|dec vt220 emulation with 28 lines and 132 cols,
173213cfc972SYuri Pankov	cols#132, lines#28,
173313cfc972SYuri Pankov	is2=\E[1;28r\E[28;1H, use=pcvtXX,
173413cfc972SYuri Pankovpcvt35w|dec vt220 emulation with 35 lines and 132 cols,
173513cfc972SYuri Pankov	cols#132, lines#35,
173613cfc972SYuri Pankov	is2=\E[1;35r\E[35;1H, use=pcvtXX,
173713cfc972SYuri Pankovpcvt40w|dec vt220 emulation with 40 lines and 132 cols,
173813cfc972SYuri Pankov	cols#132, lines#40,
173913cfc972SYuri Pankov	is2=\E[1;40r\E[40;1H, use=pcvtXX,
174013cfc972SYuri Pankovpcvt43w|dec vt220 emulation with 43 lines and 132 cols,
174113cfc972SYuri Pankov	cols#132, lines#43,
174213cfc972SYuri Pankov	is2=\E[1;43r\E[43;1H, use=pcvtXX,
174313cfc972SYuri Pankovpcvt50w|dec vt220 emulation with 50 lines and 132 cols,
174413cfc972SYuri Pankov	cols#132, lines#50,
174513cfc972SYuri Pankov	is2=\E[1;50r\E[50;1H, use=pcvtXX,
174613cfc972SYuri Pankov
174713cfc972SYuri Pankov#	OpenBSD implements a color variation
174813cfc972SYuri Pankovpcvt25-color|dec vt220 emulation with 25 lines and color,
174913cfc972SYuri Pankov	cols#80, lines#25,
175013cfc972SYuri Pankov	is2=\E[1;25r\E[25;1H, kf1=\EOP, kf10=\E[29~, kf11=\E[23~,
175113cfc972SYuri Pankov	kf12=\E[24~, kf13=\E[25~, kf14=\E[26~, kf15=\E[28~,
175213cfc972SYuri Pankov	kf16=\E[29~, kf17=\E[31~, kf18=\E[32~, kf19=\E[33~,
175313cfc972SYuri Pankov	kf2=\EOQ, kf20=\E[34~, kf3=\EOR, kf4=\EOS, kf5=\E[17~,
175413cfc972SYuri Pankov	kf6=\E[18~, kf7=\E[19~, kf8=\E[20~, kf9=\E[21~, use=pcvtXX,
175513cfc972SYuri Pankov	use=ecma+color,
175613cfc972SYuri Pankov
175713cfc972SYuri Pankov# Terminfo entries to enable the use of the ncurses library in colour on a
175813cfc972SYuri Pankov# NetBSD-arm32 console (only tested on a RiscPC).
175913cfc972SYuri Pankov# Created by Dave Millen <dmill@globalnet.co.uk> 22.07.98
176013cfc972SYuri Pankov# modified codes for setf/setb to setaf/setab, then to klone+color, corrected
176113cfc972SYuri Pankov# typo in invis - TD
176213cfc972SYuri Pankovarm100|arm100-am|Arm(RiscPC) ncurses compatible (for 640x480),
176313cfc972SYuri Pankov	am, bce, msgr, xenl, xon,
176413cfc972SYuri Pankov	cols#80, it#8, lines#30,
176513cfc972SYuri Pankov	acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
176613cfc972SYuri Pankov	bel=^G, blink=\E[5m$<2>, bold=\E[1m$<2>,
176713cfc972SYuri Pankov	clear=\E[H\E[J$<50>, cr=^M, csr=\E[%i%p1%d;%p2%dr,
176813cfc972SYuri Pankov	cub=\E[%p1%dD, cub1=^H, cud=\E[%p1%dB, cud1=^J,
176913cfc972SYuri Pankov	cuf=\E[%p1%dC, cuf1=\E[C$<2>,
177013cfc972SYuri Pankov	cup=\E[%i%p1%d;%p2%dH$<5>, cuu=\E[%p1%dA,
177113cfc972SYuri Pankov	cuu1=\E[A$<2>, ed=\E[J$<50>, el=\E[K$<3>, el1=\E[1K$<3>,
177213cfc972SYuri Pankov	enacs=\E(B\E)0, home=\E[H, ht=^I, hts=\EH, ind=^J,
177313cfc972SYuri Pankov	invis=\E[8m$<2>, ka1=\E[q, ka3=\E[s, kb2=\E[r, kbs=^H,
177413cfc972SYuri Pankov	kc1=\E[p, kc3=\E[n, kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C,
177513cfc972SYuri Pankov	kcuu1=\E[A, kent=\E[M, kf0=\E[y, kf1=\E[P, kf10=\E[x,
177613cfc972SYuri Pankov	kf2=\E[Q, kf3=\E[R, kf4=\E[S, kf5=\E[t, kf6=\E[u, kf7=\E[v,
177713cfc972SYuri Pankov	kf8=\E[l, kf9=\E[w, rc=\E8, rev=\E[7m$<2>, ri=\EM$<5>,
177813cfc972SYuri Pankov	rmacs=^O, rmam=\E[?7l, rmkx=\E[?1l\E>, rmso=\E[m$<2>,
177913cfc972SYuri Pankov	rmul=\E[m$<2>, rs2=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h,
178013cfc972SYuri Pankov	sc=\E7,
178113cfc972SYuri Pankov	sgr=\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;%?%p7%t;8%;m%?%p9%t\016%e\017%;$<2>,
178213cfc972SYuri Pankov	sgr0=\E[m\017$<2>, smacs=^N, smam=\E[?7h, smkx=\E[?1h\E=,
178313cfc972SYuri Pankov	smso=\E[7m$<2>, smul=\E[4m$<2>, tbc=\E[3g, use=ecma+sgr,
178413cfc972SYuri Pankov	use=klone+color,
178513cfc972SYuri Pankov
178613cfc972SYuri Pankovarm100-w|arm100-wam|Arm(RiscPC) ncurses compatible (for 1024x768),
178713cfc972SYuri Pankov	cols#132, lines#50, use=arm100,
178813cfc972SYuri Pankov
178913cfc972SYuri Pankov# NetBSD/x68k console vt200 emulator. This port runs on a 68K machine
179013cfc972SYuri Pankov# manufactured by Sharp for the Japenese market.
179113cfc972SYuri Pankov# From Minoura Makoto <minoura@netlaputa.or.jp>, 12 May 1996
179213cfc972SYuri Pankovx68k|x68k-ite|NetBSD/x68k ITE,
179313cfc972SYuri Pankov	cols#96, lines#32,
179413cfc972SYuri Pankov	kclr=\E[9~, khlp=\E[28~, use=vt220,
179513cfc972SYuri Pankov
179613cfc972SYuri Pankov# <tv@pobox.com>:
179713cfc972SYuri Pankov# Entry for the DNARD OpenFirmware console, close to ANSI but not quite.
179813cfc972SYuri Pankov#
179913cfc972SYuri Pankov# (still unfinished, but good enough so far.)
180013cfc972SYuri Pankovofcons|DNARD OpenFirmware console,
180113cfc972SYuri Pankov	bw,
180213cfc972SYuri Pankov	cols#80, lines#30,
180313cfc972SYuri Pankov	bel=^G, blink=\2337;2m, bold=\2331m, clear=^L, cr=^M,
180413cfc972SYuri Pankov	cub=\233%p1%dD, cub1=\233D, cud=\233%p1%dB, cud1=\233B,
180513cfc972SYuri Pankov	cuf=\233%p1%dC, cuf1=\233C, cup=\233%i%p1%d;%p2%dH,
180613cfc972SYuri Pankov	cuu=\233%p1%dA, cuu1=\233A, dch=\233%p1%dP, dch1=\233P,
180713cfc972SYuri Pankov	dim=\2332m, dl=\233%p1%dM, dl1=\233M, ed=\233J, el=\233K,
180813cfc972SYuri Pankov	flash=^G, ht=^I, ich=\233%p1%d@, ich1=\233@, il=\233%p1%dL,
180913cfc972SYuri Pankov	il1=\233L, ind=^J, invis=\2338m, kbs=^H, kcub1=\233D,
181013cfc972SYuri Pankov	kcud1=\233B, kcuf1=\233C, kcuu1=\233A, kdch1=\233P,
181113cfc972SYuri Pankov	kf1=\2330P, kf10=\2330M, kf2=\2330Q, kf3=\2330W,
181213cfc972SYuri Pankov	kf4=\2330x, kf5=\2330t, kf6=\2330u, kf7=\2330q, kf8=\2330r,
181313cfc972SYuri Pankov	kf9=\2330p, knp=\233/, kpp=\233?, nel=^M^J, rev=\2337m,
181413cfc972SYuri Pankov	rmso=\2330m, rmul=\2330m,
181513cfc972SYuri Pankov	sgr=\2330%?%p6%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;m,
181613cfc972SYuri Pankov	sgr0=\2330m,
181713cfc972SYuri Pankov
181813cfc972SYuri Pankov# NetBSD "wscons" emulator in vt220 mode.
181913cfc972SYuri Pankov# This entry is based on the NetBSD termcap entry, correcting the ncv value.
182013cfc972SYuri Pankov# The emulator renders underlined text in red.  Colors are otherwise usable.
182113cfc972SYuri Pankov#
182213cfc972SYuri Pankov# Testing the emulator and reading the source code (NetBSD 2.0), it appears
182313cfc972SYuri Pankov# that "vt220" is inaccurate.  There are a few vt220-features, but most of the
182413cfc972SYuri Pankov# vt220 screens in vttest do not work with this emulator.  For instance, it
182513cfc972SYuri Pankov# identifies itself (primary DA response) as a vt220 with selective erase.  But
182613cfc972SYuri Pankov# the selective erase feature does not work.  The secondary response is copied
182713cfc972SYuri Pankov# from Kermit's emulation of vt220, does not correspond to actual vt220.  At
182813cfc972SYuri Pankov# the level of detail in a termcap, it is a passable emulator, since ECH does
182913cfc972SYuri Pankov# work.  Don't use it on a VMS system -TD
183013cfc972SYuri Pankovwsvt25|NetBSD wscons in 25 line DEC VT220 mode,
183113cfc972SYuri Pankov	bce, msgr,
183213cfc972SYuri Pankov	colors#8, cols#80, it#8, lines#25, ncv#2, pairs#64,
183313cfc972SYuri Pankov	is2=\E[r\E[25;1H, kend=\E[8~, kf1=\E[11~, kf10=\E[21~,
183413cfc972SYuri Pankov	kf11=\E[23~, kf12=\E[24~, kf2=\E[12~, kf3=\E[13~,
183513cfc972SYuri Pankov	kf4=\E[14~, kf5=\E[15~, kf6=\E[17~, kf7=\E[18~, kf8=\E[19~,
183613cfc972SYuri Pankov	kf9=\E[20~, khome=\E[7~, op=\E[m, rs1=\Ec,
183713cfc972SYuri Pankov	setab=\E[4%p1%dm, setaf=\E[3%p1%dm, use=vt220,
183813cfc972SYuri Pankov
183913cfc972SYuri Pankovwsvt25m|NetBSD wscons in 25 line DEC VT220 mode with Meta,
184013cfc972SYuri Pankov	km, use=wsvt25,
184113cfc972SYuri Pankov
184213cfc972SYuri Pankov# `rasterconsole' provided by 4.4BSD, NetBSD and OpenBSD on SPARC, and
184313cfc972SYuri Pankov# DECstation/pmax.
184413cfc972SYuri Pankovrcons|BSD rasterconsole,
184513cfc972SYuri Pankov	use=sun-il,
184613cfc972SYuri Pankov# Color version of above. Color currently only provided by NetBSD.
184713cfc972SYuri Pankovrcons-color|BSD rasterconsole with ANSI color,
184813cfc972SYuri Pankov	bce,
184913cfc972SYuri Pankov	colors#8, pairs#64,
185013cfc972SYuri Pankov	op=\E[m, setab=\E[4%p1%dm, setaf=\E[3%p1%dm, use=rcons,
185113cfc972SYuri Pankov
185213cfc972SYuri Pankov# mgterm -- MGL/MGL2, MobileGear Graphic Library
185313cfc972SYuri Pankov# for PocketBSD,PocketLinux,NetBSD/{hpcmips,mac68k}
185413cfc972SYuri Pankov# -- the setf/setb are probably incorrect, more likely setaf/setab -TD
185513cfc972SYuri Pankov# -- compare with cons25w
185613cfc972SYuri Pankovmgterm,
185713cfc972SYuri Pankov	OTbs, OTpt, am, bce, bw, eo, km, msgr, npc,
185813cfc972SYuri Pankov	colors#8, cols#80, it#8, lines#18, pairs#64,
185913cfc972SYuri Pankov	bel=^G, blink=\E[5m, bold=\E[1m, cbt=\E[Z, clear=\E[H\E[J,
186013cfc972SYuri Pankov	cr=^M, csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=^H,
186113cfc972SYuri Pankov	cud=\E[%p1%dB, cud1=\E[B, cuf=\E[%p1%dC, cuf1=\E[C,
186213cfc972SYuri Pankov	cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A,
186313cfc972SYuri Pankov	dch=\E[%p1%dP, dch1=\E[P, dim=\E[30;1m, dl=\E[%p1%dM,
186413cfc972SYuri Pankov	dl1=\E[M, ech=\E[%p1%dX, ed=\E[J, el=\E[K, el1=\E[1K,
186513cfc972SYuri Pankov	home=\E[H, hpa=\E[%i%p1%d`, ht=^I, ich=\E[%p1%d@,
186613cfc972SYuri Pankov	ich1=\E[@, il=\E[%p1%dL, il1=\E[L, ind=\E[S,
186713cfc972SYuri Pankov	indn=\E[%p1%dS, kb2=\E[E, kbs=^H, kcbt=\E[Z, kcub1=\E[D,
186813cfc972SYuri Pankov	kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, kdch1=\177, kend=\E[F,
186913cfc972SYuri Pankov	kf1=\E[M, kf10=\E[V, kf11=\E[W, kf12=\E[X, kf2=\E[N,
187013cfc972SYuri Pankov	kf3=\E[O, kf4=\E[P, kf5=\E[Q, kf6=\E[R, kf7=\E[S, kf8=\E[T,
187113cfc972SYuri Pankov	kf9=\E[U, khome=\E[H, kich1=\E[L, knp=\E[G, kpp=\E[I,
187213cfc972SYuri Pankov	nel=\E[E, op=\E[x, rc=\E8, rev=\E[7m, ri=\E[T, rin=\E[%p1%dT,
187313cfc972SYuri Pankov	rmso=\E[m, rs2=\E[x\E[m\Ec, sc=\E7, setb=\E[4%p1%dm,
187413cfc972SYuri Pankov	setf=\E[3%p1%dm, sgr0=\E[m, smso=\E[7m, vpa=\E[%i%p1%dd,
187513cfc972SYuri Pankov
187613cfc972SYuri Pankov#### FreeBSD console entries
187713cfc972SYuri Pankov#
187813cfc972SYuri Pankov# From: Andrey Chernov <ache@astral.msk.su> 29 Mar 1996
187913cfc972SYuri Pankov# Andrey Chernov maintains the FreeBSD termcap distributions.
188013cfc972SYuri Pankov#
188113cfc972SYuri Pankov# Note: Users of FreeBSD 2.1.0 and older versions must either upgrade
188213cfc972SYuri Pankov# or comment out the :cb: capability in the console entry.
188313cfc972SYuri Pankov#
188413cfc972SYuri Pankov# Alexander Lukyanov reports:
188513cfc972SYuri Pankov# I have seen FreeBSD-2.1.5R... The old el1 bug changed, but it is still there.
188613cfc972SYuri Pankov# Now el1 clears not only to the line beginning, but also a large chunk
188713cfc972SYuri Pankov# of previous line. But there is another bug - ech does not work at all.
188813cfc972SYuri Pankov#
188913cfc972SYuri Pankov
189013cfc972SYuri Pankov# for syscons
189113cfc972SYuri Pankov# common entry without semigraphics
189213cfc972SYuri Pankov# Bug: The <op> capability resets attributes.
189313cfc972SYuri Pankov# Bug? The ech and el1 attributes appear to move the cursor in some cases; for
189413cfc972SYuri Pankov# instance el1 does if the cursor is moved to the right margin first.  Removed
189513cfc972SYuri Pankov# by T.Dickey 97/5/3 (ech=\E[%p1%dX, el1=\E[1K)
189613cfc972SYuri Pankov#
189713cfc972SYuri Pankov# Setting colors turns off reverse; we cannot guarantee order, so use ncv.
189813cfc972SYuri Pankov# Note that this disables standout with color.
189913cfc972SYuri Pankov#
190013cfc972SYuri Pankov# The emulator sends difference strings based on shift- and control-keys,
190113cfc972SYuri Pankov# like scoansi:
190213cfc972SYuri Pankov#	F13-F24 are shifted F1-F12
190313cfc972SYuri Pankov#	F25-F36 are control F1-F12
190413cfc972SYuri Pankov#	F37-F48 are shift+control F1-F12
190513cfc972SYuri Pankovcons25w|ansiw|ansi80x25-raw|freebsd console (25-line raw mode),
190613cfc972SYuri Pankov	am, bce, bw, eo, msgr, npc,
190713cfc972SYuri Pankov	colors#8, cols#80, it#8, lines#25, ncv#21, pairs#64,
190813cfc972SYuri Pankov	bel=^G, blink=\E[5m, bold=\E[1m, cbt=\E[Z, clear=\E[H\E[J,
190913cfc972SYuri Pankov	cnorm=\E[=0C, cr=^M, cub=\E[%p1%dD, cub1=^H, cud=\E[%p1%dB,
191013cfc972SYuri Pankov	cud1=\E[B, cuf=\E[%p1%dC, cuf1=\E[C,
191113cfc972SYuri Pankov	cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A,
191213cfc972SYuri Pankov	cvvis=\E[=1C, dch=\E[%p1%dP, dch1=\E[P, dim=\E[30;1m,
191313cfc972SYuri Pankov	dl=\E[%p1%dM, dl1=\E[M, ech=\E[%p1%dX, ed=\E[J, el=\E[K,
191413cfc972SYuri Pankov	home=\E[H, hpa=\E[%i%p1%d`, ht=^I, ich=\E[%p1%d@,
191513cfc972SYuri Pankov	ich1=\E[@, il=\E[%p1%dL, il1=\E[L, ind=\E[S,
191613cfc972SYuri Pankov	indn=\E[%p1%dS, kb2=\E[E, kbs=^H, kcbt=\E[Z, kcub1=\E[D,
191713cfc972SYuri Pankov	kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, kdch1=\177, kend=\E[F,
191813cfc972SYuri Pankov	kf1=\E[M, kf10=\E[V, kf11=\E[W, kf12=\E[X, kf13=\E[Y,
191913cfc972SYuri Pankov	kf14=\E[Z, kf15=\E[a, kf16=\E[b, kf17=\E[c, kf18=\E[d,
192013cfc972SYuri Pankov	kf19=\E[e, kf2=\E[N, kf20=\E[f, kf21=\E[g, kf22=\E[h,
192113cfc972SYuri Pankov	kf23=\E[i, kf24=\E[j, kf25=\E[k, kf26=\E[l, kf27=\E[m,
192213cfc972SYuri Pankov	kf28=\E[n, kf29=\E[o, kf3=\E[O, kf30=\E[p, kf31=\E[q,
192313cfc972SYuri Pankov	kf32=\E[r, kf33=\E[s, kf34=\E[t, kf35=\E[u, kf36=\E[v,
192413cfc972SYuri Pankov	kf37=\E[w, kf38=\E[x, kf39=\E[y, kf4=\E[P, kf40=\E[z,
192513cfc972SYuri Pankov	kf41=\E[@, kf42=\E[[, kf43=\E[\\, kf44=\E[], kf45=\E[\^,
192613cfc972SYuri Pankov	kf46=\E[_, kf47=\E[`, kf48=\E[{, kf5=\E[Q, kf6=\E[R,
192713cfc972SYuri Pankov	kf7=\E[S, kf8=\E[T, kf9=\E[U, khome=\E[H, kich1=\E[L,
192813cfc972SYuri Pankov	knp=\E[G, kpp=\E[I, nel=\E[E, op=\E[x, rc=\E8, rev=\E[7m,
192913cfc972SYuri Pankov	ri=\E[T, rin=\E[%p1%dT, rmso=\E[m, rs2=\E[x\E[m\Ec, sc=\E7,
193013cfc972SYuri Pankov	setab=\E[4%p1%dm, setaf=\E[3%p1%dm,
193113cfc972SYuri Pankov	sgr=\E[0%?%p1%t;2;7%;%?%p3%t;7%;%?%p4%t;5%;%?%p5%t;30;1%;%?%p6%t;1%;m,
193213cfc972SYuri Pankov	sgr0=\E[m, smso=\E[7m, vpa=\E[%i%p1%dd,
193313cfc972SYuri Pankovcons25|ansis|ansi80x25|freebsd console (25-line ansi mode),
193413cfc972SYuri Pankov	acsc=-\030.^Y0\333`\004a\260f\370g\361h\261i\025j\331k\277l\332m\300n\305q\304t\303u\264v\301w\302x\263y\363z\362~\371,
193513cfc972SYuri Pankov	use=cons25w,
193613cfc972SYuri Pankovcons25-debian|freebsd console with debian backspace (25-line ansi mode),
193713cfc972SYuri Pankov	kbs=\177, kdch1=\E[3~, use=cons25,
193813cfc972SYuri Pankovcons25-m|ansis-mono|ansi80x25-mono|freebsd console (25-line mono ansi mode),
193913cfc972SYuri Pankov	colors@, pairs@,
194013cfc972SYuri Pankov	bold@, dim@, op@, rmul=\E[m, setab@, setaf@,
194113cfc972SYuri Pankov	sgr=\E[0%?%p1%t;2;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;m,
194213cfc972SYuri Pankov	smul=\E[4m, use=cons25,
194313cfc972SYuri Pankovcons30|ansi80x30|freebsd console (30-line ansi mode),
194413cfc972SYuri Pankov	lines#30, use=cons25,
194513cfc972SYuri Pankovcons30-m|ansi80x30-mono|freebsd console (30-line mono ansi mode),
194613cfc972SYuri Pankov	lines#30, use=cons25-m,
194713cfc972SYuri Pankovcons43|ansi80x43|freebsd console (43-line ansi mode),
194813cfc972SYuri Pankov	lines#43, use=cons25,
194913cfc972SYuri Pankovcons43-m|ansi80x43-mono|freebsd console (43-line mono ansi mode),
195013cfc972SYuri Pankov	lines#43, use=cons25-m,
195113cfc972SYuri Pankovcons50|ansil|ansi80x50|freebsd console (50-line ansi mode),
195213cfc972SYuri Pankov	lines#50, use=cons25,
195313cfc972SYuri Pankovcons50-m|ansil-mono|ansi80x50-mono|freebsd console (50-line mono ansi mode),
195413cfc972SYuri Pankov	lines#50, use=cons25-m,
195513cfc972SYuri Pankovcons60|ansi80x60|freebsd console (60-line ansi mode),
195613cfc972SYuri Pankov	lines#60, use=cons25,
195713cfc972SYuri Pankovcons60-m|ansi80x60-mono|freebsd console (60-line mono ansi mode),
195813cfc972SYuri Pankov	lines#60, use=cons25-m,
195913cfc972SYuri Pankovcons25r|pc3r|ibmpc3r|cons25-koi8-r|freebsd console w/koi8-r cyrillic,
196013cfc972SYuri Pankov	acsc=-\030.^Y0\215`\004a\220f\234h\221i\025j\205k\203l\202m\204n\212q\0t\206u\207v\211w\210x\201y\230z\231~\225,
196113cfc972SYuri Pankov	use=cons25w,
196213cfc972SYuri Pankovcons25r-m|pc3r-m|ibmpc3r-mono|cons25-koi8r-m|freebsd console w/koi8-r cyrillic (mono),
196313cfc972SYuri Pankov	colors@, pairs@,
196413cfc972SYuri Pankov	op@, rmul=\E[m, setab@, setaf@,
196513cfc972SYuri Pankov	sgr=\E[0%?%p1%t;2;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p5%t;30;1%;%?%p6%t;1%;m,
196613cfc972SYuri Pankov	smul=\E[4m, use=cons25r,
196713cfc972SYuri Pankovcons50r|cons50-koi8r|freebsd console w/koi8-r cyrillic (50 lines),
196813cfc972SYuri Pankov	lines#50, use=cons25r,
196913cfc972SYuri Pankovcons50r-m|cons50-koi8r-m|freebsd console w/koi8-r cyrillic (50-line mono),
197013cfc972SYuri Pankov	lines#50, use=cons25r-m,
197113cfc972SYuri Pankovcons60r|cons60-koi8r|freebsd console w/koi8-r cyrillic (60 lines),
197213cfc972SYuri Pankov	lines#60, use=cons25r,
197313cfc972SYuri Pankovcons60r-m|cons60-koi8r-m|freebsd console w/koi8-r cyrillic (60-line mono),
197413cfc972SYuri Pankov	lines#60, use=cons25r-m,
197513cfc972SYuri Pankov# ISO 8859-1 FreeBSD console
197613cfc972SYuri Pankovcons25l1|cons25-iso8859|freebsd console w/iso 8859-1 chars,
197713cfc972SYuri Pankov	acsc=+\253\,\273-\030.\031`\201a\202f\207g\210i\247j\213k\214l\215m\216n\217o\220p\221q\222r\223s\224t\225u\226v\227w\230x\231y\232z\233~\237,
197813cfc972SYuri Pankov	use=cons25w,
197913cfc972SYuri Pankovcons25l1-m|cons25-iso-m|freebsd console w/iso 8859-1 chars (mono),
198013cfc972SYuri Pankov	colors@, pairs@,
198113cfc972SYuri Pankov	bold@, dim@, op@, rmul=\E[m, setab@, setaf@,
198213cfc972SYuri Pankov	sgr=\E[0%?%p1%t;2;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;m,
198313cfc972SYuri Pankov	smul=\E[4m, use=cons25l1,
198413cfc972SYuri Pankovcons50l1|cons50-iso8859|freebsd console w/iso 8859-1 chars (50 lines),
198513cfc972SYuri Pankov	lines#50, use=cons25l1,
198613cfc972SYuri Pankovcons50l1-m|cons50-iso-m|freebsd console w/iso 8859-1 chars (50-line mono),
198713cfc972SYuri Pankov	lines#50, use=cons25l1-m,
198813cfc972SYuri Pankovcons60l1|cons60-iso|freebsd console w/iso 8859-1 chars (60 lines),
198913cfc972SYuri Pankov	lines#60, use=cons25l1,
199013cfc972SYuri Pankovcons60l1-m|cons60-iso-m|freebsd console w/iso 8859-1 chars (60-line mono),
199113cfc972SYuri Pankov	lines#60, use=cons25l1-m,
199213cfc972SYuri Pankov
199313cfc972SYuri Pankov#### 386BSD and BSD/OS Consoles
199413cfc972SYuri Pankov#
199513cfc972SYuri Pankov
199613cfc972SYuri Pankov# This was the original 386BSD console entry (I think).
199713cfc972SYuri Pankov# Some places it's named oldpc3|oldibmpc3.
199813cfc972SYuri Pankov# From: Alex R.N. Wetmore <aw2t@andrew.cmu.edu>
199913cfc972SYuri Pankovorigpc3|origibmpc3|IBM PC 386BSD Console,
200013cfc972SYuri Pankov	OTbs, am, bw, eo, xon,
200113cfc972SYuri Pankov	cols#80, lines#25,
200213cfc972SYuri Pankov	acsc=j\331k\277l\332m\300n\305q\304t\303u\264v\301w\302x\263,
200313cfc972SYuri Pankov	bold=\E[7m, clear=\Ec, cub1=^H, cud1=\E[B, cuf1=\E[C,
200413cfc972SYuri Pankov	cup=\E[%i%p1%2d;%p2%2dH, cuu1=\E[A, ed=\E[J, el=\E[K,
200513cfc972SYuri Pankov	home=\E[H, ind=\E[S, kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C,
200613cfc972SYuri Pankov	kcuu1=\E[A, khome=\E[Y, ri=\E[T, rmso=\E[1;0x\E[2;7x,
200713cfc972SYuri Pankov	rmul=\E[1;0x\E[2;7x, sgr0=\E[m\E[1;0x\E[2;7x,
200813cfc972SYuri Pankov	smso=\E[1;7x\E[2;0x, smul=\E[1;7x\E[2;0x,
200913cfc972SYuri Pankov
201013cfc972SYuri Pankov# description of BSD/386 console emulator in version 1.0 (supplied by BSDI)
201113cfc972SYuri Pankovoldpc3|oldibmpc3|old IBM PC BSD/386 Console,
201213cfc972SYuri Pankov	OTbs, km,
201313cfc972SYuri Pankov	lines#25,
201413cfc972SYuri Pankov	bel=^G, bold=\E[=15F, cr=^M, cud1=^J, dim=\E[=8F, dl1=\E[M,
201513cfc972SYuri Pankov	ht=^I, il1=\E[L, ind=^J, kbs=^H, kcub1=\E[D, kcud1=\E[B,
201613cfc972SYuri Pankov	kcuf1=\E[C, kcuu1=\E[A, khome=\E[H, kich1=\E[L, kll=\E[F,
201713cfc972SYuri Pankov	knp=\E[G, kpp=\E[I, nel=^M^J, sgr0=\E[=R,
201813cfc972SYuri Pankov
201913cfc972SYuri Pankov# Description of BSD/OS console emulator in version 1.1, 2.0, 2.1
202013cfc972SYuri Pankov# Note, the emulator supports many of the additional console features
202113cfc972SYuri Pankov# listed in the iBCS2 (e.g. character-set selection) though not all
202213cfc972SYuri Pankov# are described here.  This entry really ought to be upgraded.
202313cfc972SYuri Pankov# Also note, the console will also work with fewer lines after doing
202413cfc972SYuri Pankov# "stty rows NN", e.g. to use 24 lines.
202513cfc972SYuri Pankov# (Color support from Kevin Rosenberg <kevin@cyberport.com>, 2 May 1996)
202613cfc972SYuri Pankov# Bug: The <op> capability resets attributes.
202713cfc972SYuri Pankovbsdos-pc|IBM PC BSD/OS Console,
202813cfc972SYuri Pankov	sgr=\E[0;10%?%p1%t;7%;%?%p2%t;1%;%?%p3%t;7%;%?%p4%t;5%;%?%p6%t;1%;%?%p7%t;8%;%?%p9%t;11%;m,
202913cfc972SYuri Pankov	use=bsdos-pc-nobold,
203013cfc972SYuri Pankov
203113cfc972SYuri Pankovbsdos-pc-nobold|BSD/OS PC console w/o bold,
203213cfc972SYuri Pankov	use=klone+color, use=bsdos-pc-m,
203313cfc972SYuri Pankov
203413cfc972SYuri Pankovbsdos-pc-m|bsdos-pc-mono|BSD/OS PC console mono,
203513cfc972SYuri Pankov	OTbs, am, eo, km, xon,
203613cfc972SYuri Pankov	cols#80, it#8, lines#25,
203713cfc972SYuri Pankov	bel=^G, clear=\Ec, cr=^M, cub=\E[%p1%dD, cub1=^H,
203813cfc972SYuri Pankov	cud=\E[%p1%dB, cud1=^J, cuf=\E[%p1%dC, cuf1=\E[C,
203913cfc972SYuri Pankov	cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A,
204013cfc972SYuri Pankov	dl=\E[%p1%dM, dl1=\E[M, ed=\E[J, el=\E[K, home=\E[H, ht=^I,
204113cfc972SYuri Pankov	il=\E[%p1%dL, il1=\E[L, ind=^J, kbs=^H, kcub1=\E[D,
204213cfc972SYuri Pankov	kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, khome=\E[H, kich1=\E[L,
204313cfc972SYuri Pankov	kll=\E[F, knp=\E[G, kpp=\E[I, nel=^M^J, rc=\E8, sc=\E7,
204413cfc972SYuri Pankov	sgr=\E[0;10%?%p1%t;7%;%?%p3%t;7%;%?%p4%t;5%;%?%p6%t;1%;%?%p7%t;8%;%?%p9%t;11%;m%?%p5%t\E[=8F%;,
204513cfc972SYuri Pankov	use=klone+sgr8,
204613cfc972SYuri Pankov
204713cfc972SYuri Pankov# Old names for BSD/OS PC console used in releases before 4.1.
204813cfc972SYuri Pankovpc3|BSD/OS on the PC Console,
204913cfc972SYuri Pankov	use=bsdos-pc-nobold,
205013cfc972SYuri Pankovibmpc3|pc3-bold|BSD/OS on the PC Console with bold instead of underline,
205113cfc972SYuri Pankov	use=bsdos-pc,
205213cfc972SYuri Pankov
205313cfc972SYuri Pankov# BSD/OS on the SPARC
205413cfc972SYuri Pankovbsdos-sparc|Sun SPARC BSD/OS Console,
205513cfc972SYuri Pankov	use=sun,
205613cfc972SYuri Pankov
205713cfc972SYuri Pankov# BSD/OS on the PowerPC
205813cfc972SYuri Pankovbsdos-ppc|PowerPC BSD/OS Console,
205913cfc972SYuri Pankov	use=bsdos-pc,
206013cfc972SYuri Pankov
206113cfc972SYuri Pankov#### DEC VT52
206213cfc972SYuri Pankov# (<acsc>/<rmacs>/<smacs> capabilities aren't in DEC's official entry -- esr)
206313cfc972SYuri Pankov#
206413cfc972SYuri Pankov# Actually (TD pointed this out at the time the acsc string was added):
206513cfc972SYuri Pankov# vt52 shouldn't define full acsc since most of the cells don't match.
206613cfc972SYuri Pankov# see vt100 manual page A-31.  This is the list that does match:
206713cfc972SYuri Pankov#	f degree
206813cfc972SYuri Pankov#	g plus/minus
206913cfc972SYuri Pankov#	h right-arrow
207013cfc972SYuri Pankov#	k down-arrow
207113cfc972SYuri Pankov#	m scan-1
207213cfc972SYuri Pankov#	o scan-3
207313cfc972SYuri Pankov#	q scan-5
207413cfc972SYuri Pankov#	s scan-7
207513cfc972SYuri Pankov# The line-drawing happens to work in several terminal emulators, but should
207613cfc972SYuri Pankov# not be used as a guide to the capabilities of the vt52.  Note in particular
207713cfc972SYuri Pankov# that vt52 does not support line-drawing characters (the scan-X values refer
207813cfc972SYuri Pankov# to a crude plotting feature) -TD
207913cfc972SYuri Pankovvt52|dec vt52,
208013cfc972SYuri Pankov	OTbs,
208113cfc972SYuri Pankov	cols#80, it#8, lines#24,
208213cfc972SYuri Pankov	acsc=+h.k0affggolpnqprrss, bel=^G, clear=\EH\EJ, cr=^M,
208313cfc972SYuri Pankov	cub1=\ED, cud1=\EB, cuf1=\EC,
208413cfc972SYuri Pankov	cup=\EY%p1%{32}%+%c%p2%{32}%+%c, cuu1=\EA, ed=\EJ,
208513cfc972SYuri Pankov	el=\EK, home=\EH, ht=^I, ind=^J, kbs=^H, kcub1=\ED, kcud1=\EB,
208613cfc972SYuri Pankov	kcuf1=\EC, kcuu1=\EA, nel=^M^J, ri=\EI, rmacs=\EG, smacs=\EF,
208713cfc972SYuri Pankov
208813cfc972SYuri Pankov#### DEC VT100 and compatibles
208913cfc972SYuri Pankov#
209013cfc972SYuri Pankov# DEC terminals from the vt100 forward are collected here. Older DEC terminals
209113cfc972SYuri Pankov# and micro consoles can be found in the `obsolete' section.  More details on
209213cfc972SYuri Pankov# the relationship between the VT100 and ANSI X3.64/ISO 6429/ECMA-48 may be
209313cfc972SYuri Pankov# found near the end of this file.
209413cfc972SYuri Pankov#
209513cfc972SYuri Pankov# Except where noted, these entries are DEC's official terminfos.
209613cfc972SYuri Pankov# Contact Bill Hedberg <hedberg@hannah.enet.dec.com> of Terminal Support
209713cfc972SYuri Pankov# Engineering for more information.  Updated terminfos and termcaps
209813cfc972SYuri Pankov# are kept available at ftp://gatekeeper.dec.com/pub/DEC/termcaps.
209913cfc972SYuri Pankov#
210013cfc972SYuri Pankov# In October 1995 DEC sold its terminals business, including the VT and Dorio
210113cfc972SYuri Pankov# line and trademark, to SunRiver Data Systems.  SunRiver has since changed
210213cfc972SYuri Pankov# its name to Boundless Technologies; see http://www.boundless.com.
210313cfc972SYuri Pankov#
210413cfc972SYuri Pankov
210513cfc972SYuri Pankov# NOTE:  Any VT100 emulation, whether in hardware or software, almost
210613cfc972SYuri Pankov# certainly includes what DEC called the `Level 1 editing extension' codes;
210713cfc972SYuri Pankov# only the very oldest VT100s lacked these and there probably aren't any of
210813cfc972SYuri Pankov# those left alive.  To capture these, use one of the VT102 entries.
210913cfc972SYuri Pankov#
211013cfc972SYuri Pankov# Note that the <xenl> glitch in vt100 is not quite the same as on the Concept,
211113cfc972SYuri Pankov# since the cursor is left in a different position while in the
211213cfc972SYuri Pankov# weird state (concept at beginning of next line, vt100 at end
211313cfc972SYuri Pankov# of this line) so all versions of vi before 3.7 don't handle
211413cfc972SYuri Pankov# <xenl> right on vt100. The correct way to handle <xenl> is when
211513cfc972SYuri Pankov# you output the char in column 80, immediately output CR LF
211613cfc972SYuri Pankov# and then assume you are in column 1 of the next line. If <xenl>
211713cfc972SYuri Pankov# is on, am should be on too.
211813cfc972SYuri Pankov#
211913cfc972SYuri Pankov# I assume you have smooth scroll off or are at a slow enough baud
212013cfc972SYuri Pankov# rate that it doesn't matter (1200? or less). Also this assumes
212113cfc972SYuri Pankov# that you set auto-nl to "on", if you set it off use vt100-nam
212213cfc972SYuri Pankov# below.
212313cfc972SYuri Pankov#
212413cfc972SYuri Pankov# The padding requirements listed here are guesses. It is strongly
212513cfc972SYuri Pankov# recommended that xon/xoff be enabled, as this is assumed here.
212613cfc972SYuri Pankov#
212713cfc972SYuri Pankov# The vt100 uses <rs2> and <rf> rather than <is2>/<tbc>/<hts> because the
212813cfc972SYuri Pankov# tab settings are in non-volatile memory and don't need to be
212913cfc972SYuri Pankov# reset upon login. Also setting the number of columns glitches
213013cfc972SYuri Pankov# the screen annoyingly. You can type "reset" to get them set.
213113cfc972SYuri Pankov#
213213cfc972SYuri Pankov# The VT100 series terminals have cursor ("arrows") keys which can operate
213313cfc972SYuri Pankov# in two different modes: Cursor Mode and Application Mode.  Cursor Mode
213413cfc972SYuri Pankov# is the reset state, and is assumed to be the normal state.  Application
213513cfc972SYuri Pankov# Mode is the "set" state.  In Cursor Mode, the cursor keys transmit
213613cfc972SYuri Pankov# "Esc [ {code}" sequences, conforming to ANSI standards.  In Application
213713cfc972SYuri Pankov# Mode, the cursor keys transmit "Esc O <code>" sequences.  Application Mode
213813cfc972SYuri Pankov# was provided primarily as an aid to the porting of VT52 applications.  It is
213913cfc972SYuri Pankov# assumed that the cursor keys are normally in Cursor Mode, and expected that
214013cfc972SYuri Pankov# applications such as vi will always transmit the <smkx> string.  Therefore,
214113cfc972SYuri Pankov# the definitions for the cursor keys are made to match what the terminal
214213cfc972SYuri Pankov# transmits after the <smkx> string is transmitted.  If the <smkx> string
214313cfc972SYuri Pankov# is a null string or is not defined, then cursor keys are assumed to be in
214413cfc972SYuri Pankov# "Cursor Mode", and the cursor keys definitions should match that assumption,
214513cfc972SYuri Pankov# else the application may fail.  It is also expected that applications will
214613cfc972SYuri Pankov# always transmit the <rmkx> string to the terminal before they exit.
214713cfc972SYuri Pankov#
214813cfc972SYuri Pankov# The VT100 series terminals have an auxiliary keypad, commonly referred to as
214913cfc972SYuri Pankov# the "Numeric Keypad", because it is a cluster of numeric and function keys.
215013cfc972SYuri Pankov# The Numeric Keypad which can operate in two different modes: Numeric Mode and
215113cfc972SYuri Pankov# Application Mode.  Numeric Mode is the reset state, and is assumed to be
215213cfc972SYuri Pankov# the normal state.  Application Mode is the "set" state.  In Numeric Mode,
215313cfc972SYuri Pankov# the numeric and punctuation keys transmit ASCII 7-bit characters, and the
215413cfc972SYuri Pankov# Enter key transmits the same as the Return key (Note: the Return key
215513cfc972SYuri Pankov# can be configured to send either LF (\015) or CR LF).  In Application Mode,
215613cfc972SYuri Pankov# all the keypad keys transmit "Esc O {code}" sequences.  The PF1 - PF4 keys
215713cfc972SYuri Pankov# always send the same "Esc O {code}" sequences.  It is assumed that the keypad
215813cfc972SYuri Pankov# is normally in Numeric Mode.  If an application requires that the keypad be
215913cfc972SYuri Pankov# in Application Mode then it is expected that the user, or the application,
216013cfc972SYuri Pankov# will set the TERM environment variable to point to a terminfo entry which has
216113cfc972SYuri Pankov# defined the <smkx> string to include the codes that switch the keypad into
216213cfc972SYuri Pankov# Application Mode, and the terminfo entry will also define function key
216313cfc972SYuri Pankov# fields to match the Application Mode control codes.  If the <smkx> string
216413cfc972SYuri Pankov# is a null string or is not defined, then the keypad is assumed to be in
216513cfc972SYuri Pankov# Numeric Mode.  If the <smkx> string switches the keypad into Application
216613cfc972SYuri Pankov# Mode, it is expected that the <rmkx> string will contain the control codes
216713cfc972SYuri Pankov# necessary to reset the keypad to "Normal" mode, and it is also expected that
216813cfc972SYuri Pankov# applications which transmit the <smkx> string will also always transmit the
216913cfc972SYuri Pankov# <rmkx> string to the terminal before they exit.
217013cfc972SYuri Pankov#
217113cfc972SYuri Pankov# Here's a diagram of the VT100 keypad keys with their bindings.
217213cfc972SYuri Pankov# The top line is the name of the key (some DEC keyboards have the keys
217313cfc972SYuri Pankov# labelled somewhat differently, like GOLD instead of PF1, but this is
217413cfc972SYuri Pankov# the most "official" name).  The second line is the escape sequence it
217513cfc972SYuri Pankov# generates in Application Keypad mode (where "$" means the ESC
217613cfc972SYuri Pankov# character).  The third line contains two items, first the mapping of
217713cfc972SYuri Pankov# the key in terminfo, and then in termcap.
217813cfc972SYuri Pankov#   _______________________________________
217913cfc972SYuri Pankov#  |   PF1   |   PF2   |   PF3   |   PF4   |
218013cfc972SYuri Pankov#  |   $OP   |   $OQ   |   $OR   |   $OS   |
218113cfc972SYuri Pankov#  |_kf1__k1_|_kf2__k2_|_kf3__k3_|_kf4__k4_|
218213cfc972SYuri Pankov#  |    7         8         9         -    |
218313cfc972SYuri Pankov#  |   $Ow   |   $Ox   |   $Oy   |   $Om   |
218413cfc972SYuri Pankov#  |_kf9__k9_|_kf10_k;_|_kf0__k0_|_________|
218513cfc972SYuri Pankov#  |    4    |    5    |    6    |    ,    |
218613cfc972SYuri Pankov#  |   $Ot   |   $Ou   |   $Ov   |   $Ol   |
218713cfc972SYuri Pankov#  |_kf5__k5_|_kf6__k6_|_kf7__k7_|_kf8__k8_|
218813cfc972SYuri Pankov#  |    1    |    2    |    3    |         |
218913cfc972SYuri Pankov#  |   $Oq   |   $Or   |   $Os   |  enter  |
219013cfc972SYuri Pankov#  |_ka1__K1_|_kb2__K2_|_ka3__K3_|  $OM    |
219113cfc972SYuri Pankov#  |         0         |   .     |         |
219213cfc972SYuri Pankov#  |        $Op        |  $On    |         |
219313cfc972SYuri Pankov#  |___kc1_______K4____|_kc3__K5_|_kent_@8_|
219413cfc972SYuri Pankov#
219513cfc972SYuri Pankov# Note however, that the arrangement of the 5-key ka1-kc3 do not follow the
219613cfc972SYuri Pankov# terminfo guidelines.  That is a compromise used to assign the remaining
219713cfc972SYuri Pankov# keys on the keypad to kf5-kf0, used on older systems with legacy termcap
219813cfc972SYuri Pankov# support:
219913cfc972SYuri Pankovvt100+keypad|dec vt100 numeric keypad no fkeys,
220013cfc972SYuri Pankov	ka1=\EOq, ka3=\EOs, kb2=\EOr, kc1=\EOp, kc3=\EOn,
220113cfc972SYuri Pankovvt100+pfkeys|dec vt100 numeric keypad,
220213cfc972SYuri Pankov	kent=\EOM, kf1=\EOP, kf2=\EOQ, kf3=\EOR, kf4=\EOS,
220313cfc972SYuri Pankov	use=vt100+keypad,
220413cfc972SYuri Pankovvt100+fnkeys|dec vt100 numeric keypad,
220513cfc972SYuri Pankov	kf0=\EOy, kf10=\EOx, kf5=\EOt, kf6=\EOu, kf7=\EOv, kf8=\EOl,
220613cfc972SYuri Pankov	kf9=\EOw, use=vt100+pfkeys,
220713cfc972SYuri Pankov#
220813cfc972SYuri Pankov# A better adaptation to modern keyboards such as the PC's, which have a dozen
220913cfc972SYuri Pankov# function keys and the keypad 2,4,6,8 keys are labeled with arrows keys, is to
221013cfc972SYuri Pankov# use the 5-key arrangement to model the arrow keys as suggested in the
221113cfc972SYuri Pankov# terminfo guidelines:
221213cfc972SYuri Pankov#   _______________________________________
221313cfc972SYuri Pankov#  |   PF1   |   PF2   |   PF3   |   PF4   |
221413cfc972SYuri Pankov#  |   $OP   |   $OQ   |   $OR   |   $OS   |
221513cfc972SYuri Pankov#  |_kf1__k1_|_kf2__k2_|_kf3__k3_|_kf4__k4_|
221613cfc972SYuri Pankov#  |    7         8         9         -    |
221713cfc972SYuri Pankov#  |   $Ow   |   $Ox   |   $Oy   |   $Om   |
221813cfc972SYuri Pankov#  |_ka1__K1_|_________|_ka3__K3_|_________|
221913cfc972SYuri Pankov#  |    4    |    5    |    6    |    ,    |
222013cfc972SYuri Pankov#  |   $Ot   |   $Ou   |   $Ov   |   $Ol   |
222113cfc972SYuri Pankov#  |_________|_kb2__K2_|_________|_________|
222213cfc972SYuri Pankov#  |    1    |    2    |    3    |         |
222313cfc972SYuri Pankov#  |   $Oq   |   $Or   |   $Os   |  enter  |
222413cfc972SYuri Pankov#  |_kc1__K4_|_________|_kc3__K5_|  $OM    |
222513cfc972SYuri Pankov#  |         0         |   .     |         |
222613cfc972SYuri Pankov#  |        $Op        |  $On    |         |
222713cfc972SYuri Pankov#  |___________________|_________|_kent_@8_|
222813cfc972SYuri Pankov#
222913cfc972SYuri Pankovvt220+keypad|dec vt220 numeric keypad,
223013cfc972SYuri Pankov	ka1=\EOw, ka3=\EOy, kb2=\EOu, kc1=\EOq, kc3=\EOs, kent=\EOM,
223113cfc972SYuri Pankov	kf1=\EOP, kf2=\EOQ, kf3=\EOR, kf4=\EOS, ka2=\EOx, kb1=\EOt,
223213cfc972SYuri Pankov	kb3=\EOv, kc2=\EOr,
223313cfc972SYuri Pankov#
223413cfc972SYuri Pankovvt100+enq|ncurses extension for vt100-style ENQ,
223513cfc972SYuri Pankov	u8=\E[?1;2c, use=ansi+enq,
223613cfc972SYuri Pankovvt102+enq|ncurses extension for vt102-style ENQ,
223713cfc972SYuri Pankov	u8=\E[?6c, use=ansi+enq,
223813cfc972SYuri Pankov#
223913cfc972SYuri Pankov# And here, for those of you with orphaned VT100s lacking documentation, is
224013cfc972SYuri Pankov# a description of the soft switches invoked when you do `Set Up'.
224113cfc972SYuri Pankov#
224213cfc972SYuri Pankov#  Scroll 0-Jump               Shifted 3   0-#
224313cfc972SYuri Pankov#  |      1-Smooth             |           1-British pound sign
224413cfc972SYuri Pankov#  | Autorepeat 0-Off          | Wrap Around 0-Off
224513cfc972SYuri Pankov#  | |          1-On           | |           1-On
224613cfc972SYuri Pankov#  | | Screen 0-Dark Bkg       | | New Line 0-Off
224713cfc972SYuri Pankov#  | | |      1-Light Bkg      | | |        1-On
224813cfc972SYuri Pankov#  | | | Cursor 0-Underline    | | | Interlace 0-Off
224913cfc972SYuri Pankov#  | | | |      1-Block        | | | |         1-On
225013cfc972SYuri Pankov#  | | | |                     | | | |
225113cfc972SYuri Pankov#  1 1 0 1       1 1 1 1       0 1 0 0       0 0 1 0       <--Standard Settings
225213cfc972SYuri Pankov#                | | | |                     | | | |
225313cfc972SYuri Pankov#                | | | Auto XON/XOFF 0-Off   | | | Power 0-60 Hz
225413cfc972SYuri Pankov#                | | |               1-On    | | |       1-50 Hz
225513cfc972SYuri Pankov#                | | Ansi/VT52 0-VT52        | | Bits Per Char. 0-7 Bits
225613cfc972SYuri Pankov#                | |           1-ANSI        | |                1-8 Bits
225713cfc972SYuri Pankov#                | Keyclick 0-Off            | Parity 0-Off
225813cfc972SYuri Pankov#                |          1-On             |        1-On
225913cfc972SYuri Pankov#                Margin Bell 0-Off           Parity Sense 0-Odd
226013cfc972SYuri Pankov#                            1-On                         1-Even
226113cfc972SYuri Pankov#
226213cfc972SYuri Pankov# The following SET-UP modes are assumed for normal operation:
226313cfc972SYuri Pankov#	ANSI_MODE	AUTO_XON/XOFF_ON	NEWLINE_OFF	80_COLUMNS
226413cfc972SYuri Pankov#	WRAP_AROUND_ON  JUMP_SCROLL_OFF
226513cfc972SYuri Pankov# Other SET-UP modes may be set for operator convenience or communication
226613cfc972SYuri Pankov# requirements; I recommend
226713cfc972SYuri Pankov#	AUTOREPEAT_ON	BLOCK_CURSOR	MARGIN_BELL_OFF    SHIFTED_3_#
226813cfc972SYuri Pankov# Unless you have a graphics add-on such as Digital Engineering's VT640
226913cfc972SYuri Pankov# (and even then, whenever it can be arranged!) you should set
227013cfc972SYuri Pankov#	INTERLACE_OFF
227113cfc972SYuri Pankov#
227213cfc972SYuri Pankov# (vt100: I added <rmam>/<smam> based on the init string, also <OTbs>. -- esr)
227313cfc972SYuri Pankovvt100|vt100-am|dec vt100 (w/advanced video),
227413cfc972SYuri Pankov	OTbs, am, mc5i, msgr, xenl, xon,
227513cfc972SYuri Pankov	cols#80, it#8, lines#24, vt#3,
227613cfc972SYuri Pankov	acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
227713cfc972SYuri Pankov	bel=^G, blink=\E[5m$<2>, bold=\E[1m$<2>,
227813cfc972SYuri Pankov	clear=\E[H\E[J$<50>, cr=^M, csr=\E[%i%p1%d;%p2%dr,
227913cfc972SYuri Pankov	cub=\E[%p1%dD, cub1=^H, cud=\E[%p1%dB, cud1=^J,
228013cfc972SYuri Pankov	cuf=\E[%p1%dC, cuf1=\E[C$<2>,
228113cfc972SYuri Pankov	cup=\E[%i%p1%d;%p2%dH$<5>, cuu=\E[%p1%dA,
228213cfc972SYuri Pankov	cuu1=\E[A$<2>, ed=\E[J$<50>, el=\E[K$<3>, el1=\E[1K$<3>,
228313cfc972SYuri Pankov	enacs=\E(B\E)0, home=\E[H, ht=^I, hts=\EH, ind=^J, kbs=^H,
228413cfc972SYuri Pankov	kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, lf1=pf1,
228513cfc972SYuri Pankov	lf2=pf2, lf3=pf3, lf4=pf4, mc0=\E[0i, mc4=\E[4i, mc5=\E[5i,
228613cfc972SYuri Pankov	rc=\E8, rev=\E[7m$<2>, ri=\EM$<5>, rmacs=^O, rmam=\E[?7l,
228713cfc972SYuri Pankov	rmkx=\E[?1l\E>, rmso=\E[m$<2>, rmul=\E[m$<2>,
228813cfc972SYuri Pankov	rs2=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h, sc=\E7,
228913cfc972SYuri Pankov	sgr=\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;m%?%p9%t\016%e\017%;$<2>,
229013cfc972SYuri Pankov	sgr0=\E[m\017$<2>, smacs=^N, smam=\E[?7h, smkx=\E[?1h\E=,
229113cfc972SYuri Pankov	smso=\E[7m$<2>, smul=\E[4m$<2>, tbc=\E[3g,
229213cfc972SYuri Pankov	use=vt100+fnkeys,
229313cfc972SYuri Pankovvt100nam|vt100-nam|vt100 no automargins,
229413cfc972SYuri Pankov	am@, xenl@, use=vt100-am,
229513cfc972SYuri Pankovvt100-vb|dec vt100 (w/advanced video) & no beep,
229613cfc972SYuri Pankov	bel@, flash=\E[?5h\E[?5l, use=vt100,
229713cfc972SYuri Pankov
229813cfc972SYuri Pankov# Ordinary vt100 in 132 column ("wide") mode.
229913cfc972SYuri Pankovvt100-w|vt100-w-am|dec vt100 132 cols (w/advanced video),
230013cfc972SYuri Pankov	cols#132, lines#24,
230113cfc972SYuri Pankov	rs2=\E>\E[?3h\E[?4l\E[?5l\E[?8h, use=vt100-am,
230213cfc972SYuri Pankovvt100-w-nam|vt100-nam-w|dec vt100 132 cols (w/advanced video no automargin),
230313cfc972SYuri Pankov	cols#132, lines#14, vt@,
230413cfc972SYuri Pankov	rs2=\E>\E[?3h\E[?4l\E[?5l\E[?8h, use=vt100-nam,
230513cfc972SYuri Pankov
230613cfc972SYuri Pankov# vt100 with no advanced video.
230713cfc972SYuri Pankovvt100-nav|vt100 without advanced video option,
230813cfc972SYuri Pankov	xmc#1,
230913cfc972SYuri Pankov	blink@, bold@, rev@, rmso=\E[m, rmul@, sgr@, sgr0@, smso=\E[7m,
231013cfc972SYuri Pankov	smul@, use=vt100,
231113cfc972SYuri Pankovvt100-nav-w|vt100-w-nav|dec vt100 132 cols 14 lines (no advanced video option),
231213cfc972SYuri Pankov	cols#132, lines#14, use=vt100-nav,
231313cfc972SYuri Pankov
231413cfc972