touchpad: increase top software button area to 15%
authorPeter Hutterer <peter.hutterer@who-t.net>
Wed, 6 Aug 2014 02:22:38 +0000 (12:22 +1000)
committerPeter Hutterer <peter.hutterer@who-t.net>
Mon, 18 Aug 2014 07:11:28 +0000 (17:11 +1000)
We had reports that the top software button area is hard to hit for those
using the trackpoint and clicking the buttons with their thumb.

Analysis of event recordings (3 different people) for left, right and middle
clicks shows that there is a significant amount of events up to about 10mm
(with outliers up to 12mm) from the top of the touchpad. That maps to 15%.

Interestingly, the middle button is not affected by this, presumably the
haptic feedback of the little dots sticking out from the surface make hitting
the button easier.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Acked-by: Hans de Goede <hdegoede@redhat.com>
src/evdev-mt-touchpad-buttons.c

index fe33d0b..9262466 100644 (file)
@@ -542,12 +542,13 @@ tp_init_buttons(struct tp_dispatch *tp,
 
                if (tp->buttons.has_topbuttons) {
                        /* T440s has the top button line 5mm from the top,
-                          make the buttons 6mm high */
+                          event analysis has shown events to start down to ~10mm
+                          from the top - which maps to 15% */
                        if (yres > 1) {
                                tp->buttons.top_area.bottom_edge =
-                                       yoffset + 6 * yres;
+                                       yoffset + 10 * yres;
                        } else {
-                               tp->buttons.top_area.bottom_edge = height * .08 + yoffset;
+                               tp->buttons.top_area.bottom_edge = height * .15 + yoffset;
                        }
                        tp->buttons.top_area.rightbutton_left_edge = width * .58 + xoffset;
                        tp->buttons.top_area.leftbutton_right_edge = width * .42 + xoffset;