x11proto-input: Changes to 'upstream-unstable'
XI.h | 11 ++++
XInput.h | 82 +++++++++++++++++++++++++++++++++
XIproto.h | 143 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++--
configure.ac | 2
4 files changed, 232 insertions(+), 6 deletions(-)
New commits:
commit 60c449cbb1769569ed5e98c75f26bd15627bd146
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date: Mon Dec 15 12:16:10 2008 +1000
Protect _XiDevicePresenceNotifyEvent declaration against C++ includes. #19075
X.Org Bug 19075 <http://bugs.freedesktop.org/show_bug.cgi?id=19075>
diff --git a/XInput.h b/XInput.h
index 702706d..3092e62 100644
--- a/XInput.h
+++ b/XInput.h
@@ -156,9 +156,16 @@ SOFTWARE.
#define NoExtensionEvent(d,type,_class) \
{ _class = ((XDevice *) d)->device_id << 8 | _noExtensionEvent;}
+#if defined(__cplusplus) || defined(c_plusplus)
+extern "C" {
+#endif
+ extern int _XiGetDevicePresenceNotifyEvent(Display *);
+#if defined(__cplusplus) || defined(c_plusplus)
+}
+#endif
+
#define DevicePresence(dpy, type, _class) \
{ \
- extern int _XiGetDevicePresenceNotifyEvent(Display *); \
type = _XiGetDevicePresenceNotifyEvent(dpy); \
_class = (0x10000 | _devicePresence); \
}
commit d38e79ca3ddd6031ca4a335eb2faf99294a6731f
Author: Peter Hutterer <peter.hutterer@redhat.com>
Date: Wed Nov 26 21:37:06 2008 +1000
inputproto 1.5.0
diff --git a/configure.ac b/configure.ac
index b343465..56b9bc7 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1,5 +1,5 @@
AC_PREREQ([2.57])
-AC_INIT([InputProto], [1.4.4], [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg])
+AC_INIT([InputProto], [1.5.0], [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg])
AM_INIT_AUTOMAKE([foreign dist-bzip2])
XORG_RELEASE_VERSION
commit 5829370cafb112e488156e7ac1dd7902cfd1659a
Author: Peter Hutterer <peter.hutterer@redhat.com>
Date: Mon Nov 17 10:58:31 2008 +1000
Remove Configure/QueryDeviceProperty.
(cherry picked from commit 18ef04f8a2026cca5d2d2b796ec2ea1c949bad36)
Removing Configure/QueryDevice property from XInput.h as well.
Not cherry-picked as XInput.h is moved to libXi in master.
Conflicts:
XIproto.h
diff --git a/XI.h b/XI.h
index 878ba0f..7c8c111 100644
--- a/XI.h
+++ b/XI.h
@@ -108,9 +108,6 @@ SOFTWARE.
#define sz_xChangeDeviceControlReply 32
#define sz_xListDevicePropertiesReq 8
#define sz_xListDevicePropertiesReply 32
-#define sz_xQueryDevicePropertyReq 12
-#define sz_xQueryDevicePropertyReply 32
-#define sz_xConfigureDevicePropertyReq 12
#define sz_xChangeDevicePropertyReq 20
#define sz_xDeleteDevicePropertyReq 12
#define sz_xGetDevicePropertyReq 24
diff --git a/XInput.h b/XInput.h
index 34fbb33..702706d 100644
--- a/XInput.h
+++ b/XInput.h
@@ -1244,23 +1244,6 @@ extern void XChangeDeviceProperty(
int /* nelements */
);
-extern XIPropertyInfo* XQueryDeviceProperty(
- Display* /* dpy */,
- XDevice* /* dev */,
- Atom /* property */
-);
-
-extern void
-XConfigureDeviceProperty(
- Display* /* dpy */,
- XDevice* /* dev */,
- Atom /* property */,
- Bool /* pending */,
- Bool /* range */,
- int /* num_values */,
- long* /* values */
-);
-
extern void
XDeleteDeviceProperty(
Display* /* dpy */,
@@ -1276,7 +1259,6 @@ XGetDeviceProperty(
long /* offset*/,
long /* length*/,
Bool /* delete*/,
- Bool /* pending*/,
Atom /* req_type*/,
Atom* /* actual_type*/,
int* /* actual_format*/,
diff --git a/XIproto.h b/XIproto.h
index c84fe39..eef3ee8 100644
--- a/XIproto.h
+++ b/XIproto.h
@@ -159,11 +159,9 @@ struct tmask
#define X_ChangeDeviceControl 35
/* XI 1.5 */
#define X_ListDeviceProperties 36
-#define X_QueryDeviceProperty 37
-#define X_ConfigureDeviceProperty 38
-#define X_ChangeDeviceProperty 39
-#define X_DeleteDeviceProperty 40
-#define X_GetDeviceProperty 41
+#define X_ChangeDeviceProperty 37
+#define X_DeleteDeviceProperty 38
+#define X_GetDeviceProperty 39
/*********************************************************
*
@@ -1454,55 +1452,6 @@ typedef struct {
/*********************************************************
*
- * QueryDeviceProperty.
- *
- */
-
-typedef struct {
- CARD8 reqType; /* input extension major opcode */
- CARD8 ReqType; /* always X_QueryDeviceProperty */
- CARD16 length B16;
- Atom property B32;
- CARD8 deviceid;
- CARD8 pad0;
- CARD16 pad1 B16;
-} xQueryDevicePropertyReq;
-
-typedef struct {
- CARD8 repType; /* X_Reply */
- CARD8 RepType; /* always X_QueryDeviceProperty */
- CARD16 sequenceNumber B16;
- CARD32 length B32;
- BOOL pending;
- BOOL range;
- BOOL immutable;
- BOOL fromClient; /* TRUE if allocated by client */
- CARD32 pad2 B32;
- CARD32 pad3 B32;
- CARD32 pad4 B32;
- CARD32 pad5 B32;
- CARD32 pad6 B32;
-} xQueryDevicePropertyReply;
-
-/*********************************************************
- *
- * ConfigureDeviceProperty.
- *
- */
-
-typedef struct {
- CARD8 reqType; /* input extension major opcode */
- CARD8 ReqType; /* always X_ConfigureDeviceProperty */
- CARD16 length B16;
- Atom property B32;
- CARD8 deviceid;
- BOOL pending;
- BOOL range;
- CARD8 pad;
-} xConfigureDevicePropertyReq;
-
-/*********************************************************
- *
* ChangeDeviceProperty.
*
*/
@@ -1556,8 +1505,7 @@ typedef struct {
#else
BOOL delete;
#endif
- BOOL pending;
- CARD8 pad;
+ CARD16 pad;
} xGetDevicePropertyReq;
typedef struct {
commit 6a4aefa04bb95c05d223027cebbe83c4117829f0
Author: Peter Hutterer <peter.hutterer@redhat.com>
Date: Thu Sep 18 16:28:09 2008 +0930
Add XI_JOYSTICK type.
(cherry picked from commit c9454a8e84b2dce54bb346ff1aafb32e3c0ac5b9)
diff --git a/XI.h b/XI.h
index 822d5c1..878ba0f 100644
--- a/XI.h
+++ b/XI.h
@@ -136,6 +136,7 @@ SOFTWARE.
#define XI_EYETRACKER "EYETRACKER"
#define XI_CURSORKEYS "CURSORKEYS"
#define XI_FOOTMOUSE "FOOTMOUSE"
+#define XI_JOYSTICK "JOYSTICK"
#define Dont_Check 0
#define XInput_Initial_Release 1
commit 6af8447fab4a06d943398e6540e6b869d8a714ae
Author: Peter Hutterer <peter.hutterer@redhat.com>
Date: Mon Nov 17 10:13:15 2008 +1000
Undef Atom after we're done so we don't pollute users of XIproto.h
(cherry picked from commit 36c8a6f3faf56a8f8ca31455812c9132b379b1b3)
Conflicts:
XIproto.h
diff --git a/XIproto.h b/XIproto.h
index 410347f..c84fe39 100644
--- a/XIproto.h
+++ b/XIproto.h
@@ -1799,5 +1799,6 @@ typedef struct
#undef Window
#undef Time
#undef KeyCode
+#undef Atom
#endif
commit 72fb0941fff83f00fb039f865edcf5d25584757c
Author: Peter Hutterer <peter.hutterer@redhat.com>
Date: Mon Nov 17 10:12:50 2008 +1000
Make sure Atoms are defined as CARD32.
(cherry picked from commit c919917e375aefaf473570c1b25b3c22231e858d)
Conflicts:
XIproto.h
diff --git a/XIproto.h b/XIproto.h
index 6870ef0..410347f 100644
--- a/XIproto.h
+++ b/XIproto.h
@@ -54,6 +54,7 @@ SOFTWARE.
#define Window CARD32
#define Time CARD32
#define KeyCode CARD8
+#define Atom CARD32
/*********************************************************
*
commit 6ee1ad8951ff811dc2618c9bd26cd42096ab2ecc
Author: Peter Hutterer <peter.hutterer@redhat.com>
Date: Fri Aug 15 14:21:24 2008 +0930
Remove RCS tags, typo fix.
(cherry picked from commit c2d47b04c55cf72aef6c13a9e2cc4b41abfca673)
diff --git a/XIproto.h b/XIproto.h
index 67c4755..6870ef0 100644
--- a/XIproto.h
+++ b/XIproto.h
@@ -1,5 +1,3 @@
-/* $Xorg: XIproto.h,v 1.5 2001/02/09 02:03:24 xorgcvs Exp $ */
-
/************************************************************
Copyright 1989, 1998 The Open Group
@@ -45,7 +43,6 @@ ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
SOFTWARE.
********************************************************/
-/* $XFree86: xc/include/extensions/XIproto.h,v 1.4 2001/01/17 17:53:17 dawes Exp $ */
#ifndef _XIPROTO_H
#define _XIPROTO_H
@@ -1546,7 +1543,7 @@ typedef struct {
typedef struct {
CARD8 reqType; /* input extension major opcode */
- CARD8 ReqType; /* always X_ChangeDeviceProperty */
+ CARD8 ReqType; /* always X_GetDeviceProperty */
CARD16 length B16;
Atom property B32;
Atom type B32;
commit d81ca85c4bcdcab208e4731a5d0f7d9bffbfab67
Author: Peter Hutterer <peter.hutterer@redhat.com>
Date: Fri Oct 31 17:53:39 2008 +1030
PropertyNotify, move deviceid back to last byte.
This way, it can be type-cast to deviceKeyButtonPointer to extract the
deviceid, which is (aside from time) the only thing it has in common with
those anyway.
(cherry picked from commit f8064629496c6061bedb7a99b788fb9d3a170f11)
diff --git a/XIproto.h b/XIproto.h
index 55a2d3b..67c4755 100644
--- a/XIproto.h
+++ b/XIproto.h
@@ -1783,18 +1783,18 @@ typedef struct
typedef struct
{
- BYTE type; /* always GenericEvent */
+ BYTE type;
BYTE state; /* NewValue or Deleted */
CARD16 sequenceNumber B16;
CARD32 time B32;
Atom atom B32; /* affected property */
- CARD8 deviceid; /* id of device */
- CARD8 pad0;
- CARD16 pad1 B16;
+ CARD32 pad0 B32;
+ CARD32 pad1 B32;
CARD32 pad2 B32;
CARD32 pad3 B32;
- CARD32 pad4 B32;
- CARD32 pad5 B32;
+ CARD16 pad5 B16;
+ CARD8 pad4;
+ CARD8 deviceid; /* id of device */
} devicePropertyNotify;
commit e22b0ace88447a87c0b19d062a678880529b1b3b
Author: Peter Hutterer <peter.hutterer@redhat.com>
Date: Mon Aug 25 11:34:47 2008 +0930
Add libXi's property interfaces.
XInput.h was removed from inputproto, hence this commit is not a cherry-pick
but a copy of the changes to XInput.h in libXi.
diff --git a/XInput.h b/XInput.h
index e3585b4..34fbb33 100644
--- a/XInput.h
+++ b/XInput.h
@@ -72,6 +72,10 @@ SOFTWARE.
#define _deviceStateNotify 0
#define _deviceMappingNotify 1
#define _changeDeviceNotify 2
+/* Space of 3 between is necessary! Reserved for DeviceKeyStateNotify,
+ DeviceButtonStateNotify, DevicePresenceNotify (essentially unused). This
+ code has to be in sync with FixExtensionEvents() in xserver/Xi/extinit.c */
+#define _propertyNotify 6
#define FindTypeAndClass(d,type,_class,classid,offset) \
{ int _i; XInputClassInfo *_ip; \
@@ -119,6 +123,9 @@ SOFTWARE.
#define ChangeDeviceNotify(d,type,_class) \
FindTypeAndClass(d, type, _class, OtherClass, _changeDeviceNotify)
+#define DevicePropertyNotify(d, type, _class) \
+ FindTypeAndClass(d, type, _class, OtherClass, _propertyNotify)
+
#define DevicePointerMotionHint(d,type,_class) \
{ _class = ((XDevice *) d)->device_id << 8 | _devicePointerMotionHint;}
@@ -448,6 +455,22 @@ typedef struct {
XID control;
} XDevicePresenceNotifyEvent;
+/*
+ * Notifies the client that a property on a device has changed value. The
+ * client is expected to query the server for updated value of the property.
+ */
+typedef struct {
+ int type;
+ unsigned long serial; /* # of last request processed by server */
+ Bool send_event; /* true if this came from a SendEvent request */
+ Display *display; /* Display the event was read from */
+ Window window; /* unused */
+ Time time;
+ XID deviceid; /* id of the device that changed */
+ Atom atom; /* the property that changed */
+ int state; /* PropertyNewValue or PropertyDeleted */
+} XDevicePropertyNotifyEvent;
+
/*******************************************************************
*
* Control structures for input devices that support input class
@@ -1195,6 +1218,74 @@ extern void XFreeDeviceControl(
XDeviceControl* /* control */
);
+typedef struct {
+ Bool pending;
+ Bool range;
+ Bool immutable;
+ Bool fromClient;
+ int num_values;
+ long *values;
+} XIPropertyInfo;
+
+extern Atom* XListDeviceProperties(
+ Display* /* dpy */,
+ XDevice* /* dev */,
+ int* /* nprops_return */
+);
+
+extern void XChangeDeviceProperty(
+ Display* /* dpy */,
+ XDevice* /* dev */,
+ Atom /* property */,
+ Atom /* type */,
+ int /* format */,
+ int /* mode */,
+ _Xconst unsigned char * /*data */,
+ int /* nelements */
+);
+
+extern XIPropertyInfo* XQueryDeviceProperty(
+ Display* /* dpy */,
+ XDevice* /* dev */,
+ Atom /* property */
+);
+
+extern void
+XConfigureDeviceProperty(
+ Display* /* dpy */,
+ XDevice* /* dev */,
+ Atom /* property */,
+ Bool /* pending */,
+ Bool /* range */,
+ int /* num_values */,
+ long* /* values */
+);
+
+extern void
+XDeleteDeviceProperty(
+ Display* /* dpy */,
+ XDevice* /* dev */,
+ Atom /* property */
+);
+
+extern Status
+XGetDeviceProperty(
+ Display* /* dpy*/,
+ XDevice* /* dev*/,
+ Atom /* property*/,
+ long /* offset*/,
+ long /* length*/,
+ Bool /* delete*/,
+ Bool /* pending*/,
+ Atom /* req_type*/,
+ Atom* /* actual_type*/,
+ int* /* actual_format*/,
+ unsigned long* /* nitems*/,
+ unsigned long* /* bytes_after*/,
+ unsigned char** /* prop*/
+);
+
+
_XFUNCPROTOEND
#endif /* _XINPUT_H_ */
commit 0a87cb3aac72adbbb81c7ac7ac04551547bf8b56
Author: Peter Hutterer <peter.hutterer@redhat.com>
Date: Fri Aug 15 14:50:23 2008 +0930
Protect against C++ includes.
(cherry picked from commit fabe087cebb11c6a2600e57c6f7a52fda2efea29)
diff --git a/XIproto.h b/XIproto.h
index ae32d72..55a2d3b 100644
--- a/XIproto.h
+++ b/XIproto.h
@@ -1553,7 +1553,11 @@ typedef struct {
CARD32 longOffset B32;
CARD32 longLength B32;
CARD8 deviceid;
+#if defined(__cplusplus) || defined(c_plusplus)
+ BOOL c_delete;
+#else
BOOL delete;
+#endif
BOOL pending;
CARD8 pad;
} xGetDevicePropertyReq;
commit e507aaaa74eeb02896843eb1815b614adf47a24a
Author: Peter Hutterer <peter.hutterer@redhat.com>
Date: Mon Aug 25 10:19:37 2008 +0930
Back out Device Properties from XI 2, push into XI 1.5.
(cherry picked from commit 7c9620d8232e5c05115746055a832363a528ac2d)
Conflicts:
XI.h
XIproto.h
diff --git a/XI.h b/XI.h
index 51a4175..822d5c1 100644
--- a/XI.h
+++ b/XI.h
@@ -106,6 +106,15 @@ SOFTWARE.
#define sz_xGetDeviceControlReply 32
#define sz_xChangeDeviceControlReq 8
#define sz_xChangeDeviceControlReply 32
+#define sz_xListDevicePropertiesReq 8
+#define sz_xListDevicePropertiesReply 32
+#define sz_xQueryDevicePropertyReq 12
+#define sz_xQueryDevicePropertyReply 32
+#define sz_xConfigureDevicePropertyReq 12
+#define sz_xChangeDevicePropertyReq 20
+#define sz_xDeleteDevicePropertyReq 12
+#define sz_xGetDevicePropertyReq 24
+#define sz_xGetDevicePropertyReply 32
#define INAME "XInputExtension"
@@ -134,6 +143,7 @@ SOFTWARE.
#define XInput_Add_XSetDeviceValuators 3
#define XInput_Add_XChangeDeviceControl 4
#define XInput_Add_DevicePresenceNotify 5
+#define XInput_Add_DeviceProperties 6
#define XI_Absent 0
#define XI_Present 1
@@ -153,6 +163,9 @@ SOFTWARE.
#define XI_Add_DevicePresenceNotify_Major 1
#define XI_Add_DevicePresenceNotify_Minor 4
+#define XI_Add_DeviceProperties_Major 1
+#define XI_Add_DeviceProperties_Minor 5
+
#define DEVICE_RESOLUTION 1
#define DEVICE_ABS_CALIB 2
#define DEVICE_CORE 3
diff --git a/XIproto.h b/XIproto.h
index 6d4bf64..ae32d72 100644
--- a/XIproto.h
+++ b/XIproto.h
@@ -72,8 +72,9 @@ SOFTWARE.
#define numInputClasses 7
-#define IEVENTS 16
+#define IEVENTS 17
#define IERRORS 5
+#define IREQUESTS 41
#define CLIENT_REQ 1
@@ -114,6 +115,8 @@ struct tmask
#define XI_DeviceKeystateNotify 13
#define XI_DeviceButtonstateNotify 14
#define XI_DevicePresenceNotify 15
+#define XI_DevicePropertyNotify 16
+
/*********************************************************
*
@@ -156,6 +159,13 @@ struct tmask
#define X_SetDeviceValuators 33
#define X_GetDeviceControl 34
#define X_ChangeDeviceControl 35
+/* XI 1.5 */
+#define X_ListDeviceProperties 36
+#define X_QueryDeviceProperty 37
+#define X_ConfigureDeviceProperty 38
+#define X_ChangeDeviceProperty 39
+#define X_DeleteDeviceProperty 40
+#define X_GetDeviceProperty 41
/*********************************************************
*
@@ -1413,6 +1423,156 @@ typedef struct {
CARD16 pad1 B16;
} xDeviceEnableCtl;
+/* XI 1.5 */
+
+/*********************************************************
+ *
+ * ListDeviceProperties.
+ *
+ */
+
+typedef struct {
+ CARD8 reqType; /* input extension major opcode */
+ CARD8 ReqType; /* always X_ListDeviceProperties */
+ CARD16 length B16;
+ CARD8 deviceid;
+ CARD8 pad0;
+ CARD16 pad1 B16;
+} xListDevicePropertiesReq;
+
+typedef struct {
+ CARD8 repType; /* X_Reply */
+ CARD8 RepType; /* always X_ListDeviceProperties */
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD16 nAtoms B16;
+ CARD16 pad1 B16;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+ CARD32 pad6 B32;
+} xListDevicePropertiesReply;
+
+/*********************************************************
+ *
+ * QueryDeviceProperty.
+ *
+ */
+
+typedef struct {
+ CARD8 reqType; /* input extension major opcode */
+ CARD8 ReqType; /* always X_QueryDeviceProperty */
+ CARD16 length B16;
+ Atom property B32;
+ CARD8 deviceid;
+ CARD8 pad0;
+ CARD16 pad1 B16;
+} xQueryDevicePropertyReq;
+
+typedef struct {
+ CARD8 repType; /* X_Reply */
+ CARD8 RepType; /* always X_QueryDeviceProperty */
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ BOOL pending;
+ BOOL range;
+ BOOL immutable;
+ BOOL fromClient; /* TRUE if allocated by client */
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+ CARD32 pad6 B32;
+} xQueryDevicePropertyReply;
+
+/*********************************************************
+ *
+ * ConfigureDeviceProperty.
+ *
+ */
+
+typedef struct {
+ CARD8 reqType; /* input extension major opcode */
+ CARD8 ReqType; /* always X_ConfigureDeviceProperty */
+ CARD16 length B16;
+ Atom property B32;
+ CARD8 deviceid;
+ BOOL pending;
+ BOOL range;
+ CARD8 pad;
+} xConfigureDevicePropertyReq;
+
+/*********************************************************
+ *
+ * ChangeDeviceProperty.
+ *
+ */
+
+typedef struct {
+ CARD8 reqType; /* input extension major opcode */
+ CARD8 ReqType; /* always X_ChangeDeviceProperty */
+ CARD16 length B16;
+ Atom property B32;
+ Atom type B32;
+ CARD8 deviceid;
+ CARD8 format;
+ CARD8 mode;
+ CARD8 pad;
+ CARD32 nUnits B32;
+} xChangeDevicePropertyReq;
+
+/*********************************************************
+ *
+ * DeleteDeviceProperty.
+ *
+ */
+
+typedef struct {
+ CARD8 reqType; /* input extension major opcode */
+ CARD8 ReqType; /* always X_DeleteDeviceProperty */
+ CARD16 length B16;
+ Atom property B32;
+ CARD8 deviceid;
+ CARD8 pad0;
+ CARD16 pad1 B16;
+} xDeleteDevicePropertyReq;
+
+/*********************************************************
+ *
+ * GetDeviceProperty.
+ *
+ */
+
+typedef struct {
+ CARD8 reqType; /* input extension major opcode */
+ CARD8 ReqType; /* always X_ChangeDeviceProperty */
+ CARD16 length B16;
+ Atom property B32;
+ Atom type B32;
+ CARD32 longOffset B32;
+ CARD32 longLength B32;
+ CARD8 deviceid;
+ BOOL delete;
+ BOOL pending;
+ CARD8 pad;
+} xGetDevicePropertyReq;
+
+typedef struct {
+ CARD8 repType; /* X_Reply */
+ CARD8 RepType; /* always X_GetDeviceProperty */
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ Atom propertyType B32;
+ CARD32 bytesAfter B32;
+ CARD32 nItems B32;
+ CARD8 format;
+ CARD8 deviceid;
+ CARD16 pad1 B16;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+} xGetDevicePropertyReply;
+
/**********************************************************
*
* Input extension events.
@@ -1610,6 +1770,30 @@ typedef struct
CARD32 pad06 B32;
} devicePresenceNotify;
+/*********************************************************
+ * DevicePropertyNotifyEvent
+ *
+ * Sent whenever a device's property changes.
+ *
+ */
+
+typedef struct
+ {
+ BYTE type; /* always GenericEvent */
+ BYTE state; /* NewValue or Deleted */
+ CARD16 sequenceNumber B16;
+ CARD32 time B32;
+ Atom atom B32; /* affected property */
+ CARD8 deviceid; /* id of device */
+ CARD8 pad0;
+ CARD16 pad1 B16;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+ } devicePropertyNotify;
+
+
#undef Window
#undef Time
#undef KeyCode
Reply to: