RetroPie forum home
    • Recent
    • Tags
    • Popular
    • Home
    • Docs
    • Register
    • Login
    Please do not post a support request without first reading and following the advice in https://retropie.org.uk/forum/topic/3/read-this-first

    Help with manually generating retroarch autoconfigs (for a non-RetroPie ES/RA project)

    Scheduled Pinned Locked Moved Help and Support
    inputautocfginputautoconfiginputmanager
    3 Posts 2 Posters 539 Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • ridgekuhnR
      ridgekuhn
      last edited by ridgekuhn

      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 various es_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 from es_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 into es_temporaryinput.cfg, nothing new was created in the autoconfig folder, even though inputconfiguration.sh's output correctly reports Input type is ${theDeviceIneed}.

      Have I missed something? I'd appreciate any insight anyone could give! Thanks in advance! :)

      1 Reply Last reply Reply Quote 0
      • mituM
        mitu Global Moderator
        last edited by

        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.

        ridgekuhnR 1 Reply Last reply Reply Quote 0
        • ridgekuhnR
          ridgekuhn @mitu
          last edited by ridgekuhn

          @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 into es_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 what inifuncs.sh points to)? Mine is set to disable = "0" and the function is getting called on the last line of inputconfiguration.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>
          
          1 Reply Last reply Reply Quote 0
          • First post
            Last post

          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.