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() {
|
||||
window.addEventListener('keydown', (ev) => {
|
||||
this.keys[ev.keyCode] = true;
|
||||
this.callListeners();
|
||||
if (!this.keys[ev.keyCode]) {
|
||||
this.keys[ev.keyCode] = true;
|
||||
this.callListeners();
|
||||
}
|
||||
});
|
||||
|
||||
window.addEventListener('keyup', (ev) => {
|
||||
delete this.keys[ev.keyCode];
|
||||
this.callListeners();
|
||||
if (this.keys[ev.keyCode]) {
|
||||
delete this.keys[ev.keyCode];
|
||||
this.callListeners();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
|
|
Reference in a new issue