struct KeyState {
entry: &'static KeyRegistryEntry,
waiter: ParkedWaiter,
last_event_mono: AtomicU64,
debounce_ticks: u64,
latched_pressed: AtomicBool,
initialized: AtomicBool,
}Fields§
§entry: &'static KeyRegistryEntry§waiter: ParkedWaiter§last_event_mono: AtomicU640 means “no edge yet” — see on_edge.
debounce_ticks: u64Pre-converted from entry.debounce_ms so the edge callback avoids a divide.
latched_pressed: AtomicBoolState at edge time, so wait() survives presses that settle back before the consumer wakes.
initialized: AtomicBoolKey::open_* rejects handles whose init failed partway.
Implementations§
Auto Trait Implementations§
impl !Freeze for KeyState
impl !RefUnwindSafe for KeyState
impl Send for KeyState
impl Sync for KeyState
impl Unpin for KeyState
impl UnsafeUnpin for KeyState
impl UnwindSafe for KeyState
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more