Zum Hauptinhalt springen

! Eine Taste der Hardwaretastatur drücken und loslassen (:press)

Diese Methode ist erst in Versionen nach 20260805 verfügbar.

Deklaration

Erfolgreich, Fehlermeldung = Hardwaretastatur-Objekt:press(Tastencode[, Drückdauer])
Erfolgreich, Fehlermeldung = Hardwaretastatur-Objekt:press(Usage_Page, Usage_ID[, Drückdauer])

Parameter

  • Tastencode Text; verwendet dieselbe Tastennamenzuordnung wie key.press.
  • Usage Page Ganzzahl; das aktuelle Hardwaretastatur-Objekt akzeptiert nur die Keyboard/Keypad Usage Page 0x07.
  • Usage ID Ganzzahl, Nummer der physischen Taste, keine Zeichenkodierung.
  • Drückdauer Reelle Zahl, optionaler Parameter, Dauer des Gedrückthaltens in Millisekunden, standardmäßig 10 Millisekunden.

Rückgabewerte

  • Erfolgreich Boolescher Wert; bei erfolgreichem Drücken und Loslassen true, bei Fehler false.
  • Fehlermeldung Text; bei fehlgeschlagener Operation wird die Fehlermeldung zurückgegeben.

Hinweise

Drückt die Zieltaste und lässt sie nach der angegebenen Zeit wieder los. Während des Wartens wird die Ausführung implizit abgegeben; vor der Rückgabe der Methode können andere Threads ausgeführt werden.

  • Diese Methode schützt normale Tasten und Modifikatortasten, die vor dem Aufruf bereits gedrückt waren, und gibt sie nicht zur Ausführung der aktuellen Operation frei.
  • Während dieselbe Hardwaretastatur eine :press- oder :send_text-Sequenz ausführt, gibt die neue Operation false, "hardware keyboard is busy" zurück.
  • Bei einer fehlgeschlagenen Übertragung wird nicht automatisch eine andere Eingabemethode versucht.

Beispiel

local keyboard = assert(key.connect_keyboard())

assert(keyboard:press("a"))
assert(keyboard:press(0x07, 4, 30)) -- Keyboard A, 30 Millisekunden halten

assert(keyboard:disconnect())