Skip to content
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

Open
mankeli opened this issue Feb 25, 2023 · 4 comments
Open

Joystick doesn't handle diagonal directions #127

mankeli opened this issue Feb 25, 2023 · 4 comments

Comments

@mankeli
Copy link

mankeli commented Feb 25, 2023

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.

@jeffkrull
Copy link

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.

@sorgelig
Copy link
Member

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.

@jeffkrull
Copy link

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.

@mankeli
Copy link
Author

mankeli commented Apr 26, 2024

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

No branches or pull requests

3 participants