Keyboard: lock() Methode

Limited availability

This feature is not Baseline because it does not work in some of the most widely-used browsers.

Experimentell: Dies ist eine experimentelle Technologie
Überprüfen Sie die Browser-Kompatibilitätstabelle sorgfältig vor der Verwendung auf produktiven Webseiten.

Sicherer Kontext: Diese Funktion ist nur in sicheren Kontexten (HTTPS) in einigen oder allen unterstützenden Browsern verfügbar.

Die lock() Methode der Keyboard-Schnittstelle gibt ein Promise zurück, das sich auflöst, nachdem das Erfassen von Tastendrücken für alle oder bestimmte Tasten der physischen Tastatur aktiviert wurde. Diese Methode kann nur Tasten erfassen, die vom zugrunde liegenden Betriebssystem freigegeben wurden.

Wenn lock() mehrmals aufgerufen wird, werden nur die Tastencodes der zuletzt aufgerufenen Methode gesperrt. Alle Tasten, die durch einen vorherigen Aufruf von lock() gesperrt wurden, werden entsperrt.

Syntax

js
lock()
lock(keyCodes)

Parameter

keyCodes Optional

Ein Array von einem oder mehreren zu sperrenden Tastencodes. Wenn keine Tastencodes angegeben werden, werden alle Tasten gesperrt. Eine Liste gültiger Code-Werte finden Sie in der Spezifikation UI Events KeyboardEvent Code Values.

Rückgabewert

Ein Promise, das sich mit undefined auflöst, wenn die Sperrung erfolgreich war.

Ausnahmen

AbortError DOMException

Wird ausgelöst, wenn ein neuer Aufruf von lock() gemacht wird, bevor der aktuelle abgeschlossen ist.

InvalidAccessError DOMException

Wird ausgelöst, wenn eine Taste in keyCodes keinen gültigen Tastencode-Attributwert hat.

InvalidStateError DOMException

Wird ausgelöst, wenn lock() nicht in einem aktiven Top-Level-Browsing-Kontext aufgerufen wird.

Sicherheit

Eine transiente Benutzeraktivierung ist erforderlich. Der Benutzer muss mit der Seite oder einem UI-Element interagieren, damit diese Funktion funktioniert.

Beispiele

Erfassen aller Tasten

Das folgende Beispiel erfasst alle Tastendrücke.

js
navigator.keyboard.lock();

Erfassen spezifischer Tasten

Das folgende Beispiel erfasst die Tasten "W", "A", "S" und "D". Es erfasst diese Tasten unabhängig davon, welche Modifikatoren zusammen mit der Taste gedrückt werden. Bei einem Standard-US-QWERTY-Layout sorgt das Registrieren von "KeyW" dafür, dass "W", Shift+"W", Control+"W", Control+Shift+"W" und alle anderen Tastenkombinationen mit "W" an die Anwendung gesendet werden. Dasselbe gilt für "KeyA", "KeyS" und "KeyD".

js
navigator.keyboard.lock(["KeyW", "KeyA", "KeyS", "KeyD"]);

Spezifikationen

Specification
Keyboard Lock
# h-keyboard-lock

Browser-Kompatibilität