-
-
Notifications
You must be signed in to change notification settings - Fork 55
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
SDF layout breaks compatibility with some games #68
Comments
HypothesisThe number of total axis in SDF may break compatibility with some games.
Because of the limitations of D-Input, 8 of the sliders are normally out of reach. TestsFirst, it was tested if the SDF layout was broken beforehand when the unsued 14th button was removed, but after reverting to a version of DsHidMini before the change it was comproved the issue still occurs. Second, it was tested if the number of total axis in the controller was breaking the input detection in the game by testing the SDF mode with different number of sliders declared in the HID Descriptor (all sliders values were zeroed so slider activity couldn't interfere with the test):
It seems after the 6th new slider each new one included breaks a different button, though more tests weren't made to fully determine if this is the case. ConclusionIt seems the number of sliders is the one thing breaking input detection in-game. Though this behavior was only verified with a single game, it may also happen with other old games. The best route to keep compatibility appears to be a new HID Device mode based on SDF but without the pressure sliders ( |
The issue
SDF mode sliders number go beyond the DInput limit. This seems to be breaking compatibility with some older games (e.g.: Legacy of Kain: Defiance). When setting the gamepad in-game some buttons don't register and the ones that do are out-of-order. In GPJ mode the buttons are mapped correctly.
To-do
Remove all sliders that reside outside of DInput axis limit and test if this fixes game compatibility to verify if this really is what is causing the issue.
Proposed solution
A new HID Device Mode (Common Gamepad) that spawns a similar layout to SDF but without the buttons' pressure sliders. This mode would be the ideal mode for old games compatibility since it spawns only one device and by not having additional sliders there's no chance of the pressure sliders messing when setting button/axis mappings.
Though GPJ could be used, the sliders in the Joystick part can also mess with button/axis detection when setting the controller in games. Also, there are some games that only register the first controller it recognizes, meaning that if the joystick part is recognized first the controller bindings can't be set up.
The text was updated successfully, but these errors were encountered: