handleKeyEvent method
Handles option selection and navigation.
Implementation
@override
bool handleKeyEvent(term.KeyEvent event) {
final controller = widget.controller;
if (event.key == 'left' || event.key == 'h' || event.key == 'backtab') {
setState(() {
controller.focusedIndex =
(controller.focusedIndex - 1) % controller.options.length;
if (controller.focusedIndex < 0) {
controller.focusedIndex += controller.options.length;
}
});
return true;
} else if (event.key == 'right' || event.key == 'l' || event.key == 'tab') {
setState(() {
controller.focusedIndex =
(controller.focusedIndex + 1) % controller.options.length;
});
return true;
} else if (event.key == ' ' ||
event.key == 'space' ||
event.key == 'enter' ||
event.key == '\n' ||
event.key == '\r') {
setState(() {
controller.selectedIndex = controller.focusedIndex;
});
return true;
}
return false;
}