From 4cb65c1bfaaeea4bb5cd635b8c99c5b3f63ea583 Mon Sep 17 00:00:00 2001 From: edde746 <86283021+edde746@users.noreply.github.com> Date: Tue, 14 Apr 2026 06:30:18 +0200 Subject: [PATCH] feat: mouse back button navigation --- lib/main.dart | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/lib/main.dart b/lib/main.dart index 35629ff1..e7207464 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -309,6 +309,7 @@ void _registerShaderLicenses() { // Global RouteObserver for tracking navigation final RouteObserver routeObserver = RouteObserver(); +final rootNavigatorKey = GlobalKey(); class MainApp extends StatefulWidget { const MainApp({super.key}); @@ -499,13 +500,21 @@ class _MainAppState extends State with WidgetsBindingObserver { child: Consumer( builder: (context, themeProvider, child) { return TranslationProvider( - child: InputModeTracker( - child: MaterialApp( + child: Listener( + onPointerDown: (event) { + if ((event.buttons & kBackMouseButton) != 0) { + rootNavigatorKey.currentState?.maybePop(); + } + }, + behavior: HitTestBehavior.translucent, + child: InputModeTracker( + child: MaterialApp( title: t.app.title, debugShowCheckedModeBanner: false, theme: themeProvider.lightTheme, darkTheme: themeProvider.darkTheme, themeMode: themeProvider.materialThemeMode, + navigatorKey: rootNavigatorKey, navigatorObservers: [routeObserver, BackKeySuppressorObserver()], home: const OrientationAwareSetup(), builder: (context, child) => ScaffoldMessenger( @@ -517,6 +526,7 @@ class _MainAppState extends State with WidgetsBindingObserver { ), ), ), + ), ); }, ),