Einleitung
Die Automatisierung von Tastatureingaben und die Verarbeitung von Tastaturereignissen sind wichtige Aspekte sowohl für das Testen von Anwendungen als auch für die Erstellung benutzerdefinierter Skripte und Dienstprogramme. Wenn Sie programmatisch Tasten drücken, auf Eingaben reagieren oder eigene Tastenkombinationen erstellen möchten, bietet Python eine hervorragende Bibliothek: keyboard.
keyboard ist ein leistungsstarkes, plattformübergreifendes Tool, das die Steuerung der Tastatur auf Betriebssystemebene ermöglicht. Es fungiert sowohl als Listener als auch als Generator von Ereignissen: Sie können Tastatureingaben sowohl abfangen als auch emulieren.
In diesem Artikel werden wir die keyboard-Bibliothek im Detail behandeln – von der Installation bis hin zu fortgeschrittenen Szenarien, einschließlich der Erstellung von Makros, globalen Hotkeys, Loggern und der Verarbeitung von Tastenkombinationen.
Installation und Anforderungen
Die Installation der Bibliothek erfolgt über pip:
pip install keyboard
Systemanforderungen
Windows: Die Bibliothek funktioniert ohne zusätzliche Konfiguration.
Linux: Erfordert Root-Zugriff, um globale Tastaturereignisse abzufangen. Für die lokale Verwendung kann das Skript mit sudo ausgeführt werden.
macOS: Teilweise eingeschränkt und erfordert zusätzliche Berechtigungen in den Sicherheitseinstellungen. Der Zugriff auf die Funktionen für universellen Zugriff muss gewährt werden.
Hauptfunktionen der Bibliothek
Die keyboard-Bibliothek bietet eine breite Palette von Funktionen für die Arbeit mit der Tastatur:
Tastendrücke emulieren
Die Bibliothek ermöglicht es, Tastendrücke programmatisch zu simulieren, was für die Automatisierung von Routineaufgaben nützlich ist.
Tastaturereignisse abfangen
Die Möglichkeit, Tastendrücke in Echtzeit zu überwachen und eigene Ereignisbehandlungsroutinen zu erstellen.
Hotkeys erstellen
Registrierung globaler Tastenkombinationen für den schnellen Zugriff auf Funktionen.
Makros aufzeichnen und abspielen
Funktionalität zum Aufzeichnen einer Sequenz von Tastendrücken und deren anschließender Wiedergabe.
Grundlegende Funktionen zur Tastenemulation
Texteingabe
import keyboard
# Einfache Texteingabe
keyboard.write("Hallo, Welt!")
# Eingabe mit Verzögerung zwischen den Zeichen
keyboard.write("Langsame Eingabe", delay=0.1)
Taste drücken und loslassen
# Taste drücken (nicht loslassen)
keyboard.press("ctrl")
# Taste loslassen
keyboard.release("ctrl")
# Drücken und sofort loslassen
keyboard.press_and_release("enter")
Tastenkombinationen
# Tastenkombination ausführen
keyboard.send("ctrl+c")
keyboard.send("ctrl+shift+n")
# Alternative Methode
keyboard.press("ctrl")
keyboard.press("c")
keyboard.release("c")
keyboard.release("ctrl")
Arbeiten mit Hotkeys
Hotkeys registrieren
import keyboard
def notepad_starten():
print("Notepad wird gestartet!")
# Hier kann Code zum Starten der Anwendung eingefügt werden
# Hotkey registrieren
keyboard.add_hotkey("ctrl+alt+n", notepad_starten)
# Warten auf Esc zum Beenden
keyboard.wait("esc")
Mehrere Tastenkombinationen
# Kombination aus mehreren aufeinanderfolgenden Tastendrücken
keyboard.add_hotkey("ctrl+alt+a, ctrl+alt+b", lambda: print("Komplexe Kombination!"))
Hotkeys verwalten
# Bestimmten Hotkey entfernen
hotkey = keyboard.add_hotkey("ctrl+space", lambda: print("Hotkey!"))
keyboard.remove_hotkey(hotkey)
# Alle Hotkeys löschen
keyboard.clear_hotkeys()
Tastaturereignisse verarbeiten
Tastendrücke überwachen
def on_key_press(event):
print(f"Taste gedrückt: {event.name}")
def on_key_release(event):
print