[PATCH xf86-input-synaptics 08/12] Calculate touch data for semi-mt devices, but don't send touch events

Peter Hutterer peter.hutterer at who-t.net
Wed Feb 22 19:58:51 PST 2012


On Thu, Feb 09, 2012 at 06:53:02PM -0800, Chase Douglas wrote:
> Touch data can be used for clickpad processing.

please expand how and why. the commit is a bit limited, and for patches like
this I'd rather now what exactly this does now.

Cheers,
  Peter

> 
> Signed-off-by: Chase Douglas <chase.douglas at canonical.com>
> ---
>  src/eventcomm.c    |    2 +-
>  src/synaptics.c    |    3 +++
>  src/synapticsstr.h |    1 +
>  3 files changed, 5 insertions(+), 1 deletions(-)
> 
> diff --git a/src/eventcomm.c b/src/eventcomm.c
> index 97bb84c..dee7aa3 100644
> --- a/src/eventcomm.c
> +++ b/src/eventcomm.c
> @@ -714,7 +714,7 @@ event_query_touch(InputInfoPtr pInfo)
>      {
>          xf86IDrvMsg(pInfo, X_INFO,
>                      "ignoring touch events for semi-multitouch device\n");
> -        return;
> +        priv->has_semi_mt = TRUE;
>      }
>  
>      if (rc >= 0 && BitIsOn(&prop, INPUT_PROP_BUTTONPAD))
> diff --git a/src/synaptics.c b/src/synaptics.c
> index 473ce13..e2e23cb 100644
> --- a/src/synaptics.c
> +++ b/src/synaptics.c
> @@ -2659,6 +2659,9 @@ HandleTouches(InputInfoPtr pInfo, struct SynapticsHwState *hw)
>              new_active_touches--;
>      }
>  
> +    if (priv->has_semi_mt)
> +        goto out;
> +
>      if (priv->num_active_touches < min_touches &&
>          new_active_touches < min_touches)
>      {
> diff --git a/src/synapticsstr.h b/src/synapticsstr.h
> index 1ea09a0..3ea30fe 100644
> --- a/src/synapticsstr.h
> +++ b/src/synapticsstr.h
> @@ -269,6 +269,7 @@ typedef struct _SynapticsPrivateRec
>      Bool has_pressure;			/* device reports pressure */
>      Bool has_width;			/* device reports finger width */
>      Bool has_scrollbuttons;		/* device has physical scrollbuttons */
> +    Bool has_semi_mt;			/* device is only semi-multitouch capable */
>  
>      enum TouchpadModel model;		/* The detected model */
>      unsigned short id_vendor;		/* vendor id */
> -- 
> 1.7.8.3
> 


More information about the xorg-devel mailing list