无法通过G600鼠标为G13切换SetMkeyState,绑定按键无响应求助
解决方案与问题排查
首先,你的代码存在两个核心问题:
- 仅处理了G18按键,且绑定的是M2(
SetMKeyState(2,"lhc")),不符合你G18绑定M1的需求 - 完全缺失G19、G20按键的处理逻辑
以下是修正后的完整代码,实现你要求的三个按键绑定:
function OnEvent(event, arg) -- G18绑定M1为"lhc"状态 if event == "G_PRESSED" and arg == 18 then SetMKeyState(1, "lhc") end -- G19绑定M2为"lhc"状态 if event == "G_PRESSED" and arg == 19 then SetMKeyState(2, "lhc") end -- G20绑定M3为"lhc"状态 if event == "G_PRESSED" and arg == 20 then SetMKeyState(3, "lhc") end end
如果替换代码后仍无反应,按以下步骤排查:
- 确认按键编号:部分Logitech设备的G键编号可能存在差异,可添加日志调试确认触发的事件和参数:
查看Logitech软件的日志窗口,按下G18/G19/G20时是否有对应输出。function OnEvent(event, arg) OutputLogMessage("Event: %s, Arg: %d\n", event, arg) -- 原有绑定逻辑... end - 检查软件设置:确保在Logitech G HUB或LGS中,已启用该Lua脚本并分配到你的G13设备,且没有其他按键绑定覆盖脚本逻辑。
- 验证M键模式:确认M键的工作模式允许脚本控制,避免硬件模式(如板载内存模式)屏蔽了脚本指令。
内容的提问来源于stack exchange,提问作者Wickedb
相关产品推荐
相关产品推荐

