From 6ab695912995e140d74f427806778a9a5ebc82c2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thea=20Sch=C3=B6bl?= Date: Tue, 30 Jan 2024 19:49:10 +0100 Subject: [PATCH] fix: disallow null inputs when editing feat: allow special inputs while creating a chord input fixes #93 --- src/lib/assets/keymaps/keyboard.yml | 8 ++++++++ src/lib/assets/keymaps/scancode.yml | 8 -------- src/lib/serial/keymap-codes.ts | 4 ---- src/routes/config/chords/ChordActionEdit.svelte | 7 ++++++- src/routes/config/chords/ChordPhraseEdit.svelte | 3 +-- src/routes/config/chords/input-converter.ts | 4 ++-- 6 files changed, 17 insertions(+), 17 deletions(-) diff --git a/src/lib/assets/keymaps/keyboard.yml b/src/lib/assets/keymaps/keyboard.yml index c2dcd083..c64ea49b 100644 --- a/src/lib/assets/keymaps/keyboard.yml +++ b/src/lib/assets/keymaps/keyboard.yml @@ -6,41 +6,49 @@ actions: id: "LEFT_CTRL" display: CTRL title: Control Keyboard Modifier + keyCode: ControlLeft variant: left 513: &left_shift id: "LEFT_SHIFT" title: Shift Keyboard Modifier + keyCode: ShiftLeft variant: left icon: shift 514: &left_alt id: "LEFT_ALT" display: ALT title: Alt Keyboard Modifier + keyCode: AltLeft variant: left 515: &left_gui id: "LEFT_GUI" title: GUI Keyboard Modifier + keyCode: MetaLeft icon: apps variant: left 516: variationOf: 512 <<: *left_ctrl id: "RIGHT_CTRL" + keyCode: ControlRight variant: right 517: variationOf: 513 <<: *left_shift id: "RIGHT_SHIFT" + keyCode: ShiftRight variant: right 518: variationOf: 514 <<: *left_alt id: "RIGHT_ALT" + keyCode: AltRight variant: right 519: variationOf: 515 <<: *left_gui id: "RIGHT_GUI" + keyCode: MetaRight variant: right 520: id: "RELEASE_MOD" diff --git a/src/lib/assets/keymaps/scancode.yml b/src/lib/assets/keymaps/scancode.yml index 92a23a43..ea9ad59f 100644 --- a/src/lib/assets/keymaps/scancode.yml +++ b/src/lib/assets/keymaps/scancode.yml @@ -920,35 +920,27 @@ actions: description: Not required to be supported by any OS 480: id: "KSC_E0" - keyCode: "ControlLeft" title: Keyboard Left Control 481: id: "KSC_E1" - keyCode: "ShiftLeft" title: Keyboard Left Shift 482: id: "KSC_E2" - keyCode: "AltLeft" title: Keyboard Left Alt 483: id: "KSC_E3" - keyCode: "MetaLeft" title: Keyboard Left GUI 484: id: "KSC_E4" - keyCode: "ControlRight" title: Keyboard Right Control 485: id: "KSC_E5" - keyCode: "ShiftRight" title: Keyboard Right Shift 486: id: "KSC_E6" - keyCode: "AltRight" title: Keyboard Right Alt 487: id: "KSC_E7" - keyCode: "MetaRight" title: Keyboard Right GUI 488: id: "KSC_E8" diff --git a/src/lib/serial/keymap-codes.ts b/src/lib/serial/keymap-codes.ts index 865f9e1a..95e9c4ca 100644 --- a/src/lib/serial/keymap-codes.ts +++ b/src/lib/serial/keymap-codes.ts @@ -33,7 +33,3 @@ export const KEYMAP_IDS: Map = new Map( ), ).filter(([id]) => id !== undefined), ) - -export const specialKeycodes = new Map([ - [" ", 32], // Space -]) diff --git a/src/routes/config/chords/ChordActionEdit.svelte b/src/routes/config/chords/ChordActionEdit.svelte index 7fa56ac4..fcbdf48c 100644 --- a/src/routes/config/chords/ChordActionEdit.svelte +++ b/src/routes/config/chords/ChordActionEdit.svelte @@ -28,7 +28,12 @@ function keydown(event: KeyboardEvent) { if (!editing) return event.preventDefault() - pressedKeys.add(inputToAction(event, get(serialPort)?.device === "X")!) + const input = inputToAction(event, get(serialPort)?.device === "X") + if (input == undefined) { + alert("Invalid key") + return + } + pressedKeys.add(input) pressedKeys = pressedKeys } diff --git a/src/routes/config/chords/ChordPhraseEdit.svelte b/src/routes/config/chords/ChordPhraseEdit.svelte index df435e6a..7f1c8a14 100644 --- a/src/routes/config/chords/ChordPhraseEdit.svelte +++ b/src/routes/config/chords/ChordPhraseEdit.svelte @@ -1,7 +1,5 @@