Sam Lantinga
3f00fa16c6
Wait for the GCController framework to see IOKit devices
...
It occasionally takes a few millseconds for the GCController framework to handle the device notification and set up the device
Fixes the duplicate controller issue in https://github.com/libsdl-org/SDL/issues/6686
(cherry picked from commit 645823fc90 )
2023-03-09 16:13:19 -08:00
Sam Lantinga
0d76380042
Code style: changed "sizeof foo" to "sizeof(foo)" (thanks @sezero!)
...
(cherry picked from commit c6443d86c9 )
2023-03-09 15:23:59 -08:00
Lokathor
cfd6b34b8f
Make mappings for "Retrolink SNES Controller" with SDL_GAMECONTROLLER_USE_BUTTON_LABELS both on and off
...
I've only tested this on windows, but I went ahead and made the same changes for linux and mac because I assumed it's the same there and that we'd want to keep the three platforms in sync.
(cherry picked from commit b8bc4a234b )
2023-03-08 16:44:30 -08:00
Ozkan Sezer
a70964aaf4
fix SDL_FindFreePlayerIndex so it can really return -1.
2023-03-08 20:00:50 +03:00
Sam Lantinga
35c13196f0
Fixed uninitialized variable
2023-03-08 08:40:38 -08:00
Sam Lantinga
8fc10ac95c
Added mapping for the Xbox Elite Core controller connected via Bluetooth on Android
...
(cherry picked from commit d08338ddc5 )
2023-03-06 15:37:52 -08:00
divVerent
91ad208d18
Fix Xbox One gamepad axis assignment on SDL_JOYSTICK_ANDROID API ( #7405 )
...
(cherry picked from commit 6f1f586086 )
2023-03-06 15:37:41 -08:00
Sam Lantinga
f47a08ab84
Fixed typo in previous cherry-pick
2023-03-01 16:47:48 -08:00
Sam Lantinga
660fc89967
Don't clobber an existing entry with a different version when adding a gamepad mapping
...
(cherry picked from commit 727c7d4e2f )
2023-03-01 16:41:44 -08:00
Sam Lantinga
c0fb092425
Fixed locking up the Logitech F310 with the PlayStation controller detection
...
(cherry picked from commit da134a3039 )
2023-02-28 08:37:18 -08:00
Sam Lantinga
715749f578
Added mapping for DualSense Edge Wireless Controller on Linux
...
This is a mapping when using evdev, not the more advanced HIDAPI support.
(cherry picked from commit 206fa4dafb )
2023-02-27 15:21:04 -08:00
Sam Lantinga
3bf9c70a7c
Changed the VID/PID used for the Backbone One controller on iOS
...
(cherry picked from commit 516e48515e )
2023-02-23 12:24:49 -08:00
Sam Lantinga
ea7103088f
Added support for the Backbone One PlayStation Edition
...
(cherry picked from commit 59bf1c2853 )
2023-02-23 11:59:10 -08:00
Sam Lantinga
13969f8567
De-duplicate Google Stadia controllers on macOS
...
(cherry picked from commit 87a83787a3 )
2023-02-21 15:35:25 -08:00
Sam Lantinga
9be85b846b
Rumbling the Google Stadia Controller over Bluetooth works on Linux and macOS
...
(cherry picked from commit 4aeec9d8c2 )
2023-02-21 15:07:24 -08:00
Sam Lantinga
35c9b1042f
Fixed the packet size for Xbox One controllers
...
(cherry picked from commit 021a7cfa13 )
2023-02-21 12:48:10 -08:00
Sam Lantinga
31a57c05dc
Fixed the share button on the ThrustMaster eSwap PRO Controller Xbox
...
(cherry picked from commit e4face7c1d )
2023-02-21 12:43:20 -08:00
Sam Lantinga
3dff5d3cbe
Added support for the Turtle Beach REACT-R and Recon Xbox controllers
...
(cherry picked from commit 5fded632d6 )
2023-02-21 11:29:45 -08:00
Sam Lantinga
4c9a79dddb
Removed duplicated conditional
...
(cherry picked from commit 1a15d506a6 )
2023-02-20 18:26:07 -08:00
Sam Lantinga
7c4f5e1def
Fixed rumble caps for the Nintendo Joy-Con controllers
...
(cherry picked from commit 02cea5fca1 )
2023-02-20 18:25:57 -08:00
Sam Lantinga
abe8dbbf1c
Added support for the Razer Wolverine V2 controllers
...
(cherry picked from commit 4994654d4f )
2023-02-20 18:25:38 -08:00
Sam Lantinga
f741adc86c
Added other names for the DragonRise Inc. Wired Wheel (thanks @felimwhiteley!)
...
(cherry picked from commit eede2066fb )
2023-02-17 11:30:49 -08:00
Sam Lantinga
e86f494317
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 ece8a7bb8e )
2023-02-16 09:53:33 -08:00
Sam Lantinga
69b2baec5c
Map the Android MENU button back to the SDL MENU key
...
Thanks to @AntTheAlchemist for the investigation!
Fixes https://github.com/libsdl-org/SDL/issues/7318
(cherry picked from commit beb6a2afdc )
2023-02-14 18:04:30 -08:00
Sam Lantinga
2c6995778e
Fixed handling simple mode PS4 reports
...
Fixes https://github.com/libsdl-org/SDL/issues/7270
(cherry picked from commit 5925cd4ef3 )
2023-02-14 17:53:37 -08:00
Sam Lantinga
7285f0d441
Sorted controller list
...
(cherry picked from commit 68e2f23066 )
2023-02-10 17:18:32 -08:00
Alfredo Escobar
ca3468cb55
Add Hori Pokken Tournament DX Pro Pad
...
(cherry picked from commit 76552e4780 )
2023-02-10 17:17:00 -08:00
Sylvain
17515f4aef
Backport simplify flags PR #7220
2023-02-09 17:19:46 -08:00
Sam Lantinga
d77eb8a8d5
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 b7c6fec10a )
2023-02-08 14:31:05 -08:00
Sam Lantinga
3fb9118cb6
Note the Google Stadia controller doesn't support rumble over Bluetooth
...
(cherry picked from commit 50575ed223 )
2023-02-08 14:31:05 -08:00
Sam Lantinga
71fb4e3d76
Fixed mis-detecting the share button on the Xbox controller over NDIS
...
(cherry picked from commit 00e02de77b )
2023-02-08 14:31:05 -08:00
Sam Lantinga
2518e32de8
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 d1c72bb0bc )
2023-02-08 14:31:01 -08:00
Sam Lantinga
e8938fc66a
Enable paddles on the Xbox Elite controller when connected over USB
...
(cherry picked from commit c4db0725e4 )
2023-02-08 14:27:05 -08:00
Ozkan Sezer
fde6323662
fix build after the Logitech ChillStream patch.
2023-02-07 01:11:02 +03:00
Sam Lantinga
7154605982
Added support for the Logitech ChillStream
...
(cherry picked from commit 6f7edaf8920c504ebd3e797bd04ec1d2e46c4aa9)
2023-02-06 13:28:44 -08:00
Sam Lantinga
5b5a72e33c
Sorted controller list
...
(cherry picked from commit 1c03ddefc3 )
2023-02-05 08:44:46 -08:00
Antonis Geralis
58fa43e7c3
Added Elecom 8button gamepad
...
(cherry picked from commit 52cd9fcbb0 )
2023-02-05 08:44:46 -08:00
Leonardo Brondani Schenkel
4266cf8504
Add Linux mapping for 8BitDo Pro 2 Wired Controller for Xbox
...
Without these mappings, this controller "kinda" works out of the box:
- `SDL_GameControllerMapping()` works because it will notice "Xbox" in
the name and use the default XInput mappings
- `SDL_GameControllerMappingForGUID()` will not find any mapping
lsusb:
```
ID 2dc8:2000 8BitDo 8BitDo Pro 2 Wired Controller for Xbox
```
In Linux this controller is supported by two drivers:
- `xpad` (built-in to the kernel), exposes the controller name from the
USB descriptor and the GUID starts with 03 (0x03 = BUS_USB)
- `xone` (https://github.com/medusalix/xone ), exposes a virtual
controller which is always named "Microsoft X-Box One pad" and the
GUID starts with 06 (0x06 = BUS_VIRTUAL)
This commit adds the 2 GUIDs from both drivers so mappings will always
be found and the real controller name will always be reported.
2023-02-05 08:44:37 -08:00
Alynne
92779a5bd8
Adds Stadia BT mapping
...
(cherry picked from commit 4dea13e02f )
2023-02-03 15:02:47 -08:00
Sam Lantinga
c4a493de97
Don't accept official mappings for controllers that aren't unique
...
For example, the DragonRise Inc. Generic USB Joystick
See https://github.com/gabomdq/SDL_GameControllerDB/issues/202 for details
(cherry picked from commit 673bc57649 )
2023-02-02 08:41:57 -08:00
Sam Lantinga
4a87abc966
Fixed sort_controllers.py and resorted game controller database
...
(cherry picked from commit 917607c335 )
2023-02-02 08:41:36 -08:00
Sam Lantinga
2290d71338
Added gamepad mappings for the Xin-Mo Dual Arcade Fightstick
...
(cherry picked from commit d29e1f3632 )
2023-02-01 23:07:47 -08:00
happyharryh
2cb422360c
Fixed the hat_map to avoid segmentation fault
...
(cherry picked from commit 57e78f4cf5 )
2023-01-12 06:56:59 -08:00
Narr the Reg
fa934dd4df
hidapi: switch: Add user calibration support
...
(cherry picked from commit 9fa55d9cab )
2023-01-12 06:38:37 -08:00
Sam Lantinga
0479df53ca
Updated copyright for 2023
2023-01-09 09:48:21 -08:00
Sam Lantinga
ebc2fb411f
Fixed infinite loop shutting down WGI controllers
...
We are guaranteed that the lock will be held during shutdown, so if we are in InvokeRemoved(), it's because we're shutting down controllers and need to remove them from our internal list.
Fixes https://github.com/libsdl-org/SDL/issues/7016
(cherry picked from commit ac99db9fc8 )
2023-01-08 09:35:55 -08:00
Sam Lantinga
988866ca4a
Fixed line wrapping for HID packet dump
...
(cherry picked from commit e85839cd56 )
2023-01-03 15:14:00 -08:00
Sam Lantinga
2cb7a0a0bb
Added support for the ThrustMaster eSwap PRO Controller Xbox
...
(cherry picked from commit dacdb1c310 )
2023-01-03 15:13:50 -08:00
Sam Lantinga
29a4c5ebc2
Fixed getting the VID/PID of a virtual joystick
...
(cherry picked from commit e40a96155f )
2022-12-28 12:52:17 -08:00
Sam Lantinga
903df79b2d
Make sure we match the same way when adding a mapping and looking up a mapping
...
Fixes https://github.com/libsdl-org/SDL/issues/6898
(cherry picked from commit 3db9112ef4 )
2022-12-27 12:21:13 -08:00