Skip to content

@ue-too/board / index / KmtIdleState

クラス: KmtIdleState

定義: packages/board/src/input-interpretation/input-state-machine/kmt-input-state-machine.ts:233

IDLE state - default state waiting for user input.

Remarks

This is the default state of the KMT input state machine. It handles scroll events for panning and zooming, and transitions to pan-ready states when the user presses spacebar or middle-click.

Responsibilities:

  • Process scroll events (pan or zoom depending on device and modifiers)
  • Detect spacebar press to enter pan mode
  • Detect middle-click to enter pan mode
  • Distinguish between mouse and trackpad input modalities

Scroll Behavior:

  • Ctrl + Scroll: Always zoom (both mouse and trackpad)
  • Scroll (no Ctrl): Pan (trackpad) or Zoom (mouse, determined by modality detection)

Input Modality Detection: The state tracks horizontal scroll deltas to distinguish trackpads (which produce deltaX) from mice (which typically only produce deltaY). This affects zoom behavior.

拡張

コンストラクター

コンストラクター

new KmtIdleState(): KmtIdleState

定義: packages/board/src/input-interpretation/input-state-machine/kmt-input-state-machine.ts:239

戻り値

KmtIdleState

上書き

TemplateState< KmtInputEventMapping, KmtInputContext, KmtInputStates, KmtInputEventOutputMapping >.constructor

プロパティ

_defer

protected _defer: Defer<KmtInputContext, KmtInputEventMapping, "IDLE" | "READY_TO_PAN_VIA_SPACEBAR" | "READY_TO_PAN_VIA_SCROLL_WHEEL" | "PAN" | "INITIAL_PAN" | "PAN_VIA_SCROLL_WHEEL" | "DISABLED", KmtInputEventOutputMapping> | undefined

定義: packages/being/dist/interface.d.ts:493

継承元

TemplateState._defer


_delay

protected _delay: Delay<KmtInputContext, KmtInputEventMapping, "IDLE" | "READY_TO_PAN_VIA_SPACEBAR" | "READY_TO_PAN_VIA_SCROLL_WHEEL" | "PAN" | "INITIAL_PAN" | "PAN_VIA_SCROLL_WHEEL" | "DISABLED", KmtInputEventOutputMapping> | undefined

定義: packages/being/dist/interface.d.ts:492

継承元

TemplateState._delay


_eventGuards

protected _eventGuards: Partial<EventGuards<KmtInputEventMapping, KmtInputStates, KmtInputContext, Guard<KmtInputContext>>> = {}

定義: packages/board/src/input-interpretation/input-state-machine/kmt-input-state-machine.ts:247

上書き

TemplateState._eventGuards


_eventReactions

protected _eventReactions: EventReactions<KmtInputEventMapping, KmtInputContext, KmtInputStates, KmtInputEventOutputMapping>

定義: packages/board/src/input-interpretation/input-state-machine/kmt-input-state-machine.ts:318

上書き

TemplateState._eventReactions


_guards

protected _guards: Guard<KmtInputContext, "isIdle">

定義: packages/board/src/input-interpretation/input-state-machine/kmt-input-state-machine.ts:243

上書き

TemplateState._guards

アクセッサー

delay

署名を取得する

get delay(): Delay<Context, EventPayloadMapping, States, EventOutputMapping> | undefined

定義: packages/being/dist/interface.d.ts:498

戻り値

Delay<Context, EventPayloadMapping, States, EventOutputMapping> | undefined

継承元

TemplateState.delay


eventGuards

署名を取得する

get eventGuards(): Partial<EventGuards<EventPayloadMapping, States, Context, Guard<Context>>>

定義: packages/being/dist/interface.d.ts:496

戻り値

Partial<EventGuards<EventPayloadMapping, States, Context, Guard<Context>>>

継承元

TemplateState.eventGuards


eventReactions

署名を取得する

get eventReactions(): EventReactions<EventPayloadMapping, Context, States, EventOutputMapping>

定義: packages/being/dist/interface.d.ts:497

戻り値

EventReactions<EventPayloadMapping, Context, States, EventOutputMapping>

継承元

TemplateState.eventReactions


guards

署名を取得する

get guards(): Guard<Context>

定義: packages/being/dist/interface.d.ts:495

戻り値

Guard<Context>

継承元

TemplateState.guards


handlingEvents

署名を取得する

get handlingEvents(): keyof EventPayloadMapping[]

定義: packages/being/dist/interface.d.ts:494

戻り値

keyof EventPayloadMapping[]

継承元

TemplateState.handlingEvents

メソッド

beforeExit()

beforeExit(context, stateMachine, to): void

定義: packages/being/dist/interface.d.ts:500

パラメータ

context

KmtInputContext

stateMachine

StateMachine<KmtInputEventMapping, KmtInputContext, "IDLE" | "READY_TO_PAN_VIA_SPACEBAR" | "READY_TO_PAN_VIA_SCROLL_WHEEL" | "PAN" | "INITIAL_PAN" | "PAN_VIA_SCROLL_WHEEL" | "DISABLED", KmtInputEventOutputMapping>

to

"TERMINAL" | "IDLE" | "READY_TO_PAN_VIA_SPACEBAR" | "READY_TO_PAN_VIA_SCROLL_WHEEL" | "PAN" | "INITIAL_PAN" | "PAN_VIA_SCROLL_WHEEL" | "DISABLED"

戻り値

void

継承元

TemplateState.beforeExit


handles()

handles<K>(args, context, stateMachine): EventResult<"IDLE" | "READY_TO_PAN_VIA_SPACEBAR" | "READY_TO_PAN_VIA_SCROLL_WHEEL" | "PAN" | "INITIAL_PAN" | "PAN_VIA_SCROLL_WHEEL" | "DISABLED", K extends keyof KmtInputEventOutputMapping ? KmtInputEventOutputMapping[K<K>] : void>

定義: packages/being/dist/interface.d.ts:501

型パラメーター

K

K extends string

パラメータ

args

EventArgs<KmtInputEventMapping, K>

context

KmtInputContext

stateMachine

StateMachine<KmtInputEventMapping, KmtInputContext, "IDLE" | "READY_TO_PAN_VIA_SPACEBAR" | "READY_TO_PAN_VIA_SCROLL_WHEEL" | "PAN" | "INITIAL_PAN" | "PAN_VIA_SCROLL_WHEEL" | "DISABLED", KmtInputEventOutputMapping>

戻り値

EventResult<"IDLE" | "READY_TO_PAN_VIA_SPACEBAR" | "READY_TO_PAN_VIA_SCROLL_WHEEL" | "PAN" | "INITIAL_PAN" | "PAN_VIA_SCROLL_WHEEL" | "DISABLED", K extends keyof KmtInputEventOutputMapping ? KmtInputEventOutputMapping[K<K>] : void>

継承元

TemplateState.handles


middlePointerDownHandler()

middlePointerDownHandler(context, payload): void

定義: packages/board/src/input-interpretation/input-state-machine/kmt-input-state-machine.ts:358

パラメータ

context

KmtInputContext

payload

PointerEventPayload

戻り値

void


scrollHandler()

scrollHandler(context, payload): KmtOutputEvent

定義: packages/board/src/input-interpretation/input-state-machine/kmt-input-state-machine.ts:295

パラメータ

context

KmtInputContext

payload

ScrollWithCtrlEventPayload

戻り値

KmtOutputEvent


scrollPan()

scrollPan(context, payload): KmtOutputEvent

定義: packages/board/src/input-interpretation/input-state-machine/kmt-input-state-machine.ts:257

パラメータ

context

KmtInputContext

payload

ScrollEventPayload

戻り値

KmtOutputEvent


scrollWithCtrlHandler()

scrollWithCtrlHandler(context, payload): KmtOutputEvent

定義: packages/board/src/input-interpretation/input-state-machine/kmt-input-state-machine.ts:311

パラメータ

context

KmtInputContext

payload

ScrollWithCtrlEventPayload

戻り値

KmtOutputEvent


scrollZoom()

scrollZoom(context, payload): KmtOutputEvent

定義: packages/board/src/input-interpretation/input-state-machine/kmt-input-state-machine.ts:271

パラメータ

context

KmtInputContext

payload

ScrollWithCtrlEventPayload

戻り値

KmtOutputEvent


spacebarDownHandler()

spacebarDownHandler(context, payload): number

定義: packages/board/src/input-interpretation/input-state-machine/kmt-input-state-machine.ts:350

パラメータ

context

KmtInputContext

payload

EmptyPayload

戻り値

number


uponEnter()

uponEnter(context): void

定義: packages/board/src/input-interpretation/input-state-machine/kmt-input-state-machine.ts:346

パラメータ

context

KmtInputContext

戻り値

void

上書き

TemplateState.uponEnter