From 5003f5d9bcdc0d3aee2aee777f77ee579dfa521c Mon Sep 17 00:00:00 2001 From: Alessandro Pignotti Date: Sat, 1 Mar 2025 22:56:27 +0100 Subject: [PATCH] Claude: Fix handling of mouse clicks with Claude 3.7 Coordinates are now explicit --- src/lib/WebVM.svelte | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/src/lib/WebVM.svelte b/src/lib/WebVM.svelte index 698c402..9cd3d84 100644 --- a/src/lib/WebVM.svelte +++ b/src/lib/WebVM.svelte @@ -468,23 +468,31 @@ } case "left_click": { + var coords = tool.coordinate; var dc = get(displayConfig); + dc.mouseX = coords[0] / dc.mouseMult; + dc.mouseY = coords[1] / dc.mouseMult; var display = document.getElementById("display"); var clientRect = display.getBoundingClientRect(); var me = new MouseEvent('mousedown', { clientX: dc.mouseX + clientRect.left, clientY: dc.mouseY + clientRect.top, button: 0 }); display.dispatchEvent(me); - var me = new MouseEvent('mouseup', { clientX: dc.mouseX + clientRect.left, clientY: dc.mouseY + clientRect.top, button: 0 }); + await yieldHelper(60) + me = new MouseEvent('mouseup', { clientX: dc.mouseX + clientRect.left, clientY: dc.mouseY + clientRect.top, button: 0 }); display.dispatchEvent(me); return null; } case "right_click": { + var coords = tool.coordinate; var dc = get(displayConfig); + dc.mouseX = coords[0] / dc.mouseMult; + dc.mouseY = coords[1] / dc.mouseMult; var display = document.getElementById("display"); var clientRect = display.getBoundingClientRect(); var me = new MouseEvent('mousedown', { clientX: dc.mouseX + clientRect.left, clientY: dc.mouseY + clientRect.top, button: 2 }); display.dispatchEvent(me); - var me = new MouseEvent('mouseup', { clientX: dc.mouseX + clientRect.left, clientY: dc.mouseY + clientRect.top, button: 2 }); + await yieldHelper(60) + me = new MouseEvent('mouseup', { clientX: dc.mouseX + clientRect.left, clientY: dc.mouseY + clientRect.top, button: 2 }); display.dispatchEvent(me); return null; }