Setting up a Ipac2
-
@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.
-
@caver01 said in Setting up a Ipac2:
@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.
Sorry @caver01 I'm not being a pain It's not really splitting hairs even. It seems to be the wrong answer. He's asking a question and yes seems to be correct. Answering no seems misleading. He's already completely lost and I hate to see him abandon RetroPie because he finds it to complicated when really it's not if he tries it for a few days.
Here's the original statement he quoted from. He was asking a question based on what you and I were talking about and he quoted it.
@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.His original question based on that quote...
@battlecat 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?
Why is that not yes? You and I were clearly talking about the IPAC and how I was using the IPAC shift keys, remember 1+2 or 2+1. You are going away from the default settings for an iPac2-4 by disabling your hotkeys as he is specifically addressing the iPAC in his question. I suppose we can wait for him to clarify in a day or two.
-
@riverstorm The fault is mine. I was unintentionally confounding the issue by mentioning hotkeys in the context of IPAC shift functionality. Because I have hotkeys in retroarch disabled, I am never in a position to attempt two-button input. I just don't use it to exit emulators, which is why I have never noticed anything unique about the SHIFT function used in reverse--it's just not an experience I would stumble into. I even forgot about the P1-Start+P2-Start sending ESC by default.
In any case, language about these things is crucial if we are to make sense of anyone's configuration. So, "hotkeys" describes functionality of Retroarch that allows you to map certain features to a combination of key+hotkey. "shift" is a function built into the IPAC hardware. They work in similar ways, and most confusing of all--they can work at the SAME TIME which is why it is easy to get confused, even when trying to describe them.
-
@caver01 said in Setting up a Ipac2:
They work in similar ways, and most confusing of all--they can work at the SAME TIME which is why it is easy to get confused, even when trying to describe them.
Yeah that's exactly what I am doing using both simultaneously. Retroarch/libretro cores 1+2 or 2+1 it's not picky either way but non-libretro emulators needs to be 1+2 due to the IPAC shift key doing the work vs hotkeys.
I can't help to wonder if pressing a 3rd key would qualify for shift like 2+1+5 but I would imagine it would be smart enough to see it as multiple key presses if 2 is still held down. I'll give it a go tonight. :) A real keyboard is limited to 6 simultaneous key presses (which I've seem some use keyboard internals for MAME projects) but the IPAC even though still a keyboard encoder at heart is unlimited, I think. Hopefully though no games require 6 simultaneous buttons for a super-judo-double-twist-fist-punch or they will need to grow another finger! :)
I hope @battlecat just gives it the effort. He already has his IPAC setup if he's running mame4all-pi. He's closer than he thinks. Once over that hump the rest snowballs. The thought being it's better to tell 10 friends how awesome RetroPie is rather than tell 10 friends it's rubbish and don't use it! :)
-
@riverstorm The key limit on normal keyboards is a problem in multiplayer. For example, think about moving diagonally in Gauntlet, only you are playing a 4 player game with all four players moving diagonally while shooting. That's potentially 12 keys at once.
The other problem regular keyboards have is ghosting, where holding down a certain combination is like pressing different keys the way the keys are matrixed. I don't know if that is still a real problem given the way modern keyboards are setup with matrix scanning and diodes, but the IPAC boasts that it does not suffer from any of these issues.
-
@caver01 said in Setting up a Ipac2:
For example, think about moving diagonally in Gauntlet, only you are playing a 4 player game with all four players moving diagonally while shooting. That's potentially 12 keys at once.
Ah! I never thought of that. Usually we just play 1 or 2 players.
-
@riverstorm said in Setting up a Ipac2:
he 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.
So knowing that the iPac2 is default and that the keys are mapped to a joystick with 6 player buttons 1p start and a 1pstart what do you change to get out of FBA?
-
@battlecat said in Setting up a Ipac2:
So knowing that the iPac2 is default and that the keys are mapped to a joystick with 6
player buttons 1p start and a 1pstart what do you change to get out of FBA?To get escape/exit to work as Player 1 start + Player 2 start (1+2) I modify
/opt/retropie/configs/all/retroarch.cfg
and modify the two lines below.- input_enable_hotkey = "num1"
- input_exit_emulator = "num2"
That sets your hotkey and exit key for all Libretro cores. "num1" and "num2" can be anything you choose.
-
Hi guys.
First of all, thanks for all the useful guides and hints I've found here. I've just finished building recently my first arcade cabinet running Retroarch. It uses an IPAC2 controller for 2 players. I've wired everything, and hardware-wise it's all working fine.
However, i've been struggling for weeks with a problem that I just cannot find a solution for... I've read a lot of pages and all the guides I could find in this site (most liked to in this page). My problem is that I cannot get the 2nd player working.
Meaning, when I ask EmulationStation (or in retroarch) to remap the keys, I select the buttons and joystick directions so that player 1 works fine. But player 2 buttons are never recognized or even asked for. When I reset everything, the system only recognizes 1 controller and not 2 (which makes sense, since I only have 1 IPAC2, but i have 2 full sets of joystick+buttons wired to it)... However, if I use the player2 joystick and buttons during configuration, then those work but player 1 joystick+buttons do not. Meaning, I am sure all the buttons and joysticks are correctly wired (I can work with either p1 side or p2 side, but not both). Also if I exit to a retropie system prompt, pressing all my buttons (both p1 and p2) will show keys, so both sides of the layout are working.I checked all the examples you guys gave of opt/retropie/configs/all/retroarch.cfg, but it only shows how to setup the individual keys. Not how to get the system to work with 2 controllers from IPAC2... Right now my CFG files only show 1 controller (which I guess it's the default). Can I force it in some way to assume I have 2 controllers (even though I only have 1 IPAC2, which is recognized as a keyboard), and then use both sides of the IPAC2 to map keys for both players?
Many thanks for any suggestions you may have!! I'm close to dispair after dozens of hours trying to solve this myself...
-
@r_simoes Yes, edit the
opt/RetroPie/configs/all/retroarch.cfg
and add all of your player 2 input keys like the example above. If your IPAC is truly setup as a keyboard, this will work for libretro core emulators just fine. -
@caver01 said in Setting up a Ipac2:
@r_simoes Yes, edit the
opt/RetroPie/configs/all/retroarch.cfg
and add all of your player 2 input keys like the example above. If your IPAC is truly setup as a keyboard, this will work for libretro core emulators just fine.thanks for the suggestion, but I have done that previously and it still does not work. Don't I need to define a second controller earlier in the retroarch.cfg file? Right now the file only has 1 controller defined.
-
@r_simoes if the IPAC is truly running in keyboard mode, you do only have one controller—the keyboard. You end up mapping keys for player 1 and for player 2 (or in my case with an IPAC4, I have keys mapped for 4 players in my retroarch.cfg file). What do you mean by define a second controller? All you should have to do list the keys mapped for each player.
Sometimes people use curly smart quotes by accident in the retroarch.cfg file and that won’t work. Also, you can’t just arbitrarily pick keys you want to use—they have to be the keys sent by the IPAC. Do you know what keys are sent by the switches you have connected to each button? Are you using defaults? If you know the answer to these questions, how do you know the answer? Have you checked with WinIPAC utility?
-
@r_simoes said in Setting up a Ipac2:
Don't I need to define a second controller earlier in the retroarch.cfg file?
You need to think of the keyboard as a single controller/device that's capable of handling input for multiple players. Traditionally controllers are one device per player and that might be what's making it confusing. In all honesty you could actually map player 2 controls on the player 1 controller but that wouldn't make much sense. It's different with the keyboard.
When doing you're initial config on bootup you can use either the IPAC keys or the keyboard because they are treated the same as far as Retroarch is concerned. You can play any game on either (keyboard or IPAC) at the same time too!
Also they keys defined during the initial setup are for player 1 only but there's a surplus of keys on a keyboard so you're next step (if player 1 is working correctly) is to follow @caver01 's example link to setup the player 2 inputs, from the keyboard, using keys that weren't used for player 1.
If you didn't change your default IPAC keys those are the keys you want to use when working in the all/retroarch.cfg in the example link caver provided.
Default IPAC keys:
-
Hi Caver01 and Riverstorm.
Thanks for the input.
I think my problem is that since I am using an 'image' that I recorded to an SD card, the controller might not be properly configured... But I am not sure.
I have tried resetting the controller configuration by calling the 'Configure Input' option of EmulationStation, which basically asks me to click on each button at a time and move the joystick in each direction at a time, but that only asks for 1 player controls, never a 2nd player.
I am including here some photos I took of the screen. Could you please check if something here hints at a wrongly configured system?
Also, could you please share the entire opt/RetroPie/configs/all/retroarch.cfg file configured for a keyboard, instead of just some parts?
Many thanks again. Sorry for my newbieness...
-
@r_simoes I am not by my Pi but since I have a bunch of custom stuff in my retroarch.cfg, I don't share the whole thing, as it will break other people's systems in most cases.
One thing I do see right off the bat is that you have numbers assigned to l and r which is odd. First of all, you cannot set numbers like that "5" won't work, but "num5" will.
Also, it seems like the keys you have for l and r are what I normally have for start and select. MAME default for Player 1 start is "num1" and coin(select) for player 1 is "num5". Do you have them wired wrong? Just a thought. It would probably work if you use the proper "num" designation, but it is definitely not default.
-
Hias Caver01.
But this works fine for player1, yet ignores completely player2... Is it possible the setup is configured as a pad and not a keyboard, and thus, does not expect more than 1 player buttons+joystick?
Is it normal that when I exit to a prompt I get "[info][controller 1] Created devices /dev/input/js0 (joystick) ?? <<< See first image I posted.Is there a way to completely reset the controller configuration in a system where a controller has already been configured?
I understand your point about the buttons. I think I wired the joystick 'rotated' and also wired the buttons with wrong positions, but that should only lead to the wrong buttons working, and not the system only accepting either all player1 side, or all player 2 side (but not both). I really am starting to think it's a matter of the controller not being a keyboard, but I have no idea how to fix that.
thanks!
-
@r_simoes the only way I know of to check/correct the IPAC mode is using the WinIPAC utility. That means you have to connect it to the USB port on a windows machine, load the software from Ultimarc and set the configuration as a keyboard. I think there is also firmware you can load with the utility that ensures it is properly detected as a keyboard, but this is beyond my experience because my IPAC 4 is like 10 years old and ONLY works as a keyboard.
You are right that if you wired things a little differently you can still map things to correct the changes, but it adds an extra hassle when the IPAC comes preset with MAME defaults that work as raw inputs. For example, if you were to use AdvanceMAME, (not a libretro core, so it ignores everything you do in retroarch.cfg) it would work perfectly without any changes--but not for you--because you have it wired in an unexpected fashion, you would have to remap things to fix that.
Yeah, I also don't get that [info][controller 1] stuff on my screen. Might be an automap joystick configuration? It's also a little odd that your input_libretro_device_p1 = 3 and p2 = 3--I have all of those lines commented out in my retroarch.cfg.
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.