[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