<HTML>
<HEAD>
<TITLE></TITLE>
</HEAD>
<BODY>
<PRE>



XSendExtensionEvent(3X11)  X FUNCTIONS	XSendExtensionEvent(3X11)


NAME
       XSendExtensionEvent  -  send  input  extension events to a
       client

SYNTAX
       Status XSendExtensionEvent(display,  device,  destination,
       propagate, event_count, event_list, event_send)
	     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 des
	      tination	window,	 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(3X11).  This
	      request uses the w argument to identify the  desti
	      nation window as follows:

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

	   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



X Version 11		   Release 6.1				1





XSendExtensionEvent(3X11)  X FUNCTIONS	XSendExtensionEvent(3X11)


	    window is the focus window.

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

	   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.

	   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.

	   If  propagate is True and no clients have selected on
	    destination	 any  of  the  events  specified  by  the
	    event_list	array,	the  destination 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 selecting 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 oth
       erwise  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, Bad_
       Value, and BadWindow errors.

DIAGNOSTICS
       BadDevice   An invalid device was specified.   The  speci
		   fied	 device	 does  not  exist or has not been
		   opened by this  client  via	XOpenInputDevice.
		   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 spe
		   cific  range is specified for an argument, the
		   full range defined by the argument's	 type  is
		   accepted.   Any  argument  defined as a set of
		   alternatives can generate this error.



X Version 11		   Release 6.1				2





XSendExtensionEvent(3X11)  X FUNCTIONS	XSendExtensionEvent(3X11)


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

SEE ALSO
       Programming with Xlib




















































X Version 11		   Release 6.1				3


</PRE>
</BODY>
</HTML>
