相對滑鼠移動
滑鼠 wrapper 只提供絕對的 set_mouse_position——先前沒有「將指標位移 (dx, dy)」(pynput / PyAutoGUI 的
moveRel 慣用法),而相對指標 / 畫布 / FPS 類應用與漸進式拖曳都需要它。
relative_target() 為純算術(目前位置 + 位移),可單元測試;:func:move_mouse_relative 讀取即時位置並
設定新位置,getter 與 setter 皆可注入,因此可在無真實指標下測試。不匯入 PySide6。
無頭 API
from je_auto_control import move_mouse_relative, relative_target
move_mouse_relative(-40, 12) # 從目前位置往左 40、往下 12
# {'from': [200, 200], 'to': [160, 212], 'delta': [-40, 12]}
relative_target((100, 100), 10, -5) # (110, 95) — 純函式、無 I/O
move_mouse_relative 讀取目前位置(若無法讀取則拋出 AutoControlMouseException)、加上位移、再移動過去。
get_position / set_position 預設為真實滑鼠 wrapper,但可注入以供無頭測試。
執行器命令
AC_move_mouse_relative 接受 dx / dy 並回傳 {from, to, delta}。它以 MCP 工具
ac_move_mouse_relative 以及 Script Builder 中 Mouse 分類下的命令提供。