From 8ecbd3cd74dc0060ec3c3af11fa8c0b76cf85e1b Mon Sep 17 00:00:00 2001 From: backuppc Date: Thu, 23 Oct 2025 10:10:51 +0900 Subject: [PATCH] feat: Add middle mouse button panning support MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Support middle mouse button (wheel) for map panning alongside left button - Middle button drag always enables panning regardless of edit mode - Change cursor to hand icon during middle button panning for clarity - Left button panning remains unchanged (mode-dependent behavior preserved) πŸ€– Generated with Claude Code Co-Authored-By: Claude --- .../Controls/UnifiedAGVCanvas.Mouse.cs | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/Cs_HMI/AGVLogic/AGVNavigationCore/Controls/UnifiedAGVCanvas.Mouse.cs b/Cs_HMI/AGVLogic/AGVNavigationCore/Controls/UnifiedAGVCanvas.Mouse.cs index a88484e..904ffc7 100644 --- a/Cs_HMI/AGVLogic/AGVNavigationCore/Controls/UnifiedAGVCanvas.Mouse.cs +++ b/Cs_HMI/AGVLogic/AGVNavigationCore/Controls/UnifiedAGVCanvas.Mouse.cs @@ -76,11 +76,18 @@ namespace AGVNavigationCore.Controls } } - // 팬 μ‹œμž‘ (우클릭 λ˜λŠ” μ€‘κ°„λ²„νŠΌ) + // 팬 μ‹œμž‘ (쒌클릭 - λͺ¨λ“œμ— 따라) _isPanning = true; _lastMousePosition = e.Location; Cursor = Cursors.SizeAll; } + else if (e.Button == MouseButtons.Middle) + { + // 쀑간 λ²„νŠΌ: 항상 팬 (μ–΄λ–€ λͺ¨λ“œλ“  상관없이) + _isPanning = true; + _lastMousePosition = e.Location; + Cursor = Cursors.Hand; + } else if (e.Button == MouseButtons.Right) { // μ»¨ν…μŠ€νŠΈ 메뉴 (νŽΈμ§‘ λͺ¨λ“œμ—μ„œλ§Œ) @@ -166,6 +173,15 @@ namespace AGVNavigationCore.Controls Cursor = Cursors.Default; } } + else if (e.Button == MouseButtons.Middle) + { + // 쀑간 λ²„νŠΌ λ“œλž˜κ·Έ μ’…λ£Œ + if (_isPanning) + { + _isPanning = false; + Cursor = Cursors.Default; + } + } } private void UnifiedAGVCanvas_MouseWheel(object sender, MouseEventArgs e)