@ue-too/board / KmtInputContext
Interface: KmtInputContext
Defined in: packages/board/src/input-interpretation/input-state-machine/kmt-input-context.ts:609
Context interface for the Keyboard/Mouse/Trackpad (KMT) input state machine.
Remarks
This context provides the state and behavior needed by the KMT state machine to:
- Track cursor positions for calculating pan deltas
- Distinguish between mouse and trackpad input modalities
- Access canvas dimensions for coordinate transformations
- Manage coordinate system alignment (inverted Y-axis handling)
Input Modality Detection: The context uses a scoring system (kmtTrackpadTrackScore) to differentiate between mouse and trackpad input, which have different zoom behaviors:
- Mouse: Ctrl+Scroll = zoom, Scroll = pan
- Trackpad: Scroll = zoom (no Ctrl needed), Two-finger gesture = pan
Coordinate System: The alignCoordinateSystem flag determines Y-axis orientation:
true: Standard screen coordinates (Y increases downward)false: Inverted coordinates (Y increases upward)
This interface extends BaseContext from the @ue-too/being state machine library, inheriting setup() and cleanup() lifecycle methods.
Extends
BaseContext
Properties
addKmtTrackpadTrackScore()
addKmtTrackpadTrackScore: () =>
void
Defined in: packages/board/src/input-interpretation/input-state-machine/kmt-input-context.ts:625
Increases the score toward mouse
Returns
void
alignCoordinateSystem
alignCoordinateSystem:
boolean
Defined in: packages/board/src/input-interpretation/input-state-machine/kmt-input-context.ts:611
Whether to use standard screen coordinate system (vs inverted Y-axis)
cancelCurrentAction()
cancelCurrentAction: () =>
void
Defined in: packages/board/src/input-interpretation/input-state-machine/kmt-input-context.ts:617
Cancels the current action and resets cursor position
Returns
void
canvas
canvas:
Canvas
Defined in: packages/board/src/input-interpretation/input-state-machine/kmt-input-context.ts:613
Canvas accessor for dimensions and cursor control
initialCursorPosition
initialCursorPosition:
Point
Defined in: packages/board/src/input-interpretation/input-state-machine/kmt-input-context.ts:619
The cursor position when a pan gesture started
kmtTrackpadTrackScore
kmtTrackpadTrackScore:
number
Defined in: packages/board/src/input-interpretation/input-state-machine/kmt-input-context.ts:621
Score tracking input modality: >0 for mouse, <0 for trackpad, 0 for undetermined
mode
mode:
"kmt"|"trackpad"|"TBD"
Defined in: packages/board/src/input-interpretation/input-state-machine/kmt-input-context.ts:629
The current input modality: 'kmt' (mouse), 'trackpad', or 'TBD' (to be determined)
setInitialCursorPosition()
setInitialCursorPosition: (
position) =>void
Defined in: packages/board/src/input-interpretation/input-state-machine/kmt-input-context.ts:615
Sets the initial cursor position when starting a pan gesture
Parameters
position
Point
Returns
void
setMode()
setMode: (
mode) =>void
Defined in: packages/board/src/input-interpretation/input-state-machine/kmt-input-context.ts:627
Sets the determined input modality
Parameters
mode
"kmt" | "trackpad" | "TBD"
Returns
void
subtractKmtTrackpadTrackScore()
subtractKmtTrackpadTrackScore: () =>
void
Defined in: packages/board/src/input-interpretation/input-state-machine/kmt-input-context.ts:623
Decreases the score toward trackpad
Returns
void
Methods
cleanup()
cleanup():
void
Defined in: packages/being/dist/interface.d.ts:31
Returns
void
Inherited from
BaseContext.cleanup
setup()
setup():
void
Defined in: packages/being/dist/interface.d.ts:30
Returns
void
Inherited from
BaseContext.setup