import { InputDevice } from "../input-device"; export class InputKeyboard extends InputDevice { static listenerInited = false; constructor( name: string, ) { super(name, 'keyboard'); this.attachEvents(); } private attachEvents() { if (InputKeyboard.listenerInited) { return; } window.addEventListener('keydown', e => this.catchKey(e, 1)); window.addEventListener('keyup', e => this.catchKey(e, 0)); InputKeyboard.listenerInited = true; } private catchKey(event: KeyboardEvent, value: number = 1, angle: number = 0): boolean { const key = event.key; super.setKey(key, value, angle); event.preventDefault(); return false; } }