editableEscapeUnfocus static method
Escape unfocuses focusNode when it has primary focus.
Does not clear keyboard-ring modality — the next Tab still shows rings. Overlay dismiss shortcuts (menus/dropdowns) should wrap above the field so Escape closes the overlay first.
Implementation
static Map<ShortcutActivator, VoidCallback> editableEscapeUnfocus(
FocusNode focusNode,
) {
return <ShortcutActivator, VoidCallback>{
const SingleActivator(LogicalKeyboardKey.escape): () {
if (focusNode.hasPrimaryFocus) {
focusNode.unfocus();
}
},
};
}