summaryrefslogtreecommitdiff
path: root/src/synaptics.c
diff options
context:
space:
mode:
authorChase Douglas <chase.douglas@canonical.com>2012-02-09 11:18:25 -0800
committerPeter Hutterer <peter.hutterer@who-t.net>2012-03-14 08:47:05 +1000
commitf198522064501726d76bef4e11c02cfc778bb0c5 (patch)
treec263fd2c2618646c399d3b63ab05f50f4053a9c0 /src/synaptics.c
parenta6361e2d2c093c4170bab63307526702fe9903ad (diff)
Calculate touch data for semi-mt devices, but don't send touch events
Previously, all touch data from semi-mt devices was ignored because the X server doesn't support them. However, the touch data must be used for proper clickpad handling. Instead of ignoring semi-mt device touch events, mark the device as being semi-mt and allow initialization of the touch state. The touches will then be used in calculating the cumulative_d{x,y} values that are needed for clickpad support. When handling the touch data for X event processing, simply skip over reporting the touches. Signed-off-by: Chase Douglas <chase.douglas@canonical.com> Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
Diffstat (limited to 'src/synaptics.c')
-rw-r--r--src/synaptics.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/synaptics.c b/src/synaptics.c
index d422f0f..2770bd8 100644
--- a/src/synaptics.c
+++ b/src/synaptics.c
@@ -2788,6 +2788,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)
{