Sam Lantinga
f9d49358d2
Create a global event lock for hardware that generates events
...
This prevents ABBA deadlocks caused by taking a hardware resource lock then delivering events at the same time another thread is taking a hardware resource lock from an event watch callback.
Fixes https://github.com/libsdl-org/SDL/issues/15709
2026-06-02 16:51:58 -07:00
Sam Lantinga
cadd67007c
Removed k_eControllerType_AndroidController and k_eControllerType_AppleController
2026-06-01 17:55:54 -07:00
Nintorch
96c03dc66e
Fix web joystick vibration (again)
2026-05-31 14:13:07 -07:00
Nintorch
e0eb40f65f
Fix web joystick vibration on Safari
2026-05-31 08:04:45 -07:00
Cameron Gutman
189877b1d3
joystick: Fix conflicting rumble and LED on Sony PS4 gamepads
2026-05-30 17:20:52 -07:00
Vicki Pfau
687a59f277
joystick: Fix underflow with 0 delta timestamp
...
Some sensors will occasionally report two identical timestamps in a row.
This leads to the timestamp wrapping calculation to underflow, subtracting
0x80000000 from the timestamp whenever it happens. By adjusting the wrap
test, we can just directly add zero to the timestamp, fixing the underflow.
2026-05-29 21:47:50 -07:00
replicacoil
c43ab978fd
Added rumble to Gamecube Adapter PC_Mode ( #15431 )
2026-05-29 17:28:47 -07:00
Sam Lantinga
8a701808a6
Fixed Steam Controller not detected on macOS under Steam
2026-05-29 12:07:16 -07:00
Sam Lantinga
ec0066aa0b
Fixed detecting the Steam virtual gamepad when HIDAPI is disabled
2026-05-29 10:55:57 -07:00
Sam Lantinga
ed6e03436e
Added HIDAPI support for the PDP Afterglow Wave Wireless Controller for Switch
2026-05-29 09:56:15 -07:00
Sam Lantinga
634dff3725
Added DEBUG_STEAM_PROTOCOL for the new Steam Controller
2026-05-28 19:51:34 -07:00
Sam Lantinga
f6ffa69890
Add support for new Steam Controller input report on mobile devices
2026-05-28 11:39:58 -07:00
Sam Lantinga
bb3c61390a
Fix mistyped output report message for Steam Controller
...
This caused hiccups in BlueZ BT driver for Linux
2026-05-27 18:20:17 -07:00
Sam Lantinga
f7a8801227
Add support for new Steam Controller input report
2026-05-27 18:19:43 -07:00
Sam Lantinga
a84dafd5b9
Don't use the HIDAPI driver with Backbone One PlayStation Edition Gen 2
...
This product doesn't appear to use the DualSense protocol. On Android this shows up as two interfaces that don't send reports that we can parse.
2026-05-26 14:15:43 -07:00
0xDEADCADE
3626598675
Remove CenterPad and RightStick from Steam Controller (2015) internal state struct
...
These values are never used for the Steam Controller (2015), as it does not physically have these inputs.
2026-05-23 07:51:03 -07:00
Bitwolf
2f13731d23
Update Famicom controllers to a more user friendly name.
2026-05-22 07:15:17 -07:00
kholo
2bb6df90ad
Ignore Huion Tablet Kamvas Pro 22
2026-05-22 07:05:57 -07:00
Sam Lantinga
fe1918a47f
Fixed build
2026-05-21 10:05:20 -07:00
Sam Lantinga
13f91a67fc
Fixed Ipega controllers being ignored in keyboard mode (thanks @AntTheAlchemist!)
2026-05-21 09:56:42 -07:00
Ozkan Sezer
f19dca3ca0
SDL_rawinputjoystick.c: fixed a type redefinition error
2026-05-19 18:55:20 +03:00
Ozkan Sezer
42c4a0e30f
SDL_windows_gaming_input.c: work-around to build against old SDKs.
...
Fixes https://github.com/libsdl-org/SDL/issues/15646
2026-05-19 17:25:56 +03:00
Kuratius
6ed1de089c
Fix touchpad finger detection on Steam Deck
2026-05-19 06:52:17 -07:00
Sam Lantinga
e759cc850e
Added an internal type for the Nintendo Switch 2 Pro controller
2026-05-18 09:23:38 -07:00
Kuratius
a20530cf15
Fix Steam Controller 2 touchpad finger detection ( #15644 )
2026-05-18 07:03:56 -07:00
Sam Lantinga
8b49bff353
Fixed Nintendo Switch Pro controller sensors on Android
2026-05-17 21:44:24 -07:00
Sam Lantinga
14c31ee12a
Fixed reading the controller accelerometer on Apple platforms
...
DualShock and DualSense controllers no longer have hasGravityAndUserAcceleration set, but we can still get the combined user + gravity acceleration values from those controllers, which is what we want.
2026-05-17 18:19:42 -07:00
Cameron Gutman
6d3404e4bb
gamepad: Add SDL_GAMEPAD_TYPE_STEAM for Steam Controllers
2026-05-17 11:19:16 -07:00
ceski
5b98c1cc2f
Add capacitive sense gamepad events ( #15627 )
2026-05-17 08:26:29 -07:00
Sam Lantinga
34c3fdd350
Added extended internal controller types
2026-05-17 06:52:47 -07:00
Tap
1f7a42a7b9
Correct steam triton haptic commands
...
The listed report IDs are incorrect - there is no skipped ID
2026-05-17 06:23:47 -07:00
Christian Semmler
db7ac820f9
emscripten: Fix crash on Safari when probing gamepad rumble support
...
Safari's older Gamepad API exposes `vibrationActuator` with `playEffect`
and `reset` but no `effects` enumeration array. The probe added in
651136ac7 dereferences `vibrationActuator['effects']['includes']`
unconditionally, throwing `TypeError: undefined is not an object` on
every Safari client that opens a connected gamepad. Add the missing
`['effects']` null check so the probe returns false on Safari instead
of aborting.
2026-05-16 15:47:41 -07:00
ceski
2ebf23014f
Add Steam Deck capacitive touch sticks, trackpad clicks, and mapping ( #15612 )
2026-05-16 09:04:20 -07:00
Ozkan Sezer
880ddb9ca3
SDL_dinputhaptic.c, SDL_dinputjoystick.c: replace %lu usage with new cygwin-friendly macros.
2026-05-16 09:24:33 +03:00
ceski
c00d7b4bf5
Add Steam Controller mapping ( #15601 )
...
Also fixed Hori QAM button mapping
2026-05-15 19:18:38 -07:00
Rachel Blackman
d83e7bf79e
Add Gamesir Supernova in Xinput mode to controller list
2026-05-15 13:25:41 -07:00
Sam Lantinga
aeacf42e06
gameinput: only add the share button for known Xbox Series X controllers
...
The HID descriptor for the latest firmware always includes the share button, and GameInput will report it as always available, so double check against our list of classic Xbox One controllers and don't include the button on controllers that don't have it.
2026-05-15 11:01:31 -07:00
Sam Lantinga
a95ce7e734
Detect the GameSir Super Nova in Xbox 360 mode
2026-05-15 10:13:15 -07:00
stahta01
6586bebfec
Fix Cygwin building and add CI ( #15566 )
...
Co-authored-by: TrueCat17 <truecat17@gmail.com >
Co-authored-by: Anonymous Maarten <anonymous.maarten@gmail.com >
Co-authored-by: Ozkan Sezer <sezeroz@gmail.com >
2026-05-15 08:48:24 -07:00
Rachel Blackman
eb340388fc
Fix HIDAPI support for Flydigi Vader 5 Pro ( #15594 )
2026-05-14 17:32:25 -07:00
ceski
f3faf67c64
Add Steam Controller touchpads, capacitive touch for sticks, and grip sense ( #15528 )
2026-05-14 16:26:26 -07:00
Ozkan Sezer
4d95a63fe3
fix build after commit 2c4e6ed358:
...
move SDL_UsingGameInputForXInputControllers() to core/windows/SDL_gameinput.cpp
because joystick/gdk/SDL_gameinputjoystick.cpp isn't always added to build.
2026-05-14 23:11:22 +03:00
Sam Lantinga
2c4e6ed358
Enable GameInput v3 by default if it's available
...
GameInput is now the most functional Windows API for handling XInput controllers.
2026-05-14 10:18:58 -07:00
Anonymous Maarten
d57c3b685c
gameinputjoystick: %02hhX emits a -Wformat warning
2026-05-14 18:42:46 +02:00
Sam Lantinga
0defb4ddfc
Added controller sensor support for GameInput v3
...
Verified working with the DualSense controller
2026-05-13 23:41:29 -07:00
Vlad-Florin Ilie
b333c04ccc
Fix Steam Controller 2026 (triton) rumble ( #15558 )
2026-05-13 23:40:55 -07:00
Sam Lantinga
4884dbbe56
Added SDL_SendGamepadEffect() support for the new Steam Controller
2026-05-13 20:14:50 -07:00
Sam Lantinga
f30ec9940a
Removed Wooting 60HE (ARM) from the controller blacklist
...
Fixes https://github.com/libsdl-org/SDL/issues/15555
2026-05-11 22:10:20 -07:00
Sam Lantinga
bb4eedd67d
Fixed a crash if we get a HID device with no path
...
This can happen on Linux if udev_device_get_devnode() fails.
2026-05-11 16:47:26 -07:00
Rachel Blackman
fd3cfb97c1
Ensure Android gamepad mappings don't lose the first button.
2026-05-11 12:59:30 -07:00