Какой самый эффективный способ прослушивания хитов клавиатуры в JavaScript? - PullRequest
0 голосов
/ 29 апреля 2020

Мне нужно слушать нажатия клавиш пользователя, чтобы активировать некоторые ярлыки в моем приложении (когда пользователь нажимает клавишу «H», он скрывает некоторую часть приложения и т. Д. c). Мне также нужно прислушиваться к клавише Shift или даже к клавише Alt, чтобы иметь более универсальную систему ярлыков.

Это то, что у меня есть:

window.onkeyup = (e) => { keys[e.keyCode] = false; keyRelease(e.keyCode) }
window.onkeydown = (e) => { keys[e.keyCode] = true; keyPress(e.keyCode) }
function keyPress(key) {

  switch (key) {
    case 37:
      //left

      break;
    case 39:
      //right
      break;

    case 80:
     // p
     if (keys[16]){
      //shift key is also being pressed
     // do stuff
     }

    default:
    // code block
  }
}

Это работает хорошо, но я чувствую, что это неэффективно, и должен быть лучший способ сделать это, без необходимости поиска кода каждого ключа (который, между прочим, в некоторых браузерах и ОС различается). Имейте в виду, я должен добавить около 30 комбинаций клавиш. Спасибо за вашу помощь!

...