Commit Graph

2418 Commits

Author SHA1 Message Date
Vicki Pfau
ee4c2ce120 switch2: The reply to the LED packet is only 8 bytes 2025-10-18 07:57:30 -07:00
Vicki Pfau
82374b4778 switch2: Use report ID 5 for all controllers 2025-10-18 07:57:30 -07:00
Vicki Pfau
061ce935df switch2: Simplify init data array 2025-10-18 07:57:30 -07:00
Sam Lantinga
6109fa6794 The names of joysticks and gamepads are valid after they've been removed 2025-10-15 21:57:37 -07:00
Oleksandr Manenko
901173aee6 Fix thread safety attributes for TryLock functions
Changed SDL_TRY_ACQUIRE and SDL_TRY_ACQUIRE_SHARED success value
from 0 to true for functions that now return bool instead of int.
This fixes false positives/negatives in Clang's thread safety analysis.
2025-10-14 12:47:20 -07:00
Sam Lantinga
d819106c65 Try matching gamepad mappings with CRC first
Fixes https://github.com/libsdl-org/SDL/issues/13874
2025-10-14 10:30:03 -07:00
Sam Lantinga
98944ecd0c Added the 8BitDo Ultimate 2C Wireless Controller to the Xbox controller list
Fixes https://github.com/libsdl-org/SDL/issues/14127
2025-10-13 18:46:58 -07:00
Sam Lantinga
361f7e0873 Fixed power state reporting for the Nintendo Joy-Con Charging Grip 2025-10-13 10:34:22 -07:00
Sam Lantinga
831ec4dc6c Added support for the ZENAIM ARCADE CONTROLLER 2025-10-13 08:56:10 -07:00
Mitch Cairns
23356e1483 SInput: Fix paddle order
For SInput, the paddle order is left/right, which conflicted with the paddle order 1/Right, 2/Left.
The order has been fixed to properly apply the mapping strings generated to be 2/Left, 1/Right, 4/Left, 3/Right.
2025-10-13 08:18:25 -07:00
Anonymous Maarten
a472f5ea1e Fix MSVC syntax error
Fixes the following error:
`
error C2059: syntax error: '}'
`
2025-10-13 01:19:17 +02:00
Vicki Pfau
c89fed4eae switch2: Preliminary rumble support
Fused controller support is somewhat lacking, and the scaling and frequency
on rumble is somewhat arbitrary, but otherwise it works fine.
2025-10-11 14:04:52 -07:00
Vicki Pfau
ef99341691 switch2: Move initialization after reading calibration
This removes the need to wait for initialization to finish
2025-10-11 14:04:52 -07:00
Vicki Pfau
70bfdd013a switch2: Send full init sequence from real hardware 2025-10-11 14:04:52 -07:00
Vicki Pfau
cdc1922801 switch2: This is the zero point, not the max 2025-10-11 14:04:52 -07:00
Sam Lantinga
d4b684311e Added the Wooting 60HE keyboard to the controller blacklist 2025-10-08 16:06:17 -07:00
Sam Lantinga
7914bdb7ea Only call WIN_RoUninitialize() if WIN_RoInitialize() succeeded
Fixes https://github.com/libsdl-org/SDL/issues/14178
2025-10-08 13:15:48 -07:00
Sam Lantinga
69791ccad0 Don't treat the Moonlander MK1 Keyboard as a controller
Fixes http://github.com/mgba-emu/mgba/issues/3606
2025-10-06 16:52:03 -07:00
Nintorch
6e6dc500b5 Add blacklist words for gamepad names 2025-10-03 09:44:56 -07:00
Anonymous Maarten
f9f172cf60 gamepad: use SDL_PLATFORM_ANDROID macro instead of ANDROID 2025-09-26 21:39:06 +02:00
Sam Lantinga
33a74c7548 Fixed typo 2025-09-25 07:31:07 -07:00
Vicki Pfau
ed2cdceb66 switch2: Read user calibration data 2025-09-24 18:15:07 -07:00
Dan Andrus
6d0fdb627e Update references to macOS 10.16 to macOS 11.0
Fixes api availability compiler warnings when building the joystick subsystem for macOS versions older than 11.0. The compiler expects the version number passed into @available and API_AVAILABLE macros to be greater than or equal to 11.0, which 10.16 is not. (Even though 10.16 and 11.0 are semantically equivalent, the compiler doesn't know this.)
2025-09-22 11:32:32 -07:00
Nintorch
ea8d8d725a Add support for USB vendor/product IDs to Emscripten joysticks (#14003) 2025-09-22 11:30:53 -07:00
zuiki_inn
fc648e5546 Support ZUIKI MasconPro (#13770)
* Add ZUIKI controller

Support version:
MasconPro

Enable rumble
Disable sensors
2025-09-21 23:38:28 -07:00
Sam Lantinga
6a9ac1cacd Always poll udev on supported platforms
Fixes https://github.com/libsdl-org/SDL/issues/13995
2025-09-20 11:13:39 -07:00
Sam Lantinga
f8a1ea021b Fixed crashes when SDL_DISABLE_INVALID_PARAMS is enabled (thanks @AntTheAlchemist!) 2025-09-19 07:43:01 -07:00
Sam Lantinga
25b2d2c821 Use new parameter validation macro 2025-09-18 20:58:32 -07:00
Sora
964bedfdd9 fix: use productCategory instead of vendorName for joy name for apple driver 2025-09-15 11:51:06 -07:00
Sam Lantinga
30e2fdc5a2 Sort the blacklist entry for the HP Deluxe Webcam KQ246AA 2025-09-14 15:38:47 -07:00
Nintorch
556ee00fe3 Fix HP Deluxe Webcam KQ246AA detected as joystick 2025-09-14 15:27:03 -07:00
Sam Lantinga
1aba421bd3 Wait briefly after enabling effects on DualSense controller
The rumble motors apparently take a short time to power up after enabling enhanced mode.

Fixes https://github.com/libsdl-org/SDL/issues/13909
2025-09-14 09:59:01 -07:00
Sam Lantinga
78a29d1670 Disable Windows.Gaming.Input by default
The functionality is already covered by XInput and DirectInput, and Microsoft is recommending GameInput going forward.

Fixes https://github.com/libsdl-org/SDL/issues/13000
2025-09-14 08:47:52 -07:00
Sam Lantinga
c78e279d3c Removed unneeded preprocessor guards 2025-09-13 07:22:30 -07:00
mitchellcairns
78e0ec7e0d SInput: Version as a capabilities vehicle (#13667)
* SInput: version capabilities compression

This commit includes additions relating to SInput generic device reporting capabilities in a bit more detail, to automatically choose the best input map possible for the given device.

Thanks to Antheas Kapenekakis (git@antheas.dev) for contributing the neat compression algorithm, this is pulled from the PR Draft here: https://github.com/libsdl-org/SDL/pull/13565

Co-authored-by: Antheas Kapenekakis <git@antheas.dev>
2025-09-13 07:21:39 -07:00
Ryan C. Gordon
614ae1b115 emscripten: Support analog gamepad triggers on both Firefox and Chrome.
Fixes #13051.
2025-09-12 14:23:01 -04:00
Sam Lantinga
3ddc3f1146 Send events for mice and keyboards detected during initialization
Fixes https://github.com/libsdl-org/SDL/issues/12815
2025-09-11 20:07:55 -07:00
Sam Lantinga
df0cc6e98b Make sure we always zero the buffer sent to Steam Controllers
This fixes bad initialization for Steam Controllers with the original firmware
2025-09-08 18:41:17 -07:00
nightmareci
2f5bc17ea6 Fix support for Windows XP and up (#13904) 2025-09-08 13:00:26 -07:00
Ryan C. Gordon
2a0e751ff5 gamepad: Fixed Emscripten guide button, after recent changes.
(buttons above 12 all shifted down by four, since the dpad buttons now look
like a hat...the only one above the dpad buttons on a standard layout is the
guide button, index 16. This change moves it to 12.)
2025-09-07 10:25:12 -04:00
Ryan C. Gordon
82a800e266 emscripten: Let joystick dpad-to-hat conversion allow impossible combinations.
This matches what other backends do.
2025-09-07 10:02:20 -04:00
Ryan C. Gordon
b58d0f8e4e gamepad: Fixed Emscripten d-pad, after recent changes. 2025-09-07 10:00:41 -04:00
Sam Lantinga
25d9096d41 Fixed rumble strength on DualSense Edge and Bluetooth connected controllers
Fixes https://github.com/libsdl-org/SDL/issues/13771
2025-09-06 11:53:32 -07:00
Ryan C. Gordon
a6dc61ab32 joystick: Emscripten can often fake a hat from the d-pad buttons.
Fixes #13817.
2025-09-05 14:46:59 -04:00
Sam Lantinga
3572be3998 Improved detection of FlyDigi controllers 2025-09-04 18:21:17 -07:00
Sam Lantinga
637a9b34ab Added a comment explaining the initialization delay 2025-09-03 15:47:21 -07:00
Sam Lantinga
b6a55c2856 Wait a bit for initialization to complete before requesting calibration data
Fixes https://github.com/libsdl-org/SDL/issues/13856
2025-09-03 15:36:58 -07:00
Sam Lantinga
84af0bb53a Updated the 8BitDo Ultimate 2 Wireless Controller dongle update rate
The latest dongle firmware appears to update at 1000Hz
2025-09-02 09:53:09 -07:00
Sam Lantinga
a562e40d2c Revert "Disable rumble for the Ultimate 2 Wireless Controller in dongle mode"
This reverts commit 065fdca953.

8BitDo has fixed the rumble issue with dongle firmware update V1.05
2025-09-02 09:53:09 -07:00
Sam Lantinga
1f007ad5cd Added support for the player LED on Nintendo Switch 2 controllers 2025-09-01 21:11:16 -07:00