私は、背景で実行できるテキストスクリプトを作成したいと思いますが、mouseeventやkeyeventが発生したときにテキストを表示します。これを実現するライブラリ/組み込み機能はありますか?または、私がこの情報を取得するために呼び出すことができるシステムコマンド?根源は何の問題もありません。Linuxでバックグラウンドでpythonを使ってmouseeventsとkeyeventsをキャプチャするには
7
A
答えて
11
evdev:http://packages.python.org/evdev/index.htmlのpythonバインディングを使用すると思います。チュートリアルでは、彼らは、キーボードのための例を与えるが、それはマウスイベントのために類似しているべきである:
>>> 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
2
は、たとえば、pynputを見てみましょう:
from pynput.keyboard import Key, Listener
#defining function to print when key is pressed
def on_press(key):
print('{0} pressed'.format(
key))
#defining function to print when key is released
def on_release(key):
print('{0} release'.format(
key))
if key == Key.esc:
# Stop listener
return False
# Collect events until released
with Listener(
on_press=on_press,
on_release=on_release) as listener:
listener.join()
関連する問題
- 1. python xlibでkeyeventsをグローバルにキャプチャ、無視、送信し、偽の入力を認識
- 2. Linuxでオーディオストリームを使ってPythonでビデオファイルを読むには?
- 3. バックグラウンドで実行されるフィクスチャを使用してpythonでstdoutとstderrをキャプチャする方法
- 4. アンドロイドでKeyEventsを取得するには?
- 5. LinuxでPythonからturbodbcを使ってPostgresにアクセスする
- 6. WindowsとLinuxでのPythonによるスクリーンショットのキャプチャ
- 7. Linux上でPythonスクリプトをバックグラウンドで実行する方法
- 8. Pythonスクリプトを使ってLinux端末を終了するには?
- 9. Pythonを使ってLinuxでユーザーを認証する3
- 10. pythonでopenkinectを使って視差画像をキャプチャする方法は?
- 11. レールウェイを使ってファイルをバックグラウンドでアップロードするには?
- 12. Pythonで自分のGUIアプリケーションを使ってLinuxユーザーを作成するには?
- 13. Linux上でPythonを使ってusbにファイルを書き込む
- 14. Pythonを使っているpythonのバージョンを得ることができません - Linuxでpopenを使ってPythonを使用するバージョン
- 15. wpfを使ってlinuxでコンパイルする#
- 16. バックグラウンドでlinuxの下でsoapui.shを起動するには?
- 17. Seleniumを使ってChromeでフルスクリーンショットをキャプチャする方法は?
- 18. LinuxでWebカメラストリームをキャプチャする
- 19. tableviewとtableviewcellのバックグラウンドを使ってアプリケーションを作った人は誰ですか?
- 20. JavaScriptを使ってバックグラウンドでファイルを動的にアップロードする
- 21. Linuxでpythonを使って複数のコマンドを同時に実行する
- 22. qtcreatorを使ってArch Linuxでyaml-cppにリンクするには?
- 23. Linux OSでJavaを使用してCanonカメラで画像をキャプチャする
- 24. バックグラウンドでプログラムを実行し、リターンコード(phpとwindows)をキャプチャします
- 25. Pythonでウィンドウをキャプチャする
- 26. Pythonでモーションをキャプチャする
- 27. Linuxでswiftを使ってCFStringとStringをキャストする方法
- 28. エクスポートしてから、ajaxを使ってExcelファイルをバックグラウンドでダウンロードするには
- 29. 他のコントロールが既にマウスをキャプチャしていても、コントロールのMouseEventsを取得する方法
- 30. LinuxでPython 2.7を使って作成した日付と同じ順序でサブディレクトリをリストする方法は?
そう - キーロガーのような? –
はい。 ...文字制限... – jett
'/ dev/input'のデバイスから入力イベントを読み込む必要があります。 –