MirBSD manpage: XDeviceTimeCoord(3), XGetDeviceMotionEvents(3)

XGetDeviceMotionEvents(3X11X FUNCTIONXGetDeviceMotionEvents(3X11)


     XGetDeviceMotionEvents, XDeviceTimeCoord - get device motion


     XDeviceTimeCoord *XGetDeviceMotionEvents(Display *display,
          XDevice *device, Time start, Time stop, int
          *nevents_return, int *mode_return, int


     display     Specifies the connection to the X server.

     device      Specifies the device whose motion history is to
                 be queried.

     stop        Specify the time interval in which the events
                 are returned from the motion history buffer. You
                 can pass a timestamp or CurrentTime.

                 Returns the number of events from the motion
                 history buffer.

     mode_return Returns the mode of the device (Absolute or

                 Returns the count of axes being reported.


     The server may retain the recent history of the device
     motion and do so to a finer granularity than is reported by
     DeviceMotionNotify events. The XGetDeviceMotionEvents
     request makes this history available.

     The XGetDeviceMotionEvents request returns all events in the
     motion history buffer that fall between the specified start
     and stop times, inclusive. If the start time is later than
     the stop time or if the start time is in the future, no
     events are returned. If the stop time is in the future, it
     is equivalent to specifying CurrentTime.

     The mode indicates whether the device is reporting absolute
     positional data (mode=Absolute) or relative motion data
     (mode=Relative). Some devices allow their mode to be changed
     via the XSetDeviceMode request. These constants are defined
     in the file XI.h.  The axis_count returns the number of axes
     or valuators being reported by the device.

XFree86                   Version 4.5.0                         1

XGetDeviceMotionEvents(3X11X FUNCTIONXGetDeviceMotionEvents(3X11)

     XGetDeviceMotionEvents can generate a BadDevice, or BadMatch


     The XDeviceTimeCoord structure contains:

     typedef struct {
          Time time;
          int *data;
     } XDeviceTimeCoord;

     The time member is set to the time, in milliseconds. The
     data member is a pointer to an array of integers. These
     integers are set to the values of each valuator or axis
     reported by the device.  There is one element in the array
     per axis of motion reported by the device.  The value of the
     array elements depends on the mode of the device.  If the
     mode is Absolute, the values are the raw values generated by
     the device.  These may be scaled by client programs using
     the maximum values that the device can generate.  The max-
     imum value for each axis of the device is reported in the
     max_val field of the XAxisInfo returned by the XListInput-
     Devices request.  If the mode is Relative, the data values
     are the relative values generated by the device.

     You should use XFreeDeviceMotionEvents to free the data
     returned by this request.

     Errors returned by this request: BadDevice, BadMatch.


     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.

     BadMatch    This error may occur if an XGetDeviceMo-
                 tionEvents request is made specifying a device
                 that has no valuators and reports no axes of


     Programming with Xlib

XFree86                   Version 4.5.0                         2

Generated on 2021-12-07 11:07:08 by $MirOS: src/scripts/roff2htm,v 1.103 2021/01/23 20:24:35 tg Exp $ — This product includes material provided by mirabilos.

These manual pages and other documentation are copyrighted by their respective writers; their sources are available at the project’s CVSweb, AnonCVS and other mirrors. The rest is Copyright © 2002–2021 MirBSD.

This manual page’s HTML representation is supposed to be valid XHTML/1.1; if not, please send a bug report — diffs preferred.