web-dev-qa-db-fra.com

Script Bash Shell: comment détecter les frappes Alt + N?

Je veux écrire un script qui écoute toujours en arrière-plan et exécute une commande particulière lorsque l'utilisateur appuie sur une combinaison de touches spécifique telle que Alt + N. Comment cela peut être fait?

6
Anandu M Das

Téléchargez le module python suivant: showkey.py

Créez ensuite un script python (appelons-le test.py):

#!/usr/bin/env python

from showkey import ShowKey

def alt_n(arg):
    print "Alt N was pressed"

sk = ShowKey()
sk.addKeyAction([49, 56], alt_n)    # adds handler for Alt-N comb.
sk.run()

Mettez showkey.py dans votre PYTHONPATH ou mettez test.py et showkey.py dans le même dossier.

Exécutez votre script python de cette façon:

Sudo ./test.py

Le rappel alt_n() est déclenché lorsque l'utilisateur appuie sur la touche Alt + N combinaison. Adaptez le contenu du gestionnaire à vos besoins.

Pour connaître les codes de touche (les mêmes codes utilisés par la commande showkey ) à utiliser avec showkey.py, exécutez-le simplement à nouveau comme script avec Sudo . Tous les événements de frappe seront imprimés dans votre terminal.

$ Sudo ./showkey.py 
Current terminal mode: OFF
Key pressed - keycode: 28
Key pressed - keycode: 56
[...]
7
Sylvain Pineau