aboutsummaryrefslogtreecommitdiffstats
path: root/src/Events.ts
diff options
context:
space:
mode:
authorMaksymilian Jopek <maks@jopek.eu>2022-05-24 18:25:43 +0200
committerMaksymilian Jopek <maks@jopek.eu>2022-05-24 18:25:43 +0200
commit2f8b8c87fb2062313afea7b625ccb20d1bea95b9 (patch)
tree973e20986e4b9279b9322a9fd140e6f989eaf492 /src/Events.ts
download1942-2f8b8c87fb2062313afea7b625ccb20d1bea95b9.tar.gz
1942-2f8b8c87fb2062313afea7b625ccb20d1bea95b9.tar.zst
1942-2f8b8c87fb2062313afea7b625ccb20d1bea95b9.zip
Initial commit
Diffstat (limited to 'src/Events.ts')
-rw-r--r--src/Events.ts33
1 files changed, 33 insertions, 0 deletions
diff --git a/src/Events.ts b/src/Events.ts
new file mode 100644
index 0000000..7975fe3
--- /dev/null
+++ b/src/Events.ts
@@ -0,0 +1,33 @@
+// export interface Keys {
+// right: boolean;
+// left: boolean;
+// up: boolean;
+// down: boolean;
+// fire: boolean;
+// }
+export const keys = {
+ right: false,
+ left: false,
+ up: false,
+ down: false,
+ fire: false,
+ repeat: false,
+ fps: 50,
+}
+
+// window.onkeydown = window.onkeydown ?? ((e: KeyboardEvent) => e.repeat ? keys.fire = false : setKey(e.key, true))
+window.onkeydown = window.onkeydown ?? ((e: KeyboardEvent) => setKey(e.key, true, e.repeat))
+window.onkeyup = window.onkeyup ?? ((e: KeyboardEvent) => setKey(e.key, false, e.repeat))
+
+function setKey(key: string, val: boolean, repeat: boolean) {
+ if (["w", "k"].includes(key)) keys.up = val;
+ else if (["a", "h"].includes(key)) keys.left = val;
+ else if (["s", "j"].includes(key)) keys.down = val;
+ else if (["d", "l"].includes(key)) keys.right = val;
+ else if (["m", ";", "/"].includes(key)) { keys.fire = val; keys.repeat = repeat }
+ else if (["r"].includes(key)) location.reload();
+ else if (["f"].includes(key)) keys.fps = 50;
+ else if (["g"].includes(key)) keys.fps = 1;
+ // console.log(key, val ? "keydown" : "keyup")
+}
+