Keyboard – Gestion du clavier en Python

Formateur Python en ligne pour débutants

Apprenez Python facilement sans surcharge théorique. Résolvez des tâches pratiques avec vérification automatique et écrivez du code directement dans le navigateur.

Start Course

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                    

Recommendations