Tastendruck erkennen in Python
-
Tastendruck in Python mit dem
keyboard
-Modul in Python erkennen -
Tastendruck in Python mit dem
pynput
-Modul in Python erkennen
Wenn Sie Zugriff auf die Hardware wie Eingabegeräte wie die Tastatur benötigen, gibt es in Python Module, die Ihnen das Leben sehr erleichtern können. Wenn Sie solche Module verwenden, können Sie die gewünschte Aufgabe einfach ausführen, ohne sich mit der Komplexität des Systems auseinandersetzen zu müssen.
In diesem Artikel erfahren Sie, wie Sie Tastendruck mithilfe von Modulen in Python erkennen können. Es gibt viele Module, die zur Erkennung von Tastendruck in Python verwendet werden, und von denen die beiden beliebtesten und am häufigsten verwendeten Module keyboard
und pynput
sind.
Tastendruck in Python mit dem keyboard
-Modul in Python erkennen
Das Modul keyboard
ermöglicht es uns, die volle Kontrolle über die Tastatur zu übernehmen und bietet verschiedene vordefinierte Methoden zur Auswahl. Diese Methoden machen es uns viel einfacher, mit der Tastatur zu arbeiten und die physischen Tastendrücke des Benutzers auf der Tastatur zu erkennen.
Um das Modul keyboard
zu installieren, führen Sie den folgenden Befehl in Ihrer Eingabeaufforderung oder im Terminal aus.
pip3 install keyboard
Zuerst müssen Sie das Modul keyboard
in das Programm importieren. Hier verwenden wir drei Methoden, um den Tastendruck in Python zu erkennen: read_key()
, is_pressed()
und on_press_key()
.
import keyboard
while True:
if keyboard.read_key() == "p":
print("You pressed p")
break
while True:
if keyboard.is_pressed("q"):
print("You pressed q")
break
keyboard.on_press_key("r", lambda _: print("You pressed r"))
Ausgabe:
You pressed p
You pressed q
You pressed r
Die Methode read_key()
liest, welche Taste ein Benutzer auf der Tastatur gedrückt hat, und wenn es die gewünschte Taste ist, in diesem Fall p
, gibt sie die Meldung You pressed p
aus. Die Funktion read_key()
gibt ein Zeichen zurück.
Die Funktion is_pressed()
nimmt ein Zeichen als Eingabe, und wenn es mit der Taste übereinstimmt, die der Benutzer gedrückt hat, gibt sie True
zurück, ansonsten False
.
Die Funktion on_press_key()
nimmt zwei Parameter als Eingabe, der erste ist das Zeichen, der zweite ist die Funktion. Wenn der Benutzer die Taste drückt, die mit der als erster Parameter der Funktion on_press_key()
angegebenen Taste übereinstimmt, wird nur die Funktion ausgeführt, die Sie als zweiten Parameter übergeben haben.
Tastendruck in Python mit dem pynput
-Modul in Python erkennen
Das Modul pynput
dient zur Erkennung und Steuerung von Eingabegeräten, hauptsächlich Maus und Tastatur. In diesem Tutorial werden Sie jedoch nur sehen, wie Sie dieses Modul zur Erkennung von Tastendrücken auf der Tastatur verwenden können. Bevor Sie dieses Modul verwenden können, müssen Sie es zunächst mit dem unten stehenden Befehl installieren.
pip3 install pynput
Um dieses Modul zur Erkennung des Tastendrucks zu verwenden, müssen Sie zunächst keyboard
aus dem Modul pynput
importieren.
from pynput import keyboard
def on_press(key):
try:
print("Alphanumeric key pressed: {0} ".format(key.char))
except AttributeError:
print("special key pressed: {0}".format(key))
def on_release(key):
print("Key released: {0}".format(key))
if key == keyboard.Key.esc:
# Stop listener
return False
# Collect events until released
with keyboard.Listener(on_press=on_press, on_release=on_release) as listener:
listener.join()
Ausgabe:
Alphanumeric key pressed: a
Key released: 'a'
Alphanumeric key pressed: b
Key released: 'b'
special key pressed: Key.ctrl_l
Key released: Key.ctrl_l
Beachten Sie, dass die obige Ausgabe variieren kann, je nachdem, welche Tasten vom Benutzer gedrückt werden.
Um den Tastendruck zu erkennen, definieren wir zwei Funktionen, on_press
und on_release
. Die Funktion on_press
wird ausgeführt, wenn der Benutzer eine Taste auf der Tastatur drückt, und sobald der Benutzer diese Taste loslässt, wird die Funktion on_release
ausgeführt.
Beide Funktionen geben nur die vom Benutzer gedrückten und losgelassenen Tasten in das Konsolenfenster aus. Sie können die Implementierung dieser beiden Funktionen je nach Ihren Anforderungen ändern.
Am Ende haben wir dann einen Listener, der auf die Tastaturereignisse hört und die Funktionen on_press
und on_release
entsprechend ausführt.
Sahil is a full-stack developer who loves to build software. He likes to share his knowledge by writing technical articles and helping clients by working with them as freelance software engineer and technical writer on Upwork.
LinkedIn