SRKeyboardMetrics

Struct SRKeyboardMetrics 

Source
pub struct SRKeyboardMetrics { /* private fields */ }
Expand description

Implementations§

Source§

impl SRKeyboardMetrics

Source

pub unsafe fn duration(&self) -> NSTimeInterval

The duration over which these metrics were calculated

Source

pub unsafe fn keyboardIdentifier(&self) -> Retained<NSString>

The identifier of the keyboard in the keyboard list

Source

pub unsafe fn version(&self) -> Retained<NSString>

The version of keyboard metrics

Source

pub unsafe fn width(&self) -> Retained<NSMeasurement<NSUnitLength>>

The width of the keyboard in mm in the session

Source

pub unsafe fn height(&self) -> Retained<NSMeasurement<NSUnitLength>>

The height of the keyboard in mm in the session

Source

pub unsafe fn inputModes(&self) -> Retained<NSArray<NSString>>

The input modes used during a keyboard session

Source

pub unsafe fn sessionIdentifiers(&self) -> Retained<NSArray<NSString>>

The keyboard session identifiers. These are the identifiers of the keyboard sessions that contributed to keyboard metrics sample to correlate current stream with another stream using the same keyboard session indentifiers

Source§

impl SRKeyboardMetrics

Methods declared on superclass NSObject.

Source

pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>

Source

pub unsafe fn new() -> Retained<Self>

Source§

impl SRKeyboardMetrics

ScalarMetrics.

Source

pub unsafe fn totalWords(&self) -> NSInteger

The total number of words typed during the session

Source

pub unsafe fn totalAlteredWords(&self) -> NSInteger

The total number of altered words during the session

Source

pub unsafe fn totalTaps(&self) -> NSInteger

The total number of taps during the session

Source

pub unsafe fn totalDrags(&self) -> NSInteger

The total number of drags during the session

Source

pub unsafe fn totalDeletes(&self) -> NSInteger

The total number of deletes during the session

Source

pub unsafe fn totalEmojis(&self) -> NSInteger

The total number of emojis used during the session

Source

pub unsafe fn totalPaths(&self) -> NSInteger

The total number of paths used during the sesion

Source

pub unsafe fn totalPathTime(&self) -> NSTimeInterval

The total time taken to complete paths in the session

Source

pub unsafe fn totalPathLength(&self) -> Retained<NSMeasurement<NSUnitLength>>

The total length of paths completed in the session

Source

pub unsafe fn totalAutoCorrections(&self) -> NSInteger

The total number of autocorrections in the session

Source

pub unsafe fn totalSpaceCorrections(&self) -> NSInteger

The total number of space corrections in the session

Source

pub unsafe fn totalRetroCorrections(&self) -> NSInteger

The total number of retro corrections in the session

Source

pub unsafe fn totalTranspositionCorrections(&self) -> NSInteger

The total number of transposition corrections in the session

Source

pub unsafe fn totalInsertKeyCorrections(&self) -> NSInteger

The total number of insert key corrections in the session

Source

pub unsafe fn totalSkipTouchCorrections(&self) -> NSInteger

The total number of skip touch corrections in the session

Source

pub unsafe fn totalNearKeyCorrections(&self) -> NSInteger

The total number of near key corrections in the session

Source

pub unsafe fn totalSubstitutionCorrections(&self) -> NSInteger

The total number of substitution corrections in the session

Source

pub unsafe fn totalHitTestCorrections(&self) -> NSInteger

The total number of hit test corrections in the session

Source

pub unsafe fn totalTypingDuration(&self) -> NSTimeInterval

The total amount of time typing during the session

Source§

impl SRKeyboardMetrics

ProbabilityMetrics.

Source

pub unsafe fn upErrorDistance( &self, ) -> Retained<SRKeyboardProbabilityMetric<NSUnitLength>>

The distance from the touch up to the center of any key

Source

pub unsafe fn downErrorDistance( &self, ) -> Retained<SRKeyboardProbabilityMetric<NSUnitLength>>

The distance from the touch down to the center of any key

Source

pub unsafe fn spaceUpErrorDistance( &self, ) -> Retained<SRKeyboardProbabilityMetric<NSUnitLength>>

The distance from the touch up to the right centroid of the space key

Source

pub unsafe fn spaceDownErrorDistance( &self, ) -> Retained<SRKeyboardProbabilityMetric<NSUnitLength>>

The distance from the touch down to the right centroid of the space key

Source

pub unsafe fn deleteUpErrorDistance( &self, ) -> Retained<SRKeyboardProbabilityMetric<NSUnitLength>>

The distance from the touch up to the center of the delete key

Source

pub unsafe fn deleteDownErrorDistance( &self, ) -> Retained<SRKeyboardProbabilityMetric<NSUnitLength>>

The distance from the touch down to the center of the delete key

Source

pub unsafe fn shortWordCharKeyUpErrorDistance( &self, ) -> Retained<SRKeyboardProbabilityMetric<NSUnitLength>>

The distance from the touch up to the center of the intended key of a character in a short word

Source

pub unsafe fn shortWordCharKeyDownErrorDistance( &self, ) -> Retained<SRKeyboardProbabilityMetric<NSUnitLength>>

The distance from the touch down to the center of the intended key of a character in a short word

Source

pub unsafe fn touchDownUp( &self, ) -> Retained<SRKeyboardProbabilityMetric<NSUnitDuration>>

The duration between touch down to touchup for any key

Source

pub unsafe fn spaceTouchDownUp( &self, ) -> Retained<SRKeyboardProbabilityMetric<NSUnitDuration>>

The duration between touch down and touchup of all space key events in the session.

Source

pub unsafe fn deleteTouchDownUp( &self, ) -> Retained<SRKeyboardProbabilityMetric<NSUnitDuration>>

The duration between touch down and touchup of all delete key events in the session.

Source

pub unsafe fn shortWordCharKeyTouchDownUp( &self, ) -> Retained<SRKeyboardProbabilityMetric<NSUnitDuration>>

The duration between touch down and touchup of all character keys in short words in the session.

Source

pub unsafe fn touchDownDown( &self, ) -> Retained<SRKeyboardProbabilityMetric<NSUnitDuration>>

The duration between touch down to touch down for any key

Source

pub unsafe fn touchUpDown( &self, ) -> Retained<SRKeyboardProbabilityMetric<NSUnitDuration>>

The duration between touch up and touch down for any key

Source

pub unsafe fn charKeyToPrediction( &self, ) -> Retained<SRKeyboardProbabilityMetric<NSUnitDuration>>

The duration between touchup on a character key and touch down on a word in the prediction bar

Source

pub unsafe fn shortWordCharKeyToCharKey( &self, ) -> Retained<SRKeyboardProbabilityMetric<NSUnitDuration>>

The duration between touchup on a character key and touch down on any sequential character key in a short word

Source

pub unsafe fn charKeyToAnyTapKey( &self, ) -> Retained<SRKeyboardProbabilityMetric<NSUnitDuration>>

The duration between touchup on a character key and touch down on the next sequential key (any key)

Source

pub unsafe fn anyTapToCharKey( &self, ) -> Retained<SRKeyboardProbabilityMetric<NSUnitDuration>>

The duration between touchup of any key and touch down on a sequential character key

Source

pub unsafe fn spaceToCharKey( &self, ) -> Retained<SRKeyboardProbabilityMetric<NSUnitDuration>>

The duration between touchup of a space key and touch down of a sequential character key

Source

pub unsafe fn charKeyToSpaceKey( &self, ) -> Retained<SRKeyboardProbabilityMetric<NSUnitDuration>>

The duration between touchup of a character key and touch down of a sequential space key

Source

pub unsafe fn spaceToDeleteKey( &self, ) -> Retained<SRKeyboardProbabilityMetric<NSUnitDuration>>

The duration between touchup of a space key and touch down of a sequential delete key

Source

pub unsafe fn deleteToSpaceKey( &self, ) -> Retained<SRKeyboardProbabilityMetric<NSUnitDuration>>

The duration between touchup of a delete key and touch down of a sequential space key

Source

pub unsafe fn spaceToSpaceKey( &self, ) -> Retained<SRKeyboardProbabilityMetric<NSUnitDuration>>

The duration between touchup of a space key and touch down of a sequential space key

Source

pub unsafe fn spaceToShiftKey( &self, ) -> Retained<SRKeyboardProbabilityMetric<NSUnitDuration>>

The duration between touchup of a space key and touch down of a sequential Shift key

Source

pub unsafe fn spaceToPlaneChangeKey( &self, ) -> Retained<SRKeyboardProbabilityMetric<NSUnitDuration>>

The duration between touchup of a space key and touch down of a sequential plane change key

Source

pub unsafe fn spaceToPredictionKey( &self, ) -> Retained<SRKeyboardProbabilityMetric<NSUnitDuration>>

The duration between touchup on the space key and touch down of a sequential selection from the prediction bar

Source

pub unsafe fn deleteToCharKey( &self, ) -> Retained<SRKeyboardProbabilityMetric<NSUnitDuration>>

The duration between touchup of a delete key and touch down of a sequential character key

Source

pub unsafe fn charKeyToDelete( &self, ) -> Retained<SRKeyboardProbabilityMetric<NSUnitDuration>>

The duration between touchup of a character key and touch down of a sequential delete key

Source

pub unsafe fn deleteToDelete( &self, ) -> Retained<SRKeyboardProbabilityMetric<NSUnitDuration>>

The duration between touchup of a delete key and touch down of a sequential delete key

Source

pub unsafe fn deleteToShiftKey( &self, ) -> Retained<SRKeyboardProbabilityMetric<NSUnitDuration>>

The duration between touchup of a delete key and touch down of a sequential Shift key

Source

pub unsafe fn deleteToPlaneChangeKey( &self, ) -> Retained<SRKeyboardProbabilityMetric<NSUnitDuration>>

The duration between touchup of a delete key and touch down of a sequential plane change key

Source

pub unsafe fn anyTapToPlaneChangeKey( &self, ) -> Retained<SRKeyboardProbabilityMetric<NSUnitDuration>>

The duration between touchup of any key and touch down on a plane change key

Source

pub unsafe fn planeChangeToAnyTap( &self, ) -> Retained<SRKeyboardProbabilityMetric<NSUnitDuration>>

The duration between touchup on a plane change key and touch down on the next sequential key

Source

pub unsafe fn charKeyToPlaneChangeKey( &self, ) -> Retained<SRKeyboardProbabilityMetric<NSUnitDuration>>

The duration between touchup of a character key and touch down of a sequential plane change key

Source

pub unsafe fn planeChangeKeyToCharKey( &self, ) -> Retained<SRKeyboardProbabilityMetric<NSUnitDuration>>

The duration between touchup of a plane change key and touch down of any key

Source

pub unsafe fn pathErrorDistanceRatio(&self) -> Retained<NSArray<NSNumber>>

sample values of the ratio of error distance between intended and actual path

Source

pub unsafe fn deleteToPath( &self, ) -> Retained<SRKeyboardProbabilityMetric<NSUnitDuration>>

The duration between touchup of a delete key and touch down of a sequential path

Source

pub unsafe fn pathToDelete( &self, ) -> Retained<SRKeyboardProbabilityMetric<NSUnitDuration>>

The duration between touchup of a delete key and touch down of a sequential path (ie. Continuous Path)

Source

pub unsafe fn spaceToPath( &self, ) -> Retained<SRKeyboardProbabilityMetric<NSUnitDuration>>

The duration between touchup on the space key and touch down to begin a sequential path

Source

pub unsafe fn pathToSpace( &self, ) -> Retained<SRKeyboardProbabilityMetric<NSUnitDuration>>

The duration between touchup of a path and touch down of a sequential space key

Source

pub unsafe fn pathToPath( &self, ) -> Retained<SRKeyboardProbabilityMetric<NSUnitDuration>>

The duration between touchup of a path and touch down of a sequential path

Source§

impl SRKeyboardMetrics

PositionalMetrics.

Probability metrics for each character in a word in their respective positions (first, second, third, fourth, fifth, and the rest)

Source

pub unsafe fn longWordUpErrorDistance( &self, ) -> Retained<NSArray<SRKeyboardProbabilityMetric<NSUnitLength>>>

The distance from the touch up to the center of the intended key of the characters of a long word

Source

pub unsafe fn longWordDownErrorDistance( &self, ) -> Retained<NSArray<SRKeyboardProbabilityMetric<NSUnitLength>>>

The distance from the touch down to the center of the intended key of the characters of a long word

Source

pub unsafe fn longWordTouchDownUp( &self, ) -> Retained<NSArray<SRKeyboardProbabilityMetric<NSUnitDuration>>>

The duration between touch down and touchup of the character keys of all the long words in the session.

Source

pub unsafe fn longWordTouchDownDown( &self, ) -> Retained<NSArray<SRKeyboardProbabilityMetric<NSUnitDuration>>>

The duration between touch down and touch down of the character keys of all the long words in the session.

Source

pub unsafe fn longWordTouchUpDown( &self, ) -> Retained<NSArray<SRKeyboardProbabilityMetric<NSUnitDuration>>>

The duration between touch up and touch down of the character keys of all the long words in the session.

Source

pub unsafe fn deleteToDeletes( &self, ) -> Retained<NSArray<SRKeyboardProbabilityMetric<NSUnitDuration>>>

The duration between touchup of the delete key and touch down of a sequential delete key

Source§

impl SRKeyboardMetrics

SpeedMetrics.

Source

pub unsafe fn totalPauses(&self) -> NSInteger

The total number of pauses during the session

Source

pub unsafe fn totalPathPauses(&self) -> NSInteger

The total number of pauses made while entering the path for any words composed using continuous path during the session

Source

pub unsafe fn typingSpeed(&self) -> c_double

The words per minute typed during the session

Source

pub unsafe fn pathTypingSpeed(&self) -> c_double

The words per minute typed using continuous path during the session

Source

pub unsafe fn totalTypingEpisodes(&self) -> NSInteger

Total number of continuous typing episodes during the session

Source§

impl SRKeyboardMetrics

SentimentCounts.

These metrics describe the number of words and emoji of a particular category typed during a keyboard session. Words and emoji may be counted in multiple categories.

Source

pub unsafe fn wordCountForSentimentCategory( &self, category: SRKeyboardMetricsSentimentCategory, ) -> NSInteger

The count of words typed per category in the session

Source

pub unsafe fn emojiCountForSentimentCategory( &self, category: SRKeyboardMetricsSentimentCategory, ) -> NSInteger

The count of emoji typed per category in the session

Methods from Deref<Target = NSObject>§

Source

pub fn doesNotRecognizeSelector(&self, sel: Sel) -> !

Handle messages the object doesn’t recognize.

See Apple’s documentation for details.

Methods from Deref<Target = AnyObject>§

Source

pub fn class(&self) -> &'static AnyClass

Dynamically find the class of this object.

§Panics

May panic if the object is invalid (which may be the case for objects returned from unavailable init/new methods).

§Example

Check that an instance of NSObject has the precise class NSObject.

use objc2::ClassType;
use objc2::runtime::NSObject;

let obj = NSObject::new();
assert_eq!(obj.class(), NSObject::class());
Source

pub unsafe fn get_ivar<T>(&self, name: &str) -> &T
where T: Encode,

👎Deprecated: this is difficult to use correctly, use Ivar::load instead.

Use Ivar::load instead.

§Safety

The object must have an instance variable with the given name, and it must be of type T.

See Ivar::load_ptr for details surrounding this.

Source

pub fn downcast_ref<T>(&self) -> Option<&T>
where T: DowncastTarget,

Attempt to downcast the object to a class of type T.

This is the reference-variant. Use Retained::downcast if you want to convert a retained object to another type.

§Mutable classes

Some classes have immutable and mutable variants, such as NSString and NSMutableString.

When some Objective-C API signature says it gives you an immutable class, it generally expects you to not mutate that, even though it may technically be mutable “under the hood”.

So using this method to convert a NSString to a NSMutableString, while not unsound, is generally frowned upon unless you created the string yourself, or the API explicitly documents the string to be mutable.

See Apple’s documentation on mutability and on isKindOfClass: for more details.

§Generic classes

Objective-C generics are called “lightweight generics”, and that’s because they aren’t exposed in the runtime. This makes it impossible to safely downcast to generic collections, so this is disallowed by this method.

You can, however, safely downcast to generic collections where all the type-parameters are AnyObject.

§Panics

This works internally by calling isKindOfClass:. That means that the object must have the instance method of that name, and an exception will be thrown (if CoreFoundation is linked) or the process will abort if that is not the case. In the vast majority of cases, you don’t need to worry about this, since both root objects NSObject and NSProxy implement this method.

§Examples

Cast an NSString back and forth from NSObject.

use objc2::rc::Retained;
use objc2_foundation::{NSObject, NSString};

let obj: Retained<NSObject> = NSString::new().into_super();
let string = obj.downcast_ref::<NSString>().unwrap();
// Or with `downcast`, if we do not need the object afterwards
let string = obj.downcast::<NSString>().unwrap();

Try (and fail) to cast an NSObject to an NSString.

use objc2_foundation::{NSObject, NSString};

let obj = NSObject::new();
assert!(obj.downcast_ref::<NSString>().is_none());

Try to cast to an array of strings.

use objc2_foundation::{NSArray, NSObject, NSString};

let arr = NSArray::from_retained_slice(&[NSObject::new()]);
// This is invalid and doesn't type check.
let arr = arr.downcast_ref::<NSArray<NSString>>();

This fails to compile, since it would require enumerating over the array to ensure that each element is of the desired type, which is a performance pitfall.

Downcast when processing each element instead.

use objc2_foundation::{NSArray, NSObject, NSString};

let arr = NSArray::from_retained_slice(&[NSObject::new()]);

for elem in arr {
    if let Some(data) = elem.downcast_ref::<NSString>() {
        // handle `data`
    }
}

Trait Implementations§

Source§

impl AsRef<AnyObject> for SRKeyboardMetrics

Source§

fn as_ref(&self) -> &AnyObject

Converts this type into a shared reference of the (usually inferred) input type.
Source§

impl AsRef<NSObject> for SRKeyboardMetrics

Source§

fn as_ref(&self) -> &NSObject

Converts this type into a shared reference of the (usually inferred) input type.
Source§

impl AsRef<SRKeyboardMetrics> for SRKeyboardMetrics

Source§

fn as_ref(&self) -> &Self

Converts this type into a shared reference of the (usually inferred) input type.
Source§

impl Borrow<AnyObject> for SRKeyboardMetrics

Source§

fn borrow(&self) -> &AnyObject

Immutably borrows from an owned value. Read more
Source§

impl Borrow<NSObject> for SRKeyboardMetrics

Source§

fn borrow(&self) -> &NSObject

Immutably borrows from an owned value. Read more
Source§

impl ClassType for SRKeyboardMetrics

Source§

const NAME: &'static str = "SRKeyboardMetrics"

The name of the Objective-C class that this type represents. Read more
Source§

type Super = NSObject

The superclass of this class. Read more
Source§

type ThreadKind = <<SRKeyboardMetrics as ClassType>::Super as ClassType>::ThreadKind

Whether the type can be used from any thread, or from only the main thread. Read more
Source§

fn class() -> &'static AnyClass

Get a reference to the Objective-C class that this type represents. Read more
Source§

fn as_super(&self) -> &Self::Super

Get an immutable reference to the superclass.
Source§

impl Debug for SRKeyboardMetrics

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Deref for SRKeyboardMetrics

Source§

type Target = NSObject

The resulting type after dereferencing.
Source§

fn deref(&self) -> &Self::Target

Dereferences the value.
Source§

impl Hash for SRKeyboardMetrics

Source§

fn hash<H: Hasher>(&self, state: &mut H)

Feeds this value into the given Hasher. Read more
1.3.0 · Source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
Source§

impl Message for SRKeyboardMetrics

Source§

fn retain(&self) -> Retained<Self>
where Self: Sized,

Increment the reference count of the receiver. Read more
Source§

impl NSObjectProtocol for SRKeyboardMetrics

Source§

fn isEqual(&self, other: Option<&AnyObject>) -> bool
where Self: Sized + Message,

Check whether the object is equal to an arbitrary other object. Read more
Source§

fn hash(&self) -> usize
where Self: Sized + Message,

An integer that can be used as a table address in a hash table structure. Read more
Source§

fn isKindOfClass(&self, cls: &AnyClass) -> bool
where Self: Sized + Message,

Check if the object is an instance of the class, or one of its subclasses. Read more
Source§

fn is_kind_of<T>(&self) -> bool
where T: ClassType, Self: Sized + Message,

👎Deprecated: use isKindOfClass directly, or cast your objects with AnyObject::downcast_ref
Check if the object is an instance of the class type, or one of its subclasses. Read more
Source§

fn isMemberOfClass(&self, cls: &AnyClass) -> bool
where Self: Sized + Message,

Check if the object is an instance of a specific class, without checking subclasses. Read more
Source§

fn respondsToSelector(&self, aSelector: Sel) -> bool
where Self: Sized + Message,

Check whether the object implements or inherits a method with the given selector. Read more
Source§

fn conformsToProtocol(&self, aProtocol: &AnyProtocol) -> bool
where Self: Sized + Message,

Check whether the object conforms to a given protocol. Read more
Source§

fn description(&self) -> Retained<NSObject>
where Self: Sized + Message,

A textual representation of the object. Read more
Source§

fn debugDescription(&self) -> Retained<NSObject>
where Self: Sized + Message,

A textual representation of the object to use when debugging. Read more
Source§

fn isProxy(&self) -> bool
where Self: Sized + Message,

Check whether the receiver is a subclass of the NSProxy root class instead of the usual NSObject. Read more
Source§

fn retainCount(&self) -> usize
where Self: Sized + Message,

The reference count of the object. Read more
Source§

impl PartialEq for SRKeyboardMetrics

Source§

fn eq(&self, other: &Self) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl RefEncode for SRKeyboardMetrics

Source§

const ENCODING_REF: Encoding = <NSObject as ::objc2::RefEncode>::ENCODING_REF

The Objective-C type-encoding for a reference of this type. Read more
Source§

impl DowncastTarget for SRKeyboardMetrics

Source§

impl Eq for SRKeyboardMetrics

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<'a, T> AnyThread for T
where T: ClassType<ThreadKind = dyn AnyThread + 'a> + ?Sized,

Source§

fn alloc() -> Allocated<Self>
where Self: Sized + ClassType,

Allocate a new instance of the class. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<P, T> Receiver for P
where P: Deref<Target = T> + ?Sized, T: ?Sized,

Source§

type Target = T

🔬This is a nightly-only experimental API. (arbitrary_self_types)
The target type on which the method may be called.
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> AutoreleaseSafe for T
where T: ?Sized,