KeyMsg class

Message sent when a key is pressed.

Contains the parsed Key with information about:

  • The type of key (character, special key, function key)
  • Modifier keys held (Ctrl, Alt, Shift)

Example

@override
(Model, Cmd?) update(Msg msg) {
  return switch (msg) {
    KeyMsg(key: Key(type: KeyType.up)) => (moveUp(), null),
    KeyMsg(key: Key(type: KeyType.down)) => (moveDown(), null),
    KeyMsg(key: Key(type: KeyType.runes, runes: [0x71])) => (this, Cmd.quit()), // 'q'
    KeyMsg(key: Key(ctrl: true, runes: [0x63])) => (this, Cmd.quit()), // Ctrl+C
    _ => (this, null),
  };
}
Inheritance
Available extensions

Constructors

KeyMsg(Key key)
Creates a key message.
const

Properties

dropWhenInputQueued → bool
Whether this message can be dropped when fresher user input is queued.
no setterinherited
hashCode → int
The hash code for this object.
no setteroverride
key → Key
The parsed key information.
final
runtimeType → Type
A representation of the runtime type of the object.
no setterinherited

Methods

matches(List<KeyBinding> bindings) → bool

Available on KeyMsg, provided by the KeyMsgMatchExtension extension

Returns true if this key message matches any of the given bindings.
matchesSingle(KeyBinding binding) → bool

Available on KeyMsg, provided by the KeyMsgMatchExtension extension

Returns true if this key message matches the given binding.
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
toString() → String
A string representation of this object.
override

Operators

operator ==(Object other) → bool
The equality operator.
override