Xinput Support is Broken

Status
Not open for further replies.

W.A.C.

Member
After a discussion on Sonic Retro, it's become very apparent that xinput support is broken. Whenever I use my DualShock 4 with ControllerMax which uses xinput, the analog stick controls only goes in eight directions and there's no speed sensitivity regardless if analog mode is enabled or disabled. However, whenever I play this game using my GameCube controller with 3 in 1 Magic Joy Box which uses direct input, I can move in multiple directions and there's a good amount of speed sensitivity with the left analog stick regardless if analog mode is enabled or disabled. The lack of true analog controls with xinput controllers has previously been brought up by other users. [LINK] [LINK] The Sonic Retro thread I linked earlier in this topic goes more in-depth on this issue as well. Considering how xinput has become more popular than direct input controllers, this is a major issue that should be addressed. I also brought up other control issues and suggestions for improvements in that thread, some of which can be viewed in this post. If there's interest, I'm willing to make a video demonstrating the control differences between xinput and direct input controllers.
 
Last edited by a moderator:
After a discussion on Sonic Retro, it's become very apparent that xinput support is broken. Whenever I use my DualShock 4 with ControllerMax which uses xinput, the analog stick controls only goes in eight directions and there's no speed sensitivity regardless if analog mode is enabled or disabled. However, whenever I play this game using my GameCube controller with 3 in 1 Magic Joy Box which uses direct input, I can move in multiple directions and there's a good amount of speed sensitivity with the left analog stick regardless if analog mode is enabled or disabled. The lack of true analog controls with xinput controllers has previously been brought up by other users. [LINK] [LINK] The Sonic Retro thread I linked earlier in this topic goes more in-depth on this issue as well. Considering how xinput has become more popular than direct input controllers, this is a major issue that should be addressed. I also brought up other control issues and suggestions for improvements in that thread, some of which can be viewed in this post. If there's interest, I'm willing to make a video demonstrating the control differences between xinput and direct input controllers.

What XInput support? I never programmed any XInput support into SRB2's win32 interface. I only even extended DirectInput support to support up to 32 buttons, 4 axies and 4 hats, and that was a long time ago.... I mean it LoadLibrary the dinput.dll and ask for DirectInput 5.0 and then we ask for DirectInput 7.0 API just for the joystick devices...
 
As Alam mentioned, XInput support isn't broken, it simply doesn't exist. At a glance, your problem sounds like it's a bug in ControllerMax, not our DirectInput code. Xbox 360 controllers work fine in SRB2, and they are native XInput.
 
I also tested my DualShock 3 and 4 plugged directly into my computer without CronusMax and analog controls didn't work properly either, so I don't think ControllerMax is the problem. My DualShock 3 plugged in is set up to emulate a 360 controller. I haven't experienced this problem with any other game using ControllerMax or my DualShock 3 directly plugged in. Any idea what could be causing this problem?
 
I plugged a wired 360 controller of my cousin's into my PC once to try out SRB2 with it, and analog mode didn't like that either. (Although I'm not sure if it's a decent confirmation, since that was well over four years ago on a Windows Vista desktop.) However, it did cooperate with a generic USB controller from Radioshack, a DragonRise controller.

Furyhunter said:
As Alam mentioned, XInput support isn't broken, it simply doesn't exist. At a glance, your problem sounds like it's a bug in ControllerMax, not our DirectInput code. Xbox 360 controllers work fine in SRB2, and they are native XInput.

So support never existed in the first place? Wow. At least it's not a problem on Linux, as all of my USB controllers play nicely with analog mode there. This still sucks for the majority of players on the Windows version, though.
 
Interesting. So you're saying none of the xinput compatible controllers show axes under control configuration?

I am not on Windows so I can't test this.
 
It shows axes under the controls configuration, it's just movement only goes in eight directions and lacks speed sensitivity. As I said earlier, if you want, I can make a video demonstrating this problem and how it functions perfectly fine with my GCN and DualShock 2 controllers through 3 in 1 Magic Joy Box.
 
I'll test this myself when I can - my wireless adapter is busted and I need to find my wired 360 pad. As far as I know, though, 360 controllers worked find in 2.0, so they should work fine with 2.1.

My current controller (a Tomee brand PS3 controller, although it looks like a crummy PS2 controller with a USB) is detected as a DirectInput, and SRB2 automapped it just fine. Left Stick moved me and turned me, right stick strafed, all I needed to do was set button binds and I was off. Analog was fine an dandy, although a bit sensitive, but that is more my issue.

The XInput is one I will see to soon.
 
It shows axes under the controls configuration, it's just movement only goes in eight directions and lacks speed sensitivity.
That's not a bug. That's just how bad the analog coding is.
 
Status
Not open for further replies.

Who is viewing this thread (Total: 0, Members: 0, Guests: 0)

Back
Top