diff --git a/e2e/playwright/command-bar-tests.spec.ts b/e2e/playwright/command-bar-tests.spec.ts index a0b33a8ac..f85ddc8b8 100644 --- a/e2e/playwright/command-bar-tests.spec.ts +++ b/e2e/playwright/command-bar-tests.spec.ts @@ -291,7 +291,7 @@ test.describe('Command bar tests', { tag: ['@skipWin'] }, () => { // Review step and argument hotkeys await expect(submitButton).toBeEnabled() await expect(submitButton).toBeFocused() - await submitButton.press('Backspace') + await submitButton.press('Shift+Backspace') // Assert we're back on the distance step await expect( diff --git a/e2e/playwright/point-click.spec.ts b/e2e/playwright/point-click.spec.ts index 23e15588d..bb19da818 100644 --- a/e2e/playwright/point-click.spec.ts +++ b/e2e/playwright/point-click.spec.ts @@ -2900,7 +2900,7 @@ extrude001 = extrude(profile001, length = 100) await enterAppearanceFlow(`Open Set Appearance flow`) await test.step(`Validate hidden argument "nodeToEdit" can't be reached with Backspace`, async () => { - await page.keyboard.press('Backspace') + await page.keyboard.press('Shift+Backspace') await cmdBar.expectState({ stage: 'pickCommand', }) diff --git a/src/components/CommandBar/CommandArgOptionInput.tsx b/src/components/CommandBar/CommandArgOptionInput.tsx index 386c5f4ad..427fcfbf6 100644 --- a/src/components/CommandBar/CommandArgOptionInput.tsx +++ b/src/components/CommandBar/CommandArgOptionInput.tsx @@ -144,7 +144,7 @@ function CommandArgOptionInput({ onKeyDown={(event) => { if (event.metaKey && event.key === 'k') commandBarActor.send({ type: 'Close' }) - if (event.key === 'Backspace' && !event.currentTarget.value) { + if (event.key === 'Backspace' && event.shiftKey) { stepBack() } diff --git a/src/components/CommandBar/CommandBar.tsx b/src/components/CommandBar/CommandBar.tsx index 23589c46e..f1a4c9bc8 100644 --- a/src/components/CommandBar/CommandBar.tsx +++ b/src/components/CommandBar/CommandBar.tsx @@ -127,19 +127,35 @@ export const CommandBar = () => { ) )} - +
+ + {!commandBarState.matches('Selecting command') && ( + + )} +
diff --git a/src/components/CommandBar/CommandBarBasicInput.tsx b/src/components/CommandBar/CommandBarBasicInput.tsx index 95d1b72c4..ce953da36 100644 --- a/src/components/CommandBar/CommandBarBasicInput.tsx +++ b/src/components/CommandBar/CommandBarBasicInput.tsx @@ -55,7 +55,7 @@ function CommandBarBasicInput({ | undefined) || (arg.defaultValue as string) } onKeyDown={(event) => { - if (event.key === 'Backspace' && !event.currentTarget.value) { + if (event.key === 'Backspace' && event.shiftKey) { stepBack() } }} diff --git a/src/components/CommandBar/CommandBarKclInput.tsx b/src/components/CommandBar/CommandBarKclInput.tsx index 2f87dd57a..a4c76fb92 100644 --- a/src/components/CommandBar/CommandBarKclInput.tsx +++ b/src/components/CommandBar/CommandBarKclInput.tsx @@ -146,14 +146,10 @@ function CommandBarKclInput({ }, }, { - key: 'Backspace', - run: (editor) => { - // Only step back if the editor is empty - if (editor.state.doc.toString() === '') { - stepBack() - return true - } - return false + key: 'Shift-Backspace', + run: () => { + stepBack() + return true }, }, ]), diff --git a/src/components/CommandBar/CommandBarReview.tsx b/src/components/CommandBar/CommandBarReview.tsx index 633602506..fb2321ba3 100644 --- a/src/components/CommandBar/CommandBarReview.tsx +++ b/src/components/CommandBar/CommandBarReview.tsx @@ -8,7 +8,7 @@ function CommandBarReview({ stepBack }: { stepBack: () => void }) { context: { argumentsToSubmit, selectedCommand }, } = commandBarState - useHotkeys('backspace', stepBack, { + useHotkeys('backspace+shift', stepBack, { enableOnFormTags: true, enableOnContentEditable: true, }) diff --git a/src/components/CommandBar/CommandBarSelectionInput.tsx b/src/components/CommandBar/CommandBarSelectionInput.tsx index 07d14d1bd..f812e183f 100644 --- a/src/components/CommandBar/CommandBarSelectionInput.tsx +++ b/src/components/CommandBar/CommandBarSelectionInput.tsx @@ -142,7 +142,7 @@ function CommandBarSelectionInput({ placeholder="Select an entity with your mouse" className="absolute inset-0 w-full h-full opacity-0 cursor-default" onKeyDown={(event) => { - if (event.key === 'Backspace') { + if (event.key === 'Backspace' && event.shiftKey) { stepBack() } else if (event.key === 'Escape') { commandBarActor.send({ type: 'Close' }) diff --git a/src/components/CommandBar/CommandBarSelectionMixedInput.tsx b/src/components/CommandBar/CommandBarSelectionMixedInput.tsx index 5c46a0d48..0b516870f 100644 --- a/src/components/CommandBar/CommandBarSelectionMixedInput.tsx +++ b/src/components/CommandBar/CommandBarSelectionMixedInput.tsx @@ -120,7 +120,7 @@ export default function CommandBarSelectionMixedInput({ placeholder="Select an entity with your mouse" className="absolute inset-0 w-full h-full opacity-0 cursor-default" onKeyDown={(event) => { - if (event.key === 'Backspace') { + if (event.key === 'Backspace' && event.shiftKey) { stepBack() } else if (event.key === 'Escape') { commandBarActor.send({ type: 'Close' }) diff --git a/src/components/CommandBar/CommandBarTextareaInput.tsx b/src/components/CommandBar/CommandBarTextareaInput.tsx index 6fc0f78c8..6514955a4 100644 --- a/src/components/CommandBar/CommandBarTextareaInput.tsx +++ b/src/components/CommandBar/CommandBarTextareaInput.tsx @@ -56,7 +56,7 @@ function CommandBarTextareaInput({ | undefined) || (arg.defaultValue as string) } onKeyDown={(event) => { - if (event.key === 'Backspace' && !event.currentTarget.value) { + if (event.key === 'Backspace' && event.shiftKey) { stepBack() } else if ( event.key === 'Enter' &&