Python для флеш-ключа, сочетающего сочетание клавиш Autohotkey, автоматизацию?

Я хочу автоматизировать несколько задач (например, имитировать стиль eclipse ctrl - shift - R открыть диалог для других редакторов). Общая схема: пользователь будет нажимать какую-то комбинацию клавиш, моя программа обнаружит ее и, возможно, выведет диалог, чтобы получить пользовательский ввод, а затем запустите соответствующую команду, как правило, запустив исполняемый файл.

Моя целевая среда - это окна, хотя кросс-платформенная будет приятной. Моя программа запускается один раз, читает конфигурационный файл и сидит в фоновом режиме до тех пор, пока не будет вызвана комбинация клавиш или другое событие.

В принципе, autohotkey.

Почему бы просто не использовать autohotkey? На самом деле у меня довольно много макросов autohotkey, но я бы предпочел использовать более здравый язык.

Мой вопрос: есть ли хороший способ обнаружить комбинацию ключей фонового питона?

Обновление: нашел ответ, используя pyHook и расширения win32:

import pyHook
import pythoncom

def OnKeyboardEvent(event):
    print event.Ascii

hm = pyHook.HookManager()
hm.KeyDown = OnKeyboardEvent
hm.HookKeyboard()

while True:
    pythoncom.PumpMessages()

Ответ 1

Нашел ответ, используя pyHook и расширения win32:

import pyHook
import pythoncom

def OnKeyboardEvent(event):
    print event.Ascii

hm = pyHook.HookManager()
hm.KeyDown = OnKeyboardEvent
hm.HookKeyboard()

while True:
    pythoncom.PumpMessages()

Ответ 2

Вы можете посмотреть AutoIt. Он делает все, что может сделать AutoHotKey, но синтаксис языка не заставляет вас вытаскивать волосы. Кроме того, он имеет привязки к COM, поэтому вы можете легко использовать большинство своих возможностей в python, если хотите. Я написал о том, как сделать это здесь до.