Provided by: libx11-doc_1.6.4-3ubuntu0.4_all bug

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)