summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Hutterer <peter@cs.unisa.edu.au>2006-12-20 13:36:06 +1030
committerPeter Hutterer <whot@hyena.localdomain>2006-12-20 13:36:06 +1030
commitcc055ae804f4dfd8b09b8993673b4670e5cf61ce (patch)
tree5159aa999ebaa85bc0bd563dfeb5855dc8e84d40
parenta0be30da79e35e7d503c6eeb9021c2f63beb2176 (diff)
add QueryDevicePointer request + reply
add WarpDevicePointer request
-rw-r--r--Changelog7
-rw-r--r--XI.h3
-rw-r--r--XInput.h14
-rw-r--r--XIproto.h62
4 files changed, 86 insertions, 0 deletions
diff --git a/Changelog b/Changelog
new file mode 100644
index 0000000..89ced93
--- /dev/null
+++ b/Changelog
@@ -0,0 +1,7 @@
+MPX changelog
+
+== 20.12.06 ==
+add QueryDevicePointer request + reply
+add WarpDevicePointer request
+
+
diff --git a/XI.h b/XI.h
index fbecd80..3b8b548 100644
--- a/XI.h
+++ b/XI.h
@@ -110,6 +110,9 @@ SOFTWARE.
#define sz_xGetDeviceControlReply 32
#define sz_xChangeDeviceControlReq 8
#define sz_xChangeDeviceControlReply 32
+#define sz_xQueryDevicePointerReq 12
+#define sz_xQueryDevicePointerReply 32
+#define sz_xWarpDevicePointerReq 28
#define INAME "XInputExtension"
diff --git a/XInput.h b/XInput.h
index e4066b1..c6d0ae8 100644
--- a/XInput.h
+++ b/XInput.h
@@ -1195,6 +1195,20 @@ extern void XFreeDeviceControl(
XDeviceControl* /* control */
);
+extern Bool XQueryDevicePointer(
+ Display* /* display */,
+ XDevice* /* device */,
+ Window /* win */,
+ Window* /* root */,
+ Window* /* child */,
+ int* /* root_x */,
+ int* /* root_y */,
+ int* /* win_x */,
+ int* /* win_y */,
+ unsigned int* /* mask */,
+ Bool* /* shared */
+);
+
_XFUNCPROTOEND
#endif /* _XINPUT_H_ */
diff --git a/XIproto.h b/XIproto.h
index 36b5a49..33d4708 100644
--- a/XIproto.h
+++ b/XIproto.h
@@ -156,6 +156,8 @@ struct tmask
#define X_SetDeviceValuators 33
#define X_GetDeviceControl 34
#define X_ChangeDeviceControl 35
+#define X_QueryDevicePointer 36
+#define X_WarpDevicePointer 37
/*********************************************************
*
@@ -1415,6 +1417,65 @@ 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;
+
+
+/**********************************************************
+ *
* Input extension events.
*
* DeviceValuator
@@ -1610,6 +1671,7 @@ typedef struct
CARD32 pad06 B32;
} devicePresenceNotify;
+
#undef Window
#undef Time
#undef KeyCode