Support the Nintendo Switch Pro controller over Bluetooth in the Gamepad API
Categories
(Core :: DOM: Device Interfaces, defect)
Tracking
()
People
(Reporter: jstutte, Unassigned, NeedInfo)
References
(Blocks 1 open bug)
Details
(Keywords: webcompat:platform-bug)
User Story
user-impact-score:1000
The Nintendo Switch Pro controller (057e:2009) does not work correctly with the Gamepad API when connected over Bluetooth:
- macOS: the controller does not work at all.
- Windows 11: buttons work, but the D-pad and both analog sticks report no input.
Bug 1704419 (fixed in 155) made the controller work over USB on Windows by parsing its 0x30 full input report by hand in WindowsGamepadService::ParseSwitchProReport, because the HID report descriptor does not describe that report. That parsing only covers USB. Over Bluetooth the controller sends a different report (the simple 0x3F report unless the host switches it to full-report mode with a subcommand), which is not handled.
On macOS the controller goes through the IOKit HID path and SwitchProRemapper in GamepadRemapping.cpp, and nothing reaches the page over Bluetooth.
Expected: over Bluetooth on both platforms, the controller shows up with mapping == "standard", and all buttons, the D-pad and both sticks report correctly, matching USB on Windows and Chrome's behavior.
Possible approaches:
- Windows: switch the controller to full-report mode over Bluetooth and reuse
ParseSwitchProReport, or handle the0x3Freport. - macOS: check whether the GameController framework exposes the controller as a
GCExtendedGamepad(it supports Switch Pro controllers), similar to the Xbox approach in bug 2049139.
Related: bug 1804814 (wrong readings and a page crash with a Switch Pro controller).
Updated•18 days ago
|
Updated•17 days ago
|
Comment 1•10 days ago
|
||
The severity field is not set for this bug.
:cmartin, could you have a look please?
For more information, please visit BugBot documentation.
Description
•