touchpad: cap the edge palm detection zones at 8mm

The main purpose of the edge zone is to detect palms in the area where we
cannot assume a full finger size and thus cannot use any other palm detection
mechanism. 8mm should be large enough that a finger should be detected based
on other properties (size, pressure, ...).

https://bugs.freedesktop.org/show_bug.cgi?id=103330

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Daniel Martin <consume.noise@gmail.com>
This commit is contained in:
Peter Hutterer 2017-10-23 15:30:41 +10:00
parent 017d6bb903
commit 3e9e0e2eb1

View file

@ -2646,8 +2646,8 @@ tp_init_palmdetect_edge(struct tp_dispatch *tp,
if (width < 70.0)
return;
/* palm edges are 8% of the width on each side */
mm.x = width * 0.08;
/* palm edges are 8% of the width on each side up to a max of 8mm */
mm.x = min(8, width * 0.08);
edges = evdev_device_mm_to_units(device, &mm);
tp->palm.left_edge = edges.x;