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)