From e2383d94d2e51dc8d774122deb05ef0092095851 Mon Sep 17 00:00:00 2001 From: Jos de Jong Date: Mon, 12 Sep 2022 13:46:15 +0200 Subject: [PATCH] fix: #139 cannot use numpad keyboard to enter numbers in tree mode --- src/lib/components/modes/treemode/TreeMode.svelte | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/lib/components/modes/treemode/TreeMode.svelte b/src/lib/components/modes/treemode/TreeMode.svelte index 05d1c3be..35fe67aa 100644 --- a/src/lib/components/modes/treemode/TreeMode.svelte +++ b/src/lib/components/modes/treemode/TreeMode.svelte @@ -1765,6 +1765,7 @@ // get key combo, and normalize key combo from Mac: replace "Command+X" with "Ctrl+X" etc const combo = keyComboFromEvent(event).replace(/^Command\+/, 'Ctrl+') const keepAnchorPath = event.shiftKey + debug('keydown', { combo, key: event.key }) if (combo === 'Ctrl+X') { // cut formatted @@ -1889,11 +1890,14 @@ } } - if (combo.length === (combo.startsWith('Shift+') ? 7 : 1) && documentState.selection) { + const normalizedCombo = combo + .replace(/^Shift\+/, '') // replace 'Shift+A' with 'A' + .replace(/^Numpad_/, '') // replace 'Numpad_4' with '4' + if (normalizedCombo.length === 1 && documentState.selection) { // a regular key like a, A, _, etc is entered. // Replace selected contents with a new value having this first character as text event.preventDefault() - handleInsertCharacter(event.key) + handleInsertCharacter(normalizedCombo) return }