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())