python autohotkey

Python para la combinación de teclas de estilo Autohotkey, automatización?



(2)

Quiero automatizar varias tareas (por ejemplo, simular estilo de eclipse ctrl-shift-r abrir diálogo para otros editores). El patrón general es: el usuario presionará alguna combinación de teclas, mi programa lo detectará y potencialmente mostrará un cuadro de diálogo para obtener la entrada del usuario, y luego ejecutará un comando correspondiente, generalmente ejecutando un archivo ejecutable.

Mi entorno objetivo es Windows, aunque multiplataforma sería agradable. Mi programa se iniciará una vez, leerá un archivo de configuración y se sentará en segundo plano hasta que se active mediante una combinación de teclas u otro evento.

Básicamente auto-clave.

¿Por qué no usar solo autohotkey? De hecho, tengo bastantes macros autohotkey, pero preferiría usar un lenguaje más seguro.

Mi pregunta es: ¿hay una buena manera de tener un proceso de python de fondo para detectar combinaciones de teclas?

Actualización: encontró la respuesta usando pyHook y las extensiones de win32:

import pyHook import pythoncom def OnKeyboardEvent(event): print event.Ascii hm = pyHook.HookManager() hm.KeyDown = OnKeyboardEvent hm.HookKeyboard() while True: pythoncom.PumpMessages()


Encontré la respuesta usando pyHook y las extensiones de win32:

import pyHook import pythoncom def OnKeyboardEvent(event): print event.Ascii hm = pyHook.HookManager() hm.KeyDown = OnKeyboardEvent hm.HookKeyboard() while True: pythoncom.PumpMessages()


Es posible que desee ver AutoIt . Hace todo lo que AutoHotKey puede hacer, pero la sintaxis del lenguaje no hace que quieras arrancarte los pelos. Además, tiene enlaces COM para que puedas usar la mayoría de sus habilidades fácilmente en Python si así lo deseas. He publicado acerca de cómo hacerlo aquí antes .