diff options
Diffstat (limited to 'libs/input')
| -rw-r--r-- | libs/input/Input.cpp | 24 | ||||
| -rw-r--r-- | libs/input/tests/InputEvent_test.cpp | 10 |
2 files changed, 27 insertions, 7 deletions
diff --git a/libs/input/Input.cpp b/libs/input/Input.cpp index 4127f7ce10..2b7483d27d 100644 --- a/libs/input/Input.cpp +++ b/libs/input/Input.cpp @@ -64,9 +64,10 @@ float transformAngle(const ui::Transform& transform, float angleRadians) { } bool shouldDisregardTransformation(uint32_t source) { - // Do not apply any transformations to axes from joysticks or touchpads. + // Do not apply any transformations to axes from joysticks, touchpads, or relative mice. return isFromSource(source, AINPUT_SOURCE_CLASS_JOYSTICK) || - isFromSource(source, AINPUT_SOURCE_CLASS_POSITION); + isFromSource(source, AINPUT_SOURCE_CLASS_POSITION) || + isFromSource(source, AINPUT_SOURCE_MOUSE_RELATIVE); } bool shouldDisregardOffset(uint32_t source) { @@ -89,6 +90,25 @@ const char* motionClassificationToString(MotionClassification classification) { } } +const char* motionToolTypeToString(int32_t toolType) { + switch (toolType) { + case AMOTION_EVENT_TOOL_TYPE_UNKNOWN: + return "UNKNOWN"; + case AMOTION_EVENT_TOOL_TYPE_FINGER: + return "FINGER"; + case AMOTION_EVENT_TOOL_TYPE_STYLUS: + return "STYLUS"; + case AMOTION_EVENT_TOOL_TYPE_MOUSE: + return "MOUSE"; + case AMOTION_EVENT_TOOL_TYPE_ERASER: + return "ERASER"; + case AMOTION_EVENT_TOOL_TYPE_PALM: + return "PALM"; + default: + return "INVALID"; + } +} + // --- IdGenerator --- IdGenerator::IdGenerator(Source source) : mSource(source) {} diff --git a/libs/input/tests/InputEvent_test.cpp b/libs/input/tests/InputEvent_test.cpp index a92016ba3b..4b3124636b 100644 --- a/libs/input/tests/InputEvent_test.cpp +++ b/libs/input/tests/InputEvent_test.cpp @@ -715,10 +715,10 @@ TEST_F(MotionEventTest, ApplyTransform) { } TEST_F(MotionEventTest, JoystickAndTouchpadAreNotTransformed) { - constexpr static std::array kNonTransformedSources = {std::pair(AINPUT_SOURCE_TOUCHPAD, - AMOTION_EVENT_ACTION_DOWN), - std::pair(AINPUT_SOURCE_JOYSTICK, - AMOTION_EVENT_ACTION_MOVE)}; + constexpr static std::array kNonTransformedSources = + {std::pair(AINPUT_SOURCE_TOUCHPAD, AMOTION_EVENT_ACTION_DOWN), + std::pair(AINPUT_SOURCE_JOYSTICK, AMOTION_EVENT_ACTION_MOVE), + std::pair(AINPUT_SOURCE_MOUSE_RELATIVE, AMOTION_EVENT_ACTION_MOVE)}; // Create a rotate-90 transform with an offset (like a window which isn't fullscreen). ui::Transform transform(ui::Transform::ROT_90, 800, 400); transform.set(transform.tx() + 20, transform.ty() + 40); @@ -738,7 +738,7 @@ TEST_F(MotionEventTest, JoystickAndTouchpadAreNotTransformed) { TEST_F(MotionEventTest, NonPointerSourcesAreNotTranslated) { constexpr static std::array kNonPointerSources = {std::pair(AINPUT_SOURCE_TRACKBALL, AMOTION_EVENT_ACTION_DOWN), - std::pair(AINPUT_SOURCE_MOUSE_RELATIVE, + std::pair(AINPUT_SOURCE_TOUCH_NAVIGATION, AMOTION_EVENT_ACTION_MOVE)}; // Create a rotate-90 transform with an offset (like a window which isn't fullscreen). ui::Transform transform(ui::Transform::ROT_90, 800, 400); |