From 45ff51c0d20b64ecd64937627ddf379a42725de7 Mon Sep 17 00:00:00 2001 From: Cameron Gutman Date: Thu, 23 Apr 2020 00:13:19 -0700 Subject: [PATCH] Fix mouse jumping on Shield devices when clicking or scrolling --- .../binding/input/capture/ShieldCaptureProvider.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/com/limelight/binding/input/capture/ShieldCaptureProvider.java b/app/src/main/java/com/limelight/binding/input/capture/ShieldCaptureProvider.java index 64e67573..2237a490 100644 --- a/app/src/main/java/com/limelight/binding/input/capture/ShieldCaptureProvider.java +++ b/app/src/main/java/com/limelight/binding/input/capture/ShieldCaptureProvider.java @@ -75,8 +75,10 @@ public class ShieldCaptureProvider extends InputCaptureProvider { @Override public boolean eventHasRelativeMouseAxes(MotionEvent event) { - return event.getAxisValue(AXIS_RELATIVE_X) != 0 || - event.getAxisValue(AXIS_RELATIVE_Y) != 0; + // All mouse events should use relative axes, even if they are zero. This avoids triggering + // cursor jumps if we get an event with no associated motion, like ACTION_DOWN or ACTION_UP. + return event.getPointerCount() == 1 && event.getActionIndex() == 0 && + event.getToolType(0) == MotionEvent.TOOL_TYPE_MOUSE; } @Override