| .\" Copyright (c) 1993 Michael Haardt (michael@moria.de), |
| .\" Fri Apr 2 11:32:09 MET DST 1993 |
| .\" |
| .\" %%%LICENSE_START(GPLv2+_DOC_FULL) |
| .\" This is free documentation; you can redistribute it and/or |
| .\" modify it under the terms of the GNU General Public License as |
| .\" published by the Free Software Foundation; either version 2 of |
| .\" the License, or (at your option) any later version. |
| .\" |
| .\" The GNU General Public License's references to "object code" |
| .\" and "executables" are to be interpreted as the output of any |
| .\" document formatting or typesetting system, including |
| .\" intermediate and printed output. |
| .\" |
| .\" This manual is distributed in the hope that it will be useful, |
| .\" but WITHOUT ANY WARRANTY; without even the implied warranty of |
| .\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
| .\" GNU General Public License for more details. |
| .\" |
| .\" You should have received a copy of the GNU General Public |
| .\" License along with this manual; if not, see |
| .\" <http://www.gnu.org/licenses/>. |
| .\" %%%LICENSE_END |
| .\" |
| .\" Modified formatting Sat Jul 24 17:13:38 1993, Rik Faith (faith@cs.unc.edu) |
| .\" Modified (extensions and corrections) |
| .\" Sun May 1 14:21:25 MET DST 1994 Michael Haardt |
| .\" If mistakes in the capabilities are found, please send a bug report to: |
| .\" michael@moria.de |
| .\" Modified Mon Oct 21 17:47:19 EDT 1996 by Eric S. Raymond (esr@thyrsus.com) |
| .TH TERMCAP 5 2020-08-13 "Linux" "Linux Programmer's Manual" |
| .SH NAME |
| termcap \- terminal capability database |
| .SH DESCRIPTION |
| The termcap database is an obsolete facility for describing the |
| capabilities of character-cell terminals and printers. |
| It is retained only for compatibility with old programs; |
| new programs should use the |
| .BR terminfo (5) |
| database and associated libraries. |
| .PP |
| .I /etc/termcap |
| is an ASCII file (the database master) that lists the capabilities of |
| many different types of terminals. |
| Programs can read termcap to find |
| the particular escape codes needed to control the visual attributes of |
| the terminal actually in use. |
| (Other aspects of the terminal are |
| handled by |
| .BR stty (1).) |
| The termcap database is indexed on the |
| .B TERM |
| environment variable. |
| .PP |
| Termcap entries must be defined on a single logical line, with \(aq\e\(aq |
| used to suppress the newline. |
| Fields are separated by \(aq:\(aq. |
| The first field of each entry starts at the left-hand margin, |
| and contains a list of names for the terminal, separated by \(aq|\(aq. |
| .PP |
| The first subfield may (in BSD termcap entries from versions 4.3 and |
| earlier) contain a short name consisting of two characters. |
| This short name may consist of capital or small letters. |
| In 4.4BSD, termcap entries this field is omitted. |
| .PP |
| The second subfield (first, in the newer 4.4BSD format) contains the |
| name used by the environment variable |
| .BR TERM . |
| It should be spelled in lowercase letters. |
| Selectable hardware capabilities should be marked |
| by appending a hyphen and a suffix to this name. |
| See below for an example. |
| Usual suffixes are w (more than 80 characters wide), am |
| (automatic margins), nam (no automatic margins), and rv (reverse video |
| display). |
| The third subfield contains a long and descriptive name for |
| this termcap entry. |
| .PP |
| Subsequent fields contain the terminal capabilities; any continued |
| capability lines must be indented one tab from the left margin. |
| .PP |
| Although there is no defined order, it is suggested to write first |
| boolean, then numeric, and then string capabilities, each sorted |
| alphabetically without looking at lower or upper spelling. |
| Capabilities of similar functions can be written in one line. |
| .PP |
| Example for: |
| .nf |
| .PP |
| Head line: vt|vt101|DEC VT 101 terminal in 80 character mode:\e |
| Head line: Vt|vt101-w|DEC VT 101 terminal in (wide) 132 character mode:\e |
| Boolean: :bs:\e |
| Numeric: :co#80:\e |
| String: :sr=\eE[H:\e |
| .fi |
| .SS Boolean capabilities |
| .nf |
| 5i Printer will not echo on screen |
| am Automatic margins which means automatic line wrap |
| bs Control-H (8 dec.) performs a backspace |
| bw Backspace on left margin wraps to previous line and right margin |
| da Display retained above screen |
| db Display retained below screen |
| eo A space erases all characters at cursor position |
| es Escape sequences and special characters work in status line |
| gn Generic device |
| hc This is a hardcopy terminal |
| HC The cursor is hard to see when not on bottom line |
| hs Has a status line |
| hz Hazeltine bug, the terminal can not print tilde characters |
| in Terminal inserts null bytes, not spaces, to fill whitespace |
| km Terminal has a meta key |
| mi Cursor movement works in insert mode |
| ms Cursor movement works in standout/underline mode |
| NP No pad character |
| NR ti does not reverse te |
| nx No padding, must use XON/XOFF |
| os Terminal can overstrike |
| ul Terminal underlines although it can not overstrike |
| xb Beehive glitch, f1 sends ESCAPE, f2 sends \fB\(haC\fP |
| xn Newline/wraparound glitch |
| xo Terminal uses xon/xoff protocol |
| xs Text typed over standout text will be displayed in standout |
| xt Teleray glitch, destructive tabs and odd standout mode |
| .fi |
| .SS Numeric capabilities |
| .nf |
| co Number of columns |
| dB Delay in milliseconds for backspace on hardcopy terminals |
| dC Delay in milliseconds for carriage return on hardcopy terminals |
| dF Delay in milliseconds for form feed on hardcopy terminals |
| dN Delay in milliseconds for new line on hardcopy terminals |
| dT Delay in milliseconds for tabulator stop on hardcopy terminals |
| dV Delay in milliseconds for vertical tabulator stop on |
| hardcopy terminals |
| it Difference between tab positions |
| lh Height of soft labels |
| lm Lines of memory |
| lw Width of soft labels |
| li Number of lines |
| Nl Number of soft labels |
| pb Lowest baud rate which needs padding |
| sg Standout glitch |
| ug Underline glitch |
| vt virtual terminal number |
| ws Width of status line if different from screen width |
| .fi |
| .SS String capabilities |
| .nf |
| !1 shifted save key |
| !2 shifted suspend key |
| !3 shifted undo key |
| #1 shifted help key |
| #2 shifted home key |
| #3 shifted input key |
| #4 shifted cursor left key |
| %0 redo key |
| %1 help key |
| %2 mark key |
| %3 message key |
| %4 move key |
| %5 next-object key |
| %6 open key |
| %7 options key |
| %8 previous-object key |
| %9 print key |
| %a shifted message key |
| %b shifted move key |
| %c shifted next key |
| %d shifted options key |
| %e shifted previous key |
| %f shifted print key |
| %g shifted redo key |
| %h shifted replace key |
| %i shifted cursor right key |
| %j shifted resume key |
| &0 shifted cancel key |
| &1 reference key |
| &2 refresh key |
| &3 replace key |
| &4 restart key |
| &5 resume key |
| &6 save key |
| &7 suspend key |
| &8 undo key |
| &9 shifted begin key |
| *0 shifted find key |
| *1 shifted command key |
| *2 shifted copy key |
| *3 shifted create key |
| *4 shifted delete character |
| *5 shifted delete line |
| *6 select key |
| *7 shifted end key |
| *8 shifted clear line key |
| *9 shifted exit key |
| @0 find key |
| @1 begin key |
| @2 cancel key |
| @3 close key |
| @4 command key |
| @5 copy key |
| @6 create key |
| @7 end key |
| @8 enter/send key |
| @9 exit key |
| al Insert one line |
| AL Insert %1 lines |
| ac Pairs of block graphic characters to map alternate character set |
| ae End alternative character set |
| as Start alternative character set for block graphic characters |
| bc Backspace, if not \fB\(haH\fP |
| bl Audio bell |
| bt Move to previous tab stop |
| cb Clear from beginning of line to cursor |
| cc Dummy command character |
| cd Clear to end of screen |
| ce Clear to end of line |
| ch Move cursor horizontally only to column %1 |
| cl Clear screen and cursor home |
| cm Cursor move to row %1 and column %2 (on screen) |
| CM Move cursor to row %1 and column %2 (in memory) |
| cr Carriage return |
| cs Scroll region from line %1 to %2 |
| ct Clear tabs |
| cv Move cursor vertically only to line %1 |
| dc Delete one character |
| DC Delete %1 characters |
| dl Delete one line |
| DL Delete %1 lines |
| dm Begin delete mode |
| do Cursor down one line |
| DO Cursor down #1 lines |
| ds Disable status line |
| eA Enable alternate character set |
| ec Erase %1 characters starting at cursor |
| ed End delete mode |
| ei End insert mode |
| ff Formfeed character on hardcopy terminals |
| fs Return character to its position before going to status line |
| F1 The string sent by function key f11 |
| F2 The string sent by function key f12 |
| F3 The string sent by function key f13 |
| \&... \&... |
| F9 The string sent by function key f19 |
| FA The string sent by function key f20 |
| FB The string sent by function key f21 |
| \&... \&... |
| FZ The string sent by function key f45 |
| Fa The string sent by function key f46 |
| Fb The string sent by function key f47 |
| \&... \&... |
| Fr The string sent by function key f63 |
| hd Move cursor a half line down |
| ho Cursor home |
| hu Move cursor a half line up |
| i1 Initialization string 1 at login |
| i3 Initialization string 3 at login |
| is Initialization string 2 at login |
| ic Insert one character |
| IC Insert %1 characters |
| if Initialization file |
| im Begin insert mode |
| ip Insert pad time and needed special characters after insert |
| iP Initialization program |
| K1 upper left key on keypad |
| K2 center key on keypad |
| K3 upper right key on keypad |
| K4 bottom left key on keypad |
| K5 bottom right key on keypad |
| k0 Function key 0 |
| k1 Function key 1 |
| k2 Function key 2 |
| k3 Function key 3 |
| k4 Function key 4 |
| k5 Function key 5 |
| k6 Function key 6 |
| k7 Function key 7 |
| k8 Function key 8 |
| k9 Function key 9 |
| k; Function key 10 |
| ka Clear all tabs key |
| kA Insert line key |
| kb Backspace key |
| kB Back tab stop |
| kC Clear screen key |
| kd Cursor down key |
| kD Key for delete character under cursor |
| ke turn keypad off |
| kE Key for clear to end of line |
| kF Key for scrolling forward/down |
| kh Cursor home key |
| kH Cursor hown down key |
| kI Insert character/Insert mode key |
| kl Cursor left key |
| kL Key for delete line |
| kM Key for exit insert mode |
| kN Key for next page |
| kP Key for previous page |
| kr Cursor right key |
| kR Key for scrolling backward/up |
| ks Turn keypad on |
| kS Clear to end of screen key |
| kt Clear this tab key |
| kT Set tab here key |
| ku Cursor up key |
| l0 Label of zeroth function key, if not f0 |
| l1 Label of first function key, if not f1 |
| l2 Label of first function key, if not f2 |
| \&... \&... |
| la Label of tenth function key, if not f10 |
| le Cursor left one character |
| ll Move cursor to lower left corner |
| LE Cursor left %1 characters |
| LF Turn soft labels off |
| LO Turn soft labels on |
| mb Start blinking |
| MC Clear soft margins |
| md Start bold mode |
| me End all mode like so, us, mb, md, and mr |
| mh Start half bright mode |
| mk Dark mode (Characters invisible) |
| ML Set left soft margin |
| mm Put terminal in meta mode |
| mo Put terminal out of meta mode |
| mp Turn on protected attribute |
| mr Start reverse mode |
| MR Set right soft margin |
| nd Cursor right one character |
| nw Carriage return command |
| pc Padding character |
| pf Turn printer off |
| pk Program key %1 to send string %2 as if typed by user |
| pl Program key %1 to execute string %2 in local mode |
| pn Program soft label %1 to show string %2 |
| po Turn the printer on |
| pO Turn the printer on for %1 (<256) bytes |
| ps Print screen contents on printer |
| px Program key %1 to send string %2 to computer |
| r1 Reset string 1 to set terminal to sane modes |
| r2 Reset string 2 to set terminal to sane modes |
| r3 Reset string 3 to set terminal to sane modes |
| RA disable automatic margins |
| rc Restore saved cursor position |
| rf Reset string filename |
| RF Request for input from terminal |
| RI Cursor right %1 characters |
| rp Repeat character %1 for %2 times |
| rP Padding after character sent in replace mode |
| rs Reset string |
| RX Turn off XON/XOFF flow control |
| sa Set %1 %2 %3 %4 %5 %6 %7 %8 %9 attributes |
| SA enable automatic margins |
| sc Save cursor position |
| se End standout mode |
| sf Normal scroll one line |
| SF Normal scroll %1 lines |
| so Start standout mode |
| sr Reverse scroll |
| SR scroll back %1 lines |
| st Set tabulator stop in all rows at current column |
| SX Turn on XON/XOFF flow control |
| ta move to next hardware tab |
| tc Read in terminal description from another entry |
| te End program that uses cursor motion |
| ti Begin program that uses cursor motion |
| ts Move cursor to column %1 of status line |
| uc Underline character under cursor and move cursor right |
| ue End underlining |
| up Cursor up one line |
| UP Cursor up %1 lines |
| us Start underlining |
| vb Visible bell |
| ve Normal cursor visible |
| vi Cursor invisible |
| vs Standout cursor |
| wi Set window from line %1 to %2 and column %3 to %4 |
| XF XOFF character if not \fB\(haS\fP |
| .fi |
| .PP |
| There are several ways of defining the control codes for string capabilities: |
| .PP |
| Every normal character represents itself, |
| except \(aq\(ha\(aq, \(aq\e\(aq, and \(aq%\(aq. |
| .PP |
| A \fB\(hax\fP means Control-x. |
| Control-A equals 1 decimal. |
| .PP |
| \ex means a special code. |
| x can be one of the following characters: |
| .RS |
| E Escape (27) |
| .br |
| n Linefeed (10) |
| .br |
| r Carriage return (13) |
| .br |
| t Tabulation (9) |
| .br |
| b Backspace (8) |
| .br |
| f Form feed (12) |
| .br |
| 0 Null character. |
| A \exxx specifies the octal character xxx. |
| .RE |
| .IP i |
| Increments parameters by one. |
| .IP r |
| Single parameter capability |
| .IP + |
| Add value of next character to this parameter and do binary output |
| .IP 2 |
| Do ASCII output of this parameter with a field with of 2 |
| .IP d |
| Do ASCII output of this parameter with a field with of 3 |
| .IP % |
| Print a \(aq%\(aq |
| .PP |
| If you use binary output, then you should avoid the null character (\(aq\e0\(aq) |
| because it terminates the string. |
| You should reset tabulator expansion |
| if a tabulator can be the binary output of a parameter. |
| .IP Warning: |
| The above metacharacters for parameters may be wrong: they document Minix |
| termcap which may not be compatible with Linux termcap. |
| .PP |
| The block graphic characters can be specified by three string capabilities: |
| .IP as |
| start the alternative charset |
| .IP ae |
| end the alternative charset |
| .IP ac |
| pairs of characters. |
| The first character is the name of the block graphic |
| symbol and the second characters is its definition. |
| .PP |
| The following names are available: |
| .PP |
| .nf |
| + right arrow (>) |
| , left arrow (<) |
| \&. down arrow (v) |
| 0 full square (#) |
| I lantern (#) |
| - upper arrow (\(ha) |
| \&' rhombus (+) |
| a chess board (:) |
| f degree (') |
| g plus-minus (#) |
| h square (#) |
| j right bottom corner (+) |
| k right upper corner (+) |
| l left upper corner (+) |
| m left bottom corner (+) |
| n cross (+) |
| o upper horizontal line (-) |
| q middle horizontal line (-) |
| s bottom horizontal line (_) |
| t left tee (+) |
| u right tee (+) |
| v bottom tee (+) |
| w normal tee (+) |
| x vertical line (|) |
| \(ti paragraph (???) |
| .fi |
| .PP |
| The values in parentheses are suggested defaults which are used by the |
| .IR curses |
| library, if the capabilities are missing. |
| .SH SEE ALSO |
| .BR ncurses (3), |
| .BR termcap (3), |
| .BR terminfo (5) |