From ae6f7974369ab26eac4885e17f49b0208318b7fd Mon Sep 17 00:00:00 2001 From: Cameron Gutman Date: Mon, 19 Feb 2018 17:29:18 -0800 Subject: [PATCH] Handle right-clicks that are synthesized into back button presses --- app/src/main/java/com/limelight/Game.java | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/app/src/main/java/com/limelight/Game.java b/app/src/main/java/com/limelight/Game.java index 5c49d476..a657188f 100644 --- a/app/src/main/java/com/limelight/Game.java +++ b/app/src/main/java/com/limelight/Game.java @@ -784,6 +784,13 @@ public class Game extends Activity implements SurfaceHolder.Callback, return super.onKeyDown(keyCode, event); } + // 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) { + conn.sendMouseButtonDown(MouseButtonPacket.BUTTON_RIGHT); + return true; + } + boolean handled = false; boolean detectedGamepad = event.getDevice() != null && ((event.getDevice().getSources() & InputDevice.SOURCE_JOYSTICK) == InputDevice.SOURCE_JOYSTICK || @@ -826,6 +833,13 @@ public class Game extends Activity implements SurfaceHolder.Callback, return super.onKeyUp(keyCode, event); } + // 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) { + conn.sendMouseButtonUp(MouseButtonPacket.BUTTON_RIGHT); + return true; + } + boolean handled = false; boolean detectedGamepad = event.getDevice() != null && ((event.getDevice().getSources() & InputDevice.SOURCE_JOYSTICK) == InputDevice.SOURCE_JOYSTICK || (event.getDevice().getSources() & InputDevice.SOURCE_GAMEPAD) == InputDevice.SOURCE_GAMEPAD);