Man Linux: Main Page and Category List

NAME

       XkbNoteIndicatorChanges - Notes the changes in a changes structure

SYNOPSIS

       void      XkbNoteIndicatorChanges      (XkbIndicatorChangesPtr     old,
              XkbIndicatorNotifyEvent *new, unsigned int wanted);

ARGUMENTS

       - old  XkbIndicatorChanges structure to be updated

       - new  event from which changes are to be copied

       - wanted
              which changes are to be noted

DESCRIPTION

       Whenever   an   indicator   changes    state,    the    server    sends
       XkbIndicatorStateNotify  events  to  all interested clients. Similarly,
       whenever   an   indicator’s   map    changes,    the    server    sends
       XkbIndicatorMapNotify events to all interested clients.

       To  receive  XkbIndicatorStateNotify  events,  use XkbSelectEvents with
       both  the  bits_to_change  and  values_for_bits  parameters  containing
       XkbIndicatorStateNotifyMask.  To  receive XkbIndicatorMapNotify events,
       use XkbSelectEvents with XkbIndicatorMapNotifyMask.

       To   receive    events    for    only    specific    indicators,    use
       XkbSelectEventDetails.      Set    the    event_type    parameter    to
       XkbIndicatorStateNotify or  XkbIndicatorMapNotify,  and  set  both  the
       bits_to_change  and  values_for_bits  detail parameters to a mask where
       each bit specifies one indicator, turning on those  bits  that  specify
       the indicators for which you want to receive events.

       The changed parameter is a mask that is the bitwise inclusive OR of the
       indicators   that   have   changed.   If   the   event   is   of   type
       XkbIndicatorMapNotify,  changed  reports  the maps that changed. If the
       event  is  of  type  XkbIndicatorStateNotify,   changed   reports   the
       indicators that have changed state.  state is a mask that specifies the
       current state of all indicators, whether they have changed or not,  for
       both XkbIndicatorStateNotify and IndicatorMapNotify events.

       When  your client application receives either a XkbIndicatorStateNotify
       event or XkbIndicatorMapNotify event, you can note  the  changes  in  a
       changes structure by calling XkbNoteIndicatorChanges.

       The wanted parameter is the bitwise inclusive OR of XkbIndicatorMapMask
       and XkbIndicatorStateMask.  XkbNoteIndicatorChanges copies any  changes
       reported  in  new  and  specified  in  wanted  into  the changes record
       specified by old.

STRUCTURES

       Both types of indicator events use the same structure:

       typedef struct _XkbIndicatorNotify {
         int            type;       /∗ Xkb extension base event code */
         unsigned long  serial;     /∗ X server serial number for event */
         Bool           send_event; /∗ True => synthetically generated */
         Display *      display;    /∗ server connection where event generated */
         Time           time;       /∗ server time when event generated */
         int            xkb_type;   /∗ specifies state or map notify */
         int            device;     /∗ Xkb device ID, will not be XkbUseCoreKbd */
         unsigned int   changed;    /∗ mask of indicators with new state or map */
         unsigned int   state;      /∗ current state of all indicators */
       } XkbIndicatorNotifyEvent;

       xkb_type is either  XkbIndicatorStateNotify  or  XkbIndicatorMapNotify,
       depending  on  whether  the  event is a kbIndicatorStateNotify event or
       kbIndicatorMapNotify event.

SEE ALSO

       XkbIndicatorMapMask(3),                       XkbIndicatorStateMask(3),
       XkbSelectEventDetails(3), XkbSelectEvents(3)