Struct CapsLockEstimate
pub struct CapsLockEstimate { /* private fields */ }Expand description
A running estimate of whether Caps Lock is engaged, inferred from typed
letters. Cheap to copy and to keep alive; update it by feeding each typed
character (and the Shift state that produced it) through observe /
observe_text.
Implementations§
§impl CapsLockEstimate
impl CapsLockEstimate
pub fn new() -> CapsLockEstimate
pub fn new() -> CapsLockEstimate
A fresh estimate with Caps Lock assumed off.
pub fn on(&self) -> bool
pub fn on(&self) -> bool
The current best guess: true iff the most recent alphabetic
keystroke implied Caps Lock is engaged.
pub fn observe(&mut self, ch: char, shift: bool) -> bool
pub fn observe(&mut self, ch: char, shift: bool) -> bool
Returns the updated on state; non-ASCII-alphabetic
characters leave it unchanged. Result is order-independent for a
run typed under one Shift state, so callers may pass every char.
pub fn observe_text(&mut self, text: &str, shift: bool)
pub fn observe_text(&mut self, text: &str, shift: bool)
Fold every character of a typed text run (all produced under the
same shift state — as winit delivers a single KeyEvent).
Trait Implementations§
§impl Clone for CapsLockEstimate
impl Clone for CapsLockEstimate
§fn clone(&self) -> CapsLockEstimate
fn clone(&self) -> CapsLockEstimate
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read more§impl Debug for CapsLockEstimate
impl Debug for CapsLockEstimate
§impl Default for CapsLockEstimate
impl Default for CapsLockEstimate
§fn default() -> CapsLockEstimate
fn default() -> CapsLockEstimate
Returns the “default value” for a type. Read more
§impl PartialEq for CapsLockEstimate
impl PartialEq for CapsLockEstimate
§fn eq(&self, other: &CapsLockEstimate) -> bool
fn eq(&self, other: &CapsLockEstimate) -> bool
Tests for
self and other values to be equal, and is used by ==.impl Copy for CapsLockEstimate
impl Eq for CapsLockEstimate
impl StructuralPartialEq for CapsLockEstimate
Auto Trait Implementations§
impl Freeze for CapsLockEstimate
impl RefUnwindSafe for CapsLockEstimate
impl Send for CapsLockEstimate
impl Sync for CapsLockEstimate
impl Unpin for CapsLockEstimate
impl UnsafeUnpin for CapsLockEstimate
impl UnwindSafe for CapsLockEstimate
Blanket Implementations§
§impl<T> AnyEq for T
impl<T> AnyEq for T
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Convert
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Convert
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Convert
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.§impl<T> DowncastSync for T
impl<T> DowncastSync for T
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Checks if this value is equivalent to the given key. Read more
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more§impl<T> NoneValue for Twhere
T: Default,
impl<T> NoneValue for Twhere
T: Default,
type NoneType = T
§fn null_value() -> T
fn null_value() -> T
The none-equivalent value.