|
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)
|
|
192cdf3d
|
2022-11-24T16:07:03
|
|
SDL_mfijoystick.m: remove VLA, so that projects can be built with error on vla
|
|
4c7156c1
|
2022-11-24T05:21:21
|
|
Avoid use of deprecated egrep/fgrep
GNU grep 3.8 emits a deprecation warning on use of egrep/fgrep.
Signed-off-by: Sam James <sam@gentoo.org>
(cherry picked from commit 3e7952ce8a0affd325c802755cae5fd843b86d99)
|
|
242ce20c
|
2022-11-24T07:37:36
|
|
SDL_mfijoystick.m: fix build with Xcode < 9
Fixes #6601.
(cherry picked from commit 53ca1f77029289a58f1a9963a00b637b903f494d)
|
|
dce6ed56
|
2022-11-22T10:56:44
|
|
Removed G29 from controller_type.c
We don't want the G29 to show up as a gamepad, Steam will create a virtual Xbox controller for it, which breaks racing games.
|
|
e3d430b8
|
2022-11-22T10:53:28
|
|
Revert "Added Linux mappings for the Logitech G29 in PS3 and PS4 modes"
This reverts commit 33a68f575f484723aa326f8a2d96f2b8a084da4a.
We don't want the G29 to show up as a gamepad, Steam will create a virtual Xbox controller for it, which breaks racing games.
|
|
d167cd67
|
2022-11-21T09:02:10
|
|
Added the Gunfighter Mk.III ‘Space Combat Edition’ as a flight stick
|
|
8b20b568
|
2022-11-21T07:41:35
|
|
Don't report battery level for disconnected batteries
Fixes https://github.com/libsdl-org/SDL/issues/6536
|
|
509939b1
|
2022-11-18T18:20:53
|
|
Disable the third party PS3 HIDAPI driver by default, the L3/R3 buttons are unknown
|
|
60c6cd55
|
2022-11-17T09:34:27
|
|
Fixed bug #6533 - PS2_JoystickUpdate: some invalid condition
|
|
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.
|
|
bf4f9aaa
|
2022-11-14T16:11:58
|
|
N3DS: Use designated initialiser for drivers.
Just a sanity check that the functions are actually mapped correctly.
|
|
b7e65a81
|
2022-11-11T08:57:07
|
|
Fixed incorrect WGI controller state when the application loses focus
Recenter the controller elements when WGI stops reporting valid state
Fixes https://github.com/libsdl-org/SDL/issues/5261
|
|
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
|
|
7c05ea0a
|
2022-11-10T13:35:40
|
|
Added mappings for the GameSir T3 and T4 Pro controllers
|
|
404cb276
|
2022-11-10T13:28:03
|
|
Added macOS mappings for the Nintendo Switch Pro Controller over Bluetooth
|
|
3dc88da0
|
2022-11-08T13:27:56
|
|
Fix Dualshock 4 rumble stopping too early
Dualshock 4 controller only rumbles for 5 seconds maximum. Resend
rumble command every 2 seconds to make long rumble work.
|
|
6432f45a
|
2022-11-08T10:27:21
|
|
Don't treat the Nintendo IMU as a separate game controller on Linux
|
|
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
|
|
02bc359b
|
2022-11-07T19:31:18
|
|
Shorten "Bensussen Deutsch & Associates,Inc.(BDA)" to "BDA" for controller names
|
|
f2ce7c5f
|
2022-11-06T08:23:08
|
|
Added the G29 as a PlayStation controller
|
|
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
|
|
a2d66b6a
|
2022-11-05T13:12:10
|
|
SDL_GameControllerMapping() should return the string for the actual mapping that was used when opening a gamecontroller, rather than do a GUID match again
Also don't match against the zero guid if that happens to be in the mapping list for some reason
|
|
f3bf543e
|
2022-11-05T15:21:29
|
|
recognize game controllers connected via raphnet technologies WUSBMote v2.2
This is a USB adapter for controllers shipped with Nintendo's NES-mini and
SNES-mini consoles.
Tested with both NES and SNES controllers, buttons map as expected on both.
|
|
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
|
|
33a68f57
|
2022-11-03T16:02:58
|
|
Added Linux mappings for the Logitech G29 in PS3 and PS4 modes
|
|
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.
|
|
25d0473a
|
2022-10-25T16:14:26
|
|
Removed Razer Onza Tournament Edition mapping
The controller can use either hat or buttons for the D-Pad, depending on what Linux driver is in use. The automatic mapping in LINUX_JoystickGetGamepadMapping() will do the right thing based on the exposed capability bits.
I'm sure this is the case for other controllers as well, so we might be removing more mappings over time.
|
|
e837debc
|
2022-10-25T16:13:50
|
|
Bindings should have a trailing comma, so the CRC can be appended
|
|
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
|
|
5fbf8f6c
|
2022-10-25T12:37:17
|
|
Adds DualSense Edge
|
|
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
|
|
3d35c085
|
2022-10-02T17:30:03
|
|
fix a few 'unused but set variable' and 'unused function' warnings
|
|
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
|
|
5b8f830e
|
2022-10-22T09:24:28
|
|
Virtual joysticks don't need initial axis jitter protection
Fixes https://github.com/libsdl-org/SDL/issues/6426
|
|
0bc852ce
|
2022-10-17T17:43:06
|
|
Revert "Disable the RAWINPUT joystick driver by default"
Disabling RAWINPUT on Windows 10 causes these issues:
* All Xbox controllers are named "XInput Controller".
* Trigger rumble no longer works.
* "XInput Controllers" are now also listed as separate haptic devices
|
|
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
|
|
47ba997f
|
2022-10-17T07:39:52
|
|
Disable the RAWINPUT joystick driver by default
It's only needed to support more than 4 Xbox controllers, and adds significant complexity to the joystick processing, and we regularly get bugs from people who aren't using an SDL window who need to turn on SDL_HINT_JOYSTICK_THREAD.
|
|
5025f240
|
2022-10-17T07:32:44
|
|
Don't use RAWINPUT joystick driver on Windows XP
Fixes https://github.com/libsdl-org/SDL/issues/6400
|
|
70dfd6dd
|
2022-10-16T09:05:13
|
|
Added mapping for Xbox Series X controller
Fixes https://github.com/libsdl-org/SDL/issues/6296
|
|
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
|
|
6af17369
|
2022-10-14T10:36:24
|
|
Added mapping for Qanba Drone on Linux without HIDAPI
|
|
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.
|
|
120a957d
|
2022-10-14T09:57:02
|
|
Added support for the Qanba Drone Arcade Stick
|
|
fc73386f
|
2022-10-12T21:44:50
|
|
Fixed the mapping from raw joystick values to the expected [SDL_JOYSTICK_AXIS_MIN, SDL_JOYSTICK_AXIS_MAX] range. (thanks Tas!)
The original code mapped incorrectly from [min, max] to [-32768, 32512], the upper bound being SDL_JOYSTICK_AXIS_MAX - 255 instead of SDL_JOYSTICK_AXIS_MAX.
|
|
6f224e4d
|
2022-10-11T10:44:20
|
|
Made timestamp_us of sensor events increase monotonically for Nintendo controllers
|
|
43a2b0b1
|
2022-10-10T00:00:52
|
|
N3DS: Use macro to correct axis.
Using `(value * SDL max) / 3DS max` allows for marginally better
accuracy compared to `value * (SDL max / 3DS max)`.
|
|
cb1972b3
|
2022-09-20T23:07:04
|
|
N3DS: ZL and ZR should be considered as triggers.
Previously they were considered as clicking stick.
|
|
86a8714f
|
2022-09-20T23:04:20
|
|
N3DS: Refactor joystick module to avoid globals.
|
|
392f3882
|
2022-09-20T22:45:24
|
|
N3DS: Use SDL_Sensor instead of Joystick sensors.
|
|
266014fa
|
2022-09-18T13:38:26
|
|
N3DS: Use SDL_Touch instead of the Joystick touch.
|
|
03bbbcd8
|
2022-09-18T09:06:36
|
|
N3DS: Use CreateJoystickGUIDForName.
|
|
65527537
|
2021-03-30T04:32:39
|
|
N3DS port (squashed)
A dedicated renderer using Citro3D would likely allow for better
much better graphical performances.
|
|
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
|
|
689409fd
|
2022-10-06T17:34:24
|
|
Fixed the start button on the Nimbus+ controller on tvOS
Also updated mappings for Nintendo Switch controllers on tvOS, to reflect the lack of guide/menu button availability
|
|
ddc3de60
|
2022-10-05T16:24:05
|
|
Added mapping for PS5 controller over Bluetooth on Android 12
Tested on Pixel 3a
|
|
81afb3e3
|
2022-10-05T16:18:09
|
|
Need to swap endianness when extracting the CRC from game controller mappings
|
|
3607f831
|
2022-10-03T11:00:50
|
|
Find out if a controller is wireless using WGI (thanks @DJm00n!)
Confirmed using an Xbox Series X controller over USB and Bluetooth
Fixes https://github.com/libsdl-org/SDL/issues/6322
|
|
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.
|
|
f58a6506
|
2022-10-02T09:50:27
|
|
Added paddle mapping for combined Joy-Cons
|
|
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!)
|
|
7becbd7d
|
2022-09-27T12:58:16
|
|
Add joystick locking for controller notifications on iOS/tvOS
Fixes https://github.com/libsdl-org/SDL/issues/6288
|
|
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
|
|
a205c5e2
|
2022-09-26T18:18:16
|
|
Use separate extents for simple and advanced reports
|
|
b7fddb4c
|
2022-09-26T14:39:51
|
|
Minor tweaks
|
|
39adcc0a
|
2022-09-26T14:20:34
|
|
Prefer USB input over Bluetooth for PS5/PS5/Switch controllers
Nintendo Switch controllers will automatically turn off Bluetooth when connected over USB, but this takes care of that a little more quickly.
PS4 and PS5 controllers will happily send reports over both Bluetooth and USB, so we'll prefer USB if connected and switch back to Bluetooth if USB is disconnected.
|
|
17d7d03a
|
2022-09-26T08:12:35
|
|
Added detection of the joystick type for third party PS4 and PS5 controllers
|
|
8d2cb155
|
2022-09-23T16:56:24
|
|
Added an entry for the ZEROPLUS P4 Wired Gamepad
|
|
cb063db6
|
2022-09-23T16:52:37
|
|
Moved XInputPS4 controllers into the PS4 controller section
|
|
5b3b7e6e
|
2022-09-23T16:46:36
|
|
Separated PS4/PS5 effects support into individual capabilities
|
|
33619aa2
|
2022-09-23T16:38:15
|
|
Added support for the ZEROPLUS P4 Wired Gamepad to the HIDAPI driver
|
|
e888c99f
|
2022-09-23T16:26:41
|
|
Fixed the entry for the Nacon PS4 Compact Controller
|