test(linux): cover upper-half absolute mouse movement (#173)

This commit is contained in:
Dave Lane authored and GitHub committed 2026-09-30 10:32:46 -04:00
1 parent 8eca05868f
commit 90eef324ad
2 files changed
+23

No files matched your search

+15
View File
@@ -606,6 +606,21 @@ TEST_F(LinuxBackendTest, PipeBackedUinputMouseEmitsEvents) {
EXPECT_EQ(result.events[1].value, 65535);
EXPECT_EQ(result.events[2].type, EV_SYN);
event.x = 2580;
event.y = 1080;
event.width = 3440;
event.height = 1440;
result = lvh::detail::test::linux_uinput_mouse_submit_pipe(event);
ASSERT_TRUE(result.status.ok()) << result.status.message();
ASSERT_EQ(result.events.size(), 3U);
EXPECT_EQ(result.events[0].type, EV_ABS);
EXPECT_EQ(result.events[0].code, ABS_X);
EXPECT_EQ(result.events[0].value, 49151);
EXPECT_EQ(result.events[1].type, EV_ABS);
EXPECT_EQ(result.events[1].code, ABS_Y);
EXPECT_EQ(result.events[1].value, 49151);
EXPECT_EQ(result.events[2].type, EV_SYN);
event = {};
event.kind = lvh::MouseEventKind::button;
event.button = lvh::MouseButton::extra;
+8
View File
@@ -1197,6 +1197,14 @@ TEST_F(LinuxConsumerTest, LibinputSeesSplitUinputMouseMotionAndButtons) {
EXPECT_NEAR(libinput_event_pointer_get_absolute_x_transformed(pointer_event, 100), 50.0, 0.1);
EXPECT_NEAR(libinput_event_pointer_get_absolute_y_transformed(pointer_event, 100), 25.0, 0.1);
ASSERT_TRUE(created.mouse->move_absolute(2580, 1080, 3440, 1440).ok());
event = wait_for_libinput_event(absolute_context.get(), {LIBINPUT_EVENT_POINTER_MOTION_ABSOLUTE});
ASSERT_NE(event.get(), nullptr);
pointer_event = libinput_event_get_pointer_event(event.get());
ASSERT_NE(pointer_event, nullptr);
EXPECT_NEAR(libinput_event_pointer_get_absolute_x_transformed(pointer_event, 100), 75.0, 0.1);
EXPECT_NEAR(libinput_event_pointer_get_absolute_y_transformed(pointer_event, 100), 75.0, 0.1);
ASSERT_TRUE(created.mouse->button(lvh::MouseButton::middle, true).ok());
event = wait_for_libinput_event(absolute_context.get(), {LIBINPUT_EVENT_POINTER_BUTTON});
ASSERT_NE(event.get(), nullptr);