src/joystick/hidapi


Log

Author Commit Date CI Message
Amir 7f415ce5 2022-09-12T20:09:00 android: fix some compiler warnings
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 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 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 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 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 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 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
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 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 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.
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 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 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
Sam Lantinga 47ebf008 2022-08-08T08:35:56 Fixed shadow variable warning
Sam Lantinga 87825972 2022-08-08T08:22:20 Added SDL_GameControllerType enumeration for Nintendo Switch Joy-Con controllers
Sam Lantinga 52bf5b1d 2022-08-06T10:34:19 Added the hint SDL_HINT_JOYSTICK_HIDAPI_SWITCH_PLAYER_LED to control whether the player LED is set on Nintendo Switch controllers
Sam Lantinga 4a9ceb7b 2022-08-04T11:33:36 The HORIPAD S uses the Xbox 360 protocol on all platforms and shows up as multiple styles of controller, depending on what model you have.
Sam Lantinga 28c01955 2022-08-04T10:46:37 Fixed button mapping for the HORIPAD S This controller actually comes in at least two flavors: a GameCube controller and an arcade pad, neither of which should have the face buttons remapped.
Sam Lantinga 43b90484 2022-08-04T00:40:38 Retry a little longer when writing to the Nintendo Joy-Con Charging Grip
Sam Lantinga dfd2c574 2022-08-03T22:27:43 Removed unused variable
Sam Lantinga c84dea09 2022-08-03T22:12:21 Fixed detecting the controller type of controllers over USB
Sam Lantinga ba297f12 2022-08-03T21:46:01 Use the Nintendo controller type to determine whether to always use button labels
Sam Lantinga 946f4777 2022-08-03T21:33:38 Don't set Bluetooth controllers to wired power level
Sam Lantinga 57c3b2c9 2022-08-03T21:31:12 Don't rely on the device VID/PID to get the Nintendo controller type The Nintendo Online Sega Genesis controller reports the SNES VID/PID over Bluetooth. This is a more robust way of handling future controllers as well, so let's go with this instead. Also use full reports over Bluetooth, and don't report gyro for Nintendo Online classic controllers.
Sam Lantinga b6aadb16 2022-08-03T20:38:33 Added k_eSwitchDeviceInfoControllerType_N64 to ESwitchDeviceInfoControllerType
Sam Lantinga bdfb32de 2022-08-03T20:30:58 Added some additional Nintendo controller types to ESwitchDeviceInfoControllerType
Sam Lantinga 5d50fa52 2022-08-03T19:39:36 Fixed timeout opening the Nintendo Joy-Con Charging Grip Sometimes opening the right Joy-Con takes a little longer for some reason
Sam Lantinga 29cdb2c9 2022-08-03T18:01:10 Added support for the Nintendo Switch Joy-Con Charging Grip
Sam Lantinga a8120104 2022-08-03T13:53:49 The Nintendo Online classic controllers and Joy-Cons shouldn't show up as Switch Pro controllers
Sam Lantinga 8ab9dc8b 2022-08-03T13:18:00 Fixed crash if Joy-Cons are disabled while a combined Joy-Cons controller is open
Sam Lantinga bcdef4aa 2022-08-03T13:07:47 Added separate hints for Nintendo Online classic controllers and Joy-Cons This allows them to be enabled/disabled separately from Switch Pro HIDAPI support
Mathieu Eyraud 59a104b8 2022-08-02T15:00:55 Do not pass NULL to memcpy ReadJoyConControllerType calls WriteSubcommandSync with pbuf=NULL
Mathieu Eyraud 42b23207 2022-08-02T14:42:25 Fix memory leak of children for combined JoyCon
Sam Lantinga aee179e4 2022-07-28T21:50:20 Removed debug output
Sam Lantinga 875b737c 2022-07-28T21:39:32 Added support for the Nintendo Online NES Controllers to the HIDAPI driver
Sam Lantinga ab967475 2022-07-28T19:38:38 Greatly improved Nintendo Joy-Con support using the HIDAPI driver * Added support for mini-gamepad mode for Joy-Con controllers, matching the mapping for hid-nintendo on Linux and iOS 16 * Added the ability to merge left and right Joy-Con controllers into a single Pro-style controller * Added the hint SDL_HINT_JOYSTICK_HIDAPI_SWITCH_COMBINE_JOY_CONS to control this merging functionality * Removed the hint SDL_HINT_JOYSTICK_HIDAPI_JOY_CONS
Sam Lantinga dfed862a 2022-07-28T19:35:46 Fixed variable shadow warning
Sam Lantinga 2fa2f9ff 2022-07-28T19:22:27 Greatly improved Nintendo Joy-Con support using the HIDAPI driver * Added support for mini-gamepad mode for Joy-Con controllers, matching the mapping for hid-nintendo on Linux and iOS 16 * Added the ability to merge left and right Joy-Con controllers into a single Pro-style controller * Added the hint SDL_HINT_JOYSTICK_HIDAPI_SWITCH_COMBINE_JOY_CONS to control this merging functionality * Removed the hint SDL_HINT_JOYSTICK_HIDAPI_JOY_CONS
Sam Lantinga def60ce6 2022-07-27T19:20:42 Fixed the name of the HIDAPI Joy-Con controller for consistency with other drivers
Sam Lantinga a169259f 2022-07-27T09:05:02 Actually we don't need to unlock to send k_eSwitchProprietaryCommandIDs_ForceUSB since we don't wait for reply
Sam Lantinga c51464d9 2022-07-27T09:00:39 Put the Nintendo Switch Pro controller back into enhanced mode as needed Fixes https://github.com/libsdl-org/SDL/issues/3450
Sam Lantinga a423848e 2022-07-25T11:26:18 Allow floating point values for SDL_HINT_JOYSTICK_HIDAPI_SWITCH_HOME_LED This allows setting the brightness of the home LED on Nintendo Switch Pro controllers, in the range 0.0 - 1.0. This can be updated at runtime by setting the hint dynamically. Fixes https://github.com/libsdl-org/SDL/issues/3787
Cameron Gutman 3ab1e303 2022-07-24T15:29:42 joystick: Refactor and fix a few bugs in Shield HIDAPI driver - CMD_CHARGE_STATE was checking the seqnum instead of the payload - Off-by-one error in size validation for command payload - Unused payload space was left uninitialized in output report
Sam Lantinga be3a945a 2022-07-20T11:05:55 Added support for the 8BitDo Ultimate Wired Controller for Xbox