Scripting

Skript zum Erkennen von Tastatureingaben

Tastatureingaben auf der Peakboard Box können mit einem Skript erkannt werden. Dazu wird ein Event angelegt, welches bei jeder Tastatureingabe ausgelöst wird. Das Event wird mit einer Funktion verknüpft, die dann entscheidet, welche Aktion bei bestimmten Eingaben ausgeführt werden soll.

Tastatureingaben erkennen

Es gibt zwei Arten von Tastatureingaben-Events, die auf der Peakboard Box erkannt werden können:

  • KeyPressed
  • KeyInput

Der Unterschied zwischen den beiden Events besteht darin, dass KeyPressed bei jeder Tastatureingabe ausgelöst wird, während KeyInput nur ausgelöst wird, wenn ein Input durch ein Enter-Zeichen abgeschlossen wird.

Für die Erkennung von Tastatureingaben eignet sich das KeyPressed-Event besser, da es bei jeder Tastatureingabe ausgelöst wird und somit eine Echtzeit-Erkennung der Eingaben ermöglicht.

Geht es hingegen um die Eingabe von Texten oder Zahlen, die durch ein Enter-Zeichen abgeschlossen werden, eignet sich das KeyInput-Event besser, da es nur bei einem abgeschlossenen Input ausgelöst wird.

Event anlegen

Um ein KeyPressed- oder KeyInput-Event anzulegen, wird im Package-Explorer unter Skripte ein neues globales Event hinzugefügt. Dazu wird über einen Rechtsklick ein Kontextmenü geöffnet und ein KeyPressed- oder KeyInput-Event ausgewählt.

Key-Event anlegen

Nachdem das Event angelegt wurde, kann das Skript definiert werden, welches startet, sobald eine Tastatureingabe getätigt wird.

Umgang mit KeyPressed-Events

Key-Code auslesen

Über den Parameter e des Events kann auf die gedrückte Taste zugegriffen werden. Mit e.key wird die gedrückte Taste als Key-Code zurückgegeben.

e.key

Wichtig ist, dass dieser Key-Code noch nicht dem Buchstabenwert der Taste entspricht, sondern einem numerischen Wert, der die Taste repräsentiert.

Key-Code in Buchstaben umwandeln

Um den Buchstabenwert der Taste zu erhalten, kann die Funktion keytostring verwendet werden. Diese Funktion wandelt den numerischen Key-Code in den entsprechenden Buchstabenwert um.

keytostring(e.key)

Auf Tastatureingaben reagieren

Nachdem der Key-Code in einen Buchstabenwert umgewandelt wurde, kann auf die Eingabe reagiert werden. Dazu kann eine if-Abfrage verwendet werden, die prüft, ob die gedrückte Taste einem bestimmten Wert entspricht.

Hier ein Beispiel, das einen Buzzer abspielt, falls die Taste A gedrückt wurde:

if keytostring(e.key) == 'A' then
   runtime.playsound('buzzer')
end

Modifier-Tasten erkennen

Neben den normalen Tasten können auch die Modifier-Tasten wie Shift, Control oder Alt erkannt werden. Dazu kann die Funktion modifiertostring verwendet werden, die die gedrückten Modifier-Tasten als String zurückgibt.

Hier ein Beispiel, das prüft, ob die Shift-, Control- oder Alt-Taste gedrückt wurde und die Hintergrundfarbe eines Steuerelements entsprechend ändert:

if string.contains(modifiertostring(e.modifier), 'Shift') then
   screens['Screen1'].ShiftBg.background = brushes.fromhex('#FFFFC400')
else
   screens['Screen1'].ShiftBg.background = brushes.fromhex('#FF2A6473')
end

if string.contains(modifiertostring(e.modifier), 'Control') then
   screens['Screen1'].CtrlBg.background = brushes.fromhex('#FFFFC400')
else
   screens['Screen1'].CtrlBg.background = brushes.fromhex('#FF2A6473')
end

if string.contains(modifiertostring(e.modifier), 'Alt') then
   screens['Screen1'].AltBg.background = brushes.fromhex('#FFFFC400')
else
   screens['Screen1'].AltBg.background = brushes.fromhex('#FF2A6473')
end

Umgang mit KeyInput-Events

Im Gegensatz zu KeyPressed-Events wird bei KeyInput-Events der gesamte Text, der durch die Tastatureingabe entstanden ist, übergeben. Dieser Text kann dann weiterverarbeitet werden.

Der Building Block Get text kann verwendet werden, um den Text aus dem Event auszulesen. Input Text auslesen

Im Skript kann der Text aus dem Event über den Parameter e ausgelesen werden:

e.text

Auf Tastatureingaben reagieren

Nachdem der Text aus dem Event ausgelesen wurde, kann auf die Eingabe reagiert werden. Dazu kann eine if-Abfrage verwendet werden, die prüft, ob der eingegebene Text einem bestimmten Wert entspricht.

Hier ein Beispiel, das prüft, ob der eingegebene Text Hello ist:

if string.contains(e.text, 'Hello') then
   runtime.playsound('buzzer')
end

Wir lernen von dir!

Hat dir dieser artikel geholfen?

Lass dich erleuchten!

Du benötigst weitere unterstützung?

Peakboard Youtube icon Zum YouTube Kanal

Unsere zahlreichen Videos für Einsteiger und Fortgeschrittene erklären dir genau, wie du dein Dashboard gestaltest.

Peakboard Templates icon Zu den Peakboard Templates

Lade dir unsere Templates für die verschiedensten Anwendungsfälle kostenlos herunter.

Peakboard icon Zu www.peakboard.com

Auf unserer Website findest du alle wichtigen Infos zu Peakboard sowie verschiedene Anwendungsfälle und Success Stories.