summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Hutterer <peter.hutterer@who-t.net>2011-03-18 15:10:34 +1000
committerPeter Hutterer <peter.hutterer@who-t.net>2011-03-18 16:20:12 +1000
commit9c2817fd761bbe6c6da4e2a5638d80fa53975c4b (patch)
treeed6ff1c38b44ed7a88abe9452589d337be02f460
parentc883261f2bad6196e5ff1b3c1397300775e55da7 (diff)
specs: Rewrite Touch events delivery section
And add a fixme Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-rw-r--r--specs/XI2proto.txt35
1 files changed, 19 insertions, 16 deletions
diff --git a/specs/XI2proto.txt b/specs/XI2proto.txt
index c3e8c07..731baf2 100644
--- a/specs/XI2proto.txt
+++ b/specs/XI2proto.txt
@@ -406,22 +406,25 @@ DependentTouch, IndependentPointer, and SemiMultitouch devices.
5.3 Touch event delivery
~~~~~~~~~~~~~~~~~~~~~~~~
-Window sets for event propagation for direct device touches contain the windows
-from the root to the child in which the touch originated.
-
-Indirect device window sets depend on whether other touches are active. For
-the first touch on an indirect device, the window set contains the windows from
-the root to the current window underneath the position of the device's pointer.
-For subsequent touches on the device, the window set is identical to the window
-set of the first touch. Once all touches have been released, the window set is
-reset and re-calculated on the first subsequent touch.
-
-The delivery of touch events is not changed by any modifications to the window
-hierarchy after the window set has been determined for the touch, nor is it
-affected by new grabs or selections.
-
-No touches from an indirect device may begin while the device is floating, as
-it does not have an associated pointer position to focus events.
+For direct touch devices, the window set for event propagation is the set of
+windows from the root window to the child in which the touch sequence
+begins.
+
+For indirect devices, the window set for event propagation is the set of
+windows from the root window to the window that contains the device's
+pointer. An indirect device may only have one window set at a time. Any
+future touch sequence will use the same window set. The window set is
+cleared when all touch sequences on the device end.
+
+A window set is calculated on TouchBegin and remains constant until the end
+of the sequence Modifications to the window hierarchy, new grabs or changed
+event selection do not affect the window set.
+
+FIXME:
+ No touches from an indirect device may begin while the device is
+ floating, as it does not have an associated pointer position to focus
+ events. [incorrect, remove it? why would it matter]
+
5.3.1 Pointer event handling for indirect touch devices
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^