From e22891346b85a7db40dec7260a100f90b451cbc8 Mon Sep 17 00:00:00 2001 From: marha Date: Fri, 23 Dec 2011 10:01:52 +0100 Subject: git mesa pixman xserver xkeyboard-config update 24 dec 2011 --- xorg-server/include/eventstr.h | 30 +++++++++++++++++++++++++++++- 1 file changed, 29 insertions(+), 1 deletion(-) (limited to 'xorg-server/include/eventstr.h') 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 -- cgit v1.2.3