RetroPie forum home
    • Recent
    • Tags
    • Popular
    • Home
    • Docs
    • Register
    • Login

    PR to Enable Hotkey Use within Emulationstation

    Scheduled Pinned Locked Moved Ideas and Development
    hotkeyemulationstatiopull request
    3 Posts 2 Posters 516 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.
    • LolonoisL
      Lolonois
      last edited by

      I would suggest to map hotkey also to emulationstation: This would allow to use hotkey plus <button> for enhanced functionality in ES.

      Currently it is not applied and I was wondering if it has been not added to ES for a reason or it just got forgotten?

      The change I am proposing is fairly simple. (FWIW the es_input.cfg is generated by /opt/retropie/supplementary/emulationstation/scripts/inputconfiguration.sh after the input configuration is done in ES, which then runs the below script .../configscripts/emulationstation.sh):

      diff --git a/scriptmodules/supplementary/emulationstation/configscripts/emulationstation.sh b/scriptmodules/supplementary/emulationstation/configscripts/emulationstation.sh
      index fe840c1e..9f5dd52b 100644
      --- a/scriptmodules/supplementary/emulationstation/configscripts/emulationstation.sh
      +++ b/scriptmodules/supplementary/emulationstation/configscripts/emulationstation.sh
      @@ -65,6 +65,9 @@ function map_emulationstation_joystick() {
                   key="$input_name"
                   getAutoConf es_swap_a_b && key="a"
                   ;;
      +        hotkeyenable)
      +            key="hotkey"
      +            ;;
               *)
                   return
                   ;;
      
      

      This would allow to check for input events in ES with isMappedTo("hotkey", ...) and trigger future functionality of ES on Hotkey plus <button> combos. In other words: This change would enable providing extra functionalitiy in ES for example, controlling a game description's scroll behaviour.

      Any claims? Otherwise I would file a PR the next days.

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

        What's the point of enabling it if there's no corresponding functionality in EmulationStation ? If a hotkey button would exist there, it would make sense to enable it, provided this doesn't trump an existing input (i.e. if the gamepad has a dedicated button and the user doesn't choose use select as hotkey during the mapping dialog).

        LolonoisL 1 Reply Last reply Reply Quote 1
        • LolonoisL
          Lolonois @mitu
          last edited by

          What's the point of enabling it if there's no corresponding functionality in EmulationStation ?

          This would be a pre-requisite to allow extra functions as currently 12 buttons are used to control ES and there are no "spare" buttons.

          provided [hotkey] doesn't trump an existing input

          Yes, hotkey can have three states: Absent, present or mapped to Select.

          Case hotkey is mapped to Select button:
          The Select is used for Start Screensaver, choose next item in screensaver media or bringing up the Options dialog in a gamelist to my knowledge. These events are consumed before the systemcarousel and gamelist logic and do not reach the later components in the GUI stack where hotkey would be processed (e.g. scroll a game's description with hotkey held and joy up/down pressed as one possible ES enhancement).

          Case dedicated hotkey button:
          Each GuiComponent would decide if it would act on hotkey input. In turn this also means a hotkey-button-combo can only be processed by one gui component when there are multiple gui components displayed.

          1 Reply Last reply Reply Quote 0
          • LolonoisL Lolonois referenced this topic on
          • 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.