Sam Lantinga
68544be44b
Added support for the Nintendo Online controllers
2022-06-10 11:31:59 -07:00
Sam Lantinga
b06866ef97
Entirely remove Xbox axis filtering, we don't want this at all.
2022-01-16 09:44:28 -08:00
Sam Lantinga
85961b61a1
Disable Xbox axis deadzone handling by default
...
Fixes https://github.com/libsdl-org/SDL/issues/5227
2022-01-16 09:01:56 -08:00
Sam Lantinga
1a50334c46
Fixed Xbox One trigger axis zero point
2022-01-14 15:04:26 -08:00
Sam Lantinga
16f5b9e3c3
Filter jitter on Xbox One controllers when using raw input reports
2022-01-05 11:07:52 -08:00
Sam Lantinga
120c76c84b
Updated copyright for 2022
2022-01-03 09:40:21 -08:00
Sam Lantinga
66058bbbd5
Fixed exception accessing Bluetooth devices on Android 12
...
Since accessing Bluetooth prompts the user for permission on both Android and iOS, and we only need it for Steam Controller support, we'll leave it off by default. You can enable it by setting the hint SDL_HINT_JOYSTICK_HIDAPI_STEAM to "1" before calling SDL_Init()
Fixes https://github.com/libsdl-org/SDL/issues/4952
2021-11-15 16:52:56 -08:00
Cameron Gutman
afccabb881
joystick: Add capability flags for rumble and trigger rumble
...
When API limitations force us to guess, we favor a false positive (reporting
support when it doesn't exist) compared to a false negative.
2021-11-11 15:10:08 -08:00
Cameron Gutman
1ccfbf963e
joystick: Convert HasLED() into a generic GetCapabilities() function
2021-11-11 15:10:08 -08:00
Sam Lantinga
5b646cd19e
Build hidapi code into SDL as a new public API
...
This prevents conflicts with hidapi linked with applications, as well as allowing applications to make use of HIDAPI on Android and other platforms that might not normally have an implementation available.
2021-11-07 23:00:59 -08:00
Sam Lantinga
907943a236
Added support for the Xbox One S Controller with 5.x series firmware
2021-08-12 17:51:08 -07:00
Ozkan Sezer
7aec0b90ee
SDL_hidapi_xboxone.c: fix bogus 'uninitialized' warning from clang.
...
The last 'size == 50' check is always true anyway.
2021-08-13 01:56:56 +03:00
Sam Lantinga
6eb4ebb502
Simplified the HIDAPI Xbox One controller initialization
2021-08-12 15:49:33 -07:00
Sam Lantinga
584b89abe6
Added support for the color LED on the Xbox Elite Series 2 controller
2021-08-12 08:17:10 -07:00
Sam Lantinga
64882b2466
Added support for the Xbox One Elite 2 Controller with 5.x series firmware
2021-08-12 08:17:08 -07:00
Sam Lantinga
6af6950dbc
Added support for the Victrix Gambit Tournament Controller
2021-07-30 18:23:42 -07:00
Sam Lantinga
d135c0762f
Added SDL_GameControllerSendEffect() and SDL_JoystickSendEffect() to allow applications to send custom effects to the PS4 and PS5 controllers
...
See testgamecontroller.c for an example of a custom PS5 trigger effect
2021-07-08 13:22:41 -07:00
Sam Lantinga
afd100f02b
Added support for the PowerA Fusion Pro 2 and the PDP Xbox Series X Afterglow and Blue controllers
2021-06-18 17:37:46 -07:00
Sam Lantinga
5427f4861b
Added support for trigger rumble for all Microsoft Xbox One controllers
2021-02-11 17:28:07 -08:00
Ozkan Sezer
dc45a228b9
avoid some pedantic warnings in array initializers
2021-02-10 10:22:20 -05:00
Cameron Gutman
f4d58689e0
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.
2021-02-10 10:22:19 -05:00
Sam Lantinga
85235985fb
Fixed detecting the paddles on the Xbox Elite Series 1 controller
2021-02-10 10:22:19 -05:00
Sam Lantinga
e2f46ed8ef
Always lock the HIDAPI device when closing, in case rumble is pending
2021-01-14 23:49:20 -08:00
Sam Lantinga
a5dba7d3ab
Fixed Xbox One Series X share button incorrectly triggering on newer firmware
2021-01-08 09:54:52 -08:00
Sam Lantinga
9130f7c377
Updated copyright for 2021
2021-01-02 10:25:38 -08:00
Sam Lantinga
e65e4fd3ef
Fixed detecting the guide button on Xbox One S controllers over Bluetooth on Linux
2020-12-14 09:48:51 -08:00
Sam Lantinga
09909d029d
Fixed handling of BACK button on newer Xbox One S controllers
2020-12-03 19:44:47 -08:00
Sam Lantinga
54e5136b50
Refactored Xbox One Bluetooth protocol and verified Xbox One S, Xbox Series X, and Xbox One Elite Series 2 controllers
2020-12-03 18:17:04 -08:00
Sam Lantinga
517be80822
Implemented battery status for Bluetooth Xbox One controllers
...
Also switched the rumble loop count to 0xEB (one hour) to match Windows driver
2020-11-25 16:05:19 -08:00
Sam Lantinga
159d1b3df5
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.
2020-11-25 01:35:45 -08:00
Sam Lantinga
7d92b14f46
Simplified Xbox One controller initialization state, and don't query for the serial number.
2020-11-25 01:18:18 -08:00
Sam Lantinga
9fc4a4c92c
Revamped Xbox One HIDAPI init sequence
...
Added support for querying the controller serial number on newer firmware
2020-11-24 22:25:26 -08:00
Sam Lantinga
5b3616c325
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.
2020-11-23 18:24:05 -08:00
Sam Lantinga
ffb4d960b2
Disabled Xbox protocol debugging
2020-11-19 19:09:34 -08:00
Sam Lantinga
45f1437549
Experimenting with requesting the serial number on an Xbox One controller
2020-11-18 20:34:12 -08:00
Sam Lantinga
963d8b3f40
Fixed bits in the initial Xbox One protocol ack
2020-11-18 20:34:10 -08:00
Sam Lantinga
cd51a51f00
Updated with a better understanding of the Xbox One controller protocol
2020-11-18 20:34:08 -08:00
Sam Lantinga
fcb21aa883
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
2020-11-17 10:30:20 -08:00
Sam Lantinga
5c34c973e6
Clarify that we're using button indices, not using gamepad button names
2020-11-13 19:40:25 -08:00
Sam Lantinga
5b0d432942
Implemented trigger rumble in the HIDAPI Xbox One driver
2020-11-12 07:53:03 -08:00
Sam Lantinga
320a7587d7
Fixed compiler warnings
2020-11-11 19:26:59 -08:00
Sam Lantinga
1e2caac58b
Added SDL_JoystickRumbleTriggers() and SDL_GameControllerRumbleTriggers()
2020-11-11 18:57:37 -08:00
Sam Lantinga
e12457d8bf
Added support for the Xbox Series X controller to the HIDAPI driver
2020-11-10 12:26:30 -08:00
Sam Lantinga
c3dea23120
Added support for reading the paddles on a Xbox Elite Series 2 controller in Bluetooth mode
2020-11-09 22:39:33 -08:00
Sam Lantinga
009b62f1c2
Be explicit about mapping the new game controller paddle buttons
2020-11-07 02:22:15 -08:00
Sam Lantinga
3a3aaac221
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
2020-11-06 11:30:52 -08:00
Sam Lantinga
e555d45331
Added SDL_JoystickHasLED
...
Currently, this is only supported by the PS4 HIDAPI driver.
2020-11-05 11:07:54 -08:00
Ethan Lee
83cddd2ebc
Add SDL_JoystickSetLED.
...
Currently, this is only supported by the PS4 HIDAPI driver.
2020-04-30 11:57:29 -04:00
Sam Lantinga
b90b59279e
Added support for the Razer Atrox Arcade Stick
2020-04-17 21:30:58 -07:00
Sam Lantinga
dbcda0b212
Added support for the Razer Wolverine Ultimate
2020-04-17 21:30:56 -07:00