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