lua - 罗技脚本帮助 - 鼠标左键切换
问题描述
我正在尝试修复我的脚本,所以当我按下鼠标按钮 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 切换。如何清理和修复我的脚本?
解决方案
步骤 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
推荐阅读
- c - 缓存提供的空间局部性是指虚拟内存、物理内存还是两者兼而有之?
- python - 互信息的Tensorflow成对自定义损失
- r - R中与p值的多变量相关性
- angular - Angular惰性路由忽略父路径
- python - 如何简化 SSL DNS 验证?
- vidyo - 在 Vidyo.io 上使用 Vidyo Screen Share Chrome 扩展程序共享屏幕时出现问题
- c# - 从另一个项目组装
- angular - 初始化前的Angular 2路由器`NavigationEnd`事件
- sql - 是否可以在不使用数据透视函数的情况下对表格进行透视?
- react-admin - React-Admin 2.4.0 构建问题