view/InputHandler: don't call listeners when no key state has changed
This commit is contained in:
parent
584728a129
commit
c9d51face0
1 changed files with 8 additions and 4 deletions
|
@ -15,13 +15,17 @@ class InputHandler {
|
||||||
|
|
||||||
constructor() {
|
constructor() {
|
||||||
window.addEventListener('keydown', (ev) => {
|
window.addEventListener('keydown', (ev) => {
|
||||||
|
if (!this.keys[ev.keyCode]) {
|
||||||
this.keys[ev.keyCode] = true;
|
this.keys[ev.keyCode] = true;
|
||||||
this.callListeners();
|
this.callListeners();
|
||||||
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
window.addEventListener('keyup', (ev) => {
|
window.addEventListener('keyup', (ev) => {
|
||||||
|
if (this.keys[ev.keyCode]) {
|
||||||
delete this.keys[ev.keyCode];
|
delete this.keys[ev.keyCode];
|
||||||
this.callListeners();
|
this.callListeners();
|
||||||
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Reference in a new issue