diff --git a/thermion_flutter/thermion_flutter/lib/src/widgets/src/thermion_listener_widget.dart b/thermion_flutter/thermion_flutter/lib/src/widgets/src/thermion_listener_widget.dart index ae77b9da..e0076ccd 100644 --- a/thermion_flutter/thermion_flutter/lib/src/widgets/src/thermion_listener_widget.dart +++ b/thermion_flutter/thermion_flutter/lib/src/widgets/src/thermion_listener_widget.dart @@ -156,6 +156,14 @@ class _ThermionListenerWidgetState extends State { } } + @override + void dispose() { + super.dispose(); + if (widget.addKeyboardListener) { + HardwareKeyboard.instance.removeHandler(_handleKeyEvent); + } + } + bool _handleKeyEvent(KeyEvent event) { final physicalKey = physicalKeyMap[event.physicalKey]; final logicalKey = logicalKeyMap[event.logicalKey]; @@ -172,18 +180,11 @@ class _ThermionListenerWidgetState extends State { widget.inputHandler.handle(t.KeyEvent( KeyEventType.up, logicalKey, physicalKey, synthesized: event.synthesized)); + return true; } return !widget.propagateEvents; } - @override - void dispose() { - super.dispose(); - if (widget.addKeyboardListener) { - HardwareKeyboard.instance.removeHandler(_handleKeyEvent); - } - } - t.MouseButton? _mouseButtonFromEvent(PointerEvent event) { t.MouseButton? button;