Help with manually generating retroarch autoconfigs (for a non-RetroPie ES/RA project)
-
Hello everyone,
I'm currently trying to leverage a few RetroPie scripts for a separate project, particularly
joy2key.py
. In this project, I have access to variouses_input.cfg
files available for processing (but no physical access to the input device themselves, or any way of plugging them into a raspi running RetroPie if I did), so I'm hoping to take those files, run them through some RetroPie scripts, and receive the cfg files I need . Unfortunately, I'm having difficulty understanding how RetroPie gets fromes_input.cfg
to/opt/retropie/configs/all/retroarch/autoconfig/
.I see that EmulationStation creates an
es_temporaryinput.cfg
file when I configure a joypad, which is then parsed by inputconfiguration.sh, which then calls the retroarch config module, which finally generates the autoconfigs I need.However, when I naively tried to drop my own
<inputConfig>
elements intoes_temporaryinput.cfg
, nothing new was created in the autoconfig folder, even thoughinputconfiguration.sh
's output correctly reportsInput type is ${theDeviceIneed}
.Have I missed something? I'd appreciate any insight anyone could give! Thanks in advance! :)
-
inputconfiguration.sh
needs the scripts from the configscripts folder to be present and also expects that in/etc/retropie/configs/autoconf.cfg
,disable=1
is not set. -
@mitu Thanks for your response, @mitu! Sorry, I should have mentioned that the other project is irrelevant to the question! I'm running
inputconfiguration.sh
on a fresh RetroPie 4.7 image, so the configscripts directory is present and I'm simply dropping some new<inputConfig>
elements intoes_temporaryinput.cfg
which were provided to me, then running inputconfiguration.sh from a terminal.Did you mean
/opt/retropie/configs/all/autoconf.cfg
(I see this is whatinifuncs.sh
points to)? Mine is set todisable = "0"
and the function is getting called on the last line ofinputconfiguration.sh
, it just doesn't seem to be writing anything to/opt/retropie/configs/all/retroarch/autoconfig/
.Here's my
es_temporaryinput.cfg
<?xml version="1.0"?> <inputList> <inputAction type="onfinish"> <command>/opt/retropie/supplementary/emulationstation/scripts/inputconfiguration.sh</command> </inputAction> <inputConfig type="joystick" deviceName="odroidgo2_joypad" deviceGUID="19000000010000000100000001010000"> <input name="a" type="button" id="1" value="1"/> <input name="b" type="button" id="0" value="1"/> <input name="down" type="button" id="9" value="1"/> <input name="hotkeyenable" type="button" id="16" value="1"/> <input name="left" type="button" id="10" value="1"/> <input name="leftanalogdown" type="axis" id="1" value="1"/> <input name="leftanalogleft" type="axis" id="0" value="-1"/> <input name="leftanalogright" type="axis" id="0" value="1"/> <input name="leftanalogup" type="axis" id="1" value="-1"/> <input name="leftshoulder" type="button" id="4" value="1"/> <input name="leftthumb" type="button" id="13" value="1"/> <input name="lefttrigger" type="button" id="14" value="1"/> <input name="right" type="button" id="11" value="1"/> <input name="rightshoulder" type="button" id="5" value="1"/> <input name="rightthumb" type="button" id="16" value="1"/> <input name="righttrigger" type="button" id="15" value="1"/> <input name="select" type="button" id="12" value="1"/> <input name="start" type="button" id="17" value="1"/> <input name="up" type="button" id="8" value="1"/> <input name="x" type="button" id="2" value="1"/> <input name="y" type="button" id="3" value="1"/> <input name="pagedown" type="button" id="5" value="1"/> <input name="pageup" type="button" id="4" value="1"/> </inputConfig> <inputConfig type="joystick" deviceName="OpenSimHardware OSH PB Controller" deviceGUID="03000000091200000031000011010000"> <input name="a" type="button" id="0" value="1"/> <input name="b" type="button" id="1" value="1"/> <input name="down" type="hat" id="0" value="4"/> <input name="hotkeyenable" type="button" id="7" value="1"/> <input name="left" type="hat" id="0" value="8"/> <input name="leftanalogdown" type="axis" id="1" value="-1"/> <input name="leftanalogleft" type="axis" id="0" value="1"/> <input name="leftanalogright" type="axis" id="0" value="-1"/> <input name="leftanalogup" type="axis" id="1" value="1"/> <input name="leftshoulder" type="button" id="4" value="1"/> <input name="leftthumb" type="button" id="8" value="1"/> <input name="lefttrigger" type="button" id="10" value="1"/> <input name="right" type="hat" id="0" value="2"/> <input name="rightanalogdown" type="axis" id="3" value="1"/> <input name="rightanalogleft" type="axis" id="2" value="-1"/> <input name="rightanalogright" type="axis" id="2" value="1"/> <input name="rightanalogup" type="axis" id="3" value="-1"/> <input name="rightshoulder" type="button" id="5" value="1"/> <input name="rightthumb" type="button" id="9" value="1"/> <input name="righttrigger" type="button" id="11" value="1"/> <input name="select" type="button" id="7" value="1"/> <input name="start" type="button" id="6" value="1"/> <input name="up" type="hat" id="0" value="1"/> <input name="x" type="button" id="2" value="1"/> <input name="y" type="button" id="3" value="1"/> <input name="pagedown" type="button" id="5" value="1"/> <input name="pageup" type="button" id="4" value="1"/> </inputConfig> <inputConfig type="joystick" deviceName="USB gamepad " deviceGUID="030000001f08000001e4000010010000"> <input name="pageup" type="button" id="4" value="1"/> <input name="up" type="axis" id="1" value="-1"/> <input name="left" type="axis" id="0" value="-1"/> <input name="select" type="button" id="8" value="1"/> <input name="right" type="axis" id="0" value="1"/> <input name="pagedown" type="button" id="5" value="1"/> <input name="y" type="button" id="3" value="1"/> <input name="x" type="button" id="0" value="1"/> <input name="down" type="axis" id="1" value="1"/> <input name="start" type="button" id="9" value="1"/> <input name="b" type="button" id="2" value="1"/> <input name="a" type="button" id="1" value="1"/> </inputConfig> </inputList>
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.