Describe the bug
Bug Description
When connecting both an 8BitDo Ultimate C Bluetooth and an 8BitDo Ultimate 2C Bluetooth simultaneously via Bluetooth, Artemis only recognizes them as a single controller instead of two separate devices. Both controllers appear as a (Switch) Pro Controller
Expected Behavior
Both controllers should be detected and registered as two independent gamepads, allowing two-player input.
Actual Behavior
Only one controller is recognized regardless of which physical device is used. Input from both controllers appears to be merged or one controller is silently ignored.
Root Cause (suspected)
The two controllers likely report identical USB/Bluetooth vendor ID, product ID, or device descriptor strings, causing Android's input system (or Artemis's controller mapping layer) to treat them as the same device. This is a known issue class with 8BitDo controllers sharing hardware identifiers across product lines.
A potential fix could involve differentiating controllers by their Bluetooth MAC address in addition to their descriptor, similar to the approach used for distinguishing identical HID devices.
Environment
- App: Artemis (moonlight-android fork)
- Host: Apollo
- Device: Android tv (beamer)
- Controller 1: 8BitDo Ultimate C Bluetooth (Displayed as a Switch Pro Controller)
- Controller 2: 8BitDo Ultimate 2C Bluetooth (Displayed as a Switch Pro Controller)
- Connection: Bluetooth
Additional Context
This issue is not present when using two controllers of different brands or types (like one Xbox and one sswitch type controller on the client) , confirming the problem is descriptor-collision specific.
Steps to reproduce
- Pair the 8BitDo Ultimate C Bluetooth (Switch Pro Controller) with the Android device
- Pair the 8BitDo Ultimate 2C Bluetooth (Switch Pro Controller) with the same Android device
- Launch Artemis and start a streaming session
- Observe that only one controller is visible to the host
Affected games
All (Steam Input API, Lego Star wars: The skywalker Saga (Epic games) etc.)
Other Moonlight clients
None
Moonlight adjusted settings
None
Moonlight adjusted settings (please complete the following information)
No response
Moonlight default settings
Yes
Gamepad-related connection issue
No
Gamepad-related input issue
Yes
Gamepad-related streaming issue
Yes
Android version
Android TV 14
Device model
wanbo x5 pro projector
Server PC OS version
Windows 11 Pro
Server PC GeForce Experience version
Apollo 0.4.6
Server PC Nvidia GPU driver version
32.0.15.9649
Server PC antivirus and firewall software
Windows Defender and Firewall
Screenshots
No response
Relevant log output
Additional context
The two controllers are registered as Nintendo Switch controllers; both have a different Bluetotth adrees
Describe the bug
Bug Description
When connecting both an 8BitDo Ultimate C Bluetooth and an 8BitDo Ultimate 2C Bluetooth simultaneously via Bluetooth, Artemis only recognizes them as a single controller instead of two separate devices. Both controllers appear as a (Switch) Pro Controller
Expected Behavior
Both controllers should be detected and registered as two independent gamepads, allowing two-player input.
Actual Behavior
Only one controller is recognized regardless of which physical device is used. Input from both controllers appears to be merged or one controller is silently ignored.
Root Cause (suspected)
The two controllers likely report identical USB/Bluetooth vendor ID, product ID, or device descriptor strings, causing Android's input system (or Artemis's controller mapping layer) to treat them as the same device. This is a known issue class with 8BitDo controllers sharing hardware identifiers across product lines.
A potential fix could involve differentiating controllers by their Bluetooth MAC address in addition to their descriptor, similar to the approach used for distinguishing identical HID devices.
Environment
Additional Context
This issue is not present when using two controllers of different brands or types (like one Xbox and one sswitch type controller on the client) , confirming the problem is descriptor-collision specific.
Steps to reproduce
Affected games
All (Steam Input API, Lego Star wars: The skywalker Saga (Epic games) etc.)
Other Moonlight clients
None
Moonlight adjusted settings
None
Moonlight adjusted settings (please complete the following information)
No response
Moonlight default settings
Yes
Gamepad-related connection issue
No
Gamepad-related input issue
Yes
Gamepad-related streaming issue
Yes
Android version
Android TV 14
Device model
wanbo x5 pro projector
Server PC OS version
Windows 11 Pro
Server PC GeForce Experience version
Apollo 0.4.6
Server PC Nvidia GPU driver version
32.0.15.9649
Server PC antivirus and firewall software
Windows Defender and Firewall
Screenshots
No response
Relevant log output
Additional context
The two controllers are registered as Nintendo Switch controllers; both have a different Bluetotth adrees