SingleActivator constructor
Triggered when the trigger
key is pressed while the modifiers are held.
The trigger
should be the non-modifier key that is pressed after all the
modifiers, such as LogicalKeyboardKey.keyC as in Ctrl+C
. It must not
be a modifier key (sided or unsided).
The control
, shift
, alt
, and meta
flags represent whether the
respective modifier keys should be held (true) or released (false). They
default to false.
By default, the activator is checked on all KeyDownEvent events for the
trigger
key. If includeRepeats
is false, only trigger
key events
which are not KeyRepeatEvents will be considered.
In the following example, the shortcut
link
Control + C
increases the
counter:
To create a local project with this code sample, run:
flutter create --sample=widgets.SingleActivator.SingleActivator.1 mysample
Implementation
const SingleActivator(
this.trigger, {
this.control = false,
this.shift = false,
this.alt = false,
this.meta = false,
this.numLock = LockState.ignored,
this.includeRepeats = true,
}) : // The enumerated check with `identical` is cumbersome but the only way
// since const constructors can not call functions such as `==` or
// `Set.contains`. Checking with `identical` might not work when the
// key object is created from ID, but it covers common cases.
assert(
!identical(trigger, LogicalKeyboardKey.control) &&
!identical(trigger, LogicalKeyboardKey.controlLeft) &&
!identical(trigger, LogicalKeyboardKey.controlRight) &&
!identical(trigger, LogicalKeyboardKey.shift) &&
!identical(trigger, LogicalKeyboardKey.shiftLeft) &&
!identical(trigger, LogicalKeyboardKey.shiftRight) &&
!identical(trigger, LogicalKeyboardKey.alt) &&
!identical(trigger, LogicalKeyboardKey.altLeft) &&
!identical(trigger, LogicalKeyboardKey.altRight) &&
!identical(trigger, LogicalKeyboardKey.meta) &&
!identical(trigger, LogicalKeyboardKey.metaLeft) &&
!identical(trigger, LogicalKeyboardKey.metaRight),
);