Jetez un coup d'œil à simuler des événements de touche sur Android et recherchez "KEYCODE_VOLUME_UP" et "KEYCODE_VOLUME_DOWN".
Les événements peuvent être générés par l'exécution d'une "entrée" :
#local shell:
input keyevent 24 #vol up
input keyevent 25 #vol down
#remotely using ssh
ssh your-phone input keyevent 24 #vol up
ssh your-phone input keyevent 25 #vol down
# 'su -c command' to make it run as root (if not already). EDIT: now escaped properly.
ssh your-phone su -c "input\ keyevent\ 24" #vol up
ssh your-phone su -c "input\ keyevent\ 25" #vol down"
Votre shell a besoin de permissions appropriées, très probablement pour déclencher des événements d'entrée, je suppose. Si vous utilisez l'authentification par clé publique et que vous gardez votre clé privée en mémoire (ssh-add), vous pouvez créer un script enveloppant et l'exécuter sans qu'on vous demande une phrase de passe. Note : Il y a une surcharge considérable pour 'su' et 'input', en tout et pour tout un seul réglage de volume prend 2,5s à compléter sur mon HTC Desire.
EDIT2 :
shell@android:/ $ id
uid=2000(shell) gid=2000(shell) groups=1003(graphics),1004(input),[...]
shell@android:/ $ time input keyevent 24
0m0.92s real 0m0.29s user 0m0.06s system
Il semble que vous devez être membre du groupe d'entrée (ici GID=2004) pour avoir la possibilité de générer des événements clés en utilisant 'input'. De plus, j'ai remarqué que l'écran ne doit pas être verrouillé (et/ou éteint), parce que le verrouillage consommerait tous les keyevents éventuellement. Notez aussi que la commande prend presque 1 seconde.