Setting up a Ipac2
-
@caver01 said in Setting up a Ipac2:
In conclusion to Question 2, I think you need to think about the fact that pressing P1+P2 is not keyboard ESC at all, it's "num1"+"num2" which is probably why it isn't working the way you expect.
I think we do some things differently. By default P1+P2 (1+2) send the escape key with IPAC's. That's why I match Libretro hotkeys so I can exit standalone and Libretro cores with the same set of keys.
I think it's important to understand what @caver01 wrote so you know when it's Libretro or standalone and how they effect each other. Once you get the basics down then dive deeper into individual emulators and game specific configs. It's important to understand the hierarchy of input configuration.
I also have the same button organization as you guys except the rows are reversed and in a Hori layout (slightly offset). When I configure my input I use either the keyboard or IPAC because as once configured both work the same.
- Joystick/Keyboard - Up, Down, Left, Right
- Start - 1
- Select - 5
- A - lctrl (lalt if you want to swap A&B to match a controller)
- B - lalt (lctrl if you want to swap A&B to match a controller)
- X - space
- Y - lshift
- Left Shoulder - z
- Right shoulder - x
The rest of the keys I hold the space key down and skip defining any other keys because I only have 6 buttons. Plus player 1 & 2 start (1 & 2) and coin in (5).
To get escape to work as 1+2 I modify /opt/retropie/configs/all/retroarch.cfg
- input_enable_hotkey = "num1"
- input_exit_emulator = "num2"
I do the A&B button swap mentioned in the input configuration so my arcade control panel matches a controller. When I play Mario Bros. in NES with my arcade control panel buttons 1 & 2 match a controller. This works with several older consoles like Atari, NES or SNES but not for example a N64 that requires an analog joystick vs. an arcade joystick or a more complex button layout.
My inputs are configured to match MAME but also when you configure input with ES it's what Libretro cores use. That's why it works for both standalone and Libertro cores.
For controllers I have never had an issue. I configure input within the ES menu and fill in all the inputs using an XBOX joystick. Once complete I turn on a 2nd controller (same model) and jump right into a game of Metal Slug for example. Both P1 + P2 sticks work with no extra configuration.
-
P1+P2 (1+2) send the escape key with IPAC's
AHH yes. This refers to the IPAC "Shift" feature. I forget about this. One more layer of confusion!
@battlecat So, your description about the combo of P1_Start and P2_Start is probably correct (ESCAPE). Sorry, I think I disabled that one a long time ago on mine because I have a switch mapped to ESCAPE with a dedicated button.
-
@riverstorm said in Setting up a Ipac2:
To get escape to work as 1+2 I modify /opt/retropie/configs/all/retroarch.cfg
input_enable_hotkey = num1
input_exit_emulator = num2But if the IPAC is configured to go to SHIFT FUNCTION with P1_Start + P2_Start = Escape, it will not send a num1+num2. The IPAC is smarter than that. It won't even send num1 until you release it (just in case you do a shift).
-
@caver01 said in Setting up a Ipac2:
But if the IPAC is configured to go to SHIFT FUNCTION with P1_Start + P2_Start = Escape, it will not send a num1+num2. The IPAC is smarter than that. It won't even send num1 until you release it (just in case you do a shift).
Ah that makes sense now! I could never quite figure out why instead of 1+2 you need to press 2+1.
Is there a time delay setting between hotkey presses in Libretro cores that could be adjusted or does it need to detect them simultaneously?
-
@riverstorm I dunno. I have also never tried to invoke the IPAC shift in reverse order.
Remember, I have hotkeys disabled.
-
@riverstorm Thinking about what you said again, I wonder if the IPAC shift function just doesn't happen if you do it in reverse order, so when you do 2+1, maybe that combo actually DOES get through to retroarch and invokes the hotkey. That is interesting. And if you do 1+2, that won't go to retroarch because IPAC SHIFT takes over and sends "escape". This sounds logical.
-
@caver01 said in Setting up a Ipac2:
@riverstorm I dunno. I have also never tried to invoke the IPAC shift in reverse order.
Remember, I have hotkeys disabled.
You're not really invoking the IPAC shift in reverse order. You're just sending 2+1 to exit Libretro cores then 1+2 sends escape in a standalone emulators such as AdvMAME.
-
@riverstorm said in Setting up a Ipac2:
You're not really invoking the IPAC shift in reverse order. You're just sending 2+1 to exit Libretro cores then 1+2 sends escape in a standalone emulators such as AdvMAME.
Exactly. So in reverse, no SHIFT, but Hotkey is picked up by retroarch, but done in 1+2 order, no hotkey (nor 1 nor 2, because IPAC SHIFT grabs it and sends ESC)
-
@caver01 said in Setting up a Ipac2:
@riverstorm Thinking about what you said again, I wonder if the IPAC shift function just doesn't happen if you do it in reverse order, so when you do 2+1, maybe that combo actually DOES get through to retroarch and invokes the hotkey. That is interesting. And if you do 1+2, that won't go to retroarch because IPAC SHIFT takes over and sends "escape". This sounds logical.
You got it! That's what I am doing and it works pretty decent. It's also handy for some of the older consoles on an arcade control panel too, button layout that is!
The Atari, NES and SNES had really simple button layouts that can be mimicked on the control panel and are playable. Atari needs analog input so want to continually go in one direction if that makes sense. It's not perfect but playable. Like Mario Bros. on NES works fine. Newer more complex controllers can't match the button layout or analog control.
-
@riverstorm But here's the problem I kept running into (which had me disable BOTH the SHIFTED ESC and the hotkeys: When I would play games like Metal Slug, SmashTV, or any game where you press START to continue, there was a chance of two players doing it at the same time and BANG, the game exits, either because ESCAPE was picked up by MAME as a RAW key, or because RetroArch picked up the hotkey exit command.
This was especially driving me nuts when my hotkey was enabled with default exit of Start+Select(coin). I'd be single-player running and gunning through Metal Slug, and need to drop coins to add credits. I would press my coin button rapidly, and sometimes pressing start to get back into the game and BANG, it exits! That was driving me nuts.
For me, the solution might have been to consider other hotkey options or other exit keys, but in the end, since I have a dedicated button, I just disabled hotkeys completely, and set that dedicated key to EXIT with the WinIPAC utility, configured retroarch to exit with ESC as well.
-
@caver01 said in Setting up a Ipac2:
For me, the solution might have been to consider other hotkey options or other exit keys, but in the end, since I have a dedicated button, I just disabled hotkeys completely, and set that dedicated key to EXIT with the WinIPAC utility, configured retroarch to exit with ESC as well.
Ah that makes sense. For some reason the IPAC4 doesn't have a dedicated ESC input but the IPAC2 does so I wired it to the side of the box in addition to hotkeys. It wasn't really needed but I still use it once in a while.
-
@riverstorm said in Setting up a Ipac2:
For some reason the IPAC4 doesn't have a dedicated ESC input
It's OK because with 4 players and 8 switches each, plus joystick, start and coin, that's 14 inputs x 4 players. There isn't a game that I know of that needs 8 pushbuttons for player 4! Heck, my player 3 and 4 controls only have 4 buttons each (with 6 each for P1 and 2 on horizontal side). So, it's super easy to configure ESC on one of the unused switches. I actually did "P" for pause too. I could have done TAB, but I use another keyboard when configuring (or a secondary shift function to get TAB).
Bottom line for anyone else following along. . . It can be very complicated. The IPAC is great, but there are many important considerations.
-
@caver01 said in Setting up a Ipac2:
I actually did "P" for pause too. I could have done TAB, but I use another keyboard when configuring (or a secondary shift function to get TAB).
I also hooked up all 4 of the IPAC2 dedicated buttons. Enter, ESC, Tab and P on the sides in black to blend a little. Maybe they didn't add them to the 4 because like you were saying the surplus of buttons allows you freedom to re-purpose some of the inputs if you like.
Agreed it can get complex fairly quickly it's easy to forget there's so many layers after working with it a while. It definitely adds flexibility but also complexity. For me it was a lot of trial and error but it sure helps with the understanding how it all works. :)
-
@caver01 said in Setting up a Ipac2:
Remember, I have hotkeys disabled.
Wouldn't disabling your hotkeys go away from the default settings for an iPac2-4?
-
I look at the complexity and detail of this thread and think hmm thank god that the regular controller users don't need to go through this.
I still have no clue what to do.
-
@battlecat said in Setting up a Ipac2:
@caver01 said in Setting up a Ipac2:
Remember, I have hotkeys disabled.
Wouldn't disabling your hotkeys go away from the default settings for an iPac2-4?
It would.
look at the complexity and detail of this thread and think hmm thank god that the regular controller users don't need to go through this. I still have no clue what to do.
I think it's like @caver01 was saying. It's a bit complicated and you just need to dive in and when you get stuck explain exactly what's happening and people on the forum would help for sure.
I don't think you can really compare IPAC users to controller users. The IPAC is going to be more like an arcade cabinet that you may loosely emulate consoles on and controllers are more like consoles that can also play arcade games.
It's definitely more complex to setup an IPAC but so is building & painting a cab, drilling holes in it, mounting a monitor, wiring the joystick & buttons to the IPAC, etc.
With a controller you need nothing but a joystick. I have just that too. It's a Pi, case, wireless dongle and four joysticks plus cables.
Either works but one is definitely more complex. Even taking the IPAC defaults configuring an input device in ES/Retroarch should get everything up and running. You said you have mame4all working so the others should follow suit.
Once you get the basic functionally going then I would further refine it. Even if all that was all automated you'd still need to do a bunch of tweaking and configuring if you wanted to take advantage of say Dank's vertical shaders or Ubd's overlays, maybe analog joystick control instead of the D-Pad, optional packages like AdvMAME, custom themes, scraping, etc. The thought being is unless you dig in and start somewhere and ask for help you'll have to settle for very basic input configuration which actually works quite well.
-
@riverstorm said in Setting up a Ipac2:
@battlecat said in Setting up a Ipac2:
@caver01 said in Setting up a Ipac2:
Remember, I have hotkeys disabled.
Wouldn't disabling your hotkeys go away from the default settings for an iPac2-4?
It would.
NO it would not. When I said I have "hotkeys disabled" I am talking about a retroarch configuration. This is not a change of IPAC defaults. It is turning off a setting within RetroPie.
Now, I also happen to have personalized/modified the IPAC shift functionality--but this is very different from the hotkeys, even though they function similarly. It may not be necessary to do anything with IPAC defaults in this regard, but on my cabinet, given the dedicated buttons I have for admin functions, it made sense to adjust the IPAC configuration the way I have. It's not something I would push as a standard config.
-
@caver01 said in Setting up a Ipac2:
I also happen to have personalized/modified the IPAC shift functionality
I guess he didn't specify in his question whether he was referring to Retroarch or IPAC when altering default parameters but since your Retoarch hotkeys are disabled and your IPAC shift functionality has also been altered I figured answering "It would" was a safe answer since neither Retroarch or your IPAC is set to defaults. :)
-
@riverstorm The clarification is on my end. I said I had hotkeys disabled. He asked if that was a variance from IPAC defaults. The answer is no, because disabling hotkeys has nothing to do with the IPAC. It's a retroarch configuration.
-
Some of you might have noticed another thread from someone trying to configure an IPAC. It appears as though the user wired the IPAC AB terminals to actual pushbuttons expecting these to work in MAME. The problem is that the default key mapping for the AB buttons on newer IPAC boards triggers admin functions. So, I wrote a paragraph in the WIKI work in progress to avoid a few pitfalls. I recommend NOT using the AB switch terminals for regular pushbuttons, opting for SW1-8 instead. Many of us have already figured this out, but in the spirit of success with defaults, the 1A, 1B, 2A, 2B switch terminals will only lead to pain and remapping for new users. These are GREAT for wiring dedicated admin buttons, but not regular player action pushbuttons.
A next step for the WIKI that I would like to add is to incorporate some of the ideas and diagrams detailed in this post. It was a while ago, but I find some of the imagery to be very informative, especially the way the button positions, IPAC switches, KEYS and console mappings are all represented with just a few images. I really like the diagram that ties a key back to retroarch.cfg. I think we could cover a lot of ground with some of that imagery.
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.