Keyboard: lock() method - Web APIs | MDN
Syntax
Parameters
keyCodesOptional-
An
Arrayof 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
AbortErrorDOMException-
Thrown if a new call to
lock()is made before the current one has finished. InvalidAccessErrorDOMException-
Thrown if any key in
keyCodesis not a valid key code attribute value. InvalidStateErrorDOMException-
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 |