<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[GPIO Controller Input (as keyboard or joystick)]]></title><description><![CDATA[<p dir="auto">I have a system that uses GPIO for input.  I would like to map them to a joystick or keyboard.</p>
<p dir="auto">---JOYSTICK---<br />
To map the GPIOs as a joystick, I have used mk_arcade_joystick_rpi, but my GPIO aren't set up the same as what is shown in <a href="https://github.com/recalbox/recalbox-os/wiki/GPIO-controllers-(EN)" rel="nofollow ugc">https://github.com/recalbox/recalbox-os/wiki/GPIO-controllers-(EN)</a><br />
The 0.1.5 version of mk_arcade_joystick_rpi should allow a custom map, but that doesn't seem to be included in Recalbox.  In fact, I would prefer to use the version at <a href="https://github.com/TheFlav/mk_arcade_joystick_rpi" rel="nofollow ugc">https://github.com/TheFlav/mk_arcade_joystick_rpi</a>, but I would really prefer to not mess with adding a driver unless it's quite easy for others to add.  Is there an easy way for a user to add a newer version of mk_arcade_joystick_rpi to their Recalbox?</p>
<p dir="auto">---KEYBOARD---</p>
<p dir="auto">If not, the alternate plan could be to use GPIO as a keyboard.  While some may think that this causes the same problem, it's actually not widely known that all you really need is a .dtbo and some config.txt entries like<br />
#left<br />
dtoverlay=gpio-key,gpio=6,keycode=105<br />
#right<br />
dtoverlay=gpio-key,gpio=5,keycode=106<br />
#up<br />
dtoverlay=gpio-key,gpio=4,keycode=103<br />
#down<br />
dtoverlay=gpio-key,gpio=17,keycode=108<br />
#a = a = OK<br />
dtoverlay=gpio-key,gpio=16,keycode=30<br />
...</p>
<p dir="auto">After that, you can easily navigate the menu system, but the mappings do not seem to work inside of any emulator or Kodi.  I wonder if it is because each GPIO button is acting as a separate keyboard.  If I run evtest, it looks like this.</p>
<p dir="auto">No device specified, trying to scan all of /dev/input/event*<br />
Available devices:<br />
/dev/input/event0:	17.button<br />
/dev/input/event1:	e.button<br />
/dev/input/event2:	12.button<br />
/dev/input/event3:	f.button<br />
/dev/input/event4:	1a.button<br />
/dev/input/event5:	13.button<br />
/dev/input/event6:	18.button<br />
/dev/input/event7:	10.button<br />
/dev/input/event8:	11.button<br />
/dev/input/event9:	4.button<br />
/dev/input/event10:	5.button<br />
/dev/input/event11:	6.button</p>
<hr />
<p dir="auto">I guess I'm looking for ideas here.  Is there an easy way for me to build a version of <a href="https://github.com/TheFlav/mk_arcade_joystick_rpi" rel="nofollow ugc">https://github.com/TheFlav/mk_arcade_joystick_rpi</a> and add it to a Recalbox install?  Is there a pre-built version of mk_arcade_joystick_rpi v0.1.5 available somewhere?  Is there a way to get the keyboard input working?</p>
]]></description><link>https://forum.recalbox.com/topic/13029/gpio-controller-input-as-keyboard-or-joystick</link><generator>RSS for Node</generator><lastBuildDate>Fri, 15 May 2026 07:26:20 GMT</lastBuildDate><atom:link href="https://forum.recalbox.com/topic/13029.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 01 Mar 2018 22:03:35 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to GPIO Controller Input (as keyboard or joystick) on Mon, 25 Jun 2018 06:35:26 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="https://forum.recalbox.com/uid/13634">@dragu</a> if you were looking for a CM3 project, here is one !</p>
]]></description><link>https://forum.recalbox.com/post/104128</link><guid isPermaLink="true">https://forum.recalbox.com/post/104128</guid><dc:creator><![CDATA[Substring]]></dc:creator><pubDate>Mon, 25 Jun 2018 06:35:26 GMT</pubDate></item><item><title><![CDATA[Reply to GPIO Controller Input (as keyboard or joystick) on Sun, 24 Jun 2018 21:50:00 GMT]]></title><description><![CDATA[<p dir="auto">I am afraid the guy stopped everything because he felt some frustration from all this, but should we not also support some hardware kickstarter products ? I suppose that   it should be possible to recompile a gpio interface for the freeplay project.</p>
]]></description><link>https://forum.recalbox.com/post/104116</link><guid isPermaLink="true">https://forum.recalbox.com/post/104116</guid><dc:creator><![CDATA[Dragu]]></dc:creator><pubDate>Sun, 24 Jun 2018 21:50:00 GMT</pubDate></item><item><title><![CDATA[Reply to GPIO Controller Input (as keyboard or joystick) on Thu, 01 Mar 2018 23:14:38 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="https://forum.recalbox.com/uid/22760">@flavor</a> we haven't switched to the configurable GPIO branch because, as far as I remember, it doesn't support the hotkey button.</p>
<p dir="auto">To compile it, i think you can do it from raspbian but you must have the same kernel branch as us (which is 4.4 for now, should b*mp to 4.9 once i'm done upgrading all boards).</p>
<p dir="auto">Adding your branch ... no</p>
<p dir="auto">I'm used to buildroot, so it's rather easy for me to compile it from there. It's not that hard to understand : it's a bunch of makefiles, most of it</p>
]]></description><link>https://forum.recalbox.com/post/92181</link><guid isPermaLink="true">https://forum.recalbox.com/post/92181</guid><dc:creator><![CDATA[Substring]]></dc:creator><pubDate>Thu, 01 Mar 2018 23:14:38 GMT</pubDate></item></channel></rss>