[PATCH inputproto multitouch 1/2] Introduce Touch grab mode
Peter Hutterer
peter.hutterer at who-t.net
Wed Aug 24 18:48:46 PDT 2011
On Wed, Aug 24, 2011 at 06:39:20PM -0700, Chase Douglas wrote:
> 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 at canonical.com>
> ---
> XI2.h | 1 +
> specs/XI2proto.txt | 11 +++++++++--
> 2 files changed, 10 insertions(+), 2 deletions(-)
>
> diff --git a/XI2.h b/XI2.h
> index f6bdbb2..2aea35e 100644
> --- a/XI2.h
> +++ b/XI2.h
> @@ -72,6 +72,7 @@
> /* Grab modes */
> #define XIGrabModeSync 0
> #define XIGrabModeAsync 1
> +#define XIGrabModeTouch 2
>
> /* Grab reply status codes */
> #define XIGrabSuccess 0
> diff --git a/specs/XI2proto.txt b/specs/XI2proto.txt
> index 4650997..82f2b42 100644
> --- a/specs/XI2proto.txt
> +++ b/specs/XI2proto.txt
> @@ -1382,7 +1382,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
> @@ -1399,6 +1399,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.
>
> @@ -1425,7 +1427,9 @@ 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.
> + grabs, grab
this seems to be a stray line.
Reviewed-by: Peter Hutterer <peter.hutterer at who-t.net> otherwise, for the
whitespace patch too
Cheers,
Peter
> mask_len
> Length of mask in 4 byte units.
> mask
> @@ -1549,6 +1553,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
> --
> 1.7.4.1
>
More information about the xorg-devel
mailing list