|
5427f486
|
2021-02-11T17:28:07
|
|
Added support for trigger rumble for all Microsoft Xbox One controllers
|
|
dc45a228
|
2021-02-08T00:20:56
|
|
avoid some pedantic warnings in array initializers
|
|
9c3aa7f0
|
2021-02-06T15:43:17
|
|
SDL: fix packet handling for original version of Stadia FW
|
|
f4d58689
|
2021-02-03T18:00:22
|
|
Fix Xbox Series X controller on macOS
There were two different implementations of IsBluetoothXboxOneController(), one
in SDL_hidapi_xbox360.c and one in SDL_hidapi_xboxone.c. The latter had been
updated to include USB_PRODUCT_XBOX_ONE_SERIES_X_BLUETOOTH while the former had
not.
This mismatch led to the Xbox Series X failing on macOS only. We have special
code for handling the 360Controller driver for macOS which requires us to use
the Xbox 360 driver for wired Xbox One controllers, and the SDL_hidapi_xbox360
version of IsBluetoothXboxOneController() was used to determine which devices
were wired.
In addition to adding the missing USB_PRODUCT_XBOX_ONE_SERIES_X_BLUETOOTH, this
change moves IsBluetoothXboxOneController() into a single shared function which
will ensure this bug won't happen again.
|
|
85235985
|
2021-02-02T11:53:31
|
|
Fixed detecting the paddles on the Xbox Elite Series 1 controller
|
|
7f710e93
|
2021-01-28T14:54:01
|
|
Make sure we don't create a game controller mapping for HID devices that aren't supported by HIDAPI
|
|
2cc70ca3
|
2021-01-29T13:04:01
|
|
Fixed crash if the GameCube controller hasn't been opened yet
|
|
d81eaf8d
|
2021-01-27T12:43:35
|
|
Added explicit case from Uint8 to int before subtracting offset
|
|
bec9d740
|
2021-01-27T12:41:58
|
|
Fixed compile warning
|
|
ac72a2ba
|
2021-01-25T20:38:50
|
|
Fixed bug 5493 - Hint to let the user opt out of having Switch controllers' Home button lit when opened
jibb
New hint to let the user opt out of having Switch controllers' Home button lit when opened.
This is more consistent with the Switch itself (which doesn't light the button normally) and may be preferred by users who may disconnect their controller without letting the application close it.
I think this warrants a Switch-specific hint because the default behaviour is unusual (inconsistent with using a Switch controller on a Switch itself or with some other programs on PC), and because of that it's distinct from other lights (the player number on Switch controllers and the player colour on PlayStation controllers).
|
|
c857b5e0
|
2021-01-23T11:21:01
|
|
Minor cleanup
|
|
1981d23f
|
2021-01-23T11:06:35
|
|
Fixed bug 5466 - Add haptic support for Stadia Controller
Dimitriy Ryazantcev
Consider adding support for Stadia Controller haptics.
Here is example code how to deal with it:
https://github.com/chromium/chromium/blob/99314be8152e688bafbbf9a615536bdbb289ea87/device/gamepad/hid_haptic_gamepad.cc#L45
|
|
9e45372a
|
2021-01-21T22:47:37
|
|
Fixed build on Android and iOS
|
|
0f57864c
|
2021-01-18T19:57:29
|
|
Hint SDL_HINT_JOYSTICK_HIDAPI_JOY_CONS added so we can recognise a Joy-Con as half a Pro Controller, so we can read its analog input and read its sensors just like we do a Pro Controller.
|
|
f68b36df
|
2021-01-22T11:42:42
|
|
Added support for the EVORETRO GameCube Adapter in PC mode
|
|
3527b494
|
2021-01-21T22:30:34
|
|
Fixed initializing the Nyko and EVORETRO GameCube adaptors
This requires root on most Linux distributions, as we have to directly send USB messages to the devices to enable input reports.
|
|
6e97170e
|
2021-01-08T21:16:06
|
|
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.
|
|
bdb3e6b8
|
2021-01-15T12:40:00
|
|
SDL_hidapi_switch.c: fix build with older compilers
|
|
e3dbae50
|
2021-01-14T23:49:41
|
|
Get the serial number for the Nintendo Switch Pro controller
|
|
5fc743c4
|
2021-01-14T23:49:37
|
|
Phantom Nintendo Switch Pro Controller initialization problem
|
|
92742306
|
2021-01-14T23:49:33
|
|
Fixed rumble reset failing for Switch Pro controllers in USB mode
|
|
d0b87fed
|
2021-01-14T23:49:27
|
|
Added HIDAPI rumble debug info
|
|
e2f46ed8
|
2021-01-14T23:49:20
|
|
Always lock the HIDAPI device when closing, in case rumble is pending
|
|
907b8eeb
|
2021-01-14T23:49:16
|
|
Make sure the HIDAPI device is locked when closing it, in case there is rumble pending that didn't complete
|
|
fbd7c718
|
2021-01-13T11:02:07
|
|
Don't blink the Xbox 360 LED when setting the player slot, it's probably already been set by a driver
|
|
d757ec7f
|
2021-01-13T11:02:01
|
|
Only select the gamepad interfaces on the Xbox 360 wireless adapter
|
|
e9887045
|
2021-01-11T15:36:40
|
|
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.
|
|
a5dba7d3
|
2021-01-08T09:54:52
|
|
Fixed Xbox One Series X share button incorrectly triggering on newer firmware
|
|
b2a0c712
|
2021-01-04T12:24:44
|
|
Allow setting the player index to -1, which turns off the player LED for PS5 controllers
|
|
bf754b52
|
2021-01-04T12:17:24
|
|
Valve contributed code is under the Zlib license
|
|
9130f7c3
|
2021-01-02T10:25:38
|
|
Updated copyright for 2021
|
|
480c1f9f
|
2021-01-01T11:12:36
|
|
Make sure we're not starving report reads when there's lots of rumble
|
|
0684572c
|
2020-12-29T12:13:10
|
|
Added a hint to control whether the player LEDs should be lit to indicate which player is associated with a PS5 controller.
|
|
0ed4d929
|
2020-12-23T04:53:23
|
|
Fixed setting player LEDs for PS5 controllers over Bluetooth
|
|
6341bb35
|
2020-12-22T21:51:59
|
|
Fixed controller disconnect detection for PS4 and PS5 controllers over Bluetooth
|
|
a30adae5
|
2020-12-22T20:58:32
|
|
Make it possible to turn on PS4 rumble effects at runtime using the hint
|
|
c93947a2
|
2020-12-22T20:12:03
|
|
Make it possible to turn on PS5 rumble effects at runtime using the hint
|
|
058a0ab4
|
2020-12-22T14:38:32
|
|
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
|
|
6a57072e
|
2020-12-22T14:10:08
|
|
Only add the touchpad and sensors to the PS5 controller if effects are enabled
|
|
4ec776c3
|
2020-12-22T13:29:23
|
|
Don't switch the PS5 controller out of DirectInput mode by default
|
|
e65e4fd3
|
2020-12-14T09:48:51
|
|
Fixed detecting the guide button on Xbox One S controllers over Bluetooth on Linux
|
|
80e5c689
|
2020-12-13T01:20:38
|
|
Fixed the PS5 controller not disconnecting when powered off
|
|
cb361896
|
2020-12-09T07:16:22
|
|
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.
|
|
c9723c40
|
2020-12-07T09:38:21
|
|
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.
|
|
09909d02
|
2020-12-03T19:44:47
|
|
Fixed handling of BACK button on newer Xbox One S controllers
|
|
54e5136b
|
2020-12-03T18:17:04
|
|
Refactored Xbox One Bluetooth protocol and verified Xbox One S, Xbox Series X, and Xbox One Elite Series 2 controllers
|
|
1031231b
|
2020-12-03T18:17:03
|
|
Fixed duplicating a device between XInput and HIDAPI
|
|
59f28b7f
|
2020-12-03T18:17:01
|
|
Fixed whitespace
|
|
e3966e25
|
2020-11-30T13:04:30
|
|
Use the correct internal API for updating the battery level for PS5 controllers
|
|
f4ed07de
|
2020-11-30T13:02:34
|
|
We don't know whether the PS5 controller is Bluetooth or not when we open it
|
|
a0c5bfa3
|
2020-11-27T13:08:40
|
|
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.
|
|
ce77966d
|
2020-11-27T10:44:49
|
|
Fixed RAWINPUT_IsDevicePresent() not returning TRUE for Xbox One controllers
|
|
517be808
|
2020-11-25T16:05:19
|
|
Implemented battery status for Bluetooth Xbox One controllers
Also switched the rumble loop count to 0xEB (one hour) to match Windows driver
|
|
159d1b3d
|
2020-11-25T01:35:45
|
|
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.
|
|
7d92b14f
|
2020-11-25T01:18:18
|
|
Simplified Xbox One controller initialization state, and don't query for the serial number.
|
|
9fc4a4c9
|
2020-11-24T22:25:26
|
|
Revamped Xbox One HIDAPI init sequence
Added support for querying the controller serial number on newer firmware
|
|
e44bf8a0
|
2020-11-23T21:18:37
|
|
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).
|
|
5b3616c3
|
2020-11-23T18:24:05
|
|
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.
|
|
2e8e3854
|
2020-11-21T17:59:15
|
|
Fixed compile warning
|
|
870841c4
|
2020-11-21T11:59:01
|
|
Reset the LED state after Bluetooth connection has completed on the PS5 controller
|
|
549010f2
|
2020-11-20T13:24:49
|
|
It takes 2 packets to stop audio haptics and start emulated rumble on the PS5 controller
|
|
ffb4d960
|
2020-11-19T19:09:34
|
|
Disabled Xbox protocol debugging
|
|
c9b097e6
|
2020-11-19T13:31:16
|
|
Clarify the meaning of the rumble enable bits for the PS5 controller
|
|
c85623d7
|
2020-11-19T13:10:14
|
|
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
|
|
8c3196da
|
2020-11-18T21:33:11
|
|
Fixed some compiler warnings
|
|
45f14375
|
2020-11-18T20:34:12
|
|
Experimenting with requesting the serial number on an Xbox One controller
|
|
963d8b3f
|
2020-11-18T20:34:10
|
|
Fixed bits in the initial Xbox One protocol ack
|
|
cd51a51f
|
2020-11-18T20:34:08
|
|
Updated with a better understanding of the Xbox One controller protocol
|
|
463d84a8
|
2020-11-17T10:56:56
|
|
Added support for the PS5 controller gyro and accelerometer
|
|
fcb21aa8
|
2020-11-17T10:30:20
|
|
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
|
|
d140d887
|
2020-11-16T17:36:47
|
|
Added SDL_JoystickGetSerial() and SDL_GameControllerGetSerial()
|
|
71e32f5e
|
2020-11-16T15:00:15
|
|
Added SDL_crc32()
|
|
3d48fc05
|
2020-11-16T13:21:02
|
|
Added notes about the pad lights on the PS5 controller
|
|
4514ad57
|
2020-11-16T13:07:11
|
|
Fixed updating LED state when starting application with Bluetooth PS5 controller connected
|
|
a37e3ae2
|
2020-11-16T11:21:58
|
|
Implemented PS5 effects over Bluetooth
|
|
c6c116e8
|
2020-11-16T10:51:13
|
|
Implemented setting the LED color on the PS5 controller
|
|
aa7c3eae
|
2020-11-16T09:16:01
|
|
Fixed size of rumble packet
|
|
f28c01a4
|
2020-11-16T09:11:15
|
|
Fixed rumble order on PS5
|
|
eb94c19a
|
2020-11-16T08:09:15
|
|
SDL: fix iOS build
|
|
8243bd1d
|
2020-11-16T08:09:13
|
|
SDL: Plumb PS5 rumble to output report
|
|
5c34c973
|
2020-11-13T19:40:25
|
|
Clarify that we're using button indices, not using gamepad button names
|
|
9f51fad3
|
2020-11-13T18:01:29
|
|
Added support for the touchpad on PS4 and PS5 controllers
|
|
78422fa3
|
2020-11-13T13:17:07
|
|
Added more detail on the PS5 controller state packet and enable full reports over Bluetooth
|
|
5b0d4329
|
2020-11-12T07:53:03
|
|
Implemented trigger rumble in the HIDAPI Xbox One driver
|
|
83b653d5
|
2020-11-11T20:09:56
|
|
Fixed build warning
|
|
320a7587
|
2020-11-11T19:26:59
|
|
Fixed compiler warnings
|
|
1e2caac5
|
2020-11-11T18:57:37
|
|
Added SDL_JoystickRumbleTriggers() and SDL_GameControllerRumbleTriggers()
|
|
d1e10c31
|
2020-11-11T14:38:14
|
|
Removed debug output
|
|
067630ae
|
2020-11-11T03:47:08
|
|
Fix hidapi for unhandled DS4 headset microphone data corrupting controller state
|
|
e12457d8
|
2020-11-10T12:26:30
|
|
Added support for the Xbox Series X controller to the HIDAPI driver
|
|
c3dea231
|
2020-11-09T22:39:33
|
|
Added support for reading the paddles on a Xbox Elite Series 2 controller in Bluetooth mode
|
|
1577366c
|
2020-11-08T23:49:03
|
|
Fixed duplicated switch statement processing Xbox controller dpad state
|
|
009b62f1
|
2020-11-07T02:22:15
|
|
Be explicit about mapping the new game controller paddle buttons
|
|
3a3aaac2
|
2020-11-06T11:30:52
|
|
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
|
|
a22beef4
|
2020-11-05T17:03:28
|
|
Moved the PS5 controller driver to a separate file, as the advanced feature protocol is very different from that of the PS4
|
|
4d79f966
|
2020-11-05T15:02:54
|
|
Added initial support for the Sony PS5 Controller
|
|
e555d453
|
2020-11-05T11:07:54
|
|
Added SDL_JoystickHasLED
Currently, this is only supported by the PS4 HIDAPI driver.
|
|
3d92e8c7
|
2020-10-21T10:43:46
|
|
hidapi: Also parse data[12] with dpad values on the xb1s controller
|
|
d000c1cd
|
2020-05-29T21:22:11
|
|
Fixed bug 5155 - HIDAPI_JoystickDisconnected incorrect array shift
Anthony Pesch
I was looking into my own input bug and noticed an issue in the HIDAPI code while looking over it. I don't have a controller that goes down this path to test and try to provoke the issue, but it looks pretty straight forward.
The memmove to shift the joystick id array on disconnect isn't scaling the size by sizeof(SDL_JoystickID), likely corrupting the ids on disconnect.
|
|
345b4d7e
|
2020-05-29T13:37:21
|
|
Fixed bug 5161 - Autodetect controller mappings based on the Linux Gamepad Specification
Jan Bujak
I wrote a new driver for my gamepad on Linux. I'd like SDL to support it out-of-box, as currently it just treats it as a generic joystick instead of a gamepad. From what I can see the only way to do that is to either 1) pick one of the already supported controllers' PID, VID and button layouts and have my driver send that (effectively lying that it's something else), or 2) submit a preconfigured, hardcoded mapping to SDL.
Both of those, in my opinion, are silly when we already have the Linux Gamepad Specification which standarizes this:
https://www.kernel.org/doc/html/v4.15/input/gamepad.html
Unfortunately SDL doesn't make use of it currently. So I've took it upon myself to add it; patch is in the attachments.
Basically what the patch does is that if SDL finds no built-it controller mappings for a given joystick it then asks the joystick backend to autodetect it, and that uses the relevant evdev bits to figure out which button/axis is which. (See the specs for more details.)
With this patch applied my own driver for my controller works out-of-box with SDL with no extra configuration and is correctly recognized as a gamepad; this is also going to be the case for any other driver which follows the Linux Gamepad Specification.
|