You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
sinput: add capability sub_types for most common controllers and allow autoloading
A previous commit introduces the ability to add dynamic
capabilities for uknown controllers without hardcoding them to SDL.
This commit introduces 8 major types of controller capabilities that
are found in the market. Specifically, it adds a normal XInput
capability map. Then, it adds XInput + share, which covers most
handhelds without extra buttons, switch controllers, and new Xbox
controllers. Following, it adds combinations with 2 and 4 paddles,
which include e.g., devices such as the Legion Go S and Stadia
controllers with 2 paddles, and Legion Go/Xbox Elite with 4 paddles.
Then, it adds the same paddle combos + clicks, where e.g.,
click + 2 paddles covers the Go S when emulating the touchpad and
click + 4 paddles covers the dualsense edge controller capabilities
fully.
It also adds an entry to controller_type so that the SInput driver can autoload via env vars
Copy file name to clipboardExpand all lines: src/joystick/controller_type.h
+1Lines changed: 1 addition & 0 deletions
Original file line number
Diff line number
Diff line change
@@ -57,6 +57,7 @@ typedef enum
57
57
k_eControllerType_XInputSwitchController=44, // Client-side only, used to mark Nintendo Switch style controllers as using XInput instead of the Nintendo Switch protocol
58
58
k_eControllerType_PS5Controller=45,
59
59
k_eControllerType_XInputPS4Controller=46, // Client-side only, used to mark DualShock 4 style controllers using XInput instead of the DualShock 4 controller protocol
60
+
k_eControllerType_Sinput=47,
60
61
k_eControllerType_LastController, // Don't add game controllers below this enumeration - this enumeration can change value
0 commit comments