From ee00a737d4ac578192212954e03fee743117ff22 Mon Sep 17 00:00:00 2001 From: SerpentSpirale Date: Mon, 24 May 2021 18:49:02 +0200 Subject: [PATCH] more accurate gamepad deadzone detection --- .../net/kdt/pojavlaunch/BaseMainActivity.java | 4 ++-- .../main/java/net/kdt/pojavlaunch/Tools.java | 19 +------------------ 2 files changed, 3 insertions(+), 20 deletions(-) diff --git a/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/BaseMainActivity.java b/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/BaseMainActivity.java index ebfae66f2..a3733b45b 100644 --- a/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/BaseMainActivity.java +++ b/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/BaseMainActivity.java @@ -592,7 +592,7 @@ public class BaseMainActivity extends LoggableActivity { if(Gamepad.isGamepadEvent(ev)){ if(gamepad == null){ - gamepad = new Gamepad(this, Tools.grabFirstGamepad()); + gamepad = new Gamepad(this, ev.getDevice()); } gamepad.update(ev); @@ -644,7 +644,7 @@ public class BaseMainActivity extends LoggableActivity { if(Gamepad.isGamepadEvent(event)){ if(gamepad == null){ - gamepad = new Gamepad(this, Tools.grabFirstGamepad()); + gamepad = new Gamepad(this, event.getDevice()); } gamepad.update(event); diff --git a/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/Tools.java b/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/Tools.java index 5ce8832c4..83b95c7bd 100644 --- a/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/Tools.java +++ b/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/Tools.java @@ -872,22 +872,5 @@ public final class Tools { Tools.updateWindowSize(ctx); } } - - public static InputDevice grabFirstGamepad() { - - int[] deviceIds = InputDevice.getDeviceIds(); - for (int deviceId : deviceIds) { - InputDevice dev = InputDevice.getDevice(deviceId); - int sources = dev.getSources(); - - // Verify that the device has gamepad buttons, control sticks, or both. - if (((sources & InputDevice.SOURCE_GAMEPAD) == InputDevice.SOURCE_GAMEPAD) - || ((sources & InputDevice.SOURCE_JOYSTICK) - == InputDevice.SOURCE_JOYSTICK)) { - // This device is a game controller. Store its device ID. - return dev; - } - } - return null; - } + }