Simuler les entrées au clavier en Python

Vaibhav Vaibhav 30 janvier 2023
  1. Simuler un clavier à l’aide de la bibliothèque keyboard en Python
  2. Simuler un clavier à l’aide de la bibliothèque PyAutoGUI en Python
Simuler les entrées au clavier en Python

Python est utilisé pour presque tout. En utilisant Python, nous pouvons développer des backends pour les applications Web, des backends pour les applications mobiles et des API en utilisant des frameworks gratuits et open-source tels que Django et Flask.

De plus, les programmes Python créent également des modèles d’apprentissage automatique efficaces à l’aide de bibliothèques robustes telles que Keras, NumPy, Tensorflow et PyTorch, qui tracent différents types de tracés à l’aide de Matplotlib, et bien plus encore.

Dans cet article, nous verrons de tels cas d’utilisation de Python. Nous apprendrons comment simuler ou contrôler le clavier en utilisant Python.

Nous parlerons de deux bibliothèques Python open-source, keyboard et PyAutoGUI, nous permettant de contrôler notre clavier à l’aide de scripts Python.

Simuler un clavier à l’aide de la bibliothèque keyboard en Python

La bibliothèque keyboard est une bibliothèque open-source pour prendre le contrôle de votre clavier.

Cette bibliothèque peut écouter et envoyer des événements de clavier, utiliser des raccourcis clavier, prendre en charge l’internationalisation et fournir un support de souris à l’aide de la bibliothèque mouse, que nous pouvons télécharger à l’aide de pip install mouse ou pip3 install mouse.

Pour installer la bibliothèque keyboard, utilisez l’une des deux commandes pip suivantes.

pip install keyboard
pip3 install keyboard

Comprenons comment utiliser cette bibliothèque pour contrôler un clavier. Reportez-vous au code Python suivant pour un exemple simple qui tape du texte.

import keyboard

keyboard.write("Python is an amazing programming language.")
keyboard.press_and_release("enter")
keyboard.press_and_release("shift+p")
keyboard.press_and_release("y")
keyboard.press_and_release("t")
keyboard.press_and_release("h")
keyboard.press_and_release("o")
keyboard.press_and_release("n")

Production :

Python is an amazing programming language.
Python

python simule la saisie au clavier à l’aide de la bibliothèque de clavier

Avant d’exécuter le code ci-dessus, notez votre curseur de texte ou caret. Le texte ci-dessus à l’intérieur de la zone de sortie y sera automatiquement saisi.

La fonction write() tapera n’importe quelle chaîne passée à cette fonction en tant qu’argument. Cette fonction envoie des événements de clavier artificiels au système d’exploitation, qui est ensuite tapé au signe d’insertion.

Si un caractère n’est pas disponible sur le clavier, des caractères Unicode explicites sont saisis à la place. La fonction press_and_release() envoie des événements du système d’exploitation pour effectuer des raccourcis clavier et taper des caractères passés en arguments.

Pour en savoir plus sur cette bibliothèque, reportez-vous à sa documentation ici.

Simuler un clavier à l’aide de la bibliothèque PyAutoGUI en Python

La bibliothèque PyAutoGUI nous permet d’écrire des scripts Python pour contrôler le clavier et la souris.

Cette bibliothèque peut déplacer le curseur de la souris et cliquer sur les fenêtres et les applications, envoyer des événements clés pour taper des caractères et exécuter des raccourcis clavier, prendre des captures d’écran, déplacer, redimensionner, minimiser, maximiser et localiser des applications à l’écran, et afficher des messages d’alerte, etc.

Pour installer cette bibliothèque, utilisez l’une des commandes suivantes.

pip install pyautogui
pip3 install pyautogui

Nous pouvons utiliser la bibliothèque PyAutoGUI pour notre cas d’utilisation. Reportez-vous au code suivant pour cela.

import pyautogui

pyautogui.write("Python is an amazing programming language.")

Production :

Python is an amazing programming language.

python simule la saisie au clavier à l’aide de la bibliothèque PyAutoGUI

Comme on peut le voir, la fonction write() tape le caractère de la chaîne passée en argument au caret. Cette fonction ne peut appuyer que sur des touches à un seul caractère telles que des lettres et des chiffres.

Cela signifie que nous ne pouvons pas appuyer sur des touches telles que Shift, Ctrl, Command, Alt, Option, F1 et F3. Nous pouvons utiliser les méthodes keyDown() et keyUp() pour appuyer sur ces touches.

La méthode keyDown() appuie sur une touche et la maintient enfoncée. Et la méthode keyUp() libère une clé détenue.

Reportez-vous au code Python suivant pour un exemple. N’oubliez pas de noter la position de votre curseur texte ou caret.

import pyautogui

pyautogui.keyDown("shift")
pyautogui.press("a")
pyautogui.press("b")
pyautogui.press("c")
pyautogui.keyUp("shift")
pyautogui.press("x")
pyautogui.press("y")
pyautogui.press("z")
pyautogui.keyDown("shift")
pyautogui.press("a")
pyautogui.keyUp("shift")
pyautogui.keyDown("shift")
pyautogui.press("b")
pyautogui.keyUp("shift")
pyautogui.keyDown("shift")
pyautogui.press("c")
pyautogui.keyUp("shift")

Production :

ABCxyzABC

python simule la saisie au clavier à l’aide de la bibliothèque PyAutoGUI - 2

Pour appuyer sur des touches telles que Shift+F, nous pouvons également utiliser la méthode press(). Cette fonction appuiera sur toutes les touches transmises sous forme de chaîne.

Dans les coulisses, cette fonction n’est qu’un wrapper pour les méthodes keyDown() et keyUp().

Pour en savoir plus sur cette bibliothèque, reportez-vous à sa documentation ici.

Vaibhav Vaibhav avatar Vaibhav Vaibhav avatar

Vaibhav is an artificial intelligence and cloud computing stan. He likes to build end-to-end full-stack web and mobile applications. Besides computer science and technology, he loves playing cricket and badminton, going on bike rides, and doodling.

Article connexe - Python Input