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

103
05 ноября 2019, 08:40

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

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

UPD:

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

Array.prototype.remove = function() {
    var what, a = arguments, L = a.length, ax;
    while (L && this.length) {
        what = a[--L];
        while ((ax = this.indexOf(what)) !== -1) {
            this.splice(ax, 1);
        }
    }
    return this;
};
var keys_pressed = [];
var pre = document.querySelector("pre");
document.onkeydown = function(e){
    keys_pressed.remove(e.keyCode);
  keys_pressed.push(e.keyCode);
  pre.textContent = "";
  var str = "";
  for(var i = 0; i < keys_pressed.length; i++){
    str = str + keys_pressed[i] + "\n";
  }
  pre.textContent = str;
}
document.onkeyup = function(e){
  keys_pressed.remove(e.keyCode);
}

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

Заранее выражаю огромную благодарность всем, кто поможет!

READ ALSO
Как в моем примере проверить key в localStorage при загрузке страницы?

Как в моем примере проверить key в localStorage при загрузке страницы?

Как получить и проверить key при загрузке страницы я могу, но не в этом примере:

110
Ошибка в расширении Emmet LiveStyle в консоли js

Ошибка в расширении Emmet LiveStyle в консоли js

Собственно данная ошибка выводится в хроме в любой складке

135
Как управлять скоростью анимации в canvas?

Как управлять скоростью анимации в canvas?

Коллеги, как думаете, как я могу под конец анимации плавно замедлять отрисовку круга? Опыт javascript = junior

94
Проблема с слайдером цен и чекбоксами

Проблема с слайдером цен и чекбоксами

Помогите пожалуйстаКак сделать так чтобы значения чекбоксов прибавлялись к Общей стоимости моего калькулятора? Спасибо

120