いくつかのタスクを自動化したい (例: Eclipse スタイルをシミュレートする-ctrl他のエディターのダイアログを開く)。一般的なパターンは次のとおりです。ユーザーが何らかのキーの組み合わせを押すと、プログラムがそれを検出し、ダイアログをポップアップしてユーザー入力を取得し、通常は実行可能ファイルを実行して、対応するコマンドを実行します。shiftR
私のターゲット環境は Windows ですが、クロスプラットフォームがいいでしょう。私のプログラムは一度起動され、構成ファイルを読み取り、キーの組み合わせまたはその他のイベントによってトリガーされるまでバックグラウンドで待機します。
基本的にオートホットキー。
オートホットキーを使用しないのはなぜですか? 私は実際にかなりの数のオートホットキー マクロを持っていますが、より健全な言語を使用したいと考えています。
私の質問は: バックグラウンドの 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()