如何在 LUA 中为 Logitech 鼠标按钮编写切换宏
How to program a toggle macro in LUA for Logitech Mouse button
我是 Lua 语言的新手,只想为 Logitech 鼠标按钮编写一个宏,所需的操作是:按下按钮开始并连续循环宏,直到我通过按下再次按钮。
我知道 post 有一个类似的问题是:
。但是我很难 运行 他们的示例代码。有两个问题:
1,我可以通过按下按钮 5 来启动循环,但是 while 循环只能通过按住按钮 5 来继续。我怎样才能设置 while 循环继续只按下 1 次然后释放?
2、再按5号键不会中断重复循环。它仍然保持 运行ning 连续。
我也试过这个代码
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
我是 Lua 语言的新手,只想为 Logitech 鼠标按钮编写一个宏,所需的操作是:按下按钮开始并连续循环宏,直到我通过按下再次按钮。
我知道 post 有一个类似的问题是:
我也试过这个代码
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