Setting up a Ipac2
-
@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.
-
@r_simoes I still think you should fix your numbers to num5 and such. If you look just above your inputs for player 1 you can see the commented block of text where they are giving you the possible values for input mapping. See how numbers all have "num" in front of them? Maybe straight numerals works, but who knows if all cores respect that deviation? Why not use what you are supposed to use?
-
Hias.
Yes, I am definately going to change the "5" to "num5" in all buttons.
Regarding the IPAC, I used it right out of the box. I did not change anything at all. So everything in the IPAC is for sure set to default. What isn't right is in which IPAC connectors I wired each button and joystick direction...
When I said I think the problem is the configuration not being set as keyboard, I meant in retroarch or emulationstation... Not the IPAC... How do I force EmulationStation to accept the IPAC as a keyboard?
Since I used a pre-made image that already had everything installed (retropie, retroarch, and emulationstation, in addition to ROMs), I think the person who made the image had a controller (like a PS pad), and thus he probably set config for that. -
@r_simoes said in Setting up a Ipac2:
Since I used a pre-made image that already had everything installed (retropie, retroarch, and emulationstation, in addition to ROMs), I think the person who made the image had a controller (like a PS pad), and thus he probably set config for that.
Oh, geez. Burned again. You violated the 5th rule of the !! READ THIS FIRST !! document:
- Make sure you are using an official image, or have done a manual install yourself. We will not support 3rd party images.
So, unfortunately, all bets are off. That image you have could have any number of goofy configuration problems. Even if you think it is fine, there's no way for anyone to know. Why aren't you asking the person who built it for help? That's is your best option.
Now that that's out of the way, your second option is to reload RetroPie from an official image, and read the documentation. It's there for good reasons (as you are finding out the hard way).
Finally, I will tell you that a default configuration of IPAC does not mean it won't be detected as a gamepad device. Just search the forums. Many people use IPACs out of the box and the default firmware often shows up as a gamepad/joystick. That's why I suggested that you check it with WinIPAC utility.
Look, all of the advice above still stands. I have given you good troubleshooting ideas. At this point though, I think we have to stop. Until you start using an official image, your best source of support has to be the person who you got your setup from. Sorry, but that's the way it works.
-
Hi Caver01.
Thanks. I understand. I will try the WinIPAC, then if that does not work, follow through on reinstalling an official image from scratch, and go from there.
Two last questions, if you don't mind:
I checked the retroarch info, and also the emulationstation info, and I cannot seem to find an official image that already has a complete basic system installed (meaning: retroarch, emulationstation, and emulators)... Everything needed except ROMs. Is there such an image, and I am just not finding it? Everywhere I read it seems that emulators have to be individually installed and configured. Is that correct?
In your IPAC4, if you ask EmulationStation to configure the controller again, does it ask for buttons for all 4 players?
Cheers.
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.