Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ kbdset(1) — Reliant UNIX 5.44c4

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

alpq(1)

kbdcomp(1M)

kbdload(1M)

alp(7)

kbd(7)

kbdset(1)                      06 Dec 1994                        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
     kbdset is the normal user interface to the kbd STREAMS module [see
     kbdcomp(1M) and kbd(7) for general descriptions of the module's capa-
     bilities]. The kbdset command allows users to attach to pre-loaded
     tables, detach from tables, and to 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 upon 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.

     Presence of the -q option causes the kbdset command to list tables
     which can be accessed by the invoking user. In this case all subse-
     quent options are ignored. The output from the -q option lists the
     user's current hot-key settings, current timer values, 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 out-
     put 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, oth-
     erwise 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 the type  pub. Tables that are interpreted in timeout mode [see
     kbdcomp(1M)] have an asterisk (*) preceding the Type field; members of



Page 1                       Reliant UNIX 5.44                      12, 196

kbdset(1)                      06 Dec 1994                        kbdset(1)

     composite tables 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
     specification.

     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(1M) 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 sub-
     stituted 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 the
     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 out-
     put 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 codeset).

     The -t option with an argument is used to change the timer for tables


Page 2                       Reliant UNIX 5.44                      12, 196

kbdset(1)                      06 Dec 1994                        kbdset(1)

     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 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.

LIMITATIONS
     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.

CAVEATS
     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.

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

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



















Page 3                       Reliant UNIX 5.44                      12, 196

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