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