KeyboardLatchClock enum

Which clock is publishing a latch (RFC 0020 §5.6).

Edges live for exactly one latch, so whichever clock publishes is the clock edges expire on. That makes the choice of clock a correctness question, not a scheduling detail: expire on the wrong one and a press is destroyed before its consumer runs.

The sampled API's consumer is the ticker (§7.2's fixed-step simulation), so the ticker clock owns expiry whenever any ticker is registered. The frame clock is the fallback for an app with no tickers at all — without it nothing would ever advance the latch and wasPressed would report a stale tap forever.

Exactly one of the two is live at any instant; see KeyboardSession.hasActiveTickers, which decides between them.

Inheritance
Available extensions

Values

frame → const KeyboardLatchClock

Published at render, before frame production (FrameDriver's onLatchInput). Live only while no ticker is registered.

ticker → const KeyboardLatchClock

Published at ticker frame start, before any tick callback runs (TickerScheduler.onFrameStart). Live whenever a ticker is registered.

Properties

hashCode → int
The hash code for this object.
no setterinherited
index → int
A numeric identifier for the enumerated value.
no setterinherited
name → String

Available on Enum, provided by the EnumName extension

The name of the enum value.
no setter
runtimeType → Type
A representation of the runtime type of the object.
no setterinherited

Methods

noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
toString() → String
A string representation of this object.
inherited

Operators

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

Constants

values → const List<KeyboardLatchClock>
A constant List of the values in this enum, in order of their declaration.