Sam Lantinga
5b646cd19e
Build hidapi code into SDL as a new public API
...
This prevents conflicts with hidapi linked with applications, as well as allowing applications to make use of HIDAPI on Android and other platforms that might not normally have an implementation available.
2021-11-07 23:00:59 -08:00
Sam Lantinga
a186a503e7
Added SDL_GameControllerGetSensorDataRate() to get the sensor update rate for a controller.
2021-07-29 06:43:39 -07:00
Sam Lantinga
384d86b584
Fixed compile warnings with Visual Studio
2021-07-23 23:48:23 -07:00
Sam Lantinga
d135c0762f
Added SDL_GameControllerSendEffect() and SDL_JoystickSendEffect() to allow applications to send custom effects to the PS4 and PS5 controllers
...
See testgamecontroller.c for an example of a custom PS5 trigger effect
2021-07-08 13:22:41 -07:00
Sam Lantinga
333c8e75f1
The PS5 driver supports Joystick LED
2021-05-17 11:54:05 -07:00
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
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
9130f7c377
Updated copyright for 2021
2021-01-02 10:25:38 -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
80e5c689eb
Fixed the PS5 controller not disconnecting when powered off
2020-12-13 01:20:38 -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
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
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
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
463d84a860
Added support for the PS5 controller gyro and accelerometer
2020-11-17 10:56:56 -08:00
Sam Lantinga
fcb21aa883
Added API for sensors on game controllers
...
Added support for the PS4 controller gyro and accelerometer on iOS and HIDAPI drivers
Also fixed an issue with the accelerometer on iOS having inverted axes
2020-11-17 10:30:20 -08:00
Sam Lantinga
d140d88744
Added SDL_JoystickGetSerial() and SDL_GameControllerGetSerial()
2020-11-16 17:36:47 -08:00
Sam Lantinga
71e32f5e1b
Added SDL_crc32()
2020-11-16 15:00:15 -08:00
Sam Lantinga
3d48fc05c3
Added notes about the pad lights on the PS5 controller
2020-11-16 13:21:02 -08:00
Sam Lantinga
4514ad573e
Fixed updating LED state when starting application with Bluetooth PS5 controller connected
2020-11-16 13:07:11 -08:00
Sam Lantinga
a37e3ae218
Implemented PS5 effects over Bluetooth
2020-11-16 11:21:58 -08:00
Sam Lantinga
c6c116e847
Implemented setting the LED color on the PS5 controller
2020-11-16 10:51:13 -08:00
Sam Lantinga
aa7c3eae19
Fixed size of rumble packet
2020-11-16 09:16:01 -08:00
Sam Lantinga
f28c01a4fb
Fixed rumble order on PS5
2020-11-16 09:11:15 -08:00
Sam Lantinga
eb94c19a63
SDL: fix iOS build
2020-11-16 08:09:15 -08:00
Sam Lantinga
8243bd1dc6
SDL: Plumb PS5 rumble to output report
2020-11-16 08:09:13 -08:00
Sam Lantinga
9f51fad361
Added support for the touchpad on PS4 and PS5 controllers
2020-11-13 18:01:29 -08:00
Sam Lantinga
78422fa3c8
Added more detail on the PS5 controller state packet and enable full reports over Bluetooth
2020-11-13 13:17:07 -08:00
Sam Lantinga
320a7587d7
Fixed compiler warnings
2020-11-11 19:26:59 -08:00
Sam Lantinga
3a3aaac221
Added 4 auxiliary buttons to the game controller API
...
Xbox Elite controllers use AUX1-AUX4 to represent the paddle buttons when using the HIDAPI driver
PS4 and PS5 controllers use AUX1 to represent the touchpad button
Nintendo Switch Pro controllers use AUX1 to represent the capture button
2020-11-06 11:30:52 -08:00
Sam Lantinga
a22beef402
Moved the PS5 controller driver to a separate file, as the advanced feature protocol is very different from that of the PS4
2020-11-05 17:03:28 -08:00