KeyboardLayoutMap
Experimental: This is an experimental technology
Check the Browser compatibility table carefully before using this in production.
The KeyboardLayoutMap interface of 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.
Properties
-
KeyboardLayoutMap.entriesRead only -
Returns an array of a given object's own enumerable property
[key, value]pairs, in the same order as that provided by afor...inloop (the difference being that afor-inloop enumerates properties in the prototype chain as well). -
KeyboardLayoutMap.keysRead only -
Returns a new array iterator object that contains the keys for each index in the array.
-
KeyboardLayoutMap.sizeRead only -
Returns the number of elements in the
KeyboardLayoutMapobject. -
KeyboardLayoutMap.valuesRead only -
Returns a new array iterator object that contains the values for each index in the
KeyboardLayoutMapobject.
Methods
-
KeyboardLayoutMap.forEach()Read only -
Executes a provided function once for each element of
KeyboardLayoutMap. -
KeyboardLayoutMap.get() -
Returns the element with the given key from the
KeyboardLayoutMapobject. -
KeyboardLayoutMap.has() -
Returns a boolean indicating whether the
KeyboardLayoutMapobject has an element with the specified key.
Examples
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.'); })
Specifications
| Specification |
|---|
| Keyboard Map # keyboardlayoutmap-interface |
Browser compatibility
| Desktop | Mobile | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Internet Explorer | Opera | Safari | WebView Android | Chrome Android | Firefox for Android | Opera Android | Safari on IOS | Samsung Internet | |
KeyboardLayoutMap |
69 |
79 |
No |
No |
55 |
No |
No |
No |
No |
48 |
No |
No |
entries |
69 |
79 |
No |
No |
56 |
No |
No |
No |
No |
48 |
No |
No |
forEach |
69 |
79 |
No |
No |
56 |
No |
No |
No |
No |
48 |
No |
No |
get |
69 |
79 |
No |
No |
56 |
No |
No |
No |
No |
48 |
No |
No |
has |
69 |
79 |
No |
No |
56 |
No |
No |
No |
No |
48 |
No |
No |
keys |
69 |
79 |
No |
No |
56 |
No |
No |
No |
No |
48 |
No |
No |
size |
69 |
79 |
No |
No |
56 |
No |
No |
No |
No |
No |
No |
No |
values |
69 |
79 |
No |
No |
56 |
No |
No |
No |
No |
48 |
No |
No |
© 2005–2021 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/KeyboardLayoutMap