Skip to main content

KeyboardType

Enum KeyboardType 

Source
pub enum KeyboardType {
Show 13 variants Text, Multiline, Number, Decimal, Phone, Email, Url, Password, VisiblePassword, Name, StreetAddress, DateTime, None,
}
Expand description

Which keys the software keyboard should offer.

The platform decides what that means: a phone keypad on Android and iOS, and nothing at all on a desktop, which has one keyboard and it is already open.

Variants§

§

Text

Ordinary text, with suggestions and composition. The default.

§

Multiline

Text over several lines, where the action key is a newline.

§

Number

Whole numbers.

§

Decimal

Numbers with a decimal separator and a sign.

§

Phone

A telephone keypad: digits, +, *, #.

§

Email

An email address: an @ and a . within reach, and no auto-capitalisation.

§

Url

A URL: a / and a .com within reach.

§

Password

A secret. The keyboard neither learns it nor suggests it, which is the whole point and is not something the masking dots can do on their own.

§

VisiblePassword

A secret the field shows in the clear — a one-time code, a generated passphrase being checked. Still never learned.

§

Name

A person’s name: each word capitalised, no sentence casing.

§

StreetAddress

A postal address.

§

DateTime

A date or a time.

§

None

No software keyboard: the field is edited some other way — a picker, a scanner, a hardware keyboard only.

Implementations§

Source§

impl KeyboardType

Source

pub const fn android_input_type(self) -> i32

The Android InputType bit field for this keyboard.

None is TYPE_NULL, which is zero — the value that tells Android there is nothing to type into. It is also what the bridge produced for every field before it had an InputType at all, which is why a keyboard used to arrive with no composition, no swipe and no CJK.

Source

pub const fn is_secret(self) -> bool

Whether the keyboard must never learn what is typed into it.

Android infers this from the variation bits, so nothing else has to be sent — but the question is worth asking in this vocabulary too, because it is the reason Password exists as a type rather than as a way of drawing dots.

Trait Implementations§

Source§

impl Clone for KeyboardType

Source§

fn clone(&self) -> Self

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Copy for KeyboardType

Source§

impl Debug for KeyboardType

Source§

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

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

impl Default for KeyboardType

Source§

fn default() -> Self

Returns the “default value” for a type. Read more
Source§

impl Eq for KeyboardType

Source§

impl Hash for KeyboardType

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 PartialEq for KeyboardType

Source§

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

Equality operator ==. Read more
1.0.0 (const: unstable) · Source§

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

Inequality operator !=. Read more
Source§

impl StructuralPartialEq for KeyboardType

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<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> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. 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<Msg> IntoMsg<Msg> for Msg

Source§

fn defer(work: impl Fn() -> Msg + 'static) -> Msg

The message that stands for work’s result.
Source§

impl<T> MaybeSend for T
where T: Send,

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

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

Source§

type Error = !

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

fn try_from(value: U) -> Result<T, !>

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.