mirror of
https://github.com/games-on-whales/wolf.git
synced 2026-10-15 21:12:08 +00:00
[GH-ISSUE #56] Dev-Input-Protocol Testing - Nintendo Pro Controllers incorrect mapping #38
Labels
No labels
🧠 1 - 🤖 999
AMD
bug
bug
cannot reproduce
documentation
duplicate
easy
enhancement
enhancement
enhancement
fixed?
fixed?
good first issue
hard
help wanted
Intel
invalid
LXC
medium
moonlight-protocol
Multi GPU
nixos
not a bug
nvidia
pull-request
question
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
games-on-whales/wolf#38
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @shymian on GitHub (Jan 8, 2024).
Original GitHub issue: https://github.com/games-on-whales/wolf/issues/56
Per discussion, here is the testing of the mapping issues I am seeing using a Nintendo Pro Controller (8BitDo Pro 2 in Switch mode)
Wolf image used for testing
ghcr.io/games-on-whales/wolf:dev-input-protocol
Host machine sees this device as:
Input device ID: bus 0x3 vendor 0x57e product 0x2009 version 0x8111
Input device name: "Nintendo Switch Pro Controller"
Virtual Device created by Wolf
Input device ID: bus 0x3 vendor 0x57e product 0x2009 version 0xab00
Input device name: "Wolf Nintendo (virtual) pad"
General mapping issues:
Full list of mapping testing
Other notes
Reviewing event codes between the host device and virtual device (via evtest) appear generally the same. So I'm a bit confused as to why the mappings are off when used within applications. Is it possible Moonlight is changing these mappings? I'm not familiar enough where to look within the code to check this.
Additionally, evtest reports lots of L-Stick movement within the virtual device even though no activity is taking place on the physical device. This at times appears as chaotic movement on screen.
Let me know if any clarification is needed.
@shymian commented on GitHub (Jan 8, 2024):
Here's a comparison of the host device vs virtual device. Both running on the same machine as part of testing.
Edit: updated formatted and correctly layout of rumble events
@shymian commented on GitHub (Jan 10, 2024):
The following now worked correctly on initial connection:
Minus (Select)
Plus (Start)
Home
L-Bumper
R-Bumper
Still incorrect:
A/B are still reversed
Pressing the B button (physical button south) shows as BTN_EAST in evtest for the wolf virtual controller
Pressing the A button (physical button east) show as BTN_SOUTH in evtest
No input from L/R-Triggers
shows as ABS_Z and ABS_RZ rather than BTN_TL2 / BTN_TR2
No input from Capture button (BTN_Z)
R-Stick has no horizontal movement by defaultR stick works in Pegasus, not in Yuzu. So might be a mapping issue.
R stick shows correct ABS_RX / ABS_RY in evtest when input is provided
Sticks show immediate phantom input after the first time touching them. evtest shows lots of small inputs back and forth on the sticks even when not touching them. Fuzz on host is 250, while virtual device is 16. Flat is 500 on host, and 128 in virtual. Not quite sure what they settings do, but might play into it?
Edit: typo and more detail