いろんな AHK スクリプトを切り貼りしてたら、 こんな感じに短くてもそれなりに動くことがわかって感動。
XButton1:: MouseGetPos, sx, sy, hwnd, ctrl, 1 while GetKeyState("XButton1", "P") { MouseGetPos, x, y delta := sy - y if(delta != 0) { wParam := 0x10000 * 120 * (delta / Abs(delta)) lParam := sx + sy * 0x10000 loop % (Ceil(Abs(delta) / 10)) { PostMessage, 0x20A, %wParam%, %lParam%, %ctrl%, ahk_id %hwnd% } } MouseMove, sx, sy, 0 } return