如何在Logitech G Hub中编写Lua自动点击宏?修改按键1后失效求助
Logitech G Hub Lua自动点击宏制作及触发键问题解决
触发键改为鼠标左键失效的解决方案
把触发键改成鼠标左键(arg=1)后失效,核心问题是脚本里的PressAndReleaseMouseButton(1)会模拟左键点击,触发相同的MOUSE_BUTTON_PRESSED事件,导致逻辑陷入循环冲突,同时物理按键的按下状态会被模拟操作干扰,IsMouseButtonPressed(1)的判断不准确。
修改后的可用代码:
EnablePrimaryMouseButtonEvents(true) local is_running = false -- 用状态变量避免重复触发 function OnEvent(event, arg) -- 处理物理左键按下事件 if event == "MOUSE_BUTTON_PRESSED" and arg == 1 and not is_running then is_running = true repeat MoveMouseRelative(0, 10) Sleep(15) -- 临时禁用主鼠标按钮事件,避免模拟点击触发新事件 EnablePrimaryMouseButtonEvents(false) PressAndReleaseMouseButton(1) EnablePrimaryMouseButtonEvents(true) Sleep(15) until not IsMouseButtonPressed(1) is_running = false end end
代码关键点说明:
- 新增
is_running状态变量,防止物理按键按下时重复触发脚本逻辑 - 在模拟左键点击前后临时禁用主鼠标按钮事件,避免模拟操作触发新的事件干扰循环判断
- 循环结束后重置状态变量,保证下次按键能正常触发
在Logitech G Hub中制作Lua自动点击宏的通用步骤
- 打开Logitech G Hub,进入目标鼠标的「宏」设置界面
- 点击「创建宏」,选择「Lua脚本」类型
- 将编写好的Lua代码粘贴到脚本编辑框
- 保存宏后,将其绑定到对应的按键/鼠标按钮(绑定左键时需参考上面的代码处理冲突)
- 测试:按下绑定按键,检查自动点击和移动逻辑是否正常执行
内容的提问来源于stack exchange,提问作者Сиеста Соб
相关产品推荐
相关产品推荐

