Cameron Gutman
6e97170e96
Use PS4 rumble hint as the default for the PS5 rumble hint
...
Existing SDL applications may not know about the need to set a specific
hint to enable rumble on PS5 controllers, even though they may already
set the equivalent SDL_HINT_JOYSTICK_HIDAPI_PS4_RUMBLE hint for PS4
controller rumble support.
Rather than requiring those developers update their apps, let's use the
SDL_HINT_JOYSTICK_HIDAPI_PS4_RUMBLE value as an indication of the behavior
they are expected for all PlayStation controllers.
2021-01-24 00:51:24 -05:00
Ozkan Sezer
bdb3e6b84f
SDL_hidapi_switch.c: fix build with older compilers
2021-01-15 12:40:00 +03:00
Sam Lantinga
e3dbae5010
Get the serial number for the Nintendo Switch Pro controller
2021-01-14 23:49:41 -08:00
Sam Lantinga
5fc743c4fd
Phantom Nintendo Switch Pro Controller initialization problem
2021-01-14 23:49:37 -08:00
Sam Lantinga
92742306a6
Fixed rumble reset failing for Switch Pro controllers in USB mode
2021-01-14 23:49:33 -08:00
Sam Lantinga
d0b87fede6
Added HIDAPI rumble debug info
2021-01-14 23:49:27 -08:00
Sam Lantinga
e2f46ed8ef
Always lock the HIDAPI device when closing, in case rumble is pending
2021-01-14 23:49:20 -08:00
Sam Lantinga
907b8eebc3
Make sure the HIDAPI device is locked when closing it, in case there is rumble pending that didn't complete
2021-01-14 23:49:16 -08:00
Sam Lantinga
fbd7c718b6
Don't blink the Xbox 360 LED when setting the player slot, it's probably already been set by a driver
2021-01-13 11:02:07 -08:00
Sam Lantinga
d757ec7f5c
Only select the gamepad interfaces on the Xbox 360 wireless adapter
2021-01-13 11:02:01 -08:00
JibbSmart
e9887045a2
Gyro and Accel sensor support for Switch Pro Controller.
...
Note that axes are changed to match the axes we're using with PlayStation controllers, since users will appreciate consistent behaviour across devices.
2021-01-11 15:36:40 +08:00
Sam Lantinga
a5dba7d3ab
Fixed Xbox One Series X share button incorrectly triggering on newer firmware
2021-01-08 09:54:52 -08:00
Sam Lantinga
b2a0c712cb
Allow setting the player index to -1, which turns off the player LED for PS5 controllers
2021-01-04 12:24:44 -08:00
Sam Lantinga
bf754b52bf
Valve contributed code is under the Zlib license
2021-01-04 12:17:24 -08:00
Sam Lantinga
9130f7c377
Updated copyright for 2021
2021-01-02 10:25:38 -08:00
Sam Lantinga
480c1f9fef
Make sure we're not starving report reads when there's lots of rumble
2021-01-01 11:12:36 -08:00
Sam Lantinga
0684572ccc
Added a hint to control whether the player LEDs should be lit to indicate which player is associated with a PS5 controller.
2020-12-29 12:13:10 -08:00
Sam Lantinga
0ed4d92938
Fixed setting player LEDs for PS5 controllers over Bluetooth
2020-12-23 04:53:23 -08:00
Sam Lantinga
6341bb35a5
Fixed controller disconnect detection for PS4 and PS5 controllers over Bluetooth
2020-12-22 21:51:59 -08:00
Sam Lantinga
a30adae567
Make it possible to turn on PS4 rumble effects at runtime using the hint
2020-12-22 20:58:32 -08:00
Sam Lantinga
c93947a2cb
Make it possible to turn on PS5 rumble effects at runtime using the hint
2020-12-22 20:12:03 -08:00
Sam Lantinga
058a0ab47f
Set the pad lights on the PS5 controller corresponding to the player index
...
Also allow setting the player index from testgamecontroller using the number keys
2020-12-22 14:38:32 -08:00
Sam Lantinga
6a57072eef
Only add the touchpad and sensors to the PS5 controller if effects are enabled
2020-12-22 14:10:08 -08:00
Sam Lantinga
4ec776c334
Don't switch the PS5 controller out of DirectInput mode by default
2020-12-22 13:29:23 -08:00
Sam Lantinga
e65e4fd3ef
Fixed detecting the guide button on Xbox One S controllers over Bluetooth on Linux
2020-12-14 09:48:51 -08:00
Sam Lantinga
80e5c689eb
Fixed the PS5 controller not disconnecting when powered off
2020-12-13 01:20:38 -08:00
Sam Lantinga
cb36189692
Fixed bug 5235 - All internal sources should include SDL_assert.h
...
Ryan C. Gordon
We should really stick this in SDL_internal.h or something so it's always available.
2020-12-09 07:16:22 -08:00
Sam Lantinga
c9723c407f
Fixed potential hang in joystick close if the rumble thread is blocked for some reason
...
It's still possible to hang when shutting down, if the rumble thread is still hung, but it won't block indefinitely at runtime.
2020-12-07 09:38:21 -08:00
Sam Lantinga
09909d029d
Fixed handling of BACK button on newer Xbox One S controllers
2020-12-03 19:44:47 -08:00
Sam Lantinga
54e5136b50
Refactored Xbox One Bluetooth protocol and verified Xbox One S, Xbox Series X, and Xbox One Elite Series 2 controllers
2020-12-03 18:17:04 -08:00
Sam Lantinga
1031231b29
Fixed duplicating a device between XInput and HIDAPI
2020-12-03 18:17:03 -08:00
Sam Lantinga
59f28b7f4b
Fixed whitespace
2020-12-03 18:17:01 -08:00
Sam Lantinga
e3966e25ca
Use the correct internal API for updating the battery level for PS5 controllers
2020-11-30 13:04:30 -08:00
Sam Lantinga
f4ed07de06
We don't know whether the PS5 controller is Bluetooth or not when we open it
2020-11-30 13:02:34 -08:00
Sam Lantinga
a0c5bfa3bd
Moved raw input event processing from the main thread to the joystick thread
...
This allows fast joystick event delivery regardless of what the main thread is doing.
2020-11-27 13:08:40 -08:00
Sam Lantinga
ce77966da8
Fixed RAWINPUT_IsDevicePresent() not returning TRUE for Xbox One controllers
2020-11-27 10:44:49 -08:00
Sam Lantinga
517be80822
Implemented battery status for Bluetooth Xbox One controllers
...
Also switched the rumble loop count to 0xEB (one hour) to match Windows driver
2020-11-25 16:05:19 -08:00
Sam Lantinga
159d1b3df5
Don't set the serial number after the controller is opened
...
We'll use the USB value instead so it's available as soon as it's opened.
2020-11-25 01:35:45 -08:00
Sam Lantinga
7d92b14f46
Simplified Xbox One controller initialization state, and don't query for the serial number.
2020-11-25 01:18:18 -08:00
Sam Lantinga
9fc4a4c92c
Revamped Xbox One HIDAPI init sequence
...
Added support for querying the controller serial number on newer firmware
2020-11-24 22:25:26 -08:00
Sam Lantinga
e44bf8a080
Fixed bug 5359 - Incorrect sensor data from DualShock4
...
multiply gyro values by sensitivity
When the hardware calibration fails, values read from sensors need to be multiplied by default sensitivity (16 for gyro, 1 for accelerometer).
2020-11-23 21:18:37 -08:00
Sam Lantinga
5b3616c325
Generalized the raw input controller driver and moved XInput/WGI detection into it for XInput devices
...
This fixes bad report parsing for various newer Xbox controllers, and this driver is now preferred over XInput, since it handles more than 4 controllers.
2020-11-23 18:24:05 -08:00
Sam Lantinga
870841c414
Reset the LED state after Bluetooth connection has completed on the PS5 controller
2020-11-21 11:59:01 -08:00
Sam Lantinga
2e8e3854b8
Fixed compile warning
2020-11-21 17:59:15 -08:00
Sam Lantinga
549010f2a0
It takes 2 packets to stop audio haptics and start emulated rumble on the PS5 controller
2020-11-20 13:24:49 -08:00
Sam Lantinga
ffb4d960b2
Disabled Xbox protocol debugging
2020-11-19 19:09:34 -08:00
Sam Lantinga
c9b097e659
Clarify the meaning of the rumble enable bits for the PS5 controller
2020-11-19 13:31:16 -08:00
Sam Lantinga
c85623d790
Re-enable haptic audio after rumble on PS5 controller
...
Also make sure we don't set any other state when we're not intending to, and added more interesting effects which are currently not exposed via API
2020-11-19 13:10:14 -08:00
Sam Lantinga
8c3196da60
Fixed some compiler warnings
2020-11-18 21:33:11 -08:00
Sam Lantinga
45f1437549
Experimenting with requesting the serial number on an Xbox One controller
2020-11-18 20:34:12 -08:00