diff options
Diffstat (limited to 'xorg-server/include/eventstr.h')
-rw-r--r-- | xorg-server/include/eventstr.h | 30 |
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 |