Issue with having two Mayflash adapters
-
I have two Mayflash adapters so that I can use real N64 and SNES controllers. I'm having an issue getting them both working within Emulation Station.
I can run through the controller setup and map the buttons on each no problem. The issue is that I can navigate through the menus properly with both. For example if I configure the SNES Controller and than configure N64 the Up/Down/Left/Right buttons stop working for SNES within ES. Vice Versa if I configure SNES last.
Looking at this further it seems both Mayflash adapters are being detected as Huijia USB controllers. So each time I configure them either adapter it thinks it's the same controller.
Hopefully I'm explaining it correctly. I'm wondering if there's a way to tell ES that these are two separate adapters and two separate controllers.
-
So you're using TWO separate adapters, both of which have 2 controller ports each?
Can you check in "/opt/retropie/configs/all/retroarch-joypads/" for the controller configs and see if it is indeed overwriting 1 single file (with the same exact name) when you for instance, switch from mapping the SNES keys after you mapped the N64 controller? - you'll have to refresh your SSH FTP client or whatnot between so it shows the up to date filename(s).
I have a Mayflash SNES and Sega Genesis adapters, and I'm pretty sure I've used them at the same time with no issues - but can run some more tests if the forum doesn't get your sorted out. *EDIT 12-11 - I unfortunately returned my Mayflash adapters because of another set of problems with them, but I did post below about a related issue I've repetitively found...
-
@Dochartaigh said in Issue with having two Mayflash adapters:
So you're using TWO separate adapters, both of which have 2 controller ports each?
Can you check in "/opt/retropie/configs/all/retroarch-joypads/" for the controller configs and see if it is indeed overwriting 1 single file (with the same exact name) when you for instance, switch from mapping the SNES keys after you mapped the N64 controller? - you'll have to refresh your SSH FTP client or whatnot between so it shows the up to date filename(s).
I have a Mayflash SNES and Sega Genesis adapters, and I'm pretty sure I've used them at the same time with no issues - but can run some more tests if the forum doesn't get your sorted out.
Thanks for the reply back on this. I am using two separate adapters and both have 2 controller ports each. I just checked the path that you mentioned and is indeed overwriting a single file. The file is HuiJiaUSBGamePad.cfg
When I configure the N64 Controller the file contains this:
input_device = "HuiJia USB GamePad"
input_driver = "udev"
input_r_y_plus_axis = "+2"
input_r_x_minus_axis = "+3"
input_start_btn = "9"
input_exit_emulator_btn = "9"
input_l_y_minus_axis = "-1"
input_up_btn = "h0up"
input_r_y_minus_axis = "-2"
input_a_btn = "1"
input_b_btn = "2"
input_reset_btn = "2"
input_down_btn = "h0down"
input_l_x_plus_axis = "+0"
input_l_y_plus_axis = "+1"
input_r_btn = "7"
input_save_state_btn = "7"
input_right_btn = "h0right"
input_state_slot_increase_btn = "h0right"
input_select_btn = "6"
input_enable_hotkey_btn = "6"
input_l_x_minus_axis = "-0"
input_left_btn = "h0left"
input_state_slot_decrease_btn = "h0left"
input_r_x_plus_axis = "-3"
input_l2_btn = "8"When I configure the SNES controller the file contains this:
input_device = "HuiJia USB GamePad"
input_driver = "udev"
input_l_btn = "6"
input_load_state_btn = "6"
input_start_btn = "9"
input_exit_emulator_btn = "9"
input_up_axis = "-1"
input_a_btn = "1"
input_b_btn = "2"
input_reset_btn = "2"
input_down_axis = "+1"
input_r_btn = "7"
input_save_state_btn = "7"
input_right_axis = "+0"
input_state_slot_increase_axis = "+0"
input_x_btn = "0"
input_menu_toggle_btn = "0"
input_select_btn = "8"
input_enable_hotkey_btn = "8"
input_y_btn = "3"
input_left_axis = "-0"
input_state_slot_decrease_axis = "-0" -
I think this has something to do with the fact that the Mayflash is supposed to be plugged into the computer first, and then the controllers second. I have the Wii to USB adapter (which I modified and put a Pi Zero inside of), and when the controllers freak out I just unplug them and plug them back in. It also seems to be fine if you boot up without them plugged in as well.
Maybe something could be added to the start up script where in once Emulation station is loaded all USB devices can unload and reload real quick so as to reset all devices?
-
Any other thoughts or suggestions on a possible fix for this?
-
@Jeebs adapters that accept various controllers of various types have this issue. The OS get the adapter name, not the controller name.
My suggestion is: let's say you wanna use your N64 most of the time, and the SNES controller for SNES games. Then you should configure your N64 in emulationstation and hardcode the mappings for SNES in the SNES-specific retroarch.cfg (instructions here)
-
@meleu said in Issue with having two Mayflash adapters:
@Jeebs adapters that accept various controllers of various types have this issue. The OS get the adapter name, not the controller name.
My suggestion is: let's say you wanna use your N64 most of the time, and the SNES controller for SNES games. Then you should configure your N64 in emulationstation and hardcode the mappings for SNES in the SNES-specific retroarch.cfg (instructions here)
Hmm so there's no way to have both the N64 and SNES Adapters/Controllers working at the same time within Emulation Station?
I'd like to be able to plug in the N64 Adapter and controller when playing N64. Navigate around in ES. And when I want to play SNES do the same.
-
Is there a way to have two buttons configured for inputs for ES?
In my case I was wondering if I could edit the HuiJiaUSBGamePad.cfg and assign both the D-Pad for N64 and SNES.
Using the Up button for example.
N64 is assigned as input_up_btn = "h0up"
SNES is assigned as input_up_axis = "-1"Is there a way to combine this so that I can use Up/Down/Left/Right in ES for both controllers at the same time? That's the only thing wrong with my my current setup. All of the other buttons seem to work fine with my setup.
-
@Jeebs said in Issue with having two Mayflash adapters:
Using the Up button for example.
N64 is assigned as input_up_btn = "h0up"
SNES is assigned as input_up_axis = "-1"Try it!
I think it will work.
edit: oops! I meant, it will work for retroarch, I don't know in emulationstation... -
@meleu said in Issue with having two Mayflash adapters:
@Jeebs said in Issue with having two Mayflash adapters:
Using the Up button for example.
N64 is assigned as input_up_btn = "h0up"
SNES is assigned as input_up_axis = "-1"Try it!
I think it will work.
edit: oops! I meant, it will work for retroarch, I don't know in emulationstation...Doesn't work for ES. Is there a way to have multiple buttons assignments in ES? Two buttons for Up,Down,Left,Right so that SNES and N64 controllers can be used at the same time.
-
I just wanted to point out that pretty much this same exact problem happens with TONS of generic controllers which all overwrite the same config file in retroarch-joypads as well...
I don't see how this isn't, how does the saying go: a super huge elephant in the room? Like this is a HUGE deal...not being able to use controllers of different types at the same time. Really?
-
@Jeebs @Dochartaigh
hi! if you are able to access the command line, please plug in both your conflicting controllers, and then run:
dmesg -w
and paste the output here please :)i have a possible work-around for you.
-
I've been fighting this same problem today. I have a bunch of different RetroLink controllers (Atari 2600, NES, N64, Genesis) and they all overwrite each other. My workaround was what @meleu said. I had to hardcode the mappings for each specific retroarch.cfg file and then I configured the NES controller through ES. The fact that you can hot-swap controllers makes it not too bad. I just use the NES controller to navigate and once I fire up a ROM, unplug it and plug in the proper controller.
Contributions to the project are always appreciated, so if you would like to support us with a donation you can do so here.
Hosting provided by Mythic-Beasts. See the Hosting Information page for more information.