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
Sylvain
cb9f85e8d0
Don't use "round", so that it's doesn't show up while searching for the function
2021-11-22 08:38:46 -08:00
Sylvain
d31251b014
use SDL's functions version inplace of libc version
2021-11-22 08:38:46 -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
Ozkan Sezer
a2c27d39cf
SDL_hidapi_switch.c (ConstructSubcommand): lose use of '&' on rumbleData
...
SwitchCommonOutputPacket_t->rumbleData is an array.
2021-11-13 17:56:28 +03:00
Ozkan Sezer
6ad0fb8462
SDL_hidapi_ps4.c, SDL_hidapi_ps5.c: use SDL_zeroa()
2021-11-13 17:55:10 +03:00
Ozkan Sezer
a948ff8494
SDL_hidapijoystick.c: worked around a bogus 'unreachable code' warning.
2021-11-13 11:50:02 +03: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
b9b0df40bf
Fixed Linux build
2021-11-11 12:52:40 -08:00
Sam Lantinga
c9ada1c142
Made HIDAPI device change notifications available via SDL_hid_device_change_count()
2021-11-11 12:46:10 -08:00
Sam Lantinga
2a6feb5011
Removed accidental debugging commit (thanks @DomGries!)
2021-11-08 07:10:38 -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
fe2fe29049
Backed out accidentally committed PR https://github.com/libsdl-org/SDL/pull/4849
2021-11-07 11:48:16 -08:00
Sam Lantinga
86bc65a741
Fixed non-Apple builds
2021-11-07 11:35:12 -08:00
Sam Lantinga
c501d159a9
Fixed range for Steam Controller sensor values
2021-10-03 14:10:21 -07:00
Sam Lantinga
ea1a2b94f2
Use the correct update rate for Steam Controller sensors
2021-10-02 09:13:29 -07:00
Sam Lantinga
8b74575267
Added support for the gyro and accelerometer on Steam Controllers
...
Fixes https://github.com/libsdl-org/SDL/issues/4577
2021-10-01 21:32:21 -07:00
Sam Lantinga
345c161feb
Fixed some accidental uses of external C runtime functions
2021-09-22 09:06:45 -07:00
Sam Lantinga
7ed7644a26
Fixed compiling HIDAPI Steam Controller support with C89 compiler
2021-09-07 17:37:47 -07:00
Sam Lantinga
503ea8e89f
Don't modify the Nintendo Switch home LED state by default
2021-08-25 14:42:16 -07: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
cec5a129f5
Fixed libudev hotplug notifications in the HIDAPI driver
2021-08-12 15:49:33 -07: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
Ryan C. Gordon
dd683073bb
hidapi: Patched to compile on QNX.
...
Fixes #4591 .
2021-08-06 15:13:40 -04:00
Sam Lantinga
9fdb06450d
Added support for the Joy-Con Charging Grip when SDL_HINT_JOYSTICK_HIDAPI_JOY_CONS is enabled
2021-08-04 11:34:06 -07:00
Sam Lantinga
6af6950dbc
Added support for the Victrix Gambit Tournament Controller
2021-07-30 18:23:42 -07:00
Sam Lantinga
b3a0174b26
Scale the values correctly based on the sensor type (thanks @meyraud705)
2021-07-29 14:25:13 -07:00
Sam Lantinga
a186a503e7
Added SDL_GameControllerGetSensorDataRate() to get the sensor update rate for a controller.
2021-07-29 06:43:39 -07:00
Sam Lantinga
2a53f8315a
Fixed controllers showing up under both MFI and HIDAPI drivers
...
The Game Controller Kit doesn't show the controllers at startup, so the HIDAPI driver sees them first and therefore gets preference when a controller is supported by both drivers.
This fixes bug https://github.com/libsdl-org/SDL/issues/4209
2021-07-26 23:29:20 -07:00
Sam Lantinga
8d527def81
Revert "hidapi_switch: Implement HD rumble effect ( #4538 )"
...
This reverts commit 19082b115b
, which broke rumble on the Nintendo Switch Pro controller
2021-07-26 10:18:18 -07:00
Narr the Reg
19082b115b
hidapi_switch: Implement HD rumble effect ( #4538 )
2021-07-26 10:00:53 -07:00
Sam Lantinga
3c9559f765
Don't try to rumble third-party Nintendo Switch Pro controllers
...
Sending rumble to the PowerA Spectra Nintendo Switch controller hangs input reports for a couple of seconds.
2021-07-24 19:43:56 -07:00
Sam Lantinga
94b7a87645
Added SDL_GameControllerType enumerations for the Amazon Luna and Google Stadia controllers
...
Fixes bug https://github.com/libsdl-org/SDL/issues/4019
2021-07-24 09:10:18 -07:00
german77
e6e8fe6d4e
hidapi_switch: Implement analog rumble
2021-07-24 01:06:05 -07:00
Sam Lantinga
384d86b584
Fixed compile warnings with Visual Studio
2021-07-23 23:48:23 -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
4a20dd3e54
Removed unnecessary comment, the mic button is in byte 16 on all firmware versions
2021-07-08 07:38:18 -07:00
Sam Lantinga
430bbcb87f
Added HIDAPI support for the Amazon Luna Controller connected over USB in DirectInput mode
2021-07-07 09:49:33 -07:00
Sam Lantinga
863f566941
Fixed reading thumbstick axes and mic button on the Amazon Luna Controller firmware version 305164320
2021-07-07 08:55:16 -07:00
Dimitriy Ryazantcev
17ed8d8085
Added HIDAPI backend for Amazon Luna Controller Model T28B69 connected via Bluetooth LE (VID:0171, PID:0419).
...
To enter Bluetooth pairing mode hold B and Action (button with circle) buttons for 3 seconds.
It works via usual HIDAPI if special filter driver is not installed:
https://www.amazon.com/gp/help/customer/display.html?nodeId=GZCT4CTFHXLHEB9T
With that driver installed it mimics Xbox One controller and works via XInput under Windows.
Under DInput this controller is not usable at all.
2021-07-07 08:31:12 -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
Dimitriy Ryazantcev
b81969d46f
Be more explicit about Xbox 360/One device ids.
...
When Xbox One/Series Controllers are connected via USB on Windows they all are using `XBOXGIP` driver and produce a special ProductID `0x02FF` (GIP software PID) for any connected controller.
On the other hand `Xbox 360 Wireless Controller Reciever` (PID 0x0719) is using `XUSB` driver and produces special ProductID `0x02A1` (XUSB software PID) for each connected Xbox 360 Wireless Controller.
Also fixed Xbox One Series X Controller comment.
2021-06-01 09:54:13 -07:00
Sam Lantinga
3fcaf5b4b3
Fixed incorrect axis scaling for Nintendo Switch controllers
2021-05-25 10:33:30 -07:00
Sam Lantinga
333c8e75f1
The PS5 driver supports Joystick LED
2021-05-17 11:54:05 -07:00
Steven Noonan
4535d65491
HIDAPI_UpdateDiscovery: only treat "add" and "remove" events as relevant
...
I have a buggy system which reports a udev "change" event for an empty
USB-C port every 0.14 seconds, which causes annoying frame hitches
because SDL decides that means it needs to do a libusb hid_enumerate,
which is slow (~25ms!) because of the get_usb_string() calls in there.
We only need to re-enumerate if we've seen a device added or removed, so
let's filter out the change event first.
Signed-off-by: Steven Noonan <steven@valvesoftware.com>
Signed-off-by: Sam Lantinga <slouken@libsdl.org>
2021-04-22 16:40:16 -07:00