handleKey method
Implementation
KeyEventResult handleKey(FocusNode node, KeyEvent event) {
if (event is! KeyDownEvent && event is! KeyRepeatEvent) {
return KeyEventResult.ignored;
}
final k = event.logicalKey;
if (k == LogicalKeyboardKey.arrowDown) {
_moveHighlight(1);
return KeyEventResult.handled;
}
if (k == LogicalKeyboardKey.arrowUp) {
_moveHighlight(-1);
return KeyEventResult.handled;
}
if (k == LogicalKeyboardKey.enter || k == LogicalKeyboardKey.numpadEnter) {
if (_highlightedIndex >= 0 && _highlightedIndex < items.length) {
_selectItem(items[_highlightedIndex]);
}
return KeyEventResult.handled;
}
if (k == LogicalKeyboardKey.escape) {
closeOverlay();
return KeyEventResult.handled;
}
return KeyEventResult.ignored;
}