aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBenjamin Tissoires <benjamin.tissoires@redhat.com>2015-04-05 16:45:04 -0400
committerDmitry Torokhov <dmitry.torokhov@gmail.com>2015-04-06 12:38:07 -0400
commit63c4fda3c0bb841b1aad1298fc7fe94058fc79f8 (patch)
tree6f2df1c77b8ffc246d254d3d3df4e2c4ab835684
parent58fd9af6e1ccabec6bc799b32eea22a82103d5ae (diff)
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>
-rw-r--r--drivers/input/mouse/synaptics.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/input/mouse/synaptics.c b/drivers/input/mouse/synaptics.c
index 3c54b9b0f65f..95898333834f 100644
--- a/drivers/input/mouse/synaptics.c
+++ b/drivers/input/mouse/synaptics.c
@@ -1189,7 +1189,7 @@ static void set_input_params(struct psmouse *psmouse,
1189 ABS_MT_POSITION_Y); 1189 ABS_MT_POSITION_Y);
1190 /* Image sensors can report per-contact pressure */ 1190 /* Image sensors can report per-contact pressure */
1191 input_set_abs_params(dev, ABS_MT_PRESSURE, 0, 255, 0, 0); 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 /* Image sensors can signal 4 and 5 finger clicks */ 1194 /* Image sensors can signal 4 and 5 finger clicks */
1195 __set_bit(BTN_TOOL_QUADTAP, dev->keybit); 1195 __set_bit(BTN_TOOL_QUADTAP, dev->keybit);