handleKeyEvent method

bool handleKeyEvent(
  1. KeyEvent event
)

Routes a keyboard event to the currently focused window.

Implementation

bool handleKeyEvent(KeyEvent event) {
  for (final listener in globalKeyListeners) {
    if (listener(event)) return true;
  }
  var leaf = rootFocusNode.findFocusedLeaf();
  if (leaf != null) {
    // Trace up parent chain to find immediate child of rootFocusNode
    while (leaf != null && leaf.parent != rootFocusNode) {
      leaf = leaf.parent;
    }
    if (leaf != null) {
      for (final win in windows) {
        if (win.focusNode == leaf) {
          if (win.onKeyEvent != null) {
            win.onKeyEvent!(event);
            return true;
          }
          break;
        }
      }
    }
  }
  return false;
}