Sam Lantinga
9c3d1602ab
Refactored code so SDL_GetJoystickGameControllerType() is called less during controller detection
2020-01-19 11:43:36 -08:00
Sam Lantinga
43aa1fa9e7
Added support for detecting previously unknown Xbox 360 and Xbox One controllers using the HIDAPI driver with libusb and Android
2020-01-18 11:21:14 -08:00
Sam Lantinga
a8780c6a28
Updated copyright date for 2020
2020-01-16 20:49:25 -08:00
Sam Lantinga
46e1377d49
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()
2019-12-20 20:12:03 -08:00
Sam Lantinga
6b76787209
Make sure the Xbox 360 driver doesn't try to talk to the wireless controllers
2019-12-19 21:45:44 -08:00
Sam Lantinga
1db56619de
Fixed rare infinite rumble in HIDAPI controller driver
2019-12-19 18:03:28 -08:00
Sam Lantinga
e7f7e3f40f
Refactored HIDAPI controller code to support dongles and hubs that dynamically attach controllers
2019-12-19 15:01:30 -08:00
Sam Lantinga
52b6ab2196
Added support for the SteelSeries Stratus Duo
2019-12-16 17:11:23 -08:00
Sam Lantinga
a7ae9175c3
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.
2019-12-16 10:20:03 -08:00
Sam Lantinga
1ac7eabaca
Fixed comment typo
2019-12-12 14:25:02 -08:00
Sam Lantinga
8b50dcb21b
Use the controller product string instead of hard-coding controller names
2019-12-11 17:46:54 -08:00
Sam Lantinga
0b863f8a5c
Sorted controller entries by type and VID/PID to more easily find entries in the list
2019-11-27 15:27:19 -08:00
Sam Lantinga
733f25252a
Fixed build
2019-11-22 14:09:24 -08:00
Sam Lantinga
b5aff9d7c3
Added SDL_GameControllerTypeForIndex() and SDL_GameControllerGetType() to return the type of controller attached.
2019-11-22 13:12:12 -08:00
Sam Lantinga
9da4bfc141
Added support for the Power A Nintendo Switch Enhanced Wireless Controller
2019-10-22 10:57:07 -07:00
Sam Lantinga
be6cda9f95
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.
2019-06-19 15:54:21 -07:00
Zack Middleton
82af42761e
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().
2019-06-08 13:36:59 -07:00
Cameron Gutman
5cb14f4467
Ignore Xbox One S gamepads with older firmware in HIDAPI
...
This older firmware had a different HID report style that we don't support.
2019-04-30 20:37:49 -07:00
Ethan Lee
c528615626
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.
2019-03-12 20:27:54 -04:00
Sam Lantinga
5e13087b0f
Updated copyright for 2019
2019-01-04 22:01:14 -08:00
Sam Lantinga
9aa8a75d26
Fixed building with Xcode 10.0
2018-09-28 01:18:54 -07:00
Sam Lantinga
d07fe7ad95
Removed button logging message
2018-09-21 09:41:21 -07:00
Sam Lantinga
e8b0859f17
Added missing call to WindowsDeleteString()
2018-09-20 15:55:52 -07:00
Sam Lantinga
600126c90e
Added experimental support for Windows.Gaming.Input
2018-09-19 10:03:40 -07:00
Sam Lantinga
34237b80f4
Better fix to make sure we're only returning controllers from the HIDAPI joystick API
2018-08-31 18:10:21 -07:00
Sam Lantinga
fda14741ac
Fixed Xbox One S Bluetooth support on Mac OS X
2018-08-29 18:56:54 -07:00
Sam Lantinga
7d3a7ef827
Use a single hint for both Xbox 360 and Xbox One controllers, since they are often the same driver.
2018-08-15 23:35:54 -07:00
Sam Lantinga
a2add1f683
Use the HIDAPI driver for Xbox controllers on Windows, and determine the XInput mapping at runtime for extended functionality like rumble and guide button.
2018-08-15 23:14:45 -07:00
Sam Lantinga
3f5ff751fe
Use a unified name list for Xbox 360 and Xbox One controllers for drivers that can handle both
2018-08-15 23:14:43 -07:00
Sam Lantinga
aad340eb86
Added Windows Xbox controller state packet handling, for completeness.
2018-08-15 19:53:36 -07:00
Sam Lantinga
63107524f6
Fixed input from the Steam Virtual Gamepad on Mac OS X
2018-08-15 19:53:34 -07:00
Sam Lantinga
51902010c6
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
2018-08-15 19:53:26 -07:00
Sam Lantinga
d2042e1ed4
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
2018-08-09 16:00:17 -07:00