Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

Input: synaptics - allocate 3 slots to keep stability in image sensors

When slowly dropping 1, 2 and then 3 fingers on an image sensor touchpad,
we can see that the first finger gets reassigned a new slot while it did
not move. This is due to the kernel tracking algorithm which can not assign
correctly the 3 touches, being out of slots.

Declaring that we support 3 slots allows to actually forward:
slot 0 -> down, slot 1 -> up, slot 2 -> down

Signed-off-by: Benjamin Tissoires <benjamin.tissoires@redhat.com>
Acked-by: Hans de Goede <hdegoede@redhat.com>
Acked-by: Henrik Rydberg <rydberg@bitmath.org
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>

authored by

Benjamin Tissoires and committed by
Dmitry Torokhov
63c4fda3 58fd9af6

+1 -1
+1 -1
drivers/input/mouse/synaptics.c
··· 1189 1189 ABS_MT_POSITION_Y); 1190 1190 /* Image sensors can report per-contact pressure */ 1191 1191 input_set_abs_params(dev, ABS_MT_PRESSURE, 0, 255, 0, 0); 1192 - input_mt_init_slots(dev, 2, INPUT_MT_POINTER | INPUT_MT_TRACK); 1192 + input_mt_init_slots(dev, 3, INPUT_MT_POINTER | INPUT_MT_TRACK); 1193 1193 1194 1194 /* Image sensors can signal 4 and 5 finger clicks */ 1195 1195 __set_bit(BTN_TOOL_QUADTAP, dev->keybit);