Index of Section 3 Manual Pages

Interix / SUAXAllowDeviceEvents.3Interix / SUA

XAllowDeviceEvents(3)      X FUNCTIONS      XAllowDeviceEvents(3)



NAME
       XAllowDeviceEvents - release queued events

SYNTAX
       int  XAllowDeviceEvents(Display *display, XDevice *device,
              int event_mode, Time time);

ARGUMENTS
       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 Async-
                   ThisDevice, 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 depend-
       ing on what constant you pass to the event_mode  argument.

       AsyncThisDevice
                   If  the  specified  device  is  frozen  by the
                   client, event processing for that device  con-
                   tinues as usual.  If the device is frozen mul-
                   tiple times by the client on behalf of  multi-
                   ple  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.

       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.  SyncThisDe-
                   vice  has no effect if the specified device is
                   not frozen by the client or is not grabbed  by
                   the client.

       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 com-
                   pletely 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.

       AsyncOtherDevices
                   If the remaining devices  are  frozen  by  the
                   client, event processing for them continues as
                   usual.  If the other devices are frozen multi-
                   ple  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.

       SyncAll     If all devices are frozen by the client, event
                   processing  (for  all  devices) continues nor-
                   mally 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,  Syn-
                   cAll  thaws for both.  A subsequent freeze for
                   SyncAll will only freeze each device once.

       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  process-
       ing  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 pro-
       cessing 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  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    An  invalid mode was specified on the request.

SEE ALSO
       XGrabDevice(3)
       Programming With Xlib



X Version 11               libXi 1.1.3      XAllowDeviceEvents(3)

Interix / SUAHosted at SUA Community for Interix, SUA and SFUInterix / SUA