Provided by: libx11-doc_1.4.99.1-0ubuntu2_all bug


       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

                                 Table 1 Symbolic Names Masks
       Mask Bit                 Value      Keyboard     Field
       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,
                                                        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

       To free symbolic names, use XkbFreeNames.


       BadAlloc       Unable to allocate storage

                      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