Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
XALLOWDEVICEEVENTS(3)					 XALLOWDEVICEEVENTS(3)

NAME
       XAllowDeviceEvents - release queued events

SYNOPSIS
       #include	<X11/extensions/XInput.h>

       int XAllowDeviceEvents( Display *display,
			       XDevice *device,
			       int event_mode,
			       Time time);
       display
	      Specifies	the connection to the X	server.

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

       event_mode
	      Specifies	the event mode.You can pass AsyncThisDevice,
	      SyncThisDevice, ReplayThisDevice,	AsyncOtherDevices,
	      SyncAll,or AsyncAll.

       time
	      Specifies	the time.You can pass either a timestamp or
	      CurrentTime.

DESCRIPTION
       The XAllowDeviceEvents function releases	some queued events if the
       client has caused a device to freeze. It	has no effect if the specified
       time is earlier than the	last-grab time of the most recent active grab
       for the client and device, or if	the specified time is later than the
       current X server	time.

       The following describes the processing that occurs depending on what
       constant	you pass to the	event_mode argument.

       o   AsyncThisDevice - If	the specified device is	frozen by the client,
	   event processing for	that device continues as usual.	If the device
	   is frozen multiple times by the client on behalf of multiple
	   separate grabs, AsyncThisDevice thaws for all.AsyncThisDevice has
	   no effect if	the specified device is	not frozen by the client, but
	   the device need not be grabbed by the client.

       o   SyncThisDevice - If the specified device is frozen and actively
	   grabbed by the client, event	processing for that device continues
	   normally until the next key or button event is reported to the
	   client. At this time, the specified device again appears to freeze.
	   However, if the reported event causes the grab to be	released, the
	   specified device does not freeze. SyncThisDevice has	no effect if
	   the specified device	is not frozen by the client or is not grabbed
	   by the client.

       o   ReplayThisDevice - If the specified device is actively grabbed by
	   the client and is frozen as the result of an	event having been sent
	   to the client (either from the activation of	a GrabDeviceButton or
	   from	a previous AllowDeviceEvents with mode SyncThisDevice, but not
	   from	a GrabDevice), the grab	is released and	that event is
	   completely reprocessed. This	time, however, the request ignores any
	   passive grabs at or above (toward the root) that the	grab-window of
	   the grab just released. The request has no effect if	the specified
	   device is not grabbed by the	client or if it	is not frozen as the
	   result of an	event.

       o   AsyncOtherDevices - If the remaining	devices	are frozen by the
	   client, event processing for	them continues as usual. If the	other
	   devices are frozen multiple times by	the client on behalf of
	   multiple grabs, AsyncOtherDevices "thaws" for all.
	   AsyncOtherDevices has no effect if the devices are not frozen by
	   the client.

       o   SyncAll - If	all devices are	frozen by the client, event processing
	   (for	all devices) continues normally	until the next button or key
	   event is reported to	the client for a grabbed device, at which time
	   all devices again appear to freeze. However,	if the reported	event
	   causes the grab to be released, then	the devices do not freeze. If
	   any device is still grabbed,	then a subsequent event	for it will
	   still cause all devices to freeze. SyncAll has no effect unless all
	   devices are frozen by the client. If	any device is frozen twice by
	   the client on behalf	of two separate	grabs, SyncAll thaws for both.
	   A subsequent	freeze for SyncAll will	only freeze each device	once.

       o   AsyncAll - If all devices are frozen	by the client, event
	   processing for all devices continues	normally. If any device	is
	   frozen multiple times by the	client on behalf of multiple separate
	   grabs, AsyncAll thaws for all. AsyncAll has no effect unless	all
	   devices are frozen by the client.

       AsyncThisDevice,	SyncThisDevice,	and ReplayThisDevice have no effect on
       the processing of events	from the remaining devices.AsyncOtherDevices
       has no effect on	the processing of events from the specified device.
       When the	event_mode is SyncAll or AsyncAll, the device parameter	is
       ignored.

       It is possible for several grabs	of different devices by	the same or
       different clients to be active simultaneously. If a device is frozen on
       behalf of any grab, no event processing is performed for	the device. It
       is possible for a single	device to be frozen because of several grabs.
       In this case, the freeze	must be	released on behalf of each grab	before
       events can again	be processed.

       XAllowDeviceEvents can generate a BadDevice or BadValue error.

DIAGNOSTICS
	   BadDevice
		  An invalid device was	specified. The specified 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
		  An invalid mode was specified	on the request.

SEE ALSO
	   XGrabDevice(3)

				  03/09/2013		 XALLOWDEVICEEVENTS(3)

NAME | SYNOPSIS | DESCRIPTION | DIAGNOSTICS | SEE ALSO

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=XAllowDeviceEvents&sektion=3&manpath=FreeBSD+12.0-RELEASE+and+Ports>

home | help