mirror of https://github.com/encounter/SDL.git
SDL: sometimes the PS5 controller doesn't report having to power even when connected over USB. Possibly related to being completely charged? Either way we already know that it's USB or BT so let's use the driver's knowledge instead.
This commit is contained in:
parent
04bf7c9434
commit
2ca0837888
|
@ -961,7 +961,10 @@ HIDAPI_DriverPS5_HandleStatePacket(SDL_Joystick *joystick, SDL_hid_device *dev,
|
||||||
axis = ((int)packet->ucRightJoystickY * 257) - 32768;
|
axis = ((int)packet->ucRightJoystickY * 257) - 32768;
|
||||||
SDL_PrivateJoystickAxis(joystick, SDL_CONTROLLER_AXIS_RIGHTY, axis);
|
SDL_PrivateJoystickAxis(joystick, SDL_CONTROLLER_AXIS_RIGHTY, axis);
|
||||||
|
|
||||||
if (packet->ucBatteryLevel & 0x10) {
|
/* A check of packet->ucBatteryLevel & 0x10 should work as a check for BT vs USB but doesn't
|
||||||
|
* seem to always work. Possibly related to being 100% charged?
|
||||||
|
*/
|
||||||
|
if (!ctx->is_bluetooth) {
|
||||||
/* 0x20 set means fully charged */
|
/* 0x20 set means fully charged */
|
||||||
SDL_PrivateJoystickBatteryLevel(joystick, SDL_JOYSTICK_POWER_WIRED);
|
SDL_PrivateJoystickBatteryLevel(joystick, SDL_JOYSTICK_POWER_WIRED);
|
||||||
} else {
|
} else {
|
||||||
|
|
Loading…
Reference in New Issue