Je veux automatiser plusieurs tâches (par exemple simuler le style éclipse ctrl -. changement - R dialogue ouvert pour d'autres éditeurs). Le modèle général est le suivant: l'utilisateur appuie sur une combinaison de touches, mon programme le détecte et affiche potentiellement une boîte de dialogue pour obtenir l'entrée de l'utilisateur, puis exécute une commande correspondante, généralement en exécutant un exécutable.Python pour le sniffing de combinaison de touches de style Autohotkey, automatisation?
Mon environnement cible est Windows, bien que la multiplateforme soit agréable. Mon programme démarre une seule fois, lit un fichier de configuration et reste en arrière-plan jusqu'à ce qu'il soit déclenché par une combinaison de touches ou un autre événement.
Fondamentalement autohotkey.
Pourquoi ne pas utiliser autohotkey? J'ai en fait quelques macros autohotkey, mais je préfère utiliser un langage plus sain.
Ma question est la suivante: y a-t-il une bonne façon d'avoir un processus en arrière-plan python pour détecter les combinaisons de touches?
Mise à jour: trouvé la réponse à l'aide pyHook et les extensions win32:
import pyHook
import pythoncom
def OnKeyboardEvent(event):
print event.Ascii
hm = pyHook.HookManager()
hm.KeyDown = OnKeyboardEvent
hm.HookKeyboard()
while True:
pythoncom.PumpMessages()