The use-case we have thumb detection for is to let a user rest a thumb on the
touchpad before clicking. On a touchpad with physical buttons, the thumb won't
be resting on the touchpad.

Signed-off-by: Peter Hutterer <[email protected]>
---
 src/evdev-mt-touchpad.c |  3 +++
 test/touchpad.c         | 16 ++++++++--------
 2 files changed, 11 insertions(+), 8 deletions(-)

diff --git a/src/evdev-mt-touchpad.c b/src/evdev-mt-touchpad.c
index 19669fe..8629e40 100644
--- a/src/evdev-mt-touchpad.c
+++ b/src/evdev-mt-touchpad.c
@@ -1499,6 +1499,9 @@ tp_init_thumb(struct tp_dispatch *tp)
        const struct input_absinfo *abs;
        double w = 0.0, h = 0.0;
 
+       if (!tp->buttons.is_clickpad)
+               return 0;
+
        abs = libevdev_get_abs_info(device->evdev, ABS_MT_PRESSURE);
        if (!abs)
                return 0;
diff --git a/test/touchpad.c b/test/touchpad.c
index eb083c9..3e053ee 100644
--- a/test/touchpad.c
+++ b/test/touchpad.c
@@ -4411,14 +4411,14 @@ litest_setup_tests(void)
        litest_add("touchpad:dwt", touchpad_dwt_edge_scroll, LITEST_TOUCHPAD, 
LITEST_CLICKPAD);
        litest_add("touchpad:dwt", touchpad_dwt_edge_scroll_interrupt, 
LITEST_TOUCHPAD, LITEST_CLICKPAD);
 
-       litest_add("touchpad:thumb", touchpad_thumb_begin_no_motion, 
LITEST_TOUCHPAD, LITEST_ANY);
-       litest_add("touchpad:thumb", touchpad_thumb_update_no_motion, 
LITEST_TOUCHPAD, LITEST_ANY);
+       litest_add("touchpad:thumb", touchpad_thumb_begin_no_motion, 
LITEST_CLICKPAD, LITEST_ANY);
+       litest_add("touchpad:thumb", touchpad_thumb_update_no_motion, 
LITEST_CLICKPAD, LITEST_ANY);
        litest_add("touchpad:thumb", touchpad_thumb_clickfinger, 
LITEST_CLICKPAD, LITEST_ANY);
        litest_add("touchpad:thumb", touchpad_thumb_btnarea, LITEST_CLICKPAD, 
LITEST_ANY);
-       litest_add("touchpad:thumb", touchpad_thumb_edgescroll, 
LITEST_TOUCHPAD, LITEST_ANY);
-       litest_add("touchpad:thumb", touchpad_thumb_tap_begin, LITEST_TOUCHPAD, 
LITEST_ANY);
-       litest_add("touchpad:thumb", touchpad_thumb_tap_touch, LITEST_TOUCHPAD, 
LITEST_ANY);
-       litest_add("touchpad:thumb", touchpad_thumb_tap_hold, LITEST_TOUCHPAD, 
LITEST_ANY);
-       litest_add("touchpad:thumb", touchpad_thumb_tap_hold_2ndfg, 
LITEST_TOUCHPAD, LITEST_SINGLE_TOUCH);
-       litest_add("touchpad:thumb", touchpad_thumb_tap_hold_2ndfg_tap, 
LITEST_TOUCHPAD, LITEST_SINGLE_TOUCH);
+       litest_add("touchpad:thumb", touchpad_thumb_edgescroll, 
LITEST_CLICKPAD, LITEST_ANY);
+       litest_add("touchpad:thumb", touchpad_thumb_tap_begin, LITEST_CLICKPAD, 
LITEST_ANY);
+       litest_add("touchpad:thumb", touchpad_thumb_tap_touch, LITEST_CLICKPAD, 
LITEST_ANY);
+       litest_add("touchpad:thumb", touchpad_thumb_tap_hold, LITEST_CLICKPAD, 
LITEST_ANY);
+       litest_add("touchpad:thumb", touchpad_thumb_tap_hold_2ndfg, 
LITEST_CLICKPAD, LITEST_SINGLE_TOUCH);
+       litest_add("touchpad:thumb", touchpad_thumb_tap_hold_2ndfg_tap, 
LITEST_CLICKPAD, LITEST_SINGLE_TOUCH);
 }
-- 
2.4.3

_______________________________________________
wayland-devel mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/wayland-devel

Reply via email to