XkbGetKeyExplicitComponents(3)



NAME

   XkbGetKeyExplicitComponents  -  Obtain  the  explicit  components  (the
   explicit 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
                                   interpretation  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
                                   interpretation.
   ExplicitVModMap        (1<<7)   Automatic determination of the
                                   virtual modifier map  for  the
                                   key   based   on  the  actions
                                   assigned to the  key  and  the
                                   symbol   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,
   XkbGetKeyExplicitComponents 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,
   XkbGetKeyExplicitComponents  allocates  and   initializes   it   before
   obtaining the actions.

   If  the  server  does  not have a compatible version of Xkb, or the Xkb
   extension      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




Free and Open Source Software


Free Software Video

Useful Programs

Free Online Courses

Open Opportunity

Open Business