src/joystick


Log

Author Commit Date CI Message
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
Sam Lantinga f1aa8434 2022-08-25T21:51:20 Don't report rumble capability for Nintendo Online controllers
Sam Lantinga babaa7d2 2022-08-24T16:10:47 Fixed PS3 accelerometer values on little endian systems
Julio C. Rocha 05983fb8 2022-08-24T15:03:12 Add Mayflash PC043 adapter
Sam Lantinga e7332cd8 2022-08-24T15:28:56 Fixed zero CRC matching in the controller mapping database
Sam Lantinga 97034471 2022-08-24T09:39:01 Fixed the Nintendo Switch Pro mappings on iOS/tvOS
Sam Lantinga 1fc7f681 2022-08-24T06:38:36 Document that it's not possible to use the HIDAPI driver for PS3 controllers on Windows
Sam Lantinga 645b0f6a 2022-08-24T01:30:29 Enable HIDAPI PS3 support by default on macOS
Sam Lantinga 3d62ebdb 2022-08-24T00:34:30 Fixed HIDAPI PS3 support on macOS
Sam Lantinga aaee6e24 2022-08-23T22:56:32 Added missing file
Sam Lantinga b6f96b69 2022-08-23T22:45:37 Initial HIDAPI driver support for the PS3 controller
Sam Lantinga b6a3d762 2022-08-23T07:24:21 Look up mappings by GUID in two passes: first with CRC, second without
Sam Lantinga 277b033e 2022-08-22T19:28:21 Refactor joystick GUID creation
Sam Lantinga 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
Sam Lantinga b2819e43 2022-08-22T13:10:57 Send SDL_CONTROLLERDEVICEREMOVED for all joysticks because we don't know after the fact whether it was a game controller. Fixes https://github.com/libsdl-org/SDL/issues/2092
Sam Lantinga 5a3adbfd 2022-08-19T11:11:25 Added the hint SDL_HINT_JOYSTICK_HIDAPI_XBOX_360_PLAYER_LED to control whether the player LED is set on Xbox 360 controllers
Sam Lantinga 52b6899a 2022-08-19T11:11:23 Added hints for more fine grained control over HIDAPI Xbox controller support
Sam Lantinga 9670d2bb 2022-08-15T17:27:33 Make sure we hold the joystick lock when disconnecting a HIDAPI joystick This prevents crashes when calling SDL joystick API functions from a different thread while disconnection is happening. See https://github.com/libsdl-org/SDL/issues/6063 for a more thorough review of joystick locking.
Mathieu Eyraud c6c688ab 2022-08-14T14:55:32 Add SDL_JOYBATTERYUPDATED event to SDL_JoystickEventState()
Your Name cfbeb438 2022-08-12T21:05:37 fix a bug if XINPUTGETBATTERYINFORMATION is nullptr
Sam Lantinga bf925b9e 2022-08-11T14:41:48 Fixed build
Sam Lantinga 24f97dd7 2022-08-11T14:39:49 Added an SDL error to SDL_GameControllerMapping* functions
Sam Lantinga 879af7b5 2022-08-10T14:01:23 Fixed mapping for paired Joy-Con controllers on iOS
Sam Lantinga e49321ce 2022-08-10T08:20:54 Fixed double-free in combined HIDAPI controller code
Sam Lantinga 9ff498e7 2022-08-10T06:00:30 Make HIDAPI_JoystickOpen() more robust against internal logic errors Fixes https://github.com/libsdl-org/SDL/issues/6030
Sam Lantinga 8e782876 2022-08-09T21:30:11 Fixed spamming the controller with reset IMU commands when they are failing
Sam Lantinga eab27b90 2022-08-09T17:58:42 Make sure Switch controller initialization is synchronous and start the input timeout then
Sam Lantinga 1db7d33d 2022-08-09T17:04:26 Recover from Bluetooth devices temporarily out of range
Sam Lantinga 6d012b2a 2022-08-09T16:54:11 Better fix for rescanning devices after read failure
Sam Lantinga 483a010f 2022-08-09T15:39:39 Fixed accidentally deadlocking the rumble thread with combined Joy-Cons Also added more accurate check for sensor data. At least one axis will always have acceleration because of gravity.
Sam Lantinga 5d63a3d4 2022-08-09T14:06:49 Re-enumerate devices if a read fails This allows combined Joy-Con devices to immediately separate if one of them is disconnected
Sam Lantinga da50f1bd 2022-08-09T14:05:43 Bluetooth devices can recover from over a second of dropped reports
Sam Lantinga 824f2d46 2022-08-09T13:41:58 Added a second hint SDL_HINT_JOYSTICK_HIDAPI_JOYCON_HOME_LED to control the Home button LED on Nintendo Joy-Con controllers separately from Nintendo Switch Pro controllers
Sam Lantinga 8aa6922f 2022-08-09T13:25:52 Fixed detecting Bluetooth disconnection on Nintendo Switch controllers
Sam Lantinga 201484ff 2022-08-09T09:03:28 Don't duplicate the serial number twice if a child doesn't set one
Sam Lantinga d90c0d41 2022-08-09T09:00:29 Include the child serial numbers in the serial number for a HIDAPI combined device
Sam Lantinga 55882e43 2022-08-09T00:19:02 Fixed invalid read when SDL_GameControllerSetPlayerIndex() is passed a negative player_index
Sam Lantinga df537a7c 2022-08-09T00:18:19 SDL_GameControllerSetPlayerIndex(gamecontroller, -1) means turn off the player LED if possible
Sam Lantinga 5545be85 2022-08-08T23:44:50 The player LED index wraps for PS5 controllers, like it does for other controller types
Sam Lantinga 593d20d9 2022-08-08T20:11:43 Removed debug logging
Sam Lantinga 6204ae50 2022-08-08T20:09:49 Restart the IMU if the controller stops sending gyro/accel data
Sam Lantinga d58bec72 2022-08-08T17:19:12 Fixed Joy-Con gyro axes in mini-gamepad mode