Index of Section 3 Manual Pages
| Interix / SUA | XkbGetKeyExplicitComponents.3 | Interix / SUA |
XkbGetKeyExplicitComponents(3XkXXkbGetKeyExplicitComponents(3Xkb)
FUNCTION"
NAME
XkbGetKeyExplicitComponents - Obtain the explicit compo-
nents (the explicit array) for a subset of the keys in a
keyboard description
SYNOPSIS
Status XkbGetKeyExplicitComponents ( dpy, first, num, xkb
)
Display * dpy;
unsigned int first;
unsigned int num;
XkbDescPtr xkb;
ARGUMENTS
- dpy connection to server
- first
keycode of first key to fetch
- num number of keys for which to get explicit info
- xkb Xkb description in which to put results
DESCRIPTION
Whenever a client remaps the keyboard using core protocol
requests, Xkb examines the map to determine likely default
values for the components that cannot be specified using
the core protocol (see Core Keyboard Mapping to Xkb Key-
board Mapping Transformation for more information on how
Xkb chooses the default values).
DO THE FOUR PAGES OF "CORE KEYBOARD MAPPING TO XKB KEY-
BOARD MAPPING TRANSFORMATION" NEED TO BE ADDED HERE?
This automatic remapping might replace definitions explic-
itly requested by an application, so the Xkb keyboard
description defines an explicit components mask for each
key. Any aspects of the automatic remapping listed in the
explicit components mask for a key are not changed by the
automatic keyboard mapping.
The explicit components masks are held in the explicit
field of the server map, which is an array indexed by key-
code. Each entry in this array is a mask that is a bitwise
inclusive OR of the values shown in Table 1.
Table 1 Explicit Component Masks
---------------------------------------------------------------
Bit in Explicit Mask Value Protects Against
---------------------------------------------------------------
ExplicitKeyType1 (1<<0) Automatic determination of the
key type associated with
Group1.
ExplicitKeyType2 (1<<1) Automatic determination of the
key type associated with
Group2.
ExplicitKeyType3 (1<<2) Automatic determination of the
key type associated with
Group3.
ExplicitKeyType4 (1<<3) Automatic determination of the
key type associated with
Group4.
ExplicitInterpret (1<<4) Application of any of the
fields of a symbol interpreta-
tion to the key in question.
ExplicitAutoRepeat (1<<5) Automatic determination of
auto-repeat status for the
key, as specified in a symbol
interpretation.
ExplicitBehavior (1<<6) Automatic assignment of the
XkbKB_Lock behavior to the
key, if the XkbSI_LockingKey
flag is set in a symbol inter-
pretation.
ExplicitVModMap (1<<7) Automatic determination of the
virtual modifier map for the
key based on the actions
assigned to the key and the
symbol interpretations that
match the key.
XkbGetKeyExplicitComponents sends a request to the server
to obtain the explicit components for num keys on the key-
board starting with key first. It waits for a reply and
returns the explicit components in the server->explicit
array of xkb. If successful, XkbGetKeyExplicitComponents
returns Success. The xkb parameter must be a pointer to a
valid Xkb keyboard description.
If the server map in the xkb parameter has not been allo-
cated, XkbGetKeyExplicitComponents allocates and initial-
izes it before obtaining the actions.
If the server does not have a compatible version of Xkb,
or the Xkb extension has not been properly initialized,
XkbGetKeyExplicitComponents returns BadMatch. If num is
less than 1 or greater than XkbMaxKeyCount, XkbGetKeyEx-
plicitComponents returns BadValue. If any allocation
errors occur, XkbGetKeyExplicitComponents returns BadAl-
loc.
DIAGNOSTICS
BadAlloc Unable to allocate storage
BadMatch A compatible version of Xkb was not avail-
able in the server or an argument has cor-
rect type and range, but is otherwise
invalid
BadValue An argument is out of range
X v11 Rel. 6.4 20 JuXkbGetKeyExplicitComponents(3Xkb)