diff options
author | Peter Hutterer <peter.hutterer@who-t.net> | 2011-07-29 10:09:02 +1000 |
---|---|---|
committer | Peter Hutterer <peter.hutterer@who-t.net> | 2011-09-02 14:49:39 +1000 |
commit | af1fb609beece899188469a81ac9d8c5e07bfa4a (patch) | |
tree | c4abad367a433dd1f5f703231cbbc0a15ec3dc48 | |
parent | 1e63d01d041108db6fe5be32d033e80419a6ab05 (diff) |
Add sourceid to RawEvents (#34420)
RawEvents in XI2 do not provide the source ID. The libXi headers however do
and it is currently always 0. Given that the sourceid may be useful for
some clients, send it down the wire.
This has no effect on the wire size of the struct, we can re-use a pad byte
here.
X.Org Bug 34420 <http://bugs.freedesktop.org/show_bug.cgi?id=34420>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Daniel Stone <daniel@fooishbar.org>
-rw-r--r-- | XI2proto.h | 2 | ||||
-rw-r--r-- | specs/XI2proto.txt | 7 |
2 files changed, 8 insertions, 1 deletions
@@ -902,7 +902,7 @@ typedef struct uint16_t deviceid; Time time; uint32_t detail; - uint16_t pad0; + uint16_t sourceid; /**< The source device (XI 2.1) */ uint16_t valuators_len; /**< Length of trailing valuator mask in 4 byte units */ uint32_t flags; /**< ::XIKeyRepeat */ diff --git a/specs/XI2proto.txt b/specs/XI2proto.txt index 9ec9515..8736b18 100644 --- a/specs/XI2proto.txt +++ b/specs/XI2proto.txt @@ -1593,6 +1593,7 @@ Modifier state in mods is detailed as follows: RawEvent EVENTHEADER detail: CARD32 + sourceid*: DEVICEID flags: DEVICEEVENTFLAGS valuators_len: CARD16 valuators: SETofVALUATORMASK @@ -1600,6 +1601,8 @@ Modifier state in mods is detailed as follows: axisvalues_raw: LISTofFP3232 └─── + * since XI 2.1 + A RawEvent provides the information provided by the driver to the client. RawEvent provides both the raw data as supplied by the driver and transformed data as used in the server. Transformations include, but are @@ -1613,10 +1616,14 @@ grabbed by another client. Clients supporting XI 2.1 or later receive raw events at all times, even when the device is grabbed by another client. + eventtype The type of event that occured on the device. detail The button number or keycode. + sourceid + The source device that originally generated the event. The sourceid + is undefined for clients not supporting XI 2.1. flags Flags as described in DeviceEvent. valuators_len |