Keyboard
Eingeschränkt verfügbar
Diese Funktion ist nicht Baseline, da sie in einigen der am weitesten verbreiteten Browser nicht funktioniert.
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.
Das Keyboard Interface der Keyboard API bietet Funktionen, die Tastaturlayout-Karten abrufen und das Erfassen von Tastendrücken von der physischen Tastatur umschalten können.
Eine Liste gültiger Code-Werte findet sich in der UI Events KeyboardEvent code Values Spezifikation.
Instanz-Eigenschaften
Erbt auch Eigenschaften von seinem Eltern-Interface, EventTarget.
Instanz-Methoden
Erbt auch Methoden von seinem Eltern-Interface, EventTarget.
Keyboard.getLayoutMap()-
Gibt ein
Promisezurück, das mit einer Instanz vonKeyboardLayoutMapaufgelöst wird, welches ein map-ähnliches Objekt mit Funktionen zum Abrufen der Strings ist, die mit bestimmten physischen Tasten verbunden sind. Keyboard.lock()-
Gibt ein
Promisezurück, das nach der Aktivierung der Erfassung von Tastendrücken für eine oder alle Tasten auf der physischen Tastatur aufgelöst wird. Keyboard.unlock()-
Entsperrt alle durch die Methode
lock()erfassten Tasten und gibt synchron zurück.
Beispiel
>Tastaturzuordnung
Das folgende Beispiel zeigt, wie man den positions- oder layout-spezifischen String erhält, der mit der Taste korrespondiert, die der 'W'-Taste auf einer englischen QWERTY-Tastatur entspricht.
if (navigator.keyboard) {
const keyboard = navigator.keyboard;
keyboard.getLayoutMap().then((keyboardLayoutMap) => {
const upKey = keyboardLayoutMap.get("KeyW");
window.alert(`Press ${upKey} to move up.`);
});
} else {
// Do something else.
}
Tastatursperre
Das folgende Beispiel erfasst die W-, A-, S- und D-Tasten, indem lock() mit einer Liste aufgerufen wird, die den Schlüsselattributwert für jede dieser Tasten enthält:
navigator.keyboard.lock(["KeyW", "KeyA", "KeyS", "KeyD"]);
Dies erfasst diese Tasten unabhängig davon, welche Modifikatoren beim Tastendruck verwendet werden. Angenommen, es handelt sich um ein standardmäßiges US-englisches QWERTY-Layout, stellt das Registrieren von KeyW sicher, dass W, Shift+W, Control+W, Control+Shift+W und alle anderen Tastenkombinationen mit W an die App gesendet werden. Dasselbe gilt für KeyA, KeyS und KeyD.
Spezifikationen
| Spezifikation |
|---|
| Keyboard Map> # keyboard-interface> |
| Keyboard Lock> # keyboard-interface> |