summaryrefslogtreecommitdiffstats
path: root/src/view/input/inputhandler.ts
diff options
context:
space:
mode:
authorMatthias Schiffer <mschiffer@universe-factory.net>2018-11-09 13:27:49 +0100
committerMatthias Schiffer <mschiffer@universe-factory.net>2018-11-09 13:27:49 +0100
commit453a9391ccf1ab0c7a6869c44664bfcdd1b68fa1 (patch)
tree1990de3e2da6c88cf48310a53937d0decac20329 /src/view/input/inputhandler.ts
parente0eddb8741b840df97380e557abd51b47a5e2eee (diff)
downloadrpgedit-453a9391ccf1ab0c7a6869c44664bfcdd1b68fa1.tar
rpgedit-453a9391ccf1ab0c7a6869c44664bfcdd1b68fa1.zip
Allow interacting with entities
Diffstat (limited to 'src/view/input/inputhandler.ts')
-rw-r--r--src/view/input/inputhandler.ts24
1 files changed, 12 insertions, 12 deletions
diff --git a/src/view/input/inputhandler.ts b/src/view/input/inputhandler.ts
index 96f15dd..22fdc28 100644
--- a/src/view/input/inputhandler.ts
+++ b/src/view/input/inputhandler.ts
@@ -1,39 +1,39 @@
import { Listenable } from '../../util';
-export class InputHandler extends Listenable<[]> {
- private readonly keys: Set<number> = new Set();
+export class InputHandler extends Listenable<[string, boolean]> {
+ private readonly keys: Set<string> = new Set();
- constructor(relevantKeys: Set<number>) {
+ constructor(relevantKeys: Set<string>) {
super();
window.addEventListener('keydown', (ev) => {
- if (!relevantKeys.has(ev.keyCode))
+ if (!relevantKeys.has(ev.code))
return;
ev.preventDefault();
- if (this.keys.has(ev.keyCode))
+ if (ev.repeat)
return;
- this.keys.add(ev.keyCode);
- this.runListeners();
+ this.keys.add(ev.code);
+ this.runListeners(ev.code, true);
});
window.addEventListener('keyup', (ev) => {
- if (!relevantKeys.has(ev.keyCode))
+ if (!relevantKeys.has(ev.code))
return;
ev.preventDefault();
- if (!this.keys.has(ev.keyCode))
+ if (!this.keys.has(ev.code))
return;
- this.keys.delete(ev.keyCode);
- this.runListeners();
+ this.keys.delete(ev.code);
+ this.runListeners(ev.code, false);
});
}
- public has(key: number): boolean {
+ public has(key: string): boolean {
return this.keys.has(key);
}
}