IPAC2 issue - 2 actions when pressing 1 button with lr-mame2003
Pi Model or other hardware: Pi 3
Power Supply used: 5V - 3A
RetroPie Version Used v4.3
Built From: Pre made SD Image on RetroPie website - retropie-4.3-rpi2_rpi3.img
USB Devices connected: USB keyboard / IPAC2 (bought in 2017 / FW 1.44 / Gamepad enabled NO)
Controller used: Sanwa JLF-TP-8YT Ball Top Joystick / Sanwa OBSN-30 Screw In Arcade Button
Error messages received: None
I´m currently building my arcade cabinet using Sanwa Joysticks and Buttons with an IPAC2.
After a clean install (more than one) I configured first controls in EmulationStation. Everything fine, IPAC is identified as keyboard.
This is my Controls-Layout for Player 1:
UP SW4 SW3 SW5 LEFT RIGHT DOWN SW2 SW1 SW6
which results in IPAC2 output:
UP LSHI SPAC Z LEFT RIGHT DOWN LALT LCTL X
I have named the buttons this way
UP Y X L LEFT RIGHT DOWN B A R
No changes in any retroarch.cfg or other configs.
My issue is while playing BubbleBobble or Xevious when hitting button B/SW2 I get two actions:
BubbleBobble: A/SW1 -> shoot bubble (OK); B/SW2 -> jump AND shoot bubble (NOT OK)
Xevious: A/SW1 -> shoot Zapper (OK); B/SW2 -> shoot Bomb AND shoot Zapper (NOT OK)
This does not happen in NES or SNES games.
With Player 2 this does not happen.
What I already did to get rid of this issue:
Checked IPAC2 with Keyboard Tester -> OK, no double actions
Checked Button: wired another button -> the issue is connected to SW2 regardless the physical button
Checked retroarch.cfg: Still standard; I also checked via TAB Menu, also nothing non-standard
Player 2 works fine without any configuration, also no player 2 mappings in retroarch.cfg.
I understood that there is an input bug with older IPAC´s, but think this doesn´t apply here.
I had this issue with v4.2 and now v4.3.
I have already worked through this posts without finding a solution (but learning a lot):
As I focus on arcade classics with my cabinet I was already thinking that the IPAC2 is the problem, but then I tried with NES and SNES games and the issue didn´t come up there.
@fingal Good info so far. It might help to see some of your config files. Use pastebin and show us:
and any other retroarch.cfg from the emulator folder.
nothing in there
# Settings made here will only override settings in the global retroarch.cfg if placed above the #include line input_remapping_directory = "/opt/retropie/configs/arcade/" #include "/opt/retropie/configs/all/retroarch.cfg"
# Settings made here will only override settings in the global retroarch.cfg if placed above the #include line input_remapping_directory = "/opt/retropie/configs/mame-libretro/" #include "/opt/retropie/configs/all/retroarch.cfg"
No rom-related cfg-files.
# Settings made here will only override settings in the global retroarch.cfg if placed above the #include line input_remapping_directory = "/opt/retropie/configs/nes/" #include "/opt/retropie/configs/all/retroarch.cfg"
# Settings made here will only override settings in the global retroarch.cfg if placed above the #include line input_remapping_directory = "/opt/retropie/configs/snes/" #include "/opt/retropie/configs/all/retroarch.cfg"
Did I miss one?
Did I miss one?
No, I think you nailed it. The only thing I see in the controls that is odd/different from MAME defaults is
input_player1_l = "q" input_player1_r = "w"
These are normally used for player 2, buttons 3 and 4 (X,Y).
Here are my defaults, and all of these are lines from my
input_player1_a = alt input_player1_b = ctrl input_player1_y = shift input_player1_x = space input_player1_start = num1 input_player1_select = num5 input_player1_l = z input_player1_r = x input_player1_left = left input_player1_right = right input_player1_up = up input_player1_down = down input_player2_a = s input_player2_b = a input_player2_y = w input_player2_x = q input_player2_start = num2 input_player2_select = num6 input_player2_l = i input_player2_r = k input_player2_left = d input_player2_right = g input_player2_up = r input_player2_down = f
It does sound like your Switch 2 (button 2) is sending two inputs. If you are sure you don't have a wiring issue where both are connected together somehow, you might be just as well to simply attach a real keyboard, press TAB in any game using lr-mame2003 and bring up the MAME GUI menu, then map keys for ALL GAMES and simply find player 1 button 2, and remap it using the single button.
From that point forward MAME will remember this and you will have cleared out double mapping for future games.
press TAB in any game using lr-mame2003 and bring up the MAME GUI menu, then map keys for ALL GAMES and simply find player 1 button 2, and remap it using the single button.
This didn´t change the unwanted behavior directly, BUT...after checking again I recognized that with Player 1 Button 1 the menu said LCTRL or Retropad B (and someting else I can´t remember). So I remapped also Button 1 and this did the magic!
Now Player 1 Button 1 says LCTRL RetroPad A and Player 1 Button 2 says LALT RetroPad B and everything is fine.
Thank you for your support!
@fingal perfect! That’s what I was hoping it would do, but hard to explain exactly. So:witnessed you have to go back to games that you already tried mapp8ng 8n this manner and update those too, because they might have their individual saved key maps.
Glad we solved it.