GNU/Linux >> Tutoriels Linux >  >> Linux

Simuler une frappe sous Linux avec Python

python-uinput :

API Pythonic vers le module Linux uinput du noyau...

Python-uinput est une interface Python pour le module de noyau Linux uinput qui permet d'attacher des pilotes de périphériques d'espace utilisateur au noyau. En pratique, Python-uinput simplifie la création de joysticks, claviers et souris virtuels pour générer par programme des événements d'entrée arbitraires...


Si vous envisagez de l'utiliser sous Linux, essayez la bibliothèque pyautogui. Pour plusieurs clés, vous devrez utiliser un raccourci clavier, par exemple :

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

Pour moi, cela a fonctionné - voir ici : Comment passer une frappe (ALT+TAB) à l'aide de Popen.communicate (sous Linux) ?


Considérez python-uinput et evdev. Exemple de shift+a avec ce dernier :

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

Bien qu'il soit spécifique à X, vous pouvez installer le package xautomation (apt-get install xautomation sur les systèmes basés sur Debian) et utilisez xte pour simuler des pressions de touches, par exemple :

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. Gestion des packages Linux avec apt

  2. Comment installer Python sur Linux

  3. Obtenez le temps de création de fichier avec Python sur Linux

  4. Comment utiliser l'exportation avec Python sous Linux

  5. Comment puis-je utiliser une boîte de dialogue d'alerte avec Python sous Linux ?

Remplacer du par de la poussière sous Linux

Éditez une vidéo sur Linux avec cette application Python

Commande Linux wc avec exemples

Installer python 3 sur Redhat 8

Commande Linux ip avec exemples

15 Commande Linux ps avec exemples