Skip to content

Hall Effect Sticks dont read Diagonals at full range #1874

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

Open
RinMaru opened this issue Jan 16, 2025 · 12 comments
Open

Hall Effect Sticks dont read Diagonals at full range #1874

RinMaru opened this issue Jan 16, 2025 · 12 comments
Labels
bug Something isn't working

Comments

@RinMaru
Copy link

RinMaru commented Jan 16, 2025

Bug Description

Ive recently gotten a Hyperkin DuchesS Wired controller and in some games like Ty the Tasmanian Tiger for instances the Diagonals aren't in full range. this is not an issue with standard potentiometer gamepads

Games Affected -
Ty the Tasmainian Tiger
Grand Theft Auto 3
Grand Theft Auto Vice City
Grand Theft Auto San Andreas
Crash Bandicoot The Wrath of Cortex

Expected Behavior

Ty Should keep a running pace while moving diagonally instead of slowing to a walking pace

xemu Version

All versions v0.8.10

System Information

Windows 11 24H2
RX 6700XT 12GB
20GB DDR4 RAM
Ryzen 5 5600X

Additional Context

No response

@RinMaru RinMaru added the bug Something isn't working label Jan 16, 2025
@BiatuAutMiahn
Copy link

I noticed this with GTA: Vice City

@FireBlast07
Copy link

I have this problem with Crash Tag Team Racing, both on a gamepad with hall effect and potentiometer

@RinMaru
Copy link
Author

RinMaru commented Jan 23, 2025

I have this problem with Crash Tag Team Racing, both on a gamepad with hall effect and potentiometer

if its both than its probably a diff issue

@RinMaru RinMaru closed this as completed Jan 23, 2025
@RinMaru RinMaru reopened this Jan 23, 2025
@RinMaru
Copy link
Author

RinMaru commented Jan 25, 2025

libsdl-org/SDL#12067
This wont be fixed on their side so the only way to fix this is have some sort of calibration in xemu i guess

@RinMaru RinMaru closed this as completed Jan 25, 2025
@RinMaru RinMaru reopened this Jan 25, 2025
@faha223
Copy link
Contributor

faha223 commented Jan 25, 2025

Can you test the circularity of your sticks?
https://hardwaretester.com/gamepad

Go here and check the "Test Circularity" checkbox in the bottom right corner, and then move your sticks in a circle and take a screenshot. Here's one I did with one of my Xbox Series S controllers

Image

@RinMaru
Copy link
Author

RinMaru commented Jan 25, 2025

Can you test the circularity of your sticks? https://hardwaretester.com/gamepad

Image

@faha223
Copy link
Contributor

faha223 commented Jan 25, 2025

I realized it'd probably be better to show data from an actual Xbox Controller, so here's what it looks like with my Xbox Controller S through a USB adapter

Image

@RinMaru
Copy link
Author

RinMaru commented Jan 25, 2025

I realized it'd probably be better to show data from an actual Xbox Controller, so here's what it looks like with my Xbox Controller S through a USB adapter

So I guess Xemu is expecting stronger values and not a perfect circle?

@faha223
Copy link
Contributor

faha223 commented Jan 25, 2025

I don't think this is a bug in Xemu, or in SDL for that matter. I think this would be more appropriate as a feature request. As you can see from the screenshots I sent, the output data even of an Xbox Series controller is significantly more circular than that of an original Xbox controller. This would be beneficial for a lot of different controllers.

I think the best approach to solve this would be to introduce a global scaling factor for each stick where it just scales the output range by a number ranging from 50% to 150%, defaulting to 100% for no change. It would still be clamped to the normal range though so you wouldn't magically just be able to run faster.

A workaround that might work for you for now would be to use something like Joystick Gremlin to map your controller as-is to a virtual gamepad, but with axis curves defined for the joystick axes such that it scales the output the way you want. Then you could use the virtual gamepad in Xemu.

@maxymax13
Copy link

maxymax13 commented Jan 26, 2025

would it be possible to implement a joystick correction feature similar to Dolphin, where you spin the sticks around and it maps any controller's max ranges to the expected max ranges of a gamecube/wii controller

Image

@RinMaru
Copy link
Author

RinMaru commented Jan 27, 2025

Thats what SDL suggested themselves. Or wait for a firmware update so Hyperkin can make it work. Dont think they will make a update for this.

@BiatuAutMiahn
Copy link

BiatuAutMiahn commented Jan 27, 2025

I noticed this with GTA: Vice City

Apologies for the misinformation, this was noticed using the analog sticks on my Xbox One Controller

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

5 participants