ButtonState<T, A>:

_pressEv:

_pressRepeatEv:

_downEv:

_releaseEv:

_arg?:

pressed: Set<T>

pressedRepeat: Set<T>

released: Set<T>

down: Set<T>

update(): void

process(state: AppState ): void

press(btn: T , state: AppState ): void

pressRepeat(btn: T , state: AppState ): void

release(btn: T , state: AppState ): void