Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Skip to content
Commit 75155343 authored by Harry Cutts's avatar Harry Cutts
Browse files

CapturedTouchpadEventConverter: report relative axes

In the old touchpad stack, when a touchpad was captured we'd report
AXIS_RELATIVE_(X|Y) values for each finger, as offsets from the location
it had in the previous frame. When I implemented captured mode in the
new stack I didn't realize this, so the new stack introduced in Android
U doesn't report them. This causes problems for games that capture the
mouse pointer and use the relative axes for camera movement.

This is attempt 2; the original CL [0] had a unit test that was flaky
due to it accidentally making assertions about uninitialized memory. The
changes since that CL are to TwoFingers_motionReportedCorrectly in
CapturedTouchpadEventConverter_test.cpp (to change the last
WithPointerRelativeMotion call to WithRelativeMotion) and
TestEventMatchers.h (to use a class for WithPointerRelativeMotion and to
check for out-of-range pointer indexes).

[0]: Change ID I8a1caa4c9315dd41bc712fd9467146bb608cf6f3

Bug: 330522990
Bug: 365166534
Test: check the axis values using a test app
Test: $ atest inputflinger_tests:CapturedTouchpadEventConverterTest
Flag: com.android.input.flags.include_relative_axis_values_for_captured_touchpads
Change-Id: If6828f95e3aa359af479a708f95fbb5e31e5bc9a
parent e724b529
Loading
Loading
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment