|
277b033e
|
2022-08-22T19:28:21
|
|
Refactor joystick GUID creation
|
|
c1e08739
|
2022-08-22T16:46:55
|
|
Added the CRC of the joystick name to the GUID
This will make it possible to have mappings for different controllers
that have the same VID/PID. This happens frequently with some generic
controller boards that have been reused in many products.
Fixes https://github.com/libsdl-org/SDL/issues/6004
|
|
8f05b4f8
|
2022-08-08T08:26:21
|
|
Fixed iOS/tvOS build
|
|
4990bd05
|
2022-07-27T16:17:32
|
|
Added debug code to show available inputs on iOS/tvOS controllers
|
|
f9beef76
|
2022-07-22T18:58:29
|
|
Added support for the Nintendo Switch Joy-Con Controllers on iOS and tvOS 16
|
|
aad7ef6e
|
2022-07-22T10:58:34
|
|
Added support for the Nintendo Switch Pro Controller on iOS and tvOS 16
|
|
cef1514b
|
2022-07-17T09:07:04
|
|
Fixed some Xcode warnings
|
|
6c536afd
|
2022-06-27T15:43:17
|
|
Fix C89 declaration for macOS modules.
Since Clang 14, `-Wdeclaration-after-statement` is enforced on every
standard.
|
|
a3c1ca1f
|
2022-05-06T09:07:36
|
|
Added support for the Backbone One guide button
The guide button is activated on a long press (> 400ms)
|
|
d1a3981b
|
2022-05-02T15:22:46
|
|
Fix crash when reading background events for MFi controllers on macOS
Enabling GCController.shouldMonitorBackgroundEvents to read background events
for MFi controllers before receiving the first GCControllerDidConnectNotification
is apparently a no-go on macOS (12.3.1 for me), and would crash on attempt.
Apple's documentation is... not great, and doesn't point this out.
This waits for IOS_AddMFIJoystickDevice() to get called down the chain from GCControllerDidConnectNotification, and enables GCController.shouldMonitorBackgroundEvents
if it hadn't been already.
On iOS and tvOS, GCController.shouldMonitorBackgroundEvents is ignored, so
there's no need to check their versions.
|
|
2ccb0dfd
|
2022-04-13T15:39:29
|
|
Check for macOS 10.16 to support apps built with older macOS SDKs
|
|
e551384a
|
2022-04-26T14:54:14
|
|
Added functions to get the platform dependent name for a joystick or game controller
|
|
8986efd6
|
2022-04-22T14:21:46
|
|
Added support for the Backbone One controller on iOS
|
|
6a787619
|
2022-03-08T18:42:13
|
|
Allow reading background events for MFi controllers
|
|
7935cfac
|
2022-02-08T18:55:10
|
|
SDL_mfijoystick.m: use __typeof instead of typeof.
Fixes https://github.com/libsdl-org/SDL/issues/5319
|
|
120c76c8
|
2022-01-03T09:40:00
|
|
Updated copyright for 2022
|
|
a4c04ad2
|
2021-11-30T10:32:21
|
|
Fixed building with iOS SDK prior to 13.0
Fixes https://github.com/libsdl-org/SDL/pull/5045
|
|
b9951083
|
2021-11-24T13:04:50
|
|
SDL_mfijoystick.m: Fix -Wshadow warning
|
|
ee2afa00
|
2021-11-22T05:11:10
|
|
SDL_mfijoystick.m: fix build using older toolchains
Fixes https://github.com/libsdl-org/SDL/issues/4992
Fixes https://github.com/libsdl-org/SDL/issues/4958
|
|
afccabb8
|
2021-11-11T12:12:05
|
|
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.
|
|
1ccfbf96
|
2021-11-11T11:13:08
|
|
joystick: Convert HasLED() into a generic GetCapabilities() function
|
|
86bc65a7
|
2021-11-07T11:35:12
|
|
Fixed non-Apple builds
|
|
637bcd0b
|
2021-11-07T11:19:07
|
|
Fixed build warnings
|
|
e1435826
|
2021-11-07T11:16:48
|
|
Cleanup sfSymbolName support and add them to the dynamic API functions
|
|
149e5c65
|
2021-10-03T12:49:36
|
|
Support returning sfSymbolsName for gamepad controls on macOS / iOS / tvOS
|
|
f3fd1ffb
|
2021-10-20T15:18:03
|
|
Fixed crash if SDL API functions are called on a disconnected controller on iOS
|
|
ff85d4fb
|
2021-09-08T17:51:47
|
|
Fixed Xbox Series X controller being detected by both IOKit and GCController on macOS
|
|
fbc36490
|
2021-08-14T22:29:05
|
|
Use the new SDL_clamp() macro where sensible
There were a few places throughout the SDL code where values were
clamped using SDL_min() and SDL_max(). Now that we have an SDL_clamp()
macro, use this instead.
|
|
e42e9a12
|
2021-08-13T20:48:56
|
|
Fixed build
|
|
a186a503
|
2021-07-29T06:43:39
|
|
Added SDL_GameControllerGetSensorDataRate() to get the sensor update rate for a controller.
|
|
2a53f831
|
2021-07-26T23:29:20
|
|
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
|
|
46869db0
|
2021-07-26T23:27:13
|
|
Fixed controller rumble on macOS
Needed to add a strong reference to the haptics engine
|
|
947ad6e1
|
2021-07-12T17:57:21
|
|
Added support for the Xbox Series X controller on iOS and tvOS
|
|
d135c076
|
2021-07-08T13:22:41
|
|
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
|
|
9231f1f1
|
2021-05-07T12:29:03
|
|
Added support for the PS5 controller on iOS and tvOS
|
|
0bdf4f95
|
2021-03-22T19:19:01
|
|
Disable system gestures on MFi controllers while they're open, so we get access to the back button, etc.
|
|
9130f7c3
|
2021-01-02T10:25:38
|
|
Updated copyright for 2021
|
|
637d425e
|
2020-12-15T00:11:10
|
|
whitespace.
|
|
cb361896
|
2020-12-09T07:16:22
|
|
Fixed bug 5235 - All internal sources should include SDL_assert.h
Ryan C. Gordon
We should really stick this in SDL_internal.h or something so it's always available.
|
|
59f28b7f
|
2020-12-03T18:17:01
|
|
Fixed whitespace
|
|
6a7f29cd
|
2020-11-25T11:31:17
|
|
Fixed compiling on tvOS
|
|
e4b7d9a2
|
2020-11-24T07:56:59
|
|
Removed usage of TARGET_OS_OSX for building with older SDKs
|
|
a5cde4cb
|
2020-11-24T07:29:55
|
|
Fixed trying to use @available() on older SDK
|
|
97782e6c
|
2020-11-24T07:11:49
|
|
Don't try to call IOS_SupportedHIDDevice() if it's not defined
|
|
a063b9fb
|
2020-11-24T07:06:31
|
|
Fixed compiler warning
|
|
c63bbb06
|
2020-11-24T06:55:33
|
|
Including SDL_config_iphoneos.h enables MFI controller code
|
|
1e943e2a
|
2020-11-23T22:59:22
|
|
Fixed building with an older SDK and macOS target
|
|
62e39b5f
|
2020-11-23T20:57:14
|
|
Fixed building with an older SDK and macOS target
|
|
fd894467
|
2020-11-21T14:13:26
|
|
Fixed building on Mac OS X on the command line and with an older macOS SDK
|
|
1df593fb
|
2020-11-21T13:15:33
|
|
Fixed bug 5355 - Add GameController Framework support to macOS
C.W. Betts
This patch adds support to the GameController framework on macOS Big Sur and later, adding support for MFi controllers as well as rumble support for PS4 and Xbox One. There is some code to make sure that the IOKit joystick handler doesn't include two controllers at once.
While the GameController framework is present in earlier versions of macOS, there was no public, approved way of checking if a specific IOHIDDevice is a controller that GameController could handle. This was changed in Big Sur.
|
|
fcb21aa8
|
2020-11-17T10:30:20
|
|
Added API for sensors on game controllers
Added support for the PS4 controller gyro and accelerometer on iOS and HIDAPI drivers
Also fixed an issue with the accelerometer on iOS having inverted axes
|
|
9f51fad3
|
2020-11-13T18:01:29
|
|
Added support for the touchpad on PS4 and PS5 controllers
|
|
1e2caac5
|
2020-11-11T18:57:37
|
|
Added SDL_JoystickRumbleTriggers() and SDL_GameControllerRumbleTriggers()
|
|
fb4a406a
|
2020-11-09T18:45:22
|
|
Don't put 'm' in the GUID for Xbox and PS4 controllers on iOS
|
|
009b62f1
|
2020-11-07T02:22:15
|
|
Be explicit about mapping the new game controller paddle buttons
|
|
749062e7
|
2020-11-06T16:53:13
|
|
Implemented SDL_GameControllerSetLED() for iOS/tvOS
|
|
faeac6e8
|
2020-11-06T16:42:46
|
|
Added additional game controller button support on iOS/tvOS
|
|
e555d453
|
2020-11-05T11:07:54
|
|
Added SDL_JoystickHasLED
Currently, this is only supported by the PS4 HIDAPI driver.
|
|
d9aea0c3
|
2020-10-15T10:13:42
|
|
Update the existing haptic player when we rumble on iOS
|
|
a558409b
|
2020-10-13T21:08:18
|
|
Only include CoreHaptics if we're building with rumble support
|
|
75d5be97
|
2020-10-13T21:08:17
|
|
Fixed compiling with an older iOS SDK
|
|
6b62494e
|
2020-10-13T21:08:15
|
|
Added support for controller battery status on iOS 14
|
|
1b31e9f6
|
2020-10-13T21:08:13
|
|
Added support for game controller rumble on iOS 14
|
|
2d7b33cb
|
2020-10-13T21:08:11
|
|
Added support for the controller home button on iOS 14
|
|
345b4d7e
|
2020-05-29T13:37:21
|
|
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.
|
|
e9f567c7
|
2020-05-27T10:14:08
|
|
Fixed building on iOS with MFI controllers disabled
|
|
83cddd2e
|
2020-04-30T11:57:29
|
|
Add SDL_JoystickSetLED.
Currently, this is only supported by the PS4 HIDAPI driver.
|
|
c44473ba
|
2020-03-12T19:47:30
|
|
Unified code to standardize joystick names
|
|
6efebf17
|
2020-02-04T12:48:53
|
|
Moved rumble expiration to the main joystick handling level, and prevent sending the driver layer duplicate rumble requests.
|
|
c9c89783
|
2020-01-29T20:09:08
|
|
Miscellaneous pending fixes
|
|
a8780c6a
|
2020-01-16T20:49:25
|
|
Updated copyright date for 2020
|
|
cb800d1c
|
2020-01-13T22:05:56
|
|
Fixed compiler warning
|
|
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()
|
|
135a9053
|
2019-12-06T13:48:13
|
|
Fixed the Apple TV remote menu button on tvOS 13.2 (thanks Romain Tisserand)
|
|
7a51ad6a
|
2019-12-06T13:48:10
|
|
Fixed the game controller menu button on tvOS 13.2 (thanks Romain Tisserand)
|
|
73536d93
|
2019-07-12T21:28:43
|
|
ios: Fixed MFi guide button not being detected (thanks, Caleb!).
Fixes Bugzilla #4721.
|
|
4eb3c0c3
|
2019-06-14T13:56:52
|
|
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.
|
|
20ec8664
|
2019-06-06T08:20:53
|
|
Added support for the Rotor Riot gamepad, and upcoming Xbox and PS4 controller support on iOS and tvOS
Patch contributed by Nat Brown
|
|
65e07b38
|
2019-01-31T19:52:47
|
|
iOS/tvOS: fix support for SDL_GameControllerGetButton(controller, GUIDE) with MFi controllers (thanks Caleb!)
Fixes bug #4463.
|
|
5e13087b
|
2019-01-04T22:01:14
|
|
Updated copyright for 2019
|
|
14329256
|
2018-10-25T16:53:14
|
|
Generalized the XInput user index into a player index
|
|
888bf1af
|
2018-08-09T16:03:50
|
|
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
|
|
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
|
|
8e062f69
|
2018-03-19T14:42:51
|
|
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
|
|
129431b4
|
2018-03-08T16:32:22
|
|
Delay delivery of the pause button release on MFI controllers so it doesn't happen in the same frame as the button press
|
|
a2c1d83c
|
2018-03-07T18:09:58
|
|
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.
|
|
73c26c20
|
2018-02-06T16:43:31
|
|
Send Apple TV remote input as key events unless it's opened as a joystick, to match Android behavior.
|
|
f59b9c8b
|
2018-02-06T15:03:38
|
|
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.
|
|
e3cc5b2c
|
2018-01-03T10:03:25
|
|
Updated copyright for 2018
|
|
d8286479
|
2017-09-22T08:30:52
|
|
Added stubs for simple Steam Controller support
|
|
de91b124
|
2017-08-14T06:28:21
|
|
Fixed bug 3745 - specify SDLCALL as the calling convention for API callbacks
Patches contributed by Ozkan Sezer
|
|
8f78f5bb
|
2017-02-02T16:56:02
|
|
Fixed build on Apple TV
|
|
45b774e3
|
2017-01-01T18:33:28
|
|
Updated copyright for 2017
|
|
ad26769c
|
2016-12-22T18:43:00
|
|
Fixed compile errors on various platforms
|
|
97aa5775
|
2016-11-16T22:08:51
|
|
Fixed empty parameter list in signatures of internal functions.
|
|
27d4f099
|
2016-10-07T23:40:44
|
|
Implemented SDL_GetHintBoolean() to make it easier to check boolean hints
|
|
a96b6f21
|
2016-09-17T01:31:07
|
|
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.
|
|
925859aa
|
2016-09-13T18:43:55
|
|
Fixed accidental call to SDL_PrivateJoystickHat()
|
|
f0505766
|
2016-09-13T22:18:06
|
|
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.
|
|
35e564a6
|
2016-08-26T15:46:29
|
|
ios: patched to compile.
|