From 6cb152f602c5a2019795cd0bff46266dba5f2fa9 Mon Sep 17 00:00:00 2001 From: Cameron Gutman Date: Sat, 24 Jun 2023 16:15:00 -0500 Subject: [PATCH] Increase gamepad limit to 16 for Sunshine hosts --- .../java/com/limelight/binding/input/ControllerHandler.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 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 78ccdff4..ce884e35 100644 --- a/app/src/main/java/com/limelight/binding/input/ControllerHandler.java +++ b/app/src/main/java/com/limelight/binding/input/ControllerHandler.java @@ -48,6 +48,8 @@ public class ControllerHandler implements InputManager.InputDeviceListener, UsbD private static final int EMULATING_SPECIAL = 0x1; private static final int EMULATING_SELECT = 0x2; + private static final short MAX_GAMEPADS = 16; // Limited by bits in activeGamepadMask + private final Vector2d inputVector = new Vector2d(); private final SparseArray inputDeviceContexts = new SparseArray<>(); @@ -333,7 +335,7 @@ public class ControllerHandler implements InputManager.InputDeviceListener, UsbD context.controllerNumber = 0; LimeLog.info("Reserving the next available controller number"); - for (short i = 0; i < 4; i++) { + for (short i = 0; i < MAX_GAMEPADS; i++) { if ((currentControllers & (1 << i)) == 0) { // Found an unused controller value currentControllers |= (1 << i); @@ -357,7 +359,7 @@ public class ControllerHandler implements InputManager.InputDeviceListener, UsbD context.controllerNumber = 0; LimeLog.info("Reserving the next available controller number"); - for (short i = 0; i < 4; i++) { + for (short i = 0; i < MAX_GAMEPADS; i++) { if ((currentControllers & (1 << i)) == 0) { // Found an unused controller value currentControllers |= (1 << i);