首页 > 解决方案 > 罗技脚本帮助 - 鼠标左键切换

问题描述

我正在尝试修复我的脚本,所以当我按下鼠标按钮 4 时,它会切换按住鼠标左键,如果我在切换期间按下鼠标左键,它将单击然后继续按住鼠标左键,除非我切换它用鼠标按钮 4 关闭。

toggle_button = 4 -- What mouse button should control the toggle
button_to_toggle = 1 -- What mouse button to toggle
toggle = false
EnablePrimaryMouseButtonEvents(true)
function OnEvent(event, arg)
    if (event == "MOUSE_BUTTON_PRESSED" and arg == toggle_button) then
        toggle = not toggle
            OutputLogMessage("Mouse %d toggled %s \n", button_to_toggle, tostring(toggle))
    elseif toggle and (event == "MOUSE_BUTTON_PRESSED" and arg == 1) then
            OutputLogMessage("Mouse 1 pressed \n")
        PressAndReleaseMouseButton(1)
        elseif toggle then
            PressMouseButton(button_to_toggle)
        else
            ReleaseMouseButton(button_to_toggle)
        end
end

出于某种原因,我的脚本很有效。切换期间的鼠标左键有时会起作用,但大多数时候不会重新启用鼠标 1 切换。如何清理和修复我的脚本?

标签: lualogitechlogitech-gaming-software

解决方案


步骤 1.
您将要修改鼠标左键的行为。
这是一个潜在的危险操作:没有 LMB,您几乎无法在计算机上执行任何操作。
所以你必须创建一个“备用 LMB”。
例如,如果你不使用 Mouse Button 8,你可以让它在 LMB 上表现得像一个克隆。
转到 LGS 中的大鼠标图片并将命令“左键单击”分配给您的物理 MB#8。
现在,如果出现问题并且您的 LMB 停止工作,您可以按 MB#8 而不是 LMB。


步骤 2.
转到 LGS 中的大鼠标图片。
从物理 MB#1 取消分配标准命令“左键单击”(从下拉菜单中选择“取消分配”)。
您将看到有关潜在危险操作的警告。
允许此操作,因为如果出现问题,您有“备用 LMB”。


第 3 步。
您的 MB#1 现在无法工作(直到您保存了脚本),所以在 LGS GUI 中使用 MB#8 而不是 MB#1。
设置脚本:

local pressed

function OnEvent(event, arg)
   if event == "PROFILE_ACTIVATED" then
      EnablePrimaryMouseButtonEvents(true)
   elseif event == "PROFILE_DEACTIVATED" then
      ReleaseMouseButton(1)
   elseif event == "MOUSE_BUTTON_PRESSED" and arg == 4 
   or (event == "MOUSE_BUTTON_PRESSED" or event == "MOUSE_BUTTON_RELEASED") and arg == 1 then
      pressed = not pressed
      ;(pressed and PressMouseButton or ReleaseMouseButton)(1)
   end
end

推荐阅读