From 34f729484bed6ab37ddb693e2760372e3abd33ab Mon Sep 17 00:00:00 2001 From: isXander Date: Fri, 4 Aug 2023 23:39:58 +0100 Subject: [PATCH] =?UTF-8?q?=E2=9E=95=20Add=20'PRINT=5FVID=5FPID'=20debug?= =?UTF-8?q?=20property?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../isxander/controlify/debug/DebugProperties.java | 2 ++ .../controlify/hid/ControllerHIDService.java | 12 ++++++++++++ 2 files changed, 14 insertions(+) diff --git a/src/main/java/dev/isxander/controlify/debug/DebugProperties.java b/src/main/java/dev/isxander/controlify/debug/DebugProperties.java index 2f48101..bc8f75d 100644 --- a/src/main/java/dev/isxander/controlify/debug/DebugProperties.java +++ b/src/main/java/dev/isxander/controlify/debug/DebugProperties.java @@ -10,6 +10,8 @@ public class DebugProperties { private static final List properties = new ArrayList<>(); public static final boolean DEBUG_LOGGING = boolProp("controlify.debug.logging", false, true); + /* Print the VID and PID of every controller connected. */ + public static final boolean PRINT_VID_PID = boolProp("controlify.debug.print_vid_pid", false, true); /* Renders debug overlay for vmouse snapping */ public static final boolean DEBUG_SNAPPING = boolProp("controlify.debug.snapping", false, false); /* Forces all gamepads to be treated as a regular joystick */ diff --git a/src/main/java/dev/isxander/controlify/hid/ControllerHIDService.java b/src/main/java/dev/isxander/controlify/hid/ControllerHIDService.java index c65587c..694dcad 100644 --- a/src/main/java/dev/isxander/controlify/hid/ControllerHIDService.java +++ b/src/main/java/dev/isxander/controlify/hid/ControllerHIDService.java @@ -4,6 +4,7 @@ import com.mojang.datafixers.util.Pair; import dev.isxander.controlify.Controlify; import dev.isxander.controlify.controller.ControllerType; import dev.isxander.controlify.controller.sdl2.SDL2NativesManager; +import dev.isxander.controlify.debug.DebugProperties; import dev.isxander.controlify.utils.Log; import dev.isxander.controlify.utils.ToastUtils; import net.minecraft.network.chat.Component; @@ -47,6 +48,17 @@ public class ControllerHIDService { } public ControllerHIDInfo fetchType(int jid) { + ControllerHIDInfo info = fetchType0(jid); + if (DebugProperties.PRINT_VID_PID) { + info.hidDevice.ifPresent(hid -> { + var hex = HexFormat.of().withPrefix("0x"); + Log.LOGGER.info("VID: {}, PID: {}", hex.toHexDigits(hid.vendorID()), hex.toHexDigits(hid.productID())); + }); + } + return info; + } + + private ControllerHIDInfo fetchType0(int jid) { if (firstFetch) { firstFetch = false; if (isDisabled() && !SDL2NativesManager.isLoaded()) {