Skip to content

Conversation

@Nintorch
Copy link
Contributor

@Nintorch Nintorch commented Oct 16, 2025

Base PR for #111679, #111681, #111682 and others.

Fixes #78805 (see #107967 (comment) )

This PR adds the option to add more advanced features to joypads in the future that require the Input code to call methods from JoypadSDL (or other drivers) without breaking encapsulation, basically dependency injection. Such methods include, for example, checking if a joypad has motion sensors, LED lights, enabling the motion sensors, changing LED light color, etc.

This PR also adds the HIDAPI joysticks support for Linux and macOS, as well as Windows sensors subsystem so that it can be used later for motion sensors and other features.

This PR is separated from the other 3 so that they can be reviewed independently from the motion sensors PR. Let me know if this is a good idea :D

Copy link
Member

@Calinou Calinou left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Tested locally on Windows 11 24H2 with a DualSense Edge on the joypads demo (rebased on top of master 6fd949a), it works as expected. Code looks good to me.

(This PR doesn't add any new features, but I still tested it to ensure there are no regressions from this PR on its own.)

Copy link
Contributor

@Repiteo Repiteo left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The changes are indeed isolated, and having a standalone foundation makes perfect sense

@Repiteo Repiteo modified the milestones: 4.x, 4.6 Nov 11, 2025
@Repiteo Repiteo merged commit 180ccae into godotengine:master Nov 11, 2025
20 checks passed
@Repiteo
Copy link
Contributor

Repiteo commented Nov 11, 2025

Thanks!

@Nintorch Nintorch deleted the joypad-features branch November 12, 2025 00:50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Godot does not recognize all buttons of a Nintendo Switch Joycon

4 participants