diff --git a/docs/changelog.md b/docs/changelog.md
index b103427..72ead60 100644
--- a/docs/changelog.md
+++ b/docs/changelog.md
@@ -26,6 +26,7 @@ Heynote now includes a lightweight drawing tool for adding quick, freehand annot
- New lines in a Plaintext, Math and SQL blocks now inherits the indentation from the previous line
(other languages should already have this behaviour for new lines)
- Add support for [Mermaid](https://mermaid.js.org/) blocks
+- Fix issue not being able to record the Enter key when creating custom key bindings
## v2.7.2
diff --git a/src/components/settings/AddKeyBind.vue b/src/components/settings/AddKeyBind.vue
index 669fb45..b8d2240 100644
--- a/src/components/settings/AddKeyBind.vue
+++ b/src/components/settings/AddKeyBind.vue
@@ -97,7 +97,7 @@
ref="keys"
/>
-
+
Command
0) {
this.keys = []
} else {
diff --git a/tests/playwright/custom-key-bindings.spec.js b/tests/playwright/custom-key-bindings.spec.js
index ef411c2..d4eb98f 100644
--- a/tests/playwright/custom-key-bindings.spec.js
+++ b/tests/playwright/custom-key-bindings.spec.js
@@ -20,7 +20,7 @@ test("add custom key binding", async ({page}) => {
await expect(page.locator("css=.settings .tab-content.tab-keyboard-bindings .add-key-binding-dialog")).toBeVisible()
await expect(page.locator("css=.settings .tab-content.tab-keyboard-bindings .add-key-binding-dialog input.keys")).toBeFocused()
await page.locator("body").press("Control+Shift+H")
- await page.locator("body").press("Enter")
+ await page.locator("css=.settings .tab-content.tab-keyboard-bindings .add-key-binding-dialog .command-field input").click()
await page.locator("body").pressSequentially("language")
await page.locator(".p-autocomplete-list li.p-autocomplete-option.p-focus").click()
await page.locator("css=.settings .tab-content.tab-keyboard-bindings .add-key-binding-dialog .save").click()
@@ -36,6 +36,30 @@ test("add custom key binding", async ({page}) => {
)
})
+test("add enter as custom key binding", async ({page}) => {
+ await page.locator("css=.status-block.settings").click()
+ await page.locator("css=.overlay .settings .dialog .sidebar li.tab-keyboard-bindings").click()
+ await expect(page.locator("css=.settings .tab-content.tab-keyboard-bindings")).toBeVisible()
+ await page.locator("css=.settings .tab-content.tab-keyboard-bindings .add-keybinding").click()
+ await expect(page.locator("css=.settings .tab-content.tab-keyboard-bindings .add-key-binding-dialog")).toBeVisible()
+ await expect(page.locator("css=.settings .tab-content.tab-keyboard-bindings .add-key-binding-dialog input.keys")).toBeFocused()
+ await page.locator("body").press("Control+Enter")
+ await page.locator("css=.settings .tab-content.tab-keyboard-bindings .add-key-binding-dialog .command-field input").click()
+ await page.locator("body").pressSequentially("language")
+ await page.locator(".p-autocomplete-list li.p-autocomplete-option.p-focus").click()
+ await page.locator("css=.settings .tab-content.tab-keyboard-bindings .add-key-binding-dialog .save").click()
+ await expect(page.locator("css=.settings .tab-content.tab-keyboard-bindings table tr.keybind-user")).toHaveCount(1)
+ expect((await heynotePage.getSettings()).keyBindings).toEqual([{key:"Ctrl-Enter", command:"openLanguageSelector"}])
+ await page.locator("css=.overlay .settings .dialog .bottom-bar .close").click()
+ await page.locator("body").press("Control+Enter")
+ await expect(page.locator("css=.language-selector .items > li.selected")).toBeVisible()
+ await page.locator("body").press("Escape")
+ await expect(page.locator("css=.status .status-block.lang")).toHaveAttribute(
+ "title",
+ "Change language for current block (Ctrl+Enter)"
+ )
+})
+
test("delete custom key binding", async ({page}) => {
await page.locator("css=.status-block.settings").click()
await page.locator("css=.overlay .settings .dialog .sidebar li.tab-keyboard-bindings").click()
@@ -44,7 +68,7 @@ test("delete custom key binding", async ({page}) => {
await expect(page.locator("css=.settings .tab-content.tab-keyboard-bindings .add-key-binding-dialog")).toBeVisible()
await expect(page.locator("css=.settings .tab-content.tab-keyboard-bindings .add-key-binding-dialog input.keys")).toBeFocused()
await page.locator("body").press("Control+Shift+H")
- await page.locator("body").press("Enter")
+ await page.locator("css=.settings .tab-content.tab-keyboard-bindings .add-key-binding-dialog .command-field input").click()
await page.locator("body").pressSequentially("language")
await page.locator(".p-autocomplete-list li.p-autocomplete-option.p-focus").click()
await page.locator("css=.settings .tab-content.tab-keyboard-bindings .add-key-binding-dialog .save").click()