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