summaryrefslogtreecommitdiff
path: root/specs
diff options
context:
space:
mode:
authorChase Douglas <chase.douglas@canonical.com>2011-08-24 13:32:30 -0700
committerChase Douglas <chase.douglas@canonical.com>2011-08-24 19:02:27 -0700
commitcec253561ab3feaa0a5a57fa8aa47db15662cf3d (patch)
treee09ad215ac3c4ba5690e5e9169763b399f228232 /specs
parent1cb00433583341b3c52c8d3f62dcd19a55ddca29 (diff)
Introduce Touch grab mode
Touch grabs are not really synchronous nor asynchronous. Use a separate grab mode value for touch grabs, just to make the protocol seem more sane. Signed-off-by: Chase Douglas <chase.douglas@canonical.com> Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
Diffstat (limited to 'specs')
-rw-r--r--specs/XI2proto.txt10
1 files changed, 8 insertions, 2 deletions
diff --git a/specs/XI2proto.txt b/specs/XI2proto.txt
index a246dfb..68612a8 100644
--- a/specs/XI2proto.txt
+++ b/specs/XI2proto.txt
@@ -1380,7 +1380,7 @@ you pass to the event-mode argument:
grab_window: Window
cursor: Cursor
owner_events: Bool
- grab_mode: { Synchronous, Asynchronous }
+ grab_mode: { Synchronous, Asynchronous, Touch* }
paired_device_mode: { Synchronous, Asynchronous }
num_modifiers: INT16
mask_len: CARD16
@@ -1397,6 +1397,8 @@ you pass to the event-mode argument:
GRABMODIFIERINFO { status: Access
modifiers: CARD32 }
+* since XI 2.1
+
Establish an explicit passive grab for a button or keycode
on the specified input device.
@@ -1423,7 +1425,8 @@ on the specified input device.
generated by the server until the grabbing client issues a
releasing XIAllowEvents request or until the device grab is
released. Actual device input events are not lost while the device
- is frozen; they are simply queued for later processing.
+ is frozen; they are simply queued for later processing. If grab_type
+ is GrabtypeTouchBegin, grab_mode must be set to Touch.
mask_len
Length of mask in 4 byte units.
mask
@@ -1547,6 +1550,9 @@ grab deactivates, addional LeaveNotify events with mode
XIPassiveUngrabNotify are generated and sent to the grabbing client
before the grab deactivates.
+For GrabtypeTouchBegin, grab_mode must be Touch or a BadValue error
+is generated.
+
See section 4.4 for additional notes on touch grabs, as they do not
behave like traditional grabs: in particular, they do not freeze the
device, and delivery of touch events continues even if the device is