KeyCombo constructor

KeyCombo({
  1. List<LogicalKeyboardKey> modifiers = const [],
  2. required Map<LogicalKeyboardKey, KeyCallback> bindings,
})

Implementation

KeyCombo({this.modifiers = const [], required this.bindings}) {
  if (!areSupportedModifierKeys(modifiers)) {
    // areSupportedModifierKeys from consts.dart
    throw ArgumentError(
      "KeyCombo: Unsupported modifier key found in modifiers list: ${modifiers.map((k) => k.debugName).join(', ')}",
    );
  }

  // Ensure modifiers are unique
  final modSet = <LogicalKeyboardKey>{};
  for (final mod in modifiers) {
    modSet.add(mod);
  }

  modifiers.clear();
  modifiers.addAll(modSet);
}