From c9d51face0c5cbca38dc9c27379454405a57ade0 Mon Sep 17 00:00:00 2001 From: Matthias Schiffer Date: Thu, 7 Jan 2016 11:39:36 +0100 Subject: view/InputHandler: don't call listeners when no key state has changed --- src/view/InputHandler.ts | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/src/view/InputHandler.ts b/src/view/InputHandler.ts index e39ffe0..dcfd85d 100644 --- a/src/view/InputHandler.ts +++ b/src/view/InputHandler.ts @@ -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(); + } }); } -- cgit v1.2.3