Keyboard - 提供了检索键盘布局图和从物理键盘切换按键的功能

这是一个实验中的功能
此功能某些浏览器尚在开发中,请参考浏览器兼容性表格以得到在不同浏览器中适合使用的前缀。由于该功能对应的标准文档可能被重新修订,所以在未来版本的浏览器中该功能的语法和行为可能随之改变。

KeyboardKeyboard API 的接口,提供了检索键盘布局图和从物理键盘切换按键的功能。

有关的有效代码值列表可在 UI 事件 KeyboardEvent 代码值规范中找到。

属性

无。

方法

Keyboard.getLayoutMap()

返回一个 Promise,解析为 KeyboardLayoutMap 的实例,该实例是一个类似于 map 的对象,具有检索与特定物理键关联的字符串的功能。

Keyboard.lock()

在启用捕获物理键盘上任何或所有键的按键后,返回一个 Promise

Keyboard.unlock()

解锁 lock() 方法捕获的所有键并同步返回结果。

实例

以下实例演示如何获取与英语 QWERTY 键盘上与 “W” 键对应的键相关联的位置或布局特定字符串。

if (navigator.keyboard) {
  var keyboard = navigator.keyboard;
  keyboard.getLayoutMap()
  .then(keyboardLayoutMap => {
    var upKey = keyboardLayoutMap.get('KeyW');
    window.alert('对应的键为 ' + upKey + '。');
  });
} else {
  // 做点别的。
}

规范

规范 状态 备注
Unknown
Keyboard 的定义
Unknown 初始定义。
Unknown
Keyboard 的定义
Unknown 增加了 lock()unlock()

桌面浏览器兼容性

特性ChromeEdgeFirefoxInternet ExplorerOperaSafari
基础支持68 不支持 不支持 不支持55 不支持
getLayoutMap69 不支持 不支持 不支持56 不支持
lock68 不支持 不支持 不支持55 不支持
unlock68 不支持 不支持 不支持55 不支持

移动浏览器兼容性

特性AndroidChrome for AndroidEdge mobileFirefox for AndroidIE mobileOpera AndroidiOS Safari
基础支持 不支持 不支持 未知 不支持 未知 不支持 不支持
getLayoutMap 不支持 不支持 未知 不支持 未知 不支持 不支持
lock 不支持 不支持 未知 不支持 未知 不支持 不支持
unlock 不支持 不支持 未知 不支持 未知 不支持 不支持