使用轨迹球滚动、缩放等

使用轨迹球滚动、缩放等

我有一个 Logitech Marble 轨迹球(顺便说一句,它很棒)。通过将其中一个额外按钮设置为“鼠标中键”,当我单击它时,许多应用程序(如浏览器)将启动“滚动模式”,这样移动轨迹球就会上下滚动。大多数情况下,这已经足够了,但我认为如果我可以有几种“模式”来执行缩放、平移、旋转(特别是在 GIMP 中)等不同操作,那就更酷了。然后,当我按住 CTRL、CTRL+SHIFT 或类似键时,它将进入新模式,轨迹球的行为也会有所不同。

我发现了一些类似的问题,它们建议使用 AutoHotKey,但我没有找到执行此操作的示例脚本,也没有找到在 AHK 中跟踪鼠标移动的方法。有什么提示吗?

滚轮热键

解决无滚轮轨迹球的问题?

谢谢!

答案1

经过一段时间的折腾,我终于想出了这个效果很好的脚本。按住 CapsLock 进入“鼠标滚轮”模式。也可以按住 CapsLock+Ctrl 来获得其他行为(如缩放),具体取决于应用程序。该脚本需要不断重置鼠标位置以使其保持在屏幕上,因此它会在模式持续时间内隐藏光标(抓住光标隐藏脚本也)。

CoordMode, Mouse, Screen

*CapsLock:: 
    MouseGetPos, xposinit, yposinit
    xposlast := xposinit
    yposlast := yposinit

    SystemCursor("Off")

    SetTimer, ButtonHold, 10
    KeyWait, CapsLock
    SetTimer, ButtonHold, off

    MouseMove, xposinit, yposinit, 0
    SystemCursor("On")

    Return

    ButtonHold:
        MouseGetPos, xpos, ypos

        if (ypos > yposlast) {
            MouseClick, WheelDown
        } else if (ypos < yposlast) {
            MouseClick, WheelUp
        }

        MouseMove, xposlast, yposlast, 0

相关内容