const KEYS = 16; // Keyboard // 1 2 3 C // 4 5 6 D // 7 8 9 E // A 0 B F class Keyboard { keys : Uint8Array; userKeyboardMap: Map; constructor() { this.keys = new Uint8Array(KEYS); // Used to check keys from the user event.keys this.userKeyboardMap = new Map(); } private setKey(key: number, pressed: boolean) { this.keys[key] = pressed ? 1 : 0; } public setUserKey(userKey: number, key: number) { this.userKeyboardMap.set(userKey, key); } public userKeyPressedDown(userKey: number) { let keyVal: number = this.userKeyboardMap.get(userKey) ?? -1; if(keyVal != -1) this.setKey(keyVal, true); } public userKeyPressedUp(userKey: number) { let keyVal: number = this.userKeyboardMap.get(userKey) ?? -1; if(keyVal != -1) this.setKey(keyVal, false); } } export default Keyboard;