Adding a 9th button to GPIO
-
You need to install the hotkeybtn variant of mk_arcade_joystick, this isn't installed by the RetroPie installer as it isn't part of the main branch, but can be done manually from the command line. The instructions aren't clear on their git page, but I think this is the correct order.
git clone https://github.com/pinuct/mk_arcade_joystick_rpi/tree/customgpiohotkey
mkdir /usr/src/mk_arcade_joystick_rpi-0.1.5/
cd mk_arcade_joystick_rpi/
cp -a * /usr/src/mk_arcade_joystick_rpi-0.1.5/
dkms build -m mk_arcade_joystick_rpi -v 0.1.5
dkms install -m mk_arcade_joystick_rpi -v 0.1.5
Once you have done this and restarted, I think that you should be OK, as it will upgrade the version already installed.
The reference is on the git page: https://github.com/recalbox/mk_arcade_joystick_rpi/tree/hotkeybtn
-
@simonster said in Adding a 9th button to GPIO:
You need to install the hotkeybtn variant of mk_arcade_joystick
Thanks!!! I'll give this a shot tonight or this weekend and let you know how it goes.
-
@theRog05 do both controllers have a 9th key or just one controller? If only one is it actually going to controller 1?here is something you could try. Set up the controller in emulationstation and choose select as your hotkey. Now open up /opt/retropie/configs/all/retroarch/autoconfig/NAMEOFYOURCONTROLLER.cfg and find the hotkey line and change it to the correct button number. I assume that would be 8. (Since buttons start with zero)
-
Hi @edmaul69 , the problem is the standard GPIO driver only has 8 buttons and 4 directions per pad (equivalent of a SNES pad), you can add a 9th but it requires a fork of the standard driver that removes I2C support whilst installed, it appears that they were previously using this when using Recalbox (as GPIO 3 and 5 are the correct wirings for this in the driver) but the version included in RetroPie is the main branch and doesn't include support for the 9th button.
-
@edmaul69 : I actually did try just adding an 8 to the .cfg file and that didn't work. As @simonster mentioned, mk_arcade_joystick needs the update to allow the hotkeybtn. I'll be trying this when I get home after work, as long as the wife doesn't have me doing anything else -___-
Thanks, guys. -
@simonster Unfortunately, the first line you mentioned above results in a "repository not found". I tried copying the files manually, but then when I run the 'dkms build' I get "Your kernel headers for kernel 4.9.35-v7+ cannot be found at /lib/modules/4.9.35-v7+/build or /lib/modules/4.9.35-v7+/source". I've tried updating the headers with "sudo apt-get install raspberrypi-kernel-headers", but that didn't work either. Any ideas what else could be wrong?
-
It worked for me, but this was some time ago. Try the recalbox copy of the fork
git clone https://github.com/recalbox/mk_arcade_joystick_rpi/tree/hotkeybtn
If you have updated the kernel headers, I don't know why it wont compile.
-
@simonster This also failed to find the repository. :/
-
I just ran this command and it cloned successfully:
git clone https://github.com/recalbox/mk_arcade_joystick_rpi.git -b hotkeybtn
I am trying to compile it at the moment (there are a few issues with the code), there is also the matter of the missing headers, so bear with me and when I get something I will update this thread.
-
Hi @theRog05
How are you using kernel 4.9.35-v7+? I have just run an update in RetroPie-Setup and am still using kernel 4.4.50-v7+
Can you fill in the detail list in https://retropie.org.uk/forum/topic/3/read-this-first
-
@simonster I've been working on this all day so far and started getting some other funky errors (probably from me messing around in there). So I decided to wipe the card and start fresh. Once I get my card loaded up, I'll give this a try again. Sorry, wish I saw this message before I went and formatted the card.
P.S. - Thanks for your continuous help on this!
-
No problem, I can only assume you had run rpi-update at some point and ended up with a unstable beta kernel.
-
@simonster I'm pretty sure I did run rpi-update at some point in the past 7 hours. haha. I do remember using kernel 4.4.50-v7+ and I was also wondering why 4.9.35-v7+ was being used. Oh well, starting fresh now. As soon as I get it loaded on the Pi, I'll follow your steps again to clone the hotkeybtn branch in the mk_arcade_joystick_rpi repo and see what I can come up with. Thanks again!
-
I have just tried this method and it worked for me completely:
Install MK_Arcade_Joystick from the drivers in the retropie setup. Then exit Emulation Station by pressing F4
rm -r mk_arcade_joystick_rpi
git clone https://github.com/recalbox/mk_arcade_joystick_rpi.git -b hotkeybtn
sudo mkdir /usr/src/mk_arcade_joystick_rpi-0.1.5.1/
cd mk_arcade_joystick_rpi/
nano dkms.conf
change the line that begins PACKAGE_VERSION to read
PACKAGE_VERSION="0.1.5.1"
Press Ctrl+X and then Y and Enter to exit and save changes
sudo cp -a * /usr/src/mk_arcade_joystick_rpi-0.1.5.1/
sudo dkms build -m mk_arcade_joystick_rpi -v 0.1.5.1
sudo dkms install -m mk_arcade_joystick_rpi -v 0.1.5.1 --force
Once installed, restart the Pi using the following command
sudo shutdown -r -t 0 now
-
@simonster Awesome. I'll give that a try when the card loads back up. And after I replace my sisters shock in her car. -____-
-
@simonster your advices on this topic are the most usefull on the net. I'm sorry that therog05 don't follow his own topic. I'm in the same case so i follow every step you are describing with the 4.9.35-v7+ kernel.
On the line :
git clone https://github.com/recalbox/mk_arcade_joystick_rpi.git -b hotkeybtni get :
fatal: destination pathmk_arcade_joystick_rpi
already exist and is not an empty directoryIt is impossible to go after.
If you are always following this topic, i'm very intersting by what you can belong to me with your knowledge.
Cheers my friend
-
@loujez said in Adding a 9th button to GPIO:
On the line :
git clone https://github.com/recalbox/mk_arcade_joystick_rpi.git -b hotkeybtni get :
fatal: destination pathmk_arcade_joystick_rpi
already exist and is not an empty directoryThis means that the folder is already there from a previous installation. Try this before that line:
rm -r mk_arcade_joystick_rpi
I have update the previous post to reflect this.
-
I'm so sorry that I didn't reply to this sooner. I actually never got back to this until a couple days ago and it still took some finagling, but I finally got it! The main issue I was having was that I needed to change the PACKAG_VERSION in the dkms.conf file. After that I started having a problem with my second joystick not working. I followed the steps to include both controllers, but for some reason the file being used was named differently than I expected. I updated the correct file and everything started to work.
@loujez is correct, @simonster, you have been extremely helpful to get this up and running for me. THANK YOU! I don't think many people are using the hotkey button in retropie so that's probably why we don't see much support out there for it.
@loujez: I couldn't get 'git clone https://github.com/recalbox/mk_arcade_joystick_rpi.git -b hotkeybtn' to work for some reason, so I checked out the main branch and then switched branches with 'git checkout -b hotkeybtn'. The fatal error you're getting is because the mk_arcade_joystick_rpi folder already exists and has files in it. You can use 'rm -r mk_arcade_joystick_rpi' to remove the folder before trying to clone. Good luck! I'll try to stay more current with this post.
-
Thanks guys,
When I was installing my arcade unit, I found the mk_arcade_joystick module and installed it manually (back on RetroPie 2.6 and well before it was in the RetroPie script). On running into issues, I tried to get support from Recalbox and the developers of it and never seemed to get any queries answered, so I set about learning as much as I could about it.
As a result, I try to assist anyone who has queries on it, as I've probably looked at most of the code at some point in the last 18 months and have various versions of the git repository stored on my PC.
Si
-
Thank you @theRog05 for all theses explanations. Actually i had the similar issues with the 2nd player configuration but i've managed to overpass them.
Now @simonster i'm just blocked on the hotkey butn setup but i will try to set it up correctly tomorrow by following your advices. (18 months !!! I sympathize. 2 weeks of headache and i'm just dead )
I just have another new issue.. I dont know if both are able to give me some directions. Until I set up the 2nd GPIO arcade controller player with some commands that i can explain to you. I have no more sound when i launch a game (on all emulators) but i got it into the emulastionstation menu.
Have you already met this issue or am i the only one lol?Just to mentioned that sometime i have a yellow undervoltage symbol appearing on the right side of my screen. Do you think that it could be the core issue or it comes to something that i have outpassing or unfollow ? (don't know how to explain myself in english, i'm hoping you understand me)
Cheers and sorry to not relaunch about the topic subjet plus another one on this time. Despite of all that things, this thread will be very usefull for people like me in this situation. However I will give you a feedback tomorrow about my hotkeybtn configuration
Best regard
Looking forward to reading both of you
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.