VOGONS


First post, by Gagster

User metadata
Rank Newbie
Rank
Newbie

As many of you know, older games made before the xinput API became the new standard often used the old directinput API instead. Even though the Xbox 360/One gamepads uses xinput, they have to some extent backwards compatibility with the older directinput API. That means playing older games with an Xbox 360/One gamepad without the option of mapping both the Left- and Right Trigger.

Playing 2, 3 or 4 player games that uses the directinput API can to some extend become a hazzle. The reason being that if you like me use wireless Xbox One gamepads, the button mapping becomes messy as soon as a second, third or fourth player connects their gamepad. Playing a 2 player game, the player two gamepad suddenly gets player one's controller mappings, and they have to switch controllers. If you then re-map the controls in a way that the first Xbox One gamepad gets player 1 mappings while in 2 player mode, and the second Xbox One gamepad gets player 2 mappings, it's all well until the game is closed down and only one person is going to play the very same game. Then the Xbox One gamepad suddenly has the player 2 mappings, and thereby can't move the character unless he re-maps the controller in the options menu again.

If only there were some kind of xinput to directinput wrapper I could use, maybe in the very same way as the dgvoodoo 2 wrapper (copying some files to the specific game-folder, and the game then translates the directinput calls into xinput in realtime). That way, this would not be an issue in older games.

Do any of you know of any wrappers/software that can do just that? There are many ways of going the other way around, using a directinput controller as a xinput device.

CPU: i7-4790K
RAM: 16 GB
GPU: GeForce GTX 1080
OS: Windows 10 64 bit

Reply 1 of 3, by dr_st

User metadata
Rank l33t
Rank
l33t

That's a good question. I too would be interested to know. So far I've been deliberately limiting myself only to controllers that have a native hardware switch to toggle between DirectInput and XInput, like the Logitech F series and some of Speedlink's pads, in order to avoid various such issues.

https://cloakedthargoid.wordpress.com/ - Random content on hardware, software, games and toys

Reply 3 of 3, by Gagster

User metadata
Rank Newbie
Rank
Newbie

I tried the XInput Plus application a while ago, but it does not deal well with multiple controller. I tried this app once again, and I figured out exactly why the xinput devices behave the way that they do when multiple controllers are connected.

The reason is that the last powered on controller steals the controller identity of the first controller! I could diagnose this issue within this app, because in Xinput Plus there is a dedicated section where you would have to identify the controller id for each and every xinput device connected. If I only power on the first controller, and detect controller in the DeviceID section for Controller 1, it gets it's own unique identity (under DirectInput and Advanced). However, if you then power on the second controller and try to detect it under the DeviceID section for Controller 2, it steals the exact id-number from the Controller 1 section and leaves the Controller 1 identity field blank!

I suppose this may not have been an issue if I used wired Xbox gamepads, but as I use a wireless adapter it behaves as it does now. A solution would be for the author of the Xinput Plus app to have an on/off switch within the app for wireless controllers, so that the app itself could automatically switch the controller ids the right way when multiple controllers are connected. The only problem is that I don't know if the author of this app speaks English; his website is in Japanese, and I can't find his email address. As this is an app that gets regular updates, I suppose the author himself would love some feedback regarding this issue.

CPU: i7-4790K
RAM: 16 GB
GPU: GeForce GTX 1080
OS: Windows 10 64 bit