dwww Home | Manual pages | Find package

XkbGetKeyExplicitComponents(3)   XKB FUNCTION   XkbGetKeyExplicitComponents(3)

NAME
       XkbGetKeyExplicitComponents  -  Obtain the explicit components (the ex-
       plicit array) for a subset of the keys in a keyboard description

SYNOPSIS
       Status XkbGetKeyExplicitComponents (Display *dpy, unsigned  int  first,
              unsigned int num, XkbDescPtr xkb);

ARGUMENTS
       dpy    connection to server

       first  keycode of first key to fetch

       num    number of keys for which to get explicit info

       xkb    Xkb description in which to put results

DESCRIPTION
       Whenever a client remaps the keyboard using core protocol requests, Xkb
       examines the map to determine likely default values for the  components
       that  cannot  be  specified  using the core protocol (see Core Keyboard
       Mapping to Xkb Keyboard Mapping Transformation for more information  on
       how Xkb chooses the default values).

       DO  THE  FOUR  PAGES  OF "CORE KEYBOARD MAPPING TO XKB KEYBOARD MAPPING
       TRANSFORMATION" NEED TO BE ADDED HERE?

       This automatic remapping might replace definitions explicitly requested
       by  an application, so the Xkb keyboard description defines an explicit
       components mask for each key. Any aspects of  the  automatic  remapping
       listed in the explicit components mask for a key are not changed by the
       automatic keyboard mapping.

       The explicit components masks are held in the  explicit  field  of  the
       server  map,  which  is an array indexed by keycode. Each entry in this
       array is a mask that is a bitwise inclusive OR of the values  shown  in
       Table 1.

                      Table 1 Explicit Component Masks
       ───────────────────────────────────────────────────────────────
       Bit in Explicit Mask   Value    Protects Against
       ───────────────────────────────────────────────────────────────
       ExplicitKeyType1       (1<<0)   Automatic determination of the
                                       key   type   associated   with
                                       Group1.
       ExplicitKeyType2       (1<<1)   Automatic determination of the
                                       key   type   associated   with
                                       Group2.
       ExplicitKeyType3       (1<<2)   Automatic determination of the
                                       key   type   associated   with
                                       Group3.
       ExplicitKeyType4       (1<<3)   Automatic determination of the
                                       key   type   associated   with
                                       Group4.
       ExplicitInterpret      (1<<4)   Application   of  any  of  the
                                       fields of a symbol interpreta-
                                       tion to the key in question.
       ExplicitAutoRepeat     (1<<5)   Automatic   determination   of
                                       auto-repeat  status  for   the
                                       key,  as specified in a symbol
                                       interpretation.

       ExplicitBehavior       (1<<6)   Automatic  assignment  of  the
                                       XkbKB_Lock   behavior  to  the
                                       key, if  the  XkbSI_LockingKey
                                       flag is set in a symbol inter-
                                       pretation.
       ExplicitVModMap        (1<<7)   Automatic determination of the
                                       virtual  modifier  map for the
                                       key based on the  actions  as-
                                       signed to the key and the sym-
                                       bol interpretations that match
                                       the key.

       XkbGetKeyExplicitComponents sends a request to the server to obtain the
       explicit components for num keys on  the  keyboard  starting  with  key
       first.  It waits for a reply and returns the explicit components in the
       server->explicit array of xkb.  If successful,  XkbGetKeyExplicitCompo-
       nents  returns  Success. The xkb parameter must be a pointer to a valid
       Xkb keyboard description.

       If the server map in the xkb parameter  has  not  been  allocated,  Xk-
       bGetKeyExplicitComponents allocates and initializes it before obtaining
       the actions.

       If the server does not have a compatible version of Xkb, or the Xkb ex-
       tension  has not been properly initialized, XkbGetKeyExplicitComponents
       returns BadMatch. If num is less than 1 or greater than XkbMaxKeyCount,
       XkbGetKeyExplicitComponents  returns BadValue. If any allocation errors
       occur, XkbGetKeyExplicitComponents returns BadAlloc.

DIAGNOSTICS
       BadAlloc       Unable to allocate storage

       BadMatch       A compatible version of Xkb was  not  available  in  the
                      server or an argument has correct type and range, but is
                      otherwise invalid

       BadValue       An argument is out of range

X v11 Rel. 6.4                    20 Jul 1999   XkbGetKeyExplicitComponents(3)

Generated by dwww version 1.15 on Sun Jun 23 21:14:24 CEST 2024.