summaryrefslogtreecommitdiff
path: root/XIproto.h
diff options
context:
space:
mode:
Diffstat (limited to 'XIproto.h')
-rw-r--r--XIproto.h342
1 files changed, 341 insertions, 1 deletions
diff --git a/XIproto.h b/XIproto.h
index 4f46f4f..dadccab 100644
--- a/XIproto.h
+++ b/XIproto.h
@@ -72,7 +72,7 @@ SOFTWARE.
#define numInputClasses 7
-#define IEVENTS 16
+#define IEVENTS 19
#define IERRORS 5
#define CLIENT_REQ 1
@@ -114,6 +114,9 @@ struct tmask
#define XI_DeviceKeystateNotify 13
#define XI_DeviceButtonstateNotify 14
#define XI_DevicePresenceNotify 15
+#define XI_DeviceEnterNotify 16
+#define XI_DeviceLeaveNotify 17
+#define XI_PointerKeyboardPairingChangedNotify 18
/*********************************************************
*
@@ -156,6 +159,17 @@ struct tmask
#define X_SetDeviceValuators 33
#define X_GetDeviceControl 34
#define X_ChangeDeviceControl 35
+#define X_QueryDevicePointer 36
+#define X_WarpDevicePointer 37
+#define X_ChangeDeviceCursor 38
+#define X_ChangePointerKeyboardPairing 39
+#define X_RegisterPairingClient 40
+#define X_GrabAccessControl 41
+#define X_ChangeWindowAccess 42
+#define X_QueryWindowAccess 43
+#define X_SetClientPointer 44
+#define X_GetClientPointer 45
+#define X_GetPairedPointer 46
/*********************************************************
*
@@ -1415,6 +1429,281 @@ typedef struct {
/**********************************************************
*
+ * QueryDevicePointer.
+ *
+ */
+
+typedef struct {
+ CARD8 reqType; /* input extension major code */
+ CARD8 ReqType; /* always X_QueryDevicePointer */
+ CARD16 length B16;
+ Window win;
+ CARD8 deviceid;
+ CARD8 pad0;
+ CARD16 pad1 B16;
+} xQueryDevicePointerReq;
+
+
+typedef struct {
+ CARD8 repType; /* X_Reply */
+ CARD8 RepType; /* always X_QueryDevicePointer */
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ Window root B32;
+ Window child B32;
+ INT16 rootX B16;
+ INT16 rootY B16;
+ INT16 winX B16;
+ INT16 winY B16;
+ CARD16 mask B16;
+ BYTE sameScreen;
+ BYTE shared; /* sharing the core cursor? */
+ CARD32 pad0 B32;
+} xQueryDevicePointerReply;
+
+
+/**********************************************************
+ *
+ * WarpDevicePointer.
+ *
+ */
+
+typedef struct {
+ CARD8 reqType; /* input extension major code */
+ CARD8 ReqType; /* always X_WarpDevicePointer */
+ CARD16 length B16;
+ Window src_win B32;
+ Window dst_win B32;
+ INT16 src_x B16;
+ INT16 src_y B16;
+ CARD16 src_width B16;
+ CARD16 src_height B16;
+ INT16 dst_x B16;
+ INT16 dst_y B16;
+ CARD8 deviceid;
+ CARD8 pad0;
+ CARD16 pad1 B16;
+} xWarpDevicePointerReq;
+
+/**********************************************************
+ *
+ * ChangeDeviceCursor.
+ *
+ */
+
+typedef struct {
+ CARD8 reqType; /* input extension major code */
+ CARD8 ReqType; /* always X_ChangeDeviceCursor */
+ CARD16 length B16;
+ Window win B32;
+ Cursor cursor B32;
+ CARD8 deviceid;
+ CARD8 pad0;
+ CARD16 pad1;
+} xChangeDeviceCursorReq;
+
+/**********************************************************
+ *
+ * ChangePointerKeyboardPairing.
+ *
+ */
+
+typedef struct {
+ CARD8 reqType; /* input extension major code */
+ CARD8 ReqType; /* always X_ChangePointerKeyboardPairing */
+ CARD16 length B16;
+ CARD8 pointer; /* ID of pointer devices */
+ CARD8 keyboard; /* ID of keyboard device */
+ CARD16 pad0;
+} xChangePointerKeyboardPairingReq;
+
+/**********************************************************
+ *
+ * RegisterPairingClient.
+ *
+ */
+
+typedef struct {
+ CARD8 reqType; /* input extension major code */
+ CARD8 ReqType; /* always X_RegisterPairingClient */
+ CARD16 length B16;
+ CARD8 disable; /* True to disable registration */
+ CARD8 pad0;
+ CARD16 pad1 B16;
+} xRegisterPairingClientReq;
+
+typedef struct {
+ CARD8 repType; /* input extension major code */
+ CARD8 RepType; /* always X_RegisterPairingClient */
+ CARD16 sequenceNumber B16;
+ CARD32 length B32; /* 0 */
+ CARD8 success; /* True on success, false otherwise */
+ CARD8 pad0;
+ CARD16 pad1 B16;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+ CARD32 pad6 B32;
+} xRegisterPairingClientReply;
+
+/**********************************************************
+ *
+ * GrabAccessControl.
+ *
+ */
+
+typedef struct {
+ CARD8 reqType; /* input extension major code */
+ CARD8 ReqType; /* always X_GrabAccessControl */
+ CARD16 length B16;
+ BOOL ungrab; /* true if request is ungrab request */
+ CARD8 pad0, pad1, pad2;
+} xGrabAccessControlReq;
+
+typedef struct {
+ CARD8 repType; /* input extension major code */
+ CARD8 RepType; /* always X_GrabAccessControl */
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD8 success;
+ CARD8 pad0,
+ pad1,
+ pad2;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+ CARD32 pad6 B32;
+ CARD32 pad7 B32;
+} xGrabAccessControlReply;
+
+/**********************************************************
+ *
+ * ChangeWindowAccess.
+ *
+ */
+
+typedef struct {
+ CARD8 reqType; /* input extension major opcode */
+ CARD8 ReqType; /* Always X_ChangeWindowAccess */
+ CARD16 length B16;
+ Window win B32;
+ CARD8 npermit; /* number of devices for permit rule */
+ CARD8 ndeny; /* number of devices for deny rule */
+ CARD8 defaultRule; /* default rule */
+ CARD8 clear; /* WindowAccessClearPerm,
+ WindowAccessClearDeny,
+ WindowAccessClearRule,
+ WindowAccessClearAll */
+} xChangeWindowAccessReq;
+
+/**********************************************************
+ *
+ * QueryWindowAccess
+ *
+ */
+
+typedef struct {
+ CARD8 reqType; /* input extension major code */
+ CARD8 ReqType; /* always X_QueryWindowAccess */
+ CARD16 length B16;
+ Window win B32;
+} xQueryWindowAccessReq;
+
+typedef struct {
+ CARD8 repType; /* input extension major opcode */
+ CARD8 RepType; /* Always X_QueryWindowAccess */
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD8 defaultRule; /* default rule setting */
+ CARD8 npermit; /* number of devices in permit */
+ CARD8 ndeny; /* number of devices in deny */
+ CARD8 pad0;
+ CARD32 pad1 B32;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+} xQueryWindowAccessReply;
+
+
+
+/**********************************************************
+ *
+ * SetClientPointer.
+ *
+ */
+
+typedef struct {
+ CARD8 reqType;
+ CARD8 ReqType; /* Always X_SetClientPointer */
+ CARD16 length B16;
+ Window win B32;
+ CARD8 deviceid;
+ CARD8 pad0;
+ CARD16 pad1 B16;
+} xSetClientPointerReq;
+
+
+/**********************************************************
+ *
+ * GetClientPointer.
+ *
+ */
+typedef struct {
+ CARD8 reqType;
+ CARD8 ReqType; /* Always X_GetClientPointer */
+ CARD16 length B16;
+ Window win B32;
+} xGetClientPointerReq;
+
+typedef struct {
+ CARD8 repType; /* input extension major opcode */
+ CARD8 RepType; /* Always X_GetClientPointer */
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ BOOL set; /* client pointer is set */
+ CARD8 deviceid;
+ CARD16 pad0 B16;
+ CARD32 pad1 B32;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+} xGetClientPointerReply;
+
+/**********************************************************
+ *
+ * GetPairedPointer.
+ *
+ */
+
+typedef struct {
+ CARD8 reqType;
+ CARD8 ReqType; /* Always X_GetPairedPointer */
+ CARD16 length B16;
+ CARD8 deviceid;
+ CARD8 pad0;
+ CARD16 pad1 B16;
+} xGetPairedPointerReq;
+
+typedef struct {
+ CARD8 repType; /* input extension major opcode */
+ CARD8 RepType; /* Always X_GetClientPointer */
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ BOOL paired; /* keyboard is paired */
+ CARD8 deviceid;
+ CARD16 pad0 B16;
+ CARD32 pad1 B32;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+} xGetPairedPointerReply;
+
+/**********************************************************
+ *
* Input extension events.
*
* DeviceValuator
@@ -1610,6 +1899,57 @@ typedef struct
CARD32 pad06 B32;
} devicePresenceNotify;
+
+/**********************************************************
+ *
+ * deviceEnterNotify.
+ *
+ */
+
+typedef struct
+ {
+ BYTE type;
+ CARD8 deviceid;
+ CARD16 sequenceNumber B16;
+ Time time B32;
+ Window root B32;
+ Window event B32;
+ Window child B32;
+ INT16 rootX B16;
+ INT16 rootY B16;
+ INT16 eventX B16;
+ INT16 eventY B16;
+ KeyButMask state B16;
+ BYTE mode;
+ BYTE flags;
+ } deviceEnterNotify;
+
+typedef deviceEnterNotify deviceLeaveNotify;
+
+/**********************************************************
+ *
+ * pairingChangedNotify.
+ *
+ */
+
+typedef struct
+ {
+ BYTE type;
+ BYTE pad00;
+ CARD16 sequenceNumber B16;
+ Time time B32;
+ CARD8 pointer;
+ CARD8 keyboard;
+ CARD16 pad0;
+ CARD32 pad1;
+ CARD32 pad2;
+ CARD32 pad3;
+ CARD32 pad4;
+ CARD32 pad5;
+ CARD32 pad6;
+ } pairingChangedNotify;
+
+
#undef Window
#undef Time
#undef KeyCode