+If the terminal requires other than a \s-2NUL\s0 (zero) character as a pad,
+this can be given as
+.BR pc .
+Only the first character of the
+.B pc
+string is used.
+.PP
+If the terminal has commands to save and restore the position of the
+cursor, give them as
+.B sc
+and
+.BR rc .
+.PP
+If the terminal has an extra \*(lqstatus line\*(rq that is not normally used by
+software, this fact can be indicated.
+If the status line is viewed as an extra line below the bottom line,
+then the capability
+.B hs
+should be given.
+Special strings to go to a position in the status line and to return
+from the status line can be given as
+.B ts
+and
+.BR fs .
+.RB ( fs
+must leave the cursor position in the same place that it was before
+.BR ts .
+If necessary, the
+.B sc
+and
+.B rc
+strings can be included in
+.B ts
+and
+.B fs
+to get this effect.)
+The capability
+.B ts
+takes one parameter, which is the column number of the status line
+to which the cursor is to be moved.
+If escape sequences and other special commands such as tab work while in
+the status line, the flag
+.B es
+can be given.
+A string that turns off the status line (or otherwise erases its contents)
+should be given as
+.BR ds .
+The status line is normally assumed to be the same width as the
+rest of the screen,
+.IR i.e. ,
+.BR co .
+If the status line is a different width (possibly because the terminal
+does not allow an entire line to be loaded), then its width in columns
+can be indicated with the numeric parameter
+.BR ws .
+.PP
+If the terminal can move up or down half a line, this can be
+indicated with
+.B hu
+(half-line up) and
+.B hd
+(half-line down).
+This is primarily useful for superscripts and subscripts on hardcopy
+terminals.
+If a hardcopy terminal can eject to the next page (form feed),
+give this as
+.B ff
+(usually
+.BR ^L ).
+.PP
+If there is a command to repeat a given character a given number of times
+(to save time transmitting a large number of identical characters),
+this can be indicated with the parameterized string
+.BR rp .
+The first parameter is the character to be repeated and the second is
+the number of times to repeat it.
+(This is a
+.I terminfo\^
+feature that is unlikely to be supported by a program that uses
+.IR termcap\^ .)
+.PP
+If the terminal has a settable command character, such as the
+Tektronix 4025, this can be indicated with
+.BR CC .
+A prototype command character is chosen which is used in all capabilities.
+This character is given in the
+.B CC
+capability to identify it.
+The following convention is supported on some UNIX systems:
+The environment is to be searched for a
+.B
+.SM CC
+variable,
+and if found,
+all occurrences of the prototype character are replaced by the character
+in the environment variable.
+This use of the
+.B
+.SM CC
+environment variable
+is a very bad idea, as it conflicts with
+.IR make\^ (1).
+.PP
+Terminal descriptions that do not represent a specific kind of known
+terminal, such as
+.IR switch\^ ,
+.IR dialup\^ ,
+.IR patch\^ ,
+and
+.IR network\^ ,
+should include the
+.B gn
+(generic) capability so that programs can complain that they do not know
+how to talk to the terminal.
+(This capability does not apply to
+.I virtual\^
+terminal descriptions for which the escape sequences are known.)
+.PP
+If the terminal uses xoff/xon (\s-2DC3\s0/\s-2DC1\s0)
+handshaking for flow control, give
+.BR xo .
+Padding information should still be included so that routines can make
+better decisions about costs, but actual pad characters will not be
+transmitted.
+.PP
+If the terminal has a \*(lqmeta key\*(rq which acts as a shift key, setting the
+8th bit of any character transmitted, then this fact can be indicated with
+.BR km .
+Otherwise, software will assume that the 8th bit is parity and it will
+usually be cleared.
+If strings exist to turn this \*(lqmeta mode\*(rq on and off, they can be given as
+.B mm
+and
+.BR mo .
+.PP
+If the terminal has more lines of memory than will fit on the screen at once,
+the number of lines of memory can be indicated with
+.BR lm .
+An explicit value of 0 indicates that the number of lines is not fixed,
+but that there is still more memory than fits on the screen.
+.PP
+If the terminal is one of those supported by the UNIX system virtual
+terminal protocol, the terminal number can be given as
+.BR vt .
+.PP
+Media copy strings which control an auxiliary printer
+connected to the terminal can be given as
+.BR ps :
+print the contents of the screen;
+.BR pf :
+turn off the printer; and
+.BR po :
+turn on the printer.
+When the printer is on, all text sent to the terminal will be sent to the
+printer.
+It is undefined whether the text is also displayed on the terminal screen
+when the printer is on.
+A variation
+.B pO
+takes one parameter and leaves the printer on for as many characters as the
+value of the parameter, then turns the printer off.
+The parameter should not exceed 255.
+All text, including
+.BR pf ,
+is transparently passed to the printer while
+.B pO
+is in effect.
+.PP
+Strings to program function keys can be given as
+.BR pk ,
+.BR pl ,
+and
+.BR px .
+Each of these strings takes two parameters: the function key number
+to program (from 0 to 9) and the string to program it with.
+Function key numbers out of this range may program undefined keys
+in a terminal-dependent manner.
+The differences among the capabilities are that
+.B pk
+causes pressing the given key to be the same as the user typing the given
+string;
+.B pl
+causes the string to be executed by the terminal in local mode;
+and
+.B px
+causes the string to be transmitted to the computer.
+Unfortunately, due to lack of a definition for string parameters in
+.IR termcap\^ ,
+only
+.I terminfo\^
+supports these capabilities.
+.br
+.ne 5
+.PP
+.B Glitches and Braindamage
+.PP
+Hazeltine terminals, which do not allow `~' characters to be displayed,
+should indicate
+.BR hz .
+.PP
+The
+.B nc
+capability, now obsolete, formerly indicated Datamedia terminals,
+which echo
+.B \er \en
+for
+carriage return then ignore a following linefeed.
+.PP
+Terminals that ignore a linefeed immediately after an
+.B am
+wrap, such as the Concept, should indicate
+.BR xn .
+.PP
+If
+.B ce
+is required to get rid of standout
+(instead of merely writing normal text on top of it),
+.B xs
+should be given.
+.PP