Ningyuan Li
5c0b2d04f4
mayflash adapter PS4 support
...
(cherry picked from commit d6ebbc2fa4 )
(cherry picked from commit 138fe3d43d )
2024-01-24 19:26:44 -08:00
Sam Lantinga
e1c3dcb403
Don't try to send the PS third-party feature request to the Logitech G815 keyboard
...
Fixes https://github.com/libsdl-org/SDL/issues/8373
(cherry picked from commit d3daba791a )
2024-01-06 08:30:20 -08:00
Vicki Pfau
41bf6b5a51
Add basic rumble support to Steam Deck
...
(cherry picked from commit bec1b8f849 )
2024-01-01 21:48:41 -08:00
Sam Lantinga
0fc3574464
Updated copyright for 2024
2024-01-01 13:19:49 -08:00
Sam Lantinga
aeda6a8e6f
Record the initial input report mode and only restore simple mode if that's what we started with
...
Fixes https://github.com/libsdl-org/SDL/issues/8108
Closes https://github.com/libsdl-org/SDL/pull/8115
(cherry picked from commit c3d84c3342 )
2023-12-24 08:23:36 -08:00
Sam Lantinga
919cd56b20
Use the original manufacturer and product strings for the joystick CRC
...
This allows the most information possible for the CRC string, which is used to differentiate controllers with the same VID/PID.
Fixes https://github.com/libsdl-org/SDL/issues/8724
(cherry picked from commit 1f1ee6f77c )
2023-12-20 19:25:35 -08:00
Sam Lantinga
7bb0e839a6
Added Steam Input API support for game controllers
...
Added support for getting the real controller info, as well as the function SDL_GameControllerGetSteamHandle() to get the Steam Input API handle, from the virtual gamepads provided by Steam.
Also added an event SDL_CONTROLLERSTEAMHANDLEUPDATED which is triggered when a controller's API handle changes, e.g. the controllers were reassigned slots in the Steam UI.
(cherry picked from commit c981a597dc )
2023-12-20 13:29:57 -08:00
Vicki Pfau
5240071b1c
Sync more Steam Controller header definitions for the Steam Deck
...
(cherry picked from commit a8f4f40d08 )
2023-12-20 06:50:54 -08:00
Max Maisel
33588662ef
Refactor away some additional integer types.
2023-12-12 12:52:04 -08:00
Max Maisel
0dbe9022fc
Disable lizard mode while steam deck HID device is opened.
2023-12-12 12:52:04 -08:00
Max Maisel
a6b9d987e9
Translate steam deck HID reports to SDL events.
2023-12-12 12:52:04 -08:00
Max Maisel
5718ba253f
Implement steam deck HIDAPI initialization.
2023-12-12 12:52:04 -08:00
Max Maisel
e7f03de468
Add steam deck detection and HIDAPI driver scaffold.
2023-12-12 12:52:04 -08:00
Dimitriy Ryazantcev
33843b0933
Use existing XUSB driver software PID 0x02a1 instead of PID 0x02fe
...
0x02fe is actually PID of Xbox Wireless Adapter for Windows 10 (Model 1790) and creates confusion.
Here is USB descriptor dump: https://github.com/DJm00n/ControllersInfo/blob/master/xboxone/DescriptorDump_Adapter%20(Xbox%20Wireless%20Adapter%20for%20Windows).txt
(cherry picked from commit c790572674 )
2023-12-11 11:49:28 -08:00
Sam Lantinga
546bab0a8c
Fixed the GameCube HIDAPI controller mapping
...
Fixes https://github.com/libsdl-org/SDL/issues/8617
Closes https://github.com/libsdl-org/SDL/pull/8623
Closes https://github.com/libsdl-org/SDL/pull/7930
2023-11-28 10:26:58 -08:00
Sam Lantinga
8d47e3bb82
Added support for the NACON Revolution 5 Pro controller
...
(cherry picked from commit f0e47f8ee0 )
2023-11-27 12:12:25 -08:00
Sam Lantinga
4de4b1e7a0
Don't tickle PS4 Bluetooth controllers in simple mode
...
The 8BitDo Zero 2 only sends reports when state changes, so trips the disconnected Bluetooth controller detection. The expected use case is that most people will have official PS4 controllers in enhanced report mode, so disconnected Bluetooth controller detection will still work for those.
Fixes https://github.com/libsdl-org/SDL/issues/8556
(cherry picked from commit 75df4cc5c2 )
2023-11-21 13:25:31 -08:00
Sam Lantinga
4a0bd06d58
Added support for the GameSir-G7 Controller for Xbox
...
(cherry picked from commit 2e6c48dcb4 )
2023-11-10 17:32:11 -08:00
Sam Lantinga
03f29c19dc
Added support for the Dragonrise GameCube adapter with VID 0x1843
...
(cherry picked from commit fbb6934905 )
2023-11-10 16:45:07 -08:00
Sylvain Becker
a14b948b6c
[SDL2] pointer boolean ( #8523 )
2023-11-10 06:30:56 -08:00
Sam Lantinga
171e306dbf
Enable the 5th player LED on the DualSense controller
...
Fixes https://github.com/libsdl-org/SDL/issues/5152
(cherry picked from commit 22016b4eae )
2023-11-06 20:15:39 -08:00
Sam Lantinga
1db0bd3fc0
Added support for the HP HyperX Clutch Gladiate controller
...
(cherry picked from commit f52b330ed8 )
2023-10-25 09:01:46 -07:00
Cameron Gutman
4aab2342e9
Check for device disconnection in HIDAPI_JoystickOpen()
...
HIDAPI joystick drivers may call HIDAPI_JoystickDisconnected() in their
UpdateDevice() function during HIDAPI_JoystickOpen(). If they do this
today, the opened joystick will end up partially initialized (no name,
path, mapping GUID, etc.) because HIDAPI_GetDeviceByIndex() will no
longer be able to find the SDL_HIDAPI_Device for the removed joystick.
Worse still, joystick->hwdata->device becomes a dangling freed pointer
the next time HIDAPI_UpdateDeviceList() is called. This leads to a UAF
when the application or SDL calls SDL_JoystickClose() on this joystick.
Fix all this by checking if the device no longer has any associated
joysticks after calling UpdateDevice() and failing the open call if so.
(cherry picked from commit 435e7ce663 )
2023-10-17 22:18:52 -05:00
Sam Lantinga
37dee79b74
Fixed sensor timestamp units for third-party PS5 controllers
...
(cherry picked from commit a72dfa6a5f )
2023-09-18 13:00:33 -07:00
Sam Lantinga
62e7049a4f
Fixed error: array subscript 2 is above array bounds of ‘const Uint8[2]’
...
Smart compilers don't like dereferencing off the end of arrays
(cherry picked from commit f6756047a4 )
2023-09-18 12:20:22 -07:00
Sam Lantinga
fff3c2573a
Fixed sensor timestamp calculation for third-party PS5 controllers
...
(cherry picked from commit 7059a55ccc )
2023-09-18 11:58:39 -07:00
Sam Lantinga
6ff48dddcb
Fixed the report format for the Razer Wolverine V2 Pro
...
(cherry picked from commit 69aec8c915 )
2023-08-24 11:38:18 -07:00
Sam Lantinga
f7dc8c0eaa
Fixed LED pending check failing when the controller timestamp is very large
...
In this case we know the controller has been on for a while and the Bluetooth connection LED cycle is complete.
Also fixed the timestamp being zero the first time it is checked
(cherry picked from commit bd4f155bbb )
2023-07-17 17:40:17 -07:00
Sam Lantinga
bb036ef544
Don't send k_EPS5FeatureReportIdCapabilities to Sony PS5 controllers
...
This report is for third party controllers only.
(cherry picked from commit 16dd5f0da4 )
2023-07-17 17:39:33 -07:00
Sam Lantinga
910dad505a
Don't tickle Bluetooth PS5 controllers in simple mode with an effects packet
...
That will put the PS5 controller into enhanced mode, which breaks DirectInput games
(cherry picked from commit 2fef0be2f6 )
2023-07-17 17:36:41 -07:00
Sam Lantinga
6bf5f5a221
Don't send k_ePS4FeatureReportIdCapabilities to Sony PS4 controllers
...
This report is for third party controllers only, and might be causing issues with fake PS4 controllers.
Reference https://github.com/libsdl-org/SDL/issues/7960
(cherry picked from commit 092a4b780c )
2023-07-10 09:48:43 -07:00
Sam Lantinga
1f7bc08884
Don't tickle Bluetooth PS4 controllers in simple mode with an effects packet
...
That will put the PS4 controller into enhanced mode, which breaks DirectInput games
(cherry picked from commit efed24850a )
2023-07-08 10:30:31 -07:00
Sam Lantinga
099e53f3a5
Fixed build
2023-06-29 11:25:54 -07:00
Sam Lantinga
0f940cb6ce
Added support for the Nintendo Online Famicom controllers
...
(cherry picked from commit baa9c57581 )
2023-06-29 11:18:09 -07:00
Sam Lantinga
170428b107
Fixed Nintendo Switch Pro controllers that don't have readable user calibration
...
(cherry picked from commit 9ee1200e6f )
2023-06-27 07:50:00 -07:00
Narr the Reg
950ff0056a
hidapi: switch: Handle MCU input reports
...
(cherry picked from commit 425062c123 )
2023-06-26 10:07:15 -07:00
Sam Lantinga
c6660afe44
Corrected the Victrix FS Pro as a PS4 controller instead of a PS3 controller
...
(cherry picked from commit 44bae1e8a9 )
2023-06-23 15:44:15 -07:00
Sam Lantinga
8acf729650
Removed 100 ms hitch when querying third party Nintendo Switch controllers that don't respond to request for info
2023-06-21 14:11:41 -07:00
Sam Lantinga
dfbdaca2b8
Use default sensor calibration if we can't read it from the Nintendo Switch controller
...
Fixes https://github.com/libsdl-org/SDL/issues/7830
(cherry picked from commit 3694dabe7c )
2023-06-21 10:40:02 -07:00
Sam Lantinga
333a03f1ec
We don't know in advance whether a device is connected over Bluetooth in SDL2
2023-06-17 13:15:07 -07:00
Sam Lantinga
5b8fc907df
Added support for the GameSir G4 Pro
...
We can't read device info or IMU calibration from this controller, and it has no gyro or accelerometer, but is otherwise perfectly functional.
(cherry picked from commit f168f9c813 )
2023-06-17 13:07:03 -07:00
Sam Lantinga
3a5abee512
Removed unused function
...
(cherry picked from commit 73927b0948 )
2023-06-14 15:16:44 -07:00
Sam Lantinga
e7ee375f22
Fixed third-party Nintendo Switch Pro controllers shutting down when we try to set the home LED.
...
This fixes the PDP Afterglow Wireless Deluxe Controller.
(cherry picked from commit 0c16f4faf0 )
2023-06-14 15:15:27 -07:00
Sam Lantinga
4aec54988c
Allow switching licensed Nintendo Switch Pro controllers into gyro input mode
...
(cherry picked from commit 8c95bd814b )
2023-06-14 15:13:11 -07:00
Sam Lantinga
271e03f0d7
Added support for the PowerA Fusion Pro Wireless Controller in Bluetooth mode
...
This controller shows up with a VID/PID of 0, but has full functionality over Bluetooth
(cherry picked from commit cdfc0c5a33 )
2023-06-14 15:12:56 -07:00
Sam Lantinga
320f3fffbe
Fixed querying device info on the MOBAPAD M073
...
The query packet needs to contain valid rumble data in order to be accepted by the controller.
Fixes https://github.com/libsdl-org/SDL/issues/7788
(cherry picked from commit 5490873daa )
2023-06-09 18:43:14 -07:00
Sam Lantinga
30b4d90f1c
Only update the serial number if it hasn't already been set
...
This fixes the serial number for Nintendo Switch Pro, which is queried from the hardware in device initialization, and was later clobbered by the USB string which isn't correct.
(cherry picked from commit 2042e9c4e3 )
2023-06-09 17:36:06 -07:00
Sam Lantinga
dc94cca8dd
Fixed typo in cherry-pick (thanks @HadesD!)
2023-06-03 11:57:08 -07:00
Sam Lantinga
97fe777ab4
Steam uses a different VID/PID for the Steam Virtual Gamepad on Windows
...
(cherry picked from commit 6815e75caf )
2023-06-03 11:40:58 -07:00
Sam Lantinga
f1bad83a21
Revert "Fixed detection of the Steam Virtual Gamepad on macOS"
...
This reverts commit 7aa28ce279 .
Steam has been updated to send a version of 1 to avoid conflicts with controllers that report a version of 0.
2023-06-03 11:36:38 -07:00