Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/lua/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在LUA中为Logitech鼠标按钮编程切换宏_Lua_Macros_Mouseevent_Logitech_Logitech Gaming Software - Fatal编程技术网

如何在LUA中为Logitech鼠标按钮编程切换宏

如何在LUA中为Logitech鼠标按钮编程切换宏,lua,macros,mouseevent,logitech,logitech-gaming-software,Lua,Macros,Mouseevent,Logitech,Logitech Gaming Software,我是Lua语言的新手,只想为Logitech鼠标按钮编程一个宏,所需的操作是:按下按钮启动并连续循环宏,直到我再次按下按钮将其关闭 我知道一个类似的问题被贴到了: . 但是我很难运行他们的示例代码。有两个问题: 1,我可以通过按下按钮5启动循环,但while循环只能通过按住按钮5继续。我如何设置while循环,只需按一次就可以继续,然后释放? 2、再次按下按钮5时,重复循环不会中断。它仍然持续运行 我也试过这个代码 script_running = false function OnEvent(

我是Lua语言的新手,只想为Logitech鼠标按钮编程一个宏,所需的操作是:按下按钮启动并连续循环宏,直到我再次按下按钮将其关闭

我知道一个类似的问题被贴到了: . 但是我很难运行他们的示例代码。有两个问题: 1,我可以通过按下按钮5启动循环,但while循环只能通过按住按钮5继续。我如何设置while循环,只需按一次就可以继续,然后释放? 2、再次按下按钮5时,重复循环不会中断。它仍然持续运行

我也试过这个代码

script_running = false
function OnEvent(event, arg)
    if event == "MOUSE_BUTTON_PRESSED" and arg == 5 then
        if script_running then
            script_running = false
            return
        else
            script_running = true
        end
        repeat
            OutputLogMessage("repeat\n")
            Sleep(3000)
        until not script_running
        OutputLogMessage("end\n")
    end
end
重复循环仍然无法停止

有人能给出一些成熟的代码示例吗?多谢各位

local flag

function OnEvent(event, arg)
   if event == "MOUSE_BUTTON_PRESSED" and arg == 5 then
      flag = not flag
      if flag then
         repeat
            -----------------------
            -- your actions here 
            OutputLogMessage("repeat\n")
            Sleep(1000)
            -----------------------
            Sleep(15)
            local prev_flag = flag
            flag = IsMouseButtonPressed(5)
         until not prev_flag and flag
      end
   end
end