diff --git a/docs/docs/keybindings.mdx b/docs/docs/keybindings.mdx index d5d88856e8..354f15ea0e 100644 --- a/docs/docs/keybindings.mdx +++ b/docs/docs/keybindings.mdx @@ -39,6 +39,7 @@ Chords are shown with a + between the keys. You have 2 seconds to hit the 2nd ch | | Close the current tab | | | Magnify / Un-Magnify the current block | | | Open the "connection" switcher | +| | Open Settings | | | Refocus the current block (useful if the block has lost input focus) | | | Show block numbers | | | Focus WaveAI input | diff --git a/frontend/app/element/quicktips.tsx b/frontend/app/element/quicktips.tsx index 868c1b125e..d7ea257ed4 100644 --- a/frontend/app/element/quicktips.tsx +++ b/frontend/app/element/quicktips.tsx @@ -160,6 +160,14 @@ const QuickTips = () => { Open Wave AI Panel +
+ Open Settings + +
+
+ Close Settings / Close Search + +
diff --git a/frontend/app/store/keymodel.ts b/frontend/app/store/keymodel.ts index cca01753bb..9f592dbd1b 100644 --- a/frontend/app/store/keymodel.ts +++ b/frontend/app/store/keymodel.ts @@ -655,6 +655,10 @@ function registerGlobalKeys() { return true; } }); + globalKeyMap.set("Cmd:,", () => { + createBlock({ meta: { view: "waveconfig" } }, false, true); + return true; + }); globalKeyMap.set("Ctrl:Shift:i", () => { const tabModel = getActiveTabModel(); if (tabModel == null) { @@ -738,6 +742,17 @@ function registerGlobalKeys() { if (deactivateSearch()) { return true; } + const layoutModel = getLayoutModelForStaticTab(); + const focusedNode = globalStore.get(layoutModel.focusedNode); + const blockId = focusedNode?.data?.blockId; + if (blockId != null) { + const blockAtom = WOS.getWaveObjectAtom(WOS.makeORef("block", blockId)); + const blockData = globalStore.get(blockAtom); + if (blockData?.meta?.view === "waveconfig" || blockData?.meta?.view === "tips") { + fireAndForget(layoutModel.closeFocusedNode.bind(layoutModel)); + return true; + } + } return false; }); globalKeyMap.set("Cmd:Shift:a", () => {