TERMCAP(5)          Linux Programmer's Manual          TERMCAP(5)

NAME
       termcap - terminal capability database

DESCRIPTION
       The  termcap database is an obsolete facility for describ-
       ing  the  capabilities  of  character-cell  terminals  and
       printers.   It  is  retained  only for capability with old
       programs; new ones 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  termi-
       nal.   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 ter-
       minal are handled  by  stty.)   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  sepa-
       rated 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 ver-
       sions 4.3 and prior) 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 exam-
       ple.  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 at last string capa-
       bilities,  each  sorted  alphabetically without looking at
       lower or upper spelling.  Capabilities  of  similar  func-
       tions 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 nulls, 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 cusor 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   Indert %1 lines
       ac   Pairs of block grafic characters to map alternate character set
       ae   End alternative character set
       as   Start alternative character set for block grafic 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 scolling 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 scolling 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 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 file name
       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 unvisible
       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:

       Normal Characters except '^','\' and  '%'  repesent  them-
       self.

       A '^x' means Control-x.  Control-A equals 1 decimal.

       \x  means  a  special code.  x can be one of the following
       charaters:
              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 char-
              acter xxx.

       i      Increments paramters 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  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  grafic  characters  can  be specified by three
       string capabilities:

       as     start the alternative charset

       ae     end it

       ac     pairs of characters.  The first  character  is  the
              name  of  the  block  grafic  symbol and the second
              characters is its definition.

       The following names are available:

       +    right arrow (>)
       ,    left arrow (<)
       .    down arrow (v)
       0    full square (#)
       I    latern (#)
       -    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 curses, if the capabilities are missing.

SEE ALSO
       termcap(3), curses(3), terminfo(5)

Linux                                                           1