summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Hutterer <peter.hutterer@who-t.net>2011-12-14 08:56:59 +1000
committerChase Douglas <chase.douglas@canonical.com>2011-12-14 11:49:25 -0800
commit8687f155d8072763c2c7d52cb48eb5f46bfaf705 (patch)
treecdf85fad79c3a0aa106bfb84be86738b3be71d6f
parentb1d71fe4cd3871a78e442159443c141193e79a7f (diff)
specs: clarify button state in touch events
Emulated pointer events will have button 1 logically down, but touch events only represent the actual button state, irrespective of the touches. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by: Chase Douglas <chase.douglas@canonical.com> Signed-off-by: Chase Douglas <chase.douglas@canonical.com>
-rw-r--r--specs/XI2proto.txt9
1 files changed, 7 insertions, 2 deletions
diff --git a/specs/XI2proto.txt b/specs/XI2proto.txt
index dcc2bc9..8b79210 100644
--- a/specs/XI2proto.txt
+++ b/specs/XI2proto.txt
@@ -467,10 +467,12 @@ Pointer events are emulated as follows:
touch with the same axis values of the touch event, followed by a button press
event for button 1.
- A TouchUpdate event generates a pointer motion event to the location of the
- touch and/or to update axis values of the pointer device.
+ touch and/or to update axis values of the pointer device. The button state
+ as seen from the protocol includes button 1 set.
- A TouchEnd event generates a pointer motion event to the location of the touch
and/or to update the axis values if either have changed, followed by a button
- release event for button 1.
+ release event for button 1. The button state as seen from the protocol
+ includes button 1 set.
If a touch sequence emulates pointer events and an emulated pointer event
triggers the activation of a passive grab, the grabbing client becomes the
@@ -2150,6 +2152,9 @@ of IDs. The increment between two touch IDs is indeterminate. Clients may not
assume that any future touches will have specific touch IDs. IDs are globally
unique.
+The button state in touch events represents the state of the device's
+physical buttons only, even if that sequence is emulating pointer events.
+
Touch events do not generate enter/leave events.
[[events-rawevent]]