Задать вопрос
JackShcherbakov
@JackShcherbakov

Почему в JavaScript keyDown не отлавливает больше 4-х одновременных нажатий?

Здравствуйте!

Есть виртуальная клавиатура https://codepen.io/CitizenOne/pen/rReYqj

Я нажимаю на физической клавиатуре 10 клавиш, но почему то на виртуальной все время отображается только 3 нажатия (изредко достигает 5). В чем дело? В моем текущем проекте просто критически важно отслеживать до 10-и нажатий одновременно.

UPD:

Написал еще один скрипт https://codepen.io/CitizenOne/pen/moPXbP

В нем попытался хранить нажатые клавиши в массиве, но опять я не могу поймать больше 3-5 нажатий. Кошмар какой-то.

Заранее выражаю огромную благодарность всем, кто поможет!
  • Вопрос задан
  • 170 просмотров
Подписаться 2 Простой 7 комментариев
Решения вопроса 3
Lynn
@Lynn
nginx, js, css
Это может быть железное ограничение конкретной клавиатуры.

forum.ixbt.com/topic.cgi?id=4:79714
https://bolknote.ru/all/2278/
и тп
Ответ написан
Комментировать
Alex_Wells
@Alex_Wells
PHP/Kotlin
Это называется N-key rollout, и зависит полностью от конкретной клавиатуры. У меня указанная виртуальная клавиатура легко регистрирует 20 нажатий, но если у ваша клавиатура попроще, и поддерживает лишь 6-key rollout, или вовсе 3-key rollout - то она нигде не даст вам нажать больше клавиш.

Проблема не в js.
Ответ написан
Комментировать
alex_keysi
@alex_keysi
Помог с решением? Отметь “правильный ответ”
У меня 123456 тоже не работает. Я не знаю в чем дело. Но есть плагин shortkey для браузера, и почему то там все комбинации работают. Хоть 10 кнопок ставь. Если покопать в github исходниках, можно увидеть что это расширение использует mousetrap.
И через mousetrap все работает. Вот ссылка фидл. Там можно хоть 10 кнопок поставить и колбэк сработает.
jsfiddle.net/1azcnvup
Фидл срабатывает если нажать просто 6....такие комбинации нужно только через клавши управления типа ctrl, alt и т д.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы