Keyboard - 提供了检索键盘布局图和从物理键盘切换按键的功能
这是一个实验中的功能
此功能某些浏览器尚在开发中,请参考浏览器兼容性表格以得到在不同浏览器中适合使用的前缀。由于该功能对应的标准文档可能被重新修订,所以在未来版本的浏览器中该功能的语法和行为可能随之改变。
Keyboard
是 Keyboard 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() 。 |
桌面浏览器兼容性
特性 | Chrome | Edge | Firefox | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|---|
基础支持 | 68 | 不支持 | 不支持 | 不支持 | 55 | 不支持 |
getLayoutMap | 69 | 不支持 | 不支持 | 不支持 | 56 | 不支持 |
lock | 68 | 不支持 | 不支持 | 不支持 | 55 | 不支持 |
unlock | 68 | 不支持 | 不支持 | 不支持 | 55 | 不支持 |
移动浏览器兼容性
特性 | Android | Chrome for Android | Edge mobile | Firefox for Android | IE mobile | Opera Android | iOS Safari |
---|---|---|---|---|---|---|---|
基础支持 | 不支持 | 不支持 | 未知 | 不支持 | 未知 | 不支持 | 不支持 |
getLayoutMap | 不支持 | 不支持 | 未知 | 不支持 | 未知 | 不支持 | 不支持 |
lock | 不支持 | 不支持 | 未知 | 不支持 | 未知 | 不支持 | 不支持 |
unlock | 不支持 | 不支持 | 未知 | 不支持 | 未知 | 不支持 | 不支持 |