1480 lines
		
	
	
	
		
			48 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
			
		
		
	
	
			1480 lines
		
	
	
	
		
			48 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
| This is Info file ./termcap.info, produced by Makeinfo-1.55 from the
 | ||
| input file ./termcap.texi.
 | ||
| 
 | ||
|    This file documents the termcap library of the GNU system.
 | ||
| 
 | ||
|    Copyright (C) 1988 Free Software Foundation, Inc.
 | ||
| 
 | ||
|    Permission is granted to make and distribute verbatim copies of this
 | ||
| manual provided the copyright notice and this permission notice are
 | ||
| preserved on all copies.
 | ||
| 
 | ||
|    Permission is granted to copy and distribute modified versions of
 | ||
| this manual under the conditions for verbatim copying, provided that
 | ||
| the entire resulting derived work is distributed under the terms of a
 | ||
| permission notice identical to this one.
 | ||
| 
 | ||
|    Permission is granted to copy and distribute translations of this
 | ||
| manual into another language, under the above conditions for modified
 | ||
| versions, except that this permission notice may be stated in a
 | ||
| translation approved by the Foundation.
 | ||
| 
 | ||
| 
 | ||
| File: termcap.info,  Node: Insdel Char,  Next: Standout,  Prev: Insdel Line,  Up: Capabilities
 | ||
| 
 | ||
| Insert/Delete Character
 | ||
| =======================
 | ||
| 
 | ||
|    "Inserting a character" means creating a blank space in the middle
 | ||
| of a line, and pushing the rest of the line rightward.  The character
 | ||
| in the rightmost column is lost.
 | ||
| 
 | ||
|    "Deleting a character" means causing the character to disappear from
 | ||
| the screen, closing up the gap by moving the rest of the line leftward.
 | ||
| A blank space appears in the rightmost column.
 | ||
| 
 | ||
|    Insertion and deletion of characters is useful in programs that
 | ||
| maintain an updating display some parts of which may get longer or
 | ||
| shorter.  It is also useful in editors for redisplaying the results of
 | ||
| editing within a line.
 | ||
| 
 | ||
|    Many terminals provide commands to insert or delete a single
 | ||
| character at the cursor position.  Some provide the ability to insert
 | ||
| or delete several characters with one command, using the number of
 | ||
| characters to insert or delete as a parameter.
 | ||
| 
 | ||
|    Many terminals provide an insert mode in which outputting a graphic
 | ||
| character has the added effect of inserting a position for that
 | ||
| character.  A special command string is used to enter insert mode and
 | ||
| another is used to exit it.  The reason for designing a terminal with
 | ||
| an insert mode rather than an insert command is that inserting
 | ||
| character positions is usually followed by writing characters into
 | ||
| them.  With insert mode, this is as fast as simply writing the
 | ||
| characters, except for the fixed overhead of entering and leaving
 | ||
| insert mode.  However, when the line speed is great enough, padding may
 | ||
| be required for the graphic characters output in insert mode.
 | ||
| 
 | ||
|    Some terminals require you to enter insert mode and then output a
 | ||
| special command for each position to be inserted.  Or they may require
 | ||
| special commands to be output before or after each graphic character to
 | ||
| be inserted.
 | ||
| 
 | ||
|    Deletion of characters is usually accomplished by a straightforward
 | ||
| command to delete one or several positions; but on some terminals, it
 | ||
| is necessary to enter a special delete mode before using the delete
 | ||
| command, and leave delete mode afterward.  Sometimes delete mode and
 | ||
| insert mode are the same mode.
 | ||
| 
 | ||
|    Some terminals make a distinction between character positions in
 | ||
| which a space character has been output and positions which have been
 | ||
| cleared.  On these terminals, the effect of insert or delete character
 | ||
| runs to the first cleared position rather than to the end of the line.
 | ||
| In fact, the effect may run to more than one line if there is no
 | ||
| cleared position to stop the shift on the first line.  These terminals
 | ||
| are identified by the `in' flag capability.
 | ||
| 
 | ||
|    On terminals with the `in' flag, the technique of skipping over
 | ||
| characters that you know were cleared, and then outputting text later
 | ||
| on in the same line, causes later insert and delete character
 | ||
| operations on that line to do nonstandard things.  A program that has
 | ||
| any chance of doing this must check for the `in' flag and must be
 | ||
| careful to write explicit space characters into the intermediate
 | ||
| columns when `in' is present.
 | ||
| 
 | ||
|    A plethora of terminal capabilities are needed to describe all of
 | ||
| this complexity.  Here is a list of them all.  Following the list, we
 | ||
| present an algorithm for programs to use to take proper account of all
 | ||
| of these capabilities.
 | ||
| 
 | ||
| `im'
 | ||
|      String of commands to enter insert mode.
 | ||
| 
 | ||
|      If the terminal has no special insert mode, but it can insert
 | ||
|      characters with a special command, `im' should be defined with a
 | ||
|      null value, because the `vi' editor assumes that insertion of a
 | ||
|      character is impossible if `im' is not provided.
 | ||
| 
 | ||
|      New programs should not act like `vi'.  They should pay attention
 | ||
|      to `im' only if it is defined.
 | ||
| 
 | ||
| `ei'
 | ||
|      String of commands to leave insert mode.  This capability must be
 | ||
|      present if `im' is.
 | ||
| 
 | ||
|      On a few old terminals the same string is used to enter and exit
 | ||
|      insert mode.  This string turns insert mode on if it was off, and
 | ||
|      off it it was on.  You can tell these terminals because the `ei'
 | ||
|      string equals the `im' string.  If you want to support these
 | ||
|      terminals, you must always remember accurately whether insert mode
 | ||
|      is in effect.  However, these terminals are obsolete, and it is
 | ||
|      reasonable to refuse to support them.  On all modern terminals, you
 | ||
|      can safely output `ei' at any time to ensure that insert mode is
 | ||
|      turned off.
 | ||
| 
 | ||
| `ic'
 | ||
|      String of commands to insert one character position at the cursor.
 | ||
|      The cursor does not move.
 | ||
| 
 | ||
|      If outputting a graphic character while in insert mode is
 | ||
|      sufficient to insert the character, then the `ic' capability
 | ||
|      should be defined with a null value.
 | ||
| 
 | ||
|      If your terminal offers a choice of ways to insert--either use
 | ||
|      insert mode or use a special command--then define `im' and do not
 | ||
|      define `ic', since this gives the most efficient operation when
 | ||
|      several characters are to be inserted.  *Do not* define both
 | ||
|      strings, for that means that *both* must be used each time
 | ||
|      insertion is done.
 | ||
| 
 | ||
| `ip'
 | ||
|      String of commands to output following an inserted graphic
 | ||
|      character in insert mode.  Often it is used just for a padding
 | ||
|      spec, when padding is needed after an inserted character (*note
 | ||
|      Padding::.).
 | ||
| 
 | ||
| `IC'
 | ||
|      String of commands to insert N character positions at and after
 | ||
|      the cursor.  It has the same effect as repeating the `ic' string
 | ||
|      and a space, N times.
 | ||
| 
 | ||
|      If `IC' is provided, application programs may use it without first
 | ||
|      entering insert mode.
 | ||
| 
 | ||
| `mi'
 | ||
|      Flag whose presence means it is safe to move the cursor while in
 | ||
|      insert mode and assume the terminal remains in insert mode.
 | ||
| 
 | ||
| `in'
 | ||
|      Flag whose presence means that the terminal distinguishes between
 | ||
|      character positions in which space characters have been output and
 | ||
|      positions which have been cleared.
 | ||
| 
 | ||
|    An application program can assume that the terminal can do character
 | ||
| insertion if *any one of* the capabilities `IC', `im', `ic' or `ip' is
 | ||
| provided.
 | ||
| 
 | ||
|    To insert N blank character positions, move the cursor to the place
 | ||
| to insert them and follow this algorithm:
 | ||
| 
 | ||
|   1. If an `IC' string is provided, output it with parameter N and you
 | ||
|      are finished.  Otherwise (or if you don't want to bother to look
 | ||
|      for an `IC' string) follow the remaining steps.
 | ||
| 
 | ||
|   2. Output the `im' string, if there is one, unless the terminal is
 | ||
|      already in insert mode.
 | ||
| 
 | ||
|   3. Repeat steps 4 through 6, N times.
 | ||
| 
 | ||
|   4. Output the `ic' string if any.
 | ||
| 
 | ||
|   5. Output a space.
 | ||
| 
 | ||
|   6. Output the `ip' string if any.
 | ||
| 
 | ||
|   7. Output the `ei' string, eventually, to exit insert mode.  There is
 | ||
|      no need to do this right away.  If the `mi' flag is present, you
 | ||
|      can move the cursor and the cursor will remain in insert mode;
 | ||
|      then you can do more insertion elsewhere without reentering insert
 | ||
|      mode.
 | ||
| 
 | ||
|    To insert N graphic characters, position the cursor and follow this
 | ||
| algorithm:
 | ||
| 
 | ||
|   1. If an `IC' string is provided, output it with parameter N, then
 | ||
|      output the graphic characters, and you are finished.  Otherwise
 | ||
|      (or if you don't want to bother to look for an `IC' string) follow
 | ||
|      the remaining steps.
 | ||
| 
 | ||
|   2. Output the `im' string, if there is one, unless the terminal is
 | ||
|      already in insert mode.
 | ||
| 
 | ||
|   3. For each character to be output, repeat steps 4 through 6.
 | ||
| 
 | ||
|   4. Output the `ic' string if any.
 | ||
| 
 | ||
|   5. Output the next graphic character.
 | ||
| 
 | ||
|   6. Output the `ip' string if any.
 | ||
| 
 | ||
|   7. Output the `ei' string, eventually, to exit insert mode.  There is
 | ||
|      no need to do this right away.  If the `mi' flag is present, you
 | ||
|      can move the cursor and the cursor will remain in insert mode;
 | ||
|      then you can do more insertion elsewhere without reentering insert
 | ||
|      mode.
 | ||
| 
 | ||
|    Note that this is not the same as the original Unix termcap
 | ||
| specifications in one respect: it assumes that the `IC' string can be
 | ||
| used without entering insert mode.  This is true as far as I know, and
 | ||
| it allows you be able to avoid entering and leaving insert mode, and
 | ||
| also to be able to avoid the inserted-character padding after the
 | ||
| characters that go into the inserted positions.
 | ||
| 
 | ||
|    Deletion of characters is less complicated; deleting one column is
 | ||
| done by outputting the `dc' string.  However, there may be a delete
 | ||
| mode that must be entered with `dm' in order to make `dc' work.
 | ||
| 
 | ||
| `dc'
 | ||
|      String of commands to delete one character position at the cursor.
 | ||
|      If `dc' is not present, the terminal cannot delete characters.
 | ||
| 
 | ||
| `DC'
 | ||
|      String of commands to delete N characters starting at the cursor.
 | ||
|      It has the same effect as repeating the `dc' string N times.  Any
 | ||
|      terminal description that has `DC' also has `dc'.
 | ||
| 
 | ||
| `dm'
 | ||
|      String of commands to enter delete mode.  If not present, there is
 | ||
|      no delete mode, and `dc' can be used at any time (assuming there is
 | ||
|      a `dc').
 | ||
| 
 | ||
| `ed'
 | ||
|      String of commands to exit delete mode.  This must be present if
 | ||
|      `dm' is.
 | ||
| 
 | ||
|    To delete N character positions, position the cursor and follow these
 | ||
| steps:
 | ||
| 
 | ||
|   1. If the `DC' string is present, output it with parameter N and you
 | ||
|      are finished.  Otherwise, follow the remaining steps.
 | ||
| 
 | ||
|   2. Output the `dm' string, unless you know the terminal is already in
 | ||
|      delete mode.
 | ||
| 
 | ||
|   3. Output the `dc' string N times.
 | ||
| 
 | ||
|   4. Output the `ed' string eventually.  If the flag capability `mi' is
 | ||
|      present, you can move the cursor and do more deletion without
 | ||
|      leaving and reentering delete mode.
 | ||
| 
 | ||
|    As with the `IC' string, we have departed from the original termcap
 | ||
| specifications by assuming that `DC' works without entering delete mode
 | ||
| even though `dc' would not.
 | ||
| 
 | ||
|    If the `dm' and `im' capabilities are both present and have the same
 | ||
| value, it means that the terminal has one mode for both insertion and
 | ||
| deletion.  It is useful for a program to know this, because then it can
 | ||
| do insertions after deletions, or vice versa, without leaving
 | ||
| insert/delete mode and reentering it.
 | ||
| 
 | ||
| 
 | ||
| File: termcap.info,  Node: Standout,  Next: Underlining,  Prev: Insdel Char,  Up: Capabilities
 | ||
| 
 | ||
| Standout and Appearance Modes
 | ||
| =============================
 | ||
| 
 | ||
|    "Appearance modes" are modifications to the ways characters are
 | ||
| displayed.  Typical appearance modes include reverse video, dim, bright,
 | ||
| blinking, underlined, invisible, and alternate character set.  Each
 | ||
| kind of terminal supports various among these, or perhaps none.
 | ||
| 
 | ||
|    For each type of terminal, one appearance mode or combination of
 | ||
| them that looks good for highlighted text is chosen as the "standout
 | ||
| mode".  The capabilities `so' and `se' say how to enter and leave
 | ||
| standout mode.  Programs that use appearance modes only to highlight
 | ||
| some text generally use the standout mode so that they can work on as
 | ||
| many terminals as possible.  Use of specific appearance modes other
 | ||
| than "underlined" and "alternate character set" is rare.
 | ||
| 
 | ||
|    Terminals that implement appearance modes fall into two general
 | ||
| classes as to how they do it.
 | ||
| 
 | ||
|    In some terminals, the presence or absence of any appearance mode is
 | ||
| recorded separately for each character position.  In these terminals,
 | ||
| each graphic character written is given the appearance modes current at
 | ||
| the time it is written, and keeps those modes until it is erased or
 | ||
| overwritten.  There are special commands to turn the appearance modes
 | ||
| on or off for characters to be written in the future.
 | ||
| 
 | ||
|    In other terminals, the change of appearance modes is represented by
 | ||
| a marker that belongs to a certain screen position but affects all
 | ||
| following screen positions until the next marker.  These markers are
 | ||
| traditionally called "magic cookies".
 | ||
| 
 | ||
|    The same capabilities (`so', `se', `mb' and so on) for turning
 | ||
| appearance modes on and off are used for both magic-cookie terminals
 | ||
| and per-character terminals.  On magic cookie terminals, these give the
 | ||
| commands to write the magic cookies.  On per-character terminals, they
 | ||
| change the current modes that affect future output and erasure.  Some
 | ||
| simple applications can use these commands without knowing whether or
 | ||
| not they work by means of cookies.
 | ||
| 
 | ||
|    However, a program that maintains and updates a display needs to know
 | ||
| whether the terminal uses magic cookies, and exactly what their effect
 | ||
| is.  This information comes from the `sg' capability.
 | ||
| 
 | ||
|    The `sg' capability is a numeric capability whose presence indicates
 | ||
| that the terminal uses magic cookies for appearance modes.  Its value is
 | ||
| the number of character positions that a magic cookie occupies.  Usually
 | ||
| the cookie occupies one or more character positions on the screen, and
 | ||
| these character positions are displayed as blank, but in some terminals
 | ||
| the cookie has zero width.
 | ||
| 
 | ||
|    The `sg' capability describes both the magic cookie to turn standout
 | ||
| on and the cookie to turn it off.  This makes the assumption that both
 | ||
| kinds of cookie have the same width on the screen.  If that is not true,
 | ||
| the narrower cookie must be "widened" with spaces until it has the same
 | ||
| width as the other.
 | ||
| 
 | ||
|    On some magic cookie terminals, each line always starts with normal
 | ||
| display; in other words, the scope of a magic cookie never extends over
 | ||
| more than one line.  But on other terminals, one magic cookie affects
 | ||
| all the lines below it unless explicitly canceled.  Termcap does not
 | ||
| define any way to distinguish these two ways magic cookies can work.
 | ||
| To be safe, it is best to put a cookie at the beginning of each line.
 | ||
| 
 | ||
|    On some per-character terminals, standout mode or other appearance
 | ||
| modes may be canceled by moving the cursor.  On others, moving the
 | ||
| cursor has no effect on the state of the appearance modes.  The latter
 | ||
| class of terminals are given the flag capability `ms' ("can move in
 | ||
| standout").  All programs that might have occasion to move the cursor
 | ||
| while appearance modes are turned on must check for this flag; if it is
 | ||
| not present, they should reset appearance modes to normal before doing
 | ||
| cursor motion.
 | ||
| 
 | ||
|    A program that has turned on only standout mode should use `se' to
 | ||
| reset the standout mode to normal.  A program that has turned on only
 | ||
| alternate character set mode should use `ae' to return it to normal.
 | ||
| If it is possible that any other appearance modes are turned on, use the
 | ||
| `me' capability to return them to normal.
 | ||
| 
 | ||
|    Note that the commands to turn on one appearance mode, including `so'
 | ||
| and `mb' ... `mr', if used while some other appearance modes are turned
 | ||
| on, may combine the two modes on some terminals but may turn off the
 | ||
| mode previously enabled on other terminals.  This is because some
 | ||
| terminals do not have a command to set or clear one appearance mode
 | ||
| without changing the others.  Programs should not attempt to use
 | ||
| appearance modes in combination except with `sa', and when switching
 | ||
| from one single mode to another should always turn off the previously
 | ||
| enabled mode and then turn on the new desired mode.
 | ||
| 
 | ||
|    On some old terminals, the `so' and `se' commands may be the same
 | ||
| command, which has the effect of turning standout on if it is off, or
 | ||
| off it is on.  It is therefore risky for a program to output extra `se'
 | ||
| commands for good measure.  Fortunately, all these terminals are
 | ||
| obsolete.
 | ||
| 
 | ||
|    Programs that update displays in which standout-text may be replaced
 | ||
| with non-standout text must check for the `xs' flag.  In a per-character
 | ||
| terminal, this flag says that the only way to remove standout once
 | ||
| written is to clear that portion of the line with the `ce' string or
 | ||
| something even more powerful (*note Clearing::.); just writing new
 | ||
| characters at those screen positions will not change the modes in
 | ||
| effect there.  In a magic cookie terminal, `xs' says that the only way
 | ||
| to remove a cookie is to clear a portion of the line that includes the
 | ||
| cookie; writing a different cookie at the same position does not work.
 | ||
| 
 | ||
|    Such programs must also check for the `xt' flag, which means that the
 | ||
| terminal is a Teleray 1061.  On this terminal it is impossible to
 | ||
| position the cursor at the front of a magic cookie, so the only two
 | ||
| ways to remove a cookie are (1) to delete the line it is on or (2) to
 | ||
| position the cursor at least one character before it (possibly on a
 | ||
| previous line) and output the `se' string, which on these terminals
 | ||
| finds and removes the next `so' magic cookie on the screen.  (It may
 | ||
| also be possible to remove a cookie which is not at the beginning of a
 | ||
| line by clearing that line.)  The `xt' capability also has implications
 | ||
| for the use of tab characters, but in that regard it is obsolete (*Note
 | ||
| Cursor Motion::).
 | ||
| 
 | ||
| `so'
 | ||
|      String of commands to enter standout mode.
 | ||
| 
 | ||
| `se'
 | ||
|      String of commands to leave standout mode.
 | ||
| 
 | ||
| `sg'
 | ||
|      Numeric capability, the width on the screen of the magic cookie.
 | ||
|      This capability is absent in terminals that record appearance modes
 | ||
|      character by character.
 | ||
| 
 | ||
| `ms'
 | ||
|      Flag whose presence means that it is safe to move the cursor while
 | ||
|      the appearance modes are not in the normal state.  If this flag is
 | ||
|      absent, programs should always reset the appearance modes to
 | ||
|      normal before moving the cursor.
 | ||
| 
 | ||
| `xs'
 | ||
|      Flag whose presence means that the only way to reset appearance
 | ||
|      modes already on the screen is to clear to end of line.  On a
 | ||
|      per-character terminal, you must clear the area where the modes
 | ||
|      are set.  On a magic cookie terminal, you must clear an area
 | ||
|      containing the cookie.  See the discussion above.
 | ||
| 
 | ||
| `xt'
 | ||
|      Flag whose presence means that the cursor cannot be positioned
 | ||
|      right in front of a magic cookie, and that `se' is a command to
 | ||
|      delete the next magic cookie following the cursor.  See discussion
 | ||
|      above.
 | ||
| 
 | ||
| `mb'
 | ||
|      String of commands to enter blinking mode.
 | ||
| 
 | ||
| `md'
 | ||
|      String of commands to enter double-bright mode.
 | ||
| 
 | ||
| `mh'
 | ||
|      String of commands to enter half-bright mode.
 | ||
| 
 | ||
| `mk'
 | ||
|      String of commands to enter invisible mode.
 | ||
| 
 | ||
| `mp'
 | ||
|      String of commands to enter protected mode.
 | ||
| 
 | ||
| `mr'
 | ||
|      String of commands to enter reverse-video mode.
 | ||
| 
 | ||
| `me'
 | ||
|      String of commands to turn off all appearance modes, including
 | ||
|      standout mode and underline mode.  On some terminals it also turns
 | ||
|      off alternate character set mode; on others, it may not.  This
 | ||
|      capability must be present if any of `mb' ... `mr' is present.
 | ||
| 
 | ||
| `as'
 | ||
|      String of commands to turn on alternate character set mode.  This
 | ||
|      mode assigns some or all graphic characters an alternate picture
 | ||
|      on the screen.  There is no standard as to what the alternate
 | ||
|      pictures look like.
 | ||
| 
 | ||
| `ae'
 | ||
|      String of commands to turn off alternate character set mode.
 | ||
| 
 | ||
| `sa'
 | ||
|      String of commands to turn on an arbitrary combination of
 | ||
|      appearance modes.  It accepts 9 parameters, each of which controls
 | ||
|      a particular kind of appearance mode.  A parameter should be 1 to
 | ||
|      turn its appearance mode on, or zero to turn that mode off.  Most
 | ||
|      terminals do not support the `sa' capability, even among those
 | ||
|      that do have various appearance modes.
 | ||
| 
 | ||
|      The nine parameters are, in order, STANDOUT, UNDERLINE, REVERSE,
 | ||
|      BLINK, HALF-BRIGHT, DOUBLE-BRIGHT, BLANK, PROTECT, ALT CHAR SET.
 | ||
| 
 | ||
| 
 | ||
| File: termcap.info,  Node: Underlining,  Next: Cursor Visibility,  Prev: Standout,  Up: Capabilities
 | ||
| 
 | ||
| Underlining
 | ||
| ===========
 | ||
| 
 | ||
|    Underlining on most terminals is a kind of appearance mode, much like
 | ||
| standout mode.  Therefore, it may be implemented using magic cookies or
 | ||
| as a flag in the terminal whose current state affects each character
 | ||
| that is output.  *Note Standout::, for a full explanation.
 | ||
| 
 | ||
|    The `ug' capability is a numeric capability whose presence indicates
 | ||
| that the terminal uses magic cookies for underlining.  Its value is the
 | ||
| number of character positions that a magic cookie for underlining
 | ||
| occupies; it is used for underlining just as `sg' is used for standout.
 | ||
| Aside from the simplest applications, it is impossible to use
 | ||
| underlining correctly without paying attention to the value of `ug'.
 | ||
| 
 | ||
| `us'
 | ||
|      String of commands to turn on underline mode or to output a magic
 | ||
|      cookie to start underlining.
 | ||
| 
 | ||
| `ue'
 | ||
|      String of commands to turn off underline mode or to output a magic
 | ||
|      cookie to stop underlining.
 | ||
| 
 | ||
| `ug'
 | ||
|      Width of magic cookie that represents a change of underline mode;
 | ||
|      or missing, if the terminal does not use a magic cookie for this.
 | ||
| 
 | ||
| `ms'
 | ||
|      Flag whose presence means that it is safe to move the cursor while
 | ||
|      the appearance modes are not in the normal state.  Underlining is
 | ||
|      an appearance mode.  If this flag is absent, programs should
 | ||
|      always turn off underlining before moving the cursor.
 | ||
| 
 | ||
|    There are two other, older ways of doing underlining: there can be a
 | ||
| command to underline a single character, or the output of `_', the
 | ||
| ASCII underscore character, as an overstrike could cause a character to
 | ||
| be underlined.  New programs need not bother to handle these
 | ||
| capabilities unless the author cares strongly about the obscure
 | ||
| terminals which support them.  However, terminal descriptions should
 | ||
| provide these capabilities when appropriate.
 | ||
| 
 | ||
| `uc'
 | ||
|      String of commands to underline the character under the cursor, and
 | ||
|      move the cursor right.
 | ||
| 
 | ||
| `ul'
 | ||
|      Flag whose presence means that the terminal can underline by
 | ||
|      overstriking an underscore character (`_'); some terminals can do
 | ||
|      this even though they do not support overstriking in general.  An
 | ||
|      implication of this flag is that when outputting new text to
 | ||
|      overwrite old text, underscore characters must be treated
 | ||
|      specially lest they underline the old text instead.
 | ||
| 
 | ||
| 
 | ||
| File: termcap.info,  Node: Cursor Visibility,  Next: Bell,  Prev: Underlining,  Up: Capabilities
 | ||
| 
 | ||
| Cursor Visibility
 | ||
| =================
 | ||
| 
 | ||
|    Some terminals have the ability to make the cursor invisible, or to
 | ||
| enhance it.  Enhancing the cursor is often done by programs that plan
 | ||
| to use the cursor to indicate to the user a position of interest that
 | ||
| may be anywhere on the screen--for example, the Emacs editor enhances
 | ||
| the cursor on entry.  Such programs should always restore the cursor to
 | ||
| normal on exit.
 | ||
| 
 | ||
| `vs'
 | ||
|      String of commands to enhance the cursor.
 | ||
| 
 | ||
| `vi'
 | ||
|      String of commands to make the cursor invisible.
 | ||
| 
 | ||
| `ve'
 | ||
|      String of commands to return the cursor to normal.
 | ||
| 
 | ||
|    If you define either `vs' or `vi', you must also define `ve'.
 | ||
| 
 | ||
| 
 | ||
| File: termcap.info,  Node: Bell,  Next: Keypad,  Prev: Cursor Visibility,  Up: Capabilities
 | ||
| 
 | ||
| Bell
 | ||
| ====
 | ||
| 
 | ||
|    Here we describe commands to make the terminal ask for the user to
 | ||
| pay attention to it.
 | ||
| 
 | ||
| `bl'
 | ||
|      String of commands to cause the terminal to make an audible sound.
 | ||
|      If this capability is absent, the terminal has no way to make a
 | ||
|      suitable sound.
 | ||
| 
 | ||
| `vb'
 | ||
|      String of commands to cause the screen to flash to attract
 | ||
|      attention ("visible bell").  If this capability is absent, the
 | ||
|      terminal has no way to do such a thing.
 | ||
| 
 | ||
| 
 | ||
| File: termcap.info,  Node: Keypad,  Next: Meta Key,  Prev: Bell,  Up: Capabilities
 | ||
| 
 | ||
| Keypad and Function Keys
 | ||
| ========================
 | ||
| 
 | ||
|    Many terminals have arrow and function keys that transmit specific
 | ||
| character sequences to the computer.  Since the precise sequences used
 | ||
| depend on the terminal, termcap defines capabilities used to say what
 | ||
| the sequences are.  Unlike most termcap string-valued capabilities,
 | ||
| these are not strings of commands to be sent to the terminal, rather
 | ||
| strings that are received from the terminal.
 | ||
| 
 | ||
|    Programs that expect to use keypad keys should check, initially, for
 | ||
| a `ks' capability and send it, to make the keypad actually transmit.
 | ||
| Such programs should also send the `ke' string when exiting.
 | ||
| 
 | ||
| `ks'
 | ||
|      String of commands to make the keypad keys transmit.  If this
 | ||
|      capability is not provided, but the others in this section are,
 | ||
|      programs may assume that the keypad keys always transmit.
 | ||
| 
 | ||
| `ke'
 | ||
|      String of commands to make the keypad keys work locally.  This
 | ||
|      capability is provided only if `ks' is.
 | ||
| 
 | ||
| `kl'
 | ||
|      String of input characters sent by typing the left-arrow key.  If
 | ||
|      this capability is missing, you cannot expect the terminal to have
 | ||
|      a left-arrow key that transmits anything to the computer.
 | ||
| 
 | ||
| `kr'
 | ||
|      String of input characters sent by typing the right-arrow key.
 | ||
| 
 | ||
| `ku'
 | ||
|      String of input characters sent by typing the up-arrow key.
 | ||
| 
 | ||
| `kd'
 | ||
|      String of input characters sent by typing the down-arrow key.
 | ||
| 
 | ||
| `kh'
 | ||
|      String of input characters sent by typing the "home-position" key.
 | ||
| 
 | ||
| `K1' ... `K5'
 | ||
|      Strings of input characters sent by the five other keys in a 3-by-3
 | ||
|      array that includes the arrow keys, if the keyboard has such a
 | ||
|      3-by-3 array.  Note that one of these keys may be the
 | ||
|      "home-position" key, in which case one of these capabilities will
 | ||
|      have the same value as the `kh' key.
 | ||
| 
 | ||
| `k0'
 | ||
|      String of input characters sent by function key 10 (or 0, if the
 | ||
|      terminal has one labeled 0).
 | ||
| 
 | ||
| `k1' ... `k9'
 | ||
|      Strings of input characters sent by function keys 1 through 9,
 | ||
|      provided for those function keys that exist.
 | ||
| 
 | ||
| `kn'
 | ||
|      Number: the number of numbered function keys, if there are more
 | ||
|      than 10.
 | ||
| 
 | ||
| `l0' ... `l9'
 | ||
|      Strings which are the labels appearing on the keyboard on the keys
 | ||
|      described by the capabilities `k0' ... `l9'.  These capabilities
 | ||
|      should be left undefined if the labels are `f0' or `f10' and `f1'
 | ||
|      ... `f9'.
 | ||
| 
 | ||
| `kH'
 | ||
|      String of input characters sent by the "home down" key, if there is
 | ||
|      one.
 | ||
| 
 | ||
| `kb'
 | ||
|      String of input characters sent by the "backspace" key, if there is
 | ||
|      one.
 | ||
| 
 | ||
| `ka'
 | ||
|      String of input characters sent by the "clear all tabs" key, if
 | ||
|      there is one.
 | ||
| 
 | ||
| `kt'
 | ||
|      String of input characters sent by the "clear tab stop this column"
 | ||
|      key, if there is one.
 | ||
| 
 | ||
| `kC'
 | ||
|      String of input characters sent by the "clear screen" key, if
 | ||
|      there is one.
 | ||
| 
 | ||
| `kD'
 | ||
|      String of input characters sent by the "delete character" key, if
 | ||
|      there is one.
 | ||
| 
 | ||
| `kL'
 | ||
|      String of input characters sent by the "delete line" key, if there
 | ||
|      is one.
 | ||
| 
 | ||
| `kM'
 | ||
|      String of input characters sent by the "exit insert mode" key, if
 | ||
|      there is one.
 | ||
| 
 | ||
| `kE'
 | ||
|      String of input characters sent by the "clear to end of line" key,
 | ||
|      if there is one.
 | ||
| 
 | ||
| `kS'
 | ||
|      String of input characters sent by the "clear to end of screen"
 | ||
|      key, if there is one.
 | ||
| 
 | ||
| `kI'
 | ||
|      String of input characters sent by the "insert character" or "enter
 | ||
|      insert mode" key, if there is one.
 | ||
| 
 | ||
| `kA'
 | ||
|      String of input characters sent by the "insert line" key, if there
 | ||
|      is one.
 | ||
| 
 | ||
| `kN'
 | ||
|      String of input characters sent by the "next page" key, if there is
 | ||
|      one.
 | ||
| 
 | ||
| `kP'
 | ||
|      String of input characters sent by the "previous page" key, if
 | ||
|      there is one.
 | ||
| 
 | ||
| `kF'
 | ||
|      String of input characters sent by the "scroll forward" key, if
 | ||
|      there is one.
 | ||
| 
 | ||
| `kR'
 | ||
|      String of input characters sent by the "scroll reverse" key, if
 | ||
|      there is one.
 | ||
| 
 | ||
| `kT'
 | ||
|      String of input characters sent by the "set tab stop in this
 | ||
|      column" key, if there is one.
 | ||
| 
 | ||
| `ko'
 | ||
|      String listing the other function keys the terminal has.  This is a
 | ||
|      very obsolete way of describing the same information found in the
 | ||
|      `kH' ... `kT' keys.  The string contains a list of two-character
 | ||
|      termcap capability names, separated by commas.  The meaning is
 | ||
|      that for each capability name listed, the terminal has a key which
 | ||
|      sends the string which is the value of that capability.  For
 | ||
|      example, the value `:ko=cl,ll,sf,sr:' says that the terminal has
 | ||
|      four function keys which mean "clear screen", "home down", "scroll
 | ||
|      forward" and "scroll reverse".
 | ||
| 
 | ||
| 
 | ||
| File: termcap.info,  Node: Meta Key,  Next: Initialization,  Prev: Keypad,  Up: Capabilities
 | ||
| 
 | ||
| Meta Key
 | ||
| ========
 | ||
| 
 | ||
|    A Meta key is a key on the keyboard that modifies each character you
 | ||
| type by controlling the 0200 bit.  This bit is on if and only if the
 | ||
| Meta key is held down when the character is typed.  Characters typed
 | ||
| using the Meta key are called Meta characters.  Emacs uses Meta
 | ||
| characters as editing commands.
 | ||
| 
 | ||
| `km'
 | ||
|      Flag whose presence means that the terminal has a Meta key.
 | ||
| 
 | ||
| `mm'
 | ||
|      String of commands to enable the functioning of the Meta key.
 | ||
| 
 | ||
| `mo'
 | ||
|      String of commands to disable the functioning of the Meta key.
 | ||
| 
 | ||
|    If the terminal has `km' but does not have `mm' and `mo', it means
 | ||
| that the Meta key always functions.  If it has `mm' and `mo', it means
 | ||
| that the Meta key can be turned on or off.  Send the `mm' string to
 | ||
| turn it on, and the `mo' string to turn it off.  I do not know why one
 | ||
| would ever not want it to be on.
 | ||
| 
 | ||
| 
 | ||
| File: termcap.info,  Node: Initialization,  Next: Pad Specs,  Prev: Meta Key,  Up: Capabilities
 | ||
| 
 | ||
| Initialization
 | ||
| ==============
 | ||
| 
 | ||
| `ti'
 | ||
|      String of commands to put the terminal into whatever special modes
 | ||
|      are needed or appropriate for programs that move the cursor
 | ||
|      nonsequentially around the screen.  Programs that use termcap to do
 | ||
|      full-screen display should output this string when they start up.
 | ||
| 
 | ||
| `te'
 | ||
|      String of commands to undo what is done by the `ti' string.
 | ||
|      Programs that output the `ti' string on entry should output this
 | ||
|      string when they exit.
 | ||
| 
 | ||
| `is'
 | ||
|      String of commands to initialize the terminal for each login
 | ||
|      session.
 | ||
| 
 | ||
| `if'
 | ||
|      String which is the name of a file containing the string of
 | ||
|      commands to initialize the terminal for each session of use.
 | ||
|      Normally `is' and `if' are not both used.
 | ||
| 
 | ||
| `i1'
 | ||
| `i3'
 | ||
|      Two more strings of commands to initialize the terminal for each
 | ||
|      login session.  The `i1' string (if defined) is output before `is'
 | ||
|      or `if', and the `i3' string (if defined) is output after.
 | ||
| 
 | ||
|      The reason for having three separate initialization strings is to
 | ||
|      make it easier to define a group of related terminal types with
 | ||
|      slightly different initializations.  Define two or three of the
 | ||
|      strings in the basic type; then the other types can override one
 | ||
|      or two of the strings.
 | ||
| 
 | ||
| `rs'
 | ||
|      String of commands to reset the terminal from any strange mode it
 | ||
|      may be in.  Normally this includes the `is' string (or other
 | ||
|      commands with the same effects) and more.  What would go in the
 | ||
|      `rs' string but not in the `is' string are annoying or slow
 | ||
|      commands to bring the terminal back from strange modes that nobody
 | ||
|      would normally use.
 | ||
| 
 | ||
| `it'
 | ||
|      Numeric value, the initial spacing between hardware tab stop
 | ||
|      columns when the terminal is powered up.  Programs to initialize
 | ||
|      the terminal can use this to decide whether there is a need to set
 | ||
|      the tab stops.  If the initial width is 8, well and good; if it is
 | ||
|      not 8, then the tab stops should be set; if they cannot be set,
 | ||
|      the kernel is told to convert tabs to spaces, and other programs
 | ||
|      will observe this and do likewise.
 | ||
| 
 | ||
| `ct'
 | ||
|      String of commands to clear all tab stops.
 | ||
| 
 | ||
| `st'
 | ||
|      String of commands to set tab stop at current cursor column on all
 | ||
|      lines.
 | ||
| 
 | ||
| `NF'
 | ||
|      Flag whose presence means that the terminal does not support
 | ||
|      XON/XOFF flow control.  Programs should not send XON (`C-q') or
 | ||
|      XOFF (`C-s') characters to the terminal.
 | ||
| 
 | ||
| 
 | ||
| File: termcap.info,  Node: Pad Specs,  Next: Status Line,  Prev: Initialization,  Up: Capabilities
 | ||
| 
 | ||
| Padding Capabilities
 | ||
| ====================
 | ||
| 
 | ||
|    There are two terminal capabilities that exist just to explain the
 | ||
| proper way to obey the padding specifications in all the command string
 | ||
| capabilities.  One, `pc', must be obeyed by all termcap-using programs.
 | ||
| 
 | ||
| `pb'
 | ||
|      Numeric value, the lowest baud rate at which padding is actually
 | ||
|      needed.  Programs may check this and refrain from doing any
 | ||
|      padding at lower speeds.
 | ||
| 
 | ||
| `pc'
 | ||
|      String of commands for padding.  The first character of this
 | ||
|      string is to be used as the pad character, instead of using null
 | ||
|      characters for padding.  If `pc' is not provided, use null
 | ||
|      characters.  Every program that uses termcap must look up this
 | ||
|      capability and use it to set the variable `PC' that is used by
 | ||
|      `tputs'.  *Note Padding::.
 | ||
| 
 | ||
|    Some termcap capabilities exist just to specify the amount of
 | ||
| padding that the kernel should give to cursor motion commands used in
 | ||
| ordinary sequential output.
 | ||
| 
 | ||
| `dC'
 | ||
|      Numeric value, the number of msec of padding needed for the
 | ||
|      carriage-return character.
 | ||
| 
 | ||
| `dN'
 | ||
|      Numeric value, the number of msec of padding needed for the newline
 | ||
|      (linefeed) character.
 | ||
| 
 | ||
| `dB'
 | ||
|      Numeric value, the number of msec of padding needed for the
 | ||
|      backspace character.
 | ||
| 
 | ||
| `dF'
 | ||
|      Numeric value, the number of msec of padding needed for the
 | ||
|      formfeed character.
 | ||
| 
 | ||
| `dT'
 | ||
|      Numeric value, the number of msec of padding needed for the tab
 | ||
|      character.
 | ||
| 
 | ||
|    In some systems, the kernel uses the above capabilities; in other
 | ||
| systems, the kernel uses the paddings specified in the string
 | ||
| capabilities `cr', `sf', `le', `ff' and `ta'.  Descriptions of
 | ||
| terminals which require such padding should contain the `dC' ...  `dT'
 | ||
| capabilities and also specify the appropriate padding in the
 | ||
| corresponding string capabilities.  Since no modern terminals require
 | ||
| padding for ordinary sequential output, you probably won't need to do
 | ||
| either of these things.
 | ||
| 
 | ||
| 
 | ||
| File: termcap.info,  Node: Status Line,  Next: Half-Line,  Prev: Pad Specs,  Up: Capabilities
 | ||
| 
 | ||
| Status Line
 | ||
| ===========
 | ||
| 
 | ||
|    A "status line" is a line on the terminal that is not used for
 | ||
| ordinary display output but instead used for a special message.  The
 | ||
| intended use is for a continuously updated description of what the
 | ||
| user's program is doing, and that is where the name "status line" comes
 | ||
| from, but in fact it could be used for anything.  The distinguishing
 | ||
| characteristic of a status line is that ordinary output to the terminal
 | ||
| does not affect it; it changes only if the special status line commands
 | ||
| of this section are used.
 | ||
| 
 | ||
| `hs'
 | ||
|      Flag whose presence means that the terminal has a status line.  If
 | ||
|      a terminal description specifies that there is a status line, it
 | ||
|      must provide the `ts' and `fs' capabilities.
 | ||
| 
 | ||
| `ts'
 | ||
|      String of commands to move the terminal cursor into the status
 | ||
|      line.  Usually these commands must specifically record the old
 | ||
|      cursor position for the sake of the `fs' string.
 | ||
| 
 | ||
| `fs'
 | ||
|      String of commands to move the cursor back from the status line to
 | ||
|      its previous position (outside the status line).
 | ||
| 
 | ||
| `es'
 | ||
|      Flag whose presence means that other display commands work while
 | ||
|      writing the status line.  In other words, one can clear parts of
 | ||
|      it, insert or delete characters, move the cursor within it using
 | ||
|      `ch' if there is a `ch' capability, enter and leave standout mode,
 | ||
|      and so on.
 | ||
| 
 | ||
| `ds'
 | ||
|      String of commands to disable the display of the status line.  This
 | ||
|      may be absent, if there is no way to disable the status line
 | ||
|      display.
 | ||
| 
 | ||
| `ws'
 | ||
|      Numeric value, the width of the status line.  If this capability is
 | ||
|      absent in a terminal that has a status line, it means the status
 | ||
|      line is the same width as the other lines.
 | ||
| 
 | ||
|      Note that the value of `ws' is sometimes as small as 8.
 | ||
| 
 | ||
| 
 | ||
| File: termcap.info,  Node: Half-Line,  Next: Printer,  Prev: Status Line,  Up: Capabilities
 | ||
| 
 | ||
| Half-Line Motion
 | ||
| ================
 | ||
| 
 | ||
|    Some terminals have commands for moving the cursor vertically by
 | ||
| half-lines, useful for outputting subscripts and superscripts.  Mostly
 | ||
| it is hardcopy terminals that have such features.
 | ||
| 
 | ||
| `hu'
 | ||
|      String of commands to move the cursor up half a line.  If the
 | ||
|      terminal is a display, it is your responsibility to avoid moving
 | ||
|      up past the top line; however, most likely the terminal that
 | ||
|      supports this is a hardcopy terminal and there is nothing to be
 | ||
|      concerned about.
 | ||
| 
 | ||
| `hd'
 | ||
|      String of commands to move the cursor down half a line.  If the
 | ||
|      terminal is a display, it is your responsibility to avoid moving
 | ||
|      down past the bottom line, etc.
 | ||
| 
 | ||
| 
 | ||
| File: termcap.info,  Node: Printer,  Prev: Half-Line,  Up: Capabilities
 | ||
| 
 | ||
| Controlling Printers Attached to Terminals
 | ||
| ==========================================
 | ||
| 
 | ||
|    Some terminals have attached hardcopy printer ports.  They may be
 | ||
| able to copy the screen contents to the printer; they may also be able
 | ||
| to redirect output to the printer.  Termcap does not have anything to
 | ||
| tell the program whether the redirected output appears also on the
 | ||
| screen; it does on some terminals but not all.
 | ||
| 
 | ||
| `ps'
 | ||
|      String of commands to cause the contents of the screen to be
 | ||
|      printed.  If it is absent, the screen contents cannot be printed.
 | ||
| 
 | ||
| `po'
 | ||
|      String of commands to redirect further output to the printer.
 | ||
| 
 | ||
| `pf'
 | ||
|      String of commands to terminate redirection of output to the
 | ||
|      printer.  This capability must be present in the description if
 | ||
|      `po' is.
 | ||
| 
 | ||
| `pO'
 | ||
|      String of commands to redirect output to the printer for next N
 | ||
|      characters of output, regardless of what they are.  Redirection
 | ||
|      will end automatically after N characters of further output.  Until
 | ||
|      then, nothing that is output can end redirection, not even the
 | ||
|      `pf' string if there is one.  The number N should not be more than
 | ||
|      255.
 | ||
| 
 | ||
|      One use of this capability is to send non-text byte sequences
 | ||
|      (such as bit-maps) to the printer.
 | ||
| 
 | ||
|    Most terminals with printers do not support all of `ps', `po' and
 | ||
| `pO'; any one or two of them may be supported.  To make a program that
 | ||
| can send output to all kinds of printers, it is necessary to check for
 | ||
| all three of these capabilities, choose the most convenient of the ones
 | ||
| that are provided, and use it in its own appropriate fashion.
 | ||
| 
 | ||
| 
 | ||
| File: termcap.info,  Node: Summary,  Next: Var Index,  Prev: Capabilities,  Up: Top
 | ||
| 
 | ||
| Summary of Capability Names
 | ||
| ***************************
 | ||
| 
 | ||
|    Here are all the terminal capability names in alphabetical order
 | ||
| with a brief description of each.  For cross references to their
 | ||
| definitions, see the index of capability names (*note Cap Index::.).
 | ||
| 
 | ||
| `ae'
 | ||
|      String to turn off alternate character set mode.
 | ||
| 
 | ||
| `al'
 | ||
|      String to insert a blank line before the cursor.
 | ||
| 
 | ||
| `AL'
 | ||
|      String to insert N blank lines before the cursor.
 | ||
| 
 | ||
| `am'
 | ||
|      Flag: output to last column wraps cursor to next line.
 | ||
| 
 | ||
| `as'
 | ||
|      String to turn on alternate character set mode.like.
 | ||
| 
 | ||
| `bc'
 | ||
|      Very obsolete alternative name for the `le' capability.
 | ||
| 
 | ||
| `bl'
 | ||
|      String to sound the bell.
 | ||
| 
 | ||
| `bs'
 | ||
|      Obsolete flag: ASCII backspace may be used for leftward motion.
 | ||
| 
 | ||
| `bt'
 | ||
|      String to move the cursor left to the previous hardware tab stop
 | ||
|      column.
 | ||
| 
 | ||
| `bw'
 | ||
|      Flag: `le' at left margin wraps to end of previous line.
 | ||
| 
 | ||
| `CC'
 | ||
|      String to change terminal's command character.
 | ||
| 
 | ||
| `cd'
 | ||
|      String to clear the line the cursor is on, and following lines.
 | ||
| 
 | ||
| `ce'
 | ||
|      String to clear from the cursor to the end of the line.
 | ||
| 
 | ||
| `ch'
 | ||
|      String to position the cursor at column C in the same line.
 | ||
| 
 | ||
| `cl'
 | ||
|      String to clear the entire screen and put cursor at upper left
 | ||
|      corner.
 | ||
| 
 | ||
| `cm'
 | ||
|      String to position the cursor at line L, column C.
 | ||
| 
 | ||
| `CM'
 | ||
|      String to position the cursor at line L, column C, relative to
 | ||
|      display memory.
 | ||
| 
 | ||
| `co'
 | ||
|      Number: width of the screen.
 | ||
| 
 | ||
| `cr'
 | ||
|      String to move cursor sideways to left margin.
 | ||
| 
 | ||
| `cs'
 | ||
|      String to set the scroll region.
 | ||
| 
 | ||
| `cS'
 | ||
|      Alternate form of string to set the scroll region.
 | ||
| 
 | ||
| `ct'
 | ||
|      String to clear all tab stops.
 | ||
| 
 | ||
| `cv'
 | ||
|      String to position the cursor at line L in the same column.
 | ||
| 
 | ||
| `da'
 | ||
|      Flag: data scrolled off top of screen may be scrolled back.
 | ||
| 
 | ||
| `db'
 | ||
|      Flag: data scrolled off bottom of screen may be scrolled back.
 | ||
| 
 | ||
| `dB'
 | ||
|      Obsolete number: msec of padding needed for the backspace
 | ||
|      character.
 | ||
| 
 | ||
| `dc'
 | ||
|      String to delete one character position at the cursor.
 | ||
| 
 | ||
| `dC'
 | ||
|      Obsolete number: msec of padding needed for the carriage-return
 | ||
|      character.
 | ||
| 
 | ||
| `DC'
 | ||
|      String to delete N characters starting at the cursor.
 | ||
| 
 | ||
| `dF'
 | ||
|      Obsolete number: msec of padding needed for the formfeed character.
 | ||
| 
 | ||
| `dl'
 | ||
|      String to delete the line the cursor is on.
 | ||
| 
 | ||
| `DL'
 | ||
|      String to delete N lines starting with the cursor's line.
 | ||
| 
 | ||
| `dm'
 | ||
|      String to enter delete mode.
 | ||
| 
 | ||
| `dN'
 | ||
|      Obsolete number: msec of padding needed for the newline character.
 | ||
| 
 | ||
| `do'
 | ||
|      String to move the cursor vertically down one line.
 | ||
| 
 | ||
| `DO'
 | ||
|      String to move cursor vertically down N lines.
 | ||
| 
 | ||
| `ds'
 | ||
|      String to disable the display of the status line.
 | ||
| 
 | ||
| `dT'
 | ||
|      Obsolete number: msec of padding needed for the tab character.
 | ||
| 
 | ||
| `ec'
 | ||
|      String of commands to clear N characters at cursor.
 | ||
| 
 | ||
| `ed'
 | ||
|      String to exit delete mode.
 | ||
| 
 | ||
| `ei'
 | ||
|      String to leave insert mode.
 | ||
| 
 | ||
| `eo'
 | ||
|      Flag: output of a space can erase an overstrike.
 | ||
| 
 | ||
| `es'
 | ||
|      Flag: other display commands work while writing the status line.
 | ||
| 
 | ||
| `ff'
 | ||
|      String to advance to the next page, for a hardcopy terminal.
 | ||
| 
 | ||
| `fs'
 | ||
|      String to move the cursor back from the status line to its
 | ||
|      previous position (outside the status line).
 | ||
| 
 | ||
| `gn'
 | ||
|      Flag: this terminal type is generic, not real.
 | ||
| 
 | ||
| `hc'
 | ||
|      Flag: hardcopy terminal.
 | ||
| 
 | ||
| `hd'
 | ||
|      String to move the cursor down half a line.
 | ||
| 
 | ||
| `ho'
 | ||
|      String to position cursor at upper left corner.
 | ||
| 
 | ||
| `hs'
 | ||
|      Flag: the terminal has a status line.
 | ||
| 
 | ||
| `hu'
 | ||
|      String to move the cursor up half a line.
 | ||
| 
 | ||
| `hz'
 | ||
|      Flag: terminal cannot accept `~' as output.
 | ||
| 
 | ||
| `i1'
 | ||
|      String to initialize the terminal for each login session.
 | ||
| 
 | ||
| `i3'
 | ||
|      String to initialize the terminal for each login session.
 | ||
| 
 | ||
| `ic'
 | ||
|      String to insert one character position at the cursor.
 | ||
| 
 | ||
| `IC'
 | ||
|      String to insert N character positions at the cursor.
 | ||
| 
 | ||
| `if'
 | ||
|      String naming a file of commands to initialize the terminal.
 | ||
| 
 | ||
| `im'
 | ||
|      String to enter insert mode.
 | ||
| 
 | ||
| `in'
 | ||
|      Flag: outputting a space is different from moving over empty
 | ||
|      positions.
 | ||
| 
 | ||
| `ip'
 | ||
|      String to output following an inserted character in insert mode.
 | ||
| 
 | ||
| `is'
 | ||
|      String to initialize the terminal for each login session.
 | ||
| 
 | ||
| `it'
 | ||
|      Number: initial spacing between hardware tab stop columns.
 | ||
| 
 | ||
| `k0'
 | ||
|      String of input sent by function key 0 or 10.
 | ||
| 
 | ||
| `k1 ... k9'
 | ||
|      Strings of input sent by function keys 1 through 9.
 | ||
| 
 | ||
| `K1 ... K5'
 | ||
|      Strings sent by the five other keys in 3-by-3 array with arrows.
 | ||
| 
 | ||
| `ka'
 | ||
|      String of input sent by the "clear all tabs" key.
 | ||
| 
 | ||
| `kA'
 | ||
|      String of input sent by the "insert line" key.
 | ||
| 
 | ||
| `kb'
 | ||
|      String of input sent by the "backspace" key.
 | ||
| 
 | ||
| `kC'
 | ||
|      String of input sent by the "clear screen" key.
 | ||
| 
 | ||
| `kd'
 | ||
|      String of input sent by typing the down-arrow key.
 | ||
| 
 | ||
| `kD'
 | ||
|      String of input sent by the "delete character" key.
 | ||
| 
 | ||
| `ke'
 | ||
|      String to make the function keys work locally.
 | ||
| 
 | ||
| `kE'
 | ||
|      String of input sent by the "clear to end of line" key.
 | ||
| 
 | ||
| `kF'
 | ||
|      String of input sent by the "scroll forward" key.
 | ||
| 
 | ||
| `kh'
 | ||
|      String of input sent by typing the "home-position" key.
 | ||
| 
 | ||
| `kH'
 | ||
|      String of input sent by the "home down" key.
 | ||
| 
 | ||
| `kI'
 | ||
|      String of input sent by the "insert character" or "enter insert
 | ||
|      mode" key.
 | ||
| 
 | ||
| `kl'
 | ||
|      String of input sent by typing the left-arrow key.
 | ||
| 
 | ||
| `kL'
 | ||
|      String of input sent by the "delete line" key.
 | ||
| 
 | ||
| `km'
 | ||
|      Flag: the terminal has a Meta key.
 | ||
| 
 | ||
| `kM'
 | ||
|      String of input sent by the "exit insert mode" key.
 | ||
| 
 | ||
| `kn'
 | ||
|      Numeric value, the number of numbered function keys.
 | ||
| 
 | ||
| `kN'
 | ||
|      String of input sent by the "next page" key.
 | ||
| 
 | ||
| `ko'
 | ||
|      Very obsolete string listing the terminal's named function keys.
 | ||
| 
 | ||
| `kP'
 | ||
|      String of input sent by the "previous page" key.
 | ||
| 
 | ||
| `kr'
 | ||
|      String of input sent by typing the right-arrow key.
 | ||
| 
 | ||
| `kR'
 | ||
|      String of input sent by the "scroll reverse" key.
 | ||
| 
 | ||
| `ks'
 | ||
|      String to make the function keys transmit.
 | ||
| 
 | ||
| `kS'
 | ||
|      String of input sent by the "clear to end of screen" key.
 | ||
| 
 | ||
| `kt'
 | ||
|      String of input sent by the "clear tab stop this column" key.
 | ||
| 
 | ||
| `kT'
 | ||
|      String of input sent by the "set tab stop in this column" key.
 | ||
| 
 | ||
| `ku'
 | ||
|      String of input sent by typing the up-arrow key.
 | ||
| 
 | ||
| `l0'
 | ||
|      String on keyboard labelling function key 0 or 10.
 | ||
| 
 | ||
| `l1 ... l9'
 | ||
|      Strings on keyboard labelling function keys 1 through 9.
 | ||
| 
 | ||
| `le'
 | ||
|      String to move the cursor left one column.
 | ||
| 
 | ||
| `LE'
 | ||
|      String to move cursor left N columns.
 | ||
| 
 | ||
| `li'
 | ||
|      Number: height of the screen.
 | ||
| 
 | ||
| `ll'
 | ||
|      String to position cursor at lower left corner.
 | ||
| 
 | ||
| `lm'
 | ||
|      Number: lines of display memory.
 | ||
| 
 | ||
| `LP'
 | ||
|      Flag: writing to last column of last line will not scroll.
 | ||
| 
 | ||
| `mb'
 | ||
|      String to enter blinking mode.
 | ||
| 
 | ||
| `md'
 | ||
|      String to enter double-bright mode.
 | ||
| 
 | ||
| `me'
 | ||
|      String to turn off all appearance modes
 | ||
| 
 | ||
| `mh'
 | ||
|      String to enter half-bright mode.
 | ||
| 
 | ||
| `mi'
 | ||
|      Flag: cursor motion in insert mode is safe.
 | ||
| 
 | ||
| `mk'
 | ||
|      String to enter invisible mode.
 | ||
| 
 | ||
| `mm'
 | ||
|      String to enable the functioning of the Meta key.
 | ||
| 
 | ||
| `mo'
 | ||
|      String to disable the functioning of the Meta key.
 | ||
| 
 | ||
| `mp'
 | ||
|      String to enter protected mode.
 | ||
| 
 | ||
| `mr'
 | ||
|      String to enter reverse-video mode.
 | ||
| 
 | ||
| `ms'
 | ||
|      Flag: cursor motion in standout mode is safe.
 | ||
| 
 | ||
| `nc'
 | ||
|      Obsolete flag: do not use ASCII carriage-return on this terminal.
 | ||
| 
 | ||
| `nd'
 | ||
|      String to move the cursor right one column.
 | ||
| 
 | ||
| `NF'
 | ||
|      Flag: do not use XON/XOFF flow control.
 | ||
| 
 | ||
| `nl'
 | ||
|      Obsolete alternative name for the `do' and `sf' capabilities.
 | ||
| 
 | ||
| `ns'
 | ||
|      Flag: the terminal does not normally scroll for sequential output.
 | ||
| 
 | ||
| `nw'
 | ||
|      String to move to start of next line, possibly clearing rest of
 | ||
|      old line.
 | ||
| 
 | ||
| `os'
 | ||
|      Flag: terminal can overstrike.
 | ||
| 
 | ||
| `pb'
 | ||
|      Number: the lowest baud rate at which padding is actually needed.
 | ||
| 
 | ||
| `pc'
 | ||
|      String containing character for padding.
 | ||
| 
 | ||
| `pf'
 | ||
|      String to terminate redirection of output to the printer.
 | ||
| 
 | ||
| `po'
 | ||
|      String to redirect further output to the printer.
 | ||
| 
 | ||
| `pO'
 | ||
|      String to redirect N characters ofoutput to the printer.
 | ||
| 
 | ||
| `ps'
 | ||
|      String to print the screen on the attached printer.
 | ||
| 
 | ||
| `rc'
 | ||
|      String to move to last saved cursor position.
 | ||
| 
 | ||
| `RI'
 | ||
|      String to move cursor right N columns.
 | ||
| 
 | ||
| `rp'
 | ||
|      String to output character C repeated N times.
 | ||
| 
 | ||
| `rs'
 | ||
|      String to reset the terminal from any strange modes.
 | ||
| 
 | ||
| `sa'
 | ||
|      String to turn on an arbitrary combination of appearance modes.
 | ||
| 
 | ||
| `sc'
 | ||
|      String to save the current cursor position.
 | ||
| 
 | ||
| `se'
 | ||
|      String to leave standout mode.
 | ||
| 
 | ||
| `sf'
 | ||
|      String to scroll the screen one line up.
 | ||
| 
 | ||
| `SF'
 | ||
|      String to scroll the screen N lines up.
 | ||
| 
 | ||
| `sg'
 | ||
|      Number: width of magic standout cookie.  Absent if magic cookies
 | ||
|      are not used.
 | ||
| 
 | ||
| `so'
 | ||
|      String to enter standout mode.
 | ||
| 
 | ||
| `sr'
 | ||
|      String to scroll the screen one line down.
 | ||
| 
 | ||
| `SR'
 | ||
|      String to scroll the screen N line down.
 | ||
| 
 | ||
| `st'
 | ||
|      String to set tab stop at current cursor column on all lines.
 | ||
|      programs.
 | ||
| 
 | ||
| `ta'
 | ||
|      String to move the cursor right to the next hardware tab stop
 | ||
|      column.
 | ||
| 
 | ||
| `te'
 | ||
|      String to return terminal to settings for sequential output.
 | ||
| 
 | ||
| `ti'
 | ||
|      String to initialize terminal for random cursor motion.
 | ||
| 
 | ||
| `ts'
 | ||
|      String to move the terminal cursor into the status line.
 | ||
| 
 | ||
| `uc'
 | ||
|      String to underline one character and move cursor right.
 | ||
| 
 | ||
| `ue'
 | ||
|      String to turn off underline mode
 | ||
| 
 | ||
| `ug'
 | ||
|      Number: width of underlining magic cookie.  Absent if underlining
 | ||
|      doesn't use magic cookies.
 | ||
| 
 | ||
| `ul'
 | ||
|      Flag: underline by overstriking with an underscore.
 | ||
| 
 | ||
| `up'
 | ||
|      String to move the cursor vertically up one line.
 | ||
| 
 | ||
| `UP'
 | ||
|      String to move cursor vertically up N lines.
 | ||
| 
 | ||
| `us'
 | ||
|      String to turn on underline mode
 | ||
| 
 | ||
| `vb'
 | ||
|      String to make the screen flash.
 | ||
| 
 | ||
| `ve'
 | ||
|      String to return the cursor to normal.
 | ||
| 
 | ||
| `vi'
 | ||
|      String to make the cursor invisible.
 | ||
| 
 | ||
| `vs'
 | ||
|      String to enhance the cursor.
 | ||
| 
 | ||
| `wi'
 | ||
|      String to set the terminal output screen window.
 | ||
| 
 | ||
| `ws'
 | ||
|      Number: the width of the status line.
 | ||
| 
 | ||
| `xb'
 | ||
|      Flag: superbee terminal.
 | ||
| 
 | ||
| `xn'
 | ||
|      Flag: cursor wraps in a strange way.
 | ||
| 
 | ||
| `xs'
 | ||
|      Flag: clearing a line is the only way to clear the appearance
 | ||
|      modes of positions in that line (or, only way to remove magic
 | ||
|      cookies on that line).
 | ||
| 
 | ||
| `xt'
 | ||
|      Flag: Teleray 1061; several strange characteristics.
 | ||
| 
 | ||
| 
 | ||
| File: termcap.info,  Node: Var Index,  Next: Cap Index,  Prev: Summary,  Up: Top
 | ||
| 
 | ||
| Variable and Function Index
 | ||
| ***************************
 | ||
| 
 | ||
| * Menu:
 | ||
| 
 | ||
| * BC:                                   tgoto.
 | ||
| * ospeed:                               Output Padding.
 | ||
| * PC:                                   Output Padding.
 | ||
| * tgetent:                              Find.
 | ||
| * tgetflag:                             Interrogate.
 | ||
| * tgetnum:                              Interrogate.
 | ||
| * tgetstr:                              Interrogate.
 | ||
| * tgoto:                                tgoto.
 | ||
| * tparam:                               tparam.
 | ||
| * tputs:                                Output Padding.
 | ||
| * UP:                                   tgoto.
 | ||
| 
 | 
