Spec-Zone.ru › Web APIs

Клавиатура: метод lock()

Ограниченная доступность

Эта функция не относится к Baseline, так как она не работает в некоторых наиболее широко используемых браузерах.

  • Узнать больше
  • Полная совместимость
  • Отправить отзыв

Экспериментальная: Это экспериментальная технология Экспериментальная технология
Перед использованием в рабочей среде внимательно проверьте таблицу совместимости браузеров.

Безопасный контекст: Эта функция доступна только в безопасных контекстах (HTTPS) в некоторых или всех поддерживающих браузерах.

Метод lock() интерфейса Keyboard возвращает Promise, который разрешается после включения захвата нажатий клавиш для любой или всех клавиш на физической клавиатуре. Данный метод может захватывать только те клавиши, которым предоставлен доступ основной операционной системой.

Если lock() вызывается несколько раз, то будут заблокированы только коды клавиш, указанные в последнем вызове. Любые клавиши, заблокированные предыдущим вызовом lock(), разблокируются.

Синтаксис

lock()
lock(keyCodes)

Параметры

keyCodes Необязательно

Массив Array одного или нескольких кодов клавиш для блокировки. Если коды клавиш не указаны, будут заблокированы все клавиши. Список допустимых значений кодов можно найти в спецификации значений кодов UI-событий KeyboardEvent.

Возвращаемое значение

Promise, который разрешается со значением undefined при успешной блокировке.

Исключения

AbortError DOMException

Выбрасывается, если новый вызов lock() выполнен до завершения текущего.

InvalidAccessError DOMException

Выбрасывается, если какая-либо клавиша в keyCodes не является допустимым значением атрибута кода клавиши.

InvalidStateError DOMException

Выбрасывается, если lock() не вызывается в активном контексте верхнего уровня браузера.

Безопасность

Требуется временная активация пользователя. Пользователь должен взаимодействовать со страницей или элементом пользовательского интерфейса, чтобы эта функция работала.

Примеры

Захват всех клавиш

Следующий пример захватывает все нажатия клавиш.

navigator.keyboard.lock();

Захват определённых клавиш

Следующий пример захватывает клавиши "W", "A", "S" и "D". Он захватывает эти клавиши независимо от используемых модификаторов при нажатии. Предполагая стандартную раскладку US QWERTY, регистрация "KeyW" гарантирует, что "W", Shift+"W", Control+"W", Control+Shift+"W", и все другие сочетания клавиш с "W" будут отправлены в приложение. То же самое относится к "KeyA", "KeyS" и "KeyD".

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

Спецификации

Спецификация
Захват клавиатуры
# h-keyboard-lock

Совместимость браузеров

Рабочие столы Мобильные устройства
Chrome Edge Firefox Opera Safari Chrome Android Firefox для Android Opera Android Safari на IOS Samsung Internet WebView Android
lock 68 79 Нет 55 Нет 68 Нет 48 Нет 10.0 68

© 2005–2024 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/Keyboard/lock

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API