Similar to tapping, it's a feature that is useful but confusing if a user doesn't know it exists. It makes the touchpad appear laggy and slow to react in the best case, or appear like a stuck button in the worst case.
Signed-off-by: Peter Hutterer <[email protected]> --- diff of the test is a bit confusing, but i renamed _enabled to _disabled and _disabled to _unavailable. Should be a 4-line diff... src/evdev-mt-touchpad-tap.c | 2 +- test/touchpad-tap.c | 62 ++++++++++++++++++++++----------------------- 2 files changed, 32 insertions(+), 32 deletions(-) diff --git a/src/evdev-mt-touchpad-tap.c b/src/evdev-mt-touchpad-tap.c index 40d431a..7f241de 100644 --- a/src/evdev-mt-touchpad-tap.c +++ b/src/evdev-mt-touchpad-tap.c @@ -880,7 +880,7 @@ tp_tap_config_get_draglock_enabled(struct libinput_device *device) static inline enum libinput_config_drag_lock_state tp_drag_lock_default(struct evdev_device *device) { - return LIBINPUT_CONFIG_DRAG_LOCK_ENABLED; + return LIBINPUT_CONFIG_DRAG_LOCK_DISABLED; } static enum libinput_config_drag_lock_state diff --git a/test/touchpad-tap.c b/test/touchpad-tap.c index d04feb4..c021f1d 100644 --- a/test/touchpad-tap.c +++ b/test/touchpad-tap.c @@ -1699,35 +1699,6 @@ START_TEST(touchpad_tap_invalid) } END_TEST -START_TEST(touchpad_drag_lock_default_enabled) -{ - struct litest_device *dev = litest_current_device(); - struct libinput_device *device = dev->libinput_device; - enum libinput_config_status status; - - ck_assert_int_eq(libinput_device_config_tap_get_drag_lock_enabled(device), - LIBINPUT_CONFIG_DRAG_LOCK_ENABLED); - ck_assert_int_eq(libinput_device_config_tap_get_default_drag_lock_enabled(device), - LIBINPUT_CONFIG_DRAG_LOCK_ENABLED); - - status = libinput_device_config_tap_set_drag_lock_enabled(device, - LIBINPUT_CONFIG_DRAG_LOCK_ENABLED); - ck_assert_int_eq(status, LIBINPUT_CONFIG_STATUS_SUCCESS); - - status = libinput_device_config_tap_set_drag_lock_enabled(device, - LIBINPUT_CONFIG_DRAG_LOCK_DISABLED); - ck_assert_int_eq(status, LIBINPUT_CONFIG_STATUS_SUCCESS); - - status = libinput_device_config_tap_set_drag_lock_enabled(device, - LIBINPUT_CONFIG_DRAG_LOCK_ENABLED); - ck_assert_int_eq(status, LIBINPUT_CONFIG_STATUS_SUCCESS); - - status = libinput_device_config_tap_set_drag_lock_enabled(device, - 3); - ck_assert_int_eq(status, LIBINPUT_CONFIG_STATUS_INVALID); -} -END_TEST - START_TEST(touchpad_drag_lock_default_disabled) { struct litest_device *dev = litest_current_device(); @@ -1741,6 +1712,35 @@ START_TEST(touchpad_drag_lock_default_disabled) status = libinput_device_config_tap_set_drag_lock_enabled(device, LIBINPUT_CONFIG_DRAG_LOCK_ENABLED); + ck_assert_int_eq(status, LIBINPUT_CONFIG_STATUS_SUCCESS); + + status = libinput_device_config_tap_set_drag_lock_enabled(device, + LIBINPUT_CONFIG_DRAG_LOCK_DISABLED); + ck_assert_int_eq(status, LIBINPUT_CONFIG_STATUS_SUCCESS); + + status = libinput_device_config_tap_set_drag_lock_enabled(device, + LIBINPUT_CONFIG_DRAG_LOCK_ENABLED); + ck_assert_int_eq(status, LIBINPUT_CONFIG_STATUS_SUCCESS); + + status = libinput_device_config_tap_set_drag_lock_enabled(device, + 3); + ck_assert_int_eq(status, LIBINPUT_CONFIG_STATUS_INVALID); +} +END_TEST + +START_TEST(touchpad_drag_lock_default_unavailable) +{ + struct litest_device *dev = litest_current_device(); + struct libinput_device *device = dev->libinput_device; + enum libinput_config_status status; + + ck_assert_int_eq(libinput_device_config_tap_get_drag_lock_enabled(device), + LIBINPUT_CONFIG_DRAG_LOCK_DISABLED); + ck_assert_int_eq(libinput_device_config_tap_get_default_drag_lock_enabled(device), + LIBINPUT_CONFIG_DRAG_LOCK_DISABLED); + + status = libinput_device_config_tap_set_drag_lock_enabled(device, + LIBINPUT_CONFIG_DRAG_LOCK_ENABLED); ck_assert_int_eq(status, LIBINPUT_CONFIG_STATUS_UNSUPPORTED); status = libinput_device_config_tap_set_drag_lock_enabled(device, @@ -1809,7 +1809,7 @@ litest_setup_tests(void) litest_add("touchpad:tap", clickpad_1fg_tap_click, LITEST_CLICKPAD, LITEST_ANY); litest_add("touchpad:tap", clickpad_2fg_tap_click, LITEST_CLICKPAD, LITEST_SINGLE_TOUCH|LITEST_APPLE_CLICKPAD); - litest_add("touchpad:tap", touchpad_drag_lock_default_enabled, LITEST_TOUCHPAD, LITEST_ANY); - litest_add("touchpad:tap", touchpad_drag_lock_default_disabled, LITEST_ANY, LITEST_TOUCHPAD); + litest_add("touchpad:tap", touchpad_drag_lock_default_disabled, LITEST_TOUCHPAD, LITEST_ANY); + litest_add("touchpad:tap", touchpad_drag_lock_default_unavailable, LITEST_ANY, LITEST_TOUCHPAD); } -- 2.4.3 _______________________________________________ wayland-devel mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/wayland-devel
