How to try out on a Raspberry Pi:
Make a backup of your current emulationstation binary /opt/retropie/supplementary/emulationstation/emulationstation.
Make a backup of /home/pi/.emulationstation/es_input.cfg
Start jstest /dev/input/js0 # or 1, 2, depending on your setup or if USB attached controllers jstest /dev/input/by-id/<your usb controller> and press the hotkey button, or a button not yet assigned. Note down the button number when pressing that button.
Put this number into the es_input.cfg below the controller section you just used for jstest. The line to be added is:<input name="hotkey" type="button" id="_put_here_the_noted_button_number_" value="1"/>
Change to folder RetroPie-Setup: cd ~/RetroPie-Setup
Clear out previous source tree: sudo rm -rf tmp/build/emulationstation-dev
Make a folder mkdir -p tmp/build/emulationstation-dev and change to the folder pushd tmp/build
Run git clone --recursive --depth 1 --branch fb_hotkey_gamedesc_scroll https://github.com/Gemba/EmulationStation emulationstation-dev
Return to previous folder and run sudo: popd && sudo then:./retropie_packages.sh emulationstation-dev depends ./retropie_packages.sh emulationstation-dev build
After successful building, copy the emulationstation binary: sudo cp /home/pi/RetroPie-Setup/tmp/build/emulationstation-dev/emulationstation /opt/retropie/supplementary/emulationstation/. Exit sudo shell.
To revert: Restore your backup of es_input.cfg and emulationstation and run cd ~/RetroPie-Setup && sudo ./retropie_packages.sh emulationstation-dev clean to clean the cloned repo.
Your feedback is appreciated.