Sam Lantinga
fb4a406af2
Don't put 'm' in the GUID for Xbox and PS4 controllers on iOS
2020-11-09 18:45:22 -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
749062e72b
Implemented SDL_GameControllerSetLED() for iOS/tvOS
2020-11-06 16:53:13 -08:00
Sam Lantinga
faeac6e86c
Added additional game controller button support on iOS/tvOS
2020-11-06 16:42:46 -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
d9aea0c3a0
Update the existing haptic player when we rumble on iOS
2020-10-15 10:13:42 -07:00
Sam Lantinga
a558409b2e
Only include CoreHaptics if we're building with rumble support
2020-10-13 21:08:18 -07:00
Sam Lantinga
75d5be974c
Fixed compiling with an older iOS SDK
2020-10-13 21:08:17 -07:00
Sam Lantinga
6b62494ee4
Added support for controller battery status on iOS 14
2020-10-13 21:08:15 -07:00
Sam Lantinga
1b31e9f6dc
Added support for game controller rumble on iOS 14
2020-10-13 21:08:13 -07:00
Sam Lantinga
2d7b33cb41
Added support for the controller home button on iOS 14
2020-10-13 21:08:11 -07:00
Sam Lantinga
345b4d7e14
Fixed bug 5161 - Autodetect controller mappings based on the Linux Gamepad Specification
...
Jan Bujak
I wrote a new driver for my gamepad on Linux. I'd like SDL to support it out-of-box, as currently it just treats it as a generic joystick instead of a gamepad. From what I can see the only way to do that is to either 1) pick one of the already supported controllers' PID, VID and button layouts and have my driver send that (effectively lying that it's something else), or 2) submit a preconfigured, hardcoded mapping to SDL.
Both of those, in my opinion, are silly when we already have the Linux Gamepad Specification which standarizes this:
https://www.kernel.org/doc/html/v4.15/input/gamepad.html
Unfortunately SDL doesn't make use of it currently. So I've took it upon myself to add it; patch is in the attachments.
Basically what the patch does is that if SDL finds no built-it controller mappings for a given joystick it then asks the joystick backend to autodetect it, and that uses the relevant evdev bits to figure out which button/axis is which. (See the specs for more details.)
With this patch applied my own driver for my controller works out-of-box with SDL with no extra configuration and is correctly recognized as a gamepad; this is also going to be the case for any other driver which follows the Linux Gamepad Specification.
2020-05-29 13:37:21 -07:00
Sam Lantinga
e9f567c707
Fixed building on iOS with MFI controllers disabled
2020-05-27 10:14:08 -07:00
Sam Lantinga
c44473ba73
Unified code to standardize joystick names
2020-03-12 19:47:30 -07:00
Sam Lantinga
6efebf1768
Moved rumble expiration to the main joystick handling level, and prevent sending the driver layer duplicate rumble requests.
2020-02-04 12:48:53 -08:00
Sam Lantinga
c9c89783cb
Miscellaneous pending fixes
2020-01-29 20:09:08 -08:00
Sam Lantinga
a8780c6a28
Updated copyright date for 2020
2020-01-16 20:49:25 -08:00
Sam Lantinga
cb800d1c27
Fixed compiler warning
2020-01-13 22:05:56 -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
135a90539b
Fixed the Apple TV remote menu button on tvOS 13.2 (thanks Romain Tisserand)
2019-12-06 13:48:13 -08:00
Sam Lantinga
7a51ad6a50
Fixed the game controller menu button on tvOS 13.2 (thanks Romain Tisserand)
2019-12-06 13:48:10 -08:00
Ryan C. Gordon
73536d93ea
ios: Fixed MFi guide button not being detected (thanks, Caleb!).
...
Fixes Bugzilla #4721 .
2019-07-12 21:28:43 -04:00
Sam Lantinga
4eb3c0c387
Added support for Xbox and PS4 wireless controllers on iOS and tvOS
...
Also implemented SDL_JoystickGetDevicePlayerIndex() on iOS and tvOS, and added support for reading the new menu button state available in iOS and tvOS 13.
2019-06-14 13:56:52 -07:00
Sam Lantinga
20ec866484
Added support for the Rotor Riot gamepad, and upcoming Xbox and PS4 controller support on iOS and tvOS
...
Patch contributed by Nat Brown
2019-06-06 08:20:53 -07:00
Alex Szpakowski
65e07b3884
iOS/tvOS: fix support for SDL_GameControllerGetButton(controller, GUIDE) with MFi controllers (thanks Caleb!)
...
Fixes bug #4463 .
2019-01-31 19:52:47 -04:00
Sam Lantinga
5e13087b0f
Updated copyright for 2019
2019-01-04 22:01:14 -08:00
Sam Lantinga
14329256cb
Generalized the XInput user index into a player index
2018-10-25 16:53:14 -07:00
Sam Lantinga
888bf1af69
Worked around bug with Sony PS Now PS3 controller where DirectInput polling will continue to return success after the controller is unplugged.
...
The code is now reliant on SDL_PrivateJoystickAdded() and SDL_PrivateJoystickRemoved() being called correctly when devices are added or removed on Windows
2018-08-09 16:03:50 -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
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
129431b4f4
Delay delivery of the pause button release on MFI controllers so it doesn't happen in the same frame as the button press
2018-03-08 16:32:22 -08:00
Sam Lantinga
a2c1d83c02
Include a USB VID/PID for Apple MFI controllers
...
This is just placeholder VID/PID, but allows code that works with VID/PID to identify the MFI controllers easily.
2018-03-07 18:09:58 -08:00
Sam Lantinga
73c26c204c
Send Apple TV remote input as key events unless it's opened as a joystick, to match Android behavior.
2018-02-06 16:43:31 -08:00
Sam Lantinga
f59b9c8b13
Replaced SDL_HINT_APPLE_TV_REMOTE_SWIPES_AS_ARROW_KEYS with SDL_HINT_TV_REMOTE_AS_JOYSTICK which controls whether remotes on iOS and Android are interpreted as joysticks (the default) or as return/escape/arrow keys.
2018-02-06 15:03:38 -08:00
Sam Lantinga
e3cc5b2c6b
Updated copyright for 2018
2018-01-03 10:03:25 -08: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
8f78f5bb94
Fixed build on Apple TV
2017-02-02 16:56:02 -08:00
Sam Lantinga
45b774e3f7
Updated copyright for 2017
2017-01-01 18:33:28 -08:00
Sam Lantinga
ad26769cd7
Fixed compile errors on various platforms
2016-12-22 18:43:00 -07:00
Philipp Wiesemann
97aa577589
Fixed empty parameter list in signatures of internal functions.
2016-11-16 22:08:51 +01:00
Sam Lantinga
27d4f09929
Implemented SDL_GetHintBoolean() to make it easier to check boolean hints
2016-10-07 23:40:44 -07:00
Alex Szpakowski
a96b6f2104
Added a new hint SDL_HINT_APPLE_TV_REMOTE_ALLOW_ROTATION.
...
When set to "1", the orientation of the Apple TV remote affects the axes of the corresponding SDL joystick. It is "0" (disabled) by default.
2016-09-17 01:31:07 -03:00
Sam Lantinga
925859aaa6
Fixed accidental call to SDL_PrivateJoystickHat()
2016-09-13 18:43:55 -07:00
Alex Szpakowski
f050576665
Initial Apple TV / tvOS support.
...
The Apple TV remote is currently exposed as a joystick with its touch surface treated as two axes. Key presses are also generated when its buttons and touch surface are used.
A new hint has been added to help deal with deciding whether to background the app when the remote's menu button is pressed: SDL_HINT_APPLE_TV_CONTROLLER_UI_EVENTS.
2016-09-13 22:18:06 -03:00
Ryan C. Gordon
35e564a694
ios: patched to compile.
2016-08-26 15:46:29 -04:00
Sam Lantinga
ad1bfea5a0
Added SDL_PrivateJoystickAdded() and SDL_PrivateJoystickRemoved()
...
Updated the removal code to iterate over all joystick add messages instead of just the first one.
2016-08-26 12:18:08 -07:00
Sam Lantinga
42065e785d
Updated copyright to 2016
2016-01-02 10:10:34 -08:00
Alex Szpakowski
cb15bb4cfa
iOS: Set the player index of MFi gamepads when the user first presses a button, rather than when it's programatically opened.
2015-12-11 16:41:59 -04:00