-
Notifications
You must be signed in to change notification settings - Fork 111
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
Face Button follows Positional Button layout instead of Labels #1045
base: main
Are you sure you want to change the base?
Conversation
Experimenting a way to add a hint for Button Labels. It should attempt to fix the Nintendo Layout issue when using a Nintendo Switch controller
I queued CI, you can test if this works through the CI build artifacts. |
was able to test between the Release Build and the Debug build (that one is purely for testing reasons). Based on my quick testing session: I don't think the code is working as intended (despite me accidentally pressing merge review.) I will have to look further into edit: quick update - earlier: I was messing around with the bat file for experimentation. I intentionally unhinted the PS5 stuffs and it seems to ignore my change. There's a likely chance that something is indeed overriding the hint changes. for now: don't merge this pull request until I (or others) able to confirm if it works. |
After troubleshooting (turns out: my Visual Studios install got messed up, had to reinstall it) and testing between the main brand to my fork: I can directly confirm that the HINT does work as intended. It should be ready to merge now. |
what
SDL_HINT_GAMECONTROLLER_USE_BUTTON_LABELS
does is that SDL's Controller API will follow on Button Labels, by default: it is set to1
. Consequences: the modern Nintendo Switch layout will be using the Nintendo Layout across Menu Navigation and Gameplay.In the case of Sonic Unleashed: every single part of the game will be using Nintendo Layout, thus between the Daytime and Night time stages will make the gameplay much harder than it really is due to muscle memory. This will require Nintendo users to rely on a Button Remapping solution just to correct it.
This pull request is essentially a simple hack that adds
SDL_HINT_GAMECONTROLLER_USE_BUTTON_LABELS
onhid::Init
list and set the value to 0. Forcing the game to use the Positional Layout across all controllers, SDL3-style. The only downside is that for older Nintendo controllers like Wii family of controllers, GameCube or even SEGA Controllers; it'll will also follow the Face Button Positional layout. (refer to SDL_GameControllerDB's Mapping Guide)Until Nintendo Switch controller support gets properly added (which for some reason:
SDL_HINT_JOYSTICK_HIDAPI_SWITCH
is missing) and/or Action Remapping gets added, this is considered a temporary fix on #488, as it'll make Nintendo controllers use the Positional layout instead of the Labeled layout.