74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync/* $Xorg: XInput.h,v 1.4 2001/02/09 02:03:23 xorgcvs Exp $ */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync/************************************************************
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncCopyright 1989, 1998 The Open Group
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncPermission to use, copy, modify, distribute, and sell this software and its
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncdocumentation for any purpose is hereby granted without fee, provided that
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncthe above copyright notice appear in all copies and that both that
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsynccopyright notice and this permission notice appear in supporting
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncdocumentation.
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncThe above copyright notice and this permission notice shall be included in
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncall copies or substantial portions of the Software.
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncTHE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncOPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncAN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncCONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncExcept as contained in this notice, the name of The Open Group shall not be
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncused in advertising or otherwise to promote the sale, use or other dealings
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncin this Software without prior written authorization from The Open Group.
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncCopyright 1989 by Hewlett-Packard Company, Palo Alto, California.
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync All Rights Reserved
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncPermission to use, copy, modify, and distribute this software and its
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncdocumentation for any purpose and without fee is hereby granted,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncprovided that the above copyright notice appear in all copies and that
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncboth that copyright notice and this permission notice appear in
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncsupporting documentation, and that the name of Hewlett-Packard not be
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncused in advertising or publicity pertaining to distribution of the
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncsoftware without specific, written prior permission.
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncHEWLETT-PACKARD DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncHEWLETT-PACKARD BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncWHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync********************************************************/
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync/* $XFree86: xc/include/extensions/XInput.h,v 1.3 2001/12/14 19:53:28 dawes Exp $ */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync/* Definitions used by the library and client */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#define FindTypeAndClass(d,type,_class,classid,offset) \
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync FindTypeAndClass(d, type, _class, KeyClass, _deviceKeyPress)
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync FindTypeAndClass(d, type, _class, KeyClass, _deviceKeyRelease)
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync FindTypeAndClass(d, type, _class, ButtonClass, _deviceButtonPress)
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync FindTypeAndClass(d, type, _class, ButtonClass, _deviceButtonRelease)
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync FindTypeAndClass(d, type, _class, ValuatorClass, _deviceMotionNotify)
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync FindTypeAndClass(d, type, _class, FocusClass, _deviceFocusIn)
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync FindTypeAndClass(d, type, _class, FocusClass, _deviceFocusOut)
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync FindTypeAndClass(d, type, _class, ProximityClass, _proximityIn)
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync FindTypeAndClass(d, type, _class, ProximityClass, _proximityOut)
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync FindTypeAndClass(d, type, _class, OtherClass, _deviceStateNotify)
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync FindTypeAndClass(d, type, _class, OtherClass, _deviceMappingNotify)
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync FindTypeAndClass(d, type, _class, OtherClass, _changeDeviceNotify)
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync { _class = ((XDevice *) d)->device_id << 8 | _devicePointerMotionHint;}
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync { _class = ((XDevice *) d)->device_id << 8 | _deviceButton1Motion;}
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync { _class = ((XDevice *) d)->device_id << 8 | _deviceButton2Motion;}
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync { _class = ((XDevice *) d)->device_id << 8 | _deviceButton3Motion;}
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync { _class = ((XDevice *) d)->device_id << 8 | _deviceButton4Motion;}
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync { _class = ((XDevice *) d)->device_id << 8 | _deviceButton5Motion;}
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync { _class = ((XDevice *) d)->device_id << 8 | _deviceButtonMotion;}
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync { _class = ((XDevice *) d)->device_id << 8 | _deviceOwnerGrabButton;}
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync { _class = ((XDevice *) d)->device_id << 8 | _deviceButtonGrab;}
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync { _class = ((XDevice *) d)->device_id << 8 | _noExtensionEvent;}
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#define BadDevice(dpy,error) _xibaddevice(dpy, &error)
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#define BadClass(dpy,error) _xibadclass(dpy, &error)
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#define BadEvent(dpy,error) _xibadevent(dpy, &error)
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#define DeviceBusy(dpy,error) _xidevicebusy(dpy, &error)
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync/***************************************************************
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync * DeviceKey events. These events are sent by input devices that
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync * support input class Keys.
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync * The location of the X pointer is reported in the coordinate
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync * fields of the x,y and x_root,y_root fields.
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsynctypedef struct
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync unsigned long serial; /* # of last request processed */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync Bool send_event; /* true if from SendEvent request */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync Display *display; /* Display the event was read from */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync Window window; /* "event" window reported relative to */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync int x, y; /* x, y coordinates in event window */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync unsigned int device_state; /* device key or button mask */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync/*******************************************************************
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync * DeviceButton events. These events are sent by extension devices
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync * that support input class Buttons.
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsynctypedef struct {
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync unsigned long serial; /* # of last request processed by server */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync Bool send_event; /* true if from a SendEvent request */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync Display *display; /* Display the event was read from */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync Window window; /* "event" window reported relative to */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync Window root; /* root window that the event occured on */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync int x, y; /* x, y coordinates in event window */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync unsigned int device_state; /* device key or button mask */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsynctypedef XDeviceButtonEvent XDeviceButtonPressedEvent;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsynctypedef XDeviceButtonEvent XDeviceButtonReleasedEvent;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync/*******************************************************************
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync * DeviceMotionNotify event. These events are sent by extension devices
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync * that support input class Valuators.
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsynctypedef struct
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync unsigned long serial; /* # of last request processed by server */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync Bool send_event; /* true if from a SendEvent request */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync Display *display; /* Display the event was read from */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync Window window; /* "event" window reported relative to */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync Window root; /* root window that the event occured on */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync int x, y; /* x, y coordinates in event window */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync unsigned int device_state; /* device key or button mask */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync/*******************************************************************
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync * DeviceFocusChange events. These events are sent when the focus
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync * of an extension device that can be focused is changed.
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsynctypedef struct
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync unsigned long serial; /* # of last request processed by server */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync Bool send_event; /* true if from a SendEvent request */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync Display *display; /* Display the event was read from */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync Window window; /* "event" window reported relative to */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync int mode; /* NotifyNormal, NotifyGrab, NotifyUngrab */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync * NotifyAncestor, NotifyVirtual, NotifyInferior,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync * NotifyNonLinear,NotifyNonLinearVirtual, NotifyPointer,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync * NotifyPointerRoot, NotifyDetailNone
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsynctypedef XDeviceFocusChangeEvent XDeviceFocusInEvent;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsynctypedef XDeviceFocusChangeEvent XDeviceFocusOutEvent;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync/*******************************************************************
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync * ProximityNotify events. These events are sent by those absolute
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync * positioning devices that are capable of generating proximity information.
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsynctypedef struct
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync unsigned long serial; /* # of last request processed by server */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync Bool send_event; /* true if this came from a SendEvent request */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync Display *display; /* Display the event was read from */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync unsigned int device_state; /* device key or button mask */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync/*******************************************************************
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync * DeviceStateNotify events are generated on EnterWindow and FocusIn
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync * for those clients who have selected DeviceState.
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsynctypedef struct
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync unsigned char class;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsynctypedef struct {
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync unsigned long serial; /* # of last request processed by server */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync Bool send_event; /* true if this came from a SendEvent request */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync Display *display; /* Display the event was read from */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsynctypedef struct {
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync unsigned char class;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsynctypedef struct {
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync unsigned char class;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsynctypedef struct {
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync unsigned char class;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync/*******************************************************************
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync * DeviceMappingNotify event. This event is sent when the key mapping,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync * modifier mapping, or button mapping of an extension device is changed.
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsynctypedef struct {
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync unsigned long serial; /* # of last request processed by server */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync Bool send_event; /* true if this came from a SendEvent request */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync Display *display; /* Display the event was read from */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync int request; /* one of MappingModifier, MappingKeyboard,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync MappingPointer */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync int count; /* defines range of change w. first_keycode*/
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync/*******************************************************************
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync * ChangeDeviceNotify event. This event is sent when an
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync * XChangeKeyboard or XChangePointer request is made.
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsynctypedef struct {
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync unsigned long serial; /* # of last request processed by server */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync Bool send_event; /* true if this came from a SendEvent request */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync Display *display; /* Display the event was read from */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync/*******************************************************************
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync * Control structures for input devices that support input class
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync * Feedback. These are used by the XGetFeedbackControl and
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync * XChangeFeedbackControl functions.
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsynctypedef struct {
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsynctypedef struct {
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsynctypedef struct {
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsynctypedef struct {
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsynctypedef struct {
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsynctypedef struct {
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsynctypedef struct {
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsynctypedef struct {
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsynctypedef struct {
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsynctypedef struct {
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsynctypedef struct {
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsynctypedef struct {
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsynctypedef struct {
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsynctypedef struct {
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync/*******************************************************************
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync * Device control structures.
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsynctypedef struct {
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsynctypedef struct {
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsynctypedef struct {
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync/*******************************************************************
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync * An array of XDeviceList structures is returned by the
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync * XListInputDevices function. Each entry contains information
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync * about one input device. Among that information is an array of
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync * pointers to structures that describe the characteristics of
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync * the input device.
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync/*******************************************************************
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync * An XDevice structure is returned by the XOpenDevice function.
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync * It contains an array of pointers to XInputClassInfo structures.
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync * Each contains information about a class of input supported by the
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync * device, including a pointer to an array of data for each type of event
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync * the device reports.
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsynctypedef struct {
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsynctypedef struct {
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync/*******************************************************************
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync * The following structure is used to return information for the
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync * XGetSelectedExtensionEvents function.
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsynctypedef struct {
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync/*******************************************************************
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync * The following structure is used to return motion history data from
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync * an input device that supports the input class Valuators.
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync * This information is returned by the XGetDeviceMotionEvents function.
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsynctypedef struct {
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync/*******************************************************************
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync * Device state structure.
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync * This is returned by the XQueryDeviceState request.
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsynctypedef struct {
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync/*******************************************************************
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync * Note that the mode field is a bitfield that reports the Proximity
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync * status of the device as well as the mode. The mode field should
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync * be OR'd with the mask DeviceMode and compared with the values
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync * Absolute and Relative to determine the mode, and should be OR'd
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync * with the mask ProximityState and compared with the values InProximity
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync * and OutOfProximity to determine the proximity state.
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsynctypedef struct {
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync unsigned char class;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsynctypedef struct {
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync unsigned char class;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsynctypedef struct {
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync unsigned char class;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync/*******************************************************************
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync * Function definitions.
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync int /* xaxis */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync int /* yaxis */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync int /* event count */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync int /* this_device_mode */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync int /* other_devices_mode */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync unsigned int /* key */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync unsigned int /* modifiers */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync unsigned int /* event_count */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync int /* this_device_mode */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync int /* other_devices_mode */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync unsigned int /* key */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync unsigned int /* modifiers */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync unsigned int /* button */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync unsigned int /* modifiers */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync unsigned int /* event_count */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync int /* this_device_mode */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync int /* other_devices_mode */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync unsigned int /* button */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync unsigned int /* modifiers */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync int /* event_mode */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync int* /* revert_to */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync int /* revert_to */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync int* /* num_feedbacks */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync unsigned long /* mask */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync int /* percent */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync unsigned int /* first */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync int /* keycount */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync int* /* syms_per_code */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync int /* first */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync int /* syms_per_code */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync int /* count */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync unsigned char* /* map[] */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync int /* nmap */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync unsigned char* /* map[] */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync unsigned int /* nmap */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync int* /* ndevices */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync int /* mode */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync int* /* valuators */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync int /* first_valuator */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync int /* num_valuators */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync int /* control */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync int /* control */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync int /* count */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync int* /* this_client_count */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync int* /* all_clients_count */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync int /* count */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync int /* mode */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync int* /* count */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync int /* count */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync int* /* nEvents */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync int* /* mode */,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync int* /* axis_count */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#endif /* _XINPUT_H_ */