Sam Lantinga
8ab9dc8b2b
Fixed crash if Joy-Cons are disabled while a combined Joy-Cons controller is open
2022-08-03 13:18:00 -07:00
Sam Lantinga
bcdef4aaf9
Added separate hints for Nintendo Online classic controllers and Joy-Cons
...
This allows them to be enabled/disabled separately from Switch Pro HIDAPI support
2022-08-03 13:07:47 -07:00
Mathieu Eyraud
59a104b803
Do not pass NULL to memcpy
...
ReadJoyConControllerType calls WriteSubcommandSync with pbuf=NULL
2022-08-02 06:38:51 -07:00
Mathieu Eyraud
42b2320756
Fix memory leak of children for combined JoyCon
2022-08-02 06:33:18 -07:00
Sam Lantinga
12aa4d5653
Added header needed for SDL_Delay()
2022-08-01 11:11:25 -07:00
Sam Lantinga
aeb275149a
Poll DirectInput devices to get their initial state
...
Fixes https://github.com/libsdl-org/SDL/issues/3816
2022-08-01 10:39:56 -07:00
Sam Lantinga
13e0c40ec2
Added mapping for the 8BitDo Pro 2 controller in DirectInput mode over Bluetooth on Linux
2022-07-29 17:28:36 -07:00
Sam Lantinga
62c831661c
Added mapping for the 8BitDo Pro 2 controller in DirectInput mode
2022-07-29 17:14:55 -07:00
Sam Lantinga
41c363f7d6
Note that the PDP Versus Fighting Pad is an arcade fighting pad
2022-07-29 16:29:25 -07:00
Sam Lantinga
f3c1194c0f
Removed obsolete comment
2022-07-28 21:50:41 -07:00
Sam Lantinga
aee179e46f
Removed debug output
2022-07-28 21:50:20 -07:00
Sam Lantinga
d8fd78736b
Added entry for the Nintendo Switch Joy-Con controller pair
2022-07-28 21:44:23 -07:00
Sam Lantinga
875b737c64
Added support for the Nintendo Online NES Controllers to the HIDAPI driver
2022-07-28 21:40:01 -07:00
Sam Lantinga
ab967475c6
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
2022-07-28 19:38:38 -07:00
Sam Lantinga
dfed862a66
Fixed variable shadow warning
2022-07-28 19:35:46 -07:00
Sam Lantinga
2fa2f9ff77
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
2022-07-28 19:22:27 -07:00
Sam Lantinga
def60ce6fe
Fixed the name of the HIDAPI Joy-Con controller for consistency with other drivers
2022-07-27 19:20:42 -07:00
Sam Lantinga
0f1be9401f
Updated mapping for Joy-Con controllers using hid-nintendo
...
This matches the mapping on iOS 16 and will match the HIDAPI
implementation.
2022-07-27 17:32:51 -07:00
Sam Lantinga
756978a236
Left and right single Joy-Con controllers are mapped as individual mini controllers
2022-07-27 16:17:32 -07:00
Sam Lantinga
4990bd0517
Added debug code to show available inputs on iOS/tvOS controllers
2022-07-27 16:17:32 -07:00
Sam Lantinga
a169259f62
Actually we don't need to unlock to send k_eSwitchProprietaryCommandIDs_ForceUSB since we don't wait for reply
2022-07-27 09:05:02 -07:00
Sam Lantinga
c51464d9d8
Put the Nintendo Switch Pro controller back into enhanced mode as needed
...
Fixes https://github.com/libsdl-org/SDL/issues/3450
2022-07-27 09:00:39 -07:00
Sam Lantinga
a423848ea0
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
2022-07-25 11:26:18 -07:00
diddily
0ec5bb4e6d
Add missing controller events to SDL_GameControllerEventState()
...
Events to handle controller touchpads and sensors were added to the library but not added in `SDL_GameControllerEventState()`. This change adds the missing events.
2022-07-25 08:55:17 -07:00
Cameron Gutman
3ab1e303ec
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
2022-07-24 15:36:30 -05:00
Sam Lantinga
f9beef760a
Added support for the Nintendo Switch Joy-Con Controllers on iOS and tvOS 16
2022-07-22 18:58:29 -07:00
Sam Lantinga
aad7ef6eaf
Added support for the Nintendo Switch Pro Controller on iOS and tvOS 16
2022-07-22 10:58:34 -07:00
Sam Lantinga
be3a945a8b
Added support for the 8BitDo Ultimate Wired Controller for Xbox
2022-07-20 11:05:55 -07:00
Sam Lantinga
cef1514b01
Fixed some Xcode warnings
2022-07-17 09:07:04 -07:00
Sam Lantinga
883409ea07
Added support for the misc1 button on the Nintendo Switch Pro Controller
...
when using hid_nintendo kernel driver
2022-07-13 11:26:42 -07:00
SuperSamus
9a4f200d44
gamecontrollerdb: Linux, add mappings for hid-nintendo driver and more
...
Taken from https://github.com/gabomdq/SDL_GameControllerDB/blob/master/gamecontrollerdb.txt
2022-07-13 11:23:15 -07:00
Sam Lantinga
06c7d22653
Added mappings for the HORI Fighting Stick mini 4 on Linux and macOS
2022-07-12 18:53:53 -07:00
Sam Lantinga
e24b971a34
Added support for the NVIDIA Shield controller guide button
2022-07-12 17:53:03 -07:00
Cameron Gutman
b321eae51a
joystick: Fix spurious battery empty events when opening a Shield controller
2022-07-11 19:43:25 -05:00
Cameron Gutman
a0d8848baa
joystick: Plumb SDL_JoystickSendEffect() for the Shield HIDAPI driver
...
The effect data format consists of one command byte followed by zero or more
payload bytes.
2022-07-11 19:38:26 -05:00
Ozkan Sezer
4fa2653394
SDL_GetJoystickGUIDInfo: byte-swap vendor, product and version values.
...
Reference issue: https://github.com/libsdl-org/SDL/issues/5907
2022-07-12 00:55:00 +03:00
Cameron Gutman
6e712d2440
joystick: Add HIDAPI driver for NVIDIA SHIELD 2017 controller
...
Basic input already works using the OS HID driver, but this enables
force feedback and battery state reporting.
2022-07-10 10:53:26 -07:00
Cameron Gutman
3242265ff1
joystick: Fix endianness issues in Xbox HIDAPI drivers
2022-07-10 10:49:38 -07:00
chalonverse
f317d619cc
Xbox GDKX support ( #5869 )
...
* Xbox GDK support (14 squashed commits)
* Added basic keyboard testing
* Update readme
* Code review fixes
* Fixed issue where controller add/removal wasn't working (since the device notification events don't work on Xbox, have to use the joystick thread to poll XInput)
2022-07-01 13:59:14 -07:00
Cameron Gutman
3e114872e8
joystick: Fix redetection of HIDAPI joysticks after reinitializing
...
The HIDAPI joystick driver doesn't properly reset the change counter
it uses to track if re-enumeration is needed when the joystick
subsystem is quit and then reinitialized.
The first SDL_Init(SDL_INIT_JOYSTICK) will result in the expected
HIDAPI joysticks appearing, but subsequent calls will result in no
joysticks being enumerated until another HIDAPI joystick is added
or removed from the system.
2022-06-30 20:43:14 -07:00
Jade Macho
6a2e6c82a0
Add SDL_HINT_DIRECTINPUT_ENABLED (on by default)
2022-06-28 15:59:05 -07:00
Sourcery AI
cddf095a16
'Refactored by Sourcery'
2022-06-27 17:55:47 -07:00
Pierre Wendling
6c536afdb7
Fix C89 declaration for macOS modules.
...
Since Clang 14, `-Wdeclaration-after-statement` is enforced on every
standard.
2022-06-27 15:19:40 -07:00
chalonverse
3b191580c3
Windows GDK Support ( #5830 )
...
* Added GDK
* Simplfied checks in SDL_config_wingdk.h
* Added testgdk sample
* Added GDK readme
* Fixed error in merge of SDL_windows.h
* Additional GDK fixes
* OpenWatcom should not export _SDL_GDKGetTaskQueue
* Formatting fixes
* Moved initialization code into SDL_GDKRunApp
2022-06-27 10:19:39 -07:00
Francisco Javier Trujillo Mata
7fd46ec581
Initial PS2_Joystick implementation
2022-06-27 00:32:43 -07:00
Francisco Javier Trujillo Mata
2b41f497db
Improve Joystick removing semaphores
2022-06-22 15:08:41 +02:00
Francisco Javier Trujillo Mata
c3a5e4aa7b
Adding GetGamepadMapping to Vita Joystick driver
2022-06-22 02:23:00 +03:00
Sam Lantinga
eb7e29a8b2
Fixed crash when the joystick product name isn't available
2022-06-17 17:43:14 -07:00
Sam Lantinga
b0e827fb65
Enable improved rumble emulation on DualSense(tm) Wireless Controllers with firmware version 2.24 and newer
2022-06-17 07:55:53 -07:00
Sam Lantinga
16f55fbdb4
Separate the controller protocol from the controller style
...
This allows us to handle controllers that use the Xbox protocol but look like Nintendo Switch or Playstation controllers, like the Qanba Dragon Arcade Stick in PC mode
2022-06-15 20:46:01 -07:00