From f612ec80e2f4a88a67fd727c6f34e58813aff06b Mon Sep 17 00:00:00 2001 From: Cameron Gutman Date: Mon, 6 Feb 2017 19:26:05 -0800 Subject: [PATCH] Fix active gamepad mask when multi-controller is disabled --- .../binding/input/ControllerHandler.java | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) 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 8476c6cf..d2479ad4 100644 --- a/app/src/main/java/com/limelight/binding/input/ControllerHandler.java +++ b/app/src/main/java/com/limelight/binding/input/ControllerHandler.java @@ -132,7 +132,7 @@ public class ControllerHandler implements InputManager.InputDeviceListener, UsbD private void releaseControllerNumber(GenericControllerContext context) { // If this device sent data as a gamepad, zero the values before removing if (context.assignedControllerNumber) { - conn.sendControllerInput(context.controllerNumber, currentControllers, + conn.sendControllerInput(context.controllerNumber, getActiveControllerMask(), (short) 0, (byte) 0, (byte) 0, (short) 0, (short) 0, @@ -459,6 +459,16 @@ public class ControllerHandler implements InputManager.InputDeviceListener, UsbD } } + private short getActiveControllerMask() { + if (multiControllerEnabled) { + return currentControllers; + } + else { + // Only Player 1 is active with multi-controller disabled + return 1; + } + } + private void sendControllerInputPacket(GenericControllerContext originalContext) { assignControllerNumberIfNeeded(originalContext); @@ -538,11 +548,11 @@ public class ControllerHandler implements InputManager.InputDeviceListener, UsbD } } - conn.sendControllerInput(controllerNumber, currentControllers, + conn.sendControllerInput(controllerNumber, getActiveControllerMask(), (short)0, (byte)0, (byte)0, (short)0, (short)0, (short)0, (short)0); } else { - conn.sendControllerInput(controllerNumber, currentControllers, + conn.sendControllerInput(controllerNumber, getActiveControllerMask(), inputMap, leftTrigger, rightTrigger, leftStickX, leftStickY,