From 8c90aa5be8f2482eb8f91b7d71e6f954fd72313f Mon Sep 17 00:00:00 2001 From: jisangs Date: Thu, 14 May 2026 11:31:38 +0900 Subject: [PATCH] =?UTF-8?q?=EB=A7=88=EC=9A=B0=EC=8A=A4=20=EB=93=9C?= =?UTF-8?q?=EB=9E=98=EA=B7=B8=20=EA=B8=B0=EB=8A=A5=20=EA=B0=9C=EC=84=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/renderer/handlers/selection.js | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/renderer/handlers/selection.js b/src/renderer/handlers/selection.js index 7ccd8a4..3e2f8a9 100644 --- a/src/renderer/handlers/selection.js +++ b/src/renderer/handlers/selection.js @@ -88,7 +88,8 @@ function _onStart(e) { height: '0px', }); - if (!e.shiftKey) { + const preserve = e.shiftKey || e.ctrlKey || e.metaKey; + if (!preserve) { _state.selectedIdxs.clear(); lastSelectedIdx = null; _cb.refreshCardSelection(); @@ -113,9 +114,10 @@ function _onMove(e) { const r = card.getBoundingClientRect(); const overlaps = !(r.right < sel.left || r.left > sel.right || r.bottom < sel.top || r.top > sel.bottom); + const preserve = e.shiftKey || e.ctrlKey || e.metaKey; if (overlaps) { _state.selectedIdxs.add(i); - } else if (!e.shiftKey) { + } else if (!preserve) { _state.selectedIdxs.delete(i); } });