add QueryDevicePointer request + reply
authorPeter Hutterer <peter@cs.unisa.edu.au>
Wed, 20 Dec 2006 03:06:06 +0000 (13:36 +1030)
committerPeter Hutterer <whot@hyena.localdomain>
Wed, 20 Dec 2006 03:06:06 +0000 (13:36 +1030)
        add WarpDevicePointer request

Changelog [new file with mode: 0644]
XI.h
XInput.h
XIproto.h

diff --git a/Changelog b/Changelog
new file mode 100644 (file)
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 (file)
--- 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"
 
index e4066b1..c6d0ae8 100644 (file)
--- 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_ */
index 36b5a49..33d4708 100644 (file)
--- 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