GNU/Linux >> Linux の 問題 >  >> Linux

Linux で Python を使用してキーストロークをシミュレートする

python-uinput:

<ブロック引用>

Pythonic API から Linux uinput カーネル モジュールへ...

Python-uinput は Linux uinput カーネル モジュールへの Python インターフェイスであり、ユーザー空間デバイス ドライバーをカーネルに接続できます。実際には、Python-uinput を使用すると、任意の入力イベントをプログラムで生成するための仮想ジョイスティック、キーボード、およびマウスを非常に簡単に作成できます...


Linux で使用する場合は、pyautogui ライブラリを試してください。複数のキーの場合は、ホットキーを使用する必要があります。例:

pyautogui.hotkey('ctrl', 'c')  # ctrl-c to copy

私にとってはうまくいきました - ここを参照してください:Popen.communicate (on Linux) を使用してキーストローク (ALT+TAB) を渡すには?


python-uinput と evdev を検討してください。 shift+a の例 後者の場合:

from evdev import uinput, ecodes as e

with uinput.UInput() as ui:
    ui.write(e.EV_KEY, e.KEY_LEFTSHIFT, 1)
    ui.write(e.EV_KEY, e.KEY_A, 1)
    ui.syn()

X 固有のものですが、xautomation パッケージ (apt-get install xautomation Debian ベースのシステムの場合)、xte を使用します。 キープレスをシミュレートします。例:

from subprocess import Popen, PIPE

control_f4_sequence = '''keydown Control_L
key F4
keyup Control_L
'''

shift_a_sequence = '''keydown Shift_L
key A
keyup Shift_L
'''

def keypress(sequence):
    p = Popen(['xte'], stdin=PIPE)
    p.communicate(input=sequence)

keypress(shift_a_sequence)
keypress(control_f4_sequence)

Linux
  1. aptによるLinuxパッケージ管理

  2. Pythonスクリプトを使用したScientificLinux7.1のベクトル代数:パート1

  3. LinuxでPyenvを使用して複数のPythonバージョンを管理する方法

  1. LinuxでのJQコマンドと例

  2. LinuxでPythonを使用してファイル作成時間を取得する

  3. Linux 上の Python で export を使用する方法

  1. LinuxにPythonをインストールする方法

  2. LinuxでPythonでアラートダイアログを使用するにはどうすればよいですか?

  3. Linux 2.7 の python を 3.5 に更新