9

バックグラウンドで実行できるが、マウスイベントまたはキーイベントが発生したときにテキストを出力できる Python スクリプトを作成したいと思います。これを達成するためのライブラリ/組み込み機能はありますか? または、この情報を取得するために呼び出すことができるシステム コマンドはありますか? rootであることは問題ありません。

4

2 に答える 2

13

evdev に python バインディングを使用する可能性があると思います: http://packages.python.org/evdev/index.html。チュートリアルでは、キーボードの例を示していますが、マウス イベントの場合も同様である必要があります。

>>> from evdev import InputDevice, categorize, ecodes
>>> from select import select
>>> dev = InputDevice('/dev/input/event1')

>>> print(dev)
device /dev/input/event1, name "Dell Dell USB Keyboard", phys "usb-0000:00:12.1-2/input0"

>>> while True:
...    r,w,x = select([dev], [], [])
...    for event in dev.read():
...        if event.type == ecodes.EV_KEY:
...            print(categorize(event))
... # hitting a and holding space
key event at 1337016188.396030, 30 (KEY_A), down
key event at 1337016188.492033, 30 (KEY_A), up
key event at 1337016189.772129, 57 (KEY_SPACE), down
key event at 1337016190.275396, 57 (KEY_SPACE), hold
key event at 1337016190.284160, 57 (KEY_SPACE), up
于 2012-09-12T11:28:38.190 に答える