Configuring I-PAC 2 with rPi3
-
Has anyone managed to configure the I-PAC 2 when connected to the rPi?
I'm hoping to disable the shift control (or reconfigure the shift combinations to null) so that people playing on my arcade table don't accidentally trigger Mame's menus, pause functions, etc.
I realise this would have been straightforward using WinIPAC via Windows or Mac but I don't really want to disassemble my table at this point to do that. I saw there were some (unsupported) Linux products available for programming the I-PAC 2 so was wondering if anyone has used them successfully? And, if so, whether they could give me some pointers on using them with a rPi?
-
Do you mean you want to disable the hotkey combinations, or you want to stop a single button from performing an action?
I briefly mention hotkeys on a similar setup here: -
@Floob : Thanks for the reply. I'm referring to the hardware mapping in the actual I-PAC 2 as opposed to the hot-keys in LibRetro. The default I-PAC 2 mapping has it so pressing shift (Player 1 Start) + various other buttons will simulate key presses which pause mame, bring up menus, etc. I don't want to disable that behaviour as I might want to tweak it by plugging in a keyboard. What I want to do is to reprogram the configuration of the I-PAC 2 so that shift + any other control doesn't yield a keypress.
Ultimarc have a Windows/Mac utility called WinIPAC/MacIPAC which allows you to connect the I-PAC 2 to your computer and configure which controls/buttons yield which keypresses, so I could use that to reprogram it appropriately. I don't want to open up my arcade table though unless there's no other option. I believe the link in my previous post gives a Linux version of this utility but I'm not familiar enough with Linux to just dig in and try it out. So I was hoping to see whether anyone else had tried reprogramming the I-PAC 2 directly from the rPi.
I skimmed through your video (which is really interesting and one that I will likely watch in full later) but think it's referring to hotkey controls within mame rather than reprogramming the controller itself?
-
Ah yes, the video is more about the libretro settings.
Although I guess you could invalidate the signal it sends with the combo presses by setting libretro value for that action to nul?As you say, it looks like there are some linux based tools to tweak the settings directly:
http://katiesnow.webs.com/Do you know what key signal each combo sends?
-
@Floob : I could definitely invalidate the key presses triggered by the shift-actions as you suggest and remap the ones in Mame to other keys so I could still use them from a keyboard. I'd much rather disable them from the I-PAC 2 though. The functionality to do so definitely exists and would be easy via Windows or Mac. It's just the Linux route that I'm unsure of.
These are the default keys that it's using at the moment.
It's only a minor detail really as everything else is up and running nicely now and those combos are unlikely to be hit by accident very often. Even so, it would be nice to get it reprogrammed :)
-
@Rok I can't find my original post on the old forum, but I have asked about the IPAC utility for Linux. There was a thread I started over at the PiPlay forums, but they did a spam cleanup and accidentally deleted all of my posts over there. Anyway, I didn't get a lot of input, so I figured nobody was really using it. I decided to try compiling it myself.
After a very long process of loading libraries and trying to figure it all out (it was my first foray into compiling source code on the Pi) I finally got the utility built! However, I don't know how to use it, or I was unsuccessful. I know that it requires setting permissions on the USB devices or something so you have the ability to write to the IPAC. Anyway, I have the binaries, but not sure what good they are--I ended up plugging my IPAC4 into my mac and configuring it. Actually, I used Virtual Box to configure it using WinIPAC which seemed to work better for me than the mac version.
-
@caver01 : Thanks for the info! It doesn't sound like such a profitable route to go down then. As I mentioned in the other thread, I neglected to leave myself easy access to the inside of my arcade table so I really don't want to go in there unless I have to. I'll hold out in the optimistic hope that someone's going to drop by here who's had some success with the Linux tool (or maybe I'll try contacting the author).
-
@Rok I'd love it if THIS PERSON would find an interest in trying his GUI on the Pi. If you are going to contact someone,
he/sheTravis might be a good candidate! -
@caver01 : I've sent an email off to the other person (Katie). It looks like Travis hasn't worked on his GUI version for quite a while and I would assume he would need to update it for the 2015 and newer boards. If you want to try chasing him up while I try chasing Katie up then we might have some degree of success between the two of us :D
-
@Rok Hmm. That may be easier said than done. I can't find an email address for Travis and a whois reveals privacy settings via his domain registrar. It's going to take more digging to find him unfortunately.
I did find a post here on a forum where someone has listed each of their commands used at command prompt to successfully use the ipacutil. I didn't find that the first time around. I may reload the binaries again and see if I can get a similar detection going with the utility, but it will be several days before I can play with it.
-
@caver01 : That may be promising! Let me know how it goes. Every step of the way in Linux is a learning process for me...
-
@caver01 This is his user: http://forums.arcade-museum.com/member.php?u=35360
Mention of the 2 here:
http://www.aussiearcade.com/showthread.php/77290/ -
To build and run the Ultimarc-linux tool you will want to do the following. rPi is Debian based so these instructions will obviously be tailored that direction. All these instructions are in a more generic form at the Ultimarc-linux Github site.
You will need to know your super user password to download and install the udev file.
install the following libraries
sudo apt-get install json-c
sudo apt-get install libusb-dev
sudo apt-get install libtoolIf libusb-dev isn't working try libusb-1.0. I may have my documentation wrong.
Pull down the source code.
In the top directory run the following commands
./configure
make
sudo make installThe last command will install the udev rule which will allow the executable to communicate to the board. At least I think it does. If not then the rule needs to be copied into /etc/udev/rules.d
sudo cp 21-ultimarc.rules /etc/udev/rules.dThis will give you umtool.out in the src/umtool directory.
Inside the src/umtool directory there are json files that you can modify or copy and adjust as needed. In your case where you want to remove the shift functionality pick the ipac2_<year>_default.json and the following entry; ("1/2 shift key" : "")
Run the command umtool.out ipac2_<year>_default.json.
The output will state if you configured the board or not.
This is from memory, so if it is off I apologize. Good luck.
I have updated my post with additional information about the libraries and the udev rule.
-
Resurrecting this topic as it appears to have never been full closed. I have posted this on the Ultimarc-linux GitHub site as well.
I would like to be able to reprogram my IPAC2 on the fly through before launching an emulator, and was hoping this program could do that for me. But I am having issues while trying to program a the IPAC2 via umtool.
sudo ./umtool ./ipac2_2015_default.json Loading ./ipac2_2015_default.json... [INFO] (ultimarc.c:53) Configuration is IPAC2. [Validated] [INFO] (ipac.c:373) Updating IPAC2 board... [ERROR] (common.c:68) Unable to claim interface. [INFO] (ultimarc.c:140) Board update failed.
lsusb shows the IPAC as
Bus 001 Device 006: ID d209:0420 Ultimarc
I have compiled umtool on a current Retropie image running on a Raspberry Pi 3, and have copied the 21-ultimarc.rules file to /etc/udev/rules.d, which results in the above error.
I also tried modifying the rules file with the group settings suggested in (https://github.com/katie-snow/Ultimarc-linux/issues/25), changing the IDs to match my device. Same error.
I'm no expert on udev and don't know how to troubleshoot any further. Has anyone been successful with this kind on setup in RetroPie? Any suggestions?
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.