diff --git a/ui/qml/AppState.qml b/ui/qml/AppState.qml index ac783a3..7e9aab9 100644 --- a/ui/qml/AppState.qml +++ b/ui/qml/AppState.qml @@ -261,7 +261,11 @@ Item { else if (k === Qt.Key_Left) act("left"); else if (k === Qt.Key_Right) act("right"); else if (k === Qt.Key_Space) act("accept"); - else if (k === Qt.Key_Return || k === Qt.Key_Enter) act(Input.type === "remote" || screen !== "menu" ? "accept" : "apply"); + // Enter selects, like A on a controller: Steam's desktop layout sends + // Enter for a Steam Controller's A (and Space for Y). Ctrl+Enter + // goes straight to Review & apply. + else if ((k === Qt.Key_Return || k === Qt.Key_Enter) && (e.modifiers & Qt.ControlModifier)) act("apply"); + else if (k === Qt.Key_Return || k === Qt.Key_Enter) act("accept"); else if (k === Qt.Key_Escape || k === Qt.Key_Back || k === Qt.Key_Backspace) { if (!e.isAutoRepeat) act("back"); } else if (k === Qt.Key_R) act("reapply"); else return; diff --git a/ui/qml/Input.qml b/ui/qml/Input.qml index cc30c14..e45b641 100644 --- a/ui/qml/Input.qml +++ b/ui/qml/Input.qml @@ -7,7 +7,7 @@ QtObject { property string type: "keyboard" readonly property var glyphs: ({ controller: { toggle: "A", choose: "◀ ▶", reapply: "Y", quit: "B", apply: "X", ok: "A", back: "B" }, - keyboard: { toggle: "Space", choose: "← →", reapply: "R", quit: "Esc", apply: "Enter", ok: "Enter", back: "Esc" }, + keyboard: { toggle: "Enter", choose: "← →", reapply: "R", quit: "Esc", apply: "Ctrl+Enter", ok: "Enter", back: "Esc" }, remote: { toggle: "OK", choose: "◀ ▶", reapply: "Red", quit: "Back", apply: "↓ Apply", ok: "OK", back: "Back" } }) readonly property var g: glyphs[type]