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