Spec-Zone.ru › Web APIs

Клавиатура

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

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

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

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

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

Интерфейс Keyboard API клавиатуры предоставляет функции, которые извлекают карты раскладок клавиатуры и включают/выключают захват нажатий клавиш с физической клавиатуры.

Список допустимых значений кодов см. в спецификации UI Events KeyboardEvent code Values.

EventTarget Клавиатура

Свойства экземпляра

Также наследует свойства от своего родительского интерфейса EventTarget.

Методы экземпляра

Также наследует методы от своего родительского интерфейса EventTarget.

Keyboard.getLayoutMap() Экспериментально

Возвращает Promise, который разрешается экземпляром KeyboardLayoutMap, который представляет собой объект типа "карта" с функциями для извлечения строк, связанных с определенными физическими клавишами.

Keyboard.lock() Экспериментально

Возвращает Promise, который разрешается после включения захвата нажатий клавиш для любой или всех клавиш на физической клавиатуре.

Keyboard.unlock() Экспериментально

Разблокирует все клавиши, захваченные методом lock(), и возвращает результат синхронно.

Пример

Сопоставление клавиш

Следующий пример демонстрирует, как получить строку, специфичную для расположения или раскладки, связанную с клавишей, соответствующей клавише 'W' на английской клавиатуре QWERTY.

if (navigator.keyboard) {
  const keyboard = navigator.keyboard;
  keyboard.getLayoutMap().then((keyboardLayoutMap) => {
    const upKey = keyboardLayoutMap.get("KeyW");
    window.alert(`Press ${upKey} to move up.`);
  });
} else {
  // Do something else.
}

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

В следующем примере захватываются клавиши W, A, S и D, вызывая lock() со списком, содержащим значение атрибута кода клавиши для каждой из этих клавиш:

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

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

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

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

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

Рабочие столы Мобильные устройства
Chrome Edge Firefox Opera Safari Chrome Android Firefox для Android Opera Android Safari на IOS Samsung Internet WebView Android
Keyboard 68 79 Нет 55 Нет 68 Нет 48 Нет 10.0 68
getLayoutMap 69 79 Нет 56 Нет 69 Нет 48 Нет 10.0 69
lock 68 79 Нет 55 Нет 68 Нет 48 Нет 10.0 68
unlock 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

Spec-Zone.ru

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