diff --git a/src-ui/app/App.jsx b/src-ui/app/App.jsx
index de37abf8..c36f7d31 100644
--- a/src-ui/app/App.jsx
+++ b/src-ui/app/App.jsx
@@ -7,6 +7,7 @@ import {
import {
KeyEventController,
StartPythonController,
+ GlobalHotKeyController,
UiLanguageController,
ConfigPageCloseTriggerController,
UiSizeController,
@@ -33,6 +34,7 @@ export const App = () => {
+
diff --git a/src-ui/app/_app_controllers/GlobalHotKeyController.jsx b/src-ui/app/_app_controllers/GlobalHotKeyController.jsx
new file mode 100644
index 00000000..d687c138
--- /dev/null
+++ b/src-ui/app/_app_controllers/GlobalHotKeyController.jsx
@@ -0,0 +1,22 @@
+import { useEffect } from "react";
+import { useHotkeys } from "@logics_configs";
+import { useIsBackendReady, useIsSoftwareUpdating } from "@logics_common";
+
+export const GlobalHotKeyController = () => {
+ const { currentIsBackendReady } = useIsBackendReady();
+ const { currentIsSoftwareUpdating } = useIsSoftwareUpdating();
+ const { registerShortcuts, unregisterAll } = useHotkeys();
+
+ useEffect(() => {
+ const is_backend_ready = currentIsBackendReady.data;
+ const is_software_updating = currentIsSoftwareUpdating.data;
+
+ if (is_backend_ready && !is_software_updating) {
+ registerShortcuts();
+ } else if (is_software_updating) {
+ unregisterAll();
+ }
+ }, [currentIsBackendReady.data, currentIsSoftwareUpdating.data]);
+
+ return null;
+};
\ No newline at end of file
diff --git a/src-ui/app/_app_controllers/KeyEventController.jsx b/src-ui/app/_app_controllers/KeyEventController.jsx
index 654f8499..57260503 100644
--- a/src-ui/app/_app_controllers/KeyEventController.jsx
+++ b/src-ui/app/_app_controllers/KeyEventController.jsx
@@ -4,7 +4,9 @@ export const KeyEventController = () => {
useEffect(() => {
const handleKeydown = (event) => {
if (
- event.key === "F5" ||
+ event.key === "F5" || // Page reload
+ event.key === "F10" || // Focus thw window menu (maybe)
+ event.key === "F12" || // Open dev tool
(event.ctrlKey && event.key === "r") ||
(event.metaKey && event.key === "r")
) {
diff --git a/src-ui/app/_app_controllers/index.js b/src-ui/app/_app_controllers/index.js
index abe6f018..547c78f4 100644
--- a/src-ui/app/_app_controllers/index.js
+++ b/src-ui/app/_app_controllers/index.js
@@ -1,5 +1,6 @@
export { KeyEventController } from "./KeyEventController";
export { StartPythonController } from "./StartPythonController";
+export { GlobalHotKeyController } from "./GlobalHotKeyController";
export { UiLanguageController } from "./UiLanguageController";
export { ConfigPageCloseTriggerController } from "./ConfigPageCloseTriggerController";
export { UiSizeController } from "./UiSizeController";