Kaleb Reid
341f60555f
Fix building joystick for OpenBSD
2025-12-21 07:58:41 -08:00
Sam Lantinga
c7508ca2e9
Fixed warning: no previous prototype for function 'ParseDescriptor'
2025-12-16 14:51:19 -08:00
Susko3
765a2e9118
Fix using wrong variable by mistake
2025-12-15 13:57:40 -08:00
Sam Lantinga
517a3d20e8
Support calling SteamAPI_InitEx() before SDL_Init(SDL_INIT_GAMEPAD)
...
Calling SteamAPI_InitEx() will set environment variables that SDL uses to properly support the Steam virtual gamepad. Make sure that we fall back to the real environment for the variables that Steam sets.
2025-12-13 23:46:27 -08:00
Sam Lantinga
ec19f1e12f
Use Uint32 instead of unsigned int for descriptor values
2025-12-12 13:02:39 -08:00
Sam Lantinga
71be323973
Updated Xbox HIDAPI descriptor handling for alternate layout
...
Fixes https://github.com/libsdl-org/SDL/issues/14597
2025-12-12 13:02:39 -08:00
Sam Lantinga
450a2cb5e4
Added support for parsing the Xbox report descriptor
...
This gives us more robust handling of Bluetooth Xbox controllers which may vary the report format between firmware versions.
Firmware versions tested:
Xbox One S: 3.1.1, 4.8.1923, 5.13.3143
Xbox One S/X: 5.11.3118, 5.23.6
Xbox Elite Series 2: 5.22.16, 5.23.6
Fixes https://github.com/libsdl-org/SDL/issues/14597
2025-12-10 10:49:39 -08:00
Sam Lantinga
ef416e84a1
Use SDL_LogDebug() for dumping HID packets
2025-12-10 10:49:39 -08:00
Sam Lantinga
e047aeeb7c
Added a Linux mapping for the ZhiXu GuliKit Controller D
2025-12-05 11:22:38 -08:00
Sam Lantinga
f38d31a811
Removed mappings for Xbox controllers supported by the Linux kernel
...
The mappings may vary between kernel versions, so we'll use the automatic mapping code to get the right one for the running system.
2025-12-05 11:22:38 -08:00
Sam Lantinga
71147216dc
Removed entries for controllers that aren't Xbox controllers
2025-12-05 11:22:38 -08:00
Vicki Pfau
8e644111c2
gamepad_db: Remove obsolete entry
...
This autodetects properly with modern SDL as-is
2025-12-04 21:35:59 -08:00
Toast
1dea7c801b
Added Keychron V5 System Control to the controller blacklist
2025-12-03 07:08:42 -08:00
Toast
adb0013470
Added the Keychron Link reciever to the controller blacklist
2025-12-03 07:08:42 -08:00
Sam Lantinga
22decf4783
Fixed some clang thread-safety warnings
2025-12-02 01:11:38 -08:00
Sam Lantinga
5e9163592f
Correct the sensor axis ordering with the Linux Nintendo driver
...
Fixes https://github.com/libsdl-org/SDL/issues/14552
2025-11-30 11:35:36 -08:00
Sam Lantinga
74653b3cd5
Send the normal sensor data for the right Joy-Con controller in combined mode
2025-11-25 10:38:42 -08:00
Sam Lantinga
55a566a6b4
Steam expects the gyro data to come before the accelerometer data
2025-11-24 18:04:46 -08:00
Sam Lantinga
a9a24ac000
Fixed the KingKong2 PRO Controller failing to initialize over Bluetooth
2025-11-20 09:24:07 -08:00
Sam Lantinga
61bf7087f5
Fixed build warnings with Visual Studio
2025-11-19 17:02:33 -08:00
Sam Lantinga
9f444b3981
Fixed initializing EVORETRO GameCube adapters
...
The HID device needs to be closed while enabling input reports over USB
2025-11-19 16:11:18 -08:00
Sam Lantinga
d50cda3247
Added mappings for PlayStation VR2 Sense Controllers
2025-11-19 11:48:09 -08:00
Sam Lantinga
fa3467a94d
Use the product category if the vendorName isn't available
2025-11-19 11:39:20 -08:00
Sam Lantinga
ef0ae4c903
Revert "fix: use productCategory instead of vendorName for joy name for apple driver"
...
This reverts commit 964bedfdd9 .
The vendorName is more expressive and lets the user distinguish between different controllers of the same type, e.g. "PlayStation VR2 Sense Controller (R)" and "PlayStation VR2 Sense Controller (L)" vs "Spatial Controller"
If the product category is necessary, we can add a property to store that as additional information on the controller.
2025-11-19 11:35:38 -08:00
Sam Lantinga
1209abf9dc
Fixed macOS build
2025-11-19 10:47:31 -08:00
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