Keyboard

Experimental

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

The Keyboard interface of the the Keyboard API provides functions that retrieve keyboard layout maps and toggle capturing of key presses from the physical keyboard.

A list of valid code values is found in the UI Events KeyboardEvent code Values spec.

Properties

None.

Methods

Keyboard.getLayoutMap() (en-US)  这是一个实验性的 API,请尽量不要在生产环境中使用它。
Returns a Promise that resolves with an instance of KeyboardLayoutMap (en-US) which is a map-like object with functions for retrieving the strings associated with specific physical keys.
Keyboard.lock() (en-US)  这是一个实验性的 API,请尽量不要在生产环境中使用它。
Returns a Promise after enabling the capture of keypresses for any or all of the keys on the physical keyboard.
Keyboard.unlock() (en-US)  这是一个实验性的 API,请尽量不要在生产环境中使用它。
Unlocks all keys captured by the lock() method and returns synchronously.

Example

The following example demonstrates how to get the location- or layout-specific string associated with the key that corresponds to the 'W' key on an English QWERTY keyboard.

if (navigator.keyboard) {
  var keyboard = navigator.keyboard;
  keyboard.getLayoutMap()
  .then(keyboardLayoutMap => {
    var upKey = keyboardLayoutMap.get('KeyW');
    window.alert('Press ' + upKey + ' to move up.');
  });
} else {
  // Do something else.
}

Specifications

Specification Status Comment
Keyboard Map
Keyboard
Editor's Draft Initial definition.
Keyboard Lock
Keyboard
Editor's Draft Adds lock() and unlock().

Browser compatibility

BCD tables only load in the browser