From 286094ee33220ee8161db59213bf51e50e583134 Mon Sep 17 00:00:00 2001 From: Cameron Gutman Date: Sat, 28 May 2022 15:12:58 -0500 Subject: [PATCH] Add dead zone configuration option Fixes #1075 --- .../com/limelight/binding/input/ControllerHandler.java | 7 +------ app/src/main/res/values/strings.xml | 1 + app/src/main/res/xml/preferences.xml | 9 +++++---- 3 files changed, 7 insertions(+), 10 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 0a2a058a..a3f58c1f 100644 --- a/app/src/main/java/com/limelight/binding/input/ControllerHandler.java +++ b/app/src/main/java/com/limelight/binding/input/ControllerHandler.java @@ -72,9 +72,7 @@ public class ControllerHandler implements InputManager.InputDeviceListener, UsbD this.prefConfig = prefConfig; this.deviceVibrator = (Vibrator) activityContext.getSystemService(Context.VIBRATOR_SERVICE); - // HACK: For now we're hardcoding a 7% deadzone. Some deadzone - // is required for controller batching support to work. - int deadzonePercentage = 7; + int deadzonePercentage = prefConfig.deadzonePercentage; int[] ids = InputDevice.getDeviceIds(); for (int id : ids) { @@ -703,9 +701,6 @@ public class ControllerHandler implements InputManager.InputDeviceListener, UsbD } // SHIELD controllers will use small stick deadzones else if (devName.contains("SHIELD") || devName.contains("NVIDIA Controller")) { - context.leftStickDeadzoneRadius = 0.07f; - context.rightStickDeadzoneRadius = 0.07f; - // The big Nvidia button on the Shield controllers acts like a Search button. It // summons the Google Assistant on the Shield TV. On my Pixel 4, it seems to do // nothing, so we can hijack it to act like a mode button. diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index a5bf4987..400b4679 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -168,6 +168,7 @@ Emulate rumble support with vibration Vibrates your device to emulate rumble if your gamepad does not support it Adjust analog stick deadzone + Note: Some games can enforce a larger deadzone than what Moonlight is configured to use. % Xbox 360/One USB gamepad driver Enables a built-in USB driver for devices without native Xbox controller support diff --git a/app/src/main/res/xml/preferences.xml b/app/src/main/res/xml/preferences.xml index 5c82d010..c1ea6340 100644 --- a/app/src/main/res/xml/preferences.xml +++ b/app/src/main/res/xml/preferences.xml @@ -52,12 +52,13 @@ - + android:title="@string/title_seekbar_deadzone"/>