From 77f843568f2c8b3ac6c9c5daf8695ff5a04dafc7 Mon Sep 17 00:00:00 2001 From: Nick Fisher Date: Thu, 3 Jul 2025 11:53:54 +0800 Subject: [PATCH] return true in listener widget when key handled --- .../widgets/src/thermion_listener_widget.dart | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) 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;