XSelectExtensionEvent

TriggerTek Logo
abcdefghijklmnopqrstuvwxyz_
XSelectExtensionEvent(3X11)	 X FUNCTIONS	  XSelectExtensionEvent(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 report the
       events associated with the specified  list  of  event  classes.	 Ini-
       tially,	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 inter-
       ested, 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 DeviceButtonPress event
	    with automatic passive grabbing enabled, which is associated with
	    the	 event class DeviceButtonPressGrab.  To receive DeviceButton-
	    Press events without automatic passive grabbing, use event	class
	    DeviceButtonPress  but  do	not specify event class DeviceButton-
	    PressGrab.

       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 mak-
       ing XSelectExtensionEvent requests.  Currently defined macros  include
       DeviceKeyPress,	DeviceKeyRelease,  DeviceButtonPress, DeviceButtonRe-
       lese, DeviceMotionNotify, DeviceFocusIn, DeviceFocusOut,	 ProximityIn,
       ProximityOut, DeviceStateNotify, DeviceMappiingNotify, ChangeDeviceNo-
       tify,   DevicePointerMotionHint,	   DeviceButton1Motion,	   DeviceBut-
       ton2Motion,   DeviceButton3Motion,   DeviceButton4Motion,   DeviceBut-
       ton5Motion, DeviceButtonMotion,	DeviceOwnerGrabButton,	DeviceButton-
       PressGrab, 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  specified
       window.	 The  other  lists  the event classes selected 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 Win-
		   dow.

       BadClass	   A value for an XEventClass argument is invalid.

SEE ALSO
       Programming with Xlib



						  XSelectExtensionEvent(3X11)