handleKeyEvent method

  1. @override
bool handleKeyEvent(
  1. KeyEvent event
)
override

Handles keyboard events for moving the slider.

Implementation

@override
bool handleKeyEvent(term.KeyEvent event) {
  final step = (widget.max - widget.min) / 20.0; // 5% step size
  if (widget.axis == SliderAxis.horizontal) {
    if (event.type == KeyType.left) {
      widget.value = (widget.value - step).clamp(widget.min, widget.max);
      widget.onChanged?.call(widget.value);
      return true;
    } else if (event.type == KeyType.right) {
      widget.value = (widget.value + step).clamp(widget.min, widget.max);
      widget.onChanged?.call(widget.value);
      return true;
    }
  } else {
    if (event.type == KeyType.up) {
      widget.value = (widget.value + step).clamp(widget.min, widget.max);
      widget.onChanged?.call(widget.value);
      return true;
    } else if (event.type == KeyType.down) {
      widget.value = (widget.value - step).clamp(widget.min, widget.max);
      widget.onChanged?.call(widget.value);
      return true;
    }
  }
  return false;
}