From 3b4563d5eac9bd4a2371146b9f7c4f22c6c0e72d Mon Sep 17 00:00:00 2001 From: Cameron Gutman Date: Fri, 10 Nov 2017 00:50:02 -0800 Subject: [PATCH] Suppress digital trigger events if an analog trigger axis is present. Fixes #465 --- .../binding/input/ControllerHandler.java | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/app/src/main/java/com/limelight/binding/input/ControllerHandler.java b/app/src/main/java/com/limelight/binding/input/ControllerHandler.java index 0939f285..1757fdf2 100644 --- a/app/src/main/java/com/limelight/binding/input/ControllerHandler.java +++ b/app/src/main/java/com/limelight/binding/input/ControllerHandler.java @@ -966,9 +966,17 @@ public class ControllerHandler implements InputManager.InputDeviceListener, UsbD context.inputMap &= ~ControllerPacket.RS_CLK_FLAG; break; case KeyEvent.KEYCODE_BUTTON_L2: + if (context.leftTriggerAxis >= 0) { + // Suppress this digital event if an analog trigger is present + return true; + } context.leftTrigger = 0; break; case KeyEvent.KEYCODE_BUTTON_R2: + if (context.rightTriggerAxis >= 0) { + // Suppress this digital event if an analog trigger is present + return true; + } context.rightTrigger = 0; break; default: @@ -1078,9 +1086,17 @@ public class ControllerHandler implements InputManager.InputDeviceListener, UsbD context.inputMap |= ControllerPacket.RS_CLK_FLAG; break; case KeyEvent.KEYCODE_BUTTON_L2: + if (context.leftTriggerAxis >= 0) { + // Suppress this digital event if an analog trigger is present + return true; + } context.leftTrigger = (byte)0xFF; break; case KeyEvent.KEYCODE_BUTTON_R2: + if (context.rightTriggerAxis >= 0) { + // Suppress this digital event if an analog trigger is present + return true; + } context.rightTrigger = (byte)0xFF; break; default: