GNU/Linux >> Belajar Linux >  >> Linux

Simulasikan keystroke di Linux dengan Python

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)

Linux
  1. Aljabar Vektor di Scientific Linux 7.1 dengan Python Script:Bagian 1

  2. Cara Mengelola Beberapa Versi Python Dengan Pyenv Di Linux

  3. Cara menggunakan ekspor dengan Python di Linux

  1. Manajemen paket Linux dengan apt

  2. Perintah JQ di Linux dengan Contoh

  3. Dapatkan waktu pembuatan file dengan Python di linux

  1. Cara menginstal Python di Linux

  2. Bagaimana saya bisa menggunakan dialog peringatan dengan Python di linux?

  3. Perbarui python di linux 2.7 ke 3.5