【问题标题】:Instantly abort Lua Script Logitech GHUB "on releasebutton"立即中止 Lua 脚本 Logitech GHUB “on releasebutton”
【发布时间】:2020-03-12 03:02:41
【问题描述】:

大家好,我最近开始尝试为 Logitech GHUB 编写一些简单的 Lua 脚本。 我终于让他们按照我喜欢的方式工作,但我在这个方面遇到了麻烦。当我释放 Mouse5 时,它不会立即停止,而是会继续执行脚本直到结束。但是,如果我释放鼠标 5,我希望它立即停止。我该怎么做?

function OnEvent(event, arg)
  if event == "MOUSE_BUTTON_PRESSED" and arg == 5 then
    repeat
      Sleep(40)
      PressMouseButton(1)
      Sleep(1150)
      ReleaseMouseButton(1)
    until not IsMouseButtonPressed(5)
  end
end

感谢您的帮助:-)

【问题讨论】:

  • 嘿,它工作正常,但我希望脚本在我释放按钮时立即停止。现在它将继续执行到最后。例如,如果我释放 Button 5,它将继续拍摄...

标签: lua logitech logitech-gaming-software


【解决方案1】:
function OnEvent(event, arg)
  if event == "MOUSE_BUTTON_PRESSED" and arg == 5 then
    repeat
      Sleep(40)
      PressMouseButton(1)
      local tm = GetRunningTime()
      local exiting
      repeat
        Sleep(50)
        exiting = not IsMouseButtonPressed(5)
      until exiting or GetRunningTime() - tm > 1150
      ReleaseMouseButton(1)
    until exiting
  end
end

【讨论】:

  • 这就像一个魅力!非常感谢你帮我解决这个问题!!!!
  • 哦,顺便说一句。您是否知道我如何将其绑定到鼠标 7 按钮?因为它无法识别“IsMouseButtonPressed (7),因为我认为只有 1-5 以这种方式工作......
  • @PeterLustig - 您可以制作一个循环宏(用于按下和释放 LMB),在 Button7 按下时运行此宏,并在 Button7 释放时中止此宏。
  • 我如何制作一个在发布时中止的宏?
  • @PeterLustig - if event == "MOUSE_BUTTON_PRESSED" and arg == 7 then PlayMacro("YourMacroName") end; if event == "MOUSE_BUTTON_RELEASED" and arg == 7 then AbortMacro(); ReleaseMouseButton(1) end
猜你喜欢
  • 2021-03-16
  • 2021-11-12
  • 2021-04-04
  • 2021-09-15
  • 2021-09-12
  • 1970-01-01
  • 1970-01-01
  • 2023-01-03
  • 2010-12-09
相关资源
最近更新 更多