diff options
author | Peter Hutterer <peter.hutterer@who-t.net> | 2018-04-11 16:02:43 +1000 |
---|---|---|
committer | Peter Hutterer <peter.hutterer@who-t.net> | 2018-04-26 14:48:37 +1000 |
commit | f6d61dc3147c2df297c117a23752c332abdb1288 (patch) | |
tree | b8b44c5b434089a5d080177008b389a8a8f67271 /test | |
parent | d8bd650540e68e8b648e76180c5eee0f19a3b893 (diff) | |
download | libinput-f6d61dc3147c2df297c117a23752c332abdb1288.tar.gz |
touchpad: allow custom profiles on touchpads
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Diffstat (limited to 'test')
-rw-r--r-- | test/test-pointer.c | 52 |
1 files changed, 29 insertions, 23 deletions
diff --git a/test/test-pointer.c b/test/test-pointer.c index d6ff4ffe..300c428b 100644 --- a/test/test-pointer.c +++ b/test/test-pointer.c @@ -1365,11 +1365,23 @@ START_TEST(pointer_accel_direction_change) } END_TEST +static inline void +verify_set_profile(struct libinput_device *device, + enum libinput_config_accel_profile profile) +{ + enum libinput_config_accel_profile p; + enum libinput_config_status status; + + status = libinput_device_config_accel_set_profile(device, profile); + ck_assert_int_eq(status, LIBINPUT_CONFIG_STATUS_SUCCESS); + p = libinput_device_config_accel_get_profile(device); + ck_assert_int_eq(profile, p); +} + START_TEST(pointer_accel_profile_defaults) { struct litest_device *dev = litest_current_device(); struct libinput_device *device = dev->libinput_device; - enum libinput_config_status status; enum libinput_config_accel_profile profile; uint32_t profiles; @@ -1384,25 +1396,18 @@ START_TEST(pointer_accel_profile_defaults) profiles = libinput_device_config_accel_get_profiles(device); ck_assert(profiles & LIBINPUT_CONFIG_ACCEL_PROFILE_ADAPTIVE); ck_assert(profiles & LIBINPUT_CONFIG_ACCEL_PROFILE_FLAT); + ck_assert(profiles & LIBINPUT_CONFIG_ACCEL_PROFILE_DEVICE_SPEED_CURVE); - status = libinput_device_config_accel_set_profile(device, - LIBINPUT_CONFIG_ACCEL_PROFILE_FLAT); - ck_assert_int_eq(status, LIBINPUT_CONFIG_STATUS_SUCCESS); - profile = libinput_device_config_accel_get_profile(device); - ck_assert_int_eq(profile, LIBINPUT_CONFIG_ACCEL_PROFILE_FLAT); + verify_set_profile(device, LIBINPUT_CONFIG_ACCEL_PROFILE_FLAT); profile = libinput_device_config_accel_get_default_profile(device); ck_assert_int_eq(profile, LIBINPUT_CONFIG_ACCEL_PROFILE_ADAPTIVE); - status = libinput_device_config_accel_set_profile(device, - LIBINPUT_CONFIG_ACCEL_PROFILE_ADAPTIVE); - ck_assert_int_eq(status, LIBINPUT_CONFIG_STATUS_SUCCESS); - profile = libinput_device_config_accel_get_profile(device); - ck_assert_int_eq(profile, LIBINPUT_CONFIG_ACCEL_PROFILE_ADAPTIVE); + verify_set_profile(device, LIBINPUT_CONFIG_ACCEL_PROFILE_ADAPTIVE); } END_TEST -START_TEST(pointer_accel_profile_defaults_noprofile) +START_TEST(pointer_accel_profile_defaults_touchpad) { struct litest_device *dev = litest_current_device(); struct libinput_device *device = dev->libinput_device; @@ -1413,25 +1418,26 @@ START_TEST(pointer_accel_profile_defaults_noprofile) ck_assert(libinput_device_config_accel_is_available(device)); profile = libinput_device_config_accel_get_default_profile(device); - ck_assert_int_eq(profile, LIBINPUT_CONFIG_ACCEL_PROFILE_NONE); + ck_assert_int_eq(profile, LIBINPUT_CONFIG_ACCEL_PROFILE_ADAPTIVE); profile = libinput_device_config_accel_get_profile(device); - ck_assert_int_eq(profile, LIBINPUT_CONFIG_ACCEL_PROFILE_NONE); + ck_assert_int_eq(profile, LIBINPUT_CONFIG_ACCEL_PROFILE_ADAPTIVE); profiles = libinput_device_config_accel_get_profiles(device); - ck_assert_int_eq(profiles, LIBINPUT_CONFIG_ACCEL_PROFILE_NONE); + ck_assert(profiles & LIBINPUT_CONFIG_ACCEL_PROFILE_ADAPTIVE); + ck_assert(profiles & LIBINPUT_CONFIG_ACCEL_PROFILE_DEVICE_SPEED_CURVE); - status = libinput_device_config_accel_set_profile(device, - LIBINPUT_CONFIG_ACCEL_PROFILE_FLAT); - ck_assert_int_eq(status, LIBINPUT_CONFIG_STATUS_UNSUPPORTED); - profile = libinput_device_config_accel_get_profile(device); - ck_assert_int_eq(profile, LIBINPUT_CONFIG_ACCEL_PROFILE_NONE); + verify_set_profile(device, LIBINPUT_CONFIG_ACCEL_PROFILE_ADAPTIVE); + verify_set_profile(device, LIBINPUT_CONFIG_ACCEL_PROFILE_DEVICE_SPEED_CURVE); + profile = libinput_device_config_accel_get_default_profile(device); + ck_assert_int_eq(profile, LIBINPUT_CONFIG_ACCEL_PROFILE_ADAPTIVE); + verify_set_profile(device, LIBINPUT_CONFIG_ACCEL_PROFILE_ADAPTIVE); status = libinput_device_config_accel_set_profile(device, - LIBINPUT_CONFIG_ACCEL_PROFILE_ADAPTIVE); + LIBINPUT_CONFIG_ACCEL_PROFILE_FLAT); ck_assert_int_eq(status, LIBINPUT_CONFIG_STATUS_UNSUPPORTED); profile = libinput_device_config_accel_get_profile(device); - ck_assert_int_eq(profile, LIBINPUT_CONFIG_ACCEL_PROFILE_NONE); + ck_assert_int_eq(profile, LIBINPUT_CONFIG_ACCEL_PROFILE_ADAPTIVE); } END_TEST @@ -2577,7 +2583,7 @@ TEST_COLLECTION(pointer) litest_add("pointer:accel", pointer_accel_defaults_absolute_relative, LITEST_ABSOLUTE|LITEST_RELATIVE, LITEST_ANY); litest_add("pointer:accel", pointer_accel_direction_change, LITEST_RELATIVE, LITEST_POINTINGSTICK); litest_add("pointer:accel", pointer_accel_profile_defaults, LITEST_RELATIVE, LITEST_TOUCHPAD); - litest_add("pointer:accel", pointer_accel_profile_defaults_noprofile, LITEST_TOUCHPAD, LITEST_ANY); + litest_add("pointer:accel", pointer_accel_profile_defaults_touchpad, LITEST_TOUCHPAD, LITEST_ANY); litest_add("pointer:accel", pointer_accel_profile_invalid, LITEST_RELATIVE, LITEST_ANY); litest_add("pointer:accel", pointer_accel_profile_noaccel, LITEST_ANY, LITEST_TOUCHPAD|LITEST_RELATIVE|LITEST_TABLET); litest_add("pointer:accel", pointer_accel_profile_flat_motion_relative, LITEST_RELATIVE, LITEST_TOUCHPAD); |