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 Map-
       ping  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 ar-
       ray is a mask that is a bitwise inclusive OR of the values shown in  Ta-
       ble 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.16 on Sat Oct 3 05:37:53 CEST 2026.