aboutsummaryrefslogtreecommitdiff
path: root/xorg-server/include/eventstr.h
diff options
context:
space:
mode:
Diffstat (limited to 'xorg-server/include/eventstr.h')
-rw-r--r--xorg-server/include/eventstr.h30
1 files changed, 29 insertions, 1 deletions
diff --git a/xorg-server/include/eventstr.h b/xorg-server/include/eventstr.h
index 4d836fb14..e4410a79f 100644
--- a/xorg-server/include/eventstr.h
+++ b/xorg-server/include/eventstr.h
@@ -50,6 +50,10 @@ enum EventType {
ET_ButtonPress,
ET_ButtonRelease,
ET_Motion,
+ ET_TouchBegin,
+ ET_TouchUpdate,
+ ET_TouchEnd,
+ ET_TouchOwnership,
ET_Enter,
ET_Leave,
ET_FocusIn,
@@ -64,6 +68,9 @@ enum EventType {
ET_RawButtonPress,
ET_RawButtonRelease,
ET_RawMotion,
+ ET_RawTouchBegin,
+ ET_RawTouchUpdate,
+ ET_RawTouchEnd,
ET_XQuartz,
ET_Internal = 0xFF /* First byte */
};
@@ -84,9 +91,11 @@ struct _DeviceEvent
int deviceid; /**< Device to post this event for */
int sourceid; /**< The physical source device */
union {
- uint32_t button; /**< Button number */
+ uint32_t button; /**< Button number (also used in pointer emulating
+ touch events) */
uint32_t key; /**< Key code */
} detail;
+ uint32_t touchid; /**< Touch ID (client_id) */
int16_t root_x; /**< Pos relative to root window in integral data */
float root_x_frac; /**< Pos relative to root window in frac part */
int16_t root_y; /**< Pos relative to root window in integral part */
@@ -115,6 +124,24 @@ struct _DeviceEvent
uint32_t flags; /**< Flags to be copied into the generated event */
};
+/**
+ * Generated internally whenever a touch ownership chain changes - an owner
+ * has accepted or rejected a touch, or a grab/event selection in the delivery
+ * chain has been removed.
+ */
+struct _TouchOwnershipEvent
+{
+ unsigned char header; /**< Always ET_Internal */
+ enum EventType type; /**< One of EventType */
+ int length; /**< Length in bytes */
+ Time time; /**< Time in ms */
+ int deviceid; /**< Device to post this event for */
+ int sourceid; /**< The physical source device */
+ uint32_t touchid; /**< Touch ID (client_id) */
+ uint8_t reason; /**< ::XIAcceptTouch, ::XIRejectTouch */
+ uint32_t resource; /**< Provoking grab or event selection */
+ uint32_t flags; /**< Flags to be copied into the generated event */
+};
/* Flags used in DeviceChangedEvent to signal if the slave has changed */
#define DEVCHANGE_SLAVE_SWITCH 0x2
@@ -230,6 +257,7 @@ union _InternalEvent {
} any;
DeviceEvent device_event;
DeviceChangedEvent changed_event;
+ TouchOwnershipEvent touch_ownership_event;
#if XFreeXDGA
DGAEvent dga_event;
#endif