Provided by: libx11-doc_1.8.4-2_all bug

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)