Я отслеживаю keyDown и keyUp, чтобы показать, нажимается или нет клавиша Shift в JavaScript:
window.addEventListener("keydown",doKeyDown,false);
window.addEventListener("keyup",doKeyUp,false);
var shiftKeyDown = false;
function doKeyDown(e) {
if (e.keyCode==16) { shiftKeyDown = true; }
}
function doKeyUp(e) {
if (e.keyCode==16) { shiftKeyDown = false; }
}
Однако пользователь может удерживать клавишу Shift, пока фокусируется на другом окне, поэтомумое окно никогда не слышит событие keyup
.Правильно ли я считаю, что нет способа определить состояние клавиши Shift, когда окно снова получает фокус, поэтому я могу правильно обновить shiftKeyDown
?