This is an experimental technology
Check the Browser compatibility table carefully before using this in production.
The KeyboardLayoutMap interface of the the Keyboard API is a map-like object with functions for retrieving the string associated with specific physical keys. A list of valid keys is found in the UI Events KeyboardEvent code Values specification.
KeyboardLayoutMap.entries Read only
[key, value] pairs, in the same order as that provided by a for...in loop (the difference being that a for-in loop enumerates properties in the prototype chain as well). KeyboardLayoutMap.keys Read only
KeyboardLayoutMap.size Read only
KeyboardLayoutMap object.KeyboardLayoutMap.values Read only
KeyboardLayoutMap object.KeyboardLayoutMap.forEach() Read only
KeyboardLayoutMap.KeyboardLayoutMap.get()
KeyboardLayoutMap object.KeyboardLayoutMap.has()
KeyboardLayoutMap object has an element with the specified key.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.
var keyboard = navigator.keyboard;
keyboard.getLayoutMap()
.then(keyboardLayoutMap => {
var upKey = keyboardLayoutMap.get('KeyW');
window.alert('Press ' + upKey + ' to move up.');
} | Specification | Status | Comment |
|---|---|---|
| Unknown The definition of 'KeyboardLayoutMap' in that specification. | Unknown | Initial definition. |
| Desktop | ||||||
|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Internet Explorer | Opera | Safari | |
| Basic support | 69 | No | No | No | 55 | No |
entries
|
69 | No | No | No | 56 | No |
forEach
|
69 | No | No | No | 56 | No |
get
|
69 | No | No | No | 56 | No |
has
|
69 | No | No | No | 56 | No |
keys
|
69 | No | No | No | 56 | No |
size
|
69 | No | No | No | 56 | No |
values
|
69 | No | No | No | 56 | No |
| Mobile | |||||||
|---|---|---|---|---|---|---|---|
| Android webview | Chrome for Android | Edge Mobile | Firefox for Android | Opera for Android | iOS Safari | Samsung Internet | |
| Basic support | No | No | No | No | No | No | No |
entries
|
No | No | No | No | 56 | No | No |
forEach
|
No | No | No | No | 56 | No | No |
get
|
No | No | No | No | 56 | No | No |
has
|
No | No | No | No | 56 | No | No |
keys
|
No | No | No | No | 56 | No | No |
size
|
No | No | No | No | No | No | No |
values
|
No | No | No | No | 56 | No | No |
© 2005–2018 Mozilla Developer Network and individual contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/KeyboardLayoutMap