Man Linux: Main Page and Category List

NAME

       XkbSelectEventDetails  -  Selects or deselects for a specific Xkb event
       and optionally places conditions  on  when  events  of  that  type  are
       reported to your client

SYNOPSIS

       Bool XkbSelectEventDetails (Display *display, unsigned int device_spec,
              unsigned  int  event_type,  unsigned  long  int  bits_to_change,
              unsigned long int values_for_bits);

ARGUMENTS

       display
              connection to the X server

       device_spec
              device ID, or XkbUseCoreKbd

       event_type
              Xkb event type of interest

       bits_to_change
              determines events to be selected / deselected

       values_for_bits
              1=>select, 0->deselect; for events in bits_to_change

DESCRIPTION

       Xkb  events  are  selected using an event mask, much the same as normal
       core X events are selected. However, unlike selecting  core  X  events,
       where  you  must  specify  the  selection  status  (on  or off) for all
       possible event types whenever you wish to change the selection criteria
       for any one event, Xkb allows you to restrict the specification to only
       the event types you wish to change. This means that you do not need  to
       remember  the  event  selection values for all possible types each time
       you want to change one of them.

       Many  Xkb  event  types   are   generated   under   several   different
       circumstances.  When selecting to receive an Xkb event, you may specify
       either that you want it delivered under all circumstances, or that  you
       want it delivered only for a subset of the possible circumstances.

       You  can  also deselect an event type that was previously selected for,
       using the same granularity.

       Xkb provides two functions to  select  and  deselect  delivery  of  Xkb
       events.   XkbSelectEvents  allows you to select or deselect delivery of
       more  than  one  Xkb  event  type  at  once.  Events   selected   using
       XkbSelectEvents  are  delivered to your program under all circumstances
       that generate the events.  To restrict delivery of an event to a subset
       of  the  conditions  under  which it occurs, use XkbSelectEventDetails.
       XkbSelectEventDetails  only  allows  you  to   change   the   selection
       conditions  for  a  single  event at a time, but it provides a means of
       fine-tuning the conditions under which the event is delivered.

       To select or deselect for a specific Xkb  event  and  optionally  place
       conditions on when events of that type are reported to your client, use
       XkbSelectEventDetails.  This allows you to exercise a finer granularity
       of control over delivery of Xkb events with XkbSelectEvents.

       While   XkbSelectEvents   allows   multiple   events  to  be  selected,
       XkbSelectEventDetails changes the selection criteria for a single  type
       of   Xkb   event.   The   interpretation   of  the  bits_to_change  and
       values_for_bits masks depends on the event type in question.

       XkbSelectEventDetails changes the Xkb  event  selection  mask  for  the
       keyboard  specified  by  device_spec  and  the  Xkb  event specified by
       event_type.  To turn on event selection for an event  detail,  set  the
       bit  for  the  detail  in  the  bits_to_change  parameter  and  set the
       corresponding bit in the values_for_bits parameter. To turn  off  event
       detail  selection  for  a  detail,  set  the  bit for the detail in the
       bits_to_change parameter and do not set the corresponding  bit  in  the
       values_for_bits parameter.

       If  an  invalid  event  type  is  specified,  a BadValue protocol error
       results. If a bit is not set in the bits_to_change parameter,  but  the
       corresponding  bit  is set in the values_for_bits parameter, a BadMatch
       protocol error results. If an  undefined  bit  is  set  in  either  the
       bits_to_change  or  the  values_for_bits parameter, a BadValue protocol
       error results.

       For each type of Xkb event,  the  legal  event  details  that  you  can
       specify in the XkbSelectEventDetails request are listed in the chapters
       that describe each event in detail.

DIAGNOSTICS

       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

SEE ALSO

       XkbSelectEvents(3), XkbUseCoreKbd(3)