view/InputHandler: don't call listeners when no key state has changed

This commit is contained in:
Matthias Schiffer 2016-01-07 11:39:36 +01:00
parent 584728a129
commit c9d51face0

View file

@ -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();
}
});
}