return true in listener widget when key handled

This commit is contained in:
Nick Fisher
2025-07-03 11:53:54 +08:00
parent f706f54eb2
commit 77f843568f

View File

@@ -156,6 +156,14 @@ class _ThermionListenerWidgetState extends State<ThermionListenerWidget> {
}
}
@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<ThermionListenerWidget> {
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;