home *** CD-ROM | disk | FTP | other *** search
/ IRIX Base Documentation 2001 May / SGI IRIX Base Documentation 2001 May.iso / usr / share / catman / p_man / cat4 / terminfo.z / terminfo
Encoding:
Text File  |  1998-10-20  |  275.7 KB  |  3,168 lines

  1.  
  2.  
  3.  
  4. tttteeeerrrrmmmmiiiinnnnffffoooo((((4444))))                                                        tttteeeerrrrmmmmiiiinnnnffffoooo((((4444))))
  5.  
  6.  
  7.  
  8. NNNNAAAAMMMMEEEE
  9.      _tttt_eeee_rrrr_mmmm_iiii_nnnn_ffff_oooo - terminal capability data base
  10.  
  11. SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
  12.      _////_uuuu_ssss_rrrr_////_ssss_hhhh_aaaa_rrrr_eeee_////_llll_iiii_bbbb_////_tttt_eeee_rrrr_mmmm_iiii_nnnn_ffff_oooo_////_????_////_****
  13.  
  14. DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
  15.      _tttt_eeee_rrrr_mmmm_iiii_nnnn_ffff_oooo is a database produced by _tttt_iiii_cccc that describes the capabilities of
  16.      devices such as terminals and printers.  Devices are described in
  17.      _tttt_eeee_rrrr_mmmm_iiii_nnnn_ffff_oooo source files by specifying a set of capabilities, by quantifying
  18.      certain aspects of the device, and by specifying character sequences that
  19.      effect particular results.  This database is often used by screen
  20.      oriented applications such as _vvvv_iiii and _cccc_uuuu_rrrr_ssss_eeee_ssss programs, as well as by some
  21.      UNIX system commands such as _llll_ssss and _mmmm_oooo_rrrr_eeee.  This usage allows them to work
  22.      with a variety of devices without changes to the programs.
  23.  
  24.      _tttt_eeee_rrrr_mmmm_iiii_nnnn_ffff_oooo source files consist of one or more device descriptions.  Each
  25.      description consists of a header (beginning in column 1) and one or more
  26.      lines that list the features for that particular device.  Every line in a
  27.      _tttt_eeee_rrrr_mmmm_iiii_nnnn_ffff_oooo source file must end in a comma (_,,,,).  Every line in a _tttt_eeee_rrrr_mmmm_iiii_nnnn_ffff_oooo
  28.      source file except the header must be indented with one or more white
  29.      spaces (either spaces or tabs).
  30.  
  31.      Entries in _tttt_eeee_rrrr_mmmm_iiii_nnnn_ffff_oooo source files consist of a number of comma-separated
  32.      fields.  White space after each comma is ignored.  Embedded commas must
  33.      be escaped by using a backslash.  The following example shows the format
  34.      of a _tttt_eeee_rrrr_mmmm_iiii_nnnn_ffff_oooo source file.
  35.  
  36.  
  37.           alias | alias | ... | aliasn | _l_o_n_g_n_a_m_e,
  38.           <_w_h_i_t_e _s_p_a_c_e> _aaaa_mmmm_,,,, _llll_iiii_nnnn_eeee_ssss _####_2222_4444_,,,,
  39.           <_w_h_i_t_e _s_p_a_c_e> _hhhh_oooo_mmmm_eeee_====_\\\\_EEEE_eeee_hhhh_,,,,
  40.  
  41.      The first line, commonly referred to as the header line, must begin in
  42.      column one and must contain at least two aliases separated by vertical
  43.      bars.  The last field in the header line must be the long name of the
  44.      device and it may contain any string.  Alias names must be unique in the
  45.      _tttt_eeee_rrrr_mmmm_iiii_nnnn_ffff_oooo database and they must conform to UNIX system file naming
  46.      conventions [see _tttt_iiii_cccc(1M)]; they cannot, for example, contain white space
  47.      or slashes.
  48.  
  49.      Every device must be assigned a name, such as "vt100".  Device names
  50.      (except the long name) should be chosen using the following conventions.
  51.      The name should not contain hyphens because hyphens are reserved for use
  52.      when adding suffixes that indicate special modes.
  53.  
  54.      These special modes may be modes that the hardware can be in, or user
  55.      preferences.  To assign a special mode to a particular device, append a
  56.      suffix consisting of a hyphen and an indicator of the mode to the device
  57.      name.  For example, the _----_wwww suffix means "wide mode"; when specified, it
  58.      allows for a width of 132 columns instead of the standard 80 columns.
  59.      Therefore, if you want to use a vt100 device set to wide mode, name the
  60.  
  61.  
  62.  
  63.                                                                         PPPPaaaaggggeeee 1111
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70. tttteeeerrrrmmmmiiiinnnnffffoooo((((4444))))                                                        tttteeeerrrrmmmmiiiinnnnffffoooo((((4444))))
  71.  
  72.  
  73.  
  74.      device "vt100-w."  Use the following suffixes where possible.
  75.  
  76.      Suffix   Meaning                                Example
  77.  
  78.      _----_wwww       Wide mode (more than 80 columns)       5410-w
  79.      _----_aaaa_mmmm      With auto. margins (usually default)   vt100-am
  80.      _----_nnnn_aaaa_mmmm     Without automatic margins              vt100-nam
  81.      -_n       Number of lines on the screen          2300-40
  82.      _----_nnnn_aaaa      No arrow keys (leave them in local)    c100-na
  83.      -_np      Number of pages of memory              c100-4p
  84.      _----_rrrr_vvvv      Reverse video                          4415-rv
  85.  
  86.      The _tttt_eeee_rrrr_mmmm_iiii_nnnn_ffff_oooo reference manual page is organized in two sections: "DEVICE
  87.      CAPABILITIES" and "PRINTER CAPABILITIES."
  88.  
  89.    PPPPAAAARRRRTTTT 1111:::: DDDDEEEEVVVVIIIICCCCEEEE CCCCAAAAPPPPAAAABBBBIIIILLLLIIIITTTTIIIIEEEESSSS
  90.      Capabilities in _tttt_eeee_rrrr_mmmm_iiii_nnnn_ffff_oooo are of three types: Boolean capabilities (which
  91.      show that a device has or does not have a particular feature), numeric
  92.      capabilities (which quantify particular features of a device), and string
  93.      capabilities (which provide sequences that can be used to perform
  94.      particular operations on devices).
  95.  
  96.      In the following table, a VVVVaaaarrrriiiiaaaabbbblllleeee is the name by which a CCCC programmer
  97.      accesses a capability (at the _tttt_eeee_rrrr_mmmm_iiii_nnnn_ffff_oooo level).  A CCCCaaaappppnnnnaaaammmmeeee is the short
  98.      name for a capability specified in the _tttt_eeee_rrrr_mmmm_iiii_nnnn_ffff_oooo source file.  It is used
  99.      by a person updating the source file and by the _tttt_pppp_uuuu_tttt command.  A TTTTeeeerrrrmmmmccccaaaapppp
  100.      CCCCooooddddeeee is a two-letter sequence that corresponds to the _tttt_eeee_rrrr_mmmm_cccc_aaaa_pppp capability
  101.      name.  (Note that _tttt_eeee_rrrr_mmmm_cccc_aaaa_pppp is no longer supported.)
  102.  
  103.      Capability names have no real length limit, but an informal limit of five
  104.      characters has been adopted to keep them short.  Whenever possible,
  105.      capability names are chosen to be the same as or similar to those
  106.      specified by the ANSI X3.64-1979 standard.  Semantics are also intended
  107.      to match those of the ANSI standard.
  108.  
  109.      All string capabilities listed below may have padding specified, with the
  110.      exception of those used for input.  Input capabilities, listed under the
  111.      SSSSttttrrrriiiinnnnggggssss section in the following tables, have names beginning with _kkkk_eeee_yyyy_____.
  112.      The _####_iiii symbol in the description field of the following tables refers to
  113.      the _ith parameter.
  114.  
  115.    BBBBoooooooolllleeeeaaaannnnssss
  116.                                 Cap-    Termcap
  117.      Variable                   name    Code      Description
  118.  
  119.      _aaaa_uuuu_tttt_oooo______llll_eeee_ffff_tttt______mmmm_aaaa_rrrr_gggg_iiii_nnnn           _bbbb_wwww      _bbbb_wwww        _cccc_uuuu_bbbb_1111 wraps from column 0 to
  120.                                                   last column
  121.      _aaaa_uuuu_tttt_oooo______rrrr_iiii_gggg_hhhh_tttt______mmmm_aaaa_rrrr_gggg_iiii_nnnn          _aaaa_mmmm      _aaaa_mmmm        Terminal has automatic
  122.                                                   margins
  123.      _bbbb_aaaa_cccc_kkkk______cccc_oooo_llll_oooo_rrrr______eeee_rrrr_aaaa_ssss_eeee           _bbbb_cccc_eeee     _bbbb_eeee        Screen erased with background
  124.  
  125.  
  126.  
  127.  
  128.  
  129.                                                                         PPPPaaaaggggeeee 2222
  130.  
  131.  
  132.  
  133.  
  134.  
  135.  
  136. tttteeeerrrrmmmmiiiinnnnffffoooo((((4444))))                                                        tttteeeerrrrmmmmiiiinnnnffffoooo((((4444))))
  137.  
  138.  
  139.  
  140.                                                   color
  141.      _cccc_aaaa_nnnn______cccc_hhhh_aaaa_nnnn_gggg_eeee                 _cccc_cccc_cccc     _cccc_cccc        Terminal can redefine
  142.                                                   existing color
  143.      _cccc_eeee_oooo_llll______ssss_tttt_aaaa_nnnn_dddd_oooo_uuuu_tttt______gggg_llll_iiii_tttt_cccc_hhhh       _xxxx_hhhh_pppp     _xxxx_ssss        Standout not erased by
  144.                                                   overwriting (hp)
  145.      _cccc_oooo_llll______aaaa_dddd_dddd_rrrr______gggg_llll_iiii_tttt_cccc_hhhh            _xxxx_hhhh_pppp_aaaa    _YYYY_AAAA        Only positive motion for
  146.                                                   _hhhh_pppp_aaaa/_mmmm_hhhh_pppp_aaaa caps
  147.      _cccc_pppp_iiii______cccc_hhhh_aaaa_nnnn_gggg_eeee_ssss______rrrr_eeee_ssss            _cccc_pppp_iiii_xxxx    _YYYY_FFFF        Changing character pitch
  148.                                                   changes resolution
  149.      _cccc_rrrr______cccc_aaaa_nnnn_cccc_eeee_llll_ssss______mmmm_iiii_cccc_rrrr_oooo______mmmm_oooo_dddd_eeee      _cccc_rrrr_xxxx_mmmm    _YYYY_BBBB        Using _cccc_rrrr turns off micro mode
  150.      _eeee_aaaa_tttt______nnnn_eeee_wwww_llll_iiii_nnnn_eeee______gggg_llll_iiii_tttt_cccc_hhhh         _xxxx_eeee_nnnn_llll    _xxxx_nnnn        Newline ignored after 80
  151.                                                   columns (Concept)
  152.      _eeee_rrrr_aaaa_ssss_eeee______oooo_vvvv_eeee_rrrr_ssss_tttt_rrrr_iiii_kkkk_eeee           _eeee_oooo      _eeee_oooo        Can erase overstrikes with a
  153.                                                   blank
  154.      _gggg_eeee_nnnn_eeee_rrrr_iiii_cccc______tttt_yyyy_pppp_eeee               _gggg_nnnn      _gggg_nnnn        Generic line type (_e._g.,
  155.                                                   dialup, switch)
  156.      _hhhh_aaaa_rrrr_dddd______cccc_oooo_pppp_yyyy                  _hhhh_cccc      _hhhh_cccc        Hardcopy terminal
  157.      _hhhh_aaaa_rrrr_dddd______cccc_uuuu_rrrr_ssss_oooo_rrrr                _cccc_hhhh_tttt_ssss    _HHHH_CCCC        Cursor is hard to see
  158.      _hhhh_aaaa_ssss______mmmm_eeee_tttt_aaaa______kkkk_eeee_yyyy               _kkkk_mmmm      _kkkk_mmmm        Has a meta key (shift, sets
  159.                                                   parity bit)
  160.      _hhhh_aaaa_ssss______pppp_rrrr_iiii_nnnn_tttt______wwww_hhhh_eeee_eeee_llll            _dddd_aaaa_iiii_ssss_yyyy   _YYYY_CCCC        Printer needs operator to
  161.                                                   change character set
  162.      _hhhh_aaaa_ssss______ssss_tttt_aaaa_tttt_uuuu_ssss______llll_iiii_nnnn_eeee            _hhhh_ssss      _hhhh_ssss        Has extra "status line"
  163.      _hhhh_uuuu_eeee______llll_iiii_gggg_hhhh_tttt_nnnn_eeee_ssss_ssss______ssss_aaaa_tttt_uuuu_rrrr_aaaa_tttt_iiii_oooo_nnnn   _hhhh_llll_ssss     _hhhh_llll        Terminal uses only HLS color
  164.                                                   notation (Tektronix)
  165.      _iiii_nnnn_ssss_eeee_rrrr_tttt______nnnn_uuuu_llll_llll______gggg_llll_iiii_tttt_cccc_hhhh         _iiii_nnnn      _iiii_nnnn        Insert mode distinguishes
  166.                                                   nulls
  167.      _llll_pppp_iiii______cccc_hhhh_aaaa_nnnn_gggg_eeee_ssss______rrrr_eeee_ssss            _llll_pppp_iiii_xxxx    _YYYY_GGGG        Changing line pitch changes
  168.                                                   resolution
  169.      _mmmm_eeee_mmmm_oooo_rrrr_yyyy______aaaa_bbbb_oooo_vvvv_eeee               _dddd_aaaa      _dddd_aaaa        Display may be retained above
  170.                                                   the screen
  171.      _mmmm_eeee_mmmm_oooo_rrrr_yyyy______bbbb_eeee_llll_oooo_wwww               _dddd_bbbb      _dddd_bbbb        Display may be retained below
  172.                                                   the screen
  173.      _mmmm_oooo_vvvv_eeee______iiii_nnnn_ssss_eeee_rrrr_tttt______mmmm_oooo_dddd_eeee           _mmmm_iiii_rrrr     _mmmm_iiii        Safe to move while in insert
  174.                                                   mode
  175.      _mmmm_oooo_vvvv_eeee______ssss_tttt_aaaa_nnnn_dddd_oooo_uuuu_tttt______mmmm_oooo_dddd_eeee         _mmmm_ssss_gggg_rrrr    _mmmm_ssss        Safe to move in standout
  176.                                                   modes
  177.      _nnnn_eeee_eeee_dddd_ssss______xxxx_oooo_nnnn______xxxx_oooo_ffff_ffff             _nnnn_xxxx_oooo_nnnn    _nnnn_xxxx        Padding won't work, xon/xoff
  178.                                                   required
  179.      _nnnn_oooo______eeee_ssss_cccc______cccc_tttt_llll_cccc                _xxxx_ssss_bbbb     _xxxx_bbbb        Beehive (f1=escape,
  180.                                                   f2=ctrl C)
  181.      _nnnn_oooo_nnnn______rrrr_eeee_vvvv______rrrr_mmmm_cccc_uuuu_pppp              _nnnn_rrrr_rrrr_mmmm_cccc   _NNNN_RRRR        _ssss_mmmm_cccc_uuuu_pppp does not reverse _rrrr_mmmm_cccc_uuuu_pppp
  182.      _nnnn_oooo______pppp_aaaa_dddd______cccc_hhhh_aaaa_rrrr                _nnnn_pppp_cccc     _NNNN_PPPP        Pad character doesn't exist
  183.      _oooo_vvvv_eeee_rrrr______ssss_tttt_rrrr_iiii_kkkk_eeee                _oooo_ssss      _oooo_ssss        Terminal overstrikes on
  184.                                                   hard-copy terminal
  185.      _pppp_rrrr_tttt_rrrr______ssss_iiii_llll_eeee_nnnn_tttt                _mmmm_cccc_5555_iiii    _5555_iiii        Printer won't echo on screen
  186.      _rrrr_oooo_wwww______aaaa_dddd_dddd_rrrr______gggg_llll_iiii_tttt_cccc_hhhh            _xxxx_vvvv_pppp_aaaa    _YYYY_DDDD        Only positive motion for
  187.                                                   _vvvv_pppp_aaaa/_mmmm_vvvv_pppp_aaaa caps
  188.      _ssss_eeee_mmmm_iiii______aaaa_uuuu_tttt_oooo______rrrr_iiii_gggg_hhhh_tttt______mmmm_aaaa_rrrr_gggg_iiii_nnnn     _ssss_aaaa_mmmm     _YYYY_EEEE        Printing in last column
  189.                                                   causes _cccc_rrrr
  190.  
  191.  
  192.  
  193.  
  194.  
  195.                                                                         PPPPaaaaggggeeee 3333
  196.  
  197.  
  198.  
  199.  
  200.  
  201.  
  202. tttteeeerrrrmmmmiiiinnnnffffoooo((((4444))))                                                        tttteeeerrrrmmmmiiiinnnnffffoooo((((4444))))
  203.  
  204.  
  205.  
  206.      _ssss_tttt_aaaa_tttt_uuuu_ssss______llll_iiii_nnnn_eeee______eeee_ssss_cccc______oooo_kkkk         _eeee_ssss_llll_oooo_kkkk   _eeee_ssss        Escape can be used on the
  207.                                                   status line
  208.      _dddd_eeee_ssss_tttt______tttt_aaaa_bbbb_ssss______mmmm_aaaa_gggg_iiii_cccc______ssss_mmmm_ssss_oooo       _xxxx_tttt      _xxxx_tttt        Destructive tabs, magic _ssss_mmmm_ssss_oooo
  209.                                                   char (t1061)
  210.      _tttt_iiii_llll_dddd_eeee______gggg_llll_iiii_tttt_cccc_hhhh               _hhhh_zzzz      _hhhh_zzzz        Hazeltine; can't print
  211.                                                   tilde (~)
  212.      _tttt_rrrr_aaaa_nnnn_ssss_pppp_aaaa_rrrr_eeee_nnnn_tttt______uuuu_nnnn_dddd_eeee_rrrr_llll_iiii_nnnn_eeee      _uuuu_llll      _uuuu_llll        Underline character
  213.                                                   overstrikes
  214.      _xxxx_oooo_nnnn______xxxx_oooo_ffff_ffff                   _xxxx_oooo_nnnn     _xxxx_oooo        Terminal uses xon/xoff
  215.                                                   handshaking
  216.  
  217.    NNNNuuuummmmbbbbeeeerrrrssss
  218.                             Cap-     Termcap
  219.      Variable               name     Code      Description
  220.  
  221.      _bbbb_uuuu_ffff_ffff_eeee_rrrr______cccc_aaaa_pppp_aaaa_cccc_iiii_tttt_yyyy        _bbbb_uuuu_ffff_ssss_zzzz    _YYYY_aaaa        Number of bytes buffered before
  222.                                                printing
  223.      _cccc_oooo_llll_uuuu_mmmm_nnnn_ssss                _cccc_oooo_llll_ssss     _cccc_oooo        Number of columns in a line
  224.      _dddd_oooo_tttt______vvvv_eeee_rrrr_tttt______ssss_pppp_aaaa_cccc_iiii_nnnn_gggg       _ssss_pppp_iiii_nnnn_vvvv    _YYYY_bbbb        Spacing of pins vertically in
  225.                                                pins per inch
  226.      _dddd_oooo_tttt______hhhh_oooo_rrrr_zzzz______ssss_pppp_aaaa_cccc_iiii_nnnn_gggg       _ssss_pppp_iiii_nnnn_hhhh    _YYYY_cccc        Spacing of dots horizontally in
  227.                                                dots per inch
  228.      _iiii_nnnn_iiii_tttt______tttt_aaaa_bbbb_ssss              _iiii_tttt       _iiii_tttt        Tabs initially every # spaces
  229.      _llll_aaaa_bbbb_eeee_llll______hhhh_eeee_iiii_gggg_hhhh_tttt           _llll_hhhh       _llll_hhhh        Number of rows in each label
  230.      _llll_aaaa_bbbb_eeee_llll______wwww_iiii_dddd_tttt_hhhh            _llll_wwww       _llll_wwww        Number of columns in each label
  231.      _llll_iiii_nnnn_eeee_ssss                  _llll_iiii_nnnn_eeee_ssss    _llll_iiii        Number of lines on a screen or a
  232.                                                page
  233.      _llll_iiii_nnnn_eeee_ssss______oooo_ffff______mmmm_eeee_mmmm_oooo_rrrr_yyyy        _llll_mmmm       _llll_mmmm        Lines of memory if > _llll_iiii_nnnn_eeee_ssss; _0000
  234.                                                means varies
  235.      _mmmm_aaaa_gggg_iiii_cccc______cccc_oooo_oooo_kkkk_iiii_eeee______gggg_llll_iiii_tttt_cccc_hhhh    _xxxx_mmmm_cccc      _ssss_gggg        Number of blank characters left
  236.                                                by _ssss_mmmm_ssss_oooo or _rrrr_mmmm_ssss_oooo
  237.      _mmmm_aaaa_xxxx______cccc_oooo_llll_oooo_rrrr_ssss             _cccc_oooo_llll_oooo_rrrr_ssss   _CCCC_oooo        Maximum number of colors on the
  238.                                                screen
  239.      _mmmm_aaaa_xxxx______mmmm_iiii_cccc_rrrr_oooo______aaaa_dddd_dddd_rrrr_eeee_ssss_ssss      _mmmm_aaaa_dddd_dddd_rrrr    _YYYY_dddd        Maximum value in
  240.                                                _mmmm_iiii_cccc_rrrr_oooo______...._...._....______aaaa_dddd_dddd_rrrr_eeee_ssss_ssss
  241.      _mmmm_aaaa_xxxx______mmmm_iiii_cccc_rrrr_oooo______jjjj_uuuu_mmmm_pppp         _mmmm_jjjj_uuuu_mmmm_pppp    _YYYY_eeee        Maximum value in _pppp_aaaa_rrrr_mmmm______...._...._....______mmmm_iiii_cccc_rrrr_oooo
  242.      _mmmm_aaaa_xxxx______pppp_aaaa_iiii_rrrr_ssss              _pppp_aaaa_iiii_rrrr_ssss    _pppp_aaaa        Maximum number of color-pairs on
  243.                                                the screen
  244.      _mmmm_iiii_cccc_rrrr_oooo______cccc_oooo_llll______ssss_iiii_zzzz_eeee         _mmmm_cccc_ssss      _YYYY_ffff        Character step size when in
  245.                                                micro mode
  246.      _mmmm_iiii_cccc_rrrr_oooo______llll_iiii_nnnn_eeee______ssss_iiii_zzzz_eeee        _mmmm_llll_ssss      _YYYY_gggg        Line step size when in micro
  247.                                                mode
  248.      _nnnn_oooo______cccc_oooo_llll_oooo_rrrr______vvvv_iiii_dddd_eeee_oooo         _nnnn_cccc_vvvv      _NNNN_CCCC        Video attributes that can't be
  249.                                                used with colors
  250.      _nnnn_uuuu_mmmm_bbbb_eeee_rrrr______oooo_ffff______pppp_iiii_nnnn_ssss         _nnnn_pppp_iiii_nnnn_ssss    _YYYY_hhhh        Number of pins in print-head
  251.      _nnnn_uuuu_mmmm______llll_aaaa_bbbb_eeee_llll_ssss             _nnnn_llll_aaaa_bbbb     _NNNN_llll        Number of labels on screen
  252.                                                (start at 1)
  253.      _oooo_uuuu_tttt_pppp_uuuu_tttt______rrrr_eeee_ssss______cccc_hhhh_aaaa_rrrr        _oooo_rrrr_cccc      _YYYY_iiii        Horizontal resolution in units
  254.                                                per character
  255.      _oooo_uuuu_tttt_pppp_uuuu_tttt______rrrr_eeee_ssss______llll_iiii_nnnn_eeee        _oooo_rrrr_llll      _YYYY_jjjj        Vertical resolution in units per
  256.  
  257.  
  258.  
  259.  
  260.  
  261.                                                                         PPPPaaaaggggeeee 4444
  262.  
  263.  
  264.  
  265.  
  266.  
  267.  
  268. tttteeeerrrrmmmmiiiinnnnffffoooo((((4444))))                                                        tttteeeerrrrmmmmiiiinnnnffffoooo((((4444))))
  269.  
  270.  
  271.  
  272.                                                line
  273.      _oooo_uuuu_tttt_pppp_uuuu_tttt______rrrr_eeee_ssss______hhhh_oooo_rrrr_zzzz______iiii_nnnn_cccc_hhhh   _oooo_rrrr_hhhh_iiii     _YYYY_kkkk        Horizontal resolution in units
  274.                                                per inch
  275.      _oooo_uuuu_tttt_pppp_uuuu_tttt______rrrr_eeee_ssss______vvvv_eeee_rrrr_tttt______iiii_nnnn_cccc_hhhh   _oooo_rrrr_vvvv_iiii     _YYYY_llll        Vertical resolution in units per
  276.                                                inch
  277.      _pppp_aaaa_dddd_dddd_iiii_nnnn_gggg______bbbb_aaaa_uuuu_dddd______rrrr_aaaa_tttt_eeee      _pppp_bbbb       _pppp_bbbb        Lowest baud rate where padding
  278.                                                needed
  279.      _vvvv_iiii_rrrr_tttt_uuuu_aaaa_llll______tttt_eeee_rrrr_mmmm_iiii_nnnn_aaaa_llll       _vvvv_tttt       _vvvv_tttt        Virtual terminal number (UNIX
  280.                                                system)
  281.      _wwww_iiii_dddd_eeee______cccc_hhhh_aaaa_rrrr______ssss_iiii_zzzz_eeee         _wwww_iiii_dddd_cccc_ssss    _YYYY_nnnn        Character step size when in
  282.                                                double wide mode
  283.      _wwww_iiii_dddd_tttt_hhhh______ssss_tttt_aaaa_tttt_uuuu_ssss______llll_iiii_nnnn_eeee      _wwww_ssss_llll      _wwww_ssss        Number of columns in status line
  284.  
  285.    SSSSttttrrrriiiinnnnggggssss
  286.                                  Cap-      Termcap
  287.      Variable                    name      Code      Description
  288.  
  289.      _aaaa_cccc_ssss______cccc_hhhh_aaaa_rrrr_ssss                   _aaaa_cccc_ssss_cccc      _aaaa_cccc        Graphic charset pairs
  290.                                                      aAbBcC
  291.      _aaaa_llll_tttt______ssss_cccc_aaaa_nnnn_cccc_oooo_dddd_eeee______eeee_ssss_cccc            _ssss_cccc_eeee_ssss_cccc_aaaa    _SSSS_8888        Alternate escape for
  292.                                                      scancode emulation
  293.                                                      (default is for vt100)
  294.      _bbbb_aaaa_cccc_kkkk______tttt_aaaa_bbbb                    _cccc_bbbb_tttt       _bbbb_tttt        Back tab
  295.      _bbbb_eeee_llll_llll                        _bbbb_eeee_llll       _bbbb_llll        Audible signal (bell)
  296.      _bbbb_iiii_tttt______iiii_mmmm_aaaa_gggg_eeee______rrrr_eeee_pppp_eeee_aaaa_tttt            _bbbb_iiii_rrrr_eeee_pppp     _ZZZZ_yyyy        Repeat bit-image cell
  297.                                                      #1 #2 times (use
  298.                                                      tparm)
  299.      _bbbb_iiii_tttt______iiii_mmmm_aaaa_gggg_eeee______nnnn_eeee_wwww_llll_iiii_nnnn_eeee           _bbbb_iiii_nnnn_eeee_llll     _ZZZZ_zzzz        Move to next row of the
  300.                                                      bit image (use tparm)
  301.      _bbbb_iiii_tttt______iiii_mmmm_aaaa_gggg_eeee______cccc_aaaa_rrrr_rrrr_iiii_aaaa_gggg_eeee______rrrr_eeee_tttt_uuuu_rrrr_nnnn   _bbbb_iiii_cccc_rrrr      _YYYY_vvvv        Move to beginning of same
  302.                                                      row (use tparm)
  303.      _cccc_aaaa_rrrr_rrrr_iiii_aaaa_gggg_eeee______rrrr_eeee_tttt_uuuu_rrrr_nnnn             _cccc_rrrr        _cccc_rrrr        Carriage return
  304.      _cccc_hhhh_aaaa_nnnn_gggg_eeee______cccc_hhhh_aaaa_rrrr______pppp_iiii_tttt_cccc_hhhh           _cccc_pppp_iiii       _ZZZZ_AAAA        Change number of
  305.                                                      characters per inch
  306.      _cccc_hhhh_aaaa_nnnn_gggg_eeee______llll_iiii_nnnn_eeee______pppp_iiii_tttt_cccc_hhhh           _llll_pppp_iiii       _ZZZZ_BBBB        Change number of lines per
  307.                                                      inch
  308.      _cccc_hhhh_aaaa_nnnn_gggg_eeee______rrrr_eeee_ssss______hhhh_oooo_rrrr_zzzz             _cccc_hhhh_rrrr       _ZZZZ_CCCC        Change horizontal
  309.                                                      resolution
  310.      _cccc_hhhh_aaaa_nnnn_gggg_eeee______rrrr_eeee_ssss______vvvv_eeee_rrrr_tttt             _cccc_vvvv_rrrr       _ZZZZ_DDDD        Change vertical resolution
  311.      _cccc_hhhh_aaaa_nnnn_gggg_eeee______ssss_cccc_rrrr_oooo_llll_llll______rrrr_eeee_gggg_iiii_oooo_nnnn        _cccc_ssss_rrrr       _cccc_ssss        Change to lines #1 through
  312.                                                      #2 (vt100)
  313.      _cccc_hhhh_aaaa_rrrr______pppp_aaaa_dddd_dddd_iiii_nnnn_gggg                _rrrr_mmmm_pppp       _rrrr_PPPP        Like _iiii_pppp but when in
  314.                                                      replace mode
  315.      _cccc_hhhh_aaaa_rrrr______ssss_eeee_tttt______nnnn_aaaa_mmmm_eeee_ssss              _cccc_ssss_nnnn_mmmm      _ZZZZ_yyyy        List of character set
  316.                                                      names
  317.      _cccc_llll_eeee_aaaa_rrrr______aaaa_llll_llll______tttt_aaaa_bbbb_ssss              _tttt_bbbb_cccc       _cccc_tttt        Clear all tab stops
  318.      _cccc_llll_eeee_aaaa_rrrr______mmmm_aaaa_rrrr_gggg_iiii_nnnn_ssss               _mmmm_gggg_cccc       _MMMM_CCCC        Clear all margins (top,
  319.                                                      bottom, and sides)
  320.      _cccc_llll_eeee_aaaa_rrrr______ssss_cccc_rrrr_eeee_eeee_nnnn                _cccc_llll_eeee_aaaa_rrrr     _cccc_llll        Clear screen and home
  321.                                                      cursor
  322.  
  323.  
  324.  
  325.  
  326.  
  327.                                                                         PPPPaaaaggggeeee 5555
  328.  
  329.  
  330.  
  331.  
  332.  
  333.  
  334. tttteeeerrrrmmmmiiiinnnnffffoooo((((4444))))                                                        tttteeeerrrrmmmmiiiinnnnffffoooo((((4444))))
  335.  
  336.  
  337.  
  338.      _cccc_llll_rrrr______bbbb_oooo_llll                     _eeee_llll_1111       _cccc_bbbb        Clear to beginning of
  339.                                                      line, inclusive
  340.      _cccc_llll_rrrr______eeee_oooo_llll                     _eeee_llll        _cccc_eeee        Clear to end of line
  341.      _cccc_llll_rrrr______eeee_oooo_ssss                     _eeee_dddd        _cccc_dddd        Clear to end of display
  342.      _cccc_oooo_dddd_eeee______ssss_eeee_tttt______iiii_nnnn_iiii_tttt               _cccc_ssss_iiii_nnnn      _cccc_iiii        Init sequence for multiple
  343.                                                      codesets
  344.      _cccc_oooo_llll_oooo_rrrr______nnnn_aaaa_mmmm_eeee_ssss                 _cccc_oooo_llll_oooo_rrrr_nnnn_mmmm   _YYYY_wwww        Give name for color #1
  345.      _cccc_oooo_llll_uuuu_mmmm_nnnn______aaaa_dddd_dddd_rrrr_eeee_ssss_ssss              _hhhh_pppp_aaaa       _cccc_hhhh        Horizontal position
  346.                                                      absolute
  347.      _cccc_oooo_mmmm_mmmm_aaaa_nnnn_dddd______cccc_hhhh_aaaa_rrrr_aaaa_cccc_tttt_eeee_rrrr           _cccc_mmmm_dddd_cccc_hhhh     _CCCC_CCCC        Terminal settable cmd
  348.                                                      character in prototype
  349.      _cccc_uuuu_rrrr_ssss_oooo_rrrr______aaaa_dddd_dddd_rrrr_eeee_ssss_ssss              _cccc_uuuu_pppp       _cccc_mmmm        Move to row #1 col #2
  350.      _cccc_uuuu_rrrr_ssss_oooo_rrrr______dddd_oooo_wwww_nnnn                 _cccc_uuuu_dddd_1111      _dddd_oooo        Down one line
  351.      _cccc_uuuu_rrrr_ssss_oooo_rrrr______hhhh_oooo_mmmm_eeee                 _hhhh_oooo_mmmm_eeee      _hhhh_oooo        Home cursor (if no _cccc_uuuu_pppp)
  352.      _cccc_uuuu_rrrr_ssss_oooo_rrrr______iiii_nnnn_vvvv_iiii_ssss_iiii_bbbb_llll_eeee            _cccc_iiii_vvvv_iiii_ssss     _vvvv_iiii        Make cursor invisible
  353.      _cccc_uuuu_rrrr_ssss_oooo_rrrr______llll_eeee_ffff_tttt                 _cccc_uuuu_bbbb_1111      _llll_eeee        Move left one space.
  354.      _cccc_uuuu_rrrr_ssss_oooo_rrrr______mmmm_eeee_mmmm______aaaa_dddd_dddd_rrrr_eeee_ssss_ssss          _mmmm_rrrr_cccc_uuuu_pppp     _CCCC_MMMM        Memory relative cursor
  355.                                                      addressing
  356.      _cccc_uuuu_rrrr_ssss_oooo_rrrr______nnnn_oooo_rrrr_mmmm_aaaa_llll               _cccc_nnnn_oooo_rrrr_mmmm     _vvvv_eeee        Make cursor appear normal
  357.                                                      (undo _vvvv_ssss_////_vvvv_iiii)
  358.      _cccc_uuuu_rrrr_ssss_oooo_rrrr______rrrr_iiii_gggg_hhhh_tttt                _cccc_uuuu_ffff_1111      _nnnn_dddd        Non-destructive space
  359.                                                      (cursor or carriage right)
  360.      _cccc_uuuu_rrrr_ssss_oooo_rrrr______tttt_oooo______llll_llll                _llll_llll        _llll_llll        Last line, first column
  361.                                                      (if no _cccc_uuuu_pppp)
  362.      _cccc_uuuu_rrrr_ssss_oooo_rrrr______uuuu_pppp                   _cccc_uuuu_uuuu_1111      _uuuu_pppp        Upline (cursor up)
  363.      _cccc_uuuu_rrrr_ssss_oooo_rrrr______vvvv_iiii_ssss_iiii_bbbb_llll_eeee              _cccc_vvvv_vvvv_iiii_ssss     _vvvv_ssss        Make cursor very visible
  364.      _dddd_eeee_ffff_iiii_nnnn_eeee______bbbb_iiii_tttt______iiii_mmmm_aaaa_gggg_eeee______rrrr_eeee_gggg_iiii_oooo_nnnn     _dddd_eeee_ffff_bbbb_iiii     _YYYY_xxxx        Define rectangular
  365.                                                      bit-image region (use
  366.                                                      tparm)
  367.      _dddd_eeee_ffff_iiii_nnnn_eeee______cccc_hhhh_aaaa_rrrr                 _dddd_eeee_ffff_cccc      _ZZZZ_EEEE        Define a character in a
  368.                                                      character set|-
  369.      _dddd_eeee_llll_eeee_tttt_eeee______cccc_hhhh_aaaa_rrrr_aaaa_cccc_tttt_eeee_rrrr            _dddd_cccc_hhhh_1111      _dddd_cccc        Delete character
  370.      _dddd_eeee_llll_eeee_tttt_eeee______llll_iiii_nnnn_eeee                 _dddd_llll_1111       _dddd_llll        Delete line
  371.      _dddd_eeee_vvvv_iiii_cccc_eeee______tttt_yyyy_pppp_eeee                 _dddd_eeee_vvvv_tttt      _dddd_vvvv        Indicate language/codeset
  372.                                                      support
  373.      _dddd_iiii_ssss______ssss_tttt_aaaa_tttt_uuuu_ssss______llll_iiii_nnnn_eeee             _dddd_ssss_llll       _dddd_ssss        Disable status line
  374.      _dddd_iiii_ssss_pppp_llll_aaaa_yyyy______pppp_cccc______cccc_hhhh_aaaa_rrrr             _dddd_iiii_ssss_pppp_cccc     _SSSS_1111        Display PC character
  375.      _dddd_oooo_wwww_nnnn______hhhh_aaaa_llll_ffff______llll_iiii_nnnn_eeee              _hhhh_dddd        _hhhh_dddd        Half-line down (forward
  376.                                                      1/2 linefeed)
  377.      _eeee_nnnn_aaaa______aaaa_cccc_ssss                     _eeee_nnnn_aaaa_cccc_ssss     _eeee_AAAA        Enable alternate character
  378.                                                      set
  379.      _eeee_nnnn_dddd______bbbb_iiii_tttt______iiii_mmmm_aaaa_gggg_eeee______rrrr_eeee_gggg_iiii_oooo_nnnn        _eeee_nnnn_dddd_bbbb_iiii     _YYYY_yyyy        End a bit-image region
  380.                                                      (use tparm)
  381.      _eeee_nnnn_tttt_eeee_rrrr______aaaa_llll_tttt______cccc_hhhh_aaaa_rrrr_ssss_eeee_tttt______mmmm_oooo_dddd_eeee      _ssss_mmmm_aaaa_cccc_ssss     _aaaa_ssss        Start alternate character
  382.                                                      set
  383.      _eeee_nnnn_tttt_eeee_rrrr______aaaa_mmmm______mmmm_oooo_dddd_eeee               _ssss_mmmm_aaaa_mmmm      _SSSS_AAAA        Turn on automatic margins
  384.      _eeee_nnnn_tttt_eeee_rrrr______bbbb_llll_iiii_nnnn_kkkk______mmmm_oooo_dddd_eeee            _bbbb_llll_iiii_nnnn_kkkk     _mmmm_bbbb        Turn on blinking
  385.      _eeee_nnnn_tttt_eeee_rrrr______bbbb_oooo_llll_dddd______mmmm_oooo_dddd_eeee             _bbbb_oooo_llll_dddd      _mmmm_dddd        Turn on bold (extra
  386.                                                      bright) mode
  387.      _eeee_nnnn_tttt_eeee_rrrr______cccc_aaaa______mmmm_oooo_dddd_eeee               _ssss_mmmm_cccc_uuuu_pppp     _tttt_iiii        String to begin programs
  388.  
  389.  
  390.  
  391.  
  392.  
  393.                                                                         PPPPaaaaggggeeee 6666
  394.  
  395.  
  396.  
  397.  
  398.  
  399.  
  400. tttteeeerrrrmmmmiiiinnnnffffoooo((((4444))))                                                        tttteeeerrrrmmmmiiiinnnnffffoooo((((4444))))
  401.  
  402.  
  403.  
  404.                                                      that use _cccc_uuuu_pppp
  405.      _eeee_nnnn_tttt_eeee_rrrr______dddd_eeee_llll_eeee_tttt_eeee______mmmm_oooo_dddd_eeee           _ssss_mmmm_dddd_cccc      _dddd_mmmm        Delete mode (enter)
  406.      _eeee_nnnn_tttt_eeee_rrrr______dddd_iiii_mmmm______mmmm_oooo_dddd_eeee              _dddd_iiii_mmmm       _mmmm_hhhh        Turn on half-bright mode
  407.      _eeee_nnnn_tttt_eeee_rrrr______dddd_oooo_uuuu_bbbb_llll_eeee_wwww_iiii_dddd_eeee______mmmm_oooo_dddd_eeee       _ssss_wwww_iiii_dddd_mmmm     _ZZZZ_FFFF        Enable double wide
  408.                                                      printing
  409.      _eeee_nnnn_tttt_eeee_rrrr______dddd_rrrr_aaaa_ffff_tttt______qqqq_uuuu_aaaa_llll_iiii_tttt_yyyy         _ssss_dddd_rrrr_ffff_qqqq     _ZZZZ_GGGG        Set draft quality print
  410.      _eeee_nnnn_tttt_eeee_rrrr______iiii_nnnn_ssss_eeee_rrrr_tttt______mmmm_oooo_dddd_eeee           _ssss_mmmm_iiii_rrrr      _iiii_mmmm        Insert mode (enter)
  411.      _eeee_nnnn_tttt_eeee_rrrr______iiii_tttt_aaaa_llll_iiii_cccc_ssss______mmmm_oooo_dddd_eeee          _ssss_iiii_tttt_mmmm      _ZZZZ_HHHH        Enable italics
  412.      _eeee_nnnn_tttt_eeee_rrrr______llll_eeee_ffff_tttt_wwww_aaaa_rrrr_dddd______mmmm_oooo_dddd_eeee         _ssss_llll_mmmm       _ZZZZ_IIII        Enable leftward carriage
  413.                                                      motion
  414.      _eeee_nnnn_tttt_eeee_rrrr______mmmm_iiii_cccc_rrrr_oooo______mmmm_oooo_dddd_eeee            _ssss_mmmm_iiii_cccc_mmmm     _ZZZZ_JJJJ        Enable micro motion
  415.                                                      capabilities
  416.      _eeee_nnnn_tttt_eeee_rrrr______nnnn_eeee_aaaa_rrrr______llll_eeee_tttt_tttt_eeee_rrrr______qqqq_uuuu_aaaa_llll_iiii_tttt_yyyy   _ssss_nnnn_llll_qqqq      _ZZZZ_KKKK        Set near-letter quality
  417.                                                      print
  418.      _eeee_nnnn_tttt_eeee_rrrr______nnnn_oooo_rrrr_mmmm_aaaa_llll______qqqq_uuuu_aaaa_llll_iiii_tttt_yyyy        _ssss_nnnn_rrrr_mmmm_qqqq     _ZZZZ_LLLL        Set normal quality print
  419.      _eeee_nnnn_tttt_eeee_rrrr______pppp_cccc______cccc_hhhh_aaaa_rrrr_ssss_eeee_tttt______mmmm_oooo_dddd_eeee       _ssss_mmmm_pppp_cccc_hhhh     _SSSS_2222        Enter PC character display
  420.                                                      mode
  421.      _eeee_nnnn_tttt_eeee_rrrr______pppp_rrrr_oooo_tttt_eeee_cccc_tttt_eeee_dddd______mmmm_oooo_dddd_eeee        _pppp_rrrr_oooo_tttt      _mmmm_pppp        Turn on protected mode
  422.      _eeee_nnnn_tttt_eeee_rrrr______rrrr_eeee_vvvv_eeee_rrrr_ssss_eeee______mmmm_oooo_dddd_eeee          _rrrr_eeee_vvvv       _mmmm_rrrr        Turn on reverse video mode
  423.      _eeee_nnnn_tttt_eeee_rrrr______ssss_cccc_aaaa_nnnn_cccc_oooo_dddd_eeee______mmmm_oooo_dddd_eeee         _ssss_mmmm_ssss_cccc      _SSSS_4444        Enter PC scancode mode
  424.      _eeee_nnnn_tttt_eeee_rrrr______ssss_eeee_cccc_uuuu_rrrr_eeee______mmmm_oooo_dddd_eeee           _iiii_nnnn_vvvv_iiii_ssss     _mmmm_kkkk        Turn on blank mode
  425.                                                      (characters invisible)
  426.      _eeee_nnnn_tttt_eeee_rrrr______ssss_hhhh_aaaa_dddd_oooo_wwww______mmmm_oooo_dddd_eeee           _ssss_ssss_hhhh_mmmm      _ZZZZ_MMMM        Enable shadow printing
  427.      _eeee_nnnn_tttt_eeee_rrrr______ssss_tttt_aaaa_nnnn_dddd_oooo_uuuu_tttt______mmmm_oooo_dddd_eeee         _ssss_mmmm_ssss_oooo      _ssss_oooo        Begin standout mode
  428.      _eeee_nnnn_tttt_eeee_rrrr______ssss_uuuu_bbbb_ssss_cccc_rrrr_iiii_pppp_tttt______mmmm_oooo_dddd_eeee        _ssss_ssss_uuuu_bbbb_mmmm     _ZZZZ_NNNN        Enable subscript printing
  429.      _eeee_nnnn_tttt_eeee_rrrr______ssss_uuuu_pppp_eeee_rrrr_ssss_cccc_rrrr_iiii_pppp_tttt______mmmm_oooo_dddd_eeee      _ssss_ssss_uuuu_pppp_mmmm     _ZZZZ_OOOO        Enable superscript
  430.                                                      printing
  431.      _eeee_nnnn_tttt_eeee_rrrr______uuuu_nnnn_dddd_eeee_rrrr_llll_iiii_nnnn_eeee______mmmm_oooo_dddd_eeee        _ssss_mmmm_uuuu_llll      _uuuu_ssss        Start underscore mode
  432.      _eeee_nnnn_tttt_eeee_rrrr______uuuu_pppp_wwww_aaaa_rrrr_dddd______mmmm_oooo_dddd_eeee           _ssss_uuuu_mmmm       _ZZZZ_PPPP        Enable upward carriage
  433.                                                      motion
  434.      _eeee_nnnn_tttt_eeee_rrrr______xxxx_oooo_nnnn______mmmm_oooo_dddd_eeee              _ssss_mmmm_xxxx_oooo_nnnn     _SSSS_XXXX        Turn on xon/xoff
  435.                                                      handshaking
  436.      _eeee_rrrr_aaaa_ssss_eeee______cccc_hhhh_aaaa_rrrr_ssss                 _eeee_cccc_hhhh       _eeee_cccc        Erase #1 characters
  437.      _eeee_xxxx_iiii_tttt______aaaa_llll_tttt______cccc_hhhh_aaaa_rrrr_ssss_eeee_tttt______mmmm_oooo_dddd_eeee       _rrrr_mmmm_aaaa_cccc_ssss     _aaaa_eeee        End alternate character
  438.                                                      set
  439.      _eeee_xxxx_iiii_tttt______aaaa_mmmm______mmmm_oooo_dddd_eeee                _rrrr_mmmm_aaaa_mmmm      _RRRR_AAAA        Turn off automatic margins
  440.      _eeee_xxxx_iiii_tttt______aaaa_tttt_tttt_rrrr_iiii_bbbb_uuuu_tttt_eeee______mmmm_oooo_dddd_eeee         _ssss_gggg_rrrr_0000      _mmmm_eeee        Turn off all attributes
  441.      _eeee_xxxx_iiii_tttt______cccc_aaaa______mmmm_oooo_dddd_eeee                _rrrr_mmmm_cccc_uuuu_pppp     _tttt_eeee        String to end programs
  442.                                                      that use _cccc_uuuu_pppp
  443.      _eeee_xxxx_iiii_tttt______dddd_eeee_llll_eeee_tttt_eeee______mmmm_oooo_dddd_eeee            _rrrr_mmmm_dddd_cccc      _eeee_dddd        End delete mode
  444.      _eeee_xxxx_iiii_tttt______dddd_oooo_uuuu_bbbb_llll_eeee_wwww_iiii_dddd_eeee______mmmm_oooo_dddd_eeee        _rrrr_wwww_iiii_dddd_mmmm     _ZZZZ_QQQQ        Disable double wide
  445.                                                      printing
  446.      _eeee_xxxx_iiii_tttt______iiii_nnnn_ssss_eeee_rrrr_tttt______mmmm_oooo_dddd_eeee            _rrrr_mmmm_iiii_rrrr      _eeee_iiii        End insert mode
  447.      _eeee_xxxx_iiii_tttt______iiii_tttt_aaaa_llll_iiii_cccc_ssss______mmmm_oooo_dddd_eeee           _rrrr_iiii_tttt_mmmm      _ZZZZ_RRRR        Disable italics
  448.      _eeee_xxxx_iiii_tttt______llll_eeee_ffff_tttt_wwww_aaaa_rrrr_dddd______mmmm_oooo_dddd_eeee          _rrrr_llll_mmmm       _ZZZZ_SSSS        Enable rightward (normal)
  449.                                                      carriage motion
  450.      _eeee_xxxx_iiii_tttt______mmmm_iiii_cccc_rrrr_oooo______mmmm_oooo_dddd_eeee             _rrrr_mmmm_iiii_cccc_mmmm     _ZZZZ_TTTT        Disable micro motion
  451.                                                      capabilities
  452.      _eeee_xxxx_iiii_tttt______pppp_cccc______cccc_hhhh_aaaa_rrrr_ssss_eeee_tttt______mmmm_oooo_dddd_eeee        _rrrr_mmmm_pppp_cccc_hhhh     _SSSS_3333        Disable PC character
  453.                                                      display mode
  454.  
  455.  
  456.  
  457.  
  458.  
  459.                                                                         PPPPaaaaggggeeee 7777
  460.  
  461.  
  462.  
  463.  
  464.  
  465.  
  466. tttteeeerrrrmmmmiiiinnnnffffoooo((((4444))))                                                        tttteeeerrrrmmmmiiiinnnnffffoooo((((4444))))
  467.  
  468.  
  469.  
  470.      _eeee_xxxx_iiii_tttt______ssss_cccc_aaaa_nnnn_cccc_oooo_dddd_eeee______mmmm_oooo_dddd_eeee          _rrrr_mmmm_ssss_cccc      _SSSS_5555        Disable PC scancode mode
  471.      _eeee_xxxx_iiii_tttt______ssss_hhhh_aaaa_dddd_oooo_wwww______mmmm_oooo_dddd_eeee            _rrrr_ssss_hhhh_mmmm      _ZZZZ_UUUU        Disable shadow printing
  472.      _eeee_xxxx_iiii_tttt______ssss_tttt_aaaa_nnnn_dddd_oooo_uuuu_tttt______mmmm_oooo_dddd_eeee          _rrrr_mmmm_ssss_oooo      _ssss_eeee        End standout mode
  473.      _eeee_xxxx_iiii_tttt______ssss_uuuu_bbbb_ssss_cccc_rrrr_iiii_pppp_tttt______mmmm_oooo_dddd_eeee         _rrrr_ssss_uuuu_bbbb_mmmm     _ZZZZ_VVVV        Disable subscript printing
  474.      _eeee_xxxx_iiii_tttt______ssss_uuuu_pppp_eeee_rrrr_ssss_cccc_rrrr_iiii_pppp_tttt______mmmm_oooo_dddd_eeee       _rrrr_ssss_uuuu_pppp_mmmm     _ZZZZ_WWWW        Disable superscript
  475.                                                      printing
  476.      _eeee_xxxx_iiii_tttt______uuuu_nnnn_dddd_eeee_rrrr_llll_iiii_nnnn_eeee______mmmm_oooo_dddd_eeee         _rrrr_mmmm_uuuu_llll      _uuuu_eeee        End underscore mode
  477.      _eeee_xxxx_iiii_tttt______uuuu_pppp_wwww_aaaa_rrrr_dddd______mmmm_oooo_dddd_eeee            _rrrr_uuuu_mmmm       _ZZZZ_XXXX        Enable downward (normal)
  478.                                                      carriage motion
  479.      _eeee_xxxx_iiii_tttt______xxxx_oooo_nnnn______mmmm_oooo_dddd_eeee               _rrrr_mmmm_xxxx_oooo_nnnn     _RRRR_XXXX        Turn off xon/xoff
  480.                                                      handshaking
  481.      _ffff_llll_aaaa_ssss_hhhh______ssss_cccc_rrrr_eeee_eeee_nnnn                _ffff_llll_aaaa_ssss_hhhh     _vvvv_bbbb        Visible bell (may not move
  482.                                                      cursor)
  483.      _ffff_oooo_rrrr_mmmm______ffff_eeee_eeee_dddd                   _ffff_ffff        _ffff_ffff        Hardcopy terminal page
  484.                                                      eject
  485.      _ffff_rrrr_oooo_mmmm______ssss_tttt_aaaa_tttt_uuuu_ssss______llll_iiii_nnnn_eeee            _ffff_ssss_llll       _ffff_ssss        Return from status line
  486.      _iiii_nnnn_iiii_tttt______1111_ssss_tttt_rrrr_iiii_nnnn_gggg                _iiii_ssss_1111       _iiii_1111        Terminal or printer
  487.                                                      initialization string
  488.      _iiii_nnnn_iiii_tttt______2222_ssss_tttt_rrrr_iiii_nnnn_gggg                _iiii_ssss_2222       _iiii_ssss        Terminal or printer
  489.                                                      initialization string
  490.      _iiii_nnnn_iiii_tttt______3333_ssss_tttt_rrrr_iiii_nnnn_gggg                _iiii_ssss_3333       _iiii_3333        Terminal or printer
  491.                                                      initialization string
  492.      _iiii_nnnn_iiii_tttt______ffff_iiii_llll_eeee                   _iiii_ffff        _iiii_ffff        Name of initialization
  493.                                                      file
  494.      _iiii_nnnn_iiii_tttt______pppp_rrrr_oooo_gggg                   _iiii_pppp_rrrr_oooo_gggg     _iiii_PPPP        Pathname of program for
  495.                                                      initialization
  496.      _iiii_nnnn_iiii_tttt_iiii_aaaa_llll_iiii_zzzz_eeee______cccc_oooo_llll_oooo_rrrr            _iiii_nnnn_iiii_tttt_cccc     _IIII_cccc        Initialize the definition
  497.                                                      of color
  498.      _iiii_nnnn_iiii_tttt_iiii_aaaa_llll_iiii_zzzz_eeee______pppp_aaaa_iiii_rrrr             _iiii_nnnn_iiii_tttt_pppp     _IIII_pppp        Initialize color-pair
  499.      _iiii_nnnn_ssss_eeee_rrrr_tttt______cccc_hhhh_aaaa_rrrr_aaaa_cccc_tttt_eeee_rrrr            _iiii_cccc_hhhh_1111      _iiii_cccc        Insert character
  500.      _iiii_nnnn_ssss_eeee_rrrr_tttt______llll_iiii_nnnn_eeee                 _iiii_llll_1111       _aaaa_llll        Add new blank line
  501.      _iiii_nnnn_ssss_eeee_rrrr_tttt______pppp_aaaa_dddd_dddd_iiii_nnnn_gggg              _iiii_pppp        _iiii_pppp        Insert pad after character
  502.                                                      inserted
  503.  
  504.      The ``_kkkk_eeee_yyyy_____'' strings are sent by specific keys.  The ``_kkkk_eeee_yyyy_____''
  505.      descriptions include the macro, defined in _cccc_uuuu_rrrr_ssss_eeee_ssss_...._hhhh, for the code
  506.      returned by the _cccc_uuuu_rrrr_ssss_eeee_ssss routine _gggg_eeee_tttt_cccc_hhhh when the key is pressed [see
  507.      curs_getch(3X)].
  508.  
  509.                               Cap-    Termcap
  510.      Variable                 name    Code      Description
  511.  
  512.      _kkkk_eeee_yyyy______aaaa_1111                   _kkkk_aaaa_1111     _KKKK_1111        _KKKK_EEEE_YYYY______AAAA_1111, upper left of keypad
  513.      _kkkk_eeee_yyyy______aaaa_3333                   _kkkk_aaaa_3333     _KKKK_3333        _KKKK_EEEE_YYYY______AAAA_3333, upper right of keypad
  514.      _kkkk_eeee_yyyy______bbbb_2222                   _kkkk_bbbb_2222     _KKKK_2222        _KKKK_EEEE_YYYY______BBBB_2222, center of keypad
  515.      _kkkk_eeee_yyyy______bbbb_aaaa_cccc_kkkk_ssss_pppp_aaaa_cccc_eeee            _kkkk_bbbb_ssss     _kkkk_bbbb        _KKKK_EEEE_YYYY______BBBB_AAAA_CCCC_KKKK_SSSS_PPPP_AAAA_CCCC_EEEE, sent by
  516.                                                 backspace key
  517.      _kkkk_eeee_yyyy______bbbb_eeee_gggg                  _kkkk_bbbb_eeee_gggg    _@@@@_1111        _KKKK_EEEE_YYYY______BBBB_EEEE_GGGG, sent by beg(inning)
  518.                                                 key
  519.      _kkkk_eeee_yyyy______bbbb_tttt_aaaa_bbbb                 _kkkk_cccc_bbbb_tttt    _kkkk_BBBB        _KKKK_EEEE_YYYY______BBBB_TTTT_AAAA_BBBB, sent by back-tab key
  520.  
  521.  
  522.  
  523.  
  524.  
  525.                                                                         PPPPaaaaggggeeee 8888
  526.  
  527.  
  528.  
  529.  
  530.  
  531.  
  532. tttteeeerrrrmmmmiiiinnnnffffoooo((((4444))))                                                        tttteeeerrrrmmmmiiiinnnnffffoooo((((4444))))
  533.  
  534.  
  535.  
  536.      _kkkk_eeee_yyyy______cccc_1111                   _kkkk_cccc_1111     _KKKK_4444        _KKKK_EEEE_YYYY______CCCC_1111, lower left of keypad
  537.      _kkkk_eeee_yyyy______cccc_3333                   _kkkk_cccc_3333     _KKKK_5555        _KKKK_EEEE_YYYY______CCCC_3333, lower right of keypad
  538.      _kkkk_eeee_yyyy______cccc_aaaa_nnnn_cccc_eeee_llll               _kkkk_cccc_aaaa_nnnn    _@@@@_2222        _KKKK_EEEE_YYYY______CCCC_AAAA_NNNN_CCCC_EEEE_LLLL, sent by cancel key
  539.      _kkkk_eeee_yyyy______cccc_aaaa_tttt_aaaa_bbbb                _kkkk_tttt_bbbb_cccc    _kkkk_aaaa        _KKKK_EEEE_YYYY______CCCC_AAAA_TTTT_AAAA_BBBB, sent by
  540.                                                 clear-all-tabs key
  541.      _kkkk_eeee_yyyy______cccc_llll_eeee_aaaa_rrrr                _kkkk_cccc_llll_rrrr    _kkkk_CCCC        _KKKK_EEEE_YYYY______CCCC_LLLL_EEEE_AAAA_RRRR, sent by clear-screen
  542.                                                 or erase key
  543.      _kkkk_eeee_yyyy______cccc_llll_oooo_ssss_eeee                _kkkk_cccc_llll_oooo    _@@@@_3333        _KKKK_EEEE_YYYY______CCCC_LLLL_OOOO_SSSS_EEEE, sent by close key
  544.      _kkkk_eeee_yyyy______cccc_oooo_mmmm_mmmm_aaaa_nnnn_dddd              _kkkk_cccc_mmmm_dddd    _@@@@_4444        _KKKK_EEEE_YYYY______CCCC_OOOO_MMMM_MMMM_AAAA_NNNN_DDDD, sent by cmd
  545.                                                 (command) key
  546.      _kkkk_eeee_yyyy______cccc_oooo_pppp_yyyy                 _kkkk_cccc_pppp_yyyy    _@@@@_5555        _KKKK_EEEE_YYYY______CCCC_OOOO_PPPP_YYYY, sent by copy key
  547.      _kkkk_eeee_yyyy______cccc_rrrr_eeee_aaaa_tttt_eeee               _kkkk_cccc_rrrr_tttt    _@@@@_6666        _KKKK_EEEE_YYYY______CCCC_RRRR_EEEE_AAAA_TTTT_EEEE, sent by create key
  548.      _kkkk_eeee_yyyy______cccc_tttt_aaaa_bbbb                 _kkkk_cccc_tttt_aaaa_bbbb   _kkkk_tttt        _KKKK_EEEE_YYYY______CCCC_TTTT_AAAA_BBBB, sent by clear-tab key
  549.      _kkkk_eeee_yyyy______dddd_cccc                   _kkkk_dddd_cccc_hhhh_1111   _kkkk_DDDD        _KKKK_EEEE_YYYY______DDDD_CCCC, sent by
  550.                                                 delete-character key
  551.      _kkkk_eeee_yyyy______dddd_llll                   _kkkk_dddd_llll_1111    _kkkk_LLLL        _KKKK_EEEE_YYYY______DDDD_LLLL, sent by delete-line key
  552.      _kkkk_eeee_yyyy______dddd_oooo_wwww_nnnn                 _kkkk_cccc_uuuu_dddd_1111   _kkkk_dddd        _KKKK_EEEE_YYYY______DDDD_OOOO_WWWW_NNNN, sent by terminal
  553.                                                 down-arrow key
  554.      _kkkk_eeee_yyyy______eeee_iiii_cccc                  _kkkk_rrrr_mmmm_iiii_rrrr   _kkkk_MMMM        _KKKK_EEEE_YYYY______EEEE_IIII_CCCC, sent by _rrrr_mmmm_iiii_rrrr or _ssss_mmmm_iiii_rrrr
  555.                                                 in insert mode
  556.      _kkkk_eeee_yyyy______eeee_nnnn_dddd                  _kkkk_eeee_nnnn_dddd    _@@@@_7777        _KKKK_EEEE_YYYY______EEEE_NNNN_DDDD, sent by end key
  557.      _kkkk_eeee_yyyy______eeee_nnnn_tttt_eeee_rrrr                _kkkk_eeee_nnnn_tttt    _@@@@_8888        _KKKK_EEEE_YYYY______EEEE_NNNN_TTTT_EEEE_RRRR, sent by enter/send
  558.                                                 key
  559.      _kkkk_eeee_yyyy______eeee_oooo_llll                  _kkkk_eeee_llll     _kkkk_EEEE        _KKKK_EEEE_YYYY______EEEE_OOOO_LLLL, sent by
  560.                                                 clear-to-end-of-line key
  561.      _kkkk_eeee_yyyy______eeee_oooo_ssss                  _kkkk_eeee_dddd     _kkkk_SSSS        _KKKK_EEEE_YYYY______EEEE_OOOO_SSSS, sent by
  562.                                                 clear-to-end-of-screen key
  563.      _kkkk_eeee_yyyy______eeee_xxxx_iiii_tttt                 _kkkk_eeee_xxxx_tttt    _@@@@_9999        _KKKK_EEEE_YYYY______EEEE_XXXX_IIII_TTTT, sent by exit key
  564.      _kkkk_eeee_yyyy______ffff_0000                   _kkkk_ffff_0000     _kkkk_0000        _KKKK_EEEE_YYYY______FFFF_((((_0000_)))), sent by function
  565.                                                 key f0
  566.      _kkkk_eeee_yyyy______ffff_1111                   _kkkk_ffff_1111     _kkkk_1111        _KKKK_EEEE_YYYY______FFFF_((((_1111_)))), sent by function
  567.                                                 key f1
  568.      _kkkk_eeee_yyyy______ffff_2222                   _kkkk_ffff_2222     _kkkk_2222        _KKKK_EEEE_YYYY______FFFF_((((_2222_)))), sent by function
  569.                                                 key f2
  570.      _kkkk_eeee_yyyy______ffff_3333                   _kkkk_ffff_3333     _kkkk_3333        _KKKK_EEEE_YYYY______FFFF_((((_3333_)))), sent by function
  571.                                                 key f3
  572.      _kkkk_eeee_yyyy______ffff_4444                   _kkkk_ffff_4444     _kkkk_4444        _KKKK_EEEE_YYYY______FFFF_((((_4444_)))), sent by function
  573.                                                 key f4
  574.      _kkkk_eeee_yyyy______ffff_5555                   _kkkk_ffff_5555     _kkkk_5555        _KKKK_EEEE_YYYY______FFFF_((((_5555_)))), sent by function
  575.                                                 key f5
  576.      _kkkk_eeee_yyyy______ffff_6666                   _kkkk_ffff_6666     _kkkk_6666        _KKKK_EEEE_YYYY______FFFF_((((_6666_)))), sent by function
  577.                                                 key f6
  578.      _kkkk_eeee_yyyy______ffff_7777                   _kkkk_ffff_7777     _kkkk_7777        _KKKK_EEEE_YYYY______FFFF_((((_7777_)))), sent by function
  579.                                                 key f7
  580.      _kkkk_eeee_yyyy______ffff_8888                   _kkkk_ffff_8888     _kkkk_8888        _KKKK_EEEE_YYYY______FFFF_((((_8888_)))), sent by function
  581.                                                 key f8
  582.      _kkkk_eeee_yyyy______ffff_9999                   _kkkk_ffff_9999     _kkkk_9999        _KKKK_EEEE_YYYY______FFFF_((((_9999_)))), sent by function
  583.                                                 key f9
  584.      _kkkk_eeee_yyyy______ffff_1111_0000                  _kkkk_ffff_1111_0000    _kkkk_;;;;        _KKKK_EEEE_YYYY______FFFF_((((_1111_0000_)))), sent by function
  585.                                                 key f10
  586.  
  587.  
  588.  
  589.  
  590.  
  591.                                                                         PPPPaaaaggggeeee 9999
  592.  
  593.  
  594.  
  595.  
  596.  
  597.  
  598. tttteeeerrrrmmmmiiiinnnnffffoooo((((4444))))                                                        tttteeeerrrrmmmmiiiinnnnffffoooo((((4444))))
  599.  
  600.  
  601.  
  602.      _kkkk_eeee_yyyy______ffff_1111_1111                  _kkkk_ffff_1111_1111    _FFFF_1111        _KKKK_EEEE_YYYY______FFFF_((((_1111_1111_)))), sent by function
  603.                                                 key f11
  604.      _kkkk_eeee_yyyy______ffff_1111_2222                  _kkkk_ffff_1111_2222    _FFFF_2222        _KKKK_EEEE_YYYY______FFFF_((((_1111_2222_)))), sent by function
  605.                                                 key f12
  606.      _kkkk_eeee_yyyy______ffff_1111_3333                  _kkkk_ffff_1111_3333    _FFFF_3333        _KKKK_EEEE_YYYY______FFFF_((((_1111_3333_)))), sent by function
  607.                                                 key f13
  608.      _kkkk_eeee_yyyy______ffff_1111_4444                  _kkkk_ffff_1111_4444    _FFFF_4444        _KKKK_EEEE_YYYY______FFFF_((((_1111_4444_)))), sent by function
  609.                                                 key f14
  610.      _kkkk_eeee_yyyy______ffff_1111_5555                  _kkkk_ffff_1111_5555    _FFFF_5555        _KKKK_EEEE_YYYY______FFFF_((((_1111_5555_)))), sent by function
  611.                                                 key f15
  612.      _kkkk_eeee_yyyy______ffff_1111_6666                  _kkkk_ffff_1111_6666    _FFFF_6666        _KKKK_EEEE_YYYY______FFFF_((((_1111_6666_)))), sent by function
  613.                                                 key f16
  614.      _kkkk_eeee_yyyy______ffff_1111_7777                  _kkkk_ffff_1111_7777    _FFFF_7777        _KKKK_EEEE_YYYY______FFFF_((((_1111_7777_)))), sent by function
  615.                                                 key f17
  616.      _kkkk_eeee_yyyy______ffff_1111_8888                  _kkkk_ffff_1111_8888    _FFFF_8888        _KKKK_EEEE_YYYY______FFFF_((((_1111_8888_)))), sent by function
  617.                                                 key f18
  618.      _kkkk_eeee_yyyy______ffff_1111_9999                  _kkkk_ffff_1111_9999    _FFFF_9999        _KKKK_EEEE_YYYY______FFFF_((((_1111_9999_)))), sent by function
  619.                                                 key f19
  620.      _kkkk_eeee_yyyy______ffff_2222_0000                  _kkkk_ffff_2222_0000    _FFFF_AAAA        _KKKK_EEEE_YYYY______FFFF_((((_2222_0000_)))), sent by function
  621.                                                 key f20
  622.      _kkkk_eeee_yyyy______ffff_2222_1111                  _kkkk_ffff_2222_1111    _FFFF_BBBB        _KKKK_EEEE_YYYY______FFFF_((((_2222_1111_)))), sent by function
  623.                                                 key f21
  624.      _kkkk_eeee_yyyy______ffff_2222_2222                  _kkkk_ffff_2222_2222    _FFFF_CCCC        _KKKK_EEEE_YYYY______FFFF_((((_2222_2222_)))), sent by function
  625.                                                 key f22
  626.      _kkkk_eeee_yyyy______ffff_2222_3333                  _kkkk_ffff_2222_3333    _FFFF_DDDD        _KKKK_EEEE_YYYY______FFFF_((((_2222_3333_)))), sent by function
  627.                                                 key f23
  628.      _kkkk_eeee_yyyy______ffff_2222_4444                  _kkkk_ffff_2222_4444    _FFFF_EEEE        _KKKK_EEEE_YYYY______FFFF_((((_2222_4444_)))), sent by function
  629.                                                 key f24
  630.      _kkkk_eeee_yyyy______ffff_2222_5555                  _kkkk_ffff_2222_5555    _FFFF_FFFF        _KKKK_EEEE_YYYY______FFFF_((((_2222_5555_)))), sent by function
  631.                                                 key f25
  632.      _kkkk_eeee_yyyy______ffff_2222_6666                  _kkkk_ffff_2222_6666    _FFFF_GGGG        _KKKK_EEEE_YYYY______FFFF_((((_2222_6666_)))), sent by function
  633.                                                 key f26
  634.      _kkkk_eeee_yyyy______ffff_2222_7777                  _kkkk_ffff_2222_7777    _FFFF_HHHH        _KKKK_EEEE_YYYY______FFFF_((((_2222_7777_)))), sent by function
  635.                                                 key f27
  636.      _kkkk_eeee_yyyy______ffff_2222_8888                  _kkkk_ffff_2222_8888    _FFFF_IIII        _KKKK_EEEE_YYYY______FFFF_((((_2222_8888_)))), sent by function
  637.                                                 key f28
  638.      _kkkk_eeee_yyyy______ffff_2222_9999                  _kkkk_ffff_2222_9999    _FFFF_JJJJ        _KKKK_EEEE_YYYY______FFFF_((((_2222_9999_)))), sent by function
  639.                                                 key f29
  640.      _kkkk_eeee_yyyy______ffff_3333_0000                  _kkkk_ffff_3333_0000    _FFFF_KKKK        _KKKK_EEEE_YYYY______FFFF_((((_3333_0000_)))), sent by function
  641.                                                 key f30
  642.      _kkkk_eeee_yyyy______ffff_3333_1111                  _kkkk_ffff_3333_1111    _FFFF_LLLL        _KKKK_EEEE_YYYY______FFFF_((((_3333_1111_)))), sent by function
  643.                                                 key f31
  644.      _kkkk_eeee_yyyy______ffff_3333_2222                  _kkkk_ffff_3333_2222    _FFFF_MMMM        _KKKK_EEEE_YYYY______FFFF_((((_3333_2222_)))), sent by function
  645.                                                 key f32
  646.      _kkkk_eeee_yyyy______ffff_3333_3333                  _kkkk_ffff_3333_3333    _FFFF_NNNN        _KKKK_EEEE_YYYY______FFFF_((((_1111_3333_)))), sent by function
  647.                                                 key f13
  648.      _kkkk_eeee_yyyy______ffff_3333_4444                  _kkkk_ffff_3333_4444    _FFFF_OOOO        _KKKK_EEEE_YYYY______FFFF_((((_3333_4444_)))), sent by function
  649.                                                 key f34
  650.      _kkkk_eeee_yyyy______ffff_3333_5555                  _kkkk_ffff_3333_5555    _FFFF_PPPP        _KKKK_EEEE_YYYY______FFFF_((((_3333_5555_)))), sent by function
  651.                                                 key f35
  652.  
  653.  
  654.  
  655.  
  656.  
  657.                                                                        PPPPaaaaggggeeee 11110000
  658.  
  659.  
  660.  
  661.  
  662.  
  663.  
  664. tttteeeerrrrmmmmiiiinnnnffffoooo((((4444))))                                                        tttteeeerrrrmmmmiiiinnnnffffoooo((((4444))))
  665.  
  666.  
  667.  
  668.      _kkkk_eeee_yyyy______ffff_3333_6666                  _kkkk_ffff_3333_6666    _FFFF_QQQQ        _KKKK_EEEE_YYYY______FFFF_((((_3333_6666_)))), sent by function
  669.                                                 key f36
  670.      _kkkk_eeee_yyyy______ffff_3333_7777                  _kkkk_ffff_3333_7777    _FFFF_RRRR        _KKKK_EEEE_YYYY______FFFF_((((_3333_7777_)))), sent by function
  671.                                                 key f37
  672.      _kkkk_eeee_yyyy______ffff_3333_8888                  _kkkk_ffff_3333_8888    _FFFF_SSSS        _KKKK_EEEE_YYYY______FFFF_((((_3333_8888_)))), sent by function
  673.                                                 key f38
  674.      _kkkk_eeee_yyyy______ffff_3333_9999                  _kkkk_ffff_3333_9999    _FFFF_TTTT        _KKKK_EEEE_YYYY______FFFF_((((_3333_9999_)))), sent by function
  675.                                                 key f39
  676.      _kkkk_eeee_yyyy______ffff_4444_0000                  _kkkk_ffff_4444_0000    _FFFF_UUUU        _KKKK_EEEE_YYYY______FFFF_((((_4444_0000_)))), sent by function
  677.                                                 key f40
  678.      _kkkk_eeee_yyyy______ffff_4444_1111                  _kkkk_ffff_4444_1111    _FFFF_VVVV        _KKKK_EEEE_YYYY______FFFF_((((_4444_1111_)))), sent by function
  679.                                                 key f41
  680.      _kkkk_eeee_yyyy______ffff_4444_2222                  _kkkk_ffff_4444_2222    _FFFF_WWWW        _KKKK_EEEE_YYYY______FFFF_((((_4444_2222_)))), sent by function
  681.                                                 key f42
  682.      _kkkk_eeee_yyyy______ffff_4444_3333                  _kkkk_ffff_4444_3333    _FFFF_XXXX        _KKKK_EEEE_YYYY______FFFF_((((_4444_3333_)))), sent by function
  683.                                                 key f43
  684.      _kkkk_eeee_yyyy______ffff_4444_4444                  _kkkk_ffff_4444_4444    _FFFF_YYYY        _KKKK_EEEE_YYYY______FFFF_((((_4444_4444_)))), sent by function
  685.                                                 key f44
  686.      _kkkk_eeee_yyyy______ffff_4444_5555                  _kkkk_ffff_4444_5555    _FFFF_ZZZZ        _KKKK_EEEE_YYYY______FFFF_((((_4444_5555_)))), sent by function
  687.                                                 key f45
  688.      _kkkk_eeee_yyyy______ffff_4444_6666                  _kkkk_ffff_4444_6666    _FFFF_aaaa        _KKKK_EEEE_YYYY______FFFF_((((_4444_6666_)))), sent by function
  689.                                                 key f46
  690.      _kkkk_eeee_yyyy______ffff_4444_7777                  _kkkk_ffff_4444_7777    _FFFF_bbbb        _KKKK_EEEE_YYYY______FFFF_((((_4444_7777_)))), sent by function
  691.                                                 key f47
  692.      _kkkk_eeee_yyyy______ffff_4444_8888                  _kkkk_ffff_4444_8888    _FFFF_cccc        _KKKK_EEEE_YYYY______FFFF_((((_4444_8888_)))), sent by function
  693.                                                 key f48
  694.      _kkkk_eeee_yyyy______ffff_4444_9999                  _kkkk_ffff_4444_9999    _FFFF_dddd        _KKKK_EEEE_YYYY______FFFF_((((_4444_9999_)))), sent by function
  695.                                                 key f49
  696.      _kkkk_eeee_yyyy______ffff_5555_0000                  _kkkk_ffff_5555_0000    _FFFF_eeee        _KKKK_EEEE_YYYY______FFFF_((((_5555_0000_)))), sent by function
  697.                                                 key f50
  698.      _kkkk_eeee_yyyy______ffff_5555_1111                  _kkkk_ffff_5555_1111    _FFFF_ffff        _KKKK_EEEE_YYYY______FFFF_((((_5555_1111_)))), sent by function
  699.                                                 key f51
  700.      _kkkk_eeee_yyyy______ffff_5555_2222                  _kkkk_ffff_5555_2222    _FFFF_gggg        _KKKK_EEEE_YYYY______FFFF_((((_5555_2222_)))), sent by function
  701.                                                 key f52
  702.      _kkkk_eeee_yyyy______ffff_5555_3333                  _kkkk_ffff_5555_3333    _FFFF_hhhh        _KKKK_EEEE_YYYY______FFFF_((((_5555_3333_)))), sent by function
  703.                                                 key f53
  704.      _kkkk_eeee_yyyy______ffff_5555_4444                  _kkkk_ffff_5555_4444    _FFFF_iiii        _KKKK_EEEE_YYYY______FFFF_((((_5555_4444_)))), sent by function
  705.                                                 key f54
  706.      _kkkk_eeee_yyyy______ffff_5555_5555                  _kkkk_ffff_5555_5555    _FFFF_jjjj        _KKKK_EEEE_YYYY______FFFF_((((_5555_5555_)))), sent by function
  707.                                                 key f55
  708.      _kkkk_eeee_yyyy______ffff_5555_6666                  _kkkk_ffff_5555_6666    _FFFF_kkkk        _KKKK_EEEE_YYYY______FFFF_((((_5555_6666_)))), sent by function
  709.                                                 key f56
  710.      _kkkk_eeee_yyyy______ffff_5555_7777                  _kkkk_ffff_5555_7777    _FFFF_llll        _KKKK_EEEE_YYYY______FFFF_((((_5555_7777_)))), sent by function
  711.                                                 key f57
  712.      _kkkk_eeee_yyyy______ffff_5555_8888                  _kkkk_ffff_5555_8888    _FFFF_mmmm        _KKKK_EEEE_YYYY______FFFF_((((_5555_8888_)))), sent by function
  713.                                                 key f58
  714.      _kkkk_eeee_yyyy______ffff_5555_9999                  _kkkk_ffff_5555_9999    _FFFF_nnnn        _KKKK_EEEE_YYYY______FFFF_((((_5555_9999_)))), sent by function
  715.                                                 key f59
  716.      _kkkk_eeee_yyyy______ffff_6666_0000                  _kkkk_ffff_6666_0000    _FFFF_oooo        _KKKK_EEEE_YYYY______FFFF_((((_6666_0000_)))), sent by function
  717.                                                 key f60
  718.  
  719.  
  720.  
  721.  
  722.  
  723.                                                                        PPPPaaaaggggeeee 11111111
  724.  
  725.  
  726.  
  727.  
  728.  
  729.  
  730. tttteeeerrrrmmmmiiiinnnnffffoooo((((4444))))                                                        tttteeeerrrrmmmmiiiinnnnffffoooo((((4444))))
  731.  
  732.  
  733.  
  734.      _kkkk_eeee_yyyy______ffff_6666_1111                  _kkkk_ffff_6666_1111    _FFFF_pppp        _KKKK_EEEE_YYYY______FFFF_((((_6666_1111_)))), sent by function
  735.                                                 key f61
  736.      _kkkk_eeee_yyyy______ffff_6666_2222                  _kkkk_ffff_6666_2222    _FFFF_qqqq        _KKKK_EEEE_YYYY______FFFF_((((_6666_2222_)))), sent by function
  737.                                                 key f62
  738.      _kkkk_eeee_yyyy______ffff_6666_3333                  _kkkk_ffff_6666_3333    _FFFF_rrrr        _KKKK_EEEE_YYYY______FFFF_((((_6666_3333_)))), sent by function
  739.                                                 key f63
  740.      _kkkk_eeee_yyyy______ffff_iiii_nnnn_dddd                 _kkkk_ffff_nnnn_dddd    _@@@@_0000        _KKKK_EEEE_YYYY______FFFF_IIII_NNNN_DDDD, sent by find key
  741.      _kkkk_eeee_yyyy______hhhh_eeee_llll_pppp                 _kkkk_hhhh_llll_pppp    _%%%%_1111        _KKKK_EEEE_YYYY______HHHH_EEEE_LLLL_PPPP, sent by help key
  742.      _kkkk_eeee_yyyy______hhhh_oooo_mmmm_eeee                 _kkkk_hhhh_oooo_mmmm_eeee   _kkkk_hhhh        _KKKK_EEEE_YYYY______HHHH_OOOO_MMMM_EEEE, sent by home key
  743.      _kkkk_eeee_yyyy______iiii_cccc                   _kkkk_iiii_cccc_hhhh_1111   _kkkk_IIII        _KKKK_EEEE_YYYY______IIII_CCCC, sent by ins-char/enter
  744.                                                 ins-mode key
  745.      _kkkk_eeee_yyyy______iiii_llll                   _kkkk_iiii_llll_1111    _kkkk_AAAA        _KKKK_EEEE_YYYY______IIII_LLLL, sent by insert-line key
  746.      _kkkk_eeee_yyyy______llll_eeee_ffff_tttt                 _kkkk_cccc_uuuu_bbbb_1111   _kkkk_llll        _KKKK_EEEE_YYYY______LLLL_EEEE_FFFF_TTTT, sent by terminal
  747.                                                 left-arrow
  748.                                                 key
  749.      _kkkk_eeee_yyyy______llll_llll                   _kkkk_llll_llll     _kkkk_HHHH        _KKKK_EEEE_YYYY______LLLL_LLLL, sent by home-down key
  750.      _kkkk_eeee_yyyy______mmmm_aaaa_rrrr_kkkk                 _kkkk_mmmm_rrrr_kkkk    _%%%%_2222        _KKKK_EEEE_YYYY______MMMM_AAAA_RRRR_KKKK, sent by mark key
  751.      _kkkk_eeee_yyyy______mmmm_eeee_ssss_ssss_aaaa_gggg_eeee              _kkkk_mmmm_ssss_gggg    _%%%%_3333        _KKKK_EEEE_YYYY______MMMM_EEEE_SSSS_SSSS_AAAA_GGGG_EEEE, sent by message
  752.                                                 key
  753.      _kkkk_eeee_yyyy______mmmm_oooo_vvvv_eeee                 _kkkk_mmmm_oooo_vvvv    _%%%%_4444        _KKKK_EEEE_YYYY______MMMM_OOOO_VVVV_EEEE, sent by move key
  754.      _kkkk_eeee_yyyy______nnnn_eeee_xxxx_tttt                 _kkkk_nnnn_xxxx_tttt    _%%%%_5555        _KKKK_EEEE_YYYY______NNNN_EEEE_XXXX_TTTT, sent by
  755.                                                 next-object key
  756.      _kkkk_eeee_yyyy______nnnn_pppp_aaaa_gggg_eeee                _kkkk_nnnn_pppp     _kkkk_NNNN        _KKKK_EEEE_YYYY______NNNN_PPPP_AAAA_GGGG_EEEE, sent by
  757.                                                 next-page key
  758.      _kkkk_eeee_yyyy______oooo_pppp_eeee_nnnn                 _kkkk_oooo_pppp_nnnn    _%%%%_6666        _KKKK_EEEE_YYYY______OOOO_PPPP_EEEE_NNNN, sent by open key
  759.      _kkkk_eeee_yyyy______oooo_pppp_tttt_iiii_oooo_nnnn_ssss              _kkkk_oooo_pppp_tttt    _%%%%_7777        _KKKK_EEEE_YYYY______OOOO_PPPP_TTTT_IIII_OOOO_NNNN_SSSS, sent by options
  760.                                                 key
  761.      _kkkk_eeee_yyyy______pppp_pppp_aaaa_gggg_eeee                _kkkk_pppp_pppp     _kkkk_PPPP        _KKKK_EEEE_YYYY______PPPP_PPPP_AAAA_GGGG_EEEE, sent by
  762.                                                 previous-page key
  763.      _kkkk_eeee_yyyy______pppp_rrrr_eeee_vvvv_iiii_oooo_uuuu_ssss             _kkkk_pppp_rrrr_vvvv    _%%%%_8888        _KKKK_EEEE_YYYY______PPPP_RRRR_EEEE_VVVV_IIII_OOOO_UUUU_SSSS, sent by
  764.                                                 previous-object key
  765.      _kkkk_eeee_yyyy______pppp_rrrr_iiii_nnnn_tttt                _kkkk_pppp_rrrr_tttt    _%%%%_9999        _KKKK_EEEE_YYYY______PPPP_RRRR_IIII_NNNN_TTTT, sent by print or
  766.                                                 copy key
  767.      _kkkk_eeee_yyyy______rrrr_eeee_dddd_oooo                 _kkkk_rrrr_dddd_oooo    _%%%%_0000        _KKKK_EEEE_YYYY______RRRR_EEEE_DDDD_OOOO, sent by redo key
  768.      _kkkk_eeee_yyyy______rrrr_eeee_ffff_eeee_rrrr_eeee_nnnn_cccc_eeee            _kkkk_rrrr_eeee_ffff    _&&&&_1111        _KKKK_EEEE_YYYY______RRRR_EEEE_FFFF_EEEE_RRRR_EEEE_NNNN_CCCC_EEEE, sent by
  769.                                                 ref(erence) key
  770.      _kkkk_eeee_yyyy______rrrr_eeee_ffff_rrrr_eeee_ssss_hhhh              _kkkk_rrrr_ffff_rrrr    _&&&&_2222        _KKKK_EEEE_YYYY______RRRR_EEEE_FFFF_RRRR_EEEE_SSSS_HHHH, sent by refresh
  771.                                                 key
  772.      _kkkk_eeee_yyyy______rrrr_eeee_pppp_llll_aaaa_cccc_eeee              _kkkk_rrrr_pppp_llll    _&&&&_3333        _KKKK_EEEE_YYYY______RRRR_EEEE_PPPP_LLLL_AAAA_CCCC_EEEE, sent by replace
  773.                                                 key
  774.      _kkkk_eeee_yyyy______rrrr_eeee_ssss_tttt_aaaa_rrrr_tttt              _kkkk_rrrr_ssss_tttt    _&&&&_4444        _KKKK_EEEE_YYYY______RRRR_EEEE_SSSS_TTTT_AAAA_RRRR_TTTT, sent by restart
  775.                                                 key
  776.      _kkkk_eeee_yyyy______rrrr_eeee_ssss_uuuu_mmmm_eeee               _kkkk_rrrr_eeee_ssss    _&&&&_5555        _KKKK_EEEE_YYYY______RRRR_EEEE_SSSS_UUUU_MMMM_EEEE, sent by resume key
  777.      _kkkk_eeee_yyyy______rrrr_iiii_gggg_hhhh_tttt                _kkkk_cccc_uuuu_ffff_1111   _kkkk_rrrr        _KKKK_EEEE_YYYY______RRRR_IIII_GGGG_HHHH_TTTT, sent by terminal
  778.                                                 right-arrow key
  779.      _kkkk_eeee_yyyy______ssss_aaaa_vvvv_eeee                 _kkkk_ssss_aaaa_vvvv    _&&&&_6666        _KKKK_EEEE_YYYY______SSSS_AAAA_VVVV_EEEE, sent by save key
  780.      _kkkk_eeee_yyyy______ssss_bbbb_eeee_gggg                 _kkkk_BBBB_EEEE_GGGG    _&&&&_9999        _KKKK_EEEE_YYYY______SSSS_BBBB_EEEE_GGGG, sent by shifted
  781.                                                 beginning key
  782.      _kkkk_eeee_yyyy______ssss_cccc_aaaa_nnnn_cccc_eeee_llll              _kkkk_CCCC_AAAA_NNNN    _&&&&_0000        _KKKK_EEEE_YYYY______SSSS_CCCC_AAAA_NNNN_CCCC_EEEE_LLLL, sent by shifted
  783.                                                 cancel key
  784.  
  785.  
  786.  
  787.  
  788.  
  789.                                                                        PPPPaaaaggggeeee 11112222
  790.  
  791.  
  792.  
  793.  
  794.  
  795.  
  796. tttteeeerrrrmmmmiiiinnnnffffoooo((((4444))))                                                        tttteeeerrrrmmmmiiiinnnnffffoooo((((4444))))
  797.  
  798.  
  799.  
  800.      _kkkk_eeee_yyyy______ssss_cccc_oooo_mmmm_mmmm_aaaa_nnnn_dddd             _kkkk_CCCC_MMMM_DDDD    _****_1111        _KKKK_EEEE_YYYY______SSSS_CCCC_OOOO_MMMM_MMMM_AAAA_NNNN_DDDD, sent by shifted
  801.                                                 command key
  802.      _kkkk_eeee_yyyy______ssss_cccc_oooo_pppp_yyyy                _kkkk_CCCC_PPPP_YYYY    _****_2222        _KKKK_EEEE_YYYY______SSSS_CCCC_OOOO_PPPP_YYYY, sent by shifted copy
  803.                                                 key
  804.      _kkkk_eeee_yyyy______ssss_cccc_rrrr_eeee_aaaa_tttt_eeee              _kkkk_CCCC_RRRR_TTTT    _****_3333        _KKKK_EEEE_YYYY______SSSS_CCCC_RRRR_EEEE_AAAA_TTTT_EEEE, sent by shifted
  805.                                                 create key
  806.      _kkkk_eeee_yyyy______ssss_dddd_cccc                  _kkkk_DDDD_CCCC     _****_4444        _KKKK_EEEE_YYYY______SSSS_DDDD_CCCC, sent by shifted
  807.                                                 delete-char key
  808.      _kkkk_eeee_yyyy______ssss_dddd_llll                  _kkkk_DDDD_LLLL     _****_5555        _KKKK_EEEE_YYYY______SSSS_DDDD_LLLL, sent by shifted
  809.                                                 delete-line key
  810.      _kkkk_eeee_yyyy______ssss_eeee_llll_eeee_cccc_tttt               _kkkk_ssss_llll_tttt    _****_6666        _KKKK_EEEE_YYYY______SSSS_EEEE_LLLL_EEEE_CCCC_TTTT, sent by select key
  811.      _kkkk_eeee_yyyy______ssss_eeee_nnnn_dddd                 _kkkk_EEEE_NNNN_DDDD    _****_7777        _KKKK_EEEE_YYYY______SSSS_EEEE_NNNN_DDDD, sent by shifted end
  812.                                                 key
  813.      _kkkk_eeee_yyyy______ssss_eeee_oooo_llll                 _kkkk_EEEE_OOOO_LLLL    _****_8888        _KKKK_EEEE_YYYY______SSSS_EEEE_OOOO_LLLL, sent by shifted
  814.                                                 clear-line key
  815.      _kkkk_eeee_yyyy______ssss_eeee_xxxx_iiii_tttt                _kkkk_EEEE_XXXX_TTTT    _****_9999        _KKKK_EEEE_YYYY______SSSS_EEEE_XXXX_IIII_TTTT, sent by shifted exit
  816.                                                 key
  817.      _kkkk_eeee_yyyy______ssss_ffff                   _kkkk_iiii_nnnn_dddd    _kkkk_FFFF        _KKKK_EEEE_YYYY______SSSS_FFFF, sent by
  818.                                                 scroll-forward/down key
  819.      _kkkk_eeee_yyyy______ssss_ffff_iiii_nnnn_dddd                _kkkk_FFFF_NNNN_DDDD    _****_0000        _KKKK_EEEE_YYYY______SSSS_FFFF_IIII_NNNN_DDDD, sent by shifted find
  820.                                                 key
  821.      _kkkk_eeee_yyyy______ssss_hhhh_eeee_llll_pppp                _kkkk_HHHH_LLLL_PPPP    _####_1111        _KKKK_EEEE_YYYY______SSSS_HHHH_EEEE_LLLL_PPPP, sent by shifted help
  822.                                                 key
  823.      _kkkk_eeee_yyyy______ssss_hhhh_oooo_mmmm_eeee                _kkkk_HHHH_OOOO_MMMM    _####_2222        _KKKK_EEEE_YYYY______SSSS_HHHH_OOOO_MMMM_EEEE, sent by shifted home
  824.                                                 key
  825.      _kkkk_eeee_yyyy______ssss_iiii_cccc                  _kkkk_IIII_CCCC     _####_3333        _KKKK_EEEE_YYYY______SSSS_IIII_CCCC, sent by shifted input
  826.                                                 key
  827.      _kkkk_eeee_yyyy______ssss_llll_eeee_ffff_tttt                _kkkk_LLLL_FFFF_TTTT    _####_4444        _KKKK_EEEE_YYYY______SSSS_LLLL_EEEE_FFFF_TTTT, sent by shifted
  828.                                                 left-arrow key
  829.      _kkkk_eeee_yyyy______ssss_mmmm_eeee_ssss_ssss_aaaa_gggg_eeee             _kkkk_MMMM_SSSS_GGGG    _%%%%_aaaa        _KKKK_EEEE_YYYY______SSSS_MMMM_EEEE_SSSS_SSSS_AAAA_GGGG_EEEE, sent by shifted
  830.                                                 message key
  831.      _kkkk_eeee_yyyy______ssss_mmmm_oooo_vvvv_eeee                _kkkk_MMMM_OOOO_VVVV    _%%%%_bbbb        _KKKK_EEEE_YYYY______SSSS_MMMM_OOOO_VVVV_EEEE, sent by shifted move
  832.                                                 key
  833.      _kkkk_eeee_yyyy______ssss_nnnn_eeee_xxxx_tttt                _kkkk_NNNN_XXXX_TTTT    _%%%%_cccc        _KKKK_EEEE_YYYY______SSSS_NNNN_EEEE_XXXX_TTTT, sent by shifted next
  834.                                                 key
  835.      _kkkk_eeee_yyyy______ssss_oooo_pppp_tttt_iiii_oooo_nnnn_ssss             _kkkk_OOOO_PPPP_TTTT    _%%%%_dddd        _KKKK_EEEE_YYYY______SSSS_OOOO_PPPP_TTTT_IIII_OOOO_NNNN_SSSS, sent by shifted
  836.                                                 options key
  837.      _kkkk_eeee_yyyy______ssss_pppp_rrrr_eeee_vvvv_iiii_oooo_uuuu_ssss            _kkkk_PPPP_RRRR_VVVV    _%%%%_eeee        _KKKK_EEEE_YYYY______SSSS_PPPP_RRRR_EEEE_VVVV_IIII_OOOO_UUUU_SSSS, sent by shifted
  838.                                                 prev key
  839.      _kkkk_eeee_yyyy______ssss_pppp_rrrr_iiii_nnnn_tttt               _kkkk_PPPP_RRRR_TTTT    _%%%%_ffff        _KKKK_EEEE_YYYY______SSSS_PPPP_RRRR_IIII_NNNN_TTTT, sent by shifted
  840.                                                 print key
  841.      _kkkk_eeee_yyyy______ssss_rrrr                   _kkkk_rrrr_iiii     _kkkk_RRRR        _KKKK_EEEE_YYYY______SSSS_RRRR, sent by
  842.                                                 scroll-backward/up key
  843.      _kkkk_eeee_yyyy______ssss_rrrr_eeee_dddd_oooo                _kkkk_RRRR_DDDD_OOOO    _%%%%_gggg        _KKKK_EEEE_YYYY______SSSS_RRRR_EEEE_DDDD_OOOO, sent by shifted redo
  844.                                                 key
  845.      _kkkk_eeee_yyyy______ssss_rrrr_eeee_pppp_llll_aaaa_cccc_eeee             _kkkk_RRRR_PPPP_LLLL    _%%%%_hhhh        _KKKK_EEEE_YYYY______SSSS_RRRR_EEEE_PPPP_LLLL_AAAA_CCCC_EEEE, sent by shifted
  846.                                                 replace key
  847.      _kkkk_eeee_yyyy______ssss_rrrr_iiii_gggg_hhhh_tttt               _kkkk_RRRR_IIII_TTTT    _%%%%_iiii        _KKKK_EEEE_YYYY______SSSS_RRRR_IIII_GGGG_HHHH_TTTT, sent by shifted
  848.                                                 right-arrow key
  849.      _kkkk_eeee_yyyy______ssss_rrrr_ssss_uuuu_mmmm_eeee               _kkkk_RRRR_EEEE_SSSS    _%%%%_jjjj        _KKKK_EEEE_YYYY______SSSS_RRRR_SSSS_UUUU_MMMM_EEEE, sent by shifted
  850.  
  851.  
  852.  
  853.  
  854.  
  855.                                                                        PPPPaaaaggggeeee 11113333
  856.  
  857.  
  858.  
  859.  
  860.  
  861.  
  862. tttteeeerrrrmmmmiiiinnnnffffoooo((((4444))))                                                        tttteeeerrrrmmmmiiiinnnnffffoooo((((4444))))
  863.  
  864.  
  865.  
  866.                                                 resume key
  867.      _kkkk_eeee_yyyy______ssss_ssss_aaaa_vvvv_eeee                _kkkk_SSSS_AAAA_VVVV    _!!!!_1111        _KKKK_EEEE_YYYY______SSSS_SSSS_AAAA_VVVV_EEEE, sent by shifted save
  868.                                                 key
  869.      _kkkk_eeee_yyyy______ssss_ssss_uuuu_ssss_pppp_eeee_nnnn_dddd             _kkkk_SSSS_PPPP_DDDD    _!!!!_2222        _KKKK_EEEE_YYYY______SSSS_SSSS_UUUU_SSSS_PPPP_EEEE_NNNN_DDDD, sent by shifted
  870.                                                 suspend key
  871.      _kkkk_eeee_yyyy______ssss_tttt_aaaa_bbbb                 _kkkk_hhhh_tttt_ssss    _kkkk_TTTT        _KKKK_EEEE_YYYY______SSSS_TTTT_AAAA_BBBB, sent by set-tab key
  872.      _kkkk_eeee_yyyy______ssss_uuuu_nnnn_dddd_oooo                _kkkk_UUUU_NNNN_DDDD    _!!!!_3333        _KKKK_EEEE_YYYY______SSSS_UUUU_NNNN_DDDD_OOOO, sent by shifted undo
  873.                                                 key
  874.      _kkkk_eeee_yyyy______ssss_uuuu_ssss_pppp_eeee_nnnn_dddd              _kkkk_ssss_pppp_dddd    _&&&&_7777        _KKKK_EEEE_YYYY______SSSS_UUUU_SSSS_PPPP_EEEE_NNNN_DDDD, sent by suspend
  875.                                                 key
  876.      _kkkk_eeee_yyyy______uuuu_nnnn_dddd_oooo                 _kkkk_uuuu_nnnn_dddd    _&&&&_8888        _KKKK_EEEE_YYYY______UUUU_NNNN_DDDD_OOOO, sent by undo key
  877.      _kkkk_eeee_yyyy______uuuu_pppp                   _kkkk_cccc_uuuu_uuuu_1111   _kkkk_uuuu        _KKKK_EEEE_YYYY______UUUU_PPPP, sent by terminal
  878.                                                 up-arrow key
  879.      _kkkk_eeee_yyyy_pppp_aaaa_dddd______llll_oooo_cccc_aaaa_llll             _rrrr_mmmm_kkkk_xxxx    _kkkk_eeee        Out of ``keypad-transmit'' mode
  880.      _kkkk_eeee_yyyy_pppp_aaaa_dddd______xxxx_mmmm_iiii_tttt              _ssss_mmmm_kkkk_xxxx    _kkkk_ssss        Put terminal in
  881.                                                 ``keypad-transmit'' mode
  882.      _llll_aaaa_bbbb______ffff_0000                   _llll_ffff_0000     _llll_0000        Labels on function key f0 if
  883.                                                 not f0
  884.      _llll_aaaa_bbbb______ffff_1111                   _llll_ffff_1111     _llll_1111        Labels on function key f1 if
  885.                                                 not f1
  886.      _llll_aaaa_bbbb______ffff_2222                   _llll_ffff_2222     _llll_2222        Labels on function key f2 if
  887.                                                 not f2
  888.      _llll_aaaa_bbbb______ffff_3333                   _llll_ffff_3333     _llll_3333        Labels on function key f3 if
  889.                                                 not f3
  890.      _llll_aaaa_bbbb______ffff_4444                   _llll_ffff_4444     _llll_4444        Labels on function key f4 if
  891.                                                 not f4
  892.      _llll_aaaa_bbbb______ffff_5555                   _llll_ffff_5555     _llll_5555        Labels on function key f5 if
  893.                                                 not f5
  894.      _llll_aaaa_bbbb______ffff_6666                   _llll_ffff_6666     _llll_6666        Labels on function key f6 if
  895.                                                 not f6
  896.      _llll_aaaa_bbbb______ffff_7777                   _llll_ffff_7777     _llll_7777        Labels on function key f7 if
  897.                                                 not f7
  898.      _llll_aaaa_bbbb______ffff_8888                   _llll_ffff_8888     _llll_8888        Labels on function key f8 if
  899.                                                 not f8
  900.      _llll_aaaa_bbbb______ffff_9999                   _llll_ffff_9999     _llll_9999        Labels on function key f9 if
  901.                                                 not f9
  902.      _llll_aaaa_bbbb______ffff_1111_0000                  _llll_ffff_1111_0000    _llll_aaaa        Labels on function key f10 if
  903.                                                 not f10
  904.      _llll_aaaa_bbbb_eeee_llll______oooo_ffff_ffff                _rrrr_mmmm_llll_nnnn    _LLLL_FFFF        Turn off soft labels
  905.      _llll_aaaa_bbbb_eeee_llll______oooo_nnnn                 _ssss_mmmm_llll_nnnn    _LLLL_OOOO        Turn on soft labels
  906.      _mmmm_eeee_tttt_aaaa______oooo_ffff_ffff                 _rrrr_mmmm_mmmm     _mmmm_oooo        Turn off "meta mode"
  907.      _mmmm_eeee_tttt_aaaa______oooo_nnnn                  _ssss_mmmm_mmmm     _mmmm_mmmm        Turn on "meta mode" (8th bit)
  908.      _mmmm_iiii_cccc_rrrr_oooo______cccc_oooo_llll_uuuu_mmmm_nnnn______aaaa_dddd_dddd_rrrr_eeee_ssss_ssss     _mmmm_hhhh_pppp_aaaa    _ZZZZ_YYYY        Like _cccc_oooo_llll_uuuu_mmmm_nnnn______aaaa_dddd_dddd_rrrr_eeee_ssss_ssss for micro
  909.                                                 adjustment
  910.      _mmmm_iiii_cccc_rrrr_oooo______dddd_oooo_wwww_nnnn               _mmmm_cccc_uuuu_dddd_1111   _ZZZZ_ZZZZ        Like _cccc_uuuu_rrrr_ssss_oooo_rrrr______dddd_oooo_wwww_nnnn for micro
  911.                                                 adjustment
  912.      _mmmm_iiii_cccc_rrrr_oooo______llll_eeee_ffff_tttt               _mmmm_cccc_uuuu_bbbb_1111   _ZZZZ_aaaa        Like _cccc_uuuu_rrrr_ssss_oooo_rrrr______llll_eeee_ffff_tttt for micro
  913.                                                 adjustment
  914.      _mmmm_iiii_cccc_rrrr_oooo______rrrr_iiii_gggg_hhhh_tttt              _mmmm_cccc_uuuu_ffff_1111   _ZZZZ_bbbb        Like _cccc_uuuu_rrrr_ssss_oooo_rrrr______rrrr_iiii_gggg_hhhh_tttt for micro
  915.                                                 adjustment
  916.  
  917.  
  918.  
  919.  
  920.  
  921.                                                                        PPPPaaaaggggeeee 11114444
  922.  
  923.  
  924.  
  925.  
  926.  
  927.  
  928. tttteeeerrrrmmmmiiiinnnnffffoooo((((4444))))                                                        tttteeeerrrrmmmmiiiinnnnffffoooo((((4444))))
  929.  
  930.  
  931.  
  932.      _mmmm_iiii_cccc_rrrr_oooo______rrrr_oooo_wwww______aaaa_dddd_dddd_rrrr_eeee_ssss_ssss        _mmmm_vvvv_pppp_aaaa    _ZZZZ_cccc        Like _rrrr_oooo_wwww______aaaa_dddd_dddd_rrrr_eeee_ssss_ssss for micro
  933.                                                 adjustment
  934.      _mmmm_iiii_cccc_rrrr_oooo______uuuu_pppp                 _mmmm_cccc_uuuu_uuuu_1111   _ZZZZ_dddd        Like _cccc_uuuu_rrrr_ssss_oooo_rrrr______uuuu_pppp for micro
  935.                                                 adjustment
  936.      _nnnn_eeee_wwww_llll_iiii_nnnn_eeee                  _nnnn_eeee_llll     _nnnn_wwww        Newline (behaves like _cccc_rrrr
  937.                                                 followed by _llll_ffff)
  938.      _oooo_rrrr_dddd_eeee_rrrr______oooo_ffff______pppp_iiii_nnnn_ssss            _pppp_oooo_rrrr_dddd_eeee_rrrr  _ZZZZ_eeee        Matches software bits to
  939.                                                 print-head pins
  940.      _oooo_rrrr_iiii_gggg______cccc_oooo_llll_oooo_rrrr_ssss              _oooo_cccc      _oooo_cccc        Set all color(-pair)s to the
  941.                                                 original ones
  942.      _oooo_rrrr_iiii_gggg______pppp_aaaa_iiii_rrrr                _oooo_pppp      _oooo_pppp        Set default color-pair to the
  943.                                                 original one
  944.      _pppp_aaaa_dddd______cccc_hhhh_aaaa_rrrr                 _pppp_aaaa_dddd     _pppp_cccc        Pad character (rather than
  945.                                                 null)
  946.      _pppp_aaaa_rrrr_mmmm______dddd_cccc_hhhh                 _dddd_cccc_hhhh     _DDDD_CCCC        Delete #1 chars
  947.      _pppp_aaaa_rrrr_mmmm______dddd_eeee_llll_eeee_tttt_eeee______llll_iiii_nnnn_eeee         _dddd_llll      _DDDD_LLLL        Delete #1 lines
  948.      _pppp_aaaa_rrrr_mmmm______dddd_oooo_wwww_nnnn______cccc_uuuu_rrrr_ssss_oooo_rrrr         _cccc_uuuu_dddd     _DDDD_OOOO        Move down #1 lines
  949.      _pppp_aaaa_rrrr_mmmm______dddd_oooo_wwww_nnnn______mmmm_iiii_cccc_rrrr_oooo          _mmmm_cccc_uuuu_dddd    _ZZZZ_ffff        Like _pppp_aaaa_rrrr_mmmm______dddd_oooo_wwww_nnnn______cccc_uuuu_rrrr_ssss_oooo_rrrr for micro
  950.                                                 adjustment
  951.      _pppp_aaaa_rrrr_mmmm______iiii_cccc_hhhh                 _iiii_cccc_hhhh     _IIII_CCCC        Insert #1 blank chars
  952.      _pppp_aaaa_rrrr_mmmm______iiii_nnnn_dddd_eeee_xxxx               _iiii_nnnn_dddd_nnnn    _SSSS_FFFF        Scroll forward #1 lines
  953.      _pppp_aaaa_rrrr_mmmm______iiii_nnnn_ssss_eeee_rrrr_tttt______llll_iiii_nnnn_eeee         _iiii_llll      _AAAA_LLLL        Add #1 new blank lines
  954.      _pppp_aaaa_rrrr_mmmm______llll_eeee_ffff_tttt______cccc_uuuu_rrrr_ssss_oooo_rrrr         _cccc_uuuu_bbbb     _LLLL_EEEE        Move cursor left #1 spaces
  955.      _pppp_aaaa_rrrr_mmmm______llll_eeee_ffff_tttt______mmmm_iiii_cccc_rrrr_oooo          _mmmm_cccc_uuuu_bbbb    _ZZZZ_gggg        Like _pppp_aaaa_rrrr_mmmm______llll_eeee_ffff_tttt______cccc_uuuu_rrrr_ssss_oooo_rrrr for micro
  956.                                                 adjustment
  957.      _pppp_aaaa_rrrr_mmmm______rrrr_iiii_gggg_hhhh_tttt______cccc_uuuu_rrrr_ssss_oooo_rrrr        _cccc_uuuu_ffff     _RRRR_IIII        Move right #1 spaces
  958.      _pppp_aaaa_rrrr_mmmm______rrrr_iiii_gggg_hhhh_tttt______mmmm_iiii_cccc_rrrr_oooo         _mmmm_cccc_uuuu_ffff    _ZZZZ_hhhh        Like _pppp_aaaa_rrrr_mmmm______rrrr_iiii_gggg_hhhh_tttt______cccc_uuuu_rrrr_ssss_oooo_rrrr for
  959.                                                 micro adjustment
  960.      _pppp_aaaa_rrrr_mmmm______rrrr_iiii_nnnn_dddd_eeee_xxxx              _rrrr_iiii_nnnn     _SSSS_RRRR        Scroll backward #1 lines
  961.      _pppp_aaaa_rrrr_mmmm______uuuu_pppp______cccc_uuuu_rrrr_ssss_oooo_rrrr           _cccc_uuuu_uuuu     _UUUU_PPPP        Move cursor up #1 lines
  962.      _pppp_aaaa_rrrr_mmmm______uuuu_pppp______mmmm_iiii_cccc_rrrr_oooo            _mmmm_cccc_uuuu_uuuu    _ZZZZ_iiii        Like _pppp_aaaa_rrrr_mmmm______uuuu_pppp______cccc_uuuu_rrrr_ssss_oooo_rrrr for micro
  963.                                                 adjustment
  964.      _pppp_cccc______tttt_eeee_rrrr_mmmm______oooo_pppp_tttt_iiii_oooo_nnnn_ssss          _pppp_cccc_tttt_rrrr_mmmm   _SSSS_6666        PC terminal options
  965.      _pppp_kkkk_eeee_yyyy______kkkk_eeee_yyyy                 _pppp_ffff_kkkk_eeee_yyyy   _pppp_kkkk        Prog funct key #1 to type
  966.                                                 string #2
  967.      _pppp_kkkk_eeee_yyyy______llll_oooo_cccc_aaaa_llll               _pppp_ffff_llll_oooo_cccc   _pppp_llll        Prog funct key #1 to execute
  968.                                                 string #2
  969.      _pppp_kkkk_eeee_yyyy______pppp_llll_aaaa_bbbb                _pppp_ffff_xxxx_llll    _xxxx_llll        Prog key #1 to xmit string #2
  970.                                                 and show string #3
  971.      _pppp_kkkk_eeee_yyyy______xxxx_mmmm_iiii_tttt                _pppp_ffff_xxxx     _pppp_xxxx        Prog funct key #1 to xmit
  972.                                                 string #2
  973.      _pppp_llll_aaaa_bbbb______nnnn_oooo_rrrr_mmmm                _pppp_llll_nnnn     _pppp_nnnn        Prog label #1 to show string #2
  974.      _pppp_rrrr_iiii_nnnn_tttt______ssss_cccc_rrrr_eeee_eeee_nnnn             _mmmm_cccc_0000     _pppp_ssss        Print contents of the screen
  975.      _pppp_rrrr_tttt_rrrr______nnnn_oooo_nnnn                 _mmmm_cccc_5555_pppp    _pppp_OOOO        Turn on the printer for #1
  976.                                                 bytes
  977.      _pppp_rrrr_tttt_rrrr______oooo_ffff_ffff                 _mmmm_cccc_4444     _pppp_ffff        Turn off the printer
  978.      _pppp_rrrr_tttt_rrrr______oooo_nnnn                  _mmmm_cccc_5555     _pppp_oooo        Turn on the printer
  979.      _rrrr_eeee_pppp_eeee_aaaa_tttt______cccc_hhhh_aaaa_rrrr              _rrrr_eeee_pppp     _rrrr_pppp        Repeat char #1 #2 times
  980.      _rrrr_eeee_qqqq______ffff_oooo_rrrr______iiii_nnnn_pppp_uuuu_tttt            _rrrr_ffff_iiii     _RRRR_FFFF        Send next input char (for ptys)
  981.      _rrrr_eeee_ssss_eeee_tttt______1111_ssss_tttt_rrrr_iiii_nnnn_gggg            _rrrr_ssss_1111     _rrrr_1111        Reset terminal completely to
  982.  
  983.  
  984.  
  985.  
  986.  
  987.                                                                        PPPPaaaaggggeeee 11115555
  988.  
  989.  
  990.  
  991.  
  992.  
  993.  
  994. tttteeeerrrrmmmmiiiinnnnffffoooo((((4444))))                                                        tttteeeerrrrmmmmiiiinnnnffffoooo((((4444))))
  995.  
  996.  
  997.  
  998.                                                 sane modes
  999.      _rrrr_eeee_ssss_eeee_tttt______2222_ssss_tttt_rrrr_iiii_nnnn_gggg            _rrrr_ssss_2222     _rrrr_2222        Reset terminal completely to
  1000.                                                 sane modes
  1001.      _rrrr_eeee_ssss_eeee_tttt______3333_ssss_tttt_rrrr_iiii_nnnn_gggg            _rrrr_ssss_3333     _rrrr_3333        Reset terminal completely to
  1002.                                                 sane modes
  1003.      _rrrr_eeee_ssss_eeee_tttt______ffff_iiii_llll_eeee               _rrrr_ffff      _rrrr_ffff        Name of file containing reset
  1004.                                                 string
  1005.      _rrrr_eeee_ssss_tttt_oooo_rrrr_eeee______cccc_uuuu_rrrr_ssss_oooo_rrrr           _rrrr_cccc      _rrrr_cccc        Restore cursor to position of
  1006.                                                 last sc
  1007.      _rrrr_oooo_wwww______aaaa_dddd_dddd_rrrr_eeee_ssss_ssss              _vvvv_pppp_aaaa     _cccc_vvvv        Vertical position absolute
  1008.      _ssss_aaaa_vvvv_eeee______cccc_uuuu_rrrr_ssss_oooo_rrrr              _ssss_cccc      _ssss_cccc        Save cursor position
  1009.      _ssss_cccc_aaaa_nnnn_cccc_oooo_dddd_eeee______eeee_ssss_cccc_aaaa_pppp_eeee          _ssss_cccc_eeee_ssss_cccc   _SSSS_7777        Escape for scancode emulation
  1010.      _ssss_cccc_rrrr_oooo_llll_llll______ffff_oooo_rrrr_wwww_aaaa_rrrr_dddd           _iiii_nnnn_dddd     _ssss_ffff        Scroll text up
  1011.      _ssss_cccc_rrrr_oooo_llll_llll______rrrr_eeee_vvvv_eeee_rrrr_ssss_eeee           _rrrr_iiii      _ssss_rrrr        Scroll text down
  1012.      _ssss_eeee_llll_eeee_cccc_tttt______cccc_hhhh_aaaa_rrrr______ssss_eeee_tttt          _ssss_cccc_ssss     _ZZZZ_jjjj        Select character set
  1013.      _ssss_eeee_tttt_0000______dddd_eeee_ssss______ssss_eeee_qqqq             _ssss_0000_dddd_ssss    _ssss_0000        Shift into codeset 0 (EUC set
  1014.                                                 0, ASCII)
  1015.      _ssss_eeee_tttt_1111______dddd_eeee_ssss______ssss_eeee_qqqq             _ssss_1111_dddd_ssss    _ssss_1111        Shift into codeset 1
  1016.      _ssss_eeee_tttt_2222______dddd_eeee_ssss______ssss_eeee_qqqq             _ssss_2222_dddd_ssss    _ssss_2222        Shift into codeset 2
  1017.      _ssss_eeee_tttt_3333______dddd_eeee_ssss______ssss_eeee_qqqq             _ssss_3333_dddd_ssss    _ssss_3333        Shift into codeset 3
  1018.      _ssss_eeee_tttt______aaaa______bbbb_aaaa_cccc_kkkk_gggg_rrrr_oooo_uuuu_nnnn_dddd         _ssss_eeee_tttt_aaaa_bbbb   _AAAA_BBBB        Set background color using ANSI
  1019.                                                 escape
  1020.      _ssss_eeee_tttt______aaaa______ffff_oooo_rrrr_eeee_gggg_rrrr_oooo_uuuu_nnnn_dddd         _ssss_eeee_tttt_aaaa_ffff   _AAAA_FFFF        Set foreground color using ANSI
  1021.                                                 escape
  1022.      _ssss_eeee_tttt______aaaa_tttt_tttt_rrrr_iiii_bbbb_uuuu_tttt_eeee_ssss           _ssss_gggg_rrrr     _ssss_aaaa        Define the video attributes
  1023.                                                 #1-#9
  1024.      _ssss_eeee_tttt______bbbb_aaaa_cccc_kkkk_gggg_rrrr_oooo_uuuu_nnnn_dddd           _ssss_eeee_tttt_bbbb    _SSSS_bbbb        Set current background color
  1025.      _ssss_eeee_tttt______bbbb_oooo_tttt_tttt_oooo_mmmm______mmmm_aaaa_rrrr_gggg_iiii_nnnn        _ssss_mmmm_gggg_bbbb    _ZZZZ_kkkk        Set bottom margin at current
  1026.                                                 line
  1027.      _ssss_eeee_tttt______bbbb_oooo_tttt_tttt_oooo_mmmm______mmmm_aaaa_rrrr_gggg_iiii_nnnn______pppp_aaaa_rrrr_mmmm   _ssss_mmmm_gggg_bbbb_pppp   _ZZZZ_llll        Set bottom margin at line #1
  1028.                                                 or #2 lines from bottom
  1029.      _ssss_eeee_tttt______cccc_oooo_llll_oooo_rrrr______bbbb_aaaa_nnnn_dddd           _ssss_eeee_tttt_cccc_oooo_llll_oooo_rrrr_YYYY_zzzz        Change to ribbon color #1
  1030.      _ssss_eeee_tttt______cccc_oooo_llll_oooo_rrrr______pppp_aaaa_iiii_rrrr           _ssss_cccc_pppp     _ssss_pppp        Set current color-pair
  1031.      _ssss_eeee_tttt______ffff_oooo_rrrr_eeee_gggg_rrrr_oooo_uuuu_nnnn_dddd           _ssss_eeee_tttt_ffff    _SSSS_ffff        Set current foreground color1
  1032.      _ssss_eeee_tttt______llll_eeee_ffff_tttt______mmmm_aaaa_rrrr_gggg_iiii_nnnn          _ssss_mmmm_gggg_llll    _MMMM_LLLL        Set left margin at current line
  1033.      _ssss_eeee_tttt______llll_eeee_ffff_tttt______mmmm_aaaa_rrrr_gggg_iiii_nnnn______pppp_aaaa_rrrr_mmmm     _ssss_mmmm_gggg_llll_pppp   _ZZZZ_mmmm        Set left (right) margin at
  1034.                                                 column #1 (#2)
  1035.      _ssss_eeee_tttt______llll_rrrr______mmmm_aaaa_rrrr_gggg_iiii_nnnn            _ssss_mmmm_gggg_llll_rrrr   _MMMM_LLLL        Sets both left and right
  1036.                                                 margins
  1037.      _ssss_eeee_tttt______pppp_aaaa_gggg_eeee______llll_eeee_nnnn_gggg_tttt_hhhh          _ssss_llll_iiii_nnnn_eeee_ssss  _YYYY_ZZZZ        Set page length to #1 lines
  1038.                                                 (use tparm)
  1039.      _ssss_eeee_tttt______pppp_gggg_llll_eeee_nnnn______iiii_nnnn_cccc_hhhh           _ssss_llll_eeee_nnnn_gggg_tttt_hhhh _YYYY_IIII        Set page length to #1
  1040.                                                 hundredths of an inch (use
  1041.                                                 tparm)
  1042.      _ssss_eeee_tttt______rrrr_iiii_gggg_hhhh_tttt______mmmm_aaaa_rrrr_gggg_iiii_nnnn         _ssss_mmmm_gggg_rrrr    _MMMM_RRRR        Set right margin at current
  1043.                                                 column
  1044.      _ssss_eeee_tttt______rrrr_iiii_gggg_hhhh_tttt______mmmm_aaaa_rrrr_gggg_iiii_nnnn______pppp_aaaa_rrrr_mmmm    _ssss_mmmm_gggg_rrrr_pppp   _ZZZZ_nnnn        Set right margin at column #1
  1045.      _ssss_eeee_tttt______tttt_aaaa_bbbb                  _hhhh_tttt_ssss     _ssss_tttt        Set a tab in all rows, current
  1046.                                                 column
  1047.      _ssss_eeee_tttt______tttt_bbbb______mmmm_aaaa_rrrr_gggg_iiii_nnnn            _ssss_mmmm_gggg_tttt_bbbb   _MMMM_TTTT        Sets both top and bottom
  1048.  
  1049.  
  1050.  
  1051.  
  1052.  
  1053.                                                                        PPPPaaaaggggeeee 11116666
  1054.  
  1055.  
  1056.  
  1057.  
  1058.  
  1059.  
  1060. tttteeeerrrrmmmmiiiinnnnffffoooo((((4444))))                                                        tttteeeerrrrmmmmiiiinnnnffffoooo((((4444))))
  1061.  
  1062.  
  1063.  
  1064.                                                 margins
  1065.      _ssss_eeee_tttt______tttt_oooo_pppp______mmmm_aaaa_rrrr_gggg_iiii_nnnn           _ssss_mmmm_gggg_tttt    _ZZZZ_oooo        Set top margin at current line
  1066.      _ssss_eeee_tttt______tttt_oooo_pppp______mmmm_aaaa_rrrr_gggg_iiii_nnnn______pppp_aaaa_rrrr_mmmm      _ssss_mmmm_gggg_tttt_pppp   _ZZZZ_pppp        Set top (bottom) margin at
  1067.                                                 line #1 (#2)
  1068.      _ssss_eeee_tttt______wwww_iiii_nnnn_dddd_oooo_wwww               _wwww_iiii_nnnn_dddd    _wwww_iiii        Current window is lines #1-#2
  1069.                                                 cols #3-#4
  1070.      _ssss_tttt_aaaa_rrrr_tttt______bbbb_iiii_tttt______iiii_mmmm_aaaa_gggg_eeee          _ssss_bbbb_iiii_mmmm    _ZZZZ_qqqq        Start printing bit image
  1071.                                                 graphics
  1072.      _ssss_tttt_aaaa_rrrr_tttt______cccc_hhhh_aaaa_rrrr______ssss_eeee_tttt______dddd_eeee_ffff       _ssss_cccc_ssss_dddd    _ZZZZ_rrrr        Start definition of a character
  1073.                                                 set
  1074.      _ssss_tttt_oooo_pppp______bbbb_iiii_tttt______iiii_mmmm_aaaa_gggg_eeee           _rrrr_bbbb_iiii_mmmm    _ZZZZ_ssss        End printing bit image
  1075.                                                 graphics
  1076.      _ssss_tttt_oooo_pppp______cccc_hhhh_aaaa_rrrr______ssss_eeee_tttt______dddd_eeee_ffff        _rrrr_cccc_ssss_dddd    _ZZZZ_tttt        End definition of a character
  1077.                                                 set
  1078.      _ssss_uuuu_bbbb_ssss_cccc_rrrr_iiii_pppp_tttt______cccc_hhhh_aaaa_rrrr_aaaa_cccc_tttt_eeee_rrrr_ssss     _ssss_uuuu_bbbb_cccc_ssss   _ZZZZ_uuuu        List of ``subscriptable''
  1079.                                                 characters
  1080.      _ssss_uuuu_pppp_eeee_rrrr_ssss_cccc_rrrr_iiii_pppp_tttt______cccc_hhhh_aaaa_rrrr_aaaa_cccc_tttt_eeee_rrrr_ssss   _ssss_uuuu_pppp_cccc_ssss   _ZZZZ_vvvv        List of ``superscriptable''
  1081.                                                 characters
  1082.      _tttt_aaaa_bbbb                      _hhhh_tttt      _tttt_aaaa        Tab to next 8-space hardware
  1083.                                                 tab stop
  1084.      _tttt_hhhh_eeee_ssss_eeee______cccc_aaaa_uuuu_ssss_eeee______cccc_rrrr           _dddd_oooo_cccc_rrrr    _ZZZZ_wwww        Printing any of these chars
  1085.                                                 causes _cccc_rrrr
  1086.      _tttt_oooo______ssss_tttt_aaaa_tttt_uuuu_ssss______llll_iiii_nnnn_eeee           _tttt_ssss_llll     _tttt_ssss        Go to status line, col #1
  1087.      _uuuu_nnnn_dddd_eeee_rrrr_llll_iiii_nnnn_eeee______cccc_hhhh_aaaa_rrrr           _uuuu_cccc      _uuuu_cccc        Underscore one char and move
  1088.                                                 past it
  1089.      _uuuu_pppp______hhhh_aaaa_llll_ffff______llll_iiii_nnnn_eeee             _hhhh_uuuu      _hhhh_uuuu        Half-line up (reverse 1/2
  1090.                                                 linefeed)
  1091.      _xxxx_oooo_ffff_ffff______cccc_hhhh_aaaa_rrrr_aaaa_cccc_tttt_eeee_rrrr           _xxxx_oooo_ffff_ffff_cccc   _XXXX_FFFF        X-off character
  1092.      _xxxx_oooo_nnnn______cccc_hhhh_aaaa_rrrr_aaaa_cccc_tttt_eeee_rrrr            _xxxx_oooo_nnnn_cccc    _XXXX_NNNN        X-on character
  1093.      _zzzz_eeee_rrrr_oooo______mmmm_oooo_tttt_iiii_oooo_nnnn              _zzzz_eeee_rrrr_oooo_mmmm   _ZZZZ_xxxx        No motion for the subsequent
  1094.                                                 character
  1095.  
  1096.    SSSSaaaammmmpppplllleeee EEEEnnnnttttrrrryyyy
  1097.      The following entry, which describes the AT&T 610 terminal, is among the
  1098.      more complex entries in the _tttt_eeee_rrrr_mmmm_iiii_nnnn_ffff_oooo file as of this writing.
  1099.  
  1100.      _6666_1111_0000_||||_6666_1111_0000_bbbb_cccc_tttt_||||_AAAA_TTTT_TTTT_6666_1111_0000_||||_aaaa_tttt_tttt_6666_1111_0000_||||_AAAA_TTTT_&&&&_TTTT_6666_1111_0000_;;;;_8888_0000_cccc_oooo_llll_uuuu_mmmm_nnnn_;;;;_9999_8888_kkkk_eeee_yyyy _kkkk_eeee_yyyy_bbbb_oooo_aaaa_rrrr_dddd
  1101.        _aaaa_mmmm_,,,, _eeee_ssss_llll_oooo_kkkk_,,,, _hhhh_ssss_,,,, _mmmm_iiii_rrrr_,,,, _mmmm_ssss_gggg_rrrr_,,,, _xxxx_eeee_nnnn_llll_,,,, _xxxx_oooo_nnnn_,,,,
  1102.        _cccc_oooo_llll_ssss_####_8888_0000_,,,, _iiii_tttt_####_8888_,,,, _llll_hhhh_####_2222_,,,, _llll_iiii_nnnn_eeee_ssss_####_2222_4444_,,,, _llll_wwww_####_8888_,,,, _nnnn_llll_aaaa_bbbb_####_8888_,,,, _wwww_ssss_llll_####_8888_0000_,,,,
  1103.        _aaaa_cccc_ssss_cccc_====_````_````_aaaa_aaaa_ffff_ffff_gggg_gggg_jjjj_jjjj_kkkk_kkkk_llll_llll_mmmm_mmmm_nnnn_nnnn_oooo_oooo_pppp_pppp_qqqq_qqqq_rrrr_rrrr_ssss_ssss_tttt_tttt_uuuu_uuuu_vvvv_vvvv_wwww_wwww_xxxx_xxxx_yyyy_yyyy_zzzz_zzzz_{{{{_{{{{_||||_||||_}}}}_}}}}_~~~~_~~~~_,,,,
  1104.        _bbbb_eeee_llll_====_^^^^_GGGG_,,,, _bbbb_llll_iiii_nnnn_kkkk_====_\\\\_EEEE_[[[[_5555_mmmm_,,,, _bbbb_oooo_llll_dddd_====_\\\\_EEEE_[[[[_1111_mmmm_,,,, _cccc_bbbb_tttt_====_\\\\_EEEE_[[[[_ZZZZ_,,,,
  1105.        _cccc_iiii_vvvv_iiii_ssss_====_\\\\_EEEE_[[[[_????_2222_5555_llll_,,,, _cccc_llll_eeee_aaaa_rrrr_====_\\\\_EEEE_[[[[_HHHH_\\\\_EEEE_[[[[_JJJJ_,,,, _cccc_nnnn_oooo_rrrr_mmmm_====_\\\\_EEEE_[[[[_????_2222_5555_hhhh_\\\\_EEEE_[[[[_????_1111_2222_llll_,,,,
  1106.        _cccc_rrrr_====_\\\\_rrrr_,,,, _cccc_ssss_rrrr_====_\\\\_EEEE_[[[[_%%%%_iiii_%%%%_pppp_1111_%%%%_dddd_;;;;_%%%%_pppp_2222_%%%%_dddd_rrrr_,,,, _cccc_uuuu_bbbb_====_\\\\_EEEE_[[[[_%%%%_pppp_1111_%%%%_dddd_DDDD_,,,, _cccc_uuuu_bbbb_1111_====_\\\\_bbbb_,,,,
  1107.        _cccc_uuuu_dddd_====_\\\\_EEEE_[[[[_%%%%_pppp_1111_%%%%_dddd_BBBB_,,,, _cccc_uuuu_dddd_1111_====_\\\\_EEEE_[[[[_BBBB_,,,, _cccc_uuuu_ffff_====_\\\\_EEEE_[[[[_%%%%_pppp_1111_%%%%_dddd_CCCC_,,,, _cccc_uuuu_ffff_1111_====_\\\\_EEEE_[[[[_CCCC_,,,,
  1108.        _cccc_uuuu_pppp_====_\\\\_EEEE_[[[[_%%%%_iiii_%%%%_pppp_1111_%%%%_dddd_;;;;_%%%%_pppp_2222_%%%%_dddd_HHHH_,,,, _cccc_uuuu_uuuu_====_\\\\_EEEE_[[[[_%%%%_pppp_1111_%%%%_dddd_AAAA_,,,, _cccc_uuuu_uuuu_1111_====_\\\\_EEEE_[[[[_AAAA_,,,,
  1109.        _cccc_vvvv_vvvv_iiii_ssss_====_\\\\_EEEE_[[[[_????_1111_2222_;;;;_2222_5555_hhhh_,,,, _dddd_cccc_hhhh_====_\\\\_EEEE_[[[[_%%%%_pppp_1111_%%%%_dddd_PPPP_,,,, _dddd_cccc_hhhh_1111_====_\\\\_EEEE_[[[[_PPPP_,,,, _dddd_iiii_mmmm_====_\\\\_EEEE_[[[[_2222_mmmm_,,,,
  1110.        _dddd_llll_====_\\\\_EEEE_[[[[_%%%%_pppp_1111_%%%%_dddd_MMMM_,,,, _dddd_llll_1111_====_\\\\_EEEE_[[[[_MMMM_,,,, _eeee_dddd_====_\\\\_EEEE_[[[[_JJJJ_,,,, _eeee_llll_====_\\\\_EEEE_[[[[_KKKK_,,,, _eeee_llll_1111_====_\\\\_EEEE_[[[[_1111_KKKK_,,,,
  1111.        _ffff_llll_aaaa_ssss_hhhh_====_\\\\_EEEE_[[[[_????_5555_hhhh_$$$$_<<<<_2222_0000_0000_>>>>_\\\\_EEEE_[[[[_????_5555_llll_,,,, _ffff_ssss_llll_====_\\\\_EEEE_8888_,,,, _hhhh_oooo_mmmm_eeee_====_\\\\_EEEE_[[[[_HHHH_,,,, _hhhh_tttt_====_\\\\_tttt_,,,,
  1112.        _iiii_cccc_hhhh_====_\\\\_EEEE_[[[[_%%%%_pppp_1111_%%%%_dddd_@@@@_,,,, _iiii_llll_====_\\\\_EEEE_[[[[_%%%%_pppp_1111_%%%%_dddd_LLLL_,,,, _iiii_llll_1111_====_\\\\_EEEE_[[[[_LLLL_,,,, _iiii_nnnn_dddd_====_\\\\_EEEE_DDDD_,,,, _...._iiii_nnnn_dddd_====_\\\\_EEEE_DDDD_$$$$_<<<<_9999_>>>>_,,,,
  1113.        _iiii_nnnn_vvvv_iiii_ssss_====_\\\\_EEEE_[[[[_8888_mmmm_,,,,
  1114.        _iiii_ssss_1111_====_\\\\_EEEE_[[[[_8888_;;;;_0000 _|||| _\\\\_EEEE_[[[[_????_3333_;;;;_4444_;;;;_5555_;;;;_1111_3333_;;;;_1111_5555_llll_\\\\_EEEE_[[[[_1111_3333_;;;;_2222_0000_llll_\\\\_EEEE_[[[[_????_7777_hhhh_\\\\_EEEE_[[[[_1111_2222_hhhh_\\\\_EEEE_((((_BBBB_\\\\_EEEE_))))_0000_,,,,
  1115.        _iiii_ssss_2222_====_\\\\_EEEE_[[[[_0000_mmmm_^^^^_OOOO_,,,, _iiii_ssss_3333_====_\\\\_EEEE_((((_BBBB_\\\\_EEEE_))))_0000_,,,, _kkkk_LLLL_FFFF_TTTT_====_\\\\_EEEE_[[[[_\\\\_ssss_@@@@_,,,, _kkkk_RRRR_IIII_TTTT_====_\\\\_EEEE_[[[[_\\\\_ssss_AAAA_,,,,
  1116.  
  1117.  
  1118.  
  1119.                                                                        PPPPaaaaggggeeee 11117777
  1120.  
  1121.  
  1122.  
  1123.  
  1124.  
  1125.  
  1126. tttteeeerrrrmmmmiiiinnnnffffoooo((((4444))))                                                        tttteeeerrrrmmmmiiiinnnnffffoooo((((4444))))
  1127.  
  1128.  
  1129.  
  1130.       _kkkk_bbbb_ssss_====_^^^^_HHHH_,,,, _kkkk_cccc_bbbb_tttt_====_\\\\_EEEE_[[[[_ZZZZ_,,,, _kkkk_cccc_llll_rrrr_====_\\\\_EEEE_[[[[_2222_JJJJ_,,,, _kkkk_cccc_uuuu_bbbb_1111_====_\\\\_EEEE_[[[[_DDDD_,,,, _kkkk_cccc_uuuu_dddd_1111_====_\\\\_EEEE_[[[[_BBBB_,,,,
  1131.        _kkkk_cccc_uuuu_ffff_1111_====_\\\\_EEEE_[[[[_CCCC_,,,, _kkkk_cccc_uuuu_uuuu_1111_====_\\\\_EEEE_[[[[_AAAA_,,,, _kkkk_ffff_1111_====_\\\\_EEEE_OOOO_cccc_,,,, _kkkk_ffff_1111_0000_====_\\\\_EEEE_NNNN_pppp_,,,,
  1132.        _kkkk_ffff_1111_1111_====_\\\\_EEEE_NNNN_qqqq_,,,, _kkkk_ffff_1111_2222_====_\\\\_EEEE_NNNN_rrrr_,,,, _kkkk_ffff_1111_3333_====_\\\\_EEEE_NNNN_ssss_,,,, _kkkk_ffff_1111_4444_====_\\\\_EEEE_NNNN_tttt_,,,, _kkkk_ffff_2222_====_\\\\_EEEE_OOOO_dddd_,,,,
  1133.        _kkkk_ffff_3333_====_\\\\_EEEE_OOOO_eeee_,,,, _kkkk_ffff_4444_====_\\\\_EEEE_OOOO_ffff_,,,, _kkkk_ffff_5555_====_\\\\_EEEE_OOOO_gggg_,,,, _kkkk_ffff_6666_====_\\\\_EEEE_OOOO_hhhh_,,,, _kkkk_ffff_7777_====_\\\\_EEEE_OOOO_iiii_,,,,
  1134.        _kkkk_ffff_8888_====_\\\\_EEEE_OOOO_jjjj_,,,, _kkkk_ffff_9999_====_\\\\_EEEE_NNNN_oooo_,,,, _kkkk_hhhh_oooo_mmmm_eeee_====_\\\\_EEEE_[[[[_HHHH_,,,, _kkkk_iiii_nnnn_dddd_====_\\\\_EEEE_[[[[_SSSS_,,,, _kkkk_rrrr_iiii_====_\\\\_EEEE_[[[[_TTTT_,,,,
  1135.        _llll_llll_====_\\\\_EEEE_[[[[_2222_4444_HHHH_,,,, _mmmm_cccc_4444_====_\\\\_EEEE_[[[[_????_4444_iiii_,,,, _mmmm_cccc_5555_====_\\\\_EEEE_[[[[_????_5555_iiii_,,,, _nnnn_eeee_llll_====_\\\\_EEEE_EEEE_,,,,
  1136.        _pppp_ffff_xxxx_llll_====_\\\\_EEEE_[[[[_%%%%_pppp_1111_%%%%_dddd_;;;;_%%%%_pppp_2222_%%%%_llll_%%%%_0000_2222_dddd_qqqq_%%%%_????_%%%%_pppp_1111_%%%%_{{{{_9999_}}}}_%%%%_<<<<_%%%%_tttt_\\\\_ssss_\\\\_ssss_\\\\_ssss_FFFF_%%%%_pppp_1111_%%%%_1111_dddd_\\\\_ssss_\\\\_ssss_\\\\_ssss_\\\\_ssss_\\\\_ssss
  1137.      _\\\\_ssss_\\\\_ssss_\\\\_ssss_\\\\_ssss_\\\\_ssss_\\\\_ssss_%%%%_;;;;_%%%%_pppp_2222_%%%%_ssss_,,,,
  1138.        _pppp_llll_nnnn_====_\\\\_EEEE_[[[[_%%%%_pppp_1111_%%%%_dddd_;;;;_0000_;;;;_0000_;;;;_0000_qqqq_%%%%_pppp_2222_%%%%_::::_----_1111_6666_...._1111_6666_ssss_,,,, _rrrr_cccc_====_\\\\_EEEE_8888_,,,, _rrrr_eeee_vvvv_====_\\\\_EEEE_[[[[_7777_mmmm_,,,,
  1139.        _rrrr_iiii_====_\\\\_EEEE_MMMM_,,,, _rrrr_mmmm_aaaa_cccc_ssss_====_^^^^_OOOO_,,,, _rrrr_mmmm_iiii_rrrr_====_\\\\_EEEE_[[[[_4444_llll_,,,, _rrrr_mmmm_llll_nnnn_====_\\\\_EEEE_[[[[_2222_pppp_,,,, _rrrr_mmmm_ssss_oooo_====_\\\\_EEEE_[[[[_mmmm_,,,,
  1140.        _rrrr_mmmm_uuuu_llll_====_\\\\_EEEE_[[[[_mmmm_,,,, _rrrr_ssss_2222_====_\\\\_EEEE_cccc_\\\\_EEEE_[[[[_????_3333_llll_,,,, _ssss_cccc_====_\\\\_EEEE_7777_,,,,
  1141.        _ssss_gggg_rrrr_====_\\\\_EEEE_[[[[_0000_%%%%_????_%%%%_pppp_6666_%%%%_tttt_;;;;_1111_%%%%_;;;;_%%%%_????_%%%%_pppp_5555_%%%%_tttt_;;;;_2222_%%%%_;;;;_%%%%_????_%%%%_pppp_2222_%%%%_tttt_;;;;_4444_%%%%_;;;;_%%%%_????_%%%%_pppp_4444_%%%%_tttt_;;;;_5555_%%%%_;;;;
  1142.      _%%%%_????_%%%%_pppp_3333_%%%%_pppp_1111_%%%% _|||| _%%%%_tttt_;;;;_7777_%%%%_;;;;_%%%%_????_%%%%_pppp_7777_%%%%_tttt_;;;;_8888_%%%%_;;;;_mmmm_%%%%_????_%%%%_pppp_9999_%%%%_tttt_^^^^_NNNN_%%%%_eeee_^^^^_OOOO_%%%%_;;;;_,,,,
  1143.        _ssss_gggg_rrrr_0000_====_\\\\_EEEE_[[[[_mmmm_^^^^_OOOO_,,,, _ssss_mmmm_aaaa_cccc_ssss_====_^^^^_NNNN_,,,, _ssss_mmmm_iiii_rrrr_====_\\\\_EEEE_[[[[_4444_hhhh_,,,, _ssss_mmmm_llll_nnnn_====_\\\\_EEEE_[[[[_pppp_,,,,
  1144.        _ssss_mmmm_ssss_oooo_====_\\\\_EEEE_[[[[_7777_mmmm_,,,, _ssss_mmmm_uuuu_llll_====_\\\\_EEEE_[[[[_4444_mmmm_,,,, _tttt_ssss_llll_====_\\\\_EEEE_7777_\\\\_EEEE_[[[[_2222_5555_;;;;_%%%%_iiii_%%%%_pppp_1111_%%%%_dddd_xxxx_,,,,
  1145.  
  1146.    TTTTyyyyppppeeeessss ooooffff CCCCaaaappppaaaabbbbiiiilllliiiittttiiiieeeessss iiiinnnn tttthhhheeee SSSSaaaammmmpppplllleeee EEEEnnnnttttrrrryyyy
  1147.      The sample entry shows the formats for the three types of _tttt_eeee_rrrr_mmmm_iiii_nnnn_ffff_oooo
  1148.      capabilities listed: Boolean, numeric, and string.  All capabilities
  1149.      specified in the _tttt_eeee_rrrr_mmmm_iiii_nnnn_ffff_oooo source file must be followed by commas,
  1150.      including the last capability in the source file.  In _tttt_eeee_rrrr_mmmm_iiii_nnnn_ffff_oooo source
  1151.      files, capabilities are referenced by their capability names (as shown in
  1152.      the previous tables).
  1153.  
  1154.      Boolean capabilities are specified simply by their comma separated cap
  1155.      names.
  1156.  
  1157.      Numeric capabilities are followed by the character `#' and then a
  1158.      positive integer value.  Thus, in the sample, _cccc_oooo_llll_ssss (which shows the
  1159.      number of columns available on a device) is assigned the value _8888_0000 for the
  1160.      AT&T 610.  (Values for numeric capabilities may be specified in decimal,
  1161.      octal, or hexadecimal, using normal C programming language conventions.)
  1162.  
  1163.      Finally, string-valued capabilities such as _eeee_llll (clear to end of line
  1164.      sequence) are listed by a two- to five-character capname, an `=', and a
  1165.      string ended by the next occurrence of a comma.  A delay in milliseconds
  1166.      may appear anywhere in such a capability, preceded by _$$$$ and enclosed in
  1167.      angle brackets, as in _eeee_llll_====_\\\\_EEEE_KKKK_$$$$_<<<<_3333_>>>>.  Padding characters are supplied by
  1168.      _tttt_pppp_uuuu_tttt.  The delay can be any of the following: a number, a number followed
  1169.      by an asterisk, such as _5555_****, a number followed by a slash, such as _5555_////, or
  1170.      a number followed by both, such as _5555_****_////.  A `_****_'''' shows that the padding
  1171.      required is proportional to the number of lines affected by the
  1172.      operation, and the amount given is the per-affected-unit padding
  1173.      required.  (In the case of insert characters, the factor is still the
  1174.      number of lines affected.  This is always 1 unless the device has _iiii_nnnn and
  1175.      the software uses it.)  When a `_****_'''' is specified, it is sometimes useful
  1176.      to give a delay of the form _3333_...._5555 to specify a delay per unit to tenths of
  1177.      milliseconds.  (Only one decimal place is allowed.)
  1178.  
  1179.      A `/' indicates that the padding is mandatory.  If a device has _xxxx_oooo_nnnn
  1180.      defined, the padding information is advisory and will only be used for
  1181.      cost estimates or when the device is in raw mode.  Mandatory padding will
  1182.  
  1183.  
  1184.  
  1185.                                                                        PPPPaaaaggggeeee 11118888
  1186.  
  1187.  
  1188.  
  1189.  
  1190.  
  1191.  
  1192. tttteeeerrrrmmmmiiiinnnnffffoooo((((4444))))                                                        tttteeeerrrrmmmmiiiinnnnffffoooo((((4444))))
  1193.  
  1194.  
  1195.  
  1196.      be transmitted regardless of the setting of _xxxx_oooo_nnnn.  If padding (whether
  1197.      advisory or mandatory) is specified for _bbbb_eeee_llll or _ffff_llll_aaaa_ssss_hhhh, however, it will
  1198.      always be used, regardless of whether _xxxx_oooo_nnnn is specified.
  1199.  
  1200.      _tttt_eeee_rrrr_mmmm_iiii_nnnn_ffff_oooo offers notation for encoding special characters.  Both _\\\\_EEEE and _\\\\_eeee
  1201.      map to an ESCAPE character, ^_x maps to a control _x for any appropriate _x,
  1202.      and the sequences _\\\\_nnnn_,,,, _\\\\_llll_,,,, _\\\\_rrrr_,,,, _\\\\_tttt_,,,, _\\\\_bbbb_,,,, _\\\\_ffff, and _\\\\_ssss give a newline,
  1203.      linefeed, return, tab, backspace, formfeed, and space, respectively.
  1204.      Other escapes include: _\\\\_^^^^ for caret (^); _\\\\_\\\\ for backslash (\); _\\\\, for
  1205.      comma (,); _\\\\_:::: for colon (:); and _\\\\_0000 for null.  (_\\\\_0000 will actually produce
  1206.      _\\\\_2222_0000_0000, which does not terminate a string but behaves as a null character
  1207.      on most devices, providing CS7 is specified.  [See _ssss_tttt_tttt_yyyy(1).]  Finally,
  1208.      characters may be given as three octal digits after a backslash (for
  1209.      example, \123).
  1210.  
  1211.      Sometimes individual capabilities must be commented out.  To do this, put
  1212.      a period before the capability name.  For example, see the second _iiii_nnnn_dddd in
  1213.      the example above.  Note that capabilities are defined in a left-to-right
  1214.      order and, therefore, a prior definition will override a later
  1215.      definition.
  1216.  
  1217.    PPPPrrrreeeeppppaaaarrrriiiinnnngggg DDDDeeeessssccccrrrriiiippppttttiiiioooonnnnssss
  1218.      The most effective way to prepare a device description is by imitating
  1219.      the description of a similar device in _tttt_eeee_rrrr_mmmm_iiii_nnnn_ffff_oooo and building up a
  1220.      description gradually, using partial descriptions with _vvvv_iiii to check that
  1221.      they are correct.  Be aware that a very unusual device may expose
  1222.      deficiencies in the ability of the _tttt_eeee_rrrr_mmmm_iiii_nnnn_ffff_oooo file to describe it or the
  1223.      inability of _vvvv_iiii to work with that device.  To test a new device
  1224.      description, set the environment variable _TTTT_EEEE_RRRR_MMMM_IIII_NNNN_FFFF_OOOO to the pathname of a
  1225.      directory containing the compiled description you are working on and
  1226.      programs will look there rather than in _////_uuuu_ssss_rrrr_////_ssss_hhhh_aaaa_rrrr_eeee_////_llll_iiii_bbbb_////_tttt_eeee_rrrr_mmmm_iiii_nnnn_ffff_oooo.  To get
  1227.      the padding for insert-line correct (if the device manufacturer did not
  1228.      document it) a severe test is to comment out _xxxx_oooo_nnnn, edit a large file at
  1229.      9600 baud with _vvvv_iiii, delete 16 or so lines from the middle of the screen,
  1230.      and then press the _uuuu key several times quickly.  If the display is
  1231.      corrupted, more padding is usually needed.  A similar test can be used
  1232.      for insert-character.
  1233.  
  1234.    SSSSeeeeccccttttiiiioooonnnn 1111----1111:::: BBBBaaaassssiiiicccc CCCCaaaappppaaaabbbbiiiilllliiiittttiiiieeeessss
  1235.      The number of columns on each line for the device is given by the _cccc_oooo_llll_ssss
  1236.      numeric capability.  If the device has a screen, then the number of lines
  1237.      on the screen is given by the _llll_iiii_nnnn_eeee_ssss capability.  If the device wraps
  1238.      around to the beginning of the next line when it reaches the right
  1239.      margin, then it should have the _aaaa_mmmm capability.  If the terminal can clear
  1240.      its screen, leaving the cursor in the home position, then this is given
  1241.      by the _cccc_llll_eeee_aaaa_rrrr string capability.  If the terminal overstrikes (rather than
  1242.      clearing a position when a character is struck over) then it should have
  1243.      the _oooo_ssss capability.  If the device is a printing terminal, with no soft
  1244.      copy unit, specify both _hhhh_cccc and _oooo_ssss.  If there is a way to move the cursor
  1245.      to the left edge of the current row, specify this as _cccc_rrrr.  (Normally this
  1246.      will be carriage return, control M.)  If there is a way to produce an
  1247.      audible signal (such as a bell or a beep), specify it as _bbbb_eeee_llll.  If, like
  1248.  
  1249.  
  1250.  
  1251.                                                                        PPPPaaaaggggeeee 11119999
  1252.  
  1253.  
  1254.  
  1255.  
  1256.  
  1257.  
  1258. tttteeeerrrrmmmmiiiinnnnffffoooo((((4444))))                                                        tttteeeerrrrmmmmiiiinnnnffffoooo((((4444))))
  1259.  
  1260.  
  1261.  
  1262.      most devices, the device uses the xon-xoff flow-control protocol, specify
  1263.      _xxxx_oooo_nnnn.
  1264.  
  1265.      If there is a way to move the cursor one position to the left (such as
  1266.      backspace), that capability should be given as _cccc_uuuu_bbbb_1111.  Similarly,
  1267.      sequences to move to the right, up, and down should be given as _cccc_uuuu_ffff_1111,
  1268.      _cccc_uuuu_uuuu_1111, and _cccc_uuuu_dddd_1111, respectively.  These local cursor motions must not alter
  1269.      the text they pass over; for example, you would not normally use
  1270.      ``_cccc_uuuu_ffff_1111=\s'' because the space would erase the character moved over.
  1271.  
  1272.      A very important point here is that the local cursor motions encoded in
  1273.      _tttt_eeee_rrrr_mmmm_iiii_nnnn_ffff_oooo are undefined at the left and top edges of a screen terminal.
  1274.      Programs should never attempt to backspace around the left edge, unless
  1275.      _bbbb_wwww is specified, and should never attempt to go up locally off the top.
  1276.      To scroll text up, a program goes to the bottom left corner of the screen
  1277.      and sends the _iiii_nnnn_dddd (index) string.
  1278.  
  1279.      To scroll text down, a program goes to the top left corner of the screen
  1280.      and sends the _rrrr_iiii (reverse index) string.  The strings _iiii_nnnn_dddd and _rrrr_iiii are
  1281.      undefined when not on their respective corners of the screen.
  1282.  
  1283.      Parameterized versions of the scrolling sequences are _iiii_nnnn_dddd_nnnn and _rrrr_iiii_nnnn.
  1284.      These versions have the same semantics as _iiii_nnnn_dddd and _rrrr_iiii, except that they
  1285.      take one parameter and scroll the number of lines specified by that
  1286.      parameter.  They are also undefined except at the appropriate edge of the
  1287.      screen.
  1288.  
  1289.      The _aaaa_mmmm capability tells whether the cursor sticks at the right edge of
  1290.      the screen when text is output, but this does not necessarily apply to a
  1291.      _cccc_uuuu_ffff_1111 from the last column.  Backward motion from the left edge of the
  1292.      screen is possible only when _bbbb_wwww is specified.  In this case, _cccc_uuuu_bbbb_1111 will
  1293.      move to the right edge of the previous row.  If _bbbb_wwww is not given, the
  1294.      effect is undefined.  This is useful for drawing a box around the edge of
  1295.      the screen, for example.  If the device has switch selectable automatic
  1296.      margins, _aaaa_mmmm should be specified in the _tttt_eeee_rrrr_mmmm_iiii_nnnn_ffff_oooo source file.  In this
  1297.      case, initialization strings should turn on this option, if possible.  If
  1298.      the device has a command that moves to the first column of the next line,
  1299.      that command can be given as _nnnn_eeee_llll (newline).  It does not matter if the
  1300.      command clears the remainder of the current line, so if the device has no
  1301.      _cccc_rrrr and _llll_ffff it may still be possible to craft a working _nnnn_eeee_llll out of one or
  1302.      both of them.
  1303.  
  1304.      These capabilities suffice to describe hardcopy and screen terminals.
  1305.      Thus the AT&T 5320 hardcopy terminal is described as follows:
  1306.  
  1307.         _5555_3333_2222_0000_||||_aaaa_tttt_tttt_5555_3333_2222_0000_||||_AAAA_TTTT_&&&&_TTTT _5555_3333_2222_0000 _hhhh_aaaa_rrrr_dddd_cccc_oooo_pppp_yyyy _tttt_eeee_rrrr_mmmm_iiii_nnnn_aaaa_llll_,,,,
  1308.          _aaaa_mmmm_,,,, _hhhh_cccc_,,,, _oooo_ssss_,,,,
  1309.          _cccc_oooo_llll_ssss_####_1111_3333_2222_,,,,
  1310.          _bbbb_eeee_llll_====_^^^^_GGGG_,,,, _cccc_rrrr_====_\\\\_rrrr_,,,, _cccc_uuuu_bbbb_1111_====_\\\\_bbbb_,,,, _cccc_nnnn_dddd_1111_====_\\\\_nnnn_,,,,
  1311.          _dddd_cccc_hhhh_1111_====_\\\\_EEEE_[[[[_PPPP_,,,, _dddd_llll_1111_====_\\\\_EEEE_[[[[_MMMM_,,,,
  1312.          _iiii_nnnn_dddd_====_\\\\_nnnn_,,,,
  1313.      _wwww_hhhh_iiii_llll_eeee _tttt_hhhh_eeee _LLLL_eeee_aaaa_rrrr _SSSS_iiii_eeee_gggg_llll_eeee_rrrr _AAAA_DDDD_MMMM_----_3333 _iiii_ssss _dddd_eeee_ssss_cccc_rrrr_iiii_bbbb_eeee_dddd _aaaa_ssss
  1314.  
  1315.  
  1316.  
  1317.                                                                        PPPPaaaaggggeeee 22220000
  1318.  
  1319.  
  1320.  
  1321.  
  1322.  
  1323.  
  1324. tttteeeerrrrmmmmiiiinnnnffffoooo((((4444))))                                                        tttteeeerrrrmmmmiiiinnnnffffoooo((((4444))))
  1325.  
  1326.  
  1327.  
  1328.         _aaaa_dddd_mmmm_3333_||||_llll_ssss_iiii _aaaa_dddd_mmmm_3333_,,,,
  1329.         _aaaa_mmmm_,,,, _bbbb_eeee_llll_====_^^^^_GGGG_,,,, _cccc_llll_eeee_aaaa_rrrr_====_^^^^_ZZZZ_,,,, _cccc_oooo_llll_ssss_####_8888_0000_,,,, _cccc_rrrr_====_^^^^_MMMM_,,,, _cccc_uuuu_bbbb_1111_====_^^^^_HHHH_,,,,
  1330.         _cccc_uuuu_dddd_1111_====_^^^^_JJJJ_,,,, _iiii_nnnn_dddd_====_^^^^_JJJJ_,,,, _llll_iiii_nnnn_eeee_ssss_####_2222_4444,
  1331.  
  1332.    SSSSeeeeccccttttiiiioooonnnn 1111----2222:::: PPPPaaaarrrraaaammmmeeeetttteeeerrrriiiizzzzeeeedddd SSSSttttrrrriiiinnnnggggssss
  1333.      Cursor addressing and other strings requiring parameters are described by
  1334.      a parameterized string capability, with _pppp_rrrr_iiii_nnnn_tttt_ffff-like escapes (_%%%%_x) in it.
  1335.      For example, to address the cursor, the _cccc_uuuu_pppp capability is given, using
  1336.      two parameters:  the row and column to address to.  (Rows and columns are
  1337.      numbered from zero and refer to the physical screen visible to the user,
  1338.      not to any unseen memory.)  If the terminal has memory relative cursor
  1339.      addressing, that can be indicated by _mmmm_rrrr_cccc_uuuu_pppp.
  1340.  
  1341.      The parameter mechanism uses a stack and special _%%%% codes to manipulate
  1342.      the stack in the manner of Reverse Polish Notation (postfix).  Typically
  1343.      a sequence will push one of the parameters onto the stack and then print
  1344.      it in some format.  Often more complex operations are necessary.
  1345.      Operations are in postfix form with the operands in the usual order.
  1346.      That is, to subtract 5 from the first parameter, one would use _%%%%_pppp_1111_%%%%_{{{{_5555_}}}}_%%%%_----.
  1347.  
  1348.      The _%%%% encodings have the following meanings:
  1349.  
  1350.      _%%%%_%%%%        outputs `%'
  1351.  
  1352.      _%%%%_[[[[_[[[[_::::_]]]]_f_l_a_g_s][_w_i_d_t_h[._p_r_e_c_i_s_i_o_n]][_dddd_oooo_xxxx_XXXX_ssss]
  1353.                as in _pppp_rrrr_iiii_nnnn_tttt_ffff, flags are _[[[[_----_++++_####_]]]] and space
  1354.  
  1355.      _%%%%_cccc        print pop gives %c
  1356.  
  1357.      _%%%%_pppp_[[[[_1111_----_9999_]]]]   push _ith parm
  1358.  
  1359.      _%%%%_PPPP_[[[[_aaaa_----_zzzz_]]]]   set dynamic variable [a-z] to pop
  1360.  
  1361.      _%%%%_gggg_[[[[_aaaa_----_zzzz_]]]]   get dynamic variable [a-z] and push it
  1362.  
  1363.      _%%%%_PPPP_[[[[_AAAA_----_ZZZZ_]]]]   set static variable [a-z] to pop
  1364.  
  1365.      _%%%%_gggg_[[[[_AAAA_----_ZZZZ_]]]]   get static variable [a-z] and push it
  1366.  
  1367.      _%%%%_''''_c_''''      push char constant _c
  1368.  
  1369.      _%%%%_{{{{_n_n_}}}}     push decimal constant _n_n
  1370.  
  1371.      _%%%%_llll        push strlen(pop)
  1372.  
  1373.      _%%%%_++++ _%%%%_---- _%%%%_**** _%%%%_//// _%%%%_mmmm
  1374.                arithmetic (_%%%%_mmmm is mod): push(pop integer op pop integer)
  1375.  
  1376.      _%%%%_&&&& _%%%%_|||| _%%%%_^^^^  bit operations: push(pop integer op pop integer)
  1377.  
  1378.  
  1379.  
  1380.  
  1381.  
  1382.  
  1383.                                                                        PPPPaaaaggggeeee 22221111
  1384.  
  1385.  
  1386.  
  1387.  
  1388.  
  1389.  
  1390. tttteeeerrrrmmmmiiiinnnnffffoooo((((4444))))                                                        tttteeeerrrrmmmmiiiinnnnffffoooo((((4444))))
  1391.  
  1392.  
  1393.  
  1394.      _%%%%_==== _%%%%_>>>> _%%%%_<<<<  logical operations: push(pop integer op pop integer)
  1395.  
  1396.      _%%%%_AAAA _%%%%_OOOO     logical operations: and, or
  1397.  
  1398.      _%%%%_!!!! _%%%%_~~~~     unary operations: push(op pop)
  1399.  
  1400.      _%%%%_iiii        (for ANSI terminals) add 1 to first parm, if one parm present,
  1401.                or first two parms, if more than one parm present
  1402.  
  1403.      _%%%%_???? _e_x_p_r _%%%%_tttt _t_h_e_n_p_a_r_t _%%%%_eeee _e_l_s_e_p_a_r_t _%%%%_;;;;
  1404.                if-then-else, _%%%%_eeee _e_l_s_e_p_a_r_t is optional; else-if's are possible
  1405.                ala Algol 68:  _%%%%_???? _cccc _%%%%_tttt _bbbb _%%%%_eeee _cccc _%%%%_tttt _bbbb _%%%%_eeee _cccc _%%%%_tttt _bbbb _%%%%_eeee _cccc _%%%%_tttt _bbbb _%%%%_eeee _bbbb_%%%%_;;;;
  1406.                c_i are conditions, b_i are bodies.
  1407.  
  1408.      If the ``_----'' flag is used with ``_%%%%[_dddd_oooo_xxxx_XXXX_ssss]'', then a colon (_::::) must be
  1409.      placed between the ``_%%%%'' and the ``_----'' to differentiate the flag from the
  1410.      binary ``_%%%%_----'' operator, for example, ``_%%%%_::::_----_1111_6666_...._1111_6666_ssss''.
  1411.  
  1412.      Consider the Hewlett-Packard 2645, which, to get to row 3 and column 12,
  1413.      needs to be sent _\\\\_EEEE_&&&&_aaaa_1111_2222_cccc_0000_3333_YYYY padded for 6 milliseconds.  Note that the
  1414.      order of the rows and columns is inverted here, and that the row and
  1415.      column are zero-padded as two digits.  Thus its _cccc_uuuu_pppp capability is:
  1416.  
  1417.           cup=\E&a%p2%2.2dc%p1%2.2dY$<6>
  1418.  
  1419.      The Micro-Term ACT-IV needs the current row and column sent preceded by a
  1420.      _^^^^_TTTT, with the row and column simply encoded in binary,
  1421.      ``_cccc_uuuu_pppp_====_^^^^_TTTT_%%%%_pppp_1111_%%%%_cccc_%%%%_pppp_2222_%%%%_cccc''.  Devices that use ``_%%%%_cccc'' need to be able to
  1422.      backspace the cursor (_cccc_uuuu_bbbb_1111), and to move the cursor up one line on the
  1423.      screen (_cccc_uuuu_uuuu_1111).  This is necessary because it is not always safe to
  1424.      transmit _\\\\_nnnn, _^^^^_DDDD, and _\\\\_rrrr, as the system may change or discard them.  (The
  1425.      library routines dealing with _tttt_eeee_rrrr_mmmm_iiii_nnnn_ffff_oooo set tty modes so that tabs are
  1426.      never expanded, so _\\\\_tttt is safe to send.  This turns out to be essential
  1427.      for the Ann Arbor 4080.)
  1428.  
  1429.      A final example is the LSI ADM-3a, which uses row and column offset by a
  1430.      blank character, thus ``_cccc_uuuu_pppp_====_\\\\_EEEE_====_%%%%_pppp_1111_%%%%_''''_\\\\_ssss_''''_%%%%_++++_%%%%_cccc_%%%%_pppp_2222_%%%%_''''_\\\\_ssss_''''_%%%%_++++_%%%%_cccc''.  After sending
  1431.      ``_\\\\_EEEE_===='', this pushes the first parameter, pushes the ASCII value for a
  1432.      space (32), adds them (pushing the sum on the stack in place of the two
  1433.      previous values), and outputs that value as a character.  Then the same
  1434.      is done for the second parameter.  More complex arithmetic is possible
  1435.      using the stack.
  1436.  
  1437.    SSSSeeeeccccttttiiiioooonnnn 1111----3333:::: CCCCuuuurrrrssssoooorrrr MMMMoooottttiiiioooonnnnssss
  1438.      If the terminal has a fast way to home the cursor (to very upper left
  1439.      corner of screen) then this can be given as _hhhh_oooo_mmmm_eeee; similarly a fast way of
  1440.      getting to the lower left-hand corner can be given as _llll_llll; this may
  1441.      involve going up with _cccc_uuuu_uuuu_1111 from the home position, but a program should
  1442.      never do this itself (unless _llll_llll does) because it can make no assumption
  1443.      about the effect of moving up from the home position.  Note that the home
  1444.      position is the same as addressing to (0,0):  to the top left corner of
  1445.      the screen, not of memory.  (Thus, the _\\\\_EEEE_HHHH sequence on Hewlett-Packard
  1446.  
  1447.  
  1448.  
  1449.                                                                        PPPPaaaaggggeeee 22222222
  1450.  
  1451.  
  1452.  
  1453.  
  1454.  
  1455.  
  1456. tttteeeerrrrmmmmiiiinnnnffffoooo((((4444))))                                                        tttteeeerrrrmmmmiiiinnnnffffoooo((((4444))))
  1457.  
  1458.  
  1459.  
  1460.      terminals cannot be used for _hhhh_oooo_mmmm_eeee without losing some of the other
  1461.      features on the terminal.)
  1462.  
  1463.      If the device has row or column absolute-cursor addressing, these can be
  1464.      given as single parameter capabilities _hhhh_pppp_aaaa (horizontal position absolute)
  1465.      and _vvvv_pppp_aaaa (vertical position absolute).  Sometimes these are shorter than
  1466.      the more general two-parameter sequence (as with the Hewlett-Packard
  1467.      2645) and can be used in preference to _cccc_uuuu_pppp.  If there are parameterized
  1468.      local motions (for example, move _n spaces to the right) these can be
  1469.      given as _cccc_uuuu_dddd, _cccc_uuuu_bbbb, _cccc_uuuu_ffff, and _cccc_uuuu_uuuu with a single parameter indicating how
  1470.      many spaces to move.  These are primarily useful if the device does not
  1471.      have _cccc_uuuu_pppp, such as the Tektronix 4025.
  1472.  
  1473.      If the device needs to be in a special mode when running a program that
  1474.      uses these capabilities, the codes to enter and exit this mode can be
  1475.      given as _ssss_mmmm_cccc_uuuu_pppp and _rrrr_mmmm_cccc_uuuu_pppp.  This arises, for example, from terminals, such
  1476.      as the Concept, with more than one page of memory.  If the device has
  1477.      only memory relative cursor addressing and not screen relative cursor
  1478.      addressing, a one screen-sized window must be fixed into the device for
  1479.      cursor addressing to work properly.  This is also used for the Tektronix
  1480.      4025, where _ssss_mmmm_cccc_uuuu_pppp sets the command character to be the one used by
  1481.      _tttt_eeee_rrrr_mmmm_iiii_nnnn_ffff_oooo.  If the _ssss_mmmm_cccc_uuuu_pppp sequence will not restore the screen after an
  1482.      _rrrr_mmmm_cccc_uuuu_pppp sequence is output (to the state prior to outputting _rrrr_mmmm_cccc_uuuu_pppp),
  1483.      specify _nnnn_rrrr_rrrr_mmmm_cccc.
  1484.  
  1485.    SSSSeeeeccccttttiiiioooonnnn 1111----4444:::: AAAArrrreeeeaaaa CCCClllleeeeaaaarrrrssss
  1486.      If the terminal can clear from the current position to the end of the
  1487.      line, leaving the cursor where it is, this should be given as _eeee_llll.  If the
  1488.      terminal can clear from the beginning of the line to the current position
  1489.      inclusive, leaving the cursor where it is, this should be given as _eeee_llll_1111.
  1490.      If the terminal can clear from the current position to the end of the
  1491.      display, then this should be given as _eeee_dddd.  _eeee_dddd is only defined from the
  1492.      first column of a line.  (Thus, it can be simulated by a request to
  1493.      delete a large number of lines, if a true _eeee_dddd is not available.)
  1494.  
  1495.    SSSSeeeeccccttttiiiioooonnnn 1111----5555:::: IIIInnnnsssseeeerrrrtttt////DDDDeeeelllleeeetttteeee LLLLiiiinnnneeee
  1496.      If the terminal can open a new blank line before the line where the
  1497.      cursor is, this should be given as _iiii_llll_1111; this is done only from the first
  1498.      position of a line.  The cursor must then appear on the newly blank line.
  1499.      If the terminal can delete the line which the cursor is on, then this
  1500.      should be given as _dddd_llll_1111; this is done only from the first position on the
  1501.      line to be deleted.  Versions of _iiii_llll_1111 and _dddd_llll_1111 which take a single
  1502.      parameter and insert or delete that many lines can be given as _iiii_llll and _dddd_llll.
  1503.  
  1504.      If the terminal has a settable destructive scrolling region (like the
  1505.      VT100) the command to set this can be described with the _cccc_ssss_rrrr capability,
  1506.      which takes two parameters:  the top and bottom lines of the scrolling
  1507.      region.  The cursor position is, alas, undefined after using this
  1508.      command.  It is possible to get the effect of insert or delete line using
  1509.      this command -- the _ssss_cccc and _rrrr_cccc (save and restore cursor) commands are also
  1510.      useful.  Inserting lines at the top or bottom of the screen can also be
  1511.      done using _rrrr_iiii or _iiii_nnnn_dddd on many terminals without a true insert/delete line,
  1512.  
  1513.  
  1514.  
  1515.                                                                        PPPPaaaaggggeeee 22223333
  1516.  
  1517.  
  1518.  
  1519.  
  1520.  
  1521.  
  1522. tttteeeerrrrmmmmiiiinnnnffffoooo((((4444))))                                                        tttteeeerrrrmmmmiiiinnnnffffoooo((((4444))))
  1523.  
  1524.  
  1525.  
  1526.      and is often faster even on terminals with those features.
  1527.  
  1528.      To determine whether a terminal has destructive scrolling regions or
  1529.      non-destructive scrolling regions, create a scrolling region in the
  1530.      middle of the screen, place data on the bottom line of the scrolling
  1531.      region, move the cursor to the top line of the scrolling region, and do a
  1532.      reverse index (_rrrr_iiii) followed by a delete line (_dddd_llll_1111) or index (_iiii_nnnn_dddd).  If
  1533.      the data that was originally on the bottom line of the scrolling region
  1534.      was restored into the scrolling region by the _dddd_llll_1111 or _iiii_nnnn_dddd, then the
  1535.      terminal has non-destructive scrolling regions.  Otherwise, it has
  1536.      destructive scrolling regions.  Do not specify _cccc_ssss_rrrr if the terminal has
  1537.      non-destructive scrolling regions, unless _iiii_nnnn_dddd, _rrrr_iiii, _iiii_nnnn_dddd_nnnn, _rrrr_iiii_nnnn, _dddd_llll, and _dddd_llll_1111
  1538.      all simulate destructive scrolling.
  1539.  
  1540.      If the terminal has the ability to define a window as part of memory,
  1541.      which all commands affect, it should be given as the parameterized string
  1542.      _wwww_iiii_nnnn_dddd.  The four parameters are the starting and ending lines in memory
  1543.      and the starting and ending columns in memory, in that order.
  1544.  
  1545.      If the terminal can retain display memory above, then the _dddd_aaaa capability
  1546.      should be given; if display memory can be retained below, then _dddd_bbbb should
  1547.      be given.  These indicate that deleting a line or scrolling a full screen
  1548.      may bring non-blank lines up from below or that scrolling back with _rrrr_iiii
  1549.      may bring down non-blank lines.
  1550.  
  1551.    SSSSeeeeccccttttiiiioooonnnn 1111----6666:::: IIIInnnnsssseeeerrrrtttt////DDDDeeeelllleeeetttteeee CCCChhhhaaaarrrraaaacccctttteeeerrrr
  1552.      There are two basic kinds of intelligent terminals with respect to
  1553.      insert/delete character operations which can be described using _tttt_eeee_rrrr_mmmm_iiii_nnnn_ffff_oooo_....
  1554.      The most common insert/delete character operations affect only the
  1555.      characters on the current line and shift characters off the end of the
  1556.      line rigidly.  Other terminals, such as the Concept 100 and the Perkin
  1557.      Elmer Owl, make a distinction between typed and untyped blanks on the
  1558.      screen, shifting upon an insert or delete only to an untyped blank on the
  1559.      screen which is either eliminated, or expanded to two untyped blanks.
  1560.      You can determine the kind of terminal you have by clearing the screen
  1561.      and then typing text separated by cursor motions.  Type ``_aaaa_bbbb_cccc    _dddd_eeee_ffff''
  1562.      using local cursor motions (not spaces) between the _aaaa_bbbb_cccc and the _dddd_eeee_ffff.
  1563.      Then position the cursor before the _aaaa_bbbb_cccc and put the terminal in insert
  1564.      mode.  If typing characters causes the rest of the line to shift rigidly
  1565.      and characters to fall off the end, then your terminal does not
  1566.      distinguish between blanks and untyped positions.  If the _aaaa_bbbb_cccc shifts over
  1567.      to the _dddd_eeee_ffff which then move together around the end of the current line
  1568.      and onto the next as you insert, you have the second type of terminal,
  1569.      and should give the capability _iiii_nnnn, which stands for ``insert null.''
  1570.      While these are two logically separate attributes (one line versus
  1571.      multiline insert mode, and special treatment of untyped spaces) we have
  1572.      seen no terminals whose insert mode cannot be described with the single
  1573.      attribute.
  1574.  
  1575.      _tttt_eeee_rrrr_mmmm_iiii_nnnn_ffff_oooo can describe both terminals that have an insert mode and
  1576.      terminals which send a simple sequence to open a blank position on the
  1577.      current line.  Give as _ssss_mmmm_iiii_rrrr the sequence to get into insert mode.  Give
  1578.  
  1579.  
  1580.  
  1581.                                                                        PPPPaaaaggggeeee 22224444
  1582.  
  1583.  
  1584.  
  1585.  
  1586.  
  1587.  
  1588. tttteeeerrrrmmmmiiiinnnnffffoooo((((4444))))                                                        tttteeeerrrrmmmmiiiinnnnffffoooo((((4444))))
  1589.  
  1590.  
  1591.  
  1592.      as _rrrr_mmmm_iiii_rrrr the sequence to leave insert mode.  Now give as _iiii_cccc_hhhh_1111 any sequence
  1593.      needed to be sent just before sending the character to be inserted.  Most
  1594.      terminals with a true insert mode will not give _iiii_cccc_hhhh_1111; terminals that send
  1595.      a sequence to open a screen position should give it here.  (If your
  1596.      terminal has both, insert mode is usually preferable to _iiii_cccc_hhhh_1111.  Do not
  1597.      give both unless the terminal actually requires both to be used in
  1598.      combination.)  If post-insert padding is needed, give this as a number of
  1599.      milliseconds padding in _iiii_pppp (a string option).  Any other sequence which
  1600.      may need to be sent after an insert of a single character may also be
  1601.      given in _iiii_pppp.  If your terminal needs both to be placed into an `insert
  1602.      mode' and a special code to precede each inserted character, then both
  1603.      _ssss_mmmm_iiii_rrrr/rmir and _iiii_cccc_hhhh_1111 can be given, and both will be used.  The _iiii_cccc_hhhh
  1604.      capability, with one parameter, _n, will insert _n blanks.
  1605.  
  1606.      If padding is necessary between characters typed while not in insert
  1607.      mode, give this as a number of milliseconds padding in _rrrr_mmmm_pppp.
  1608.  
  1609.      It is occasionally necessary to move around while in insert mode to
  1610.      delete characters on the same line (for example, if there is a tab after
  1611.      the insertion position).  If your terminal allows motion while in insert
  1612.      mode you can give the capability _mmmm_iiii_rrrr to speed up inserting in this case.
  1613.      Omitting _mmmm_iiii_rrrr will affect only speed.  Some terminals (notably
  1614.      Datamedia's) must not have _mmmm_iiii_rrrr because of the way their insert mode
  1615.      works.
  1616.  
  1617.      Finally, you can specify _dddd_cccc_hhhh_1111 to delete a single character, _dddd_cccc_hhhh with one
  1618.      parameter, _n, to delete _n characters, and delete mode by giving _ssss_mmmm_dddd_cccc and
  1619.      _rrrr_mmmm_dddd_cccc to enter and exit delete mode (any mode the terminal needs to be
  1620.      placed in for _dddd_cccc_hhhh_1111 to work).
  1621.  
  1622.      A command to erase _n characters (equivalent to outputting _n blanks
  1623.      without moving the cursor) can be given as _eeee_cccc_hhhh with one parameter.
  1624.  
  1625.    SSSSeeeeccccttttiiiioooonnnn 1111----7777:::: HHHHiiiigggghhhhlllliiiigggghhhhttttiiiinnnngggg,,,, UUUUnnnnddddeeeerrrrlllliiiinnnniiiinnnngggg,,,, aaaannnndddd VVVViiiissssiiiibbbblllleeee BBBBeeeellllllllssss
  1626.      Your device may have one or more kinds of display attributes that allow
  1627.      you to highlight selected characters when they appear on the screen.  The
  1628.      following display modes (shown with the names by which they are set) may
  1629.      be available:  a blinking screen (_bbbb_llll_iiii_nnnn_kkkk), bold or extra-bright characters
  1630.      (_bbbb_oooo_llll_dddd), dim or half-bright characters (_dddd_iiii_mmmm), blanking or invisible text
  1631.      (_iiii_nnnn_vvvv_iiii_ssss), protected text (_pppp_rrrr_oooo_tttt), a reverse-video screen (_rrrr_eeee_vvvv), and an
  1632.      alternate character set (_ssss_mmmm_aaaa_cccc_ssss to enter this mode and _rrrr_mmmm_aaaa_cccc_ssss to exit it).
  1633.      (If a command is necessary before you can enter alternate character set
  1634.      mode, give the sequence in _eeee_nnnn_aaaa_cccc_ssss or "enable alternate-character-set"
  1635.      mode.)  Turning on any of these modes singly may or may not turn off
  1636.      other modes.
  1637.  
  1638.      _ssss_gggg_rrrr_0000 should be used to turn off all video enhancement capabilities.  It
  1639.      should always be specified because it represents the only way to turn off
  1640.      some capabilities, such as _dddd_iiii_mmmm or _bbbb_llll_iiii_nnnn_kkkk.
  1641.  
  1642.  
  1643.  
  1644.  
  1645.  
  1646.  
  1647.                                                                        PPPPaaaaggggeeee 22225555
  1648.  
  1649.  
  1650.  
  1651.  
  1652.  
  1653.  
  1654. tttteeeerrrrmmmmiiiinnnnffffoooo((((4444))))                                                        tttteeeerrrrmmmmiiiinnnnffffoooo((((4444))))
  1655.  
  1656.  
  1657.  
  1658.      You should choose one display method as _s_t_a_n_d_o_u_t _m_o_d_e [see _cccc_uuuu_rrrr_ssss_eeee_ssss(3X)]
  1659.      and use it to highlight error messages and other kinds of text to which
  1660.      you want to draw attention.  Choose a form of display that provides
  1661.      strong contrast but that is easy on the eyes.  (We recommend reverse-
  1662.      video plus half-bright or reverse-video alone.)  The sequences to enter
  1663.      and exit standout mode are given as _ssss_mmmm_ssss_oooo and _rrrr_mmmm_ssss_oooo, respectively.  If the
  1664.      code to change into or out of standout mode leaves one or even two blank
  1665.      spaces on the screen, as the TVI 912 and Teleray 1061 do, then _xxxx_mmmm_cccc should
  1666.      be given to tell how many spaces are left.
  1667.  
  1668.      Sequences to begin underlining and end underlining can be specified as
  1669.      _ssss_mmmm_uuuu_llll and _rrrr_mmmm_uuuu_llll _,,,, respectively.  If the device has a sequence to underline
  1670.      the current character and to move the cursor one space to the right (such
  1671.      as the Micro-Term MIME), this sequence can be specified as _uuuu_cccc.
  1672.  
  1673.      Terminals with the ``magic cookie'' glitch (_xxxx_mmmm_cccc_)))) deposit special
  1674.      ``cookies'' when they receive mode-setting sequences, which affect the
  1675.      display algorithm rather than having extra bits for each character.  Some
  1676.      terminals, such as the Hewlett-Packard 2621, automatically leave standout
  1677.      mode when they move to a new line or the cursor is addressed.  Programs
  1678.      using standout mode should exit standout mode before moving the cursor or
  1679.      sending a newline, unless the _mmmm_ssss_gggg_rrrr capability, asserting that it is safe
  1680.      to move in standout mode, is present.
  1681.  
  1682.      If the terminal has a way of flashing the screen to indicate an error
  1683.      quietly (a bell replacement), then this can be given as _ffff_llll_aaaa_ssss_hhhh; it must
  1684.      not move the cursor.  A good flash can be done by changing the screen
  1685.      into reverse video, pad for 200 ms, then return the screen to normal
  1686.      video.
  1687.  
  1688.      If the cursor needs to be made more visible than normal when it is not on
  1689.      the bottom line (to make, for example, a non-blinking underline into an
  1690.      easier to find block or blinking underline) give this sequence as _cccc_vvvv_vvvv_iiii_ssss.
  1691.      The boolean _cccc_hhhh_tttt_ssss should also be given.  If there is a way to make the
  1692.      cursor completely invisible, give that as _cccc_iiii_vvvv_iiii_ssss.  The capability _cccc_nnnn_oooo_rrrr_mmmm
  1693.      should be given which undoes the effects of either of these modes.
  1694.  
  1695.      If your terminal generates underlined characters by using the underline
  1696.      character (with no special sequences needed) even though it does not
  1697.      otherwise overstrike characters, then you should specify the capability
  1698.      _uuuu_llll.  For devices on which a character overstriking another leaves both
  1699.      characters on the screen, specify the capability _oooo_ssss.  If overstrikes are
  1700.      erasable with a blank, then this should be indicated by specifying _eeee_oooo.
  1701.  
  1702.      If there is a sequence to set arbitrary combinations of modes, this
  1703.      should be given as _ssss_gggg_rrrr (set attributes), taking nine parameters.  Each
  1704.      parameter is either _0000 or non-zero, as the corresponding attribute is on
  1705.      or off.  The nine parameters are, in order:  standout, underline,
  1706.      reverse, blink, dim, bold, blank, protect, alternate character set.  Not
  1707.      all modes need to be supported by _ssss_gggg_rrrr; only those for which corresponding
  1708.      separate attribute commands exist should be supported.  For example,
  1709.      let's assume that the terminal in question needs the following escape
  1710.  
  1711.  
  1712.  
  1713.                                                                        PPPPaaaaggggeeee 22226666
  1714.  
  1715.  
  1716.  
  1717.  
  1718.  
  1719.  
  1720. tttteeeerrrrmmmmiiiinnnnffffoooo((((4444))))                                                        tttteeeerrrrmmmmiiiinnnnffffoooo((((4444))))
  1721.  
  1722.  
  1723.  
  1724.      sequences to turn on various modes.
  1725.  
  1726.      tparm
  1727.      Parameter   Attribute    Escape Sequence
  1728.  
  1729.                  none         _\\\\_EEEE_[[[[_0000_mmmm
  1730.      _pppp_1111          standout     _\\\\_EEEE_[[[[_0000_;;;;_4444_;;;;_7777_mmmm
  1731.      _pppp_2222          underline    _\\\\_EEEE_[[[[_0000_;;;;_3333_mmmm
  1732.      _pppp_3333          reverse      _\\\\_EEEE_[[[[_0000_;;;;_4444_mmmm
  1733.      _pppp_4444          blink        _\\\\_EEEE_[[[[_0000_;;;;_5555_mmmm
  1734.      _pppp_5555          dim          _\\\\_EEEE_[[[[_0000_;;;;_7777_mmmm
  1735.      _pppp_6666          bold         _\\\\_EEEE_[[[[_0000_;;;;_3333_;;;;_4444_mmmm
  1736.      _pppp_7777          invis        _\\\\_EEEE_[[[[_0000_;;;;_8888_mmmm
  1737.      _pppp_8888          protect      not available
  1738.      _pppp_9999          altcharset   _^^^^_OOOO (off) _^^^^_NNNN (on)
  1739.  
  1740.      Note that each escape sequence requires a _0000 to turn off other modes
  1741.      before turning on its own mode.  Also note that, as suggested above,
  1742.      _s_t_a_n_d_o_u_t is set up to be the combination of _r_e_v_e_r_s_e and _d_i_m.  Also,
  1743.      because this terminal has no _b_o_l_d mode, _b_o_l_d is set up as the combination
  1744.      of _r_e_v_e_r_s_e and _u_n_d_e_r_l_i_n_e.  In addition, to allow combinations, such as
  1745.      _u_n_d_e_r_l_i_n_e+_b_l_i_n_k, the sequence to use would be _\\\\_EEEE_[[[[_0000_;;;;_3333_;;;;_5555_mmmm.  The terminal
  1746.      doesn't have _p_r_o_t_e_c_t mode, either, but that cannot be simulated in any
  1747.      way, so _pppp_8888 is ignored.  The _a_l_t_c_h_a_r_s_e_t mode is different in that it is
  1748.      either _^^^^_OOOO or _^^^^_NNNN, depending on whether it is off or on.  If all modes were
  1749.      to be turned on, the sequence would be _\\\\_EEEE_[[[[_0000_;;;;_3333_;;;;_4444_;;;;_5555_;;;;_7777_;;;;_8888_mmmm_^^^^_NNNN.
  1750.  
  1751.      Now look at when different sequences are output.  For example, _;;;;_3333 is
  1752.      output when either _pppp_2222 or _pppp_6666 is true, that is, if either _u_n_d_e_r_l_i_n_e or _b_o_l_d
  1753.      modes are turned on.  Writing out the above sequences, along with their
  1754.      dependencies, gives the following:
  1755.  
  1756.      Sequence   When to Output      Terminfo Translation
  1757.  
  1758.      _\\\\_EEEE_[[[[_0000       always              _\\\\_EEEE_[[[[_0000
  1759.      _;;;;_3333         if _pppp_2222 or _pppp_6666         _%%%%_????_%%%%_pppp_2222_%%%%_pppp_6666_%%%%_||||_%%%%_tttt_;;;;_3333_%%%%_;;;;
  1760.      _;;;;_4444         if _pppp_1111 or _pppp_3333 or _pppp_6666   _%%%%_????_%%%%_pppp_1111_%%%%_pppp_3333_%%%%_||||_%%%%_pppp_6666_%%%%_||||_%%%%_tttt_;;;;_4444_%%%%_;;;;
  1761.      _;;;;_5555         if _pppp_4444               _%%%%_????_%%%%_pppp_4444_%%%%_tttt_;;;;_5555_%%%%_;;;;
  1762.      _;;;;_7777         if _pppp_1111 or _pppp_5555         _%%%%_????_%%%%_pppp_1111_%%%%_pppp_5555_%%%%_||||_%%%%_tttt_;;;;_7777_%%%%_;;;;
  1763.      _;;;;_8888         if _pppp_7777               _%%%%_????_%%%%_pppp_7777_%%%%_tttt_;;;;_8888_%%%%_;;;;
  1764.      _mmmm          always              _mmmm
  1765.      _^^^^_NNNN or _^^^^_OOOO   if _pppp_9999 _^^^^_NNNN, else _^^^^_OOOO   _%%%%_????_%%%%_pppp_9999_%%%%_tttt_^^^^_NNNN_%%%%_eeee_^^^^_OOOO_%%%%_;;;;
  1766.  
  1767.      Putting this all together into the _ssss_gggg_rrrr sequence gives:
  1768.  
  1769.      _ssss_gggg_rrrr_====_\\\\_EEEE_[[[[_0000_%%%%_????_%%%%_pppp_2222_%%%%_pppp_6666_%%%%_||||_%%%%_tttt_;;;;_3333_%%%%_;;;;_%%%%_????_%%%%_pppp_1111_%%%%_pppp_3333_%%%%_||||_%%%%_pppp_6666_%%%%
  1770.           _||||_%%%%_tttt_;;;;_4444_%%%%_;;;;_%%%%_????_%%%%_pppp_5555_%%%%_tttt_;;;;_5555_%%%%_;;;;_%%%%_????_%%%%_pppp_1111_%%%%_pppp_5555_%%%%
  1771.           _||||_%%%%_tttt_;;;;_7777_%%%%_;;;;_%%%%_????_%%%%_pppp_7777_%%%%_tttt_;;;;_8888_%%%%_;;;;_mmmm_%%%%_????_%%%%_pppp_9999_%%%%_tttt_^^^^_NNNN_%%%%_eeee_^^^^_OOOO_%%%%_;;;;_,,,,
  1772.  
  1773.      Remember that _ssss_gggg_rrrr and _ssss_gggg_rrrr_0000 must always be specified.
  1774.  
  1775.  
  1776.  
  1777.  
  1778.  
  1779.                                                                        PPPPaaaaggggeeee 22227777
  1780.  
  1781.  
  1782.  
  1783.  
  1784.  
  1785.  
  1786. tttteeeerrrrmmmmiiiinnnnffffoooo((((4444))))                                                        tttteeeerrrrmmmmiiiinnnnffffoooo((((4444))))
  1787.  
  1788.  
  1789.  
  1790.    SSSSeeeeccccttttiiiioooonnnn 1111----8888:::: KKKKeeeeyyyyppppaaaadddd
  1791.      If the device has a keypad that transmits sequences when the keys are
  1792.      pressed, this information can also be specified.  Note that it is not
  1793.      possible to handle devices where the keypad only works in local (this
  1794.      applies, for example, to the unshifted Hewlett-Packard 2621 keys).  If
  1795.      the keypad can be set to transmit or not transmit, specify these
  1796.      sequences as _ssss_mmmm_kkkk_xxxx and _rrrr_mmmm_kkkk_xxxx.  Otherwise the keypad is assumed to always
  1797.      transmit.
  1798.  
  1799.      The sequences sent by the left arrow, right arrow, up arrow, down arrow,
  1800.      and home keys can be given as _kkkk_cccc_uuuu_bbbb_1111_,,,, _kkkk_cccc_uuuu_ffff_1111_,,,, _kkkk_cccc_uuuu_uuuu_1111_,,,, _kkkk_cccc_uuuu_dddd_1111_,,,, and _kkkk_hhhh_oooo_mmmm_eeee,
  1801.      respectively.  If there are function keys such as f0, f1, ..., f63, the
  1802.      sequences they send can be specified as _kkkk_ffff_0000_,,,, _kkkk_ffff_1111_,,,, _...._...._...._,,,, _kkkk_ffff_6666_3333.  If the
  1803.      first 11 keys have labels other than the default f0 through f10, the
  1804.      labels can be given as _llll_ffff_0000_,,,, _llll_ffff_1111_,,,, _...._...._...._,,,, _llll_ffff_1111_0000.  The codes transmitted by
  1805.      certain other special keys can be given:  _kkkk_llll_llll (home down), _kkkk_bbbb_ssss
  1806.      (backspace), _kkkk_tttt_bbbb_cccc (clear all tabs), _kkkk_cccc_tttt_aaaa_bbbb (clear the tab stop in this
  1807.      column), _kkkk_cccc_llll_rrrr (clear screen or erase key), _kkkk_dddd_cccc_hhhh_1111 (delete character), _kkkk_dddd_llll_1111
  1808.      (delete line), _kkkk_rrrr_mmmm_iiii_rrrr (exit insert mode), _kkkk_eeee_llll (clear to end of line), _kkkk_eeee_dddd
  1809.      (clear to end of screen), _kkkk_iiii_cccc_hhhh_1111 (insert character or enter insert mode),
  1810.      _kkkk_iiii_llll_1111 (insert line), _kkkk_nnnn_pppp (next page), _kkkk_pppp_pppp (previous page), _kkkk_iiii_nnnn_dddd (scroll
  1811.      forward/down), _kkkk_rrrr_iiii (scroll backward/up), _kkkk_hhhh_tttt_ssss (set a tab stop in this
  1812.      column).  In addition, if the keypad has a 3 by 3 array of keys including
  1813.      the four arrow keys, the other five keys can be given as _kkkk_aaaa_1111, _kkkk_aaaa_3333, _kkkk_bbbb_2222,
  1814.      _kkkk_cccc_1111, and _kkkk_cccc_3333.  These keys are useful when the effects of a 3 by 3
  1815.      directional pad are needed.  Further keys are defined above in the
  1816.      capabilities list.
  1817.  
  1818.      Strings to program function keys can be specified as _pppp_ffff_kkkk_eeee_yyyy, _pppp_ffff_llll_oooo_cccc, and
  1819.      _pppp_ffff_xxxx.  A string to program screen labels should be specified as _pppp_llll_nnnn.  Each
  1820.      of these strings takes two parameters: a function key identifier and a
  1821.      string to program it with.  _pppp_ffff_kkkk_eeee_yyyy causes pressing the given key to be the
  1822.      same as the user typing the given string; _pppp_ffff_llll_oooo_cccc causes the string to be
  1823.      executed by the terminal in local mode; and _pppp_ffff_xxxx causes the string to be
  1824.      transmitted to the computer.  The capabilities _nnnn_llll_aaaa_bbbb, _llll_wwww and _llll_hhhh define the
  1825.      number of programmable screen labels and their width and height.  If
  1826.      there are commands to turn the labels on and off, give them in _ssss_mmmm_llll_nnnn and
  1827.      _rrrr_mmmm_llll_nnnn.  _ssss_mmmm_llll_nnnn is normally output after one or more _pppp_llll_nnnn sequences to make
  1828.      sure that the change becomes visible.
  1829.  
  1830.    SSSSeeeeccccttttiiiioooonnnn 1111----9999:::: TTTTaaaabbbbssss aaaannnndddd IIIInnnniiiittttiiiiaaaalllliiiizzzzaaaattttiiiioooonnnn
  1831.      If the device has hardware tabs, the command to advance to the next tab
  1832.      stop can be given as _hhhh_tttt (usually control I).  A ``backtab'' command that
  1833.      moves leftward to the next tab stop can be given as _cccc_bbbb_tttt.  By convention,
  1834.      if tty modes show that tabs are being expanded by the computer rather
  1835.      than being sent to the device, programs should not use _hhhh_tttt or _cccc_bbbb_tttt (even if
  1836.      they are present) because the user may not have the tab stops properly
  1837.      set.  If the device has hardware tabs that are initially set every _n
  1838.      spaces when the device is powered up, the numeric parameter _iiii_tttt is given,
  1839.      showing the number of spaces the tabs are set to.  This is normally used
  1840.      by _tttt_pppp_uuuu_tttt _iiii_nnnn_iiii_tttt [see _tttt_pppp_uuuu_tttt(1)] to determine whether to set the mode for
  1841.      hardware tab expansion and whether to set the tab stops.  If the device
  1842.  
  1843.  
  1844.  
  1845.                                                                        PPPPaaaaggggeeee 22228888
  1846.  
  1847.  
  1848.  
  1849.  
  1850.  
  1851.  
  1852. tttteeeerrrrmmmmiiiinnnnffffoooo((((4444))))                                                        tttteeeerrrrmmmmiiiinnnnffffoooo((((4444))))
  1853.  
  1854.  
  1855.  
  1856.      has tab stops that can be saved in nonvolatile memory, the _tttt_eeee_rrrr_mmmm_iiii_nnnn_ffff_oooo
  1857.      description can assume that they are properly set.  If there are commands
  1858.      to set and clear tab stops, they can be given as _tttt_bbbb_cccc (clear all tab
  1859.      stops) and _hhhh_tttt_ssss (set a tab stop in the current column of every row).
  1860.  
  1861.      Other capabilities include:  _iiii_ssss_1111, _iiii_ssss_2222, and _iiii_ssss_3333, initialization strings
  1862.      for the device; _iiii_pppp_rrrr_oooo_gggg, the pathname of a program to be run to initialize
  1863.      the device; and _iiii_ffff, the name of a file containing long initialization
  1864.      strings.  These strings are expected to set the device into modes
  1865.      consistent with the rest of the _tttt_eeee_rrrr_mmmm_iiii_nnnn_ffff_oooo description.  They must be sent
  1866.      to the device each time the user logs in and be output in the following
  1867.      order:  run the program _iiii_pppp_rrrr_oooo_gggg; output _iiii_ssss_1111; output _iiii_ssss_2222; set the margins
  1868.      using _mmmm_gggg_cccc, _ssss_mmmm_gggg_llll and _ssss_mmmm_gggg_rrrr; set the tabs using _tttt_bbbb_cccc and _hhhh_tttt_ssss; print the file
  1869.      _iiii_ffff; and finally output _iiii_ssss_3333.  This is usually done using the _iiii_nnnn_iiii_tttt option
  1870.      of _tttt_pppp_uuuu_tttt.
  1871.  
  1872.      Most initialization is done with _iiii_ssss_2222.  Special device modes can be set up
  1873.      without duplicating strings by putting the common sequences in _iiii_ssss_2222 and
  1874.      special cases in _iiii_ssss_1111 and _iiii_ssss_3333.  Sequences that do a reset from a totally
  1875.      unknown state can be given as _rrrr_ssss_1111, _rrrr_ssss_2222, _rrrr_ffff, and _rrrr_ssss_3333, analogous to _iiii_ssss_1111,
  1876.      _iiii_ssss_2222, _iiii_ssss_3333, and _iiii_ffff.  (The method using files, _iiii_ffff and _rrrr_ffff, is used for a few
  1877.      terminals, from _////_uuuu_ssss_rrrr_////_ssss_hhhh_aaaa_rrrr_eeee_////_llll_iiii_bbbb_////_tttt_aaaa_bbbb_ssss_eeee_tttt_////_****; however, the recommended method
  1878.      is to use the initialization and reset strings.)  These strings are
  1879.      output by _tttt_pppp_uuuu_tttt reset, which is used when the terminal gets into a wedged
  1880.      state.  Commands are normally placed in _rrrr_ssss_1111, _rrrr_ssss_2222, _rrrr_ssss_3333, and _rrrr_ffff only if
  1881.      they produce annoying effects on the screen and are not necessary when
  1882.      logging in.  For example, the command to set a terminal into 80-column
  1883.      mode would normally be part of _iiii_ssss_2222, but on some terminals it causes an
  1884.      annoying glitch on the screen and is not normally needed because the
  1885.      terminal is usually already in 80-column mode.
  1886.  
  1887.      If a more complex sequence is needed to set the tabs than can be
  1888.      described by using _tttt_bbbb_cccc and _hhhh_tttt_ssss, the sequence can be placed in _iiii_ssss_2222 or _iiii_ffff.
  1889.  
  1890.      Any margin can be cleared with _mmmm_gggg_cccc.  (For instructions on how to specify
  1891.      commands to set and clear margins, see "Margins" below under "PRINTER
  1892.      CAPABILITIES.")
  1893.  
  1894.    SSSSeeeeccccttttiiiioooonnnn 1111----11110000:::: DDDDeeeellllaaaayyyyssss
  1895.      Certain capabilities control padding in the _tttt_tttt_yyyy driver.  These are
  1896.      primarily needed by hard-copy terminals, and are used by _tttt_pppp_uuuu_tttt _iiii_nnnn_iiii_tttt to set
  1897.      tty modes appropriately.  Delays embedded in the capabilities _cccc_rrrr, _iiii_nnnn_dddd,
  1898.      _cccc_uuuu_bbbb_1111, _ffff_ffff, and _tttt_aaaa_bbbb can be used to set the appropriate delay bits to be set
  1899.      in the tty driver.  If _pppp_bbbb (padding baud rate) is given, these values can
  1900.      be ignored at baud rates below the value of _pppp_bbbb.
  1901.  
  1902.    SSSSeeeeccccttttiiiioooonnnn 1111----11111111:::: SSSSttttaaaattttuuuussss LLLLiiiinnnneeeessss
  1903.      If the terminal has an extra ``status line'' that is not normally used by
  1904.      software, this fact can be indicated.  If the status line is viewed as an
  1905.      extra line below the bottom line, into which one can cursor address
  1906.      normally (such as the Heathkit h19's 25th line, or the 24th line of a
  1907.      VT100 which is set to a 23-line scrolling region), the capability _hhhh_ssss
  1908.  
  1909.  
  1910.  
  1911.                                                                        PPPPaaaaggggeeee 22229999
  1912.  
  1913.  
  1914.  
  1915.  
  1916.  
  1917.  
  1918. tttteeeerrrrmmmmiiiinnnnffffoooo((((4444))))                                                        tttteeeerrrrmmmmiiiinnnnffffoooo((((4444))))
  1919.  
  1920.  
  1921.  
  1922.      should be given.  Special strings that go to a given column of the status
  1923.      line and return from the status line can be given as _tttt_ssss_llll and _ffff_ssss_llll.  (_ffff_ssss_llll
  1924.      must leave the cursor position in the same place it was before _tttt_ssss_llll.  If
  1925.      necessary, the _ssss_cccc and _rrrr_cccc strings can be included in _tttt_ssss_llll and _ffff_ssss_llll to get
  1926.      this effect.)  The capability _tttt_ssss_llll takes one parameter, which is the
  1927.      column number of the status line the cursor is to be moved to.
  1928.  
  1929.      If escape sequences and other special commands, such as tab, work while
  1930.      in the status line, the flag _eeee_ssss_llll_oooo_kkkk can be given.  A string which turns
  1931.      off the status line (or otherwise erases its contents) should be given as
  1932.      _dddd_ssss_llll.  If the terminal has commands to save and restore the position of
  1933.      the cursor, give them as _ssss_cccc and _rrrr_cccc.  The status line is normally assumed
  1934.      to be the same width as the rest of the screen, for example, _cccc_oooo_llll_ssss.  If
  1935.      the status line is a different width (possibly because the terminal does
  1936.      not allow an entire line to be loaded) the width, in columns, can be
  1937.      indicated with the numeric parameter _wwww_ssss_llll.
  1938.  
  1939.    SSSSeeeeccccttttiiiioooonnnn 1111----11112222:::: LLLLiiiinnnneeee GGGGrrrraaaapppphhhhiiiiccccssss
  1940.      If the device has a line drawing alternate character set, the mapping of
  1941.      glyph to character would be given in _aaaa_cccc_ssss_cccc.  The definition of this string
  1942.      is based on the alternate character set used in the DEC VT100 terminal,
  1943.      extended slightly with some characters from the AT&T 4410v1 terminal.
  1944.  
  1945.      Glyph Name                vt100+ Character
  1946.  
  1947.      arrow pointing right      _++++
  1948.      arrow pointing left       _,,,,
  1949.      arrow pointing down       _....
  1950.      solid square block        _0000
  1951.      lantern symbol            _IIII
  1952.      arrow pointing up         _----
  1953.      diamond                   _````
  1954.      checker board (stipple)   _aaaa
  1955.      degree symbol             _ffff
  1956.      plus/minus                _gggg
  1957.      board of squares          _hhhh
  1958.      lower right corner        _jjjj
  1959.      upper right corner        _kkkk
  1960.      upper left corner         _llll
  1961.      lower left corner         _mmmm
  1962.      plus                      _nnnn
  1963.      scan line 1               _oooo
  1964.      horizontal line           _qqqq
  1965.      scan line 9               _ssss
  1966.      left tee (|-)              _tttt
  1967.      right tee (-|)            _uuuu
  1968.      bottom tee (_|)            _vvvv
  1969.      top tee (_|)               _wwww
  1970.      vertical line             _xxxx
  1971.      bullet                    _~~~~
  1972.  
  1973.  
  1974.  
  1975.  
  1976.  
  1977.                                                                        PPPPaaaaggggeeee 33330000
  1978.  
  1979.  
  1980.  
  1981.  
  1982.  
  1983.  
  1984. tttteeeerrrrmmmmiiiinnnnffffoooo((((4444))))                                                        tttteeeerrrrmmmmiiiinnnnffffoooo((((4444))))
  1985.  
  1986.  
  1987.  
  1988.      The best way to describe a new device's line graphics set is to add a
  1989.      third column to the above table with the characters for the new device
  1990.      that produce the appropriate glyph when the device is in the alternate
  1991.      character set mode.  For example,
  1992.  
  1993.                           vt100+   New Tty
  1994.      Glyph Name           Char     Char
  1995.  
  1996.      upper left corner    _llll        _RRRR
  1997.      lower left corner    _mmmm        _FFFF
  1998.      upper right corner   _kkkk        _TTTT
  1999.      lower right corner   _jjjj        _GGGG
  2000.      horizontal line      _qqqq        _,,,,
  2001.      vertical line        _xxxx        _....
  2002.  
  2003.      Now write down the characters left to right, as in
  2004.      ``_aaaa_cccc_ssss_cccc_====_llll_RRRR_mmmm_FFFF_kkkk_TTTT_jjjj_GGGG_qqqq_\\\\_,,,,_xxxx_....''.
  2005.  
  2006.      In addition, _tttt_eeee_rrrr_mmmm_iiii_nnnn_ffff_oooo allows you to define multiple character sets.  See
  2007.      Section 2-5 for details.
  2008.  
  2009.    SSSSeeeeccccttttiiiioooonnnn 1111----11113333:::: CCCCoooolllloooorrrr MMMMaaaannnniiiippppuuuullllaaaattttiiiioooonnnn
  2010.      Let us define two methods of color manipulation: the Tektronix method and
  2011.      the HP method.  The Tektronix method uses a set of N predefined colors
  2012.      (usually 8) from which a user can select "current" foreground and
  2013.      background colors.  Thus a terminal can support up to N colors mixed into
  2014.      N*N color-pairs to be displayed on the screen at the same time.  When
  2015.      using an HP method the user cannot define the foreground independently of
  2016.      the background, or vice-versa.  Instead, the user must define an entire
  2017.      color-pair at once.  Up to M color-pairs, made from 2*M different colors,
  2018.      can be defined this way.  Most existing color terminals belong to one of
  2019.      these two classes of terminals.
  2020.  
  2021.      The numeric variables _cccc_oooo_llll_oooo_rrrr_ssss and _pppp_aaaa_iiii_rrrr_ssss define the number of colors and
  2022.      color-pairs that can be displayed on the screen at the same time.  If a
  2023.      terminal can change the definition of a color (for example, the Tektronix
  2024.      4100 and 4200 series terminals), this should be specified with _cccc_cccc_cccc (can
  2025.      change color).  To change the definition of a color (Tektronix 4200
  2026.      method), use _iiii_nnnn_iiii_tttt_cccc (initialize color).  It requires four arguments: color
  2027.      number (ranging from 0 to _cccc_oooo_llll_oooo_rrrr_ssss-1) and three RGB (red, green, and blue)
  2028.      values or three HLS colors (Hue, Lightness, Saturation).  Ranges of RGB
  2029.      and HLS values are terminal dependent.
  2030.  
  2031.      Tektronix 4100 series terminals only use HLS color notation.  For such
  2032.      terminals (or dual-mode terminals to be operated in HLS mode) one must
  2033.      define a boolean variable _hhhh_llll_ssss; that would instruct the _cccc_uuuu_rrrr_ssss_eeee_ssss _iiii_nnnn_iiii_tttt______cccc_oooo_llll_oooo_rrrr
  2034.      routine to convert its RGB arguments to HLS before sending them to the
  2035.      terminal.  The last three arguments to the _iiii_nnnn_iiii_tttt_cccc string would then be HLS
  2036.      values.
  2037.  
  2038.  
  2039.  
  2040.  
  2041.  
  2042.  
  2043.                                                                        PPPPaaaaggggeeee 33331111
  2044.  
  2045.  
  2046.  
  2047.  
  2048.  
  2049.  
  2050. tttteeeerrrrmmmmiiiinnnnffffoooo((((4444))))                                                        tttteeeerrrrmmmmiiiinnnnffffoooo((((4444))))
  2051.  
  2052.  
  2053.  
  2054.      If a terminal can change the definitions of colors, but uses a color
  2055.      notation different from RGB and HLS, a mapping to either RGB or HLS must
  2056.      be developed.
  2057.  
  2058.      To set current foreground or background to a given color, use _ssss_eeee_tttt_aaaa_ffff (set
  2059.      ANSI foreground) and _ssss_eeee_tttt_aaaa_bbbb (set ANSI background).  They require one
  2060.      parameter: the number of the color.  To initialize a color-pair (HP
  2061.      method), use _iiii_nnnn_iiii_tttt_pppp (initialize pair).  It requires seven parameters: the
  2062.      number of a color-pair (range=0 to _pppp_aaaa_iiii_rrrr_ssss-1), and six RGB values: three
  2063.      for the foreground followed by three for the background.  (Each of these
  2064.      groups of three should be in the order RGB.)  When _iiii_nnnn_iiii_tttt_cccc or _iiii_nnnn_iiii_tttt_pppp are
  2065.      used, RGB or HLS arguments should be in the order "red, green, blue" or
  2066.      "hue, lightness, saturation"), respectively.  To make a color-pair
  2067.      current, use _ssss_cccc_pppp (set color-pair).  It takes one parameter, the number of
  2068.      a color-pair.
  2069.  
  2070.      Some terminals (for example, most color terminal emulators for PCs) erase
  2071.      areas of the screen with current background color.  In such cases, _bbbb_cccc_eeee
  2072.      (background color erase) should be defined.  The variable _oooo_pppp (original
  2073.      pair) contains a sequence for setting the foreground and the background
  2074.      colors to what they were at the terminal start-up time.  Similarly, _oooo_cccc
  2075.      (original colors) contains a control sequence for setting all colors (for
  2076.      the Tektronix method) or color-pairs (for the HP method) to the values
  2077.      they had at the terminal start-up time.
  2078.  
  2079.      Some color terminals substitute color for video attributes.  Such video
  2080.      attributes should not be combined with colors.  Information about these
  2081.      video attributes should be packed into the _nnnn_cccc_vvvv (no color video) variable.
  2082.      There is a one-to-one correspondence between the nine least significant
  2083.      bits of that variable and the video attributes.  The following table
  2084.      depicts this correspondence.
  2085.  
  2086.                     Bit        Decimal
  2087.      Attribute      Position   Value
  2088.  
  2089.      _AAAA______SSSS_TTTT_AAAA_NNNN_DDDD_OOOO_UUUU_TTTT        0           1
  2090.      _AAAA______UUUU_NNNN_DDDD_EEEE_RRRR_LLLL_IIII_NNNN_EEEE       1           2
  2091.      _AAAA______RRRR_EEEE_VVVV_EEEE_RRRR_SSSS_EEEE         2           4
  2092.      _AAAA______BBBB_LLLL_IIII_NNNN_KKKK           3           8
  2093.      _AAAA______DDDD_IIII_MMMM             4          16
  2094.      _AAAA______BBBB_OOOO_LLLL_DDDD            5          32
  2095.      _AAAA______IIII_NNNN_VVVV_IIII_SSSS           6          64
  2096.      _AAAA______PPPP_RRRR_OOOO_TTTT_EEEE_CCCC_TTTT         7         128
  2097.      _AAAA______AAAA_LLLL_TTTT_CCCC_HHHH_AAAA_RRRR_SSSS_EEEE_TTTT      8         256
  2098.  
  2099.      When a particular video attribute should not be used with colors, the
  2100.      corresponding _nnnn_cccc_vvvv bit should be set to 1; otherwise it should be set to
  2101.      zero.  To determine the information to pack into the _nnnn_cccc_vvvv variable, you
  2102.      must add together the decimal values corresponding to those attributes
  2103.      that cannot coexist with colors.  For example, if the terminal uses
  2104.      colors to simulate reverse video (bit number 2 and decimal value 4) and
  2105.      bold (bit number 5 and decimal value 32), the resulting value for _nnnn_cccc_vvvv
  2106.  
  2107.  
  2108.  
  2109.                                                                        PPPPaaaaggggeeee 33332222
  2110.  
  2111.  
  2112.  
  2113.  
  2114.  
  2115.  
  2116. tttteeeerrrrmmmmiiiinnnnffffoooo((((4444))))                                                        tttteeeerrrrmmmmiiiinnnnffffoooo((((4444))))
  2117.  
  2118.  
  2119.  
  2120.      will be 36 (4 + 32).
  2121.  
  2122.    SSSSeeeeccccttttiiiioooonnnn 1111----11114444:::: MMMMiiiisssscccceeeellllllllaaaannnneeeeoooouuuussss
  2123.      If the terminal requires other than a null (zero) character as a pad,
  2124.      then this can be given as _pppp_aaaa_dddd.  Only the first character of the _pppp_aaaa_dddd
  2125.      string is used.  If the terminal does not have a pad character, specify
  2126.      _nnnn_pppp_cccc.
  2127.  
  2128.      If the terminal can move up or down half a line, this can be indicated
  2129.      with _hhhh_uuuu (half-line up) and _hhhh_dddd (half-line down).  This is primarily useful
  2130.      for superscripts and subscripts on hardcopy terminals.  If a hardcopy
  2131.      terminal can eject to the next page (form feed), give this as _ffff_ffff (usually
  2132.      control L).
  2133.  
  2134.      If there is a command to repeat a given character a given number of times
  2135.      (to save time transmitting a large number of identical characters) this
  2136.      can be indicated with the parameterized string _rrrr_eeee_pppp.  The first parameter
  2137.      is the character to be repeated and the second is the number of times to
  2138.      repeat it.  Thus, _tttt_pppp_aaaa_rrrr_mmmm_((((_rrrr_eeee_pppp_eeee_aaaa_tttt______cccc_hhhh_aaaa_rrrr_,,,, _''''_xxxx_''''_,,,, _1111_0000_)))) is the same as _xxxx_xxxx_xxxx_xxxx_xxxx_xxxx_xxxx_xxxx_xxxx_xxxx_....
  2139.  
  2140.      If the terminal has a settable command character, such as the Tektronix
  2141.      4025, this can be indicated with _cccc_mmmm_dddd_cccc_hhhh.  A prototype command character is
  2142.      chosen which is used in all capabilities.  This character is given in the
  2143.      _cccc_mmmm_dddd_cccc_hhhh capability to identify it.  The following convention is supported
  2144.      on some UNIX systems:  If the environment variable _CCCC_CCCC exists, all
  2145.      occurrences of the prototype character are replaced with the character in
  2146.      _CCCC_CCCC.
  2147.  
  2148.      Terminal descriptions that do not represent a specific kind of known
  2149.      terminal, such as _s_w_i_t_c_h, _d_i_a_l_u_p, _p_a_t_c_h, and _n_e_t_w_o_r_k, should include the
  2150.      _gggg_nnnn (generic) capability so that programs can complain that they do not
  2151.      know how to talk to the terminal.  (This capability does not apply to
  2152.      _v_i_r_t_u_a_l terminal descriptions for which the escape sequences are known.)
  2153.      If the terminal is one of those supported by the UNIX system virtual
  2154.      terminal protocol, the terminal number can be given as _vvvv_tttt.  A line-turn-
  2155.      around sequence to be transmitted before doing reads should be specified
  2156.      in _rrrr_ffff_iiii.
  2157.  
  2158.      If the device uses xon/xoff handshaking for flow control, give _xxxx_oooo_nnnn.
  2159.      Padding information should still be included so that routines can make
  2160.      better decisions about costs, but actual pad characters will not be
  2161.      transmitted.  Sequences to turn on and off xon/xoff handshaking may be
  2162.      given in _ssss_mmmm_xxxx_oooo_nnnn and _rrrr_mmmm_xxxx_oooo_nnnn.  If the characters used for handshaking are not
  2163.      _^^^^_SSSS and _^^^^_QQQQ, they may be specified with _xxxx_oooo_nnnn_cccc and _xxxx_oooo_ffff_ffff_cccc.
  2164.  
  2165.      If the terminal has a ``meta key'' which acts as a shift key, setting the
  2166.      8th bit of any character transmitted, this fact can be indicated with _kkkk_mmmm.
  2167.      Otherwise, software will assume that the 8th bit is parity and it will
  2168.      usually be cleared.  If strings exist to turn this ``meta mode'' on and
  2169.      off, they can be given as _ssss_mmmm_mmmm and _rrrr_mmmm_mmmm.
  2170.  
  2171.  
  2172.  
  2173.  
  2174.  
  2175.                                                                        PPPPaaaaggggeeee 33333333
  2176.  
  2177.  
  2178.  
  2179.  
  2180.  
  2181.  
  2182. tttteeeerrrrmmmmiiiinnnnffffoooo((((4444))))                                                        tttteeeerrrrmmmmiiiinnnnffffoooo((((4444))))
  2183.  
  2184.  
  2185.  
  2186.      If the terminal has more lines of memory than will fit on the screen at
  2187.      once, the number of lines of memory can be indicated with _llll_mmmm.  A value of
  2188.      _llll_mmmm#0 indicates that the number of lines is not fixed, but that there is
  2189.      still more memory than fits on the screen.
  2190.  
  2191.      Media copy strings which control an auxiliary printer connected to the
  2192.      terminal can be given as _mmmm_cccc_0000:  print the contents of the screen, _mmmm_cccc_4444:
  2193.      turn off the printer, and _mmmm_cccc_5555:  turn on the printer.  When the printer is
  2194.      on, all text sent to the terminal will be sent to the printer.  A
  2195.      variation, _mmmm_cccc_5555_pppp, takes one parameter, and leaves the printer on for as
  2196.      many characters as the value of the parameter, then turns the printer
  2197.      off.  The parameter should not exceed 255.  If the text is not displayed
  2198.      on the terminal screen when the printer is on, specify _mmmm_cccc_5555_iiii (silent
  2199.      printer).  All text, including _mmmm_cccc_4444, is transparently passed to the
  2200.      printer while an _mmmm_cccc_5555_pppp is in effect.
  2201.  
  2202.    SSSSeeeeccccttttiiiioooonnnn 1111----11115555:::: SSSSppppeeeecccciiiiaaaallll CCCCaaaasssseeeessss
  2203.      The working model used by _tttt_eeee_rrrr_mmmm_iiii_nnnn_ffff_oooo fits most terminals reasonably well.
  2204.      However, some terminals do not completely match that model, requiring
  2205.      special support by _tttt_eeee_rrrr_mmmm_iiii_nnnn_ffff_oooo.  These are not meant to be construed as
  2206.      deficiencies in the terminals; they are just differences between the
  2207.      working model and the actual hardware.  They may be unusual devices or,
  2208.      for some reason, do not have all the features of the _tttt_eeee_rrrr_mmmm_iiii_nnnn_ffff_oooo model
  2209.      implemented.
  2210.  
  2211.      Terminals that cannot display tilde (~) characters, such as certain
  2212.      Hazeltine terminals, should indicate _hhhh_zzzz.
  2213.  
  2214.      Terminals that ignore a linefeed immediately after an _aaaa_mmmm wrap, such as
  2215.      the Concept 100, should indicate _xxxx_eeee_nnnn_llll.  Those terminals whose cursor
  2216.      remains on the right-most column until another character has been
  2217.      received, rather than wrapping immediately upon receiving the right-most
  2218.      character, such as the VT100, should also indicate _xxxx_eeee_nnnn_llll.
  2219.  
  2220.      If _eeee_llll is required to get rid of standout (instead of writing normal text
  2221.      on top of it), _xxxx_hhhh_pppp should be given.
  2222.  
  2223.      Those Teleray terminals whose tabs turn all characters moved over to
  2224.      blanks, should indicate _xxxx_tttt (destructive tabs).  This capability is also
  2225.      taken to mean that it is not possible to position the cursor on top of a
  2226.      ``magic cookie.''  Therefore, to erase standout mode, it is necessary,
  2227.      instead, to use delete and insert line.
  2228.  
  2229.      Those Beehive Superbee terminals which do not transmit the escape or
  2230.      control-C characters, should specify _xxxx_ssss_bbbb, indicating that the f1 key is
  2231.      to be used for escape and the f2 key for control C.
  2232.  
  2233.    SSSSeeeeccccttttiiiioooonnnn 1111----11116666:::: SSSSiiiimmmmiiiillllaaaarrrr TTTTeeeerrrrmmmmiiiinnnnaaaallllssss
  2234.      If there are two very similar terminals, one can be defined as being just
  2235.      like the other with certain exceptions.  The string capability _uuuu_ssss_eeee can be
  2236.      given with the name of the similar terminal.  The capabilities given
  2237.      before _uuuu_ssss_eeee override those in the terminal type invoked by _uuuu_ssss_eeee.  A
  2238.  
  2239.  
  2240.  
  2241.                                                                        PPPPaaaaggggeeee 33334444
  2242.  
  2243.  
  2244.  
  2245.  
  2246.  
  2247.  
  2248. tttteeeerrrrmmmmiiiinnnnffffoooo((((4444))))                                                        tttteeeerrrrmmmmiiiinnnnffffoooo((((4444))))
  2249.  
  2250.  
  2251.  
  2252.      capability can be canceled by placing _x_x_@@@@ to the left of the capability
  2253.      definition, where _x_x is the capability.  For example, the entry
  2254.  
  2255.        _aaaa_tttt_tttt_4444_4444_2222_4444_----_2222_||||_TTTT_eeee_llll_eeee_tttt_yyyy_pppp_eeee _4444_4444_2222_4444 _iiii_nnnn _dddd_iiii_ssss_pppp_llll_aaaa_yyyy _ffff_uuuu_nnnn_cccc_tttt_iiii_oooo_nnnn _gggg_rrrr_oooo_uuuu_pppp _iiii_iiii_,,,,
  2256.          _rrrr_eeee_vvvv_@@@@_,,,, _ssss_gggg_rrrr_@@@@_,,,, _ssss_mmmm_uuuu_llll_@@@@_,,,, _uuuu_ssss_eeee_====_aaaa_tttt_tttt_4444_4444_2222_4444_,,,,
  2257.  
  2258.      defines an AT&T 4424 terminal that does not have the _rrrr_eeee_vvvv, _ssss_gggg_rrrr, and _ssss_mmmm_uuuu_llll
  2259.      capabilities, and hence cannot do highlighting.  This is useful for
  2260.      different modes for a terminal, or for different user preferences.  More
  2261.      than one _uuuu_ssss_eeee capability may be given.
  2262.  
  2263.    PPPPAAAARRRRTTTT 2222:::: PPPPRRRRIIIINNNNTTTTEEEERRRR CCCCAAAAPPPPAAAABBBBIIIILLLLIIIITTTTIIIIEEEESSSS
  2264.      The _tttt_eeee_rrrr_mmmm_iiii_nnnn_ffff_oooo database allows you to define capabilities of printers as
  2265.      well as terminals.  To find out what capabilities are available for
  2266.      printers as well as for terminals, see the two lists under "DEVICE
  2267.      CAPABILITIES" that list capabilities by variable and by capability name.
  2268.  
  2269.    SSSSeeeeccccttttiiiioooonnnn 2222----1111:::: RRRRoooouuuunnnnddddiiiinnnngggg VVVVaaaalllluuuueeeessss
  2270.      Because parameterized string capabilities work only with integer values,
  2271.      we recommend that _tttt_eeee_rrrr_mmmm_iiii_nnnn_ffff_oooo designers create strings that expect numeric
  2272.      values that have been rounded.  Application designers should note this
  2273.      and should always round values to the nearest integer before using them
  2274.      with a parameterized string capability.
  2275.  
  2276.    SSSSeeeeccccttttiiiioooonnnn 2222----2222:::: PPPPrrrriiiinnnntttteeeerrrr RRRReeeessssoooolllluuuuttttiiiioooonnnn
  2277.      A printer's resolution is defined to be the smallest spacing of
  2278.      characters it can achieve.  In general printers have independent
  2279.      resolution horizontally and vertically.  Thus the vertical resolution of
  2280.      a printer can be determined by measuring the smallest achievable distance
  2281.      between consecutive printing baselines, while the horizontal resolution
  2282.      can be determined by measuring the smallest achievable distance between
  2283.      the left-most edges of consecutive printed, identical, characters.
  2284.  
  2285.      All printers are assumed to be capable of printing with a uniform
  2286.      horizontal and vertical resolution.  The view of printing that _tttt_eeee_rrrr_mmmm_iiii_nnnn_ffff_oooo
  2287.      currently presents is one of printing inside a uniform matrix:  All
  2288.      characters are printed at fixed positions relative to each ``cell'' in
  2289.      the matrix; furthermore, each cell has the same size given by the
  2290.      smallest horizontal and vertical step sizes dictated by the resolution.
  2291.      (The cell size can be changed as will be seen later.)
  2292.  
  2293.      Many printers are capable of ``proportional printing,'' where the
  2294.      horizontal spacing depends on the size of the character last printed.
  2295.      _tttt_eeee_rrrr_mmmm_iiii_nnnn_ffff_oooo does not make use of this capability, although it does provide
  2296.      enough capability definitions to allow an application to simulate
  2297.      proportional printing.
  2298.  
  2299.      A printer must not only be able to print characters as close together as
  2300.      the horizontal and vertical resolutions suggest, but also of ``moving''
  2301.      to a position an integral multiple of the smallest distance away from a
  2302.      previous position.  Thus printed characters can be spaced apart a
  2303.      distance that is an integral multiple of the smallest distance, up to the
  2304.  
  2305.  
  2306.  
  2307.                                                                        PPPPaaaaggggeeee 33335555
  2308.  
  2309.  
  2310.  
  2311.  
  2312.  
  2313.  
  2314. tttteeeerrrrmmmmiiiinnnnffffoooo((((4444))))                                                        tttteeeerrrrmmmmiiiinnnnffffoooo((((4444))))
  2315.  
  2316.  
  2317.  
  2318.      length or width of a single page.
  2319.  
  2320.      Some printers can have different resolutions depending on different
  2321.      ``modes.''  In ``normal mode,'' the existing _tttt_eeee_rrrr_mmmm_iiii_nnnn_ffff_oooo capabilities are
  2322.      assumed to work on columns and lines, just like a video terminal.  Thus
  2323.      the old _llll_iiii_nnnn_eeee_ssss capability would give the length of a page in lines, and
  2324.      the _cccc_oooo_llll_ssss capability would give the width of a page in columns.  In
  2325.      ``micro mode,'' many _tttt_eeee_rrrr_mmmm_iiii_nnnn_ffff_oooo capabilities work on increments of lines
  2326.      and columns.  With some printers the micro mode may be concomitant with
  2327.      normal mode, so that all the capabilities work at the same time.
  2328.  
  2329.    SSSSeeeeccccttttiiiioooonnnn 2222----3333:::: SSSSppppeeeecccciiiiffffyyyyiiiinnnngggg PPPPrrrriiiinnnntttteeeerrrr RRRReeeessssoooolllluuuuttttiiiioooonnnn
  2330.      The printing resolution of a printer is given in several ways.  Each
  2331.      specifies the resolution as the number of smallest steps per distance:
  2332.  
  2333.         Specification of Printer Resolution
  2334.       Characteristic Number of Smallest Steps
  2335.  
  2336.      _oooo_rrrr_hhhh_iiii       Steps per inch horizontally
  2337.      _oooo_rrrr_vvvv_iiii       Steps per inch vertically
  2338.      _oooo_rrrr_cccc        Steps per column
  2339.      _oooo_rrrr_llll        Steps per line
  2340.  
  2341.      When printing in normal mode, each character printed causes movement to
  2342.      the next column, except in special cases described later; the distance
  2343.      moved is the same as the per-column resolution.  Some printers cause an
  2344.      automatic movement to the next line when a character is printed in the
  2345.      rightmost position; the distance moved vertically is the same as the
  2346.      per-line resolution.  When printing in micro mode, these distances can be
  2347.      different, and may be zero for some printers.
  2348.  
  2349.        Specification of Printer Resolution
  2350.          Automatic Motion after Printing
  2351.  
  2352.      Normal mode:
  2353.      _oooo_rrrr_cccc            Steps moved horizontally
  2354.      _oooo_rrrr_llll            Steps moved vertically
  2355.  
  2356.      Micro mode:
  2357.      _mmmm_cccc_ssss            Steps moved horizontally
  2358.      _mmmm_llll_ssss            Steps moved vertically
  2359.  
  2360.      Some printers are capable of printing wide characters.  The distance
  2361.      moved when a wide character is printed in normal mode may be different
  2362.      from when a regular width character is printed.  The distance moved when
  2363.      a wide character is printed in micro mode may also be different from when
  2364.      a regular character is printed in micro mode, but the differences are
  2365.      assumed to be related:  If the distance moved for a regular character is
  2366.      the same whether in normal mode or micro mode (_mmmm_cccc_ssss=_oooo_rrrr_cccc), then the
  2367.      distance moved for a wide character is also the same whether in normal
  2368.      mode or micro mode.  This doesn't mean the normal character distance is
  2369.      necessarily the same as the wide character distance, just that the
  2370.  
  2371.  
  2372.  
  2373.                                                                        PPPPaaaaggggeeee 33336666
  2374.  
  2375.  
  2376.  
  2377.  
  2378.  
  2379.  
  2380. tttteeeerrrrmmmmiiiinnnnffffoooo((((4444))))                                                        tttteeeerrrrmmmmiiiinnnnffffoooo((((4444))))
  2381.  
  2382.  
  2383.  
  2384.      distances don't change with a change in normal to micro mode.  However,
  2385.      if the distance moved for a regular character is different in micro mode
  2386.      from the distance moved in normal mode (_mmmm_cccc_ssss<_oooo_rrrr_cccc), the micro mode distance
  2387.      is assumed to be the same for a wide character printed in micro mode, as
  2388.      the table below shows.
  2389.  
  2390.                     Specification of Printer Resolution
  2391.               Automatic Motion after Printing Wide Character
  2392.  
  2393.      Normal mode or micro mode (_mmmm_cccc_ssss = _oooo_rrrr_cccc):
  2394.      _wwww_iiii_dddd_cccc_ssss                                    Steps moved horizontally
  2395.  
  2396.      Micro mode (_mmmm_cccc_ssss < _oooo_rrrr_cccc):
  2397.      _mmmm_cccc_ssss                                      Steps moved horizontally
  2398.  
  2399.      There may be control sequences to change the number of columns per inch
  2400.      (the character pitch) and to change the number of lines per inch (the
  2401.      line pitch).  If these are used, the resolution of the printer changes,
  2402.      but the type of change depends on the printer:
  2403.  
  2404.               Specification of Printer Resolution
  2405.               Changing the Character/Line Pitches
  2406.  
  2407.      _cccc_pppp_iiii    Change character pitch
  2408.      _cccc_pppp_iiii_xxxx   If set, _cccc_pppp_iiii changes _oooo_rrrr_hhhh_iiii, otherwise changes _oooo_rrrr_cccc
  2409.  
  2410.      _llll_pppp_iiii    Change line pitch
  2411.      _llll_pppp_iiii_xxxx   If set, _llll_pppp_iiii changes _oooo_rrrr_vvvv_iiii, otherwise changes _oooo_rrrr_llll
  2412.  
  2413.      _cccc_hhhh_rrrr    Change steps per column
  2414.      _cccc_vvvv_rrrr    Change steps per line
  2415.  
  2416.      The _cccc_pppp_iiii and _llll_pppp_iiii string capabilities are each used with a single argument,
  2417.      the pitch in columns (or characters) and lines per inch, respectively.
  2418.      The _cccc_hhhh_rrrr and _cccc_vvvv_rrrr string capabilities are each used with a single argument,
  2419.      the number of steps per column and line, respectively.
  2420.  
  2421.      Using any of the control sequences in these strings will imply a change
  2422.      in some of the values of _oooo_rrrr_cccc, _oooo_rrrr_hhhh_iiii, _oooo_rrrr_llll, and _oooo_rrrr_vvvv_iiii.  Also, the distance
  2423.      moved when a wide character is printed, _wwww_iiii_dddd_cccc_ssss, changes in relation to
  2424.      _oooo_rrrr_cccc.  The distance moved when a character is printed in micro mode, _mmmm_cccc_ssss,
  2425.      changes similarly, with one exception: if the distance is 0 or 1, then no
  2426.      change is assumed (see items marked with |- in the following table).
  2427.  
  2428.      Programs that use _cccc_pppp_iiii, _llll_pppp_iiii, _cccc_hhhh_rrrr, or _cccc_vvvv_rrrr should recalculate the printer
  2429.      resolution (and should recalculate other values see "Effect of Changing
  2430.      Printing Resolution" under "Dot-Mapped Graphics").
  2431.  
  2432.            Specification of Printer Resolution
  2433.      Effects of Changing the Character/Line Pitches
  2434.  
  2435.  
  2436.  
  2437.  
  2438.  
  2439.                                                                        PPPPaaaaggggeeee 33337777
  2440.  
  2441.  
  2442.  
  2443.  
  2444.  
  2445.  
  2446. tttteeeerrrrmmmmiiiinnnnffffoooo((((4444))))                                                        tttteeeerrrrmmmmiiiinnnnffffoooo((((4444))))
  2447.  
  2448.  
  2449.  
  2450.                Before                    After
  2451.  
  2452.      Using _cccc_pppp_iiii with _cccc_pppp_iiii_xxxx clear:
  2453.      orhi'                         oooorrrrhhhhiiii
  2454.      orc'                          orc=Vcpiorhi____
  2455.  
  2456.  
  2457.      Using _cccc_pppp_iiii with _cccc_pppp_iiii_xxxx set:
  2458.      orhi'                         orhi=orc.Vcpi
  2459.      orc'                          orc
  2460.  
  2461.      Using _llll_pppp_iiii with _llll_pppp_iiii_xxxx clear:
  2462.      orvi'                         orvi
  2463.      orl'                          orl=Vlpiorvi____
  2464.  
  2465.  
  2466.      Using _llll_pppp_iiii with _llll_pppp_iiii_xxxx set:
  2467.      orvi'                         orvi=orl.Vlpi
  2468.      orl'                          orl
  2469.  
  2470.      Using _cccc_hhhh_rrrr_::::
  2471.      orhi'                         orhi
  2472.      orc'                          Vchr
  2473.      Using _cccc_vvvv_rrrr_::::
  2474.      orvi'                         orvi
  2475.      orl'                          Vcvr
  2476.      Using _cccc_pppp_iiii or _cccc_hhhh_rrrr_::::
  2477.      widcs'                        widcs=widcs'orc'orc____
  2478.      mcs'                          mcs=mcs'orc'orc____
  2479.  
  2480.      Vcpi, Vlpi, Vchr, and Vcvr are the arguments used with _cccc_pppp_iiii, _llll_pppp_iiii, _cccc_hhhh_rrrr, and
  2481.      _cccc_vvvv_rrrr, respectively.  The prime marks (') indicate the old values.
  2482.  
  2483.    SSSSeeeeccccttttiiiioooonnnn 2222----4444:::: CCCCaaaappppaaaabbbbiiiilllliiiittttiiiieeeessss tttthhhhaaaatttt CCCCaaaauuuusssseeee MMMMoooovvvveeeemmmmeeeennnntttt
  2484.      In the following descriptions, ``movement'' refers to the motion of the
  2485.      ``current position.''  With video terminals this would be the cursor;
  2486.      with some printers this is the carriage position.  Other printers have
  2487.      different equivalents.  In general, the current position is where a
  2488.      character would be displayed if printed.
  2489.  
  2490.      _tttt_eeee_rrrr_mmmm_iiii_nnnn_ffff_oooo has string capabilities for control sequences that cause
  2491.      movement a number of full columns or lines.  It also has equivalent
  2492.      string capabilities for control sequences that cause movement a number of
  2493.      smallest steps.
  2494.  
  2495.        String Capabilities for Motion
  2496.  
  2497.      _mmmm_cccc_uuuu_bbbb_1111   Move 1 step left
  2498.      _mmmm_cccc_uuuu_ffff_1111   Move 1 step right
  2499.  
  2500.  
  2501.  
  2502.  
  2503.  
  2504.                                                                        PPPPaaaaggggeeee 33338888
  2505.  
  2506.  
  2507.  
  2508.  
  2509.  
  2510.  
  2511. tttteeeerrrrmmmmiiiinnnnffffoooo((((4444))))                                                        tttteeeerrrrmmmmiiiinnnnffffoooo((((4444))))
  2512.  
  2513.  
  2514.  
  2515.      _mmmm_cccc_uuuu_uuuu_1111   Move 1 step up
  2516.      _mmmm_cccc_uuuu_dddd_1111   Move 1 step down
  2517.  
  2518.      _mmmm_cccc_uuuu_bbbb    Move _N steps left
  2519.      _mmmm_cccc_uuuu_ffff    Move _N steps right
  2520.      _mmmm_cccc_uuuu_uuuu    Move _N steps up
  2521.      _mmmm_cccc_uuuu_dddd    Move _N steps down
  2522.  
  2523.      _mmmm_hhhh_pppp_aaaa    Move _N steps from the left
  2524.      _mmmm_vvvv_pppp_aaaa    Move _N steps from the top
  2525.  
  2526.      The latter six strings are each used with a single argument, _N.
  2527.  
  2528.      Sometimes the motion is limited to less than the width or length of a
  2529.      page.  Also, some printers don't accept absolute motion to the left of
  2530.      the current position.  _tttt_eeee_rrrr_mmmm_iiii_nnnn_ffff_oooo has capabilities for specifying these
  2531.      limits.
  2532.  
  2533.                       Limits to Motion
  2534.  
  2535.      _mmmm_jjjj_uuuu_mmmm_pppp   Limit on use of _mmmm_cccc_uuuu_bbbb_1111, _mmmm_cccc_uuuu_ffff_1111, _mmmm_cccc_uuuu_uuuu_1111, _mmmm_cccc_uuuu_dddd_1111
  2536.      _mmmm_aaaa_dddd_dddd_rrrr   Limit on use of _mmmm_hhhh_pppp_aaaa, _mmmm_vvvv_pppp_aaaa
  2537.  
  2538.      _xxxx_hhhh_pppp_aaaa    If set, _hhhh_pppp_aaaa and _mmmm_hhhh_pppp_aaaa can't move left
  2539.      _xxxx_vvvv_pppp_aaaa    If set, _vvvv_pppp_aaaa and _mmmm_vvvv_pppp_aaaa can't move up
  2540.  
  2541.      If a printer needs to be in a ``micro mode'' for the motion capabilities
  2542.      described above to work, there are string capabilities defined to contain
  2543.      the control sequence to enter and exit this mode.  A boolean is available
  2544.      for those printers where using a carriage return causes an automatic
  2545.      return to normal mode.
  2546.  
  2547.         Entering/Exiting Micro Mode
  2548.  
  2549.      _ssss_mmmm_iiii_cccc_mmmm   Enter micro mode
  2550.      _rrrr_mmmm_iiii_cccc_mmmm   Exit micro mode
  2551.  
  2552.      _cccc_rrrr_xxxx_mmmm    Using _cccc_rrrr exits micro mode
  2553.  
  2554.      The movement made when a character is printed in the rightmost position
  2555.      varies among printers.  Some make no movement, some move to the beginning
  2556.      of the next line, others move to the beginning of the same line.
  2557.      _tttt_eeee_rrrr_mmmm_iiii_nnnn_ffff_oooo has boolean capabilities for describing all three cases.
  2558.  
  2559.               What Happens After Character
  2560.              Printed in Rightmost Position
  2561.  
  2562.      _ssss_aaaa_mmmm   Automatic move to beginning of same line
  2563.  
  2564.      Some printers can be put in a mode where the normal direction of motion
  2565.      is reversed.  This mode can be especially useful when there are no
  2566.      capabilities for leftward or upward motion, because those capabilities
  2567.  
  2568.  
  2569.  
  2570.                                                                        PPPPaaaaggggeeee 33339999
  2571.  
  2572.  
  2573.  
  2574.  
  2575.  
  2576.  
  2577. tttteeeerrrrmmmmiiiinnnnffffoooo((((4444))))                                                        tttteeeerrrrmmmmiiiinnnnffffoooo((((4444))))
  2578.  
  2579.  
  2580.  
  2581.      can be built from the motion reversal capability and the rightward or
  2582.      downward motion capabilities.  It is best to leave it up to an
  2583.      application to build the leftward or upward capabilities, though, and not
  2584.      enter them in the _tttt_eeee_rrrr_mmmm_iiii_nnnn_ffff_oooo database.  This allows several reverse motions
  2585.      to be strung together without intervening wasted steps that leave and
  2586.      reenter reverse mode.
  2587.  
  2588.            Entering/Exiting Reverse Modes
  2589.  
  2590.      _ssss_llll_mmmm     Reverse sense of horizontal motions
  2591.      _rrrr_llll_mmmm     Restore sense of horizontal motions
  2592.      _ssss_uuuu_mmmm     Reverse sense of vertical motions
  2593.      _rrrr_uuuu_mmmm     Restore sense of vertical motions
  2594.  
  2595.      _W_h_i_l_e _s_e_n_s_e _o_f _h_o_r_i_z_o_n_t_a_l _m_o_t_i_o_n_s _r_e_v_e_r_s_e_d:
  2596.      _mmmm_cccc_uuuu_bbbb_1111   Move 1 step right
  2597.      _mmmm_cccc_uuuu_ffff_1111   Move 1 step left
  2598.      _mmmm_cccc_uuuu_bbbb    Move _N steps right
  2599.      _mmmm_cccc_uuuu_ffff    Move _N steps left
  2600.      _cccc_uuuu_bbbb_1111    Move 1 column right
  2601.      _cccc_uuuu_ffff_1111    Move 1 column left
  2602.      _cccc_uuuu_bbbb     Move _N columns right
  2603.      _cccc_uuuu_ffff     Move _N columns left
  2604.  
  2605.      _W_h_i_l_e _s_e_n_s_e _o_f _v_e_r_t_i_c_a_l _m_o_t_i_o_n_s _r_e_v_e_r_s_e_d:
  2606.      _mmmm_cccc_uuuu_uuuu_1111   Move 1 step down
  2607.      _mmmm_cccc_uuuu_dddd_1111   Move 1 step up
  2608.      _mmmm_cccc_uuuu_uuuu    Move _N steps down
  2609.      _mmmm_cccc_uuuu_dddd    Move _N steps up
  2610.      _cccc_uuuu_uuuu_1111    Move 1 line down
  2611.      _cccc_uuuu_dddd_1111    Move 1 line up
  2612.      _cccc_uuuu_uuuu     Move _N lines down
  2613.      _cccc_uuuu_dddd     Move _N lines up
  2614.  
  2615.      The reverse motion modes should not affect the _mmmm_vvvv_pppp_aaaa and _mmmm_hhhh_pppp_aaaa absolute
  2616.      motion capabilities.  The reverse vertical motion mode should, however,
  2617.      also reverse the action of the line ``wrapping'' that occurs when a
  2618.      character is printed in the right-most position.  Thus printers that have
  2619.      the standard _tttt_eeee_rrrr_mmmm_iiii_nnnn_ffff_oooo capability _aaaa_mmmm defined should experience motion to
  2620.      the beginning of the previous line when a character is printed in the
  2621.      right-most position under reverse vertical motion mode.
  2622.  
  2623.      The action when any other motion capabilities are used in reverse motion
  2624.      modes is not defined; thus, programs must exit reverse motion modes
  2625.      before using other motion capabilities.
  2626.  
  2627.      Two miscellaneous capabilities complete the list of new motion
  2628.      capabilities.  One of these is needed for printers that move the current
  2629.      position to the beginning of a line when certain control characters, such
  2630.      as ``line-feed'' or ``form-feed,'' are used.  The other is used for the
  2631.      capability of suspending the motion that normally occurs after printing a
  2632.      character.
  2633.  
  2634.  
  2635.  
  2636.                                                                        PPPPaaaaggggeeee 44440000
  2637.  
  2638.  
  2639.  
  2640.  
  2641.  
  2642.  
  2643. tttteeeerrrrmmmmiiiinnnnffffoooo((((4444))))                                                        tttteeeerrrrmmmmiiiinnnnffffoooo((((4444))))
  2644.  
  2645.  
  2646.  
  2647.                        Miscellaneous Motion Strings
  2648.  
  2649.      _dddd_oooo_cccc_rrrr    List of control characters causing _cccc_rrrr
  2650.      _zzzz_eeee_rrrr_oooo_mmmm   Prevent auto motion after printing next single character
  2651.  
  2652.    MMMMaaaarrrrggggiiiinnnnssss
  2653.      _tttt_eeee_rrrr_mmmm_iiii_nnnn_ffff_oooo provides two strings for setting margins on terminals: one for
  2654.      the left and one for the right margin.  Printers, however, have two
  2655.      additional margins, for the top and bottom margins of each page.
  2656.      Furthermore, some printers require not using motion strings to move the
  2657.      current position to a margin and then fixing the margin there, but
  2658.      require the specification of where a margin should be regardless of the
  2659.      current position.  Therefore _tttt_eeee_rrrr_mmmm_iiii_nnnn_ffff_oooo offers six additional strings for
  2660.      defining margins with printers.
  2661.  
  2662.                   Setting Margins
  2663.  
  2664.      _ssss_mmmm_gggg_llll    Set left margin at current column
  2665.      _ssss_mmmm_gggg_rrrr    Set right margin at current column
  2666.      _ssss_mmmm_gggg_bbbb    Set bottom margin at current line
  2667.      _ssss_mmmm_gggg_tttt    Set top margin at current line
  2668.  
  2669.      _ssss_mmmm_gggg_bbbb_pppp   Set bottom margin at line _N
  2670.      _ssss_mmmm_gggg_llll_pppp   Set left margin at column _N
  2671.      _ssss_mmmm_gggg_rrrr_pppp   Set right margin at column _N
  2672.      _ssss_mmmm_gggg_tttt_pppp   Set top margin at line _N
  2673.  
  2674.      The last four strings are used with one or more arguments that give the
  2675.      position of the margin or margins to set.  If both of _ssss_mmmm_gggg_llll_pppp and _ssss_mmmm_gggg_rrrr_pppp are
  2676.      set, each is used with a single argument, _N, that gives the column number
  2677.      of the left and right margin, respectively.  If both of _ssss_mmmm_gggg_tttt_pppp and _ssss_mmmm_gggg_bbbb_pppp
  2678.      are set, each is used to set the top and bottom margin, respectively:
  2679.      _ssss_mmmm_gggg_tttt_pppp is used with a single argument, _N, the line number of the top
  2680.      margin; however, _ssss_mmmm_gggg_bbbb_pppp is used with two arguments, _N and _M, that give the
  2681.      line number of the bottom margin, the first counting from the top of the
  2682.      page and the second counting from the bottom.  This accommodates the two
  2683.      styles of specifying the bottom margin in different manufacturers'
  2684.      printers.  When coding a _tttt_eeee_rrrr_mmmm_iiii_nnnn_ffff_oooo entry for a printer that has a settable
  2685.      bottom margin, only the first or second parameter should be used,
  2686.      depending on the printer.  When writing an application that uses _ssss_mmmm_gggg_bbbb_pppp to
  2687.      set the bottom margin, both arguments must be given.
  2688.  
  2689.      If only one of _ssss_mmmm_gggg_llll_pppp and _ssss_mmmm_gggg_rrrr_pppp is set, then it is used with two
  2690.      arguments, the column number of the left and right margins, in that
  2691.      order.  Likewise, if only one of _ssss_mmmm_gggg_tttt_pppp and _ssss_mmmm_gggg_bbbb_pppp is set, then it is used
  2692.      with two arguments that give the top and bottom margins, in that order,
  2693.      counting from the top of the page.  Thus when coding a _tttt_eeee_rrrr_mmmm_iiii_nnnn_ffff_oooo entry for
  2694.      a printer that requires setting both left and right or top and bottom
  2695.      margins simultaneously, only one of _ssss_mmmm_gggg_llll_pppp and _ssss_mmmm_gggg_rrrr_pppp or _ssss_mmmm_gggg_tttt_pppp and _ssss_mmmm_gggg_bbbb_pppp
  2696.      should be defined; the other should be left blank.  When writing an
  2697.      application that uses these string capabilities, the pairs should be
  2698.      first checked to see if each in the pair is set or only one is set, and
  2699.  
  2700.  
  2701.  
  2702.                                                                        PPPPaaaaggggeeee 44441111
  2703.  
  2704.  
  2705.  
  2706.  
  2707.  
  2708.  
  2709. tttteeeerrrrmmmmiiiinnnnffffoooo((((4444))))                                                        tttteeeerrrrmmmmiiiinnnnffffoooo((((4444))))
  2710.  
  2711.  
  2712.  
  2713.      should then be used accordingly.
  2714.  
  2715.      In counting lines or columns, line zero is the top line and column zero
  2716.      is the left-most column.  A zero value for the second argument with _ssss_mmmm_gggg_bbbb_pppp
  2717.      means the bottom line of the page.
  2718.  
  2719.      All margins can be cleared with _mmmm_gggg_cccc.
  2720.  
  2721.    SSSShhhhaaaaddddoooowwwwssss,,,, IIIIttttaaaalllliiiiccccssss,,,, WWWWiiiiddddeeee CCCChhhhaaaarrrraaaacccctttteeeerrrrssss,,,, SSSSuuuuppppeeeerrrrssssccccrrrriiiippppttttssss,,,, SSSSuuuubbbbssssccccrrrriiiippppttttssss
  2722.      Five new sets of strings are used to describe the capabilities printers
  2723.      have of enhancing printed text.
  2724.  
  2725.                       Enhanced Printing
  2726.  
  2727.      _ssss_ssss_hhhh_mmmm    Enter shadow-printing mode
  2728.      _rrrr_ssss_hhhh_mmmm    Exit shadow-printing mode
  2729.  
  2730.      _ssss_iiii_tttt_mmmm    Enter italicizing mode
  2731.      _rrrr_iiii_tttt_mmmm    Exit italicizing mode
  2732.  
  2733.      _ssss_wwww_iiii_dddd_mmmm   Enter wide character mode
  2734.      _rrrr_wwww_iiii_dddd_mmmm   Exit wide character mode
  2735.  
  2736.      _ssss_ssss_uuuu_pppp_mmmm   Enter superscript mode
  2737.      _rrrr_ssss_uuuu_pppp_mmmm   Exit superscript mode
  2738.      _ssss_uuuu_pppp_cccc_ssss   List of characters available as superscripts
  2739.  
  2740.      _ssss_ssss_uuuu_bbbb_mmmm   Enter subscript mode
  2741.      _rrrr_ssss_uuuu_bbbb_mmmm   Exit subscript mode
  2742.      _ssss_uuuu_bbbb_cccc_ssss   List of characters available as subscripts
  2743.  
  2744.      If a printer requires the _ssss_ssss_hhhh_mmmm control sequence before every character to
  2745.      be shadow-printed, the _rrrr_ssss_hhhh_mmmm string is left blank.  Thus programs that
  2746.      find a control sequence in _ssss_ssss_hhhh_mmmm but none in _rrrr_ssss_hhhh_mmmm should use the _ssss_ssss_hhhh_mmmm
  2747.      control sequence before every character to be shadow-printed; otherwise,
  2748.      the _ssss_ssss_hhhh_mmmm control sequence should be used once before the set of
  2749.      characters to be shadow-printed, followed by _rrrr_ssss_hhhh_mmmm.  The same is also true
  2750.      of each of the _ssss_iiii_tttt_mmmm/_rrrr_iiii_tttt_mmmm, _ssss_wwww_iiii_dddd_mmmm/_rrrr_wwww_iiii_dddd_mmmm, _ssss_ssss_uuuu_pppp_mmmm/_rrrr_ssss_uuuu_pppp_mmmm, and _ssss_ssss_uuuu_bbbb_mmmm/ _rrrr_ssss_uuuu_bbbb_mmmm
  2751.      pairs.
  2752.  
  2753.      Note that _tttt_eeee_rrrr_mmmm_iiii_nnnn_ffff_oooo also has a capability for printing emboldened text
  2754.      (_bbbb_oooo_llll_dddd).  While shadow printing and emboldened printing are similar in
  2755.      that they ``darken'' the text, many printers produce these two types of
  2756.      print in slightly different ways.  Generally, emboldened printing is done
  2757.      by overstriking the same character one or more times.  Shadow printing
  2758.      likewise usually involves overstriking, but with a slight movement up
  2759.      and/or to the side so that the character is ``fatter.''
  2760.  
  2761.      It is assumed that enhanced printing modes are independent modes, so that
  2762.      it would be possible, for instance, to shadow print italicized
  2763.      subscripts.
  2764.  
  2765.  
  2766.  
  2767.  
  2768.                                                                        PPPPaaaaggggeeee 44442222
  2769.  
  2770.  
  2771.  
  2772.  
  2773.  
  2774.  
  2775. tttteeeerrrrmmmmiiiinnnnffffoooo((((4444))))                                                        tttteeeerrrrmmmmiiiinnnnffffoooo((((4444))))
  2776.  
  2777.  
  2778.  
  2779.      As mentioned earlier, the amount of motion automatically made after
  2780.      printing a wide character should be given in _wwww_iiii_dddd_cccc_ssss.
  2781.  
  2782.      If only a subset of the printable ASCII characters can be printed as
  2783.      superscripts or subscripts, they should be listed in _ssss_uuuu_pppp_cccc_ssss or _ssss_uuuu_bbbb_cccc_ssss
  2784.      strings, respectively.  If the _ssss_ssss_uuuu_pppp_mmmm or _ssss_ssss_uuuu_bbbb_mmmm strings contain control
  2785.      sequences, but the corresponding _ssss_uuuu_pppp_cccc_ssss or _ssss_uuuu_bbbb_cccc_ssss strings are empty, it is
  2786.      assumed that all printable ASCII characters are available as superscripts
  2787.      or subscripts.
  2788.  
  2789.      Automatic motion made after printing a superscript or subscript is
  2790.      assumed to be the same as for regular characters.  Thus, for example,
  2791.      printing any of the following three examples will result in equivalent
  2792.      motion:
  2793.  
  2794.           _BBBB_iiii  _BBBB_iiii  _BBBB_iiii
  2795.  
  2796.      Note that the existing _mmmm_ssss_gggg_rrrr boolean capability describes whether motion
  2797.      control sequences can be used while in ``standout mode.''  This
  2798.      capability is extended to cover the enhanced printing modes added here.
  2799.      _mmmm_ssss_gggg_rrrr should be set for those printers that accept any motion control
  2800.      sequences without affecting shadow, italicized, widened, superscript, or
  2801.      subscript printing.  Conversely, if _mmmm_ssss_gggg_rrrr is not set, a program should end
  2802.      these modes before attempting any motion.
  2803.  
  2804.    SSSSeeeeccccttttiiiioooonnnn 2222----5555:::: AAAAlllltttteeeerrrrnnnnaaaatttteeee CCCChhhhaaaarrrraaaacccctttteeeerrrr SSSSeeeettttssss
  2805.      In addition to allowing you to define line graphics (described in Section
  2806.      1-12), _tttt_eeee_rrrr_mmmm_iiii_nnnn_ffff_oooo lets you define alternate character sets.  The following
  2807.      capabilities cover printers and terminals with multiple selectable or
  2808.      definable character sets.
  2809.  
  2810.                      Alternate Character Sets
  2811.  
  2812.      _ssss_cccc_ssss     Select character set _N
  2813.  
  2814.      _ssss_cccc_ssss_dddd    Start definition of character set _N, _M characters
  2815.      _dddd_eeee_ffff_cccc    Define character _A, _B dots wide, descender _D
  2816.      _rrrr_cccc_ssss_dddd    End definition of character set _N
  2817.  
  2818.      _cccc_ssss_nnnn_mmmm    List of character set names
  2819.  
  2820.      _dddd_aaaa_iiii_ssss_yyyy   Printer has manually changed print-wheels
  2821.  
  2822.      The _ssss_cccc_ssss, _rrrr_cccc_ssss_dddd, and _cccc_ssss_nnnn_mmmm strings are used with a single argument, _N, a
  2823.      number from 0 to 63 that identifies the character set.  The _ssss_cccc_ssss_dddd string
  2824.      is also used with the argument _N and another, _M, that gives the number of
  2825.      characters in the set.  The _dddd_eeee_ffff_cccc string is used with three arguments:  _A
  2826.      gives the ASCII code representation for the character, _B gives the width
  2827.      of the character in dots, and _D is zero or one depending on whether the
  2828.      character is a ``descender'' or not.  The _dddd_eeee_ffff_cccc string is also followed by
  2829.      a string of ``image-data'' bytes that describe how the character looks
  2830.      (see below).
  2831.  
  2832.  
  2833.  
  2834.                                                                        PPPPaaaaggggeeee 44443333
  2835.  
  2836.  
  2837.  
  2838.  
  2839.  
  2840.  
  2841. tttteeeerrrrmmmmiiiinnnnffffoooo((((4444))))                                                        tttteeeerrrrmmmmiiiinnnnffffoooo((((4444))))
  2842.  
  2843.  
  2844.  
  2845.      Character set 0 is the default character set present after the printer
  2846.      has been initialized.  Not every printer has 64 character sets, of
  2847.      course; using _ssss_cccc_ssss with an argument that doesn't select an available
  2848.      character set should cause a null result from _tttt_pppp_aaaa_rrrr_mmmm.
  2849.  
  2850.      If a character set has to be defined before it can be used, the _ssss_cccc_ssss_dddd
  2851.      control sequence is to be used before defining the character set, and the
  2852.      _rrrr_cccc_ssss_dddd is to be used after.  They should also cause a null result from
  2853.      _tttt_pppp_aaaa_rrrr_mmmm when used with an argument _N that doesn't apply.  If a character
  2854.      set still has to be selected after being defined, the _ssss_cccc_ssss control
  2855.      sequence should follow the _rrrr_cccc_ssss_dddd control sequence.  By examining the
  2856.      results of using each of the _ssss_cccc_ssss, _ssss_cccc_ssss_dddd, and _rrrr_cccc_ssss_dddd strings with a character
  2857.      set number in a call to _tttt_pppp_aaaa_rrrr_mmmm, a program can determine which of the three
  2858.      are needed.
  2859.  
  2860.      Between use of the _ssss_cccc_ssss_dddd and _rrrr_cccc_ssss_dddd strings, the _dddd_eeee_ffff_cccc string should be used
  2861.      to define each character.  To print any character on printers covered by
  2862.      _tttt_eeee_rrrr_mmmm_iiii_nnnn_ffff_oooo, the ASCII code is sent to the printer.  This is true for
  2863.      characters in an alternate set as well as ``normal'' characters.  Thus
  2864.      the definition of a character includes the ASCII code that represents it.
  2865.      In addition, the width of the character in dots is given, along with an
  2866.      indication of whether the character should descend below the print line
  2867.      (such as the lower case letter ``g'' in most character sets).  The width
  2868.      of the character in dots also indicates the number of image-data bytes
  2869.      that will follow the _dddd_eeee_ffff_cccc string.  These image-data bytes indicate where
  2870.      in a dot-matrix pattern ink should be applied to ``draw'' the character;
  2871.      the number of these bytes and their form are defined below under ``Dot-
  2872.      Mapped Graphics.''
  2873.  
  2874.      It's easiest for the creator of _tttt_eeee_rrrr_mmmm_iiii_nnnn_ffff_oooo entries to refer to each
  2875.      character set by number; however, these numbers will be meaningless to
  2876.      the application developer.  The _cccc_ssss_nnnn_mmmm string alleviates this problem by
  2877.      providing names for each number.
  2878.  
  2879.      When used with a character set number in a call to _tttt_pppp_aaaa_rrrr_mmmm, the _cccc_ssss_nnnn_mmmm string
  2880.      will produce the equivalent name.  These names should be used as a
  2881.      reference only.  No naming convention is implied, although anyone who
  2882.      creates a _tttt_eeee_rrrr_mmmm_iiii_nnnn_ffff_oooo entry for a printer should use names consistent with
  2883.      the names found in user documents for the printer.  Application
  2884.      developers should allow a user to specify a character set by number
  2885.      (leaving it up to the user to examine the _cccc_ssss_nnnn_mmmm string to determine the
  2886.      correct number), or by name, where the application examines the _cccc_ssss_nnnn_mmmm
  2887.      string to determine the corresponding character set number.
  2888.  
  2889.      These capabilities are likely to be used only with dot-matrix printers.
  2890.      If they are not available, the strings should not be defined.  For
  2891.      printers that have manually changed print-wheels or font cartridges, the
  2892.      boolean _dddd_aaaa_iiii_ssss_yyyy is set.
  2893.  
  2894.    SSSSeeeeccccttttiiiioooonnnn 2222----6666:::: DDDDooootttt----MMMMaaaattttrrrriiiixxxx GGGGrrrraaaapppphhhhiiiiccccssss
  2895.      Dot-matrix printers typically have the capability of reproducing
  2896.      ``raster-graphics'' images.  Three new numeric capabilities and three new
  2897.  
  2898.  
  2899.  
  2900.                                                                        PPPPaaaaggggeeee 44444444
  2901.  
  2902.  
  2903.  
  2904.  
  2905.  
  2906.  
  2907. tttteeeerrrrmmmmiiiinnnnffffoooo((((4444))))                                                        tttteeeerrrrmmmmiiiinnnnffffoooo((((4444))))
  2908.  
  2909.  
  2910.  
  2911.      string capabilities can help a program draw raster-graphics images
  2912.      independent of the type of dot-matrix printer or the number of pins or
  2913.      dots the printer can handle at one time.
  2914.  
  2915.                        Dot-Matrix Graphics
  2916.  
  2917.      _nnnn_pppp_iiii_nnnn_ssss    Number of pins, _N, in print-head
  2918.      _ssss_pppp_iiii_nnnn_vvvv    Spacing of pins vertically in pins per inch
  2919.      _ssss_pppp_iiii_nnnn_hhhh    Spacing of dots horizontally in dots per inch
  2920.      _pppp_oooo_rrrr_dddd_eeee_rrrr   Matches software bits to print-head pins
  2921.      _ssss_bbbb_iiii_mmmm     Start printing bit image graphics, _B bits wide
  2922.      _rrrr_bbbb_iiii_mmmm     End printing bit image graphics
  2923.  
  2924.      The _ssss_bbbb_iiii_mmmm sring is used with a single argument, _B, the width of the image
  2925.      in dots.
  2926.  
  2927.      The model of dot-matrix or raster-graphics that _tttt_eeee_rrrr_mmmm_iiii_nnnn_ffff_oooo presents is
  2928.      similar to the technique used for most dot-matrix printers:  each pass of
  2929.      the printer's print-head is assumed to produce a dot-matrix that is _N
  2930.      dots high and _B dots wide.  This is typically a wide, squat, rectangle of
  2931.      dots.  The height of this rectangle in dots will vary from one printer to
  2932.      the next; this is given in the _nnnn_pppp_iiii_nnnn_ssss numeric capability.  The size of the
  2933.      rectangle in fractions of an inch will also vary; it can be deduced from
  2934.      the _ssss_pppp_iiii_nnnn_vvvv and _ssss_pppp_iiii_nnnn_hhhh numeric capabilities.  With these three values an
  2935.      application can divide a complete raster-graphics image into several
  2936.      horizontal strips, perhaps interpolating to account for different dot
  2937.      spacing vertically and horizontally.
  2938.  
  2939.      The _ssss_bbbb_iiii_mmmm and _rrrr_bbbb_iiii_mmmm strings are used to start and end a dot-matrix image,
  2940.      respectively.  The _ssss_bbbb_iiii_mmmm string is used with a single argument that gives
  2941.      the width of the dot-matrix in dots.  A sequence of ``image-data bytes''
  2942.      are sent to the printer after the _ssss_bbbb_iiii_mmmm string and before the _rrrr_bbbb_iiii_mmmm string.
  2943.      The number of bytes is a integral multiple of the width of the dot-
  2944.      matrix; the multiple and the form of each byte is determined by the
  2945.      _pppp_oooo_rrrr_dddd_eeee_rrrr string as described below.
  2946.  
  2947.      The _pppp_oooo_rrrr_dddd_eeee_rrrr string is a comma separated list of pin numbers optionally
  2948.      followed by an numerical offset.  The offset, if given, is separated from
  2949.      the list with a semicolon.  The position of each pin number in the list
  2950.      corresponds to a bit in an 8-bit data byte.  The pins are numbered
  2951.      consecutively from 1 to _nnnn_pppp_iiii_nnnn_ssss, with 1 being the top pin.  Note that the
  2952.      term ``pin'' is used loosely here; ``ink-jet'' dot-matrix printers don't
  2953.      have pins, but can be considered to have an equivalent method of applying
  2954.      a single dot of ink to paper.  The bit positions in _pppp_oooo_rrrr_dddd_eeee_rrrr are in groups
  2955.      of 8, with the first position in each group the most significant bit and
  2956.      the last position the least significant bit.  An application produces 8-
  2957.      bit bytes in the order of the groups in _pppp_oooo_rrrr_dddd_eeee_rrrr.
  2958.  
  2959.      An application computes the ``image-data bytes'' from the internal image,
  2960.      mapping vertical dot positions in each print-head pass into 8-bit bytes,
  2961.      using a 1 bit where ink should be applied and 0 where no ink should be
  2962.      applied.  This can be reversed (0 bit for ink, 1 bit for no ink) by
  2963.  
  2964.  
  2965.  
  2966.                                                                        PPPPaaaaggggeeee 44445555
  2967.  
  2968.  
  2969.  
  2970.  
  2971.  
  2972.  
  2973. tttteeeerrrrmmmmiiiinnnnffffoooo((((4444))))                                                        tttteeeerrrrmmmmiiiinnnnffffoooo((((4444))))
  2974.  
  2975.  
  2976.  
  2977.      giving a negative pin number.  If a position is skipped in _pppp_oooo_rrrr_dddd_eeee_rrrr, a 0
  2978.      bit is used.  If a position has a lower case `x' instead of a pin number,
  2979.      a 1 bit is used in the skipped position.  For consistency, a lower case
  2980.      `o' can be used to represent a 0 filled, skipped bit.  There must be a
  2981.      multiple of 8 bit positions used or skipped in _pppp_oooo_rrrr_dddd_eeee_rrrr; if not, 0 bits are
  2982.      used to fill the last byte in the least significant bits.  The offset, if
  2983.      given, is added to each data byte; the offset can be negative.
  2984.  
  2985.      Some examples may help clarify the use of the _pppp_oooo_rrrr_dddd_eeee_rrrr string.  The AT&T
  2986.      470, AT&T 475 and C.Itoh 8510 printers provide eight pins for graphics.
  2987.      The pins are identified top to bottom by the 8 bits in a byte, from least
  2988.      significant to most.  The _pppp_oooo_rrrr_dddd_eeee_rrrr strings for these printers would be
  2989.      _8888_,,,,_7777_,,,,_6666_,,,,_5555_,,,,_4444_,,,,_3333_,,,,_2222_,,,,_1111.  The AT&T 478 and AT&T 479 printers also provide eight
  2990.      pins for graphics.  However, the pins are identified in the reverse
  2991.      order.  The _pppp_oooo_rrrr_dddd_eeee_rrrr strings for these printers would be _1111_,,,,_2222_,,,,_3333_,,,,_4444_,,,,_5555_,,,,_6666_,,,,_7777_,,,,_8888.
  2992.      The AT&T 5310, AT&T 5320, DEC LA100, and DEC LN03 printers provide six
  2993.      pins for graphics.  The pins are identified top to bottom by the decimal
  2994.      values 1, 2, 4, 8, 16 and 32.  These correspond to the low six bits in an
  2995.      8-bit byte, although the decimal values are further offset by the value
  2996.      63.  The _pppp_oooo_rrrr_dddd_eeee_rrrr string for these printers would be _,,,,_,,,,_6666_,,,,_5555_,,,,_4444_,,,,_3333_,,,,_2222_,,,,_1111_;;;;_6666_3333, or
  2997.      alternately _oooo_,,,,_oooo_,,,,_6666_,,,,_5555_,,,,_4444_,,,,_3333_,,,,_2222_,,,,_1111_;;;;_6666_3333.
  2998.  
  2999.    SSSSeeeeccccttttiiiioooonnnn 2222----7777:::: EEEEffffffffeeeecccctttt ooooffff CCCChhhhaaaannnnggggiiiinnnngggg PPPPrrrriiiinnnnttttiiiinnnngggg RRRReeeessssoooolllluuuuttttiiiioooonnnn
  3000.      If the control sequences to change the character pitch or the line pitch
  3001.      are used, the pin or dot spacing may change:
  3002.  
  3003.               Dot-Matrix Graphics
  3004.       Changing the Character/Line Pitches
  3005.  
  3006.      _cccc_pppp_iiii       Change character pitch
  3007.      _cccc_pppp_iiii_xxxx      If set, _cccc_pppp_iiii changes _ssss_pppp_iiii_nnnn_hhhh
  3008.  
  3009.      _llll_pppp_iiii       Change line pitch
  3010.      _llll_pppp_iiii_xxxx      If set, _llll_pppp_iiii changes _ssss_pppp_iiii_nnnn_vvvv
  3011.  
  3012.      Programs that use _cccc_pppp_iiii or _llll_pppp_iiii should recalculate the dot spacing:
  3013.  
  3014.                    Dot-Matrix Graphics
  3015.      Effects of Changing the Character/Line Pitches
  3016.  
  3017.                Before                   After
  3018.  
  3019.      Using _cccc_pppp_iiii with _cccc_pppp_iiii_xxxx clear:
  3020.      spinh'                       spinh
  3021.  
  3022.      Using _cccc_pppp_iiii with _cccc_pppp_iiii_xxxx set:
  3023.      spinh'                       spinh=spinh'.orhi'orhi_____
  3024.  
  3025.      Using _llll_pppp_iiii with _llll_pppp_iiii_xxxx clear:
  3026.      spinv'                       spinv
  3027.  
  3028.  
  3029.  
  3030.  
  3031.  
  3032.                                                                        PPPPaaaaggggeeee 44446666
  3033.  
  3034.  
  3035.  
  3036.  
  3037.  
  3038.  
  3039. tttteeeerrrrmmmmiiiinnnnffffoooo((((4444))))                                                        tttteeeerrrrmmmmiiiinnnnffffoooo((((4444))))
  3040.  
  3041.  
  3042.  
  3043.      Using _llll_pppp_iiii with _llll_pppp_iiii_xxxx set:
  3044.      spinv'                       spinv=spinv'.orhi'orhi_____
  3045.  
  3046.      Using _cccc_hhhh_rrrr_::::
  3047.      spinh'                       spinh
  3048.  
  3049.      Using _cccc_vvvv_rrrr_::::
  3050.      spinv'                       spinv
  3051.  
  3052.      oooorrrrhhhhiiii'''' and oooorrrrhhhhiiii are the values of the horizontal resolution in steps per
  3053.      inch, before using _cccc_pppp_iiii and after using _cccc_pppp_iiii, respectively.  Likewise,
  3054.      oooorrrrvvvviiii'''' and oooorrrrvvvviiii are the values of the vertical resolution in steps per
  3055.      inch, before using _llll_pppp_iiii and after using _llll_pppp_iiii, respectively.  Thus, the
  3056.      changes in the dots per inch for dot-matrix graphics follow the changes
  3057.      in steps per inch for printer resolution.
  3058.  
  3059.    SSSSeeeeccccttttiiiioooonnnn 2222----8888:::: PPPPrrrriiiinnnntttt QQQQuuuuaaaalllliiiittttyyyy
  3060.      Many dot-matrix printers can alter the dot spacing of printed text to
  3061.      produce near ``letter quality'' printing or ``draft quality'' printing.
  3062.      Usually it is important to be able to choose one or the other because the
  3063.      rate of printing generally falls off as the quality improves.  There are
  3064.      three new strings used to describe these capabilities.
  3065.  
  3066.                  Print Quality
  3067.  
  3068.      _ssss_nnnn_llll_qqqq    Set near-letter quality print
  3069.      _ssss_nnnn_rrrr_mmmm_qqqq   Set normal quality print
  3070.      _ssss_dddd_rrrr_ffff_qqqq   Set draft quality print
  3071.  
  3072.      The capabilities are listed in decreasing levels of quality.  If a
  3073.      printer doesn't have all three levels, one or two of the strings should
  3074.      be left blank as appropriate.
  3075.  
  3076.    SSSSeeeeccccttttiiiioooonnnn 2222----9999:::: PPPPrrrriiiinnnnttttiiiinnnngggg RRRRaaaatttteeee aaaannnndddd BBBBuuuuffffffffeeeerrrr SSSSiiiizzzzeeee
  3077.      Because there is no standard protocol that can be used to keep a program
  3078.      synchronized with a printer, and because modern printers can buffer data
  3079.      before printing it, a program generally cannot determine at any time what
  3080.      has been printed.  Two new numeric capabilities can help a program
  3081.      estimate what has been printed.
  3082.  
  3083.                    Print Rate/Buffer Size
  3084.  
  3085.      _cccc_pppp_ssss     Nominal print rate in characters per second
  3086.      _bbbb_uuuu_ffff_ssss_zzzz   Buffer capacity in characters
  3087.  
  3088.      _cccc_pppp_ssss is the nominal or average rate at which the printer prints
  3089.      characters; if this value is not given, the rate should be estimated at
  3090.      one-tenth the prevailing baud rate.  _bbbb_uuuu_ffff_ssss_zzzz is the maximum number of
  3091.      subsequent characters buffered before the guaranteed printing of an
  3092.      earlier character, assuming proper flow control has been used.  If this
  3093.      value is not given it is assumed that the printer does not buffer
  3094.      characters, but prints them as they are received.
  3095.  
  3096.  
  3097.  
  3098.                                                                        PPPPaaaaggggeeee 44447777
  3099.  
  3100.  
  3101.  
  3102.  
  3103.  
  3104.  
  3105. tttteeeerrrrmmmmiiiinnnnffffoooo((((4444))))                                                        tttteeeerrrrmmmmiiiinnnnffffoooo((((4444))))
  3106.  
  3107.  
  3108.  
  3109.      As an example, if a printer has a 1000-character buffer, then sending the
  3110.      letter ``a'' followed by 1000 additional characters is guaranteed to
  3111.      cause the letter ``a'' to print.  If the same printer prints at the rate
  3112.      of 100 characters per second, then it should take 10 seconds to print all
  3113.      the characters in the buffer, less if the buffer is not full.  By keeping
  3114.      track of the characters sent to a printer, and knowing the print rate and
  3115.      buffer size, a program can synchronize itself with the printer.
  3116.  
  3117.      Note that most printer manufacturers advertise the maximum print rate,
  3118.      not the nominal print rate.  A good way to get a value to put in for _cccc_pppp_ssss
  3119.      is to generate a few pages of text, count the number of printable
  3120.      characters, and then see how long it takes to print the text.
  3121.  
  3122.      Applications that use these values should recognize the variability in
  3123.      the print rate.  Straight text, in short lines, with no embedded control
  3124.      sequences will probably print at close to the advertised print rate and
  3125.      probably faster than the rate in _cccc_pppp_ssss.  Graphics data with a lot of
  3126.      control sequences, or very long lines of text, will print at well below
  3127.      the advertised rate and below the rate in _cccc_pppp_ssss.  If the application is
  3128.      using _cccc_pppp_ssss to decide how long it should take a printer to print a block of
  3129.      text, the application should pad the estimate.  If the application is
  3130.      using _cccc_pppp_ssss to decide how much text has already been printed, it should
  3131.      shrink the estimate.  The application will thus err in favor of the user,
  3132.      who wants, above all, to see all the output in its correct place.
  3133.  
  3134. FFFFIIIILLLLEEEESSSS
  3135.      _////_uuuu_ssss_rrrr_////_ssss_hhhh_aaaa_rrrr_eeee_////_llll_iiii_bbbb_////_tttt_eeee_rrrr_mmmm_iiii_nnnn_ffff_oooo_////_????_////_****    compiled terminal description database
  3136.  
  3137.      _////_uuuu_ssss_rrrr_////_ssss_hhhh_aaaa_rrrr_eeee_////_llll_iiii_bbbb_////_...._CCCC_OOOO_RRRR_EEEE_tttt_eeee_rrrr_mmmm_////_????_////_****   subset of compiled terminal description
  3138.                                     database
  3139.  
  3140.      _////_uuuu_ssss_rrrr_////_ssss_hhhh_aaaa_rrrr_eeee_////_llll_iiii_bbbb_////_tttt_aaaa_bbbb_ssss_eeee_tttt_////_****        tab settings for some terminals, in a
  3141.                                     format appropriate to be output to the
  3142.                                     terminal (escape sequences that set
  3143.                                     margins and tabs)
  3144.  
  3145. SSSSEEEEEEEE AAAALLLLSSSSOOOO
  3146.      ls(1), pg(1), stty(1), tic(1M), tput(1), tty(1), vi(1), curses(3X),
  3147.      printf(3S).
  3148.  
  3149. NNNNOOOOTTTTEEEESSSS
  3150.      The most effective way to prepare a terminal description is by imitating
  3151.      the description of a similar terminal in _tttt_eeee_rrrr_mmmm_iiii_nnnn_ffff_oooo and to build up a
  3152.      description gradually, using partial descriptions with a screen oriented
  3153.      editor, such as _vvvv_iiii, to check that they are correct.  To easily test a new
  3154.      terminal description the environment variable _TTTT_EEEE_RRRR_MMMM_IIII_NNNN_FFFF_OOOO can be set to the
  3155.      pathname of a directory containing the compiled description, and programs
  3156.      will look there rather than in _////_uuuu_ssss_rrrr_////_ssss_hhhh_aaaa_rrrr_eeee_////_llll_iiii_bbbb_////_tttt_eeee_rrrr_mmmm_iiii_nnnn_ffff_oooo.
  3157.  
  3158.  
  3159.  
  3160.  
  3161.  
  3162.  
  3163.  
  3164.                                                                        PPPPaaaaggggeeee 44448888
  3165.  
  3166.  
  3167.  
  3168.