[PATCH libinput] touchpad: increase top software button area to 15%

Peter Hutterer peter.hutterer at who-t.net
Thu Aug 7 20:21:43 PDT 2014


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 does not seem to need this, presumably
the haptic feedback of the little dots sticking out from the surface
make hitting the button easier. Its size is increased to 15% anyway, for
simplicity and because a sample set of 3 is too small to be definitive about
this.

Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>
---
 src/evdev-mt-touchpad-buttons.c | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/src/evdev-mt-touchpad-buttons.c b/src/evdev-mt-touchpad-buttons.c
index fe33d0b..9262466 100644
--- a/src/evdev-mt-touchpad-buttons.c
+++ b/src/evdev-mt-touchpad-buttons.c
@@ -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;
-- 
1.9.3



More information about the wayland-devel mailing list