How to add volume control in stand alone emulators

In the main menu and Retroarch, you can use shift + select/start to control the volume but in the stand alone emulators or other apps you can’t. So is there a way to add this feature ? I have no knowledge about coding so i don’t know what to do. Sorry for my poor English.

I’m no expert, but I assume it’s not an easy change. When you use the buttons in RetroArch, it’s a RA setting that changes. So you’d need the same for every standalone emulator.

Someone wrote a script to do this for Pico-8. It sets up hooks for the volume buttons and then launches Pico-8, all within the same script. It’s essentially a wrapper for Pico-8.

The same thing could be adapted to launch anything else, and assuming you didn’t need those buttons for the thing you were launching (like Retroarch), it should work.

Might be nice if someone tweaked this script a bit to be more generic and maybe take a single parameter for the target application to launch. Then it could be used in scripts and could take over the volume keys for anything.

It would be even nicer if this was done properly, as a system service (and maybe more efficiently). Just a guess, but I imagine most of us would want the volume buttons to work most of the time. If there was a way to override them (disable the service via a command when launching the target application), that would probably make more sense. Then if you wanted to use the volume buttons for something else, you could, but by default they would actually control the volume.

Anyhow, this might be useful if someone wants to tinker:

1 Like

There’s no big change !

Look there :

The script enables you to control volume via select + left/right and brightness via select + up/down everywhere.

I personnally changed the values of amount volume modification to 4 because 20 is too much.

And I also inverted the brightnessTool.Further() and brightnessTool.StepBack() , so select+up increase and select+down decrease brightness.


i tried it, but it doesn’t work out for me

What have you done exactly ?

i use command promt to ssh to the device and do the following lines just like the guide said

sudo pip install evdev

git clone

cd gameshell_backlight_hotkey

cp ~/launcher/

cp -r tools ~/launcher/

sudo nano /etc/rc.local

a new window pop up and i input this to the last line

nohup python /home/cpi/launcher/ &

and before it exits, it asks me the file type that i want to save, so i choose DOC format

and reboot the system

i tried to repeat all of these steps, trying to find out what i did wrong but it still didn’t work out for me

this is what the rc.local file looks like after editting

It seems to be fine.

Do you keep select pressed, then press a direction ?

i keep pressing the select button and then pressing the arrow key in any direction but nothing change