|
3f1fd5ab
|
2023-05-23T10:59:03
|
|
Updated source to match SDL function prototype style
|
|
e8ec8ba1
|
2023-04-27T17:10:44
|
|
Added support for the Astro C40 in Xbox 360 mode
(cherry picked from commit a4b4dff4a2998699757f12d29fdd4c632db884fe)
|
|
120bc77e
|
2023-04-19T13:10:39
|
|
Report PS3 accelerometer values in m/s2 instead of Gs
(cherry picked from commit 0467301baf57389d96fafbe169fb07f4c10169bc)
|
|
7ec9a438
|
2023-04-06T11:33:27
|
|
More defensive coding against dangling device pointers
(cherry picked from commit acadb6f873acaa0de094ad10a88f877d540ce0ec)
|
|
cb0cf141
|
2023-04-06T09:54:04
|
|
The latest Armor-X Pro firmware update fixes the sign on the Z axis of the sensors
(cherry picked from commit 558bbbb07ae0afa0108c1560915351cfa13442b7)
|
|
f6363fde
|
2023-04-05T11:23:28
|
|
Fixed crash if joystick->hwdata != NULL && device->driver == NULL
This should never happen, but we're seeing it in the wild, so make sure that we can never call into a NULL device driver.
(cherry picked from commit e13b74ccf0b20a20bd4baf1617bdc4f84c13feb7)
|
|
f6339154
|
2023-04-05T02:10:56
|
|
fix build after commit 22685556e5d9fc2e2a7023075e51b69fe770e64a.
|
|
22685556
|
2023-03-30T07:36:40
|
|
Don't probe for PlayStation controllers when we already know the controller type
Fixes https://github.com/libsdl-org/SDL/issues/7556
(cherry picked from commit 655a07bdd88d6bd19fe97c3abd39a2e2eef252ec)
|
|
f444eac5
|
2023-03-30T07:25:49
|
|
Fixed analog triggers on the DualSense controller
(cherry picked from commit a67d41050164e447048fa55179cc31b23be9d9b7)
|
|
0bf63175
|
2023-03-28T14:44:28
|
|
Fixed gyro values for the Armor-X Pro controller
(cherry picked from commit 8df7b4d8539338121b1e34e29f331b28f1f4ff05)
|
|
d043c853
|
2023-03-28T12:28:15
|
|
Fixed the accelerometer and gyro axes for the Armor-X Pro controller
(cherry picked from commit 37517557ae076cd94acd9ca3b739e1f32c150a43)
|
|
8bfbda1e
|
2023-03-27T14:27:22
|
|
Fixed the accelerometer sensitivity for the Armor-X Pro controller
(cherry picked from commit 8029a767eef4147c07cde965bd5a2d2e11e237ee)
|
|
93c289b4
|
2023-03-27T14:21:05
|
|
Increased precision for PS4 sensor data conversion
(cherry picked from commit 3340864786314d77e04a0dd2bf1ebffbc43bfc31)
|
|
ed5a343d
|
2023-03-27T11:51:19
|
|
SDL_hidapi_steam.c: Fix compilation under c2x.
When N2935 is implemented, the enum breaks compilation. Use a #define of
the SDL booleans instead.
(cherry picked from commit 975039ce0d3587c42e11f2922240957fc8f74166)
|
|
57ae9f46
|
2023-03-13T19:56:42
|
|
Ignore the PS4 packet CRC if it's not being set correctly
This fixes handling the 8BitDo SN30 Pro with the 2.00 firmware in PS4 mode
Fixes https://github.com/libsdl-org/SDL/issues/7270
(cherry picked from commit 3951cae4a56fddcb42ce4141a6518c97fa9125cd)
|
|
ab167038
|
2023-03-10T15:28:22
|
|
Added support for the trigger buttons on the Victrix Pro FS for PS5
(cherry picked from commit 8d7e61ea42364c256b76e7f6f2b6d6f90742bcb7)
|
|
1e6ffc62
|
2023-03-09T16:11:53
|
|
Removed a duplicate delay accidentally added during code refactor
(cherry picked from commit 926db1bd544364a9e4ab61e60bcfbe75e05adf56)
|
|
0d763800
|
2023-03-09T15:10:00
|
|
Code style: changed "sizeof foo" to "sizeof(foo)" (thanks @sezero!)
(cherry picked from commit c6443d86c92e962683a1efe5f123a144988875b5)
|
|
c0fb0924
|
2023-02-28T08:36:31
|
|
Fixed locking up the Logitech F310 with the PlayStation controller detection
(cherry picked from commit da134a30396e12786c14fe8d1190ab05c67d9dba)
|
|
9be85b84
|
2023-02-21T15:05:57
|
|
Rumbling the Google Stadia Controller over Bluetooth works on Linux and macOS
(cherry picked from commit 4aeec9d8c2ad2fa0465999ecb4fd5c20734f1b27)
|
|
35c9b104
|
2023-02-21T12:47:33
|
|
Fixed the packet size for Xbox One controllers
(cherry picked from commit 021a7cfa13c20d518ebfb6e96c3305150256983b)
|
|
31a57c05
|
2023-02-10T16:46:21
|
|
Fixed the share button on the ThrustMaster eSwap PRO Controller Xbox
(cherry picked from commit e4face7c1d41698067b9afdd8c7f0a8f76774da2)
|
|
3dff5d3c
|
2023-02-06T20:14:12
|
|
Added support for the Turtle Beach REACT-R and Recon Xbox controllers
(cherry picked from commit 5fded632d6fa532ac25e76ad9a676c9ea726dd02)
|
|
4c9a79dd
|
2023-02-20T18:24:52
|
|
Removed duplicated conditional
(cherry picked from commit 1a15d506a69d5d73a53728c569ef84a69db51833)
|
|
7c4f5e1d
|
2023-02-20T17:14:18
|
|
Fixed rumble caps for the Nintendo Joy-Con controllers
(cherry picked from commit 02cea5fca107991774792c431efc96319ef2d060)
|
|
abe8dbbf
|
2023-02-20T15:14:20
|
|
Added support for the Razer Wolverine V2 controllers
(cherry picked from commit 4994654d4f2d5c96a0faa972ebbb6c653f939d56)
|
|
e86f4943
|
2023-02-16T09:50:04
|
|
Hold the joystick lock while opening the HID device on non-Android platforms
On Windows the main thread can be enumerating DirectInput devices while the Windows.Gaming.Input thread is calling back with a new controller available, and in this case HIDAPI_IsDevicePresent() returned false since the controller initialization hadn't completed yet, creating a duplicate controller.
Fixes https://github.com/libsdl-org/SDL/issues/7304
(cherry picked from commit ece8a7bb8e2dae9cb53115980cea9ef1213a0160)
|
|
2c699577
|
2023-02-14T17:51:16
|
|
Fixed handling simple mode PS4 reports
Fixes https://github.com/libsdl-org/SDL/issues/7270
(cherry picked from commit 5925cd4ef377a2211fd057ef6fa9f41141999cb7)
|
|
17515f4a
|
2023-02-04T15:51:37
|
|
Backport simplify flags PR #7220
|
|
d77eb8a8
|
2023-02-08T14:22:39
|
|
Make sure we synchronously re-enable USB reporting mode for Switch controllers (thanks @SortaCore!)
Fixes https://github.com/libsdl-org/SDL/issues/3450
(cherry picked from commit b7c6fec10a152e47f8fa18350134188b75e9df0b)
|
|
3fb9118c
|
2023-02-08T14:16:24
|
|
Note the Google Stadia controller doesn't support rumble over Bluetooth
(cherry picked from commit 50575ed2233b9924198e10c9a261c10323d9089e)
|
|
71fb4e3d
|
2023-02-08T14:16:21
|
|
Fixed mis-detecting the share button on the Xbox controller over NDIS
(cherry picked from commit 00e02de77b615d5faf94af709760fd0f2e749a39)
|
|
2518e32d
|
2023-02-08T14:16:17
|
|
Dynamically update the serial number if it isn't available at first
This happens for Xbox One controllers using newer firmware connected over NDIS
(cherry picked from commit d1c72bb0bc54fba41ba89930a3ed98f8767be724)
|
|
e8938fc6
|
2023-01-20T09:31:22
|
|
Enable paddles on the Xbox Elite controller when connected over USB
(cherry picked from commit c4db0725e4cf5eb6ec5239e6f03346958e88b9cf)
|
|
fde63236
|
2023-02-07T01:11:02
|
|
fix build after the Logitech ChillStream patch.
|
|
71546059
|
2023-02-06T13:28:00
|
|
Added support for the Logitech ChillStream
(cherry picked from commit 6f7edaf8920c504ebd3e797bd04ec1d2e46c4aa9)
|
|
fa934dd4
|
2023-01-09T17:42:17
|
|
hidapi: switch: Add user calibration support
(cherry picked from commit 9fa55d9cabc93532cd5cf44105ec589a4db1d097)
|
|
0479df53
|
2023-01-09T09:48:21
|
|
Updated copyright for 2023
|
|
988866ca
|
2023-01-03T15:12:47
|
|
Fixed line wrapping for HID packet dump
(cherry picked from commit e85839cd5694a79f69ac16f48a5d845cdc62f809)
|
|
2cb7a0a0
|
2023-01-03T15:12:18
|
|
Added support for the ThrustMaster eSwap PRO Controller Xbox
(cherry picked from commit dacdb1c310d97ca3c3e6492cae0611f86b281b34)
|
|
3b0cd441
|
2022-12-17T06:51:02
|
|
Fixed compiler warning
```
./src/joystick/SDL_joystick.c:105:12: warning: no previous extern declaration for non-static variable 'SDL_joystick_lock' [-Wmissing-variable-declarations]
SDL_mutex *SDL_joystick_lock = NULL; /* This needs to support recursive locks */
^
./src/joystick/SDL_joystick.c:105:1: note: declare 'static' if the variable is not intended to be used outside of this translation unit
SDL_mutex *SDL_joystick_lock = NULL; /* This needs to support recursive locks */
^
```
1 warning generated.
|
|
d59caffe
|
2022-12-13T14:03:40
|
|
Added support for clang thread-safety analysis
The annotations have been added to SDL_mutex.h and have been made public so applications can enable this for their own code.
Clang assumes that locking and unlocking can't fail, but SDL has the concept of a NULL mutex, so the mutex functions have been changed not to report errors if a mutex hasn't been initialized. We do have mutexes that might be accessed when they are NULL, notably in the event system, so this is an important change.
This commit cleans up a bunch of rare race conditions in the joystick and game controller code so now everything should be completely protected by the joystick lock.
To test this, change the compiler to "clang -Wthread-safety -Werror=thread-safety -DSDL_THREAD_SAFETY_ANALYSIS"
|
|
802b5ef7
|
2022-12-12T10:54:29
|
|
Added support for the STRIKEPAD PS4 Grip Add-on to the HIDAPI driver
(cherry picked from commit 618340bf990512247ed29a1beb38606e371d60e8)
|
|
fc689a6c
|
2022-12-07T16:06:17
|
|
Fixed build
|
|
b4d54790
|
2022-12-07T14:53:33
|
|
Use the correct name for the DualSense controllers
(cherry picked from commit 9a6bcca6b8db999217f157dab8c44bf27b0a8eb4)
|
|
4ee36a94
|
2022-12-07T14:25:53
|
|
Added support for the DualSense Edge paddles
(cherry picked from commit 9339085593dc20b1f003f26b3c40615cf04504b0)
|
|
d0bbfdbf
|
2022-12-01T16:07:03
|
|
Clang-Tidy fixes (#6725)
(cherry picked from commit 3c501b963dd8f0605a6ce7978882df39ba76f9cd)
|
|
6e40c7a9
|
2022-11-30T17:03:29
|
|
Added support for the Logitech Cordless Precision PS3 controller
|
|
4504c10f
|
2022-11-30T16:37:20
|
|
Re-enabled support for third party PS3 controllers
|
|
9e997cc7
|
2022-11-30T15:39:10
|
|
Fixed Victrix FS Pro V2 controller hang on reboot
|
|
b8d85c69
|
2022-11-30T12:51:59
|
|
Update for SDL3 coding style (#6717)
I updated .clang-format and ran clang-format 14 over the src and test directories to standardize the code base.
In general I let clang-format have it's way, and added markup to prevent formatting of code that would break or be completely unreadable if formatted.
The script I ran for the src directory is added as build-scripts/clang-format-src.sh
This fixes:
#6592
#6593
#6594
(cherry picked from commit 5750bcb174300011b91d1de20edb288fcca70f8c)
|
|
89e9f7b4
|
2022-11-28T23:10:02
|
|
Added support for the Xbox Elite controller paddles with firmware version 5.13+
|
|
a937b5c4
|
2022-11-28T13:47:30
|
|
Add 8BitDo to the list of Xbox 360 third party vendors
Allows detection of the 8BitDo Ultimate Wired Controller
|
|
fb0ce375
|
2022-11-27T17:38:43
|
|
Cleanup add brace (#6545)
* Add braces after if conditions
* More add braces after if conditions
* Add braces after while() conditions
* Fix compilation because of macro being modified
* Add braces to for loop
* Add braces after if/goto
* Move comments up
* Remove extra () in the 'return ...;' statements
* More remove extra () in the 'return ...;' statements
* More remove extra () in the 'return ...;' statements after merge
* Fix inconsistent patterns are xxx == NULL vs !xxx
* More "{}" for "if() break;" and "if() continue;"
* More "{}" after if() short statement
* More "{}" after "if () return;" statement
* More fix inconsistent patterns are xxx == NULL vs !xxx
* Revert some modificaion on SDL_RLEaccel.c
* SDL_RLEaccel: no short statement
* Cleanup 'if' where the bracket is in a new line
* Cleanup 'while' where the bracket is in a new line
* Cleanup 'for' where the bracket is in a new line
* Cleanup 'else' where the bracket is in a new line
(cherry picked from commit 6a2200823c66e53bd3cda4a25f0206b834392652 to reduce conflicts merging between SDL2 and SDL3)
|
|
509939b1
|
2022-11-18T18:20:53
|
|
Disable the third party PS3 HIDAPI driver by default, the L3/R3 buttons are unknown
|
|
389ffab7
|
2022-11-16T12:53:48
|
|
Code style fixes, etc.
Reference PR #6345.
|
|
ec58a817
|
2022-10-05T19:26:09
|
|
Fixes made in response to running a static code analyzer under MS Windows.
Most of these are probably harmless, but the changes to SDL_immdevice.c and SDL_pixels.c appear to have fixed genuine bugs.
SDL_audiocvt.c: By separating the calculation of the divisor, I got rid of the suspicion that dividing a double by an integer led to loss of precision.
SDL_immdevice.c: Added a missing test, one that could have otherwise led to dereferencing a null pointer.
SDL_events.c, SDL_gamecontroller.c, SDL_joystick.c, SDL_malloc.c, SDL_video.c: Made it clear the return values weren't used.
SDL_hidapi_shield.c: The size is zero, so nothing bad would have happened, but the SDL_memset() was still being given an address outside of the array's range.
SDL_dinputjoystick.c: Initialize local data, just in case IDirectInputDevice8_GetProperty() isn't guaranteed to write to it.
SDL_render_sw.c: drawstate.viewport could be null (as seen on line 691).
SDL.c: SDL_MostSignificantBitIndex32() could return -1, though I don't know if you want to cope with that (what I did) or SDL_assert() that it can't happen.
SDL_hints.c: Replaced boolean tests on pointer values with comparisons to NULL.
SDL_pixels.c: Looks like the switch is genuinely missing a break!
SDL_rect_impl.h: The MacOS static checker pointed out issues with the X comparisons that were handled by assertions; I added assertions for the Y comparisons.
SDL_yuv.c, SDL_windowskeyboard.c, SDL_windowswindow.c: Checked error-result returns.
|
|
0dfc829a
|
2022-11-10T19:16:53
|
|
Added simple BLE Steam Controller support on all platforms
This is still disabled by default via the hint SDL_HINT_JOYSTICK_HIDAPI_STEAM
|
|
2e3b4f3f
|
2022-11-08T07:50:51
|
|
Don't send rumble to the Amazon Luna controller on macOS
Sending rumble to the Amazon Luna controller on macOS gets there, but IOHIDDeviceSetReport() blocks for a long time and eventually fails.
This appears to be a bug in the macOS Bluetooth stack, ref rdar://99265496
|
|
9d1dbd2a
|
2022-11-06T01:16:52
|
|
Added note about trigger rumble availability across third-party Xbox One controllers
|
|
e7a56323
|
2022-11-06T01:43:05
|
|
Make sure we wait after sending the rumble packet when initializing the PowerA Xbox One Mini Wired Controller
|
|
6875e62a
|
2022-11-06T01:15:20
|
|
Make sure we don't send Xbox controllers rumble so quickly that it overwhelms the firmware
Fixes https://github.com/libsdl-org/SDL/issues/6435
|
|
38af459d
|
2022-11-06T01:15:19
|
|
Fixed potential clobbering of packets of different types using SDL_HIDAPI_SendRumble()
|
|
e45cb5b1
|
2022-11-06T01:15:18
|
|
Fixed initializing the PowerA Xbox One Mini Wired Controller
|
|
a4626dea
|
2022-11-05T14:24:41
|
|
Fixed initializing the PDP Xbox One and Victrix Gambit controllers
|
|
7e11b09b
|
2022-11-05T13:50:37
|
|
The PowerA Xbox One Mini Wired Controller works with the HIDAPI driver now
|
|
24cdebe4
|
2022-11-05T10:34:08
|
|
Added the hint SDL_HINT_JOYSTICK_HIDAPI_XBOX_ONE_HOME_LED to control the brightness of the Xbox button LED on the Xbox One controller
|
|
c70e6759
|
2022-11-03T12:37:54
|
|
Wait a bit for devices to initialize before trying to enumerate and open them.
This works around udev event nodes arriving before hidraw nodes and the controller being opened twice - once using the Linux driver and once by the HIDAPI driver.
This also fixes a kernel panic on Steam Link hardware due to trying to open the hidraw device node too early.
A delay of 10 ms seems to be a good value, tested on Steam Link hardware.
|
|
b75d3187
|
2022-10-31T13:33:53
|
|
Sometimes the HID open doesn't succeed immediately after being notified about the device
Tested on Steam Link hardware with the Nintendo Switch Pro controller, which will occasionally take 2 attempts to open.
|
|
c74ea994
|
2022-10-25T13:11:41
|
|
Added support for the Razer Raiju Tournament Edition controller in Bluetooth mode
|
|
72f6e216
|
2022-10-25T12:25:57
|
|
Disabled debug logging
|
|
da478d1f
|
2022-10-25T10:30:56
|
|
Fixed build
|
|
a6018ae5
|
2022-10-25T10:23:51
|
|
Added support for the NVIDIA SHIELD controller v1.03 to the HIDAPI driver
|
|
f4d1f5ed
|
2022-10-23T16:35:36
|
|
SDL-HIDPS4: fix PS4 Slim controller over BT - it sends the same input report as the it does over USB, but with a larger packet size
CR: saml
|
|
333935ff
|
2022-10-17T11:10:53
|
|
Make sure we completely unlock joysticks when opening HIDAPI devices
Also lock the joysticks when adding and removing Android joysticks
|
|
e8fdb861
|
2022-10-15T10:02:39
|
|
Removed redundant masking when loading the IMU calibration
|
|
a6573f94
|
2022-10-16T00:23:25
|
|
Fix bugs in IMU calibration loading for Nintendo Controllers
|
|
5129a077
|
2022-10-14T14:35:52
|
|
Steam Controller support defaults off, as documented in SDL_hints.h
|
|
93b71967
|
2022-10-14T10:32:03
|
|
Only update the battery level if we're on Bluetooth
Fixes battery level dropping to empty with the Qanba Drone Arcade Stick.
It looks like we might also be able to skip the check for all third party controllers, but I think this is the right thing to do for Sony controllers as well.
|
|
6f224e4d
|
2022-10-11T10:44:20
|
|
Made timestamp_us of sensor events increase monotonically for Nintendo controllers
|
|
efdb390c
|
2022-10-09T09:11:33
|
|
Disable the HIDAPI Wii driver by default as it doesn't work with the dolphinbar
|
|
33050fea
|
2022-10-07T11:29:49
|
|
Only open HID devices that might have a HIDAPI driver available
This prevents an OS prompt for every connected device when running on Android
|
|
fc720321
|
2022-10-06T18:23:07
|
|
Fix rare deadlock when opening a HID controller on Android
Fixes https://github.com/libsdl-org/SDL/issues/6347
|
|
bd6afc23
|
2022-10-02T10:15:39
|
|
Fixed sensor axes in vertical mode
|
|
b4c25f57
|
2022-10-02T09:51:05
|
|
Remapped the side button and trigger as paddles for the mini-gamepad mode of the Joy-Cons
This is the only case where the mapping differs between right and left Joy-Cons in mini-gamepad mode. The left Joy-Con will have the left paddles and the right Joy-Con will have the right paddles. This facilitates co-op gameplay with individual actions while still using the normal mini-gamepad mode.
The paddles are used for this because conceptually they are more awkward to hit than the normal controls and they are in roughly the correct hand position.
|
|
37dfa262
|
2022-10-02T09:36:50
|
|
Added paddle mapping for combined Joy-Cons
|
|
6c8bf3af
|
2022-10-03T00:19:34
|
|
Add vertical mode for Nintendo Joy-Con (#6303)
* Added support for vertical mode for Joy-Con controllers
* Added the hint SDL_HINT_JOYSTICK_HIDAPI_VERTICAL_JOY_CONS for switching to this mode
* Added support for SL/SR buttons in combined/vertical mode and L/ZL/R/ZR buttons in mini-gamepad mode
|
|
0672dc8d
|
2022-10-02T08:48:38
|
|
Fixed combined Joy-Cons after https://github.com/libsdl-org/SDL/commit/aa2e2f4843567cfe4e6f2f4ffa3f0b74dd98f1ba (thanks @happyharryh!)
|
|
18eb319a
|
2022-09-27T12:34:03
|
|
Added sensor timestamp for Nintendo Switch controllers
|
|
5e3a4030
|
2022-09-27T11:36:01
|
|
Added sensor timestamp for Steam Controllers
|
|
2c518747
|
2022-09-27T09:56:02
|
|
Added microsecond timestamp to sensor values for PS4 and PS5 controllers using the HIDAPI driver
|
|
1e1be0b9
|
2022-09-26T23:00:58
|
|
Updated logic to match between PS4/PS5/Switch controllers
|
|
8c40a6b0
|
2022-09-26T22:47:21
|
|
Drop PS5 Bluetooth reports that fail CRC check
|
|
db075ff3
|
2022-09-26T22:45:01
|
|
Removed unused variable
|
|
2ccdd066
|
2022-09-26T22:32:57
|
|
Handle DS4 dongle controller connection and disconnection
We also drop Bluetooth packets that fail the CRC check, as recommended by Sony
|
|
18046b9a
|
2022-09-26T20:53:50
|
|
Fixed crash with a NULL serial number
|
|
67fa6a93
|
2022-09-26T20:49:26
|
|
Don't wait a long time for zombie Bluetooth controllers
If a Nintendo Switch Pro controller is turned off, it will leave the controller connected in Windows, but not responding to reports. Don't wait a really long time trying to get information from a controller in this state.
|
|
67db8a91
|
2022-09-26T20:41:51
|
|
Wait for input before reconnecting a Bluetooth device
On Windows, the Bluetooth device can remain in a connected state if the controller just shut down. It won't return any errors, but it also won't generate any input reports in this state, so wait until we know for sure that the Bluetooth controller is sending data before letting the application know it's available.
|
|
2cc91761
|
2022-09-26T18:52:26
|
|
Removed debug logging
|
|
2c98c8af
|
2022-09-26T18:39:18
|
|
Use better default values for Switch controller calibration
|