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.


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