罗技 Lua 脚本

Logitech Lua script

我正在尝试 运行 我的罗技鼠标上的这个脚本。我想让鼠标光标向下移动,确实如此,但是在光标向下移动一段时间后,光标方向反转。

有人知道为什么吗?

function X4()
local mult= 11
  if IsMouseButtonPressed(1)then 
    repeat 
        MoveMouseRelative(0*mult, 11*mult)Sleep(10) if not IsMouseButtonPressed(1) then break end
        MoveMouseRelative(0*mult, 11*mult)Sleep(10) if not IsMouseButtonPressed(1) then break end
        MoveMouseRelative(0*mult, 11*mult)Sleep(10) if not IsMouseButtonPressed(1) then break end
        MoveMouseRelative(0*mult, 11*mult)Sleep(10) if not IsMouseButtonPressed(1) then break end
        MoveMouseRelative(0*mult, 10*mult)Sleep(10) if not IsMouseButtonPressed(1) then break end
        MoveMouseRelative(0*mult, 10*mult)Sleep(10) if not IsMouseButtonPressed(1) then break end
        MoveMouseRelative(0*mult, 10*mult)Sleep(10) if not IsMouseButtonPressed(1) then break end
        MoveMouseRelative(0*mult, 10*mult)Sleep(10) if not IsMouseButtonPressed(1) then break end
        MoveMouseRelative(0*mult, 10*mult)Sleep(10) if not IsMouseButtonPressed(1) then break end
        MoveMouseRelative(0*mult, 10*mult)Sleep(10) if not IsMouseButtonPressed(1) then break end
        MoveMouseRelative(0*mult, 10*mult)Sleep(10) if not IsMouseButtonPressed(1) then break end
        MoveMouseRelative(0*mult, 10*mult)Sleep(10) if not IsMouseButtonPressed(1) then break end
        MoveMouseRelative(0*mult, 10*mult)Sleep(10) if not IsMouseButtonPressed(1) then break end
        MoveMouseRelative(0*mult, 10*mult)Sleep(10) if not IsMouseButtonPressed(1) then break end
        MoveMouseRelative(0*mult, 10*mult)Sleep(10) if not IsMouseButtonPressed(1) then break end
        MoveMouseRelative(0*mult, 10*mult)Sleep(10) if not IsMouseButtonPressed(1) then break end
        MoveMouseRelative(0*mult, 10*mult)Sleep(10) if not IsMouseButtonPressed(1) then break end
        MoveMouseRelative(0*mult, 10*mult)Sleep(10) if not IsMouseButtonPressed(1) then break end
        MoveMouseRelative(0*mult, 10*mult)Sleep(10) if not IsMouseButtonPressed(1) then break end
        MoveMouseRelative(0*mult, 10*mult)Sleep(10) if not IsMouseButtonPressed(1) then break end
        MoveMouseRelative(0*mult, 10*mult)Sleep(10) if not IsMouseButtonPressed(1) then break end
        MoveMouseRelative(0*mult, 10*mult)Sleep(10) if not IsMouseButtonPressed(1) then break end
        MoveMouseRelative(0*mult, 10*mult)Sleep(10) if not IsMouseButtonPressed(1) then break end
        MoveMouseRelative(0*mult, 11*mult)Sleep(10) if not IsMouseButtonPressed(1) then break end
        MoveMouseRelative(0*mult, 11*mult)Sleep(10) if not IsMouseButtonPressed(1) then break end
        MoveMouseRelative(0*mult, 12*mult)Sleep(10) if not IsMouseButtonPressed(1) then break end
        MoveMouseRelative(0*mult, 13*mult)Sleep(10) if not IsMouseButtonPressed(1) then break end
        MoveMouseRelative(0*mult, 13*mult)Sleep(10) if not IsMouseButtonPressed(1) then break end
        MoveMouseRelative(0*mult, 13*mult)Sleep(10) if not IsMouseButtonPressed(1) then break end
        MoveMouseRelative(0*mult, 13*mult)Sleep(10) if not IsMouseButtonPressed(1) then break end
        MoveMouseRelative(0*mult, 13*mult)Sleep(10) if not IsMouseButtonPressed(1) then break end
        MoveMouseRelative(0*mult, 13*mult)Sleep(10) if not IsMouseButtonPressed(1) then break end
        MoveMouseRelative(0*mult, 13*mult)Sleep(10) if not IsMouseButtonPressed(1) then break end
        MoveMouseRelative(0*mult, 13*mult)Sleep(10) if not IsMouseButtonPressed(1) then break end
        MoveMouseRelative(0*mult, 14*mult)Sleep(10) if not IsMouseButtonPressed(1) then break end
        MoveMouseRelative(0*mult, 14*mult)Sleep(10) if not IsMouseButtonPressed(1) then break end
        MoveMouseRelative(0*mult, 14*mult)Sleep(10) if not IsMouseButtonPressed(1) then break end
        MoveMouseRelative(0*mult, 14*mult)Sleep(10) if not IsMouseButtonPressed(1) then break end
        MoveMouseRelative(0*mult, 14*mult)Sleep(10) if not IsMouseButtonPressed(1) then break end
        MoveMouseRelative(0*mult, 14*mult)Sleep(10) if not IsMouseButtonPressed(1) then break end
        MoveMouseRelative(0*mult, 15*mult)Sleep(10) if not IsMouseButtonPressed(1) then break end
        MoveMouseRelative(0*mult, 15*mult)Sleep(10) if not IsMouseButtonPressed(1) then break end
        MoveMouseRelative(0*mult, 15*mult)Sleep(10) if not IsMouseButtonPressed(1) then break end
        MoveMouseRelative(0*mult, 15*mult)Sleep(10) if not IsMouseButtonPressed(1) then break end
        MoveMouseRelative(0*mult, 15*mult)Sleep(10) if not IsMouseButtonPressed(1) then break end
        MoveMouseRelative(0*mult, 15*mult)Sleep(10) if not IsMouseButtonPressed(1) then break end
        MoveMouseRelative(0*mult, 15*mult)Sleep(10) if not IsMouseButtonPressed(1) then break end
        MoveMouseRelative(0*mult, 15*mult)Sleep(10) if not IsMouseButtonPressed(1) then break end
        MoveMouseRelative(0*mult, 16*mult)Sleep(10) if not IsMouseButtonPressed(1) then break end
        MoveMouseRelative(0*mult, 16*mult)Sleep(10) if not IsMouseButtonPressed(1) then break end
        MoveMouseRelative(0*mult, 16*mult)Sleep(10) if not IsMouseButtonPressed(1) then break end
        MoveMouseRelative(0*mult, 16*mult)Sleep(10) if not IsMouseButtonPressed(1) then break end
        MoveMouseRelative(0*mult, 16*mult)Sleep(10) if not IsMouseButtonPressed(1) then break end
        MoveMouseRelative(0*mult, 16*mult)Sleep(10) if not IsMouseButtonPressed(1) then break end
        MoveMouseRelative(0*mult, 16*mult)Sleep(10) if not IsMouseButtonPressed(1) then break end
        MoveMouseRelative(0*mult, 16*mult)Sleep(10) if not IsMouseButtonPressed(1) then break end
        MoveMouseRelative(0*mult, 16*mult)Sleep(10) if not IsMouseButtonPressed(1) then break end
        MoveMouseRelative(0*mult, 16*mult)Sleep(10) if not IsMouseButtonPressed(1) then break end
        MoveMouseRelative(0*mult, 16*mult)Sleep(10) if not IsMouseButtonPressed(1) then break end
        MoveMouseRelative(0*mult, 16*mult)Sleep(10) if not IsMouseButtonPressed(1) then break end
        MoveMouseRelative(0*mult, 16*mult)Sleep(10) if not IsMouseButtonPressed(1) then break end
        MoveMouseRelative(0*mult, 16*mult)Sleep(10) if not IsMouseButtonPressed(1) then break end
        MoveMouseRelative(0*mult, 16*mult)Sleep(10) if not IsMouseButtonPressed(1) then break end
        MoveMouseRelative(0*mult, 16*mult)Sleep(10) if not IsMouseButtonPressed(1) then break end
        MoveMouseRelative(0*mult, 16*mult)Sleep(10) if not IsMouseButtonPressed(1) then break end
        MoveMouseRelative(0*mult, 16*mult)Sleep(10) if not IsMouseButtonPressed(1) then break end
        MoveMouseRelative(0*mult, 16*mult)Sleep(10) if not IsMouseButtonPressed(1) then break end
        MoveMouseRelative(0*mult, 16*mult)Sleep(10) if not IsMouseButtonPressed(1) then break end
        MoveMouseRelative(0*mult, 16*mult)Sleep(10) if not IsMouseButtonPressed(1) then break end
        MoveMouseRelative(0*mult, 16*mult)Sleep(10) if not IsMouseButtonPressed(1) then break end
        MoveMouseRelative(0*mult, 16*mult)Sleep(10) if not IsMouseButtonPressed(1) then break end
        MoveMouseRelative(0*mult, 16*mult)Sleep(10) if not IsMouseButtonPressed(1) then break end
        MoveMouseRelative(0*mult, 16*mult)Sleep(10) if not IsMouseButtonPressed(1) then break end
        MoveMouseRelative(0*mult, 16*mult)Sleep(10) if not IsMouseButtonPressed(1) then break end
    until not IsMouseButtonPressed(1) 
end
end

您的鼠标移动模拟应该在一个合理的范围内。
人类在 10 毫秒内移动鼠标光标的速度超过 100 像素是非常不现实的。

MoveMouseRelative 只接受 -127..127
范围内的整数 在你的情况下 16*mult = 16*11 = 176 > 127
高于 127 的值可能会被解释为负值。