initApp(opt: canvas: HTMLCanvasElementtouchToMouse?: booleangamepads?: Record<string, GamepadDef>pixelDensity?: numbermaxFPS?: numberbuttons?: ButtonsDef): state: canvas: HTMLCanvasElementbuttons: ButtonsDefbuttonsByKey: Map<Key, string[]>buttonsByMouse: Map<MouseButton, string[]>buttonsByGamepad: Map<KGamepadButton, string[]>buttonsByKeyCode: Map<string, string[]>loopID: null | numberstopped: booleandt: numberfixedDt: numberrestDt: numbertime: numberrealTime: numberfpsCounter: FPSCountertimeScale: numberskipTime: booleanisHidden: booleannumFrames: numbermousePos: Vec2mouseDeltaPos: Vec2keyState: ButtonState<Key>mouseState: ButtonState<MouseButton>mergedGamepadState: GamepadStategamepadStates: Map<number, GamepadState>lastInputDevice: mouse | keyboard | gamepad | nullbuttonState: ButtonState<string>gamepads: KGamepad[]charInputted: string[]isMouseMoved: booleanlastWidth: numberlastHeight: numberevents: KEventHandler<mouseMove: []mouseDown: [MouseButton]mousePress: [MouseButton]mouseRelease: [MouseButton]charInput: [string]keyPress: [Key]keyDown: [Key]keyPressRepeat: [Key]keyRelease: [Key]touchStart: [Vec2, Touch]touchMove: [Vec2, Touch]touchEnd: [Vec2, Touch]gamepadButtonDown: [KGamepadButton, KGamepad]gamepadButtonPress: [KGamepadButton, KGamepad]gamepadButtonRelease: [KGamepadButton, KGamepad]gamepadStick: [string, Vec2, KGamepad]gamepadConnect: [KGamepad]gamepadDisconnect: [KGamepad]buttonDown: [string]buttonPress: [string]buttonRelease: [string]scroll: [Vec2]hide: []show: []resize: []input: []>dt(): numberfixedDt(): numberrestDt(): numbertime(): numberrun(fixedUpdate: ()=>void, update: (processInput: ()=>void, resetInput: ()=>void)=>void): voidcanvas: HTMLCanvasElementfps(): numbernumFrames(): numberquit(): voidisHidden(): booleansetFullscreen(f?: boolean): voidisFullscreen(): booleansetCursor(c: Cursor): voidscreenshot(): stringgetGamepads(): KGamepad[]getCursor(): CursorsetCursorLocked(b: boolean): voidisCursorLocked(): booleanisTouchscreen(): booleanmousePos(): Vec2mouseDeltaPos(): Vec2isKeyDown(k?: Key | Key[]): booleanisKeyPressed(k?: Key | Key[]): booleanisKeyPressedRepeat(k?: Key | Key[]): booleanisKeyReleased(k?: Key | Key[]): booleanisMouseDown(m?: MouseButton): booleanisMousePressed(m?: MouseButton): booleanisMouseReleased(m?: MouseButton): booleanisMouseMoved(): booleanisGamepadButtonPressed(btn?: KGamepadButton | KGamepadButton[]): booleanisGamepadButtonDown(btn?: KGamepadButton | KGamepadButton[]): booleanisGamepadButtonReleased(btn?: KGamepadButton | KGamepadButton[]): booleangetGamepadStick(stick: GamepadStick): Vec2isButtonPressed(btn?: string | string[]): booleanisButtonDown(btn?: string | string[]): booleanisButtonReleased(btn?: string | string[]): booleansetButton(btn: string, binding: ButtonBinding): voidgetButton(btn: string): ButtonBindingpressButton(btn: string): voidreleaseButton(btn: string): voidcharInputted(): string[]onResize(action: ()=>void): KEventControlleronKeyDown: (action: (key: Key)=>void)=>KEventController & (key: Key | Key[], action: (key: Key)=>void)=>KEventControlleronKeyPress: (action: (key: Key)=>void)=>KEventController & (key: Key | Key[], action: (key: Key)=>void)=>KEventControlleronKeyPressRepeat: (action: (key: Key)=>void)=>KEventController & (key: Key | Key[], action: (key: Key)=>void)=>KEventControlleronKeyRelease: (action: (key: Key)=>void)=>KEventController & (key: Key | Key[], action: (key: Key)=>void)=>KEventControlleronMouseDown: (action: (m: MouseButton)=>void)=>KEventController & (mouse: MouseButton | MouseButton[], action: (m: MouseButton)=>void)=>KEventControlleronMousePress: (action: (m: MouseButton)=>void)=>KEventController & (mouse: MouseButton | MouseButton[], action: (m: MouseButton)=>void)=>KEventControlleronMouseRelease: (action: (m: MouseButton)=>void)=>KEventController & (mouse: MouseButton | MouseButton[], action: (m: MouseButton)=>void)=>KEventControlleronMouseMove(f: (pos: Vec2, dpos: Vec2)=>void): KEventControlleronCharInput(action: (ch: string)=>void): KEventControlleronTouchStart(f: (pos: Vec2, t: Touch)=>void): KEventControlleronTouchMove(f: (pos: Vec2, t: Touch)=>void): KEventControlleronTouchEnd(f: (pos: Vec2, t: Touch)=>void): KEventControlleronScroll(action: (delta: Vec2)=>void): KEventControlleronHide(action: ()=>void): KEventControlleronShow(action: ()=>void): KEventControlleronGamepadButtonDown: (action: (btn: KGamepadButton, gamepad: KGamepad)=>void)=>KEventController & (btn: KGamepadButton, action: (btn: KGamepadButton, gamepad: KGamepad)=>void)=>KEventControlleronGamepadButtonPress: (action: (btn: KGamepadButton, gamepad: KGamepad)=>void)=>KEventController & (btn: KGamepadButton | KGamepadButton[], action: (btn: KGamepadButton, gamepad: KGamepad)=>void)=>KEventControlleronGamepadButtonRelease: (action: (btn: KGamepadButton, gamepad: KGamepad)=>void)=>KEventController & (btn: KGamepadButton | KGamepadButton[], action: (btn: KGamepadButton, gamepad: KGamepad)=>void)=>KEventControlleronGamepadStick(stick: GamepadStick, action: (value: Vec2, gp: KGamepad)=>void): KEventControlleronGamepadConnect(action: (gamepad: KGamepad)=>void): voidonGamepadDisconnect(action: (gamepad: KGamepad)=>void): voidonButtonPress: (action: (btn: string)=>void)=>KEventController & (btn: string | string, action: (btn: string)=>void)=>KEventControlleronButtonDown: (action: (btn: string)=>void)=>KEventController & (btn: string | string, action: (btn: string)=>void)=>KEventControlleronButtonRelease: (action: (btn: string)=>void)=>KEventController & (btn: string | string, action: (btn: string)=>void)=>KEventControllergetLastInputDeviceType(): ButtonBindingDevice | nullevents: KEventHandler<mouseMove: []mouseDown: [MouseButton]mousePress: [MouseButton]mouseRelease: [MouseButton]charInput: [string]keyPress: [Key]keyDown: [Key]keyPressRepeat: [Key]keyRelease: [Key]touchStart: [Vec2, Touch]touchMove: [Vec2, Touch]touchEnd: [Vec2, Touch]gamepadButtonDown: [KGamepadButton, KGamepad]gamepadButtonPress: [KGamepadButton, KGamepad]gamepadButtonRelease: [KGamepadButton, KGamepad]gamepadStick: [string, Vec2, KGamepad]gamepadConnect: [KGamepad]gamepadDisconnect: [KGamepad]buttonDown: [string]buttonPress: [string]buttonRelease: [string]scroll: [Vec2]hide: []show: []resize: []input: []>
state: canvas: HTMLCanvasElementbuttons: ButtonsDefbuttonsByKey: Map<Key, string[]>buttonsByMouse: Map<MouseButton, string[]>buttonsByGamepad: Map<KGamepadButton, string[]>buttonsByKeyCode: Map<string, string[]>loopID: null | numberstopped: booleandt: numberfixedDt: numberrestDt: numbertime: numberrealTime: numberfpsCounter: FPSCountertimeScale: numberskipTime: booleanisHidden: booleannumFrames: numbermousePos: Vec2mouseDeltaPos: Vec2keyState: ButtonState<Key>mouseState: ButtonState<MouseButton>mergedGamepadState: GamepadStategamepadStates: Map<number, GamepadState>lastInputDevice: mouse | keyboard | gamepad | nullbuttonState: ButtonState<string>gamepads: KGamepad[]charInputted: string[]isMouseMoved: booleanlastWidth: numberlastHeight: numberevents: KEventHandler<mouseMove: []mouseDown: [MouseButton]mousePress: [MouseButton]mouseRelease: [MouseButton]charInput: [string]keyPress: [Key]keyDown: [Key]keyPressRepeat: [Key]keyRelease: [Key]touchStart: [Vec2, Touch]touchMove: [Vec2, Touch]touchEnd: [Vec2, Touch]gamepadButtonDown: [KGamepadButton, KGamepad]gamepadButtonPress: [KGamepadButton, KGamepad]gamepadButtonRelease: [KGamepadButton, KGamepad]gamepadStick: [string, Vec2, KGamepad]gamepadConnect: [KGamepad]gamepadDisconnect: [KGamepad]buttonDown: [string]buttonPress: [string]buttonRelease: [string]scroll: [Vec2]hide: []show: []resize: []input: []>
events: KEventHandler<mouseMove: []mouseDown: [MouseButton]mousePress: [MouseButton]mouseRelease: [MouseButton]charInput: [string]keyPress: [Key]keyDown: [Key]keyPressRepeat: [Key]keyRelease: [Key]touchStart: [Vec2, Touch]touchMove: [Vec2, Touch]touchEnd: [Vec2, Touch]gamepadButtonDown: [KGamepadButton, KGamepad]gamepadButtonPress: [KGamepadButton, KGamepad]gamepadButtonRelease: [KGamepadButton, KGamepad]gamepadStick: [string, Vec2, KGamepad]gamepadConnect: [KGamepad]gamepadDisconnect: [KGamepad]buttonDown: [string]buttonPress: [string]buttonRelease: [string]scroll: [Vec2]hide: []show: []resize: []input: []>
onKeyDown: (action: (key: Key)=>void)=>KEventController & (key: Key | Key[], action: (key: Key)=>void)=>KEventController
onKeyPress: (action: (key: Key)=>void)=>KEventController & (key: Key | Key[], action: (key: Key)=>void)=>KEventController
onKeyPressRepeat: (action: (key: Key)=>void)=>KEventController & (key: Key | Key[], action: (key: Key)=>void)=>KEventController
onKeyRelease: (action: (key: Key)=>void)=>KEventController & (key: Key | Key[], action: (key: Key)=>void)=>KEventController
onMouseDown: (action: (m: MouseButton)=>void)=>KEventController & (mouse: MouseButton | MouseButton[], action: (m: MouseButton)=>void)=>KEventController
onMousePress: (action: (m: MouseButton)=>void)=>KEventController & (mouse: MouseButton | MouseButton[], action: (m: MouseButton)=>void)=>KEventController
onMouseRelease: (action: (m: MouseButton)=>void)=>KEventController & (mouse: MouseButton | MouseButton[], action: (m: MouseButton)=>void)=>KEventController
onGamepadButtonDown: (action: (btn: KGamepadButton, gamepad: KGamepad)=>void)=>KEventController & (btn: KGamepadButton, action: (btn: KGamepadButton, gamepad: KGamepad)=>void)=>KEventController
onGamepadButtonPress: (action: (btn: KGamepadButton, gamepad: KGamepad)=>void)=>KEventController & (btn: KGamepadButton | KGamepadButton[], action: (btn: KGamepadButton, gamepad: KGamepad)=>void)=>KEventController
onGamepadButtonRelease: (action: (btn: KGamepadButton, gamepad: KGamepad)=>void)=>KEventController & (btn: KGamepadButton | KGamepadButton[], action: (btn: KGamepadButton, gamepad: KGamepad)=>void)=>KEventController
onButtonPress: (action: (btn: string)=>void)=>KEventController & (btn: string | string, action: (btn: string)=>void)=>KEventController
onButtonDown: (action: (btn: string)=>void)=>KEventController & (btn: string | string, action: (btn: string)=>void)=>KEventController
onButtonRelease: (action: (btn: string)=>void)=>KEventController & (btn: string | string, action: (btn: string)=>void)=>KEventController
events: KEventHandler<mouseMove: []mouseDown: [MouseButton]mousePress: [MouseButton]mouseRelease: [MouseButton]charInput: [string]keyPress: [Key]keyDown: [Key]keyPressRepeat: [Key]keyRelease: [Key]touchStart: [Vec2, Touch]touchMove: [Vec2, Touch]touchEnd: [Vec2, Touch]gamepadButtonDown: [KGamepadButton, KGamepad]gamepadButtonPress: [KGamepadButton, KGamepad]gamepadButtonRelease: [KGamepadButton, KGamepad]gamepadStick: [string, Vec2, KGamepad]gamepadConnect: [KGamepad]gamepadDisconnect: [KGamepad]buttonDown: [string]buttonPress: [string]buttonRelease: [string]scroll: [Vec2]hide: []show: []resize: []input: []>