Ryan C. Gordon
8c165adde7
joystick: Remove force_centering flag; we handle this on disconnect now.
2020-04-07 23:17:27 -04:00
Sam Lantinga
4dea340ca7
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.
2020-03-16 12:23:38 -07:00
Sam Lantinga
db3b3a1d84
Added support for SDL hints in the game controller mapping database
2020-03-12 19:47:28 -07:00
Sam Lantinga
ad225047b6
Added Android SDK conditionals to game controller mappings
...
The Nintendo Switch Pro controller has a different mapping on Android 10 and newer
2020-02-17 14:15:47 -08:00
Sam Lantinga
dc1d3c2974
Catch both PS3 and PS4 motion controls and don't treat them as a game controller
2020-02-04 18:36:23 -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
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
Sylvain Becker
60d3965ece
Readability: remove redundant return, continue, enum declaration
2019-10-30 15:36:17 +01:00
Sylvain Becker
0f871c033c
Fixed bug 4843 - Passing NULL to memset in SDL_PrivateLoadButtonMapping
...
(Thanks!)
2019-10-23 09:53:23 +02:00
Ozkan Sezer
7a47c292c0
Fix bug 4746 - introduce SDL_zeroa macro.
2019-07-31 01:22:02 +03:00
Jimb Esser
0f148eb651
Fix polling left trigger reporting right trigger's values.
2019-03-16 18:12:26 -07:00
Sylvain Becker
82b2c849f0
Fixed bug 4024 - GameController error "Unexpected controller element"
...
If mapping string is terminated with a comma, there is no more values to parse.
2019-01-21 23:41:43 +01:00
Sam Lantinga
7b354dda76
Fixed compiler warning
2019-01-20 13:53:16 -08:00
Sylvain Becker
ede0fc4f4c
Fixed bug 4024 - remove trailing comma of Controller mappings
...
because it reports an error "Unexpected controller element"
2019-01-16 14:03:35 +01:00
Sam Lantinga
5e13087b0f
Updated copyright for 2019
2019-01-04 22:01:14 -08:00
Sam Lantinga
98829d37e8
Handle both "Sony Interactive Intertainment" and "Sony Computer Entertainment" when ignoring motion sensors
2018-12-11 19:50:58 -08:00
Sam Lantinga
70ce0f2e06
Added the hint SDL_HINT_GAMECONTROLLERCONFIG_FILE to specify a file to load at initialization containing SDL game controller mappings
2018-12-07 12:02:08 -08:00
Sam Lantinga
db320e460a
Fixed the PS4 motion controls showing up as a separate game controller on Linux
2018-12-04 14:21:29 -08:00
Ryan C. Gordon
62494a2e27
Merge SDL-ryan-batching-renderer branch to default.
2018-10-31 15:03:41 -04:00
Sam Lantinga
14329256cb
Generalized the XInput user index into a player index
2018-10-25 16:53:14 -07:00
Ryan C. Gordon
b262b0ebc9
Small stack allocations fall back to malloc if they're unexpectedly large.
2018-10-22 20:50:32 -04:00
Sam Lantinga
96259f1f85
Don't overwrite the default binding when changing the binding for a controller that was using the default.
2018-09-05 12:16:01 -07:00
Sam Lantinga
41ee51b9a8
Fixed updating bindings for controllers using the wildcard mappings
2018-10-04 15:23:42 -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
Sam Lantinga
5febdfcece
Fixed whitespace
2018-09-24 11:49:25 -07:00
Sam Lantinga
59a2d12cc3
Fixed creating an Android game controller mapping for HIDAPI devices on initialization
2018-09-17 11:35:22 -07:00
Sam Lantinga
6a7b0c27af
Fixed crash launching under Steam on Mac OS X
2018-09-14 12:41:29 -07:00
Sam Lantinga
361043a5f6
Actually left trigger is motion axis 17 and right trigger is motion axis 18, which will map in that order to SDL axes.
2018-05-23 17:15:33 -07:00
Sam Lantinga
c07656dbcb
Fixed default mapping for Android controller triggers (they were reversed)
2018-05-23 16:00:19 -07:00
Sam Lantinga
999af8099b
Merged latest changes from Steam Link app
2018-05-18 13:09:30 -07:00
Sam Lantinga
b41b9d34c7
Fixed return value
2018-03-19 14:52:53 -07:00
Sam Lantinga
8e062f6925
Generalized the handling of instantaneous guide button presses so there's a minimum of 100 ms between guide button press and release.
...
This happens with at least the following controllers: All Apple MFI controllers, ASUS Gamepad, XiaoMi Bluetooth Controller
2018-03-19 14:42:51 -07:00
Sam Lantinga
a8ac588549
Added SDL_GameControllerMappingForDeviceIndex() to get the mapping for a controller before it's opened
2018-03-07 13:30:40 -08:00
Sam Lantinga
9e651b6915
Try to dynamically create a default Android game controller mapping based on the buttons and axes on the controller.
...
Include the controller USB VID/PID in the GUID where possible, as we do on other platforms.
2018-03-06 14:51:50 -08:00
Sam Lantinga
003c0dce9c
Use the real controller name for game controllers on iOS and Apple TV
2018-03-02 10:56:21 -08:00
Sam Lantinga
e3cc5b2c6b
Updated copyright for 2018
2018-01-03 10:03:25 -08:00
Sam Lantinga
fee2469c65
Fixed bug 4005 - Android, SDL_IsGameController() crashes is index is out of range
...
Sylvain
On Android, if you give an invalid index to SDL_IsGameController(), it will crash in SDL_SYS_IsDPAD_DeviceIndex().
2017-12-19 10:48:29 -08:00
Sam Lantinga
e5cfa24182
Fixed default Android D-PAD mapping so the back button is treated as B
2017-12-16 10:40:47 -08:00
Sam Lantinga
a7d2d12c64
Fixed building on non-Android platforms
2017-11-01 10:07:04 -07:00
Sam Lantinga
a90be440e8
Added controller mapping for Android TV remotes
...
Also fixed the back button on the remote exiting the application
2017-11-01 10:06:58 -07:00
Sam Lantinga
d90fce3c9e
Exposed the joystick locking functions for multi-threaded access to the joystick API
2017-10-10 11:10:15 -07:00
Sam Lantinga
2657dfae49
Fixed crash in SDL_IsGameController() on Windows if called when a controller is being removed
2017-10-09 11:45:15 -07:00
Sam Lantinga
d828647944
Added stubs for simple Steam Controller support
2017-09-22 08:30:52 -07:00
Sam Lantinga
de91b1248f
Fixed bug 3745 - specify SDLCALL as the calling convention for API callbacks
...
Patches contributed by Ozkan Sezer
2017-08-14 06:28:21 -07:00
Sam Lantinga
ca5c304814
Fixed bug 3744 - missing SDLCALL in several functions
...
Ozkan Sezer
The attached patch adds missing SDLCALL to several functions, so that
they properly match the headers as intended.
2017-08-13 21:06:52 -07:00
Sam Lantinga
ea9bc659f5
Added check for XBOX in addition to Xbox and X-Box
2017-08-13 20:39:00 -07:00
Sam Lantinga
b425050baf
Fixed compiler warnings on Visual Studio 2013
2017-08-12 00:04:46 -07:00
Sam Lantinga
03250690d6
Added a private hint for Steam to bypass the controller filtering for the Steam virtual gamepad
2017-08-09 12:38:20 -07:00