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.entries
Read only -
Returns an array of a given object's own enumerable property
[key, value]
pairs, in the same order as that provided by afor...in
loop (the difference being that afor-in
loop enumerates properties in the prototype chain as well). -
KeyboardLayoutMap.keys
Read only -
Returns a new array iterator object that contains the keys for each index in the array.
-
KeyboardLayoutMap.size
Read only -
Returns the number of elements in the
KeyboardLayoutMap
object. -
KeyboardLayoutMap.values
Read only -
Returns a new array iterator object that contains the values for each index in the
KeyboardLayoutMap
object.
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
KeyboardLayoutMap
object. -
KeyboardLayoutMap.has()
-
Returns a boolean indicating whether the
KeyboardLayoutMap
object 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