isModifierPressed method Null safety

  1. @override
bool isModifierPressed(
  1. ModifierKey key,
  2. {KeyboardSide side = KeyboardSide.any}
)
override

Returns true if the given ModifierKey was pressed at the time of this event.

If side is specified, then this restricts its check to the specified side of the keyboard. Defaults to checking for the key being down on either side of the keyboard. If there is only one instance of the key on the keyboard, then side is ignored.

Implementation

@override
bool isModifierPressed(
  ModifierKey key, {
  KeyboardSide side = KeyboardSide.any,
}) {
  switch (key) {
    case ModifierKey.controlModifier:
      return metaState & modifierControl != 0;
    case ModifierKey.shiftModifier:
      return metaState & modifierShift != 0;
    case ModifierKey.altModifier:
      return metaState & modifierAlt != 0;
    case ModifierKey.metaModifier:
      return metaState & modifierMeta != 0;
    case ModifierKey.numLockModifier:
      return metaState & modifierNumLock != 0;
    case ModifierKey.capsLockModifier:
      return metaState & modifierCapsLock != 0;
    case ModifierKey.scrollLockModifier:
      return metaState & modifierScrollLock != 0;
    case ModifierKey.functionModifier:
    case ModifierKey.symbolModifier:
      // On Web, the browser doesn't report the state of the FN and SYM modifiers.
      return false;
  }
}