diff --git a/flutter/lib/common.dart b/flutter/lib/common.dart
index 48951c3ec..6fe8d5946 100644
--- a/flutter/lib/common.dart
+++ b/flutter/lib/common.dart
@@ -2692,6 +2692,8 @@ Future<void> shouldBeBlocked(RxBool block, WhetherUseRemoteBlock? use) async {
     var d = time0 - await bind.mainGetMouseTime();
     if (d < 120) {
       block.value = true;
+    } else {
+      block.value = false;
     }
   });
 }
diff --git a/flutter/lib/desktop/pages/desktop_tab_page.dart b/flutter/lib/desktop/pages/desktop_tab_page.dart
index 9f9f4fd5b..e611aca44 100644
--- a/flutter/lib/desktop/pages/desktop_tab_page.dart
+++ b/flutter/lib/desktop/pages/desktop_tab_page.dart
@@ -107,10 +107,7 @@ class _DesktopTabPageState extends State<DesktopTabPage>
         onEnter: (_) async {
           await shouldBeBlocked(_block, canBeBlocked);
         },
-        child: _block
-                .value // FocusScope cause id input not working when closing remote
-            ? tabWidget
-            : FocusScope(child: tabWidget, canRequestFocus: false));
+        child: FocusScope(child: tabWidget, canRequestFocus: !_block.value));
     return isMacOS || kUseCompatibleUiMode
         ? Obx(() => widget())
         : Obx(