Tastendruck erkennen in Python

  1. Tastendruck in Python mit dem keyboard-Modul in Python erkennen
  2. 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.

Verwandter Artikel - Python Input

  • Wie man Eingaben aus Stdin in Python liest