结合击键和鼠标点击的罗技脚本
Logitech scripting combining keystroke and mouse click
我正在尝试制作一个脚本,当我同时按住左控制键和鼠标左键时,它会重复单击鼠标左键
这是我目前拥有的:
function OnEvent(event, arg, family)
OutputLogMessage("clicked event = %s, arg = %s\n", event, arg);
if event == "MOUSE_BUTTON_PRESSED" and arg == 1 and Ctrl_Down == 1 then
repeat
PressMouseButton(1) //repeat while the left mouse button down
until not PressMouseButton(1)
else ReleaseMouseButton(3) //stop the repating on left mouse button up
end
end
请注意,这是我第一次查看此类编码,非常感谢任何帮助
api.
可能无法满足您的具体需求
当您调用 PressMouseButton(1)
时,这会更改鼠标左键的状态。当您调用 ReleaseMouseButton(1)
时,即使您仍在按下按钮,情况也是如此,脚本会将其视为已发布。这意味着您不能使用 IsMouseButtonPressed(1)
来检测按钮是否仍被按下。
要创建 "click",您需要使用 PressAndReleaseMouseButton(1)
,这样您就无法再检测到 您 何时停止按下鼠标按钮。作为替代方案,您可以使用 IsModifierPressed("ctrl")
.
查看 ctrl 键并查看它是否仍被按下
在检测到按住 ctrl 的左键单击后,应重复以下操作,并且仅在松开 ctrl 后才结束:
function OnEvent(event, arg, family)
OutputLogMessage("clicked event = %s, arg = %s\n", event, arg);
if event == "MOUSE_BUTTON_PRESSED" and arg == 1 and Ctrl_Down == 1 then
repeat
PressAndReleaseMouseButton(1) --repeat while the ctrl is still pressed
until not IsModifierPressed("ctrl")
end
end
此信息基于罗技G系列LuaAPIV3.02.
首先,您必须定义EnablePrimaryMouseButtonEvents()
以启用鼠标按钮1的事件报告
为了避免无限循环,你必须输入 sleep()
;
Press left control key then left mouse button it will repeat the click
until you release the left mouse button then release left control key
the script should be stopped
你的最终代码应该是这样的:
EnablePrimaryMouseButtonEvents(true);
function OnEvent(event, arg)
if IsModifierPressed("lctrl") then
repeat
if IsMouseButtonPressed(1) then
repeat
PressMouseButton(1)
Sleep(15)
ReleaseMouseButton(1)
until not IsMouseButtonPressed(1)
end
until not IsModifierPressed("lctrl")
end
end
我正在尝试制作一个脚本,当我同时按住左控制键和鼠标左键时,它会重复单击鼠标左键
这是我目前拥有的:
function OnEvent(event, arg, family)
OutputLogMessage("clicked event = %s, arg = %s\n", event, arg);
if event == "MOUSE_BUTTON_PRESSED" and arg == 1 and Ctrl_Down == 1 then
repeat
PressMouseButton(1) //repeat while the left mouse button down
until not PressMouseButton(1)
else ReleaseMouseButton(3) //stop the repating on left mouse button up
end
end
请注意,这是我第一次查看此类编码,非常感谢任何帮助
api.
可能无法满足您的具体需求当您调用 PressMouseButton(1)
时,这会更改鼠标左键的状态。当您调用 ReleaseMouseButton(1)
时,即使您仍在按下按钮,情况也是如此,脚本会将其视为已发布。这意味着您不能使用 IsMouseButtonPressed(1)
来检测按钮是否仍被按下。
要创建 "click",您需要使用 PressAndReleaseMouseButton(1)
,这样您就无法再检测到 您 何时停止按下鼠标按钮。作为替代方案,您可以使用 IsModifierPressed("ctrl")
.
在检测到按住 ctrl 的左键单击后,应重复以下操作,并且仅在松开 ctrl 后才结束:
function OnEvent(event, arg, family)
OutputLogMessage("clicked event = %s, arg = %s\n", event, arg);
if event == "MOUSE_BUTTON_PRESSED" and arg == 1 and Ctrl_Down == 1 then
repeat
PressAndReleaseMouseButton(1) --repeat while the ctrl is still pressed
until not IsModifierPressed("ctrl")
end
end
此信息基于罗技G系列LuaAPIV3.02.
首先,您必须定义EnablePrimaryMouseButtonEvents()
以启用鼠标按钮1的事件报告
为了避免无限循环,你必须输入 sleep()
;
Press left control key then left mouse button it will repeat the click until you release the left mouse button then release left control key the script should be stopped
你的最终代码应该是这样的:
EnablePrimaryMouseButtonEvents(true);
function OnEvent(event, arg)
if IsModifierPressed("lctrl") then
repeat
if IsMouseButtonPressed(1) then
repeat
PressMouseButton(1)
Sleep(15)
ReleaseMouseButton(1)
until not IsMouseButtonPressed(1)
end
until not IsModifierPressed("lctrl")
end
end