Я хочу автоматизировать несколько задач (например, имитировать стиль затмения ctrl - shift - R открыть диалог для других редакторов). Общая схема такова: пользователь нажимает некоторую комбинацию клавиш, моя программа обнаружит ее и, возможно, откроет диалоговое окно для получения пользовательского ввода, а затем выполнит соответствующую команду, обычно запустив исполняемый файл.
Моя целевая среда - окна, хотя кроссплатформенность была бы хороша. Моя программа будет запущена один раз, прочитает файл конфигурации и будет работать в фоновом режиме, пока не будет вызвана комбинация клавиш или другое событие.
В основном autohotkey.
Почему бы просто не использовать autohotkey? На самом деле у меня довольно много макросов autohotkey, но я бы предпочел использовать более разумный язык.
У меня вопрос: есть ли хороший способ, чтобы фоновый процесс Python обнаруживал комбинации клавиш?
Обновление: нашел ответ, используя pyHook и расширения win32:
import pyHook
import pythoncom
def OnKeyboardEvent(event):
print event.Ascii
hm = pyHook.HookManager()
hm.KeyDown = OnKeyboardEvent
hm.HookKeyboard()
while True:
pythoncom.PumpMessages()