Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ kbdset(1) — UnixWare 2.01

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

alp(7)

alpq(1)

kbd(7)

kbdcomp(1M)

kbdload(1M)






       kbdset(1)                                                  kbdset(1)


       NAME
             kbdset - attach to kbd mapping tables, set modes

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

       DESCRIPTION
             The kbdset command is the normal user interface to the kbd
             STREAMS module.  [See kbdcomp(1M) 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 that
             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; it is
             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


                           Copyright 1994 Novell, Inc.               Page 1













      kbdset(1)                                                  kbdset(1)


            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(1M)] mode have an asterisk (*) preceding the Type
            field; members of 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 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(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.  Valid 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


                          Copyright 1994 Novell, Inc.               Page 2













       kbdset(1)                                                  kbdset(1)


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



                           Copyright 1994 Novell, Inc.               Page 3













      kbdset(1)                                                  kbdset(1)


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

      REFERENCES
            alp(7), alpq(1), kbd(7), kbdcomp(1M), kbdload(1M)

      NOTICES
            A table may be detached while it is current.  However, in this
            case, it is first made non-current to allow 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.
































                          Copyright 1994 Novell, Inc.               Page 4








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