src/joystick


Log

Author Commit Date CI Message
Sam Lantinga 6ddef7c2 2022-09-23T09:20:27 Generate the correct name for Qanba and Mad Catz controllers
Sam Lantinga c2ae2ccc 2022-09-23T09:10:51 Added feature support for the Razer Raiju to the HIDAPI driver
Sam Lantinga 51fefd1c 2022-09-23T02:39:35 Added support for third party PS3 controllers to the HIDAPI driver
Sam Lantinga 5b4c10fc 2022-09-23T02:36:53 Return true from IsSupportedDevice if it's a device that we _might_ support This forces an update of the device list so we have the correct state when we check to see whether a device is being handled by HIDAPI
Sam Lantinga 1d34a524 2022-09-23T00:38:23 Fixed shadowed variable warning
Sam Lantinga 010d3e64 2022-09-23T00:36:46 Fixed function prototype mismatch
Sam Lantinga b7940c29 2022-09-23T00:15:40 Allow HIDAPI controllers to override the default joystick type
Sam Lantinga 899a1e7c 2022-09-22T23:54:26 Skip PS4/PS5 probe message if we already know it's a supported controller
Sam Lantinga fa2063fb 2022-09-22T23:42:25 Improved detection of third party PS4 and PS5 controllers
Sam Lantinga aa2e2f48 2022-09-22T18:22:17 Make sure HID devices can be opened before making them available to the application This prevents a number of issues where devices are enumerated but not actually able to be opened, like https://github.com/libsdl-org/SDL/issues/5781. We currently leave the devices open, allowing us to more easily do controller feature detection, protocol negotiation, detect dropped Bluetooth connections, etc. with the expectation that the application is likely to open the controllers shortly.
Sam Lantinga 2857e3c7 2022-09-22T15:53:32 Added an entry for the Mad Catz FightStick TE 2+ PS3
Sam Lantinga 6812f1b5 2022-09-22T15:16:34 Fixed the entry for the HORI Fighting Commander 4 in PS4 mode
Sam Lantinga 6cbdc666 2022-09-22T09:05:06 Fixed use of uninitialized 'size' variable (thanks @ozkan!)
Sam Lantinga 0c4594ac 2022-09-22T06:45:46 Improved PS4 and PS5 third-party controller feature detection
Ivan Epifanov 08a33184 2022-09-18T21:40:15 Vita: fix controls on PSTV with opened IME
Sam Lantinga 2e9f5b59 2022-09-16T15:41:35 Added support for the HORI Fighting Commander OCTA (Xbox Series X and PS versions)
Sam Lantinga 5892ed43 2022-09-16T09:44:39 Fixed Xcode warnings on macOS
Sam Lantinga eb046958 2022-09-16T08:19:45 Fixed build warning
Sam Lantinga 4f1b408a 2022-09-12T18:19:02 Fixed button mapping for PS5 controllers
Amir 7f415ce5 2022-09-12T20:09:00 android: fix some compiler warnings
Sam Lantinga a3900a75 2022-09-08T13:59:25 Lock joysticks when removing a controller on the WGI thread
Sam Lantinga 12413ab3 2022-09-08T13:33:04 Lock joysticks while attaching a virtual one
Ozkan Sezer 787cd580 2022-09-08T23:00:04 silence unused function warning for SDL_endswith() on non-linux.
Sam Lantinga 40715732 2022-09-08T11:50:56 Don't try to second guess DS4Windows, let it remap things as expected. DS4Windows can create both emulated Xbox and emulated PS4 controllers, and we don't know which the user has it doing, so don't try to second guess it, just let it do it's thing. Users should follow the remapping software recommendations on when to enable/disable it for various situations. Fixes https://github.com/libsdl-org/SDL/issues/6167
Sam Lantinga a0f16960 2022-09-08T09:53:24 Fixed the CRC in the mappings for PS2, PSP, and Vita controllers
Sam Lantinga 0ad8d9d2 2022-09-07T15:31:24 SDL_IsXInputDevice() shouldn't return true if XInput isn't enabled
Sam Lantinga d93f9a77 2022-09-07T12:33:43 The new Wii Remote shares the same VID/PID as the Wii U Pro controller
Sam Lantinga f398d8a4 2022-09-07T11:53:13 Note that the Logitech Extreme 3D is a flight stick
Sam Lantinga 0a05b281 2022-09-07T11:51:16 Make sure we hold the joystick lock when updating the device state while opening it
Sam Lantinga d4e0d27c 2022-09-07T02:02:04 Added Wii Remote controller mappings for Linux
Sam Lantinga 42cf6d6c 2022-09-07T01:41:11 Don't treat the Wii extension controls as a separate game controller on Linux
Sam Lantinga 87f8b6ff 2022-09-07T01:21:01 Don't mess with the state of the Motion Plus extension on Linux
Sam Lantinga c28da489 2022-09-07T00:52:40 Fixed build
Sam Lantinga 638452ec 2022-09-07T00:44:13 Assert that continuous reporting is enabled, so input timeout is a reliable way of detecting Bluetooth connection problems.
Sam Lantinga 8dfe0e4b 2022-09-07T00:41:29 Removed checks not needed for the Wii U Pro Controller
Sam Lantinga 4018f35e 2022-09-07T00:00:27 Added left and right sensors for Nintendo Joy-Con and Wii controllers
Sam Lantinga 30f55a5d 2022-09-06T23:33:55 Added initial support for the Wii Motion Plus extension This adds a gyro sensor to the Wii controller, and is enabled in standalone and nunchuk mode
Sam Lantinga d1fea10c 2022-09-05T16:08:15 Added support for the accelerometer in the Wii Remote
Sam Lantinga a61b823d 2022-09-05T14:31:25 Added support for the Wii Remote with the Classic Controller Pro extension Also changed event order to: buttons, triggers, axes, for consistency with other drivers
Ozkan Sezer 612a86eb 2022-09-05T20:47:00 HIDAPI_DriverPS3_UpdateEffects: kill bad use of & operator on effects[]
Sam Lantinga b00e1b1b 2022-09-05T10:01:28 Added support for a ShanWan PS2 -> PS3 USB converter to the HIDAPI driver
Sam Lantinga 1b4e08b8 2022-09-02T17:04:30 Added an entry for the Hori Fighting Stick mini 4 kai This is a PS3/PS4 arcade stick which becomes an Xbox 360 controller on PC
Sam Lantinga 47f2373d 2022-09-02T16:52:55 Added locking for Android joystick events
Sam Lantinga e8f6b750 2022-09-02T15:06:13 Added mappings for the ASUS ROG Kunai 3 Gamepad
Sam Lantinga 5770e87c 2022-09-02T13:57:59 Fixed regression handling touchpad input with PS5 controllers using the original shipping firmware
Sam Lantinga 253f6a91 2022-09-02T11:49:06 Variable renaming for consistency
Sam Lantinga 5002624e 2022-09-02T11:41:19 Fixed crash when extension controllers are hotplugged
Sam Lantinga 7df571ff 2022-09-02T11:37:16 HIDAPI_DumpPacket() takes a const memory pointer
Sam Lantinga b6d23d21 2022-09-02T11:21:51 Fixed interactions with the Linux Wiimote driver
Ozkan Sezer 0c984360 2022-09-02T20:02:56 SDL_hidapi_wii.c: fix a -Wshadow warning
Sam Lantinga b6b3fb00 2022-09-02T09:59:32 This was intended to be Uint8
Ozkan Sezer 5be157b3 2022-09-02T19:33:40 SDL_hidapi_wii.c: fix -Wpointer-sign warnings
Sam Lantinga 54356f41 2022-09-02T09:03:44 Wii: fixed trigger axis reporting for the Wii U Pro Controller
Sam Lantinga a35642fa 2022-09-02T08:58:21 Wii: don't bother reading the extension type for the Wii U Pro controller, we already know what it is
Sam Lantinga c3ecb9d0 2022-09-02T08:48:36 Wii: re-request the status if we get a communication error
Ozkan Sezer 0c24b46e 2022-09-02T18:55:00 SDL_hidapi_wii.c: fix build in c89 mode.
Sam Lantinga 9874fc4e 2022-09-02T08:47:15 Reconnect as a different controller if the Wii extension hardware changes
Sam Lantinga 5f3cb549 2022-09-02T08:28:28 Updated Wii support with @tellowkrinkle's changes in https://github.com/tellowkrinkle/SDL/commit/2f288e9d5bf596756f92b6c3c983b79dc783eac6
Sam Lantinga 785d784a 2022-09-01T22:30:05 Set the output value for ParseExtensionResponse() in all return cases
Sam Lantinga 046aaa2d 2022-09-01T21:37:26 Use auto calibration for the Wii Nunchuk thumbstick axis values
Sam Lantinga 8381e008 2022-09-01T21:13:16 Handle hotplugging of Wii controller extensions
Sam Lantinga 396411c0 2022-09-01T20:27:34 Added mapping for the Wii Nunchuk extension
Sam Lantinga e19b36d8 2022-09-01T19:29:20 Initial support for the Wii Remote with Nunchuk extension
Sam Lantinga c887cb02 2022-09-01T16:23:32 Added the hint SDL_HINT_JOYSTICK_HIDAPI_WII_PLAYER_LED to control whether the player LED should be lit on the Nintendo Wii controllers Also fixed the Y axes on the Wii U Pro controller, and various formatting cleanup
Ozkan Sezer 0ffaf5b8 2022-09-02T02:04:20 SDL_hidapi_wii.c: fix build in c89 mode and builds using watcom compiler
Sam Lantinga c72e14e8 2022-09-01T15:29:01 Added initial support for Wii controllers (thanks @tellowkrinkle!)
Sam Lantinga 7708bf0f 2022-09-01T08:18:58 Try matching game controller mappings on CRC and version and fall back to no CRC and no version, in that order. We do exact match when adding mappings, but loose matching everywhere else we look up a mapping for a GUID.
Sam Lantinga 7861f924 2022-08-31T13:34:43 Removed debug print statements
Sam Lantinga 62f2379e 2022-08-31T13:24:23 Try up to 20 times to read the controller type It takes a while for Joy-Cons to initialize when plugged in via the Nintendo Joy-Con Charging Grip.
Sam Lantinga e5f161bd 2022-08-30T19:12:22 Restored accidentally removed code to guess XInput device
Ozkan Sezer 973a677a 2022-08-31T02:32:28 SDL_xinputjoystick.c: commented out GuessXInputDevice() Not used since commit 277b033e78235d6ffad7525a1fb9acfef3a43433.
Shawn Hoffman 42d09a8f 2022-08-30T13:54:32 wgi: refcount the delegate objects
Shawn Hoffman ca915b18 2022-08-30T13:54:58 WGI_JoystickUpdate: bounds-check array sizes
Sam Lantinga cdaafcec 2022-08-30T14:56:11 The Kinvoca Joy-Cons are handled by the Joy-Con driver, not the Switch Pro driver.
Sam Lantinga b2c3237b 2022-08-30T14:14:38 Added support for the Kinvoca Joy-Cons These report their VID/PID as a Nintendo Switch Pro controller, but they are actually left/right Joy-Cons. We'll fix up the joystick GUID so applications can handle them appropriately.
Sam Lantinga 92d3fc48 2022-08-30T12:58:38 Fixed deadlock when shutting down the Windows joystick system
Sam Lantinga 0e4baf1c 2022-08-30T12:39:23 Don't crash if SDL functions are passed a closed joystick or gamecontroller
Sam Lantinga 675d90c7 2022-08-30T12:09:07 Revert "wgi: refcount the delegate objects" This reverts commit ff233fe3060e51706937a7b366438403bce774a4. This doesn't compile cleanly with Visual Studio and I don't want to introduce any subtle issues because we're passing the wrong types of pointers to WGI functions.
Sam Lantinga 40bd4fee 2022-08-30T11:42:13 Revamped joystick locking This makes the joystick locking more robust by holding the lock while updating joysticks. The lock should be held when calling any SDL joystick function on a different thread than the one calling SDL_PumpEvents() and SDL_JoystickUpdate(). It is now possible to hold the lock while reinitializing the joystick subsystem, however any open joysticks will become invalid and potentially cause crashes if used afterwards. Fixes https://github.com/libsdl-org/SDL/issues/6063
Shawn Hoffman ff233fe3 2022-08-28T22:20:58 wgi: refcount the delegate objects assert if calls become unbalanced.
Sam Lantinga 2f08bf23 2022-08-29T22:15:35 Added the share button to the Linux mapping for the third party Nintendo Switch Pro controllers
Sam Lantinga b2ac758f 2022-08-29T17:33:00 Added support for the Hori Fighting Stick Alpha to the HIDAPI driver
Ludovico de Nittis e8cb4da7 2022-08-26T12:28:33 Add utility function to detect if SDL is inside a sandbox Refactor the previous sandbox check in a standalone function that also includes Snap support. Signed-off-by: Ludovico de Nittis <ludovico.denittis@collabora.com>
Sam Lantinga 1153aaae 2022-08-29T00:15:56 Fixed compiling with USB_GET_DEVICEINFO on DragonFly BSD Although the ioctl() currently fails on this platform...
Sam Lantinga 57cbec10 2022-08-28T23:18:40 Added controller mappings for Xbox 360, PS4, and PS5 controllers on OpenBSD Removed the axis flipping hack for Xbox controllers which would actually apply to any controller with a full 16-bit range. Fixes https://github.com/libsdl-org/SDL/issues/6143
Sam Lantinga 0b8b321f 2022-08-28T23:01:30 Allow the product version to be different when trying to find a controller mapping This is in the hope that revving the product version doesn't change the mapping, which is the case for some devices. In cases where it does, we just need to provide a mapping for each version of the product.
Sam Lantinga 761b9d1e 2022-08-28T22:33:17 Use the HID usage for the button as the button number
Sam Lantinga a9d3935a 2022-08-28T18:17:50 Improved code to get the name and guid for joysticks on OpenBSD and NetBSD Also dynamically allocate joysticks to reduce static memory usage
Sam Lantinga 32700294 2022-08-28T17:56:11 Don't crash if SDL_CreateJoystickGUID() is passed a NULL name
Sam Lantinga bac8df4a 2022-08-28T17:55:49 Fixed memory leak when out of memory
Sam Lantinga ffbad361 2022-08-28T16:21:05 Use the correct type for the device_instance
Sam Lantinga 4a800ae1 2022-08-28T16:11:12 Created a consolidated define enabling BSD gameport joystick support
Sam Lantinga 42f90c62 2022-08-28T16:01:03 Removed unused path variable
Cameron Gutman b7c1fbf9 2022-08-28T17:38:02 WGI: Fix a couple of reference leaks
Sam Lantinga 0db18130 2022-08-28T07:27:01 Applied OpenBSD patch http://cvsweb.openbsd.org/cgi-bin/cvsweb/~checkout~/ports/devel/sdl2/patches/patch-src_joystick_bsd_SDL_bsdjoystick_c?rev=1.5&content-type=text/plain&hideattic=1
Sam Lantinga 3cbfd75d 2022-08-27T18:55:55 Re-added the CRC to the joystick guid This is now used as a crc field in the mapping rather than directly in mapping guids, for better mapping compatibility between versions of SDL. Added SDL_GetJoystickGUIDInfo() to get device information encoded in a joystick GUID, so that mapping programs can clear the CRC from the GUID when generating mappings. sort_controllers.py has been updated to extract the CRC from mappings created by older mapping programs and convert it into the new crc field. It will also take the CRC into account when checking for duplicate mappings. Also regenerated the GUIDs for the PS2/PSP/Vita controller mappings, fixing https://github.com/libsdl-org/SDL/issues/6151
Sam Lantinga b188a916 2022-08-27T09:46:28 Fixed uhid device name for non-OpenBSD platforms
Brad Smith 3f93ec47 2022-08-26T20:52:56 Add support for OpenBSD's ujoy(4)
Sam Lantinga 9a01eac5 2022-08-26T13:45:05 Temporarily disable joystick GUID CRCs
Sam Lantinga f6c2c22d 2022-08-25T22:25:25 Don't try to use the charging port for the PowerA wireless controller as an input device