Steam Controller

Steam Controller

Finally found a workaround for DirectInput games
I finally discovered a method that lets Steam Input devices play DirectInput titles. For those who are knowledgeable enough and don't want to watch the video, I used GloSC and XInputPlus. Use XIP to install the necessary .dll files to a game's installation folder and then use GloSC with a gamepad Template to send input to the game. Enjoy!

https://www.youtube.com/watch?v=1OJxQ84bZcY
< >
Showing 1-5 of 5 comments
cammelspit Apr 19, 2019 @ 9:15am 
why would you need anything but GloSC? that should be all you need.
CriticalComposer Apr 19, 2019 @ 9:20am 
GloSC uses ViGEm which still only outputs XInput bindings. DirectInput doesn't accept XInput calls. Additionally, XInputPlus allows you to use a modifier key to achieve up to Button32 (or something close to that) in DirectInput calls.
Last edited by CriticalComposer; Apr 19, 2019 @ 9:22am
cammelspit Apr 19, 2019 @ 12:26pm 
If it allows you to modify things beyond Xinput then that's a good thing, however, Dinput does indeed accept Xinput calls. Xinput is backward compatible with Dinput which is why an XBOX controller works on old Dinput games. The reason some don't work with the SC is the fact that a lot of older games inappropriately use a controller showing in the Windows list of controllers for their detection instead of actually looking for an installed controller, which is what GloSC is there to attempt to fix. You are also limited to the number of buttons and axes that an XBOX controller has and force feedback/rumble is also not translated from Dinput to and Xinput device with a few other "gotchas". The protocol, however, was initially designed to be backward compatible.

For further reading, if you are interested.
https://docs.microsoft.com/en-us/windows/desktop/xinput/xinput-and-directinput

This does intrigue me though. I will find a couple of games that are problem children and see if the addition of XInputPlus can help. Does it allow remapping of axes?
CriticalComposer Apr 19, 2019 @ 6:53pm 
Huh, I never knew that XInput was backwards compatible with DirectInput. And I did a lot of searching when I was trying to find this wrapper too, I'm surprised it didn't come up at all in my research. And then when games didn't see my SC in my personal testing I just added up the facts and concluded that MS abandoned DirectInput when they made XInput.

But yeah, XInputPlus allows for axes remapping, quickly remapping the DPAD from POV to Buttons, mapping up to Button34, and using a single modifier key. It also features Force Feedback Emulation, though I can't attest to how well that works. All in all it's a very nice XInput to DirectInput wrapper but now that I know it isn't needed I might make another video to lay down the truth.
cammelspit Apr 19, 2019 @ 8:46pm 
There are, as I mentioned, situations where the SC won't work with a Dinput game whereas an XBOX controller will. There are also other things titles like Bloodrayne where the axes are hardcoded and not mappable, the SC doesn't allow mapping axes, so it makes the game literally unplayable. This is certainly something that needs a workaround for sure, just from what I have been able to see, maybe 70% of the older Dinput only games work perfectly fine with the SC without any sort of external kajiggering.

Anyways, I'll still give that a look. Who knows, maybe it will be useful. 👍
< >
Showing 1-5 of 5 comments
Per page: 1530 50

Date Posted: Apr 19, 2019 @ 5:28am
Posts: 5