# termcap

## NAME



           termcap - terminal capability database
    


## 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 terminfo(5) database and associated libraries.
    
           _/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 stty(1).)  The termcap
           database is indexed on the **TERM** environment variable.
    
           Termcap entries must be defined on a single logical line, with '\'
           used to suppress the newline.  Fields are separated by ':'.  The
           first field of each entry starts at the left-hand margin, and
           contains a list of names for the terminal, separated by '|'.
    
           The first subfield may (in BSD termcap entries from 4.3BSD 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.
    
           The second subfield (first, in the newer 4.4BSD format) contains
           the name used by the environment variable **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.
    
           Subsequent fields contain the terminal capabilities; any continued
           capability lines must be indented one tab from the left margin.
    
           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.
    
           Example for:
    
           Head line: vt|vt101|DEC VT 101 terminal in 80 character mode:\
           Head line: Vt|vt101-w|DEC VT 101 terminal in (wide) 132 character mode:\
           Boolean: :bs:\
           Numeric: :co#80:\
           String: :sr=\E[H:\
    
       **Boolean capabilities**
           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 **^C**
           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
    
       **Numeric capabilities**
           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
    
       **String capabilities**
           !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 **^H**
           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 **^S**
    
           There are several ways of defining the control codes for string
           capabilities:
    
           Every normal character represents itself, except '^', '\', and
           '%'.
    
           A **^x** means Control-x.  Control-A equals 1 decimal.
    
           \x means a special code.  x can be one of the following
           characters:
                  E Escape (27)
                  n Linefeed (10)
                  r Carriage return (13)
                  t Tabulation (9)
                  b Backspace (8)
                  f Form feed (12)
                  0 Null character.  A \xxx specifies the octal character
                  xxx.
    
           i      Increments parameters by one.
    
           r      Single parameter capability
    
           +      Add value of next character to this parameter and do binary
                  output
    
           2      Do ASCII output of this parameter with a field with of 2
    
           d      Do ASCII output of this parameter with a field with of 3
    
           %      Print a '%'
    
           If you use binary output, then you should avoid the null character
           ('\0') because it terminates the string.  You should reset
           tabulator expansion if a tabulator can be the binary output of a
           parameter.
    
           Warning:
                  The above metacharacters for parameters may be wrong: they
                  document Minix termcap which may not be compatible with
                  Linux termcap.
    
           The block graphic characters can be specified by three string
           capabilities:
    
           as     start the alternative charset
    
           ae     end the alternative charset
    
           ac     pairs of characters.  The first character is the name of
                  the block graphic symbol and the second characters is its
                  definition.
    
           The following names are available:
    
           +    right arrow (>)
           ,    left arrow (<)
           .    down arrow (v)
           0    full square (#)
           I    lantern (#)
           -    upper arrow (^)
           '    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 (|)
           ~    paragraph (???)
    
           The values in parentheses are suggested defaults which are used by
           the _curses_ library, if the capabilities are missing.
    


* * *