python-uinput:
Modul Pythonic API to Linux uinput kernel...
Python-uinput je rozhraní Pythonu k modulu jádra uinput Linuxu, které umožňuje připojit ovladače zařízení v uživatelském prostoru k jádru. V praxi Python-uinput velmi zjednodušuje vytváření virtuálních joysticků, klávesnic a myší pro programové generování libovolných vstupních událostí...
Pokud ji plánujete používat v Linuxu, vyzkoušejte knihovnu pyautogui. Pro více klíčů budete muset použít klávesovou zkratku, např.:
pyautogui.hotkey('ctrl', 'c') # ctrl-c to copy
Pro mě to fungovalo - viz zde:Jak předat stisk klávesy (ALT+TAB) pomocí Popen.communicate (v Linuxu)?
Zvažte python-uinput a evdev. Příklad shift+a
s tím druhým:
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()
Ačkoli je to specifické pro X, můžete nainstalovat balíček xautomation (apt-get install xautomation
na systémech založených na Debianu) a použijte xte
pro simulaci stisku kláves, např.:
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)