Interface KAPLAYCtxTMethods: scene(name: T, def: (args: SceneArgs<T, InfKAPLAYOpt<O>["scenes"]>) => void): void go(name: T, args: SceneArgs<T, InfKAPLAYOpt<O>["scenes"]>): void pushScene(T: string, args: SceneArgs<T, InfKAPLAYOpt<O>["scenes"]>): void getSceneName(): SceneName<O> | null onButtonPress(btn: ButtonName<O> | ButtonName<O>[], action: (btn: ButtonName<O>) => void): KEventController onButtonPress(action: (btn: ButtonName<O>) => void): KEventController onButtonRelease(btn: ButtonName<O> | ButtonName<O>[], action: (btn: ButtonName<O>) => void): KEventController onButtonRelease(action: (btn: ButtonName<O>) => void): KEventController onButtonDown(btn: string | string[], action: (btn: string) => void): KEventController onButtonDown(action: (btn: ButtonName<O>) => void): KEventController isButtonPressed(btn?: ButtonName<O> | ButtonName<O>[]): boolean isButtonDown(btn?: ButtonName<O> | ButtonName<O>[]): boolean isButtonReleased(btn?: ButtonName<O> | ButtonName<O>[]): boolean getButton(btn: ButtonName<O>): ButtonBinding pressButton(btn: ButtonName<O>): void releaseButton(btn: ButtonName<O>): void