handleKeyEvent method

void handleKeyEvent(
  1. KeyEvent e
)

Implementation

void handleKeyEvent(KeyEvent e) {
  final key = e.logicalKey;

  if (e is KeyDownEvent) {
    if (_isModifier(key)) {
      _modifiersPressed.add(key);
    } else {
      final _ = !_pressed.add(key);
      final combo = _comboMap[_normalizedModifierKey()];
      final cb = combo?.bindings[key];
      if (cb != null) cb();
    }
  } else if (e is KeyUpEvent) {
    (_isModifier(key) ? _modifiersPressed : _pressed).remove(key);
  }
}