KeyShuffle enum Enums

When the digit keys change position, for PIN and payment entry.

A fixed keypad is predictable: someone watching the hand, or a camera above the terminal, learns the PIN from finger positions alone. Shuffling the digits removes that, at the cost of the muscle memory a regular user builds. Off by default, because for most keyboards that trade is not worth it.

Inheritance
Available extensions

Values

none → const KeyShuffle

Digits keep their usual positions. The default.

onShow → const KeyShuffle

Digits are shuffled once each time the keypad becomes visible, so a watcher cannot carry knowledge from one entry to the next.

This is what payment terminals do. Positions hold still while the user is typing, so entry stays usable.

onEveryKey → const KeyShuffle

Digits are shuffled again after every keypress.

Maximum resistance to shoulder surfing and to camera capture, and clearly harder to use: the key a user is reaching for moves before they land on it. Reserve it for high-value entry where that is an accepted cost.

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<KeyShuffle>
A constant List of the values in this enum, in order of their declaration.