-
Notifications
You must be signed in to change notification settings - Fork 74
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
Joystick doesn't handle diagonal directions #127
Comments
I've noticed that diagonal inputs seem to work correctly when using X-input controllers. Any other controller protocol doesn't register diagonals. I've tested this with an 8bitdo Pro 2 controller paired over bluetooth. In D-input mode, it will not register diagonal inputs, but in X-input mode it does. I've seen the same results with an M30 Bluetooth controller. No diagonals in D-input or Switch mode, yes in X-input. |
I never noticed such behavior depending on protocols. But if it happens with some controllers, then it's not because of MiSTer code. Probably something is in driver or even in controller firmware. |
I tested with a few other controllers I have on hand to see if I got different results. It works with the 8bitdo SN30 Pro 2 (in Xinput mode), the 8bitdo M30 Bluetooth (in Xinput mode), the Pokken Tournament USB controller, and the Switch Online SNES controller (wired). It does not work with the 8bitdo M30 Bluetooth (in any other mode), or the iBuffalo USB controller. So I spoke too soon pointing the finger at Xinput support. But it's still strange that it's only certain controllers that is the issue, especially when those same controllers' diagonals work fine in other cores I test. This issue seems to be unique to the AO486 core. |
It might have something to do how the axes are being reported by the controller. I couldn't see anything with controller test, but I know those usb controllers report the dpad presses as x/y axes, and I wonder if the ao486 uses that data directly. |
It seems that the joystick support doesn't do diagonal directions at all when using gamepad as input. Using gravutil.exe (from gravis analog pro) it can be observed that even if gamepad up/left directions (for example) are pressed, the emulated PC only sees one axis being moved.
The text was updated successfully, but these errors were encountered: