handleKeyEvent method
Handles a keyboard event and routes it to the focused layer.
Implementation
void handleKeyEvent(KeyEvent event) {
Tracer.record(
_traceKeyEventId,
Phase.begin,
TraceCategory.events,
metadata: {'key': event.logicalKey},
);
try {
if (debugToggleKey != null && event == debugToggleKey) {
debugShowTouchesEnabled = !debugShowTouchesEnabled;
debugPaintHoverEnabled = !debugPaintHoverEnabled;
debugMouseCursorEnabled = !debugMouseCursorEnabled;
debugPaintLayerBordersEnabled = !debugPaintLayerBordersEnabled;
scheduleRender();
return;
}
if (onKeyEvent?.call(event) ?? false) {
return;
}
final handled = focusedLayer?.renderer.handleKeyEvent(event) ?? false;
if (!handled) {
_clearHoverState();
}
} finally {
Tracer.record(_traceKeyEventId, Phase.end, TraceCategory.events);
}
}