Controlify icon indicating copy to clipboard operation
Controlify copied to clipboard

[Bug] [V2.2.0/V2.2.1] Controller in DInput Mode no longer recognized

Open Laqco opened this issue 6 months ago • 4 comments

Current Behaviour

Since Version 2.2.0 my Controller (see below) is no longer recognized in DInput Mode. XInput and Switch Mode continue to work.

In XInput, everything (Vibration, default XBox buttons) works as expected. In Switch Mode the default Switch Buttons, Vibration and Gyro work as expected.

Expected Behaviour

In Version 2.1.2 the Controller is recognized and can be selected in game.

Vibration, Gyro and L4/R4/PL/PR dont work though. (The data stream should be available as Steam supports all of these features.)

Screenshots

No response

Reproduction Steps

Boot by pressing Home + X (XInput Mode): Detected as "XInput Controller". Boot by pressing Home + Y (Switch Mode): Detected as "Switch Controller". Boot by pressing Home + B (DInput Mode): Not detected by Controlify. Bluetooth (DInput): Not detected by Controlify. Wired (XInput): Detected as "XInput Controller".

Logs


Mod Version

2.2.0+

Controller

8BitDo Ultimate 2 Wireless Controller

Bluetooth

  • [ ] Yes

Operating System

Windows

ARM

  • [ ] Yes

Additional Information

XInput/DInput Vendor ID: VID_2DC8 XInput Product ID: PID_310B DInput Product ID: PID_6012

Switch Vendor ID: VID_057E Switch Product ID: PID_2009

Just to make sure...

  • [x] I have made sure I am using the latest version of Controlify for the latest version of Minecraft.
  • [x] I have made sure there are no other issues describing the same problem on the issue tracker.

Laqco avatar Jul 08 '25 23:07 Laqco

Oh right, i forgot to include my log:

[01:13:13] [Render thread/INFO]: Loading Controlify config...
[01:13:13] [Render thread/INFO]: [SDLNativesLoader] Attempting to load SDL3 from SDL3
[01:13:13] [Render thread/INFO]: [LoadedSDLNatives] Loading SDL3 version: 3.2.16. Java bindings targeting: 3.2.16
[01:13:13] [Render thread/INFO]: [LoadedSDLNatives] Successfully initialised SDL subsystems
[01:13:13] [Render thread/INFO]: [SDLNativesLoader] Successfully loaded SDL3 natives
[01:13:13] [Render thread/INFO]: Successfully loaded 530 gamepad mapping entries!
[01:13:13] [Render thread/INFO]: Using SDL to identify controller type.
...
[01:15:03] [Render thread/ERROR]: [ControllerManager] [Controller #SDL-3] Failed to create controller #SDL-3!
dev.isxander.controlify.driver.sdl.SDLException: Failed to open joystick: IDirectInputDevice8::SetCooperativeLevel() DirectX error 0x80070006
	at knot/dev.isxander.controlify.driver.sdl.SDLException.useSDLError(SDLException.java:11) ~[controlify-2.2.1+1.21.5-fabric.jar:?]
	at knot/dev.isxander.controlify.driver.sdl.SDLUtil.openJoystick(SDLUtil.java:22) ~[controlify-2.2.1+1.21.5-fabric.jar:?]
	at knot/dev.isxander.controlify.controllermanager.SDLControllerManager.createController(SDLControllerManager.java:159) ~[controlify-2.2.1+1.21.5-fabric.jar:?]
	at knot/dev.isxander.controlify.controllermanager.AbstractControllerManager.tryCreate(AbstractControllerManager.java:63) ~[controlify-2.2.1+1.21.5-fabric.jar:?]
	at knot/dev.isxander.controlify.controllermanager.SDLControllerManager.tick(SDLControllerManager.java:88) ~[controlify-2.2.1+1.21.5-fabric.jar:?]
	at knot/dev.isxander.controlify.Controlify.tick(Controlify.java:412) ~[controlify-2.2.1+1.21.5-fabric.jar:?]
	at knot/net.fabricmc.fabric.api.client.event.lifecycle.v1.ClientTickEvents.lambda$static$0(ClientTickEvents.java:34) ~[fabric-lifecycle-events-v1-2.6.0+230071a049-af563e72dcfff332.jar:?]
	at knot/net.minecraft.class_310.handler$bbd000$fabric-lifecycle-events-v1$onStartTick(class_310.java:11053) [client-intermediary.jar:?]
	at knot/net.minecraft.class_310.method_1574(class_310.java) [client-intermediary.jar:?]
	at knot/net.minecraft.class_310.method_1523(class_310.java:1314) [client-intermediary.jar:?]
	at knot/net.minecraft.class_310.method_1514(class_310.java:936) [client-intermediary.jar:?]
	at knot/net.minecraft.client.main.Main.main(Main.java:265) [client-intermediary.jar:?]
	at net.fabricmc.loader.impl.game.minecraft.MinecraftGameProvider.launch(MinecraftGameProvider.java:480) [fabric-loader-0.16.14.jar:?]
	at net.fabricmc.loader.impl.launch.knot.Knot.launch(Knot.java:74) [fabric-loader-0.16.14.jar:?]
	at net.fabricmc.loader.impl.launch.knot.KnotClient.main(KnotClient.java:23) [fabric-loader-0.16.14.jar:?]
	at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(Unknown Source) ~[?:?]
	at java.base/java.lang.reflect.Method.invoke(Unknown Source) ~[?:?]
	at com.modrinth.theseus.MinecraftLaunch.relaunch(MinecraftLaunch.java:87) [theseus.jar:?]
	at com.modrinth.theseus.MinecraftLaunch.main(MinecraftLaunch.java:18) [theseus.jar:?]

Laqco avatar Jul 08 '25 23:07 Laqco

And you have confirmed that downgrading Controlify fixes this?

isXander avatar Jul 09 '25 06:07 isXander

And you have confirmed that downgrading Controlify fixes this?

Yes I have tested V2.1.2, V2.2.0 and V2.2.1. If you need any additional details, lmk.

Laqco avatar Jul 09 '25 14:07 Laqco

This will be fixed soon!

isXander avatar Jul 12 '25 15:07 isXander