Sam Lantinga
a1ade13f1e
Enable gamepad events on visionOS
...
Normally the gamepad is used for navigation on visionOS, but when the controller subsystem is enabled we want to receive gamepad input as gamepad events instead.
2025-11-19 10:37:33 -08:00
Sam Lantinga
4931c675ab
Fixed warning C4127 (conditional expression is constant) in Visual Studio
2025-11-17 16:06:58 -08:00
Sam Lantinga
c68254927f
Fixed the SI GameCube dual stage trigger button mapping
...
Also moved the second touchpad button to the end of the misc buttons
2025-11-17 09:28:06 -08:00
Sam Lantinga
dccf486a0a
Fixed potential infinite recursion opening a Steam Controller
...
This can happen if the controller is opened from an event watcher when the controller is connected.
2025-11-14 13:44:02 -08:00
Sam Lantinga
919254cdd1
Fixed comment for the new Steam Controller mapping
...
Fixes https://github.com/libsdl-org/SDL/issues/14465
2025-11-14 07:09:36 -08:00
Vicki Pfau
9fd3dbfc42
switch2: Remove some unneeded init commands
...
These commands seem to be queries the console sends, not setup
2025-11-13 20:46:46 -08:00
Vicki Pfau
f0d4aca03d
switch2: Bring up IMU support
2025-11-13 20:46:46 -08:00
Vicki Pfau
ae6cdea0fa
switch2: Refactor and clean up rumble code a bit
2025-11-13 20:46:46 -08:00
Sam Lantinga
e2e8f86076
Check for wine_get_version() to detect Wine/Proton
...
If this application is being run under Wine but Steam doesn't know that, Steam won't set STEAM_COMPAT_PROTON. So we'll use wine_get_version() to detect that we're running under Wine instead.
2025-11-12 22:29:42 -08:00
Sam Lantinga
493bc621e4
Don't check SteamVirtualGamepadInfo when running as Wine
...
Wine will ignore the Steam Virtual Gamepad if it looks like it has the original (blocked) controller VID/PID.
Fixes https://github.com/libsdl-org/SDL/issues/14410
2025-11-12 22:29:42 -08:00
Sam Lantinga
dafca86123
Cleanup SDL_UDEV_GetProductSerial()
2025-11-12 22:23:27 -08:00
pmx
54f129f765
FIX SDL_GetJoystickSerial() always returning NULL on Linux (UDEV) ( #14454 )
2025-11-12 14:25:31 -08:00
Sam Lantinga
667720d5af
Added support for the HORI Taiko Drum Controller For Switch
2025-11-12 12:04:02 -08:00
Sam Lantinga
e1af623631
Fixed Steam Deck sensor timings
2025-11-12 11:36:37 -08:00
Sam Lantinga
1998b65045
Added support for the new Steam Controller
2025-11-12 11:32:32 -08:00
Sam Lantinga
9a19cc8323
Fixed unaligned load in Xbox HIDAPI driver
2025-11-07 10:37:58 -08:00
Sam Lantinga
118dcf27ce
Added D mode mappings for the 8BitDo 64 Bluetooth Controller
...
The HID descriptor maps the C buttons as a right thumbstick, but this mapping matches the HIDAPI Nintendo 64 mapping.
The start button resets the controller in both USB and Bluetooth mode on macOS, but I've kept the mapping assuming this is a macOS bug that will be fixed.
2025-11-07 10:18:49 -08:00
Sam Lantinga
9ff737efbd
Updated the Nintendo Switch N64 controller mapping
...
This mapping matches the Linux kernel default mapping.
2025-11-07 10:18:49 -08:00
Sam Lantinga
f211a3bb69
Fixed initial rumble on the 8BitDo 64 Bluetooth Controller
2025-11-07 10:18:49 -08:00
Sam Lantinga
c94da8977d
Validate SPI read command in the Nintendo Switch HIDAPI driver
2025-11-05 17:34:22 -08:00
Sam Lantinga
9a1745f2c8
Fixed unaligned access in the Nintendo Switch HIDAPI driver
2025-11-05 17:08:22 -08:00
Sam Lantinga
6493be9eea
Removed SDL_AUTO_ENABLE_ENHANCED_FLYDIGI
2025-11-03 08:20:41 -08:00
Sam Lantinga
889e4787d6
Clarify when we want to auto-enable Apex 5 enhanced functionality
2025-11-02 11:14:41 -08:00
Sam Lantinga
3336aa95f1
Fixed the paddle mapping for Steam Controllers
...
Fixes https://github.com/libsdl-org/SDL/issues/14380
2025-11-02 10:06:49 -08:00
Sam Lantinga
eb87a36940
Fixed the right touchpad calculation for the BLE Steam Controller
...
Fixes https://github.com/libsdl-org/SDL/issues/14368
2025-11-02 08:31:37 -08:00
Sam Lantinga
a82e8a701d
Allow dynamically switching mode of the Apex 5 controller
...
The controller can be in XInput mode or enhanced mode, so it will always show up as an XInput controller, and the enhanced mode controller will come and go as enhanced mode is enabled or disabled in the FlyDigi Space Station app.
2025-11-01 14:49:31 -07:00
Sam Lantinga
28849fd789
Manually enable acquiring the Apex 5 controller if necessary
...
The FlyDigi Space Station app isn't available on non-Windows platforms, so we need to manually enable acquiring the controller on those platforms.
2025-11-01 14:49:31 -07:00
Sam Lantinga
446fb65ca6
Mark the Apex 5 controller as being acquired by SDL
2025-10-30 22:35:06 -07:00
Sam Lantinga
1502c2fd8b
Added support for the Flydigi Apex 5 controller ( #14218 )
2025-10-30 21:20:44 -07:00
Sam Lantinga
c21b7f8cb8
Check to see if joysticks are actually initialized in SDL_UpdateJoysticks()
...
Fixes https://github.com/libsdl-org/SDL/issues/14362
2025-10-30 08:53:57 -07:00
Sam Lantinga
c4cef905ae
Updated internal documentation
2025-10-29 08:39:56 -07:00
Sam Lantinga
cecf4b0d4e
Fixed the right shoulder button on the 8BitDo Pro 3
2025-10-28 14:55:06 -07:00
Sam Lantinga
78f9cb44c3
Added a Linux mapping for the 8BitDo Pro 3
2025-10-28 14:13:40 -07:00
Sam Lantinga
90242312fe
Restored the original OpenBSD Xbox 360 controller mapping
2025-10-27 17:39:29 -07:00
Sam Lantinga
b305534edc
Completed removing predefined Xbox 360 mappings for Linux
...
Also removed them for OpenBSD, since it's not clear which ones, if any, are needed.
2025-10-27 17:34:23 -07:00
Dave Wickham
f6c3af9c8c
Re-add deleted gamepad mappings to the OpenBSD-specific section
2025-10-27 08:55:03 -07:00
Dave Wickham
0c4c4cfd16
Remove special-case Xbox 360 wireless controller mappings
...
Fixes https://github.com/libsdl-org/SDL/issues/14324
2025-10-27 08:55:03 -07:00
Sam Lantinga
999f782ad3
Be more selective when blacklisting controller touchpads
...
On Android, the PS4 controller is called "Wireless Controller Touchpad"
Fixes https://github.com/libsdl-org/SDL/issues/14294
2025-10-22 10:44:08 -07:00
Eddy Jansson
aaee09d6ed
Don't do NULL-checks before SDL_free()
...
Replaces the pattern
if (ptr) {
SDL_free(ptr);
}
with
SDL_free(ptr);
2025-10-20 00:13:09 -07:00
Vicki Pfau
d635a064aa
switch2: Read out serial number
2025-10-18 07:57:30 -07:00
Vicki Pfau
e4b763f9f8
switch2: Enable grip buttons on charging grip
2025-10-18 07:57:30 -07:00
Vicki Pfau
b152c9fb3c
switch2: Refactor out flash reading
2025-10-18 07:57:30 -07:00
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