Henrique Jorge Barateli
99eca2ca0d
Fixed PS2 joystick analog sticks not enabled
2026-01-30 12:18:31 -08:00
Ozkan Sezer
07274fea58
SDL_bsdjoystick: fix OpenBSD build error due to -Wundef
2026-01-30 01:20:28 +03:00
Sam Lantinga
f432937f9c
Updated copyright for 2026
2026-01-01 09:51:07 -08:00
Sam Lantinga
13db7f049a
Added a Linux mapping for the Nacon GC100 controller (thanks @elkabyliano!)
...
(cherry picked from commit d10fe8bf2f )
2025-12-29 09:47:29 -08:00
Sam Lantinga
d9836d15e7
Lock joysticks when they are connected/disconnected on emscripten
...
Fixes https://github.com/libsdl-org/SDL/issues/11499
(cherry picked from commit 0281071243 )
2025-12-08 21:00:22 -08:00
Sam Lantinga
f36d683b61
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.
(cherry picked from commit e2e8f86076 )
2025-11-12 23:07:51 -08:00
Sam Lantinga
5bdf7bc625
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
(cherry picked from commit 493bc621e4 )
2025-11-12 23:07:51 -08:00
Sam Lantinga
2bb0eb4641
Fixed the right touchpad calculation for the BLE Steam Controller
...
Fixes https://github.com/libsdl-org/SDL/issues/14368
(cherry picked from commit eb87a36940 )
2025-11-02 08:34:16 -08:00
Petar Popovic
398bacbac3
Fix leak in SDL_GameControllerTypeForIndex()
2025-11-01 08:40:12 -07:00
Sam Lantinga
66ac6f4ea7
Revert "Remove special-case Xbox 360 wireless controller mappings"
...
This reverts commit 4151df83fe .
2025-10-27 17:37:43 -07:00
Dave Wickham
4151df83fe
Remove special-case Xbox 360 wireless controller mappings
...
Effectively https://github.com/libsdl-org/SDL/pull/14339 for SDL2
Fixes https://github.com/libsdl-org/SDL/issues/14324
2025-10-27 08:56:00 -07:00
AL2009man
8ef0a07a52
Disable SDL_HINT_JOYSTICK_RAWINPUT by default
...
backported from SDL3 commit aa870d5
Fixes #13047
2025-10-08 11:34:55 -07:00
Mitch Cairns
e4475d1868
Fixed Nintendo Switch thumbstick calibration
...
(cherry picked from commit 3a6f9e01f8 )
2025-06-22 15:29:12 -07:00
Sam Lantinga
6a71328638
Fixed Nintendo Switch Pro thumbstick calibration
...
Fixes https://github.com/libsdl-org/SDL/issues/13246
(cherry picked from commit 038a3806eb )
2025-06-21 20:06:08 -07:00
ceski
9eb50a906a
Read Switch controller gyro/accel sensitivity coeffs (SDL2)
...
These vary by controller, so using the stored values should improve the accuracy of the sensor data.
2025-06-13 12:18:12 -07:00
Joe [ReRezd]
4b4f6b3e22
Fix: GameCube controller adapter hotplug not working
...
SDL_PrivateJoystickAdded was called before setting the InstanceId in the adapters ctx->joysticks array. This would eventually broadcast the SDL_EVENT_JOYSTICK_ADDED event with the new InstanceId, if your program listens for the added events and opens joysticks at that point it would always fail because there would be no matching InstanceId in the ctx->joysticks array.
(cherry picked from commit afd1e51023 )
2025-05-19 08:26:25 -07:00
Sam Lantinga
45b01d16b1
Fixed reliability of initializing Switch controllers on macOS
...
It looks like both macOS (15.1.1) and SDL are trying to talk to the controller at the same time, which can cause interleaved replies or even locking up the controller. Waiting a bit before talking to the controller seems to take care of this.
2025-04-28 20:21:53 -07:00
Sam Lantinga
52146cf067
Fixed raw input device GUIDs changing randomly between runs
...
On Windows 11, apparently HidD_GetManufacturerString() and HidD_GetProductString() can return TRUE without actually filling in any string data.
Fixes https://github.com/libsdl-org/SDL/issues/12566
(cherry picked from commit 4fc9509ab7 )
2025-03-17 13:57:35 -07:00
Sam Lantinga
46a51b4298
Fixed crash if info->path is NULL
...
(cherry picked from commit 715301cef5 )
2025-03-17 09:47:53 -07:00
Sam Lantinga
ed7e7edb70
Don't use the HIDAPI driver for Thrustmaster wheels
...
Closes https://github.com/libsdl-org/SDL/pull/12173
(cherry picked from commit 6782cfe2c5 )
2025-02-05 17:21:48 -08:00
Sam Lantinga
482d964733
Don't filter out controllers when launched by Steam under Proton
...
Fixes https://github.com/libsdl-org/SDL/issues/11579
Fixes https://github.com/libsdl-org/SDL/issues/12106
(cherry picked from commit 3060105cfa )
2025-01-31 15:40:21 -08:00
Sam Lantinga
da0cf3f634
Fixed detecting Steam Deck controller on Proton 9.04
...
Newer versions of Proton properly pass through the Steam virtual gamepad VID/PID, but older Proton (9.x and older) don't, so we have to rely on Steam and Proton hiding controllers we shouldn't have access to.
Fixes https://github.com/libsdl-org/SDL/issues/12106
2025-01-31 15:32:33 -08:00
Sam Lantinga
55a75875f0
Improved XInput controller detection
...
Sometimes we'll get a Windows.Gaming.Input callback before the raw input device is even in the list, so try some other methods to better detect XInput devices.
2025-01-31 08:45:20 -08:00
Sam Lantinga
4b19f7e012
Added support for the 8BitDo Ultimate 2C Wireless in Bluetooth mode
...
Closes https://github.com/libsdl-org/SDL/pull/11415
(cherry picked from commit c7d1fd90ea )
2025-01-18 07:07:12 -08:00
Sam Lantinga
91b76f5c29
Fixed potentially overlapping memcpy() to use memmove()
2025-01-14 14:34:29 -08:00
Sam Lantinga
2b5b8fdbd5
Updated copyright for 2025
2025-01-01 07:47:53 -08:00
Sam Lantinga
ddfdb0ca7b
Don't overwrite non-CRC gamepad mapping with a new mapping that specifies a CRC
...
Fixes https://github.com/libsdl-org/SDL/issues/11723
(cherry picked from commit 1413bfb185 )
2024-12-26 20:20:39 -08:00
Sam Lantinga
7f880c9121
Fixed crash if the controller product name is NULL
...
This happens when the Razer Synapse software emulates a controller with a keyboard
(cherry picked from commit 7117d545a3 )
2024-12-17 16:54:55 -08:00
Sam Lantinga
74ff82f4a2
Support multiple joystick buttons bound to the same gamepad button
...
(cherry picked from commit ed943318e2 )
2024-11-05 11:50:18 -08:00
Sam Lantinga
3b7a45853c
Fixed the PS5 controller face buttons on Amazon Fire TV, Android 11
...
(cherry picked from commit 09495059df )
2024-10-30 05:23:54 -07:00
Sam Lantinga
b6fa4dc794
Only use Steam Virtual Gamepads if we're running under Steam
...
Fixes https://github.com/libsdl-org/SDL/issues/11214
Fixes https://github.com/libsdl-org/SDL/issues/11215
(cherry picked from commit 8a30def5f2 )
2024-10-16 17:51:50 -07:00
Sam Lantinga
cfb3db01dc
Added support for the Steam Virtual Gamepad on macOS Sequoia
...
(cherry picked from commit d7b1ba1bfc )
2024-10-16 17:51:50 -07:00
Sam Lantinga
da19244f7f
Added support for wired XBox controllers on macOS 15.0 Sequoia
...
Fixes https://github.com/libsdl-org/SDL/issues/11002
(cherry picked from commit 7da728a642 )
2024-10-07 16:41:34 -07:00
Sam Lantinga
bb33eb409e
Fixed detecting the Steam Virtual Gamepad on macOS
2024-10-07 16:21:44 -07:00
Cameron Gutman
656b599828
Throttle tickle reports to PS4/PS5 controllers
...
UpdateDevice() can be called at an arbitrary rate, so we need to
pace ourselves to avoid filling up the rumble queue with these.
(cherry picked from commit 6ec8b1a173 )
2024-09-25 07:21:31 -07:00
T3hD0gg
ec9a9fee58
Add Thrustmaster TMX VID & PID to wheel device list.
...
(cherry picked from commit 594edb6bd2 )
2024-09-18 22:22:01 -07:00
Sam Lantinga
f5ed158d1f
SDL_XINPUT_Enabled() returns false until XInput DLL is successfully loaded
...
We make sure we initialize XInput first, so that anything checking whether it's enabled gets a valid result based on whether we were able to load it or not.
(cherry picked from commit 8f46cb771c )
2024-09-06 11:24:43 -07:00
Sam Lantinga
5aadfd4eaf
Fixed race condition at startup that could cause a crash in the XInput driver
...
(cherry picked from commit 6d7c211faf )
2024-09-06 10:17:37 -07:00
Ozkan Sezer
4eac44bed4
RAWINPUT_JoystickOpen: add missing SDL_stack_free() calls.
...
Fixes https://github.com/libsdl-org/SDL/issues/10574 .
(cherry picked from commit 845212388e )
2024-08-25 11:05:50 +03:00
Sam Lantinga
0de601dc64
Added support for the Retro-bit Controller in PS3 mode
...
Fixes https://github.com/libsdl-org/SDL/issues/10557
(cherry picked from commit e75175129f )
2024-08-19 16:47:54 -07:00
Anonymous Maarten
248cb3ca9c
Fix -Wdeclaration-after-statement warnings
2024-08-14 10:35:43 +00:00
KaJe
5ecbc00f36
Add Cammus C12 VID & PID to wheel device list.
...
Add Cammus C12 in the SDL wheel list to enable wheel detection for them.
(cherry picked from commit e1571d704d )
2024-08-09 06:48:49 -07:00
Sam Lantinga
7fdf794377
Fixed crash with joystick rumble after disconnection
...
This prevents continuing a rumble after the first one fails, and fixes a long standing crash issue if rumble is started immediately before the controller is disconnected.
Thanks to @AntTheAlchemist for the key bug report that showed what was happening here.
Fixes https://github.com/libsdl-org/SDL/issues/10422
(cherry picked from commit 0a924b185d )
2024-07-29 13:50:55 -07:00
Sam Lantinga
15c73f5bfe
Fixed whitespace
...
(cherry picked from commit 67b973b5fa )
2024-07-29 12:52:40 -07:00
Amir
ccade50587
Fix warning for Android NDK compiler: "function declaration without a prototype is deprecated in all versions of C [-Wstrict-prototypes]"
...
https://stackoverflow.com/questions/42125/warning-error-function-declaration-isnt-a-prototype
In C int foo() and int foo(void) are different functions. int foo() accepts an arbitrary number of arguments, while int foo(void) accepts 0 arguments. In C++ they mean the same thing.
2024-07-17 10:51:30 -07:00
ceski
3b7eafedb3
Add a Windows mapping for SplitFish Game Controller
...
(cherry picked from commit 68cf17d0d4 )
2024-07-12 22:04:29 -07:00
Sam Lantinga
4c44450258
Improved detection of Nintendo Switch Pro controller report mode
...
Fixes https://github.com/libsdl-org/SDL/issues/10182
(cherry picked from commit 4ba2e9f4f4 )
2024-07-06 05:30:08 -07:00
Max Maisel
22770e6496
Drain HIDAPI buffer in SDL_hidapi_steamdeck.c.
...
Add a loop around SDL_hid_read() in the Steam Deck HIDAPI driver as it
is done in other HIDAPI drivers. This loop reads data from the device and
processes it until the input buffer is empty which ensures that clients
always get the latest data.
This fixes an input latency issue if the application polls the events
slower than the hardware generates them.
2024-07-05 08:27:09 -07:00
Sam Lantinga
845ebbbe96
Added support for the ROG RAIKIRI
...
(cherry picked from commit a04596c9a7 )
2024-07-03 13:54:31 -07:00
Sam Lantinga
cd8ea5e3f1
Only use the default gamepad mapping if an automatic mapping isn't available
...
Fixes https://github.com/libsdl-org/SDL/issues/10162
(cherry picked from commit 0f8054cf87 )
2024-07-03 11:47:20 -07:00