python-uinput:
Pythonic API ke modul kernel uinput Linux...
Python-uinput adalah antarmuka Python ke modul kernel Linux uinput yang memungkinkan melampirkan driver perangkat userspace ke dalam kernel. Dalam praktiknya, Python-uinput membuatnya sangat sederhana untuk membuat joystick virtual, keyboard, dan mouse untuk menghasilkan peristiwa input arbitrer secara terprogram...
Jika Anda berencana untuk menggunakannya di Linux, coba pustaka pyautogui. Untuk beberapa kunci, Anda perlu menggunakan hotkey, mis.:
pyautogui.hotkey('ctrl', 'c') # ctrl-c to copy
Bagi saya itu berhasil - lihat di sini:Bagaimana cara meneruskan keystroke (ALT+TAB) menggunakan Popen.communicate (di Linux)?
Pertimbangkan python-uinput dan evdev. Contoh shift+a
dengan yang terakhir:
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()
Meskipun khusus untuk X, Anda dapat menginstal paket xautomation (apt-get install xautomation
pada sistem berbasis Debian) dan gunakan xte
untuk mensimulasikan penekanan tombol, misalnya:
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)