diff --git a/Modules/MainScreen/MainScreen.qml b/Modules/MainScreen/MainScreen.qml index f75cb6de7..bdfbd37d4 100644 --- a/Modules/MainScreen/MainScreen.qml +++ b/Modules/MainScreen/MainScreen.qml @@ -516,12 +516,6 @@ PanelWindow { onActivated: PanelService.openedPanel.onDownPressed() } - Shortcut { - sequence: Settings.data.general.keybinds.keyEnter - enabled: root.isPanelOpen && (PanelService.openedPanel.onReturnPressed !== undefined) && !PanelService.isKeybindRecording - onActivated: PanelService.openedPanel.onReturnPressed() - } - Shortcut { sequence: Settings.data.general.keybinds.keyEnter enabled: root.isPanelOpen && (PanelService.openedPanel.onEnterPressed !== undefined) && !PanelService.isKeybindRecording diff --git a/Modules/Panels/SessionMenu/SessionMenu.qml b/Modules/Panels/SessionMenu/SessionMenu.qml index 49c05fe40..5625ad280 100644 --- a/Modules/Panels/SessionMenu/SessionMenu.qml +++ b/Modules/Panels/SessionMenu/SessionMenu.qml @@ -392,6 +392,8 @@ SmartPanel { keyName = "Space"; break; case Qt.Key_Return: + keyName = "Return"; + break; case Qt.Key_Enter: keyName = "Enter"; break; @@ -515,9 +517,6 @@ SmartPanel { function onDownPressed() { handleDown(); } - function onReturnPressed() { - handleEnter(); - } function onEnterPressed() { handleEnter(); } @@ -530,111 +529,17 @@ SmartPanel { function checkKeybind(event) { if (powerOptions.length === 0) - return; + return false; // Construct key string in the same format as the recorder // Ignore modifier keys by themselves if (event.key === Qt.Key_Control || event.key === Qt.Key_Shift || event.key === Qt.Key_Alt || event.key === Qt.Key_Meta) { - return; - } - - let keyStr = ""; - if (event.modifiers & Qt.ControlModifier) - keyStr += "Ctrl+"; - if (event.modifiers & Qt.AltModifier) - keyStr += "Alt+"; - if (event.modifiers & Qt.ShiftModifier) - keyStr += "Shift+"; - - let keyName = ""; - let rawText = event.text; - - if (event.key >= Qt.Key_A && event.key <= Qt.Key_Z || event.key >= Qt.Key_0 && event.key <= Qt.Key_9) { - keyName = String.fromCharCode(event.key); - } else if (event.key >= Qt.Key_F1 && event.key <= Qt.Key_F12) { - keyName = "F" + (event.key - Qt.Key_F1 + 1); - } else if (rawText && rawText.length > 0 && rawText.charCodeAt(0) > 31) { - keyName = rawText.toUpperCase(); - - // Handle shifted digits for common layouts (e.g., German, US) - if (event.modifiers & Qt.ShiftModifier) { - const shiftMap = { - "!": "1", - "\"": "2", - "ยง": "3", - "$": "4", - "%": "5", - "&": "6", - "/": "7", - "(": "8", - ")": "9", - "=": "0", - "@": "2", - "#": "3", - "^": "6", - "*": "8" - }; - if (shiftMap[keyName]) { - keyName = shiftMap[keyName]; - } - } - } else { - switch (event.key) { - case Qt.Key_Escape: - keyName = "Esc"; - break; - case Qt.Key_Space: - keyName = "Space"; - break; - case Qt.Key_Return: - keyName = "Return"; - break; - case Qt.Key_Enter: - keyName = "Enter"; - break; - case Qt.Key_Tab: - keyName = "Tab"; - break; - case Qt.Key_Backspace: - keyName = "Backspace"; - break; - case Qt.Key_Delete: - keyName = "Del"; - break; - case Qt.Key_Insert: - keyName = "Ins"; - break; - case Qt.Key_Home: - keyName = "Home"; - break; - case Qt.Key_End: - keyName = "End"; - break; - case Qt.Key_PageUp: - keyName = "PgUp"; - break; - case Qt.Key_PageDown: - keyName = "PgDn"; - break; - case Qt.Key_Left: - keyName = "Left"; - break; - case Qt.Key_Right: - keyName = "Right"; - break; - case Qt.Key_Up: - keyName = "Up"; - break; - case Qt.Key_Down: - keyName = "Down"; - break; - } - } - - if (!keyName) return false; + } - const pressedKeybind = keyStr + keyName; + const pressedKeybind = getKeybindString(event); + if (!pressedKeybind) + return false; for (var i = 0; i < powerOptions.length; i++) { const option = powerOptions[i];