manpagez: man pages & more
man XSendExtensionEvent(3)
Home | html | info | man
XSendExtensionEvent(3)            X FUNCTIONS           XSendExtensionEvent(3)




NAME

       XSendExtensionEvent - send input extension events to a client


SYNTAX

       Status  XSendExtensionEvent(Display  *display,  XDevice *device, Window
              destination,  Bool  propagate,  int   event_count,   XEventClass
              *event_list, XEvent *event_send);


ARGUMENTS

       display     Specifies the connection to the X server.

       device      Specifies  the device from which the events are to be sent.

       destination Specifies the window the event is to be sent to.   You  can
                   pass window id, PointerWindow, or InputFocus.

       propagate   Specifies a Boolean value that is either True or False.

       event_count Specifies the count of XEventClasses in event_list.

       event_list  Specifies the list of event selections to be used.

       event_send  Specifies a pointer to the event that is to be sent.


       DESCRIPTION
              The  XSendExtensionEvent request identifies the destination win-
              dow, determines  which  clients  should  receive  the  specified
              events, and ignores any active grabs.  This request requires you
              to pass an event class list.  For  a  discussion  of  the  valid
              event  class names, see XOpenDevice(3).  This request uses the w
              argument to identify the destination window as follows:

       o    If w is PointerWindow , the destination window is the window  that
            contains the pointer.

       o    If  w  is InputFocus and if the focus window contains the pointer,
            the destination window is the window that  contains  the  pointer;
            otherwise, the destination window is the focus window.

       To  determine  which  clients  should  receive  the  specified  events,
       XSendExtensionEvent uses the propagate argument as follows:

       o    If event_list is the empty set, the event is sent  to  the  client
            that  created  the  destination  window.  If that client no longer
            exists, no event is sent.

       o    If propagate is False, the event is sent to every client selecting
            on  destination any of the event types specified by the event_list
            array.

       o    If propagate is True and no clients have selected  on  destination
            any  of the events specified by the event_list array, the destina-
            tion is replaced with the  closest  ancestor  of  destination  for
            which  some client has selected a type specified by the event-list
            array and for which no intervening window has that type in its do-
            not-propagate-mask.   If no such window exists or if the window is
            an ancestor of the focus  window  and  InputFocus  was  originally
            specified  as  the  destination,  the  event  is  not  sent to any
            clients.  Otherwise, the event is reported to every client select-
            ing  on  the  final destination any of the events specified in the
            event_list array.

       The event in the XEvent structure must be one of the events defined  by
       the  input extension (or a BadValue error results) so that the X server
       can correctly byte-swap the contents as necessary.  The contents of the
       event  are  otherwise unaltered and unchecked by the X server except to
       force send_event to True in the forwarded event and to set  the  serial
       number in the event correctly.

       XSendExtensionEvent  returns  zero  if  the conversion to wire protocol
       format failed and returns nonzero otherwise.   XSendExtensionEvent  can
       generate BadClass, BadDevice, BadValue, and BadWindow errors.


DIAGNOSTICS

       BadDevice   An invalid device was specified.  The specified device does
                   not exist or has not been opened by this client via  XOpen-
                   InputDevice.   This  error  may also occur if the specified
                   device is the X keyboard or X pointer device.

       BadValue    Some numeric  value  falls  outside  the  range  of  values
                   accepted by the request.  Unless a specific range is speci-
                   fied for an argument, the full range defined by  the  argu-
                   ment's  type is accepted.  Any argument defined as a set of
                   alternatives can generate this error.

       BadWindow   A value for a Window argument does not name a defined  Win-
                   dow.


SEE ALSO

       Programming with Xlib



X Version 11                      libXi 1.2.1           XSendExtensionEvent(3)

Mac OS X 10.6 X11 - Generated Sun Mar 7 12:30:47 CST 2010
© manpagez.com 2000-2024
Individual documents may contain additional copyright information.