2011-05-15 6 views
1

Donc, j'ai un script python en cours d'exécution, et je veux qu'il déclenche la fonction X chaque fois qu'une combinaison de touches est pressée. Comment pourrais-je l'implémenter? Le problème est que l'application sera exécutée en arrière-plan, donc elle n'aura pas le focus du système d'exploitation.Raccourcis clavier Python

+0

La réponse à cette question (s'il y en a une) est très spécifique au système d'exploitation. – fyngyrz

Répondre

0

Eh bien, il n'a fondamentalement rien à voir avec python. Cela dépend fortement du système d'exploitation sur lequel vous travaillez.

Vous pouvez utiliser XLib sous Linux (http://python-xlib.sourceforge.net/) ou wxPython sous Windows (http://wxpython.org/docs/api/wx.Window-class.html#RegisterHotKey)

Une autre idée serait de relier les événements du clavier du système (par pyHook) et essayer d'attraper des raccourcis clavier.

+0

Merci. pyHook ressemble à la bonne chose, mais c'est Windows seulement. Y a-t-il un lib pour Mac qui le fait? – user697108

+0

@ user697108: Vous devriez utiliser PyObjc avec http://www.theregister.co.uk/2009/02/24/hotkeys_framework2/ – jdi

+0

Je pense que wxPython n'est peut-être pas le bon choix. L'écriture d'une solution via un framework GUI ne sera utile que lorsque l'application aura le focus. La solution doit être des crochets du système d'exploitation (comme votre suggestion XLib) – jdi