From a08854ddfd2941174b18b5d1e99d30e7bb091b26 Mon Sep 17 00:00:00 2001 From: Cameron Gutman Date: Sat, 16 Jun 2018 15:01:07 -0700 Subject: [PATCH] Properly handle SOURCE_MOUSE_RELATIVE in the mouse back button hack. Fixes #424 --- app/src/main/java/com/limelight/Game.java | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/com/limelight/Game.java b/app/src/main/java/com/limelight/Game.java index 646221bb..d4cfabd4 100644 --- a/app/src/main/java/com/limelight/Game.java +++ b/app/src/main/java/com/limelight/Game.java @@ -835,7 +835,9 @@ public class Game extends Activity implements SurfaceHolder.Callback, // Handle a synthetic back button event that some Android OS versions // create as a result of a right-click. - if (event.getSource() == InputDevice.SOURCE_MOUSE && event.getKeyCode() == KeyEvent.KEYCODE_BACK) { + if ((event.getSource() == InputDevice.SOURCE_MOUSE || + event.getSource() == InputDevice.SOURCE_MOUSE_RELATIVE) && + event.getKeyCode() == KeyEvent.KEYCODE_BACK) { conn.sendMouseButtonDown(MouseButtonPacket.BUTTON_RIGHT); return true; } @@ -885,7 +887,9 @@ public class Game extends Activity implements SurfaceHolder.Callback, // Handle a synthetic back button event that some Android OS versions // create as a result of a right-click. - if (event.getSource() == InputDevice.SOURCE_MOUSE && event.getKeyCode() == KeyEvent.KEYCODE_BACK) { + if ((event.getSource() == InputDevice.SOURCE_MOUSE || + event.getSource() == InputDevice.SOURCE_MOUSE_RELATIVE) && + event.getKeyCode() == KeyEvent.KEYCODE_BACK) { conn.sendMouseButtonUp(MouseButtonPacket.BUTTON_RIGHT); return true; } @@ -953,6 +957,7 @@ public class Game extends Activity implements SurfaceHolder.Callback, { // This case is for mice if (event.getSource() == InputDevice.SOURCE_MOUSE || + event.getSource() == InputDevice.SOURCE_MOUSE_RELATIVE || (event.getPointerCount() >= 1 && event.getToolType(0) == MotionEvent.TOOL_TYPE_MOUSE)) {