summaryrefslogtreecommitdiffstats
path: root/drivers/input/mouse/alps.c
diff options
context:
space:
mode:
authorHenrik Rydberg2015-02-01 20:25:14 +0100
committerDmitry Torokhov2015-02-01 20:50:35 +0100
commit448c7f3830ca283e485aa943279acea6bde8b270 (patch)
tree9e5b1ce72aa87035bc73595d2ce925bacec6a155 /drivers/input/mouse/alps.c
parentInput: drv2667 - remove wrong and unneeded drv2667-haptics modalias (diff)
downloadkernel-qcow2-linux-448c7f3830ca283e485aa943279acea6bde8b270.tar.gz
kernel-qcow2-linux-448c7f3830ca283e485aa943279acea6bde8b270.tar.xz
kernel-qcow2-linux-448c7f3830ca283e485aa943279acea6bde8b270.zip
Input: MT - add support for balanced slot assignment
Some devices are not fast enough to differentiate between a fast-moving contact and a new contact. This problem cannot be fully resolved because information is truly missing, but it is possible to safe-guard against obvious mistakes by restricting movement with a maximum displacement. The new problem formulation for dmax > 0 cannot benefit from the speedup for positive definite matrices, but since the convergence is faster, the result is about the same. For a handful of contacts, the latency difference is truly negligible. Suggested-by: Benjamin Tissoires <benjamin.tissoires@redhat.com> Tested-by: Benjamin Tissoires <benjamin.tissoires@redhat.com> Signed-off-by: Henrik Rydberg <rydberg@bitmath.org> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Diffstat (limited to 'drivers/input/mouse/alps.c')
-rw-r--r--drivers/input/mouse/alps.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/input/mouse/alps.c b/drivers/input/mouse/alps.c
index f719f28d370c..f205b8be2ce4 100644
--- a/drivers/input/mouse/alps.c
+++ b/drivers/input/mouse/alps.c
@@ -435,7 +435,7 @@ static void alps_report_mt_data(struct psmouse *psmouse, int n)
struct alps_fields *f = &priv->f;
int i, slot[MAX_TOUCHES];
- input_mt_assign_slots(dev, slot, f->mt, n);
+ input_mt_assign_slots(dev, slot, f->mt, n, 0);
for (i = 0; i < n; i++)
alps_set_slot(dev, slot[i], f->mt[i].x, f->mt[i].y);