InputFusion class

Fuses the joystick-free input channels of the engine into a single action stream with priority and conflict resolution:

  • Hand pinch (camera tracking) is the primary click and overrides an in-progress gaze dwell on the same frame.
  • Gaze dwell is the always-available fallback click.
  • Ultrasonic push/pull map to confirm/back when the camera is occluded (headset cover closed, darkness).
  • Walk-in-place cadence maps to continuous MoveActions.

Wire the channels you have; all are optional.

Constructors

InputFusion({GazePointer? gazePointer, HandGestureRecognizer? gestureRecognizer, WalkInPlaceDetector? walkInPlace, UltrasonicGestureChannel? ultrasonic, Duration selectCooldown = const Duration(milliseconds: 400), double minMoveCadence = 30})

Properties

gazePointer → GazePointer?
final
gestureRecognizer → HandGestureRecognizer?
final
hashCode → int
The hash code for this object.
no setterinherited
minMoveCadence ↔ double
Cadence (steps/min) below which no MoveAction is emitted.
getter/setter pair
onAction → Stream<VrInputAction>
Unified stream of high-level VR actions.
no setter
runtimeType → Type
A representation of the runtime type of the object.
no setterinherited
selectCooldown ↔ Duration
Minimum interval between two SelectActions regardless of source.
getter/setter pair
ultrasonic → UltrasonicGestureChannel?
final
walkInPlace → WalkInPlaceDetector?
final

Methods

dispose() → void
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
toString() → String
A string representation of this object.
inherited
update(double dt) → void
Call each frame to translate walk-in-place cadence into movement.

Operators

operator ==(Object other) → bool
The equality operator.
inherited