From 91a0e252a9dd810120fa2e5d2cf95c79f520f993 Mon Sep 17 00:00:00 2001 From: Mateus Fontes Pegorim Date: Sun, 5 Jul 2026 20:03:30 -0300 Subject: [PATCH] Add left-arrow menu back navigation --- shell/plugins/menu/Menu.qml | 3 +++ test/shell.d/menu-test.sh | 4 ++++ 2 files changed, 7 insertions(+) diff --git a/shell/plugins/menu/Menu.qml b/shell/plugins/menu/Menu.qml index 70c5181782..dbcd4a115b 100644 --- a/shell/plugins/menu/Menu.qml +++ b/shell/plugins/menu/Menu.qml @@ -841,6 +841,9 @@ Item { if (root.filterText.length > 0) root.setFilter(root.filterText.slice(0, -1)) else root.goBack() event.accepted = true + } else if (!root.dmenuActive && event.key === Qt.Key_Left) { + root.goBack() + event.accepted = true } else if (event.key === Qt.Key_Up) { root.select(-1) event.accepted = true diff --git a/test/shell.d/menu-test.sh b/test/shell.d/menu-test.sh index ec7fad18c9..04a2e5fd0b 100644 --- a/test/shell.d/menu-test.sh +++ b/test/shell.d/menu-test.sh @@ -118,6 +118,10 @@ assert( /function setActiveMenu\(id, pushHistory\)[\s\S]*root\.disarmPointer\(\)/.test(menuQml), 'menu route changes disarm pointer selection' ) +assert( + /Qt\.Key_Left\)[\s\S]*root\.goBack\(\)/.test(menuQml), + 'menu supports left-arrow back navigation' +) assert( /PointerMoveGate\s*\{[\s\S]*id: pointerGate[\s\S]*referenceItem: card[\s\S]*\}/.test(menuQml), 'menu uses shared pointer movement gate in card coordinates'