Lua 键盘/鼠标宏 - 松开键后停止

早上好,

我为我的鼠标录制了一份 Logitech 游戏软件的宏,它是键盘按键、左键单击和延迟的组合,它能够很好地工作。它设置为只要我按下鼠标按钮就重复执行。

然而,我所遇到的问题是,一旦我松开按钮,它并没有立即停止。它会完成顺序然后停止。

我没有任何 Lua 编程经验,但搜索了一些信息和代码,看起来像是这样:

local flag

function OnEvent(event, arg)
   if event == "MOUSE_BUTTON_PRESSED" and arg == 5 then
      flag = not flag
      if flag then
         repeat
            -----------------------
            -- 这里是你的操作
            OutputLogMessage("repeat\n")
            Sleep(1000)
            -----------------------
            Sleep(15)
            local prev_flag = flag
            flag = IsMouseButtonPressed(5)
         until not prev_flag and flag
      end
   end
end

但如果我理解正确的话,它如果我松开鼠标按钮时不会中断代码,它只是不再循环执行。举个例子,如果代码依次按下 1、2、3、4、5,而我在按下 3 时松开按钮...我不想它执行 4 和 5 - 如果有意义的话。

我非常感谢你的帮助。

谢谢!

Tri

原文链接 https://stackoverflow.com/questions/69073630

点赞
stackoverflow用户1847592
stackoverflow用户1847592

创建一个宏,它是键盘按键、鼠标左键点击和延迟的组合体。

我假设你的宏的名称是MY_LOOP

将宏的类型设置为“切换”。

不要将宏绑定到任何按键。

function OnEvent(event, arg)
   if event == "MOUSE_BUTTON_PRESSED" and arg == 20 then
      PlayMacro("MY_LOOP")
   end
   if event == "MOUSE_BUTTON_RELEASED" and arg == 20 then
      AbortMacro()
   end
end

此宏在按下MB#20时起作用。

2021-09-08 11:43:03