XkbGetNames - Obtain symbolic names from the server
Status
XkbGetNames (Display *dpy, unsigned int
which, XkbDescPtr xkb);
- dpy
- connection to the X server
- which
- mask of names or map components to be updated
- xkb
- keyboard description to be updated
XkbGetNames retrieves symbolic names for the components of the keyboard
extension from the X server. The
which parameter specifies the name
components to be updated in the
xkb parameter, and is the bitwise
inclusive OR of the valid names mask bits defined in Table 1.
Table 1 Symbolic Names Masks |
|
|
|
|
Mask Bit |
Value |
Keyboard |
Field |
|
|
Component |
|
|
XkbKeycodesNameMask |
(1<<0) |
Xkb->names |
keycodes |
XkbGeometryNameMask |
(1<<1) |
Xkb->names |
geometry |
XkbSymbolsNameMask |
(1<<2) |
Xkb->names |
symbols |
XkbPhysSymbolsNameMask |
(1<<3) |
Xkb->names |
phys_symbols |
XkbTypesNameMask |
(1<<4) |
Xkb->names |
type |
XkbCompatNameMask |
(1<<5) |
Xkb->names |
compat |
XkbKeyTypeNamesMask |
(1<<6) |
Xkb->map |
type[*].name |
XkbKTLevelNamesMask |
(1<<7) |
Xkb->map |
type[*].lvl_names[*] |
XkbIndicatorNamesMask |
(1<<8) |
Xkb->names |
indicators[*] |
XkbKeyNamesMask |
(1<<9) |
Xkb->names |
keys[*], num_keys |
XkbKeyAliasesMask |
(1<<10) |
Xkb->names |
key_aliases[*], num_key_aliases |
XkbVirtualModNamesMask |
(1<<11) |
Xkb->names |
vmods[*] |
XkbGroupNamesMask |
(1<<12) |
Xkb->names |
groups[*] |
XkbRGNamesMask |
(1<<13) |
Xkb->names |
radio_groups[*], num_rg |
XkbComponentNamesMask |
(0x3f) |
Xkb->names |
keycodes, |
|
|
|
geometry, |
|
|
|
symbols, |
|
|
|
physical symbols, |
|
|
|
types, and |
|
|
|
compatibility map |
XkbAllNamesMask |
(0x3fff) |
Xkb->names |
all name components |
If the
names field of the keyboard description
xkb is NULL,
XkbGetNames allocates and initializes the
names component of the
keyboard description before obtaining the values specified by
which. If
the
names field of xkb is not NULL,
XkbGetNames obtains
the values specified by
which and copies them into the keyboard
description
Xkb.
If the
map component of the
xkb parameter is NULL,
XkbGetNames does not retrieve type or shift level names, even if
XkbKeyTypeNamesMask or XkbKTLevelNamesMask are set in
which.
XkbGetNames can return Success, or BadAlloc, BadLength, BadMatch, and
BadImplementation errors.
To free symbolic names, use
XkbFreeNames.
- BadAlloc
- Unable to allocate storage
- BadImplementation
- Invalid reply from server
- BadLength
- The length of a request is shorter or longer than that
required to minimally contain the arguments
- BadMatch
- A compatible version of Xkb was not available in the server
or an argument has correct type and range, but is otherwise invalid
XkbFreeNames(3)