GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Tastenanschlag in Linux mit Python simulieren

python-uinput:

Pythonic-API zum Linux-uinput-Kernelmodul...

Python-uinput ist eine Python-Schnittstelle zum Linux-uinput-Kernelmodul, das das Anhängen von Userspace-Gerätetreibern an den Kernel ermöglicht. In der Praxis macht es Python-uinput kinderleicht, virtuelle Joysticks, Tastaturen und Mäuse zum programmgesteuerten Generieren beliebiger Eingabeereignisse zu erstellen...


Wenn Sie es unter Linux verwenden möchten, versuchen Sie es mit der pyautogui-Bibliothek. Für mehrere Tasten müssen Sie einen Hotkey verwenden, z. B.:

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

Bei mir hat es funktioniert - siehe hier:Wie übergebe ich einen Tastendruck (ALT+TAB) mit Popen.communicate (unter Linux)?


Betrachten Sie python-uinput und evdev. Beispiel für shift+a mit letzterem:

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()

Obwohl es spezifisch für X ist, können Sie das Paket xautomation (apt-get install xautomation auf Debian-basierten Systemen) und verwenden Sie xte um Tastendrücke zu simulieren, z.B.:

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. Vektoralgebra auf Scientific Linux 7.1 mit Python-Skript:Teil 1

  2. JQ-Befehl in Linux mit Beispielen

  3. Holen Sie sich die Dateierstellungszeit mit Python unter Linux

  4. So verwenden Sie den Export mit Python unter Linux

  5. Wie kann ich einen Warndialog mit Python unter Linux verwenden?

Ersetzen Sie unter Linux du durch Staub

Bearbeiten Sie Videos unter Linux mit dieser Python-App

wc Linux-Befehl mit Beispielen

Installieren Sie Python 3 auf Redhat 8

Linux-IP-Befehl mit Beispielen

15 Linux-PS-Befehl mit Beispielen