handleKey method

bool handleKey(
  1. KeyEvent event
)

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;
  }
}