TouchpadInputMapper: send hover events after UP
After an UP event, it's expected that an input device with a cursor
(e.g. mouse, touchpad, stylus) sends a HOVER_ENTER event so that the app
knows the cursor is hovering again. From how CursorInputMapper does
this, it seems that the convention is for the mapper to send a
HOVER_MOVE which is then turned into HOVER_ENTER later in the stack.
This is an area we'd like to refactor in future, but for now this fixes
the issue in a way that's consistent with CursorInputMapper.
Bug: 287246827
Test: in a test app, click with a touchpad and check the UP event is
followed by a HOVER_ENTER
Test: atest inputflinger_tests:GestureConverterTest
Change-Id: I990428552549b3bc8a1eda7199dcbe92801ca4e1
diff --git a/services/inputflinger/tests/TouchpadInputMapper_test.cpp b/services/inputflinger/tests/TouchpadInputMapper_test.cpp
index 92cd462..02abf9f 100644
--- a/services/inputflinger/tests/TouchpadInputMapper_test.cpp
+++ b/services/inputflinger/tests/TouchpadInputMapper_test.cpp
@@ -139,7 +139,8 @@
VariantWith<NotifyMotionArgs>(WithMotionAction(ACTION_DOWN)),
VariantWith<NotifyMotionArgs>(WithMotionAction(BUTTON_PRESS)),
VariantWith<NotifyMotionArgs>(WithMotionAction(BUTTON_RELEASE)),
- VariantWith<NotifyMotionArgs>(WithMotionAction(ACTION_UP))));
+ VariantWith<NotifyMotionArgs>(WithMotionAction(ACTION_UP)),
+ VariantWith<NotifyMotionArgs>(WithMotionAction(HOVER_MOVE))));
// Liftoff
args.clear();