TERMCAP   (5) manpage
TERMCAP
5
Linux
Linux Programmer's Manual
  • 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 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 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.)  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 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 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 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 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	Indert %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 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 themself. 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 character 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 graphic 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 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	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
Current Users: 41 © 1999-2006 Linux.com.hk PenguinSoft
All trademarks and copyrights on this page are owned by their respective companies. Linux is a trademark of Linus Torvalds.