Supposed to be [-1, 1] but we only generated [0, 1] Reported-by: Carlos Garnacho <carl...@gnome.org> Signed-off-by: Peter Hutterer <peter.hutte...@who-t.net> --- src/evdev-tablet.c | 2 +- test/tablet.c | 10 +++++++--- 2 files changed, 8 insertions(+), 4 deletions(-)
diff --git a/src/evdev-tablet.c b/src/evdev-tablet.c index 9a1ac52..84563a8 100644 --- a/src/evdev-tablet.c +++ b/src/evdev-tablet.c @@ -201,7 +201,7 @@ normalize_dist_slider(const struct input_absinfo *absinfo) double range = absinfo->maximum - absinfo->minimum; double value = (absinfo->value - absinfo->minimum) / range; - return value; + return value * 2 - 1; } static inline double diff --git a/test/tablet.c b/test/tablet.c index ad6ac45..3999c3d 100644 --- a/test/tablet.c +++ b/test/tablet.c @@ -2532,7 +2532,7 @@ START_TEST(airbrush_tool) } END_TEST -START_TEST(airbrush_wheel) +START_TEST(airbrush_slider) { struct litest_device *dev = litest_current_device(); struct libinput *li = dev->libinput; @@ -2541,6 +2541,7 @@ START_TEST(airbrush_wheel) const struct input_absinfo *abs; double val; double scale; + double expected; int v; if (!libevdev_has_event_code(dev->evdev, @@ -2574,7 +2575,10 @@ START_TEST(airbrush_wheel) ck_assert(libinput_event_tablet_tool_slider_has_changed(tev)); val = libinput_event_tablet_tool_get_slider_position(tev); - ck_assert_int_eq(val, (v - abs->minimum)/scale); + expected = ((v - abs->minimum)/scale) * 2 - 1; + ck_assert_double_eq(val, expected); + ck_assert_double_ge(val, -1.0); + ck_assert_double_le(val, 1.0); libinput_event_destroy(event); litest_assert_empty_queue(li); } @@ -3655,7 +3659,7 @@ litest_setup_tests(void) litest_add("tablet:mouse", mouse_rotation, LITEST_TABLET, LITEST_ANY); litest_add("tablet:mouse", mouse_wheel, LITEST_TABLET, LITEST_WHEEL); litest_add("tablet:airbrush", airbrush_tool, LITEST_TABLET, LITEST_ANY); - litest_add("tablet:airbrush", airbrush_wheel, LITEST_TABLET, LITEST_ANY); + litest_add("tablet:airbrush", airbrush_slider, LITEST_TABLET, LITEST_ANY); litest_add("tablet:artpen", artpen_tool, LITEST_TABLET, LITEST_ANY); litest_add("tablet:artpen", artpen_rotation, LITEST_TABLET, LITEST_ANY); -- 2.5.5 _______________________________________________ wayland-devel mailing list wayland-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/wayland-devel