-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathkeyboard.js
More file actions
35 lines (31 loc) · 891 Bytes
/
keyboard.js
File metadata and controls
35 lines (31 loc) · 891 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
(function () {
window.addEventListener('keydown', onKeyDown);
window.addEventListener('keyup', onKeyUp);
let keyTable = { };
function onKeyDown(event) {
let key = event.key.toLowerCase();
if (!keyTable[key]) {
keyTable[key] = true;
}
if (event.key === ' ') {
document.getElementById('toggle_run').click();
event.preventDefault();
}
if (_.indexOf(['w', 's', 'arrowleft', 'arrowright', 'arrowup', 'arrowdown',
' '],
key) !== -1) {
event.preventDefault();
}
}
function onKeyUp(event) {
let key = event.key.toLowerCase();
keyTable[key] = false;
if (_.indexOf(['w', 's', 'arrowup', 'arrowdown', ' '], key) !== -1) {
event.preventDefault();
}
}
function keyIsPressed(lowerCaseChar) {
return keyTable[lowerCaseChar];
}
window.keyIsPressed = keyIsPressed;
})()