Lua logitech 鼠标 180/360 度旋转

正如标题所说,我正在努力弄清如何让这段被窃取的代码工作:p

function OnEvent(event, arg)
  OutputLogMessage("事件 = %s, 参数 = %d\n", event, arg)
  if (event == "PROFILE_ACTIVATED") then
    EnablePrimaryMouseButtonEvents(true)
  elseif event == "PROFILE_DEACTIVATED" then
    ReleaseMouseButton(5) -- 防止卡住
  end
  if (event == "MOUSE_BUTTON_PRESSED" and arg == 3) then
    recoil = not recoil
    spot = not spot
  end

  if (event == "MOUSE_BUTTON_PRESSED" and arg == 5 and recoil) then
    if recoil then
      repeat
        Sleep(1)
        MoveMouseRelative(-400, 0)
        Sleep(1)
      until not IsMouseButtonPressed(5)
    end
  end
end

无论我添加多少睡眠时间,我都无法让它按我想要的方式工作:我想在使命召唤中进行单次按像素完美的旋转,而不必按住 mb5 按钮才能转动。

点赞
用户653690
用户653690

当您按住mb5时,每2秒钟,该行代码会执行:

MoveMouseRelative(-400,0)

我想问题在于将鼠标移动-400像素并不完全等同于旋转180度,正确的数字可能因每个人的鼠标灵敏度设置而异。

您可以尝试一些不同的数字,而不是-400,看看它是否更像您想要的。

2020-01-15 11:43:16
用户1847592
用户1847592
function OnEvent(event, arg)
   OutputLogMessage("event = %s, arg = %d\n", event, arg)  # 输出日志
   if (event == "PROFILE_ACTIVATED") then # 如果激活了啥的
      EnablePrimaryMouseButtonEvents(true) # 开启鼠标主按钮事件
   end
   if (event == "MOUSE_BUTTON_PRESSED" and arg == 3) then # 如果按下滚轮
      recoil = not recoil # 添加与移除后坐力
      spot = not spot # 切换散射理论
   end
   if (event == "MOUSE_BUTTON_PRESSED" and arg == 5 and recoil) then # 如果按下鼠标正侧键并且后坐力生效
      local distance = 400  -- 调整此值
      while distance > 0 do # 当距离大于0, 设置delta值和延迟时间
         local delta = math.min(100, distance)
         distance = distance - delta
         MoveMouseRelative(-delta, 0) # 鼠标向左运动
         Sleep(15) # 等待
      end
   end
end  
2020-01-15 11:44:06
用户14200880
用户14200880
MoveAmount = -400
function OnEvent(event, arg)
  OutputLogMessage("event = %s, arg = %d\n", event, arg)
  if (event == "PROFILE_ACTIVATED") then
    EnablePrimaryMouseButtonEvents(true)
  elseif event == "PROFILE_DEACTIVATED" then
    ReleaseMouseButton(4) -- 防止鼠标按键卡住不动

  end



  if (event == "MOUSE_BUTTON_PRESSED" and arg == 4) then
    for x=1,10,1
    do
        MoveMouseRelative(MoveAmount, 0)
        Sleep(5)

    end



  end
end
2020-09-01 06:56:36