initApp(opt: canvas: HTMLCanvasElement & KAPLAYOpt): state: canvas: HTMLCanvasElement buttons: ButtonsDef buttonsByKey: Map<Key, string[]> buttonsByMouse: Map<MouseButton, string[]> buttonsByGamepad: Map<KGamepadButton, string[]> buttonsByKeyCode: Map<string, string[]> loopID: null | number stopped: boolean dt: number fixedDt: number restDt: number time: number realTime: number fpsCounter: FPSCounter timeScale: number skipTime: boolean isHidden: boolean numFrames: number capsOn: boolean mousePos: Vec2 mouseDeltaPos: Vec2 keyState: ButtonState<Key> mouseState: ButtonState<MouseButton> mergedGamepadState: GamepadState gamepadStates: Map<number, GamepadState> lastInputDevice: "mouse" | "keyboard" | "gamepad" | null buttonState: ButtonState<string> gamepads: KGamepad[] charInputted: string[] isMouseMoved: boolean lastWidth: number lastHeight: number events: KEventHandler<AppEventMap> dt(): number fixedDt(): number restDt(): number time(): number run(fixedUpdate: ()=>void, update: (processInput: ()=>void, resetInput: ()=>void)=>void): void canvas: HTMLCanvasElement fps(): number numFrames(): number quit(): void isHidden(): boolean setFullscreen(f?: boolean): void isFullscreen(): boolean setCursor(c: Cursor): void screenshot(): string getGamepads(): KGamepad[] getCursor(): Cursor setCursorLocked(b: boolean): void isCursorLocked(): boolean isTouchscreen(): boolean mousePos(): Vec2 mouseDeltaPos(): Vec2 isKeyDown(k?: Key | Key[]): boolean isKeyPressed(k?: Key | Key[]): boolean isKeyPressedRepeat(k?: Key | Key[]): boolean isKeyReleased(k?: Key | Key[]): boolean isMouseDown(m?: MouseButton): boolean isMousePressed(m?: MouseButton): boolean isMouseReleased(m?: MouseButton): boolean isMouseMoved(): boolean isGamepadButtonPressed(btn?: KGamepadButton | KGamepadButton[]): boolean isGamepadButtonDown(btn?: KGamepadButton | KGamepadButton[]): boolean isGamepadButtonReleased(btn?: KGamepadButton | KGamepadButton[]): boolean isFocused(): boolean getGamepadStick(stick: GamepadStick): Vec2 isButtonPressed(btn?: string | string[]): boolean isButtonDown(btn?: string | string[]): boolean isButtonReleased(btn?: string | string[]): boolean setButton(btn: string, binding: ButtonBinding): void getButton(btn: string): ButtonBinding pressButton(btn: string): void releaseButton(btn: string): void charInputted(): string[] onResize(action: ()=>void): KEventController 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 onMouseMove(f: (pos: Vec2, dpos: Vec2)=>void): KEventController onCharInput(action: (ch: string)=>void): KEventController onTouchStart(f: (pos: Vec2, t: Touch)=>void): KEventController onTouchMove(f: (pos: Vec2, t: Touch)=>void): KEventController onTouchEnd(f: (pos: Vec2, t: Touch)=>void): KEventController onScroll(action: (delta: Vec2)=>void): KEventController onHide(action: ()=>void): KEventController onShow(action: ()=>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 onGamepadStick(stick: GamepadStick, action: (value: Vec2, gp: KGamepad)=>void): KEventController onGamepadConnect(action: (gamepad: KGamepad)=>void): KEventController onGamepadDisconnect(action: (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 getLastInputDeviceType(): "keyboard" | "gamepad" | "mouse" | null events: KEventHandler<AppEventMap>
state: canvas: HTMLCanvasElement buttons: ButtonsDef buttonsByKey: Map<Key, string[]> buttonsByMouse: Map<MouseButton, string[]> buttonsByGamepad: Map<KGamepadButton, string[]> buttonsByKeyCode: Map<string, string[]> loopID: null | number stopped: boolean dt: number fixedDt: number restDt: number time: number realTime: number fpsCounter: FPSCounter timeScale: number skipTime: boolean isHidden: boolean numFrames: number capsOn: boolean mousePos: Vec2 mouseDeltaPos: Vec2 keyState: ButtonState<Key> mouseState: ButtonState<MouseButton> mergedGamepadState: GamepadState gamepadStates: Map<number, GamepadState> lastInputDevice: "mouse" | "keyboard" | "gamepad" | null buttonState: ButtonState<string> gamepads: KGamepad[] charInputted: string[] isMouseMoved: boolean lastWidth: number lastHeight: number events: KEventHandler<AppEventMap>
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