|
b90b5927
|
2020-04-17T21:30:58
|
|
Added support for the Razer Atrox Arcade Stick
|
|
dbcda0b2
|
2020-04-17T21:30:56
|
|
Added support for the Razer Wolverine Ultimate
|
|
b6afbe63
|
2020-04-07T09:38:57
|
|
Added SDL_log.h to SDL_internal.h so logging is available everywhere
|
|
47da53b9
|
2020-03-16T14:49:20
|
|
Fix compiler warnings
|
|
4dea340c
|
2020-03-16T12:23:38
|
|
Fixed bug 4477 - Support more than 4 XInput-capable devices on Windows
Jimb Esser
Add new RawInput controller API, and improved correlation with XInput/WGI
Reorder joystick init so drivers can ask the others if they handle a device reliably
Do not poll disconnected XInput devices (major perf issue)
Fix various cases where incorrect correlation could happen
Simple mechanism for propagating unhandled Guide button presses even before guaranteed correlation
Correlate by axis motion as well as button presses
Fix failing to zero other trigger
Fix SDL_HINT_JOYSTICK_HIDAPI not working if set before calling SDL_Init()
Add missing device to device names
Disable RawInput if we have a mismatch of XInput-capable but not RawInput-capable devices
Updated to SDL 2.0.13 code with the following notes:
New HID driver: xbox360w - no idea what that is, hopefully urelated
SDL_hidapijoystick.c had been refactored to couple data handling logic with device opening logic and device lists caused some problems, yields slightly uglier integration than previously when the 360 HID device driver was just handling the data.
SDL_hidapijoystick.c now often pulls the device off of the joystick_hwdata structure for some rumble logic, but it appears that code path is never reached, so probably not a problem.
Looks like joystick_hwdata was refactored to not include a mutex in other drivers, maintainers may want to do the same refactor here if that's useful for some reason.
Something changed in how devices get names, so getting generic names.
Had to fix a (new?) bug where removing an XInput controller caused existing controllers (that moved to a new XInput index) to get identified as 0x045e/0x02fd ("it's probably Bluetooth" in code), rendering the existing HIDAPI_IsDevicePresent and new RAWINPUT_IsDevicePresent unreliable.
|
|
879f137a
|
2020-03-13T19:00:24
|
|
Added support for the older Xbox One S Bluetooth controller report format
|
|
9fdc6cf3
|
2020-03-10T18:34:33
|
|
Removed Xbox HIDAPI debug code
|
|
281d05a6
|
2020-03-04T09:42:10
|
|
Fixed handling the guide button with both V1 and V2 of the Xbox One Bluetooth wireless protocols
|
|
756d2073
|
2020-03-02T09:26:12
|
|
Updated the HIDAPI Xbox One driver with support for Bluetooth Xbox One controllers
|
|
20d67446
|
2020-02-27T09:33:32
|
|
Xbox One controller rumble doesn't need synchronization if you use a packet counter of 0
|
|
81256207
|
2020-02-07T11:02:34
|
|
Update for bug 4923 - Calling SDL_GameControllerRumble() often takes 8 ms
meyraud705
Dualshock4 on bluetooth need 78 bytes for the rumble data while SDL_HIDAPI_RumbleRequest can only hold 64 bytes.
'volatile' is not meant for thread synchronization.
The list of rumble request could grow infinitely if user call SDL_JoystickRumble too much. The documentation says "Each call to this function cancels any previous rumble effect", so overwriting pending request seem like a good idea.
|
|
1684606f
|
2020-02-04T15:26:56
|
|
Fixed long delay on main thread caused by blocking rumble writes in HIDAPI drivers
There is now a thread that handles all HIDAPI rumble requests and a lock that guarantees that we're not reading and writing the device at the same time.
|
|
6efebf17
|
2020-02-04T12:48:53
|
|
Moved rumble expiration to the main joystick handling level, and prevent sending the driver layer duplicate rumble requests.
|
|
c9f672fd
|
2020-01-23T22:24:24
|
|
Fixed compiler warnings
|
|
443bce74
|
2020-01-22T11:28:35
|
|
Added support for the paddles on the Xbox One Elite Series 1 controller
|
|
25c88ea9
|
2020-01-20T13:53:40
|
|
The Xbox One 0x01 initialization packet is an ack packet
|
|
9c3d1602
|
2020-01-19T11:43:36
|
|
Refactored code so SDL_GetJoystickGameControllerType() is called less during controller detection
|
|
43aa1fa9
|
2020-01-18T11:21:14
|
|
Added support for detecting previously unknown Xbox 360 and Xbox One controllers using the HIDAPI driver with libusb and Android
|
|
a8780c6a
|
2020-01-16T20:49:25
|
|
Updated copyright date for 2020
|
|
c6817a2c
|
2020-01-16T15:32:41
|
|
Added support for the paddles on the Xbox One Elite Series 2 controller
|
|
4e1cc124
|
2020-01-16T15:32:39
|
|
Improved Xbox One controller initialization
|
|
669729a8
|
2020-01-15T22:18:31
|
|
Improved Xbox One controller initialization sequence
This sequence works across Microsoft, PowerA, PDP, and HORI controllers.
The newer Microsoft XBox firmware requires synchronizing the rumble sequence number, when SDL sees it after the initial connect
The Razer Wildcat controller requires waiting for init responses before continuing the initialization sequence.
The PDP Battlefield 1 controller takes over a second to be ready for initialization, and if initialization is attempted before then, it will fail.
|
|
d2cda502
|
2020-01-12T17:22:24
|
|
Send the full Xbox One controller sequence for Microsoft controllers
This switches Bluetooth controllers back into USB report mode for the latest Xbox One S and Xbox One Elite Series 2 firmware
|
|
5d28c315
|
2020-01-09T14:53:34
|
|
Only initialize Xbox One controllers once they're ready for initialization (or if they are silent until init)
This fixes the Hyperkin Duke Xbox One controller showing the Xbox startup animation every time an SDL application launches
|
|
46e1377d
|
2019-12-20T20:12:03
|
|
Automatically assign player indexes to game controllers, and allow changing the player index for game controllers and joysticks.
Added the functions SDL_JoystickFromPlayerIndex(), SDL_JoystickSetPlayerIndex(), SDL_GameControllerFromPlayerIndex(), and SDL_GameControllerSetPlayerIndex()
|
|
1db56619
|
2019-12-19T18:03:28
|
|
Fixed rare infinite rumble in HIDAPI controller driver
|
|
e7f7e3f4
|
2019-12-19T15:01:30
|
|
Refactored HIDAPI controller code to support dongles and hubs that dynamically attach controllers
|
|
a7ae9175
|
2019-12-16T10:20:03
|
|
Fixed bug 4898 - No rumble because of integer overflow in SDL_JoystickRumble
meyraud705
On a Dualshock 4 controller using hidapi driver, calling SDL_JoystickRumble with a duration too long (SDL_HAPTIC_INFINITY for example) causes the rumble to stop immediately.
This happens because of integer overflow on line 301 of SDL_hidapi_ps4.c
(https://hg.libsdl.org/SDL/file/a3077169ad23/src/joystick/hidapi/SDL_hidapi_ps4.c#l301), which sets expiration time in the past.
|
|
c2b6d6f9
|
2019-12-13T16:12:37
|
|
Enable the LED on PowerA Xbox One controllers
|
|
8b50dcb2
|
2019-12-11T17:46:54
|
|
Use the controller product string instead of hard-coding controller names
|
|
82d2c357
|
2019-12-09T16:52:11
|
|
Fixed rumble after Xbox controller initialization
When we initialize the controller it has an internal rumble sequence number, and if our rumble sequence number doesn't match that, rumble won't happen. To fix that we cycle through the range of sequence numbers, and at some point we'll match up with the controller's sequence number and it'll roll forward until it matches our next rumble sequence number.
|
|
3d34750c
|
2019-12-09T13:54:05
|
|
The PowerA Mini controller blocks while writing feature reports, so don't try to use the HIDAPI driver for it on Linux
|
|
2fd3f756
|
2019-11-28T11:44:17
|
|
Fixed trying to use the HIDAPI driver for the original Xbox One S Bluetooth controller
|
|
4a776138
|
2019-11-27T18:26:57
|
|
Added the full Xbox One Elite Series 2 controller initialization sequence, to start input reports after switching out of Bluetooth mode.
|
|
8e153922
|
2019-11-22T17:46:30
|
|
This packet didn't end up being needed to initialize input for the Xbox One Elite Series 2 controller
|
|
733f2525
|
2019-11-22T14:09:24
|
|
Fixed build
|
|
b5aff9d7
|
2019-11-22T13:12:12
|
|
Added SDL_GameControllerTypeForIndex() and SDL_GameControllerGetType() to return the type of controller attached.
|
|
c0650aca
|
2019-11-21T14:04:48
|
|
Added support for the PDP Battlefield One controller
|
|
68d8fc5c
|
2019-11-18T15:46:13
|
|
Added support for the Xbox One Elite Series 2 controller in wired mode
|
|
14495644
|
2019-11-18T11:44:51
|
|
Added identifiers for the Xbox One Elite Series 2 controller
|
|
a9ac9e38
|
2019-11-16T19:58:29
|
|
Don't try to use this driver with the Xbox One S in Bluetooth mode on Linux
|
|
9ca53730
|
2019-11-16T19:55:53
|
|
Added support for the Xbox One S controller in Bluetooth mode on Linux
|
|
9da4bfc1
|
2019-10-22T10:57:07
|
|
Added support for the Power A Nintendo Switch Enhanced Wireless Controller
|
|
be6cda9f
|
2019-06-19T15:54:21
|
|
Rolling back GameCube HIDAPI support
It causes the HIDAPI devices to always be opened on enumeration, which causes crashes in the Windows drivers when multiple applications are reading and writing at the same time. We can revisit this after 2.0.10 release.
|
|
82af4276
|
2019-06-08T13:36:59
|
|
hidapi: Use GameCube adapter controller port for player index
The Nintendo USB GameCube adapter has four controller ports. Return
the port number as 0 to 3 from SDL_JoystickGetPlayerIndex() and
SDL_JoystickGetDevicePlayerIndex().
|
|
c5286156
|
2019-03-12T20:27:54
|
|
hidapi: Add support for Wii U/Switch USB GameCube controller adapter.
Note that a single USB device is responsible for all 4 joysticks, so a large
rewrite of the DeviceDriver functions was necessary to allow a single device to
produce multiple joysticks.
|
|
5e13087b
|
2019-01-04T22:01:14
|
|
Updated copyright for 2019
|
|
34237b80
|
2018-08-31T18:10:21
|
|
Better fix to make sure we're only returning controllers from the HIDAPI joystick API
|
|
16ccff3c
|
2018-08-29T20:23:36
|
|
Fixed whitespace
|
|
fda14741
|
2018-08-29T18:56:54
|
|
Fixed Xbox One S Bluetooth support on Mac OS X
|
|
7d3a7ef8
|
2018-08-15T23:35:54
|
|
Use a single hint for both Xbox 360 and Xbox One controllers, since they are often the same driver.
|
|
3f5ff751
|
2018-08-15T23:14:43
|
|
Use a unified name list for Xbox 360 and Xbox One controllers for drivers that can handle both
|
|
63107524
|
2018-08-15T19:53:34
|
|
Fixed input from the Steam Virtual Gamepad on Mac OS X
|
|
51902010
|
2018-08-15T19:53:26
|
|
Remove the HIDAPI device if we get a read error from it
This fixes detecting PS4 controller disconnect on Mac OS X, where there isn't any device removed notification
|
|
d2042e1e
|
2018-08-09T16:00:17
|
|
Added HIDAPI joystick drivers for more consistent support for Xbox, PS4 and Nintendo Switch Pro controller support across platforms.
Added SDL_GameControllerRumble() and SDL_JoystickRumble() for simple force feedback outside of the SDL haptics API
|