Logitech G Hub Lua脚本:实现任意左右键按压序列触发需求
修改Logitech G Hub Lua脚本支持任意左右键按压序列触发
原脚本仅能在先按住右键再按下左键时触发逻辑,要支持任意按压顺序(先左键后右键,或先右键后左键),需要同时监听左右键的按下事件,并在任意一个键按下时检查另一个键是否已处于按住状态。
修改后的脚本如下:
function OnEvent(event, arg) -- 配置激活时启用主键事件监听 if event == "PROFILE_ACTIVATED" then EnablePrimaryMouseButtonEvents(true) end -- 监听左键或右键按下事件 if event == "MOUSE_BUTTON_PRESSED" and (arg == 1 or arg == 3) then -- 检查两个键是否同时被按住,满足则持续执行移动 while IsMouseButtonPressed(1) and IsMouseButtonPressed(3) do MoveMouseRelative(1, 1) Sleep(10) -- 添加短暂延迟降低CPU占用 end end end
逻辑说明:
- 同时监听左键(
arg=1)和右键(arg=3)的按下事件,只要其中一个键被触发,就进入循环判断。 - 循环条件改为两个键同时处于按住状态,只要满足就持续执行鼠标移动操作。
- 添加
Sleep(10)是为了避免脚本持续高频运行导致CPU占用过高。 - 当任意一个键被松开时,循环自动终止,停止鼠标移动。
这样不管是先按左键再按右键,还是先按右键再按左键,只要两个键同时按住,脚本就会触发对应的鼠标移动逻辑。
内容的提问来源于stack exchange,提问作者Danil Kravchenko
相关产品推荐
相关产品推荐

