! 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 Fehlerfalse. - 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 Operationfalse, "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())