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

Add joystick layout for DragonRise GameCube controller #11467

Merged

Conversation

Izzette
Copy link
Contributor

@Izzette Izzette commented Jul 18, 2021

Adds controller layout profile for the DragonRise GameCube controller. Followed the xbox controller introduction as a template #5506.

Relates to #4153 and should help anyone with the same controller.

Since it appears DragonRise uses the same vendor/product ID for all their handsets and just wires the controller differently, the product name for my handset is DragonRise Inc. Generic USB Joystick. Since they make other controllers which I do not own and cannot test, I don't think using this to autodetect the profile is wise. I've set the layout name (joystick_type) to dragonrise_gamecube which will not match automatically this controller, but shouldn't erroneously match any other controllers. Users with this controller will have to manually set the joystick_type. Obviously this could get out of hand quickly with everyone adding their own joysticks in the code, but considering this is only the second I think it's probably OK for now (of course, I'm new here).

To do

Ready for Review.

How to test

Buy yourself a DragonRise GameCube controller or find a way to emulate one 😉, manually enable the profile and try playing the game.

@sfan5 sfan5 added @ Client / Controls / Input Feature ✨ PRs that add or enhance a feature labels Jul 18, 2021
@hecktest
Copy link
Contributor

50 lines to make default binds for one controller... this is bound to get out of hand if people just keep adding random controllers in this way.

@SmallJoker
Copy link
Member

I don't think code size matters much. As long this needs no maintenance we're good to go.

@rubenwardy rubenwardy added the Roadmap: Needs approval The change is not part of the current roadmap and needs to be approved by coredevs beforehand. label Oct 31, 2021
@rubenwardy
Copy link
Member

This doesn't really have much harm - there's zero increase in maintenance cost, and the binary size increase will be negligible. Our gamepad/joystick code is still fairly unstable, I'd like to see us switch to SDL input so we can use their gamepad database for default bindings. Would also be good to support custom bindings for inputs

@rubenwardy
Copy link
Member

rubenwardy commented Oct 31, 2021

I don't really mind if this is approved or rejected, given the state of gamepad support, just would be good to not leave it lying around

@Izzette
Copy link
Contributor Author

Izzette commented Nov 2, 2021

I don't really mind if this is approved or rejected, given the state of gamepad support, just would be good to not leave it lying around

I might get around to expanding it to be more in line with longer term design intents around gamepad support. Love joysticks :) But for now this is nice for me personally.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
@ Client / Controls / Input Feature ✨ PRs that add or enhance a feature Roadmap: Needs approval The change is not part of the current roadmap and needs to be approved by coredevs beforehand. >= Two approvals ✅ ✅
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

5 participants