Keyboard: lock() method - Web APIs | MDN

Syntax

Parameters

keyCodes Optional

An Array of one or more key codes to lock. If no keycodes are provided all keys will be locked. A list of valid code values is found in the UI Events KeyboardEvent code Values spec.

Return value

A Promise that resolves with undefined when the lock was successful.

Exceptions

AbortError DOMException

Thrown if a new call to lock() is made before the current one has finished.

InvalidAccessError DOMException

Thrown if any key in keyCodes is not a valid key code attribute value.

InvalidStateError DOMException

Thrown if lock() is not called in an active top-level browsing context.

Security

Transient user activation is required. The user has to interact with the page or a UI element in order for this feature to work.

Examples

Capturing all keys

The following example captures all key presses.

js

navigator.keyboard.lock();

Capturing specific keys

The following example captures the "W", "A", "S", and "D" keys. It captures these keys regardless of which modifiers are used with the key press. Assuming a standard US QWERTY layout, registering "KeyW" ensures that "W", Shift+"W", Control+"W", Control+Shift+"W", and all other key modifier combinations with "W" are sent to the app. The same applies to for "KeyA", "KeyS" and "KeyD".

js

navigator.keyboard.lock(["KeyW", "KeyA", "KeyS", "KeyD"]);

Specifications

Specification
Keyboard Lock
# h-keyboard-lock

Browser compatibility

Help improve MDN

Learn how to contribute

This page was last modified on by MDN contributors.