[PATCH libinput] touchpad: disable tap drag lock by default
Peter Hutterer
peter.hutterer at who-t.net
Thu Jun 25 23:49:17 PDT 2015
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 <peter.hutterer at who-t.net>
---
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
More information about the wayland-devel
mailing list