XkbGetNames(3)

NAME
XkbGetNames - Obtain symbolic names from the server

SYNOPSIS

Status XkbGetNames (Display *dpy, unsigned int which, XkbDescPtr xkb);

ARGUMENTS

dpy connection to the X server

which
    mask of names or map components to be updated

xkb keyboard description to be updated

DESCRIPTION

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.

DIAGNOSTICS

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

SEE ALSO
XkbFreeNames(3)