handleKey method
Handles a key event for text input.
Returns true if the input was modified (useful for triggering re-render). Handles: typing, backspace, arrow keys, home/end.
Does NOT handle: Enter, Esc, Tab (these are typically handled by the parent prompt).
Implementation
bool handleKey(KeyEvent event) {
switch (event.type) {
case KeyEventType.char:
if (event.char != null) {
return insert(event.char!);
}
return false;
case KeyEventType.space:
return insert(' ');
case KeyEventType.backspace:
return backspace();
case KeyEventType.arrowLeft:
if (cursorAtStart) return false;
moveCursor(-1);
return true;
case KeyEventType.arrowRight:
if (cursorAtEnd) return false;
moveCursor(1);
return true;
default:
return false;
}
}