src/joystick


Log

Author Commit Date CI Message
Kimplul 2398c43b 2022-03-24T14:34:37 add some Thrustmaster wheels
Ryan C. Gordon 4fe7b2cb 2022-03-24T11:00:43 static analysis: Fixed several complaints from codechecker. There are still some pending Objective-C specific issues. Reference issue #4600.
Sam Lantinga 006aafab 2022-03-22T20:23:09 Fixed freeing a constant string (thanks @gnrlwart)
Egor 2302b2d5 2022-03-22T16:33:45 Add mapping for Logitech Precision Gamepad
Sam Lantinga 1868c5b5 2022-03-17T18:25:50 Start rumbling once a raw input controller has been correlated Fixes https://github.com/libsdl-org/SDL/issues/5351
Sam Lantinga b22ce2b5 2022-03-17T17:10:40 Workaround for bug in Microsoft WGI support Fixes https://github.com/libsdl-org/SDL/issues/5270
Sam Lantinga bcb0f1de 2022-03-17T08:52:31 Fixed build when events are disabled Fixes https://github.com/libsdl-org/SDL/issues/5413
Cameron Gutman 677dc101 2022-03-09T19:43:29 rawinput: Fix double detection of gamepads on some 3rd party X360 wireless receivers The name that the Raw Input joystick driver pulls from the HID stack comes from USB string descriptors contained on the device. For official wireless receivers, this always contains "Xbox 360 Wireless Receiver for Windows" which matches the friendly name that WGI provides. 3rd party Xbox 360 wireless receivers may have different strings in their USB string descriptors (one uses "XBOX 360 For Windows" instead). This fails to match WGI's name and causes Raw Input and WGI to both report the same gamepad. Since wireless Xbox 360 controllers seem to have a consistent VID/PID regardless of the adapter enumerating them, we can also match on that to catch these. The duplicate case reported to me was: Controller (XBOX 360 For Windows) - 030000005e040000a102000000007200 Xbox 360 Wireless Receiver for Windows - 030000005e0400000000000000007701
Sam Lantinga 6a787619 2022-03-08T18:42:13 Allow reading background events for MFi controllers
Sam Lantinga 1b766937 2022-03-08T09:58:24 Fixed the SDL controller type for USB_PRODUCT_XBOX_ONE_XINPUT_CONTROLLER
Sam Lantinga af40cb6f 2022-02-23T15:49:10 Added support for the Razer Huntsman Analog keyboard in controller mode
Phillip Stephens 94d43186 2022-02-22T00:41:15 GameCubeAdapter: Add suppport for all rumble modes This adds support for all 3 of the gamecube controller's rumble modes Rumble: 1 Stop: 0 StopHard: 2 This is useful for applications that need the full range of support This also adds a hint to control rumble behavior, defaults 0 to maintain compatibility
Sam Lantinga 9299a3e7 2022-02-21T16:24:45 Workaround for crash in CoUninitialize()
Sam Lantinga 18032979 2022-02-15T13:07:51 Added the hint SDL_HINT_JOYSTICK_ROG_CHAKRAM to control whether ROG Chakram mice show up as joysticks This hint defaults off, but when it is enabled the mice will have a game controller mapping set up for Profile 3 (set in the Armoury Crate software)
Sam Lantinga f97a29f6 2022-02-11T22:10:33 Use the real device VID/PID when seeing the Steam virtual controller
Ozkan Sezer 7935cfac 2022-02-08T18:55:10 SDL_mfijoystick.m: use __typeof instead of typeof. Fixes https://github.com/libsdl-org/SDL/issues/5319
Joshua Ashton 86b7a064 2022-02-04T16:40:05 Add additional VID/PIDs for Anne Pro II This thing changes its VID/PID on firmware revisions...
Sam Lantinga dd69c28d 2022-02-03T18:01:34 Added a mapping for the Xbox Series X controller, firmware version 5.11.3118.0, connected to Linux via Bluetooth
Temdog007 b59e75c2 2022-02-02T19:21:34 Handle menu button press from controller
pionere d7110b44 2022-01-08T12:07:16 fix compiler warnings in SDL_windows_gaming_input.c
Ryan C. Gordon 43f0271b 2022-01-24T08:56:33 Revert "fix compiler warnings in SDL_windows_gaming_input.c" This reverts commit ca36cdb185f2f26241598068927821896f36b904. The older Windows SDK's headers are wrong, and this change would crash if you hotplug a device.
pionere 60deadba 2022-01-17T17:22:30 re-use return value of SDL_SetError/WIN_SetErrorFromHRESULT/SDL_OutOfMemory
Vitaliy Zhmurikov 5b744592 2022-01-28T06:11:28 Update SDL_joystick.c Add Logitech Momo Racing Wheel VID & PID to SDL_IsJoystickProductWheel function
Ivan Epifanov d7e0c54d 2022-01-27T10:29:45 PSVita: send initial SDL_JOYDEVICEADDED events
Sam Lantinga 67cb548b 2022-01-20T19:31:54 Fixed build error with C90 compilers
Carl Glave a23b3c76 2022-01-20T17:21:28 Add support for correlating trigger input
Sam Lantinga b06866ef 2022-01-16T09:44:28 Entirely remove Xbox axis filtering, we don't want this at all.
Sam Lantinga 09aed102 2022-01-16T09:23:58 Don't send output reports to the Victrix Pro FS v2 It'll hang on reboot if it gets output reports, and it doesn't have functionality that requires them, so skip it.
Sam Lantinga 85961b61 2022-01-16T09:01:56 Disable Xbox axis deadzone handling by default Fixes https://github.com/libsdl-org/SDL/issues/5227
Sam Lantinga 1a50334c 2022-01-14T15:04:26 Fixed Xbox One trigger axis zero point
Ozkan Sezer b9d98331 2022-01-09T20:33:32 os2joystick: fix uninitialized use of local var 'maxdevs'
Ozkan Sezer 17da6006 2022-01-09T20:33:32 os2joystick: fix -Wsequence-point issues.
Sam Lantinga 16f5b9e3 2022-01-05T11:07:52 Filter jitter on Xbox One controllers when using raw input reports
Cameron Gutman 419ae29d 2022-01-03T21:44:18 joystick: Move WGI driver initialization after Windows driver WGI calls SDL_DINPUT_JoystickPresent() so we need to be sure DInput remains initialized for the lifetime of the WGI driver to avoid a crash or duplicated joysticks between DInput and WGI.
Cameron Gutman d73bd0d2 2022-01-03T21:39:30 dinput: Don't crash in SDL_DINPUT_JoystickPresent if DInput init failed The WGI driver will call this regardless of whether our init succeeded.
Sam Lantinga 120c76c8 2022-01-03T09:40:00 Updated copyright for 2022
Ozkan Sezer 82fc67ae 2021-12-18T14:01:02 SDL_joystick.c: cast the arguments to nibble() to unsigned char.
Ozkan Sezer 47d3e96b 2021-12-18T14:01:02 SDL_joystick.c: (unsigned char) cast to SDL_tolower() parameters.
Ozkan Sezer 61107494 2021-12-17T07:40:02 SDL_gamecontroller.c: (unsigned char) cast to SDL_isdigit() parameters.
Sergio Padrino 6f6382f8 2020-05-15T20:45:30 Fix SDL_GameController API for PSP (#3) - Add missing mapping - Make sure the only window has the keyboard focus (so no `SDL_HINT_JOYSTICK_ALLOW_BACKGROUND_EVENTS` is needed)
Ozkan Sezer f266d922 2021-12-07T14:04:32 psp/SDL_sysjoystick.c: fix -Wshadow warnings.
Sam Lantinga a4c04ad2 2021-11-30T10:32:21 Fixed building with iOS SDK prior to 13.0 Fixes https://github.com/libsdl-org/SDL/pull/5045
Sam Lantinga b6bc3a6b 2021-11-29T09:00:54 Added a mapping for the PS4 touchpad button on Windows Fixes https://github.com/libsdl-org/SDL/issues/5035
Sam Lantinga dd2f9111 2021-11-27T20:18:29 Fixed warnings with Windows SDK 10.0.19041 Fixes https://github.com/libsdl-org/SDL/issues/4998 Also breaks https://github.com/libsdl-org/SDL/issues/4998 for older SDKs, but we're going to ignore them, they're just incorrect.
Sam Lantinga c2904c8c 2021-11-27T11:16:15 Fixed compile warnings and errors Fixes https://github.com/libsdl-org/SDL/issues/4998
Sam Lantinga a6cbe0ab 2021-11-27T10:58:12 Controllers are always centered at zero using XInput and WGI
Sam Lantinga 09b7ca27 2021-11-27T10:53:20 Get the current WGI controller list at startup On Win32 this list is empty and we always get controller added events. On UWP, this list is populated and we don't get controlle added events for currently connected controllers.
Sam Lantinga 12895eca 2021-11-27T10:52:58 Fixed WGI initialization on Win32
Sam Lantinga 110e4e13 2021-11-27T10:24:32 Use WGI instead of XInput for Windows 10 UWP apps Fixes https://github.com/libsdl-org/SDL/issues/5017
Mathieu Eyraud 02021ae7 2021-11-27T13:17:04 Return capabitlities from RawInput joystick
Sam Lantinga a2e85652 2021-11-26T11:04:15 The Google Pixel fingerprint sensor isn't actually a joystick Fixes https://github.com/libsdl-org/SDL/issues/4971
Sam Lantinga 67b5de5b 2021-11-26T10:18:08 Fixed build warnings
Sam Lantinga 2ca2ad76 2021-11-26T10:13:45 Fixed build warnings
Sam Lantinga f90164a6 2021-11-26T09:01:29 Fixed mapping for the G-Shark GS-GP702 Fixes https://github.com/libsdl-org/SDL/issues/5006
Sam Lantinga d8618204 2021-11-26T07:57:19 SDL_JoystickGetAttached() doesn't need to be noisy for NULL joystick Fixes https://github.com/libsdl-org/SDL/issues/5008
Cameron Gutman b9951083 2021-11-24T13:04:50 SDL_mfijoystick.m: Fix -Wshadow warning
Ozkan Sezer f8900583 2021-11-23T17:04:40 removed windows winmm joystick driver
Sylvain cb9f85e8 2021-11-22T11:18:01 Don't use "round", so that it's doesn't show up while searching for the function
Sylvain 6fb50bd0 2021-11-22T11:16:23 Don't use "exp" as a name so that it's doesn´t show up with searching for the function
Sylvain d31251b0 2021-11-21T22:30:48 use SDL's functions version inplace of libc version
Ozkan Sezer 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
Sam Lantinga 6828955d 2021-11-19T09:58:11 Trim any extra platform strings from mappings when they're returned to the application
Cameron Gutman 881a6749 2021-11-18T19:58:04 rawinput: Only access SDL_RAWINPUT_mutex if initialized We can also ditch the lock in RAWINPUT_JoystickQuit() now that the joystick subsystem quits drivers in reverse order. There's no chance of a racing call to RAWINPUT_WindowProc() anymore.
Cameron Gutman 1237142b 2021-11-18T19:52:34 joystick: Quit drivers in reverse order to ensure dependencies are not broken SDL_WINDOWS_JoystickDriver depends on callbacks in SDL_RAWINPUT_JoystickDriver and SDL_HIDAPI_JoystickDriver being available. It also manages the common WindowProc used for joystick detection in both WINDOWS and RAWINPUT drivers. If we don't tear them down backwards, there's a window of time where we could invoke RAWINPUT_WindowProc() after RAWINPUT_JoystickQuit() was called.
Sam Lantinga 40d80862 2021-11-15T20:17:14 SDL_classic_joysticks defaults off
Sam Lantinga 66058bbb 2021-11-15T16:52:56 Fixed exception accessing Bluetooth devices on Android 12 Since accessing Bluetooth prompts the user for permission on both Android and iOS, and we only need it for Steam Controller support, we'll leave it off by default. You can enable it by setting the hint SDL_HINT_JOYSTICK_HIDAPI_STEAM to "1" before calling SDL_Init() Fixes https://github.com/libsdl-org/SDL/issues/4952
Ozkan Sezer 3eb9bfac 2021-11-14T22:22:50 win32 rawinput & wgi joystick: avoid -Werror=declaration-after-statement
Ozkan Sezer a2c27d39 2021-11-13T17:56:28 SDL_hidapi_switch.c (ConstructSubcommand): lose use of '&' on rumbleData SwitchCommonOutputPacket_t->rumbleData is an array.
Ozkan Sezer 6ad0fb84 2021-11-13T17:55:10 SDL_hidapi_ps4.c, SDL_hidapi_ps5.c: use SDL_zeroa()
Ozkan Sezer a948ff84 2021-11-13T11:50:02 SDL_hidapijoystick.c: worked around a bogus 'unreachable code' warning.
Sam Lantinga c2dd50a9 2021-11-12T08:28:02 Fixed whitespace
Cameron Gutman 50971577 2021-11-11T22:35:41 dinput: Fix memory leak when SDL_DINPUT_JoystickPresent() returns true
Cameron Gutman fe09a493 2021-11-11T15:53:11 joystick: Add APIs to query rumble support
Cameron Gutman 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.
Cameron Gutman 1ccfbf96 2021-11-11T11:13:08 joystick: Convert HasLED() into a generic GetCapabilities() function
Sam Lantinga b9b0df40 2021-11-11T12:52:31 Fixed Linux build
Sam Lantinga c9ada1c1 2021-11-11T12:45:38 Made HIDAPI device change notifications available via SDL_hid_device_change_count()
Sam Lantinga ebed961c 2021-11-11T09:51:39 Fixed build with older Linux kernel headers
Sam Lantinga 828a0a4a 2021-11-11T07:13:29 Fixed mapping for PS4 controller when using the classic Joystick interface on Linux
Sam Lantinga dc9de1e2 2021-11-11T07:03:30 Get the correct USB VID/PID information for /dev/input/js* devices
Sam Lantinga bd92a95f 2021-11-11T06:30:36 Cleanup for the /dev/js* support (thanks @meyraud705)
Sam Lantinga 1c78b080 2021-11-10T20:02:25 Added support for /dev/input/js* on Linux Added the hint SDL_HINT_LINUX_JOYSTICK_CLASSIC to control whether /dev/input/js* or /dev/input/event* are used as joystick devices Added the hint SDL_HINT_JOYSTICK_DEVICE to allow the user to specify devices t hat will be opened in addition to the normal joystick detection Fixes https://github.com/libsdl-org/SDL/issues/1314 Fixes https://github.com/libsdl-org/SDL/issues/1727 Fixes https://github.com/libsdl-org/SDL/issues/1981 Closes https://github.com/libsdl-org/SDL/pull/4727
Sam Lantinga 65a50b24 2021-11-10T16:15:22 Re-enable udev joystick enumeration by default
Sam Lantinga 7681929c 2021-11-09T12:30:37 Don't send the initial joystick axis event if the application is in the background
Sam Lantinga d31f90d9 2021-11-09T12:09:01 Don't send game controller touchpad or sensor events unless the application has focus Fixes https://github.com/libsdl-org/SDL/issues/4891
Sam Lantinga 2a6feb50 2021-11-08T07:10:38 Removed accidental debugging commit (thanks @DomGries!)
Sam Lantinga 5b646cd1 2021-11-07T22:58:44 Build hidapi code into SDL as a new public API This prevents conflicts with hidapi linked with applications, as well as allowing applications to make use of HIDAPI on Android and other platforms that might not normally have an implementation available.
Cameron Gutman f6dc47ca 2021-11-07T16:00:47 WGI/DInput: Fix SDL_IsXInputDevice() checks when RawInput is enabled Enabling the RawInput backend causes SDL_XINPUT_Enabled() to return false. That causes WGI and DInput backends to take ownership of XInput-compatible controllers, because they think there's no XInput-specific backend enabled. In WGI's case, it will actually race with RawInput to open the device. By properly excluding XInput devices from WGI, we can ensure that the sets of devices managed by WGI and RawInput don't intersect. This makes the race harmless, since they'll never both go after the same device.
Sam Lantinga 301389ce 2021-11-07T13:52:59 Fixed iOS build
Cameron Gutman b3e909dc 2021-11-07T13:51:34 WGI: Fix SDL_IsXInputDevice() for Xbox One controllers The Xbox One driver stack doesn't propagate the VID/PID down to the HID devices that end up in the GetRawInputDeviceList() output. This means we end up matching against the wrong VID/PID and can't properly exclude Xbox One controllers from WGI. Fortunately, it is possible to walk back up the device tree to find the parent with the matching VID/PID.
Sam Lantinga b8c00bf9 2021-11-07T13:11:29 Allow opening joysticks that are read-only on Linux Fixes https://github.com/libsdl-org/SDL/issues/4713
Sam Lantinga 0323d983 2021-11-07T12:52:06 Add the platform to the game controller mapping so it can be read back in without changes Fixes https://github.com/libsdl-org/SDL/issues/4848
Sam Lantinga fe2fe290 2021-11-07T11:48:16 Backed out accidentally committed PR https://github.com/libsdl-org/SDL/pull/4849
Sam Lantinga 86bc65a7 2021-11-07T11:35:12 Fixed non-Apple builds
Sam Lantinga 637bcd0b 2021-11-07T11:19:07 Fixed build warnings
Sam Lantinga e1435826 2021-11-07T11:16:48 Cleanup sfSymbolName support and add them to the dynamic API functions
Patrick Hogan 149e5c65 2021-10-03T12:49:36 Support returning sfSymbolsName for gamepad controls on macOS / iOS / tvOS
Cameron Gutman 6312aaea 2021-11-06T21:52:22 WGI: Add workaround for delayed callbacks after WGI_JoystickQuit()
Cameron Gutman 2371b247 2021-10-31T18:27:51 windows: improve feature detection consistency between CMake and non-CMake builds
Sam Lantinga 26706319 2021-10-30T05:53:12 Ignore the ASRock LED controller, it's not a joystick