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



XSelectExtensionEvent(3X11)X FUNCTIONSXSelectExtensionEvent(3X11)


NAME
       XSelectExtensionEvent,	 XGetSelectedExtensionEvents	-
       select  extension  events,  get	the  list  of	currently
       selected extension events

SYNTAX
       XSelectExtensionEvent(display, w, event_list, event_count)
	     Display *display;
	     Window w;
	     XEventClass *event_list;
	     int event_count;

       XGetSelectedExtensionEvents(display,		       w,
       this_client_event_count_return,
       this_client_event_list_return,
       all_clients_event_count_return,
       all_clients_event_list_return)
	     Display *display;
	     Window w;
	     int this_client_event_count_return;
	     XEventClass *this_client_event_list_return;
	     int all_clients_event_count_return;
	     XEventClass *all_clients_event_list_return;

ARGUMENTS
       display	   Specifies the connection to the X server.

       w	   Specifies  the  window  whose  events  you are
		   interested in.

       event_list  Specifies  the  list	 of  event  classes  that
		   describe the events you are interested in.

       event_count Specifies  the  count  of event classes in the
		   event list.

       this_client_event_count_return
		   Returns the count of event classes selected by
		   this client.

       this_client_event_list_return
		   Returns a pointer to the list of event classes
		   selected by this client.

       all_clients_event_count_return
		   Returns the count of event classes selected by
		   all clients.

       all_clients_event_list_return
		   Returns a pointer to the list of event classes
		   selected by all clients.

DESCRIPTION
       The XSelectExtensionEvent request causes the X  server  to



X Version 11		   Release 6.1				1





XSelectExtensionEvent(3X11)X FUNCTIONSXSelectExtensionEvent(3X11)


       report  the  events  associated with the specified list of
       event classes.  Initially, X will not report any of  these
       events.	 Events	 are reported relative to a window.  If a
       window is not interested in a  device  event,  it  usually
       propagates  to  the  closest  ancestor that is interested,
       unless the do_not_propagate mask prohibits it.

       Multiple clients can select for the  same  events  on  the
       same window with the following restrictions:

	   Multiple clients can select events on the same window
	    because their event masks are disjoint.  When  the	X
	    server  generates  an  event,  it  reports	it to all
	    interested clients.

	   Only one client at a time can select a  DeviceButton_
	    Press  event with automatic passive grabbing enabled,
	    which is associated with the event	class  DeviceBut_
	    tonPressGrab.   To	receive	 DeviceButtonPress events
	    without automatic passive grabbing, use  event  class
	    DeviceButtonPress  but  do	not  specify  event class
	    DeviceButtonPressGrab.

       The server reports the event to all interested clients.

       Information contained in the XDevice structure returned by
       XOpenDevice  is used by macros to obtain the event classes
       that clients use in making XSelectExtensionEvent requests.
       Currently    defined    macros	include	  DeviceKeyPress,
       DeviceKeyRelease,  DeviceButtonPress,  DeviceButtonRelese,
       DeviceMotionNotify, DeviceFocusIn, DeviceFocusOut, Proxim_
       ityIn, ProximityOut, DeviceStateNotify,	DeviceMappiingNo_
       tify, ChangeDeviceNotify, DevicePointerMotionHint, Device_
       Button1Motion,  DeviceButton2Motion,  DeviceButton3Motion,
       DeviceButton4Motion,  DeviceButton5Motion, DeviceButtonMo_
       tion,  DeviceOwnerGrabButton,  DeviceButtonPressGrab,  and
       NoExtensionEvent.

       To  obtain the proper event class for a particular device,
       one of the above	 macros	 is  invoked  using  the  XDevice
       structure for that device.  For example,

       DeviceKeyPress (*device, type, eventclass);

       returns	the  DeviceKeyPress event type and the eventclass
       for selecting DeviceKeyPress events from this device.

       XSelectExtensionEvent can generate a BadWindow or BadClass
       error.	The  XGetSelectedExtensionEvents  request reports
       the extension events  selected  by  this	 client	 and  all
       clients	for  the  specified window.  This request returns
       pointers to two XEventClass arrays.  One lists  the  input
       extension  events  selected by this client from the speci
       fied window.  The other lists the event	classes	 selected



X Version 11		   Release 6.1				2





XSelectExtensionEvent(3X11)X FUNCTIONSXSelectExtensionEvent(3X11)


       by  all clients from the specified window.  You should use
       XFree to free these two arrays.

       XGetSelectedExtensionEvents  can	 generate   a	BadWindow
       error.

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

       BadClass	   A  value  for  an  XEventClass   argument   is
		   invalid.

SEE ALSO
       Programming with Xlib










































X Version 11		   Release 6.1				3


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