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.


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 a loop (the difference being that a for-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.


KeyboardLayoutMap.forEach() Read only  
Executes a provided function once for each element of KeyboardLayoutMap.
Returns the element with the given key from the KeyboardLayoutMap object.
Returns a boolean indicating whether the 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;
.then(keyboardLayoutMap => {
  var upKey = keyboardLayoutMap.get('KeyW');
  window.alert('Press ' + upKey + ' to move up.');


Keyboard Map
# keyboardlayoutmap-interface

Browser compatibility

BCD tables only load in the browser