diff --git a/lib/hardware/hardware_keyboard_listener.dart b/lib/hardware/hardware_keyboard_listener.dart index d72a1d1f..5fca3e8a 100644 --- a/lib/hardware/hardware_keyboard_listener.dart +++ b/lib/hardware/hardware_keyboard_listener.dart @@ -4,6 +4,7 @@ import 'package:flutter_filament/filament_controller.dart'; class HardwareKeyboardListener { final EntityTransformController _controller; + var _listening = true; HardwareKeyboardListener(this._controller) { // Get the global handler. final KeyMessageHandler? existing = @@ -18,8 +19,14 @@ class HardwareKeyboardListener { if (keyMessage.rawEvent == null) { return false; } + if (!_listening) { + return false; + } var event = keyMessage.rawEvent!; switch (event.logicalKey) { + case LogicalKeyboardKey.escape: + _listening = false; + break; case LogicalKeyboardKey.keyW: (event is RawKeyDownEvent) ? _controller.forwardPressed()