mirror of
https://gitlab.freedesktop.org/libinput/libinput.git
synced 2025-12-20 06:50:05 +01:00
Allow disabling tapping on a device without tapping
The doc says this "always succeeds", not "segfaults". Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
This commit is contained in:
parent
120a5b3384
commit
cd163b3b8a
2 changed files with 7 additions and 3 deletions
|
|
@ -1708,11 +1708,12 @@ libinput_device_config_tap_set_enabled(struct libinput_device *device,
|
|||
enable != LIBINPUT_CONFIG_TAP_DISABLED)
|
||||
return LIBINPUT_CONFIG_STATUS_INVALID;
|
||||
|
||||
if (enable &&
|
||||
libinput_device_config_tap_get_finger_count(device) == 0)
|
||||
return LIBINPUT_CONFIG_STATUS_UNSUPPORTED;
|
||||
if (libinput_device_config_tap_get_finger_count(device) == 0)
|
||||
return enable ? LIBINPUT_CONFIG_STATUS_UNSUPPORTED :
|
||||
LIBINPUT_CONFIG_STATUS_SUCCESS;
|
||||
|
||||
return device->config.tap->set_enabled(device, enable);
|
||||
|
||||
}
|
||||
|
||||
LIBINPUT_EXPORT enum libinput_config_tap_state
|
||||
|
|
|
|||
|
|
@ -3154,6 +3154,9 @@ START_TEST(touchpad_tap_is_not_available)
|
|||
ck_assert_int_eq(libinput_device_config_tap_set_enabled(dev->libinput_device,
|
||||
LIBINPUT_CONFIG_TAP_ENABLED),
|
||||
LIBINPUT_CONFIG_STATUS_UNSUPPORTED);
|
||||
ck_assert_int_eq(libinput_device_config_tap_set_enabled(dev->libinput_device,
|
||||
LIBINPUT_CONFIG_TAP_DISABLED),
|
||||
LIBINPUT_CONFIG_STATUS_SUCCESS);
|
||||
}
|
||||
END_TEST
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue