鍵盤

可用性有限

此特性不是基線特性,因為它在一些最廣泛使用的瀏覽器中不起作用。

實驗性: 這是一項實驗性技術
在生產中使用此技術之前,請仔細檢查瀏覽器相容性表格

安全上下文: 此功能僅在安全上下文(HTTPS)中可用,且支援此功能的瀏覽器數量有限。

Keyboard 介面是 Keyboard API 的一部分,提供檢索鍵盤佈局對映以及切換物理鍵盤按鍵捕獲的功能。

有效程式碼值的列表可在 UI Events KeyboardEvent code Values 規範中找到。

EventTarget Keyboard

例項屬性

還繼承了其父介面 EventTarget 的屬性。

例項方法

還繼承了其父介面 EventTarget 的方法。

Keyboard.getLayoutMap() 實驗性

返回一個 Promise,該 Promise 解析為一個 KeyboardLayoutMap 例項,這是一個類似 Map 的物件,提供用於檢索與特定物理按鍵關聯的字串的函式。

Keyboard.lock() 實驗性

返回一個 Promise,該 Promise 在啟用對物理鍵盤上任意或所有按鍵的按鍵捕獲後解析。

Keyboard.unlock() 實驗性

解鎖由 lock() 方法捕獲的所有按鍵,並同步返回。

示例

鍵盤對映

以下示例演示瞭如何獲取與英文 QWERTY 鍵盤上 'W' 鍵對應的按鍵的位置或佈局特定的字串。

js
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.
}

鍵盤鎖定

以下示例捕獲 WASD 鍵,並使用包含這些按鍵的鍵碼屬性值列表呼叫 lock()

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

這將捕獲這些按鍵,而不管按鍵時使用了什麼修飾符。假設使用標準的美國 QWERTY 佈局,註冊 KeyW 可確保 WShift+WControl+WControl+Shift+W 以及與 W 組合的所有其他按鍵修飾符組合都會發送到應用程式。對於 KeyAKeySKeyD 也是如此。

規範

規範
鍵盤對映
# keyboard-interface
鍵盤鎖定
# keyboard-interface

瀏覽器相容性