termcap - terminal capability database


   The  termcap  database  is  an  obsolete  facility  for  describing the
   capabilities of character-cell terminals and printers.  It is  retained
   only  for  capability  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  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.

   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

   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

   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.

          The above metacharacters  for  parameters  may  be  wrong:  they
          document  Minix  termcap  which may not be compatible with Linux

   The  block  graphic  characters  can  be  specified  by  three   string

   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

   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.


   ncurses(3), termcap(3), terminfo(5)


   This page is part of release 4.09 of the Linux  man-pages  project.   A
   description  of  the project, information about reporting bugs, and the
   latest    version    of    this    page,    can     be     found     at


Personal Opportunity - Free software gives you access to billions of dollars of software at no cost. Use this software for your business, personal use or to develop a profitable skill. Access to source code provides access to a level of capabilities/information that companies protect though copyrights. Open source is a core component of the Internet and it is available to you. Leverage the billions of dollars in resources and capabilities to build a career, establish a business or change the world. The potential is endless for those who understand the opportunity.

Business Opportunity - Goldman Sachs, IBM and countless large corporations are leveraging open source to reduce costs, develop products and increase their bottom lines. Learn what these companies know about open source and how open source can give you the advantage.

Free Software

Free Software provides computer programs and capabilities at no cost but more importantly, it provides the freedom to run, edit, contribute to, and share the software. The importance of free software is a matter of access, not price. Software at no cost is a benefit but ownership rights to the software and source code is far more significant.

Free Office Software - The Libre Office suite provides top desktop productivity tools for free. This includes, a word processor, spreadsheet, presentation engine, drawing and flowcharting, database and math applications. Libre Office is available for Linux or Windows.

Free Books

The Free Books Library is a collection of thousands of the most popular public domain books in an online readable format. The collection includes great classical literature and more recent works where the U.S. copyright has expired. These books are yours to read and use without restrictions.

Source Code - Want to change a program or know how it works? Open Source provides the source code for its programs so that anyone can use, modify or learn how to write those programs themselves. Visit the GNU source code repositories to download the source.


Study at Harvard, Stanford or MIT - Open edX provides free online courses from Harvard, MIT, Columbia, UC Berkeley and other top Universities. Hundreds of courses for almost all major subjects and course levels. Open edx also offers some paid courses and selected certifications.

Linux Manual Pages - A man or manual page is a form of software documentation found on Linux/Unix operating systems. Topics covered include computer programs (including library and system calls), formal standards and conventions, and even abstract concepts.