Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ kbdset(1) — Dell System V Release 4 Issue 2.2

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

alpq(1)

kbdcomp(1)

kbdload(1)

alp(7)

kbd(7)



kbdset(1)                        UNIX System V                        kbdset(1)


NAME
      kbdset - attach to kbd mapping tables, set modes

SYNOPSIS
      kbdset [-oq] [-a table] [-v string] [-k hotkey] [-m x] [-t ticks]
      kbdset [-oq] [-d table] [-v string] [-k hotkey] [-m x] [-t ticks]

DESCRIPTION
      The kbdset command is the normal user interface to the kbd STREAMS
      module.  [See kbdcomp(1) and kbd(7) for a general description of the
      module's capabilities.]  kbdset allows users to attach to pre-loaded
      tables, detach from tables, and set options. Options are provided for
      setting hot-keys to toggle tables and for controlling modes of the
      module.

      Arguments and options are scanned and acted on in command line order.  If
      the -o option is given, subsequent options affect the output side of the
      stream, otherwise the input side is assumed.

      The -q option causes the kbdset command to list modules which can be
      accessed by the invoking user.  In this case all subsequent options are
      ignored.  The output from the -q option lists the user's current hot-key
      settings, current timer value, and for each available table an
      identifier, the name, size, attachments (input and/or output sides),
      reference count, number of components, and type (private or public).  In
      the following example, there is one composite table, two tables are
      attached on the input side, and one on the output side.

          In Hot Key = ^
          Timers: In = 20 ; Out = 20
          ID        Name             Size I/O Ref Cmp Type
          4039f300  Ucase              56 - o   1   -  ext
          403a0480  Case/Dvorak        68 - -   0   2  pri
                      [4039f300]  [4037e400]
          4036ce00  Deutsche          332 i -   4   -  pub
          4037e400  Dvorak            312 i -   2   -  pri

      The ID field is an identifier unique to a given table (actually its
      address in memory).  Currently attached tables are marked i or o;
      otherwise, the I/O fields are marked with a dash.  Ref is a reference
      count of attached users (including composites that refer to simple
      tables) and if non-zero, indicates that the table is in use.  Size is the
      total size in bytes of the table and associated overhead in memory.  If
      the table is a composite table, the Cmp field contains a number instead
      of a dash, and the following line lists an identifier for each component,
      in order of processing (allowing identification of the components in a
      composite table).  Publicly available tables are marked with the type pub
      and private tables with pri.  Private tables are available only to the
      invoking user and within the current stream.  Tables which are really
      external functions [see kbd(7)] are marked ext; they are always of type
      pub.  Tables that are interpreted in timeout [see kbdcomp(1)] mode have
      an asterisk (*) preceding the Type field; members of composite tables


10/89                                                                    Page 1







kbdset(1)                        UNIX System V                        kbdset(1)


      that are interpreted in timeout mode have an asterisk after their
      bracketed identifier (on the second output line).  External functions are
      never time-sensitive, unless by their own internal specifications.

      The option -a accompanied by an argument attaches to the named table.  A
      table may not be multiply attached by a single user.  When a table is
      attached and no other table is already attached, then the table is
      automatically made current.  The option -d detaches from the named table.
      [See kbdload(1) for a description of how tables are loaded.]

      The -k option sets the user's hot-key.  Setting a hot-key with only a
      single active table allows mapping to be toggled on and off, depending on
      the hot-key mode.  A hot-key is a single byte, typically set to a
      relatively unused control character, that is caught by the kbd module and
      used for module control rather than being translated in any way.  The key
      used as a hot-key becomes unavailable for other uses (unless it is
      generated by mapping).  The hot-key may be reset at any time,
      independently from other options.  Note that kbdset does not interpret
      ^X-type sequences; it expects a literal hot-key character.

      The -m option with an integer argument controls the hot-key mode.  Legal
      modes are 0, 1 (the default), and 2.  Mode 0 allows one to toggle through
      the list of attached tables.  Upon reaching the end of the list, the
      cycle returns to the beginning of the list.  Use of Mode 0 with only one
      table loaded does not allow mapping to be turned off.  Mode 1 toggles to
      the unmapped state upon reaching the end of the list (for example, given
      two tables, the sequence is table1, table2, off, table1, and so on).
      Mode 2 toggles to the unmapped (or off) state between every table in the
      list of attached tables (for example, given two tables, the sequence is
      table1, off, table2, off, table1, and so on).

      The -v option turns on verbose mode, which can be useful when multiple
      tables are used in interactive sessions.  In verbose mode, the name of
      the table can be output to the terminal whenever the user changes to a
      new table with the hot-key.  The string associated with the option can be
      any short string.  If the character sequence %n appears in the string,
      the name of the current table (or a null string) will be substituted for
      the %n.  (A null argument to -v is equivalent to terse mode.)  One useful
      sequence for this mode is save-cursor goto-status-line clear-to-end-of-
      line %n restore-cursor.  This causes output of the current table name on
      the terminal's status line; in absence of a status-line, a simple
      sequence is to print the table name and RETURN [see terminfo(4) for the
      appropriate escape sequences.]  Verbose mode is only available to show
      input table status to the output side of the stream.  The output string
      for verbose mode is not itself passed through the mapping process, but is
      transmitted directly downstream with no other interpretation (it should
      thus be a string of ASCII characters or in some other externally
      available code set).

      The -t option with an argument is used to change the timer for tables in
      the stream that are interpreted in timeout mode.  Values (in clock ticks)
      between 5 and 400 are acceptable.  (Depending on the hardware, the clock


Page 2                                                                    10/89







kbdset(1)                        UNIX System V                        kbdset(1)


      is usually either 60Hz or 100Hz, thus one tick is either 1/60 or 1/100 of
      a second; with a bit of experimentation, a suitable value for one's own
      system and typing speed can be found.)  When a table that uses timeout
      mode is attached, it is assigned the current timer value.  All tables
      that are attached after setting the timer value will take on the new
      value, but tables currently attached are unaffected (this allows one to
      set different values for different tables).  The option does not affect
      other users' values.  The timer value may be set independently for input
      and output
      sides by using -t in conjunction with -o.  The value for a currently
      attached table may be reset by detaching the table, setting the value,
      then re-attaching the table.

      In the query output, the line beginning with Timers: shows the timer
      values for input and output sides of the module.

FILES
      /usr/lib/kbd - directory containing system standard map files.

SEE ALSO
      alpq(1), kbdcomp(1), kbdload(1), alp(7), kbd(7).

NOTES
      A table may be detached while it is current; however, in this case, it is
      first made non-current; this allows error recovery under adverse
      circumstances.  Detachment of a current table is not affected by the
      current hot-key mode, but always toggles to a state where no table is
      current.

      It is not possible with the -q option to see the timer values assigned to
      currently attached tables, nor to reset the value for a table that is
      currently attached.






















10/89                                                                    Page 3





Typewritten Software • bear@typewritten.org • Edmonds, WA 98026