From 90710d1510857799f9edf8e55d8706add8a33c60 Mon Sep 17 00:00:00 2001 From: isXander Date: Wed, 2 Aug 2023 23:15:03 +0100 Subject: [PATCH] =?UTF-8?q?=F0=9F=90=9B=20Better=20naming=20of=20XInput=20?= =?UTF-8?q?devices?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dev/isxander/controlify/driver/GLFWGamepadDriver.java | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/main/java/dev/isxander/controlify/driver/GLFWGamepadDriver.java b/src/main/java/dev/isxander/controlify/driver/GLFWGamepadDriver.java index 2a7f030..25b3e1a 100644 --- a/src/main/java/dev/isxander/controlify/driver/GLFWGamepadDriver.java +++ b/src/main/java/dev/isxander/controlify/driver/GLFWGamepadDriver.java @@ -61,7 +61,13 @@ public class GLFWGamepadDriver implements BasicGamepadInputDriver, NameProviderD @Override public String getName() { - return GLFW.glfwGetGamepadName(jid); + String name = GLFW.glfwGetGamepadName(jid); + // For some reason joystick name bypasses XInput abstractions. + // In my case, joystick returns 'Wireless Xbox Controller'. + if ("XInput Gamepad (GLFW)".equals(name)) { + return GLFW.glfwGetJoystickName(jid); + } + return name; } @Override