#ifndef _XIPROTO_H
#define _XIPROTO_H
#include <X11/Xproto.h>
#include <X11/X.h>
#define Window CARD32
#define Time CARD32
#define KeyCode CARD8
#define MORE_EVENTS 0x80
#define DEVICE_BITS 0x7F
#define InputClassBits 0x3F
#define ModeBitsShift 6
#define numInputClasses 7
#define IEVENTS 15
#define IERRORS 5
#define CLIENT_REQ 1
typedef struct _XExtEventInfo
{
Mask mask;
BYTE type;
BYTE word;
} XExtEventInfo;
typedef unsigned char *Pointer;
struct tmask
{
Mask mask;
Pointer dev;
};
#define XI_DeviceValuator 0
#define XI_DeviceKeyPress 1
#define XI_DeviceKeyRelease 2
#define XI_DeviceButtonPress 3
#define XI_DeviceButtonRelease 4
#define XI_DeviceMotionNotify 5
#define XI_DeviceFocusIn 6
#define XI_DeviceFocusOut 7
#define XI_ProximityIn 8
#define XI_ProximityOut 9
#define XI_DeviceStateNotify 10
#define XI_DeviceMappingNotify 11
#define XI_ChangeDeviceNotify 12
#define XI_DeviceKeystateNotify 13
#define XI_DeviceButtonstateNotify 14
#define X_GetExtensionVersion 1
#define X_ListInputDevices 2
#define X_OpenDevice 3
#define X_CloseDevice 4
#define X_SetDeviceMode 5
#define X_SelectExtensionEvent 6
#define X_GetSelectedExtensionEvents 7
#define X_ChangeDeviceDontPropagateList 8
#define X_GetDeviceDontPropagateList 9
#define X_GetDeviceMotionEvents 10
#define X_ChangeKeyboardDevice 11
#define X_ChangePointerDevice 12
#define X_GrabDevice 13
#define X_UngrabDevice 14
#define X_GrabDeviceKey 15
#define X_UngrabDeviceKey 16
#define X_GrabDeviceButton 17
#define X_UngrabDeviceButton 18
#define X_AllowDeviceEvents 19
#define X_GetDeviceFocus 20
#define X_SetDeviceFocus 21
#define X_GetFeedbackControl 22
#define X_ChangeFeedbackControl 23
#define X_GetDeviceKeyMapping 24
#define X_ChangeDeviceKeyMapping 25
#define X_GetDeviceModifierMapping 26
#define X_SetDeviceModifierMapping 27
#define X_GetDeviceButtonMapping 28
#define X_SetDeviceButtonMapping 29
#define X_QueryDeviceState 30
#define X_SendExtensionEvent 31
#define X_DeviceBell 32
#define X_SetDeviceValuators 33
#define X_GetDeviceControl 34
#define X_ChangeDeviceControl 35
typedef struct {
CARD8 reqType;
CARD8 ReqType;
CARD16 length B16;
CARD16 nbytes B16;
CARD8 pad1, pad2;
} xGetExtensionVersionReq;
typedef struct {
CARD8 repType;
CARD8 RepType;
CARD16 sequenceNumber B16;
CARD32 length B32;
CARD16 major_version B16;
CARD16 minor_version B16;
BOOL present;
CARD8 pad1, pad2, pad3;
CARD32 pad01 B32;
CARD32 pad02 B32;
CARD32 pad03 B32;
CARD32 pad04 B32;
} xGetExtensionVersionReply;
typedef struct {
CARD8 reqType;
CARD8 ReqType;
CARD16 length B16;
} xListInputDevicesReq;
typedef struct {
CARD8 repType;
CARD8 RepType;
CARD16 sequenceNumber B16;
CARD32 length B32;
CARD8 ndevices;
CARD8 pad1, pad2, pad3;
CARD32 pad01 B32;
CARD32 pad02 B32;
CARD32 pad03 B32;
CARD32 pad04 B32;
CARD32 pad05 B32;
} xListInputDevicesReply;
typedef struct _xDeviceInfo *xDeviceInfoPtr;
typedef struct _xAnyClassinfo *xAnyClassPtr;
typedef struct _xAnyClassinfo {
#if defined(__cplusplus) || defined(c_plusplus)
CARD8 c_class;
#else
CARD8 class;
#endif
CARD8 length;
} xAnyClassInfo;
typedef struct _xDeviceInfo {
CARD32 type B32;
CARD8 id;
CARD8 num_classes;
CARD8 use;
CARD8 pad1;
} xDeviceInfo;
typedef struct _xKeyInfo *xKeyInfoPtr;
typedef struct _xKeyInfo {
#if defined(__cplusplus) || defined(c_plusplus)
CARD8 c_class;
#else
CARD8 class;
#endif
CARD8 length;
KeyCode min_keycode;
KeyCode max_keycode;
CARD16 num_keys B16;
CARD8 pad1,pad2;
} xKeyInfo;
typedef struct _xButtonInfo *xButtonInfoPtr;
typedef struct _xButtonInfo {
#if defined(__cplusplus) || defined(c_plusplus)
CARD8 c_class;
#else
CARD8 class;
#endif
CARD8 length;
CARD16 num_buttons B16;
} xButtonInfo;
typedef struct _xValuatorInfo *xValuatorInfoPtr;
typedef struct _xValuatorInfo {
#if defined(__cplusplus) || defined(c_plusplus)
CARD8 c_class;
#else
CARD8 class;
#endif
CARD8 length;
CARD8 num_axes;
CARD8 mode;
CARD32 motion_buffer_size B32;
} xValuatorInfo;
typedef struct _xAxisInfo *xAxisInfoPtr;
typedef struct _xAxisInfo {
CARD32 resolution B32;
CARD32 min_value B32;
CARD32 max_value B32;
} xAxisInfo;
typedef struct {
CARD8 reqType;
CARD8 ReqType;
CARD16 length B16;
CARD8 deviceid;
BYTE pad1, pad2, pad3;
} xOpenDeviceReq;
typedef struct {
CARD8 repType;
CARD8 RepType;
CARD16 sequenceNumber B16;
CARD32 length B32;
CARD8 num_classes;
BYTE pad1, pad2, pad3;
CARD32 pad00 B32;
CARD32 pad01 B32;
CARD32 pad02 B32;
CARD32 pad03 B32;
CARD32 pad04 B32;
} xOpenDeviceReply;
typedef struct {
#if defined(__cplusplus) || defined(c_plusplus)
CARD8 c_class;
#else
CARD8 class;
#endif
CARD8 event_type_base;
} xInputClassInfo;
typedef struct {
CARD8 reqType;
CARD8 ReqType;
CARD16 length B16;
CARD8 deviceid;
BYTE pad1, pad2, pad3;
} xCloseDeviceReq;
typedef struct {
CARD8 reqType;
CARD8 ReqType;
CARD16 length B16;
CARD8 deviceid;
CARD8 mode;
BYTE pad1, pad2;
} xSetDeviceModeReq;
typedef struct {
CARD8 repType;
CARD8 RepType;
CARD16 sequenceNumber B16;
CARD32 length B32;
CARD8 status;
BYTE pad1, pad2, pad3;
CARD32 pad01 B32;
CARD32 pad02 B32;
CARD32 pad03 B32;
CARD32 pad04 B32;
CARD32 pad05 B32;
} xSetDeviceModeReply;
typedef struct {
CARD8 reqType;
CARD8 ReqType;
CARD16 length B16;
Window window B32;
CARD16 count B16;
CARD16 pad00 B16;
} xSelectExtensionEventReq;
typedef struct {
CARD8 reqType;
CARD8 ReqType;
CARD16 length B16;
Window window B32;
} xGetSelectedExtensionEventsReq;
typedef struct {
CARD8 repType;
CARD8 RepType;
CARD16 sequenceNumber B16;
CARD32 length B32;
CARD16 this_client_count B16;
CARD16 all_clients_count B16;
CARD32 pad01 B32;
CARD32 pad02 B32;
CARD32 pad03 B32;
CARD32 pad04 B32;
CARD32 pad05 B32;
} xGetSelectedExtensionEventsReply;
typedef struct {
CARD8 reqType;
CARD8 ReqType;
CARD16 length B16;
Window window B32;
CARD16 count B16;
CARD8 mode;
BYTE pad;
} xChangeDeviceDontPropagateListReq;
typedef struct {
CARD8 reqType;
CARD8 ReqType;
CARD16 length B16;
Window window B32;
} xGetDeviceDontPropagateListReq;
typedef struct {
CARD8 repType;
CARD8 RepType;
CARD16 sequenceNumber B16;
CARD32 length B32;
CARD16 count B16;
CARD16 pad00 B16;
CARD32 pad01 B32;
CARD32 pad02 B32;
CARD32 pad03 B32;
CARD32 pad04 B32;
CARD32 pad05 B32;
} xGetDeviceDontPropagateListReply;
typedef struct {
CARD8 reqType;
CARD8 ReqType;
CARD16 length B16;
Time start B32;
Time stop B32;
CARD8 deviceid;
BYTE pad1, pad2, pad3;
} xGetDeviceMotionEventsReq;
typedef struct {
CARD8 repType;
CARD8 RepType;
CARD16 sequenceNumber B16;
CARD32 length B32;
CARD32 nEvents B32;
CARD8 axes;
CARD8 mode;
BYTE pad1, pad2;
CARD32 pad01 B32;
CARD32 pad02 B32;
CARD32 pad03 B32;
CARD32 pad04 B32;
} xGetDeviceMotionEventsReply;
typedef struct {
CARD8 reqType;
CARD8 ReqType;
CARD16 length B16;
CARD8 deviceid;
BYTE pad1, pad2, pad3;
} xChangeKeyboardDeviceReq;
typedef struct {
CARD8 repType;
CARD8 RepType;
CARD16 sequenceNumber B16;
CARD32 length B32;
CARD8 status;
BYTE pad1, pad2, pad3;
CARD32 pad01 B32;
CARD32 pad02 B32;
CARD32 pad03 B32;
CARD32 pad04 B32;
CARD32 pad05 B32;
} xChangeKeyboardDeviceReply;
typedef struct {
CARD8 reqType;
CARD8 ReqType;
CARD16 length B16;
CARD8 xaxis;
CARD8 yaxis;
CARD8 deviceid;
BYTE pad1;
} xChangePointerDeviceReq;
typedef struct {
CARD8 repType;
CARD8 RepType;
CARD16 sequenceNumber B16;
CARD32 length B32;
CARD8 status;
BYTE pad1, pad2, pad3;
CARD32 pad01 B32;
CARD32 pad02 B32;
CARD32 pad03 B32;
CARD32 pad04 B32;
CARD32 pad05 B32;
} xChangePointerDeviceReply;
typedef struct {
CARD8 reqType;
CARD8 ReqType;
CARD16 length B16;
Window grabWindow B32;
Time time B32;
CARD16 event_count B16;
CARD8 this_device_mode;
CARD8 other_devices_mode;
BOOL ownerEvents;
CARD8 deviceid;
CARD16 pad01 B16;
} xGrabDeviceReq;
typedef struct {
CARD8 repType;
CARD8 RepType;
CARD16 sequenceNumber B16;
CARD32 length B32;
CARD8 status;
BYTE pad1, pad2, pad3;
CARD32 pad01 B32;
CARD32 pad02 B32;
CARD32 pad03 B32;
CARD32 pad04 B32;
CARD32 pad05 B32;
} xGrabDeviceReply;
typedef struct {
CARD8 reqType;
CARD8 ReqType;
CARD16 length B16;
Time time B32;
CARD8 deviceid;
BYTE pad1, pad2, pad3;
} xUngrabDeviceReq;
typedef struct {
CARD8 reqType;
CARD8 ReqType;
CARD16 length B16;
Window grabWindow B32;
CARD16 event_count B16;
CARD16 modifiers B16;
CARD8 modifier_device;
CARD8 grabbed_device;
CARD8 key;
BYTE this_device_mode;
BYTE other_devices_mode;
BOOL ownerEvents;
BYTE pad1, pad2;
} xGrabDeviceKeyReq;
typedef struct {
CARD8 reqType;
CARD8 ReqType;
CARD16 length B16;
Window grabWindow B32;
CARD16 modifiers B16;
CARD8 modifier_device;
CARD8 key;
CARD8 grabbed_device;
BYTE pad1, pad2, pad3;
} xUngrabDeviceKeyReq;
typedef struct {
CARD8 reqType;
CARD8 ReqType;
CARD16 length B16;
Window grabWindow B32;
CARD8 grabbed_device;
CARD8 modifier_device;
CARD16 event_count B16;
CARD16 modifiers B16;
BYTE this_device_mode;
BYTE other_devices_mode;
CARD8 button;
BOOL ownerEvents;
BYTE pad1, pad2;
} xGrabDeviceButtonReq;
typedef struct {
CARD8 reqType;
CARD8 ReqType;
CARD16 length B16;
Window grabWindow B32;
CARD16 modifiers B16;
CARD8 modifier_device;
CARD8 button;
CARD8 grabbed_device;
BYTE pad1, pad2, pad3;
} xUngrabDeviceButtonReq;
typedef struct {
CARD8 reqType;
CARD8 ReqType;
CARD16 length B16;
Time time B32;
CARD8 mode;
CARD8 deviceid;
BYTE pad1, pad2;
} xAllowDeviceEventsReq;
typedef struct {
CARD8 reqType;
CARD8 ReqType;
CARD16 length B16;
CARD8 deviceid;
BYTE pad1, pad2, pad3;
} xGetDeviceFocusReq;
typedef struct {
CARD8 repType;
CARD8 RepType;
CARD16 sequenceNumber B16;
CARD32 length B32;
CARD32 focus B32;
Time time B32;
CARD8 revertTo;
BYTE pad1, pad2, pad3;
CARD32 pad01 B32;
CARD32 pad02 B32;
CARD32 pad03 B32;
} xGetDeviceFocusReply;
typedef struct {
CARD8 reqType;
CARD8 ReqType;
CARD16 length B16;
Window focus B32;
Time time B32;
CARD8 revertTo;
CARD8 device;
CARD16 pad01 B16;
} xSetDeviceFocusReq;
typedef struct {
CARD8 reqType;
CARD8 ReqType;
CARD16 length B16;
CARD8 deviceid;
BYTE pad1, pad2, pad3;
} xGetFeedbackControlReq;
typedef struct {
CARD8 repType;
CARD8 RepType;
CARD16 sequenceNumber B16;
CARD32 length B32;
CARD16 num_feedbacks B16;
CARD16 pad01 B16;
CARD32 pad02 B32;
CARD32 pad03 B32;
CARD32 pad04 B32;
CARD32 pad05 B32;
CARD32 pad06 B32;
} xGetFeedbackControlReply;
typedef struct {
#if defined(__cplusplus) || defined(c_plusplus)
CARD8 c_class;
#else
CARD8 class;
#endif
CARD8 id;
CARD16 length B16;
} xFeedbackState;
typedef struct {
#if defined(__cplusplus) || defined(c_plusplus)
CARD8 c_class;
#else
CARD8 class;
#endif
CARD8 id;
CARD16 length B16;
CARD16 pitch B16;
CARD16 duration B16;
CARD32 led_mask B32;
CARD32 led_values B32;
BOOL global_auto_repeat;
CARD8 click;
CARD8 percent;
BYTE pad;
BYTE auto_repeats[32];
} xKbdFeedbackState;
typedef struct {
#if defined(__cplusplus) || defined(c_plusplus)
CARD8 c_class;
#else
CARD8 class;
#endif
CARD8 id;
CARD16 length B16;
CARD8 pad1,pad2;
CARD16 accelNum B16;
CARD16 accelDenom B16;
CARD16 threshold B16;
} xPtrFeedbackState;
typedef struct {
#if defined(__cplusplus) || defined(c_plusplus)
CARD8 c_class;
#else
CARD8 class;
#endif
CARD8 id;
CARD16 length B16;
CARD32 resolution B32;
INT32 min_value B32;
INT32 max_value B32;
} xIntegerFeedbackState;
typedef struct {
#if defined(__cplusplus) || defined(c_plusplus)
CARD8 c_class;
#else
CARD8 class;
#endif
CARD8 id;
CARD16 length B16;
CARD16 max_symbols B16;
CARD16 num_syms_supported B16;
} xStringFeedbackState;
typedef struct {
#if defined(__cplusplus) || defined(c_plusplus)
CARD8 c_class;
#else
CARD8 class;
#endif
CARD8 id;
CARD16 length B16;
CARD8 percent;
BYTE pad1, pad2, pad3;
CARD16 pitch B16;
CARD16 duration B16;
} xBellFeedbackState;
typedef struct {
#if defined(__cplusplus) || defined(c_plusplus)
CARD8 c_class;
#else
CARD8 class;
#endif
CARD8 id;
CARD16 length B16;
CARD32 led_mask B32;
CARD32 led_values B32;
} xLedFeedbackState;
typedef struct {
CARD8 reqType;
CARD8 ReqType;
CARD16 length B16;
CARD32 mask B32;
CARD8 deviceid;
CARD8 feedbackid;
BYTE pad1, pad2;
} xChangeFeedbackControlReq;
typedef struct {
#if defined(__cplusplus) || defined(c_plusplus)
CARD8 c_class;
#else
CARD8 class;
#endif
CARD8 id;
CARD16 length B16;
} xFeedbackCtl;
typedef struct {
#if defined(__cplusplus) || defined(c_plusplus)
CARD8 c_class;
#else
CARD8 class;
#endif
CARD8 id;
CARD16 length B16;
KeyCode key;
CARD8 auto_repeat_mode;
INT8 click;
INT8 percent;
INT16 pitch B16;
INT16 duration B16;
CARD32 led_mask B32;
CARD32 led_values B32;
} xKbdFeedbackCtl;
typedef struct {
#if defined(__cplusplus) || defined(c_plusplus)
CARD8 c_class;
#else
CARD8 class;
#endif
CARD8 id;
CARD16 length B16;
CARD8 pad1,pad2;
INT16 num B16;
INT16 denom B16;
INT16 thresh B16;
} xPtrFeedbackCtl;
typedef struct {
#if defined(__cplusplus) || defined(c_plusplus)
CARD8 c_class;
#else
CARD8 class;
#endif
CARD8 id;
CARD16 length B16;
INT32 int_to_display B32;
} xIntegerFeedbackCtl;
typedef struct {
#if defined(__cplusplus) || defined(c_plusplus)
CARD8 c_class;
#else
CARD8 class;
#endif
CARD8 id;
CARD16 length B16;
CARD8 pad1,pad2;
CARD16 num_keysyms B16;
} xStringFeedbackCtl;
typedef struct {
#if defined(__cplusplus) || defined(c_plusplus)
CARD8 c_class;
#else
CARD8 class;
#endif
CARD8 id;
CARD16 length B16;
INT8 percent;
BYTE pad1, pad2, pad3;
INT16 pitch B16;
INT16 duration B16;
} xBellFeedbackCtl;
typedef struct {
#if defined(__cplusplus) || defined(c_plusplus)
CARD8 c_class;
#else
CARD8 class;
#endif
CARD8 id;
CARD16 length B16;
CARD32 led_mask B32;
CARD32 led_values B32;
} xLedFeedbackCtl;
typedef struct {
CARD8 reqType;
CARD8 ReqType;
CARD16 length B16;
CARD8 deviceid;
KeyCode firstKeyCode;
CARD8 count;
BYTE pad1;
} xGetDeviceKeyMappingReq;
typedef struct {
CARD8 repType;
CARD8 RepType;
CARD16 sequenceNumber B16;
CARD32 length B32;
CARD8 keySymsPerKeyCode;
CARD8 pad0;
CARD16 pad1 B16;
CARD32 pad2 B32;
CARD32 pad3 B32;
CARD32 pad4 B32;
CARD32 pad5 B32;
CARD32 pad6 B32;
} xGetDeviceKeyMappingReply;
typedef struct {
CARD8 reqType;
CARD8 ReqType;
CARD16 length B16;
CARD8 deviceid;
KeyCode firstKeyCode;
CARD8 keySymsPerKeyCode;
CARD8 keyCodes;
} xChangeDeviceKeyMappingReq;
typedef struct {
CARD8 reqType;
CARD8 ReqType;
CARD16 length B16;
CARD8 deviceid;
BYTE pad1, pad2, pad3;
} xGetDeviceModifierMappingReq;
typedef struct {
CARD8 repType;
CARD8 RepType;
CARD16 sequenceNumber B16;
CARD32 length B32;
CARD8 numKeyPerModifier;
CARD8 pad0;
CARD16 pad1 B16;
CARD32 pad2 B32;
CARD32 pad3 B32;
CARD32 pad4 B32;
CARD32 pad5 B32;
CARD32 pad6 B32;
} xGetDeviceModifierMappingReply;
typedef struct {
CARD8 reqType;
CARD8 ReqType;
CARD16 length B16;
CARD8 deviceid;
CARD8 numKeyPerModifier;
CARD16 pad1 B16;
} xSetDeviceModifierMappingReq;
typedef struct {
CARD8 repType;
CARD8 RepType;
CARD16 sequenceNumber B16;
CARD32 length B32;
CARD8 success;
CARD8 pad0;
CARD16 pad1 B16;
CARD32 pad2 B32;
CARD32 pad3 B32;
CARD32 pad4 B32;
CARD32 pad5 B32;
CARD32 pad6 B32;
} xSetDeviceModifierMappingReply;
typedef struct {
CARD8 reqType;
CARD8 ReqType;
CARD16 length B16;
CARD8 deviceid;
BYTE pad1, pad2, pad3;
} xGetDeviceButtonMappingReq;
typedef struct {
CARD8 repType;
CARD8 RepType;
CARD16 sequenceNumber B16;
CARD32 length B32;
CARD8 nElts;
BYTE pad1, pad2, pad3;
CARD32 pad01 B32;
CARD32 pad02 B32;
CARD32 pad03 B32;
CARD32 pad04 B32;
CARD32 pad05 B32;
} xGetDeviceButtonMappingReply;
typedef struct {
CARD8 reqType;
CARD8 ReqType;
CARD16 length B16;
CARD8 deviceid;
CARD8 map_length;
BYTE pad1, pad2;
} xSetDeviceButtonMappingReq;
typedef struct {
CARD8 repType;
CARD8 RepType;
CARD16 sequenceNumber B16;
CARD32 length B32;
CARD8 status;
BYTE pad0;
CARD16 pad1 B16;
CARD32 pad2 B32;
CARD32 pad3 B32;
CARD32 pad4 B32;
CARD32 pad5 B32;
CARD32 pad6 B32;
} xSetDeviceButtonMappingReply;
typedef struct {
CARD8 reqType;
CARD8 ReqType;
CARD16 length B16;
CARD8 deviceid;
BYTE pad1, pad2, pad3;
} xQueryDeviceStateReq;
typedef struct {
CARD8 repType;
CARD8 RepType;
CARD16 sequenceNumber B16;
CARD32 length B32;
CARD8 num_classes;
BYTE pad0;
CARD16 pad1 B16;
CARD32 pad2 B32;
CARD32 pad3 B32;
CARD32 pad4 B32;
CARD32 pad5 B32;
CARD32 pad6 B32;
} xQueryDeviceStateReply;
typedef struct {
#if defined(__cplusplus) || defined(c_plusplus)
CARD8 c_class;
#else
CARD8 class;
#endif
CARD8 length;
CARD8 num_keys;
BYTE pad1;
CARD8 keys[32];
} xKeyState;
typedef struct {
#if defined(__cplusplus) || defined(c_plusplus)
CARD8 c_class;
#else
CARD8 class;
#endif
CARD8 length;
CARD8 num_buttons;
BYTE pad1;
CARD8 buttons[32];
} xButtonState;
typedef struct {
#if defined(__cplusplus) || defined(c_plusplus)
CARD8 c_class;
#else
CARD8 class;
#endif
CARD8 length;
CARD8 num_valuators;
CARD8 mode;
} xValuatorState;
typedef struct {
CARD8 reqType;
CARD8 ReqType;
CARD16 length B16;
Window destination B32;
CARD8 deviceid;
BOOL propagate;
CARD16 count B16;
CARD8 num_events;
BYTE pad1,pad2,pad3;
} xSendExtensionEventReq;
typedef struct {
CARD8 reqType;
CARD8 ReqType;
CARD16 length B16;
CARD8 deviceid;
CARD8 feedbackid;
CARD8 feedbackclass;
INT8 percent;
} xDeviceBellReq;
typedef struct {
CARD8 reqType;
CARD8 ReqType;
CARD16 length B16;
CARD8 deviceid;
CARD8 first_valuator;
CARD8 num_valuators;
BYTE pad1;
} xSetDeviceValuatorsReq;
typedef struct {
CARD8 repType;
CARD8 RepType;
CARD16 sequenceNumber B16;
CARD32 length B32;
CARD8 status;
BYTE pad1, pad2, pad3;
CARD32 pad01 B32;
CARD32 pad02 B32;
CARD32 pad03 B32;
CARD32 pad04 B32;
CARD32 pad05 B32;
} xSetDeviceValuatorsReply;
typedef struct {
CARD8 reqType;
CARD8 ReqType;
CARD16 length B16;
CARD16 control B16;
CARD8 deviceid;
BYTE pad2;
} xGetDeviceControlReq;
typedef struct {
CARD8 repType;
CARD8 RepType;
CARD16 sequenceNumber B16;
CARD32 length B32;
CARD8 status;
BYTE pad1, pad2, pad3;
CARD32 pad01 B32;
CARD32 pad02 B32;
CARD32 pad03 B32;
CARD32 pad04 B32;
CARD32 pad05 B32;
} xGetDeviceControlReply;
typedef struct {
CARD16 control B16;
CARD16 length B16;
} xDeviceState;
typedef struct {
CARD16 control B16;
CARD16 length B16;
CARD32 num_valuators B32;
} xDeviceResolutionState;
typedef struct {
CARD8 reqType;
CARD8 ReqType;
CARD16 length B16;
CARD16 control B16;
CARD8 deviceid;
BYTE pad0;
} xChangeDeviceControlReq;
typedef struct {
CARD8 repType;
CARD8 RepType;
CARD16 sequenceNumber B16;
CARD32 length B32;
CARD8 status;
BYTE pad1, pad2, pad3;
CARD32 pad01 B32;
CARD32 pad02 B32;
CARD32 pad03 B32;
CARD32 pad04 B32;
CARD32 pad05 B32;
} xChangeDeviceControlReply;
typedef struct {
CARD16 control B16;
CARD16 length B16;
} xDeviceCtl;
typedef struct {
CARD16 control B16;
CARD16 length B16;
CARD8 first_valuator;
CARD8 num_valuators;
CARD8 pad1,pad2;
} xDeviceResolutionCtl;
typedef struct {
CARD16 control;
CARD16 length;
CARD32 min_x;
CARD32 max_x;
CARD32 min_y;
CARD32 max_y;
CARD32 button_threshold;
} xDeviceTSCalibrationCtl;
typedef struct
{
BYTE type;
CARD8 deviceid;
CARD16 sequenceNumber B16;
KeyButMask device_state B16;
CARD8 num_valuators;
CARD8 first_valuator;
INT32 valuator0 B32;
INT32 valuator1 B32;
INT32 valuator2 B32;
INT32 valuator3 B32;
INT32 valuator4 B32;
INT32 valuator5 B32;
} deviceValuator;
typedef struct
{
BYTE type;
BYTE detail;
CARD16 sequenceNumber B16;
Time time B32;
Window root B32;
Window event B32;
Window child B32;
INT16 root_x B16;
INT16 root_y B16;
INT16 event_x B16;
INT16 event_y B16;
KeyButMask state B16;
BOOL same_screen;
CARD8 deviceid;
} deviceKeyButtonPointer;
typedef struct
{
BYTE type;
BYTE detail;
CARD16 sequenceNumber B16;
Time time B32;
Window window B32;
BYTE mode;
CARD8 deviceid;
BYTE pad1, pad2;
CARD32 pad00 B32;
CARD32 pad01 B32;
CARD32 pad02 B32;
CARD32 pad03 B32;
} deviceFocus;
typedef struct
{
BYTE type;
BYTE deviceid;
CARD16 sequenceNumber B16;
Time time B32;
CARD8 num_keys;
CARD8 num_buttons;
CARD8 num_valuators;
CARD8 classes_reported;
CARD8 buttons[4];
CARD8 keys[4];
INT32 valuator0 B32;
INT32 valuator1 B32;
INT32 valuator2 B32;
} deviceStateNotify;
typedef struct
{
BYTE type;
BYTE deviceid;
CARD16 sequenceNumber B16;
CARD8 keys[28];
} deviceKeyStateNotify;
typedef struct
{
BYTE type;
BYTE deviceid;
CARD16 sequenceNumber B16;
CARD8 buttons[28];
} deviceButtonStateNotify;
typedef struct
{
BYTE type;
BYTE deviceid;
CARD16 sequenceNumber B16;
CARD8 request;
KeyCode firstKeyCode;
CARD8 count;
BYTE pad1;
Time time B32;
CARD32 pad00 B32;
CARD32 pad01 B32;
CARD32 pad02 B32;
CARD32 pad03 B32;
CARD32 pad04 B32;
} deviceMappingNotify;
typedef struct
{
BYTE type;
BYTE deviceid;
CARD16 sequenceNumber B16;
Time time B32;
CARD8 request;
BYTE pad1, pad2, pad3;
CARD32 pad00 B32;
CARD32 pad01 B32;
CARD32 pad02 B32;
CARD32 pad03 B32;
CARD32 pad04 B32;
} changeDeviceNotify;
#undef Window
#undef Time
#undef KeyCode
#endif