Introduction
L'automatisation de la saisie et la gestion des événements clavier sont essentielles pour tester des applications, créer des scripts personnalisés ou des utilitaires. Lorsque vous avez besoin d'appuyer sur des touches par programmation, de réagir à une saisie ou de créer vos propres raccourcis, Python propose une bibliothèque exceptionnelle : keyboard.
keyboard est un outil multiplateforme puissant qui permet de contrôler le clavier au niveau du système d'exploitation. Il fonctionne à la fois comme un écouteur et un générateur d'événements : vous pouvez intercepter et émuler la saisie au clavier.
Dans cet article, nous explorerons en détail la bibliothèque keyboard, de l'installation aux scénarios avancés, y compris la création de macros, les raccourcis globaux, les enregistreurs et la gestion des combinaisons complexes.
Installation et prérequis
L'installation de la bibliothèque se fait via pip :
pip install keyboard
Prérequis système
Windows : La bibliothèque fonctionne sans configuration supplémentaire.
Linux : Nécessite les droits root pour capturer les événements globaux du clavier. Pour une utilisation locale, exécutez avec sudo.
macOS : Partiellement limitée et nécessite des autorisations supplémentaires dans les paramètres de sécurité. Vous devez autoriser l'accès aux fonctions d'accessibilité.
Fonctionnalités principales de la bibliothèque
La bibliothèque keyboard offre un large éventail de fonctions pour interagir avec le clavier :
Émulation des pressions de touches
La bibliothèque permet d'imiter programmatiquement les pressions de touches, idéal pour automatiser des tâches répétitives.
Interception des événements clavier
Possibilité de surveiller les pressions de touches en temps réel et de créer vos propres gestionnaires d'événements.
Création de raccourcis clavier
Enregistrez des combinaisons de touches globales pour un accès rapide à vos fonctions.
Enregistrement et lecture de macros
Fonctionnalité pour enregistrer une séquence de pressions de touches et la rejouer ultérieurement.
Fonctions de base pour l'émulation des touches
Saisie de texte
import keyboard
# Saisie simple de texte
keyboard.write("Bonjour le monde !")
# Saisie avec un délai entre les caractères
keyboard.write("Saisie lente", delay=0.1)
Appuyer et relâcher des touches
# Appuyer sur une touche (sans la relâcher)
keyboard.press("ctrl")
# Relâcher une touche
keyboard.release("ctrl")
# Appuyer et relâcher immédiatement
keyboard.press_and_release("enter")
Combinaisons de touches
# Appuyer sur une combinaison
keyboard.send("ctrl+c")
keyboard.send("ctrl+shift+n")
# Méthode alternative
keyboard.press("ctrl")
keyboard.press("c")
keyboard.release("c")
keyboard.release("ctrl")
Gestion des raccourcis clavier
Enregistrement de raccourcis
import keyboard
def lancer_notepad():
print("Lancement du Bloc-notes !")
# Ajoutez ici le code pour lancer l'application
# Enregistrement d'un raccourci clavier
keyboard.add_hotkey("ctrl+alt+n", lancer_notepad)
# Attendre la touche Échap pour quitter
keyboard.wait("esc")
Combinaisons multiples
# Combinaison de plusieurs pressions successives
keyboard.add_hotkey("ctrl+alt+a, ctrl+alt+b", lambda: print("Combinaison complexe !"))
Gestion des raccourcis
# Supprimer un raccourci spécifique
hotkey = keyboard.add_hotkey("ctrl+space", lambda: print("Raccourci !"))
keyboard.remove_hotkey(hotkey)
# Effacer tous les raccourcis
keyboard.clear_hotkeys()
Gestion des événements clavier
Surveillance des pressions
def on_key_press(event):
print(f"Touche pressée : {event.name}")
def on_key_release(event):
print Aussi dans la bibliothèque
MapKit pour Swift : guide complet avec exemples
GraphQL pour C# (.NET) : Guide complet de la bibliothèque GraphQL.NET
Travailler avec YAML en Rust : la bibliothèque serde_yaml
Géolocalisation et cartes en C++ : aperçu des bibliothèques et outils
Hibernate ORM : Un outil puissant pour travailler avec les bases de données en Java