Sam Lantinga
8381e008ea
Handle hotplugging of Wii controller extensions
2022-09-01 21:13:16 -07:00
Sam Lantinga
396411c090
Added mapping for the Wii Nunchuk extension
2022-09-01 20:27:34 -07:00
Sam Lantinga
e19b36d871
Initial support for the Wii Remote with Nunchuk extension
2022-09-01 19:29:20 -07:00
Sam Lantinga
c887cb02af
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
2022-09-01 16:30:55 -07:00
Ozkan Sezer
0ffaf5b871
SDL_hidapi_wii.c: fix build in c89 mode and builds using watcom compiler
2022-09-02 02:04:20 +03:00
Sam Lantinga
c72e14e8f4
Added initial support for Wii controllers (thanks @tellowkrinkle!)
2022-09-01 15:29:41 -07:00
Sam Lantinga
7861f924ea
Removed debug print statements
2022-08-31 13:34:43 -07:00
Sam Lantinga
62f2379e4c
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.
2022-08-31 13:24:23 -07:00
Sam Lantinga
cdaafcec0d
The Kinvoca Joy-Cons are handled by the Joy-Con driver, not the Switch Pro driver.
2022-08-30 14:56:11 -07:00
Sam Lantinga
b2c3237b75
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.
2022-08-30 14:14:38 -07:00
Sam Lantinga
b2ac758f61
Added support for the Hori Fighting Stick Alpha to the HIDAPI driver
2022-08-29 17:33:00 -07:00
Ludovico de Nittis
e8cb4da71f
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>
2022-08-29 06:30:40 -07:00
Sam Lantinga
f1aa843415
Don't report rumble capability for Nintendo Online controllers
2022-08-25 21:51:43 -07:00
Sam Lantinga
babaa7d2bd
Fixed PS3 accelerometer values on little endian systems
2022-08-24 16:10:47 -07:00
Sam Lantinga
1fc7f68118
Document that it's not possible to use the HIDAPI driver for PS3 controllers on Windows
2022-08-24 06:38:36 -07:00
Sam Lantinga
645b0f6abf
Enable HIDAPI PS3 support by default on macOS
2022-08-24 01:30:29 -07:00
Sam Lantinga
3d62ebdbf6
Fixed HIDAPI PS3 support on macOS
2022-08-24 00:34:30 -07:00
Sam Lantinga
aaee6e242c
Added missing file
2022-08-23 22:56:48 -07:00
Sam Lantinga
b6f96b69aa
Initial HIDAPI driver support for the PS3 controller
2022-08-23 22:45:37 -07:00
Sam Lantinga
277b033e78
Refactor joystick GUID creation
2022-08-22 19:44:14 -07:00
Sam Lantinga
c1e0873940
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
2022-08-22 18:22:35 -07:00
Sam Lantinga
5a3adbfdb2
Added the hint SDL_HINT_JOYSTICK_HIDAPI_XBOX_360_PLAYER_LED to control whether the player LED is set on Xbox 360 controllers
2022-08-19 11:11:25 -07:00
Sam Lantinga
52b6899a6b
Added hints for more fine grained control over HIDAPI Xbox controller support
2022-08-19 11:11:23 -07:00
Sam Lantinga
9670d2bb9e
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.
2022-08-15 17:28:50 -07:00
Sam Lantinga
e49321cec5
Fixed double-free in combined HIDAPI controller code
2022-08-10 08:21:15 -07:00
Sam Lantinga
9ff498e78e
Make HIDAPI_JoystickOpen() more robust against internal logic errors
...
Fixes https://github.com/libsdl-org/SDL/issues/6030
2022-08-10 06:00:30 -07:00
Sam Lantinga
8e782876bb
Fixed spamming the controller with reset IMU commands when they are failing
2022-08-09 21:30:11 -07:00
Sam Lantinga
eab27b9049
Make sure Switch controller initialization is synchronous and start the input timeout then
2022-08-09 17:59:44 -07:00
Sam Lantinga
1db7d33dc4
Recover from Bluetooth devices temporarily out of range
2022-08-09 17:04:26 -07:00
Sam Lantinga
6d012b2a5d
Better fix for rescanning devices after read failure
2022-08-09 16:54:11 -07:00
Sam Lantinga
483a010f0c
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.
2022-08-09 15:39:39 -07:00
Sam Lantinga
5d63a3d435
Re-enumerate devices if a read fails
...
This allows combined Joy-Con devices to immediately separate if one of them is disconnected
2022-08-09 14:06:49 -07:00
Sam Lantinga
da50f1bd3e
Bluetooth devices can recover from over a second of dropped reports
2022-08-09 14:05:43 -07:00
Sam Lantinga
824f2d4650
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
2022-08-09 13:41:58 -07:00
Sam Lantinga
8aa6922fec
Fixed detecting Bluetooth disconnection on Nintendo Switch controllers
2022-08-09 13:26:10 -07:00
Sam Lantinga
201484ff6f
Don't duplicate the serial number twice if a child doesn't set one
2022-08-09 09:03:28 -07:00
Sam Lantinga
d90c0d41cc
Include the child serial numbers in the serial number for a HIDAPI combined device
2022-08-09 09:00:56 -07:00
Sam Lantinga
df537a7c0e
SDL_GameControllerSetPlayerIndex(gamecontroller, -1) means turn off the player LED if possible
2022-08-09 00:18:19 -07:00
Sam Lantinga
5545be8530
The player LED index wraps for PS5 controllers, like it does for other controller types
2022-08-08 23:44:50 -07:00
Sam Lantinga
6204ae5002
Restart the IMU if the controller stops sending gyro/accel data
2022-08-08 20:10:12 -07:00
Sam Lantinga
d58bec72a0
Fixed Joy-Con gyro axes in mini-gamepad mode
2022-08-08 17:19:33 -07:00
Sam Lantinga
47ebf0087a
Fixed shadow variable warning
2022-08-08 08:36:17 -07:00
Sam Lantinga
878259722f
Added SDL_GameControllerType enumeration for Nintendo Switch Joy-Con controllers
2022-08-08 08:22:20 -07:00
Sam Lantinga
52bf5b1de9
Added the hint SDL_HINT_JOYSTICK_HIDAPI_SWITCH_PLAYER_LED to control whether the player LED is set on Nintendo Switch controllers
2022-08-06 10:34:19 -07:00
Sam Lantinga
4a9ceb7be9
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.
2022-08-04 11:33:36 -07:00
Sam Lantinga
28c01955bc
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.
2022-08-04 10:46:37 -07:00
Sam Lantinga
43b90484c9
Retry a little longer when writing to the Nintendo Joy-Con Charging Grip
2022-08-04 00:40:38 -07:00
Sam Lantinga
dfd2c574d7
Removed unused variable
2022-08-03 22:27:43 -07:00
Sam Lantinga
c84dea0943
Fixed detecting the controller type of controllers over USB
2022-08-03 22:12:21 -07:00
Sam Lantinga
ba297f12cd
Use the Nintendo controller type to determine whether to always use button labels
2022-08-03 21:46:01 -07:00