diff options
author | Chase Douglas <chase.douglas@canonical.com> | 2012-02-09 11:18:25 -0800 |
---|---|---|
committer | Chase Douglas <chase.douglas@canonical.com> | 2012-02-11 23:01:10 +0100 |
commit | ac8bf59d55a9f6bbf260ebfd46dc357257d77074 (patch) | |
tree | ed8beb0be00f6b1b30e824ad93b87b093e242e53 | |
parent | a2cafc6a4e1554a68069a6c6b644e3908d10d871 (diff) |
Calculate touch data for semi-mt devices, but don't send touch events
Touch data can be used for clickpad processing.
Signed-off-by: Chase Douglas <chase.douglas@canonical.com>
-rw-r--r-- | src/eventcomm.c | 2 | ||||
-rw-r--r-- | src/synaptics.c | 3 | ||||
-rw-r--r-- | src/synapticsstr.h | 1 |
3 files changed, 5 insertions, 1 deletions
diff --git a/src/eventcomm.c b/src/eventcomm.c index 2bbc383..26e9d03 100644 --- a/src/eventcomm.c +++ b/src/eventcomm.c @@ -757,7 +757,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 d840aa4..27089c8 100644 --- a/src/synaptics.c +++ b/src/synaptics.c @@ -2668,6 +2668,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 */ |