VMS Help  —  RTL Routines, SMG$  SMG$GET_KEYBOARD_ATTRIBUTES
    The Get Keyboard Attributes routine gets information about a
    virtual keyboard and leaves it in a user-supplied area: the
    keyboard information table (KIT).

    Format

      SMG$GET_KEYBOARD_ATTRIBUTES  keyboard-id ,keyboard-info-table

                                   ,keyboard-info-table-size

1  –  Returns

    OpenVMS usage:cond_value
    type:         longword (unsigned)
    access:       write only
    mechanism:    by value

2  –  Arguments

 keyboard-id

    OpenVMS usage:identifier
    type:         longword (unsigned)
    access:       read only
    mechanism:    by reference

    Keyboard identifier. The keyboard-id argument is the address of
    an unsigned longword containing the identifier of the virtual
    keyboard from which to read.

    Create a virtual keyboard by calling the SMG$CREATE_VIRTUAL_
    KEYBOARD routine.

 keyboard-info-table

    OpenVMS usage:unspecified
    type:         unspecified
    access:       write only
    mechanism:    by reference, array reference

    Receives the keyboard attributes. The keyboard-info-table
    argument is the address of a data block into which the keyboard
    attributes are written.

    The KIT is a byte block whose size and field references are
    described in $SMGDEF. It is the caller's responsibility to
    allocate the correct size block and to pass its address to this
    routine.

    The values in the keyboard-info-table can be accessed through the
    following symbolic names:

    SMG$L_DEV_CHAR     Device characteristics (longword)
    SMG$L_DEV_DEPEND   Specific characteristics 1 (longword)
    SMG$L_DEV_DEPEND2  Specific characteristics 2 (longword)
    SMG$L_DEV_DEPEND3  Specific characteristics 3 (longword)
    SMG$B_DEV_CLASS    Device class (byte) - for example, DC$_TERM
    SMG$B_RECALL_NUM   Size of recall buffer (byte)*
    SMG$B_DEVTYPE      Physical device type (byte) - for example,
                       TT$_VT100
    SMG$B_TYPEAHD_     First character in type-ahead buffer (byte)*
    CHAR
    SMG$W_NUM_COLUMNS  Terminal width (word)
    SMG$W_TYPEAHD_CNT  Number of characters in type-ahead buffer
                       (word)*

    Items marked with an asterisk (*) will be zero unless the device
    is a terminal (DEVCLASS = DC$_TERM).

 keyboard-info-table-size

    OpenVMS usage:longword_unsigned
    type:         longword (unsigned)
    access:       read only
    mechanism:    by reference

    Size of the keyboard information table. The keyboard-info-table-
    size argument is the address of an unsigned longword containing
    the size of the KIT in bytes.

    The size you specify must be exact. You can specify this size
    with the symbolic constant SMG$C_KEYBOARD_INFO_BLOCK.
Close Help