Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ kbdset(1) — DG/UX 5.4R3.00

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

alpq(1)

kbdcomp(1M)

kbdload(1M)

alp(7)



kbdset(1)                      DG/UX 5.4R3.00                      kbdset(1)


NAME
       kbdset - attach to att_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 attkbd STREAMS module
       [see kbdcomp(1M) and attkbd(7) for general descriptions of the
       module's capabilities].  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
       subsequent 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 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 attkbd(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 composite tables that are
       interpreted in timeout mode have an asterisk after their bracketed



Licensed material--property of copyright holder(s)                         1




kbdset(1)                      DG/UX 5.4R3.00                      kbdset(1)


       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
       attkbd 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 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 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 codeset).

       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



Licensed material--property of copyright holder(s)                         2




kbdset(1)                      DG/UX 5.4R3.00                      kbdset(1)


       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.

   Future Directions
       Better control of timeout mode and values should be provided.

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

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

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





















Licensed material--property of copyright holder(s)                         3


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