mirror of
https://github.com/gopher64/gopher64.git
synced 2026-04-24 22:45:59 +03:00
[GH-ISSUE #613] HuiJia / Mayflash USB Adapter - axes not detected properly #88
Labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
starred/gopher64#88
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 @sultanoswing on GitHub (Nov 7, 2025).
Original GitHub issue: https://github.com/gopher64/gopher64/issues/613
I've just discovered Gopher 64 - nice piece of software!
However, I have a 2-port HuiJia / Mayflash USB adapter, which adapts two original N64 controllers to USB (https://www.mayflash.com/product/PC043.html), and It works OK in various emulators, including other retroarch N64 emulators.
It also works to a degree in Gopher - the A, B, Start, Shoulder and Z buttons are able to be mapped. When using DirectInput, the D-pad can be mapped, but not the analog stick. When DirectInput isn't checked, the analog stick is detected, but the D-pad buttons don't work.
I've checked the axes and buttons using jstest-gtk, and all seems OK there - but for some reason Gopher isn't picking it up the various axes properly. I've tried manually renaming in the config.json file, but it's a bit confusing to me!
O/S is Arch Linux & using latest 1.10 release of Gopher.
@loganmc10 commented on GitHub (Nov 7, 2025):
It's very hard for me to say without access to the controller. When you test it with jstest-gtk, does everything show up as buttons except the analog stick? Does the dpad also show up as buttons?
@sultanoswing commented on GitHub (Nov 8, 2025):
Thanks for the speedy reply :)
jstest-gtk shows the following (using an OEM N64 controller with the Huijia USB adapter):
Analog stick Left: Axis 0 -ve,
Analog stick Right: Axis 0 +ve
Analog stick Up: Axis 1 -ve
Analog stick Down: Axis 1 +ve
A Button: Button 1
B Button: Button 2
Start Button: Button 9
D-Pad Up: Button 12
D-Pad Down: Button 14
D-Pad Left: Button 15
D-Pad Right: Button 13
Left Shoulder: Button 6
Right Shoulder: Button 7
Z-Trigger: Button 8
C-Up: Axis 2 -ve
C-Down: Axis 2 +ve
C-Left: Axis 3 +ve
C-Right: Axis 3 -ve
And then under jstest-gtk's "Mapping", it lists:
Axes:
0: ABS_X
1: ABS_Y
2: ABS_Z
3: ABS_RZ
5: ABS_HAT0Y
4: ABS_HAT0X
Buttons:
0: BTN_TRIGGER
1: BTN_THUMB
2: BTN_THUMB2
3: BTN_TOP
4: BTN_TOP2
5: BTN_PINKIE
6: BTN_BASE
7: BTN_BASE2
8: BTN_BASE3
9: BTN_BASE4
10: BTN_BASE5
11: BTN_BASE6
12: 300
13: 301
14: 302
15: BTN_DEAD
Finally, the USB HuiJia is detected using lsusb as:
"Bus 001 Device 008: ID 0e8f:3013 GreenAsia Inc. USB GamePad"
https://linux-hardware.org/?id=usb:0e8f-3013
And finally, I've just opened Ares, and mapped the input for N64, with the above hardware, without incident.
I hope this is of use!
@Exequiel3k commented on GitHub (Feb 6, 2026):
Hi, same as the above, but running in Win11 with Mayflash.