import type { IEventContainer } from "../collection/EventContainer"; import type { IInputEventHandleable } from "./IInputEventHandleable"; /** * engine global input event handler * do not drive this class */ export declare class InputHandler implements IInputEventHandleable { private readonly _map; private _isDisposed; private readonly _renderTargetDom; private readonly _onKeyDownEvent; private readonly _onKeyUpEvent; private readonly _onWheelEvent; private readonly _onPointerDownEvent; private readonly _onPointerUpEvent; private readonly _onPointerEnterEvent; private readonly _onPointerLeaveEvent; private readonly _onPointerMoveEvent; private _touchMoveOccured; private _onTouchStartFunc; private _lastMouseDownEvent; private _lastMouseEnterEvent; /** * keyboard input map. key is key name, value is pressed or not * * important: upper case single letter key name is mapped to lower case single letter key name * for example, "A" is mapped to "a" */ get map(): ReadonlyMap; /** * start engine global input event handling. you can use this when you want focus the game view */ startHandleEvents(): void; /** * stop engine global input event handling. you can use this when you want blur the game view */ stopHandleEvents(): void; private simulateMouseEvent; private readonly handleKeyDown; private readonly handleKeyUp; private readonly handleWheel; private readonly handleMouseDown; private readonly handleMouseUp; private readonly handleMouseEnter; private readonly handleMouseLeave; private readonly handleMouseMove; private readonly handleTouchStart; private readonly handleTouchEnd; private readonly handleTouchMove; private readonly handleTouchCancel; /** * this event will be invoked when key down event occured */ get onKeyDown(): IEventContainer<(event: KeyboardEvent) => void>; /** * this event will be invoked when key up event occured */ get onKeyUp(): IEventContainer<(event: KeyboardEvent) => void>; /** * this event will be invoked when wheel event occured */ get onWheel(): IEventContainer<(event: WheelEvent) => void>; /** * this event will be invoked when pointer down event occured */ get onPointerDown(): IEventContainer<(event: MouseEvent) => void>; /** * this event will be invoked when pointer up event occured */ get onPointerUp(): IEventContainer<(event: MouseEvent) => void>; /** * this event will be invoked when pointer enter event occured */ get onPointerEnter(): IEventContainer<(event: MouseEvent) => void>; /** * onPointerLeave event * this event will be invoked when pointer leave event occured */ get onPointerLeave(): IEventContainer<(event: MouseEvent) => void>; /** * onPointerMove event * this event will be invoked when pointer move event occured */ get onPointerMove(): IEventContainer<(event: MouseEvent) => void>; }