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

Reply via email to