Windows 中鼠标/轨迹球的滚动修改器

Windows 中鼠标/轨迹球的滚动修改器

我有一个轨迹球(在本例中为 Logitech Trackman Marble,尽管这可以适用于任何鼠标或指点设备),当我单击它时,我想使用其中一个按钮作为鼠标中键单击,但当我按住它并移动球时触发滚动动作。

我可以在 Linux 中通过在 X 配置中设置 scroll-modifier 来轻松完成此操作,但轨迹球 (Logitech) 附带的驱动程序仅允许其中一个。有没有办法在 Windows 8 中设置它?

答案1

X-Mouse 按钮​​控制应该可以工作。 http://www.highrez.co.uk/downloads/XMouseButtonControl.htm 您只需将其中一个按钮设置为“将移动改为滚动”。它对我的鼠标的作用方式是,我按住按钮,然后移动鼠标会滚动页面,而不是移动指针。它对轨迹球的作用方式应该相同。

答案2

大理石鼠标滚轮

大理石卷轴

类似的可执行文件,不同的位置:

答案3

我刚买了一个 Logitech Marble 鼠标,也遇到了滚动问题。所以我在 AutoHotKey 上编写了这个脚本。左侧 Xbutton 可以滚动,这意味着按下时,您可以用球垂直和水平滚动,并使用左右按钮在浏览器中向前和向后移动。右侧 Xbutton 具有与中间按钮相同的操作。

我在 Windows 7 上。

#SINGLEINSTANCE FORCE  
GLOBAL status := "basic"
GLOBAL cnt_x
GLOBAL cnt_y

XButton2::MButton

$*XButton1::
    status := "scroll"
    cnt_x := 0
    cnt_y := 0
    MOUSEGETPOS, st_x, st_y
    SETTIMER, _scroll, 30
RETURN

$*XButton1 UP::
    status := "basic"
    SETTIMER, _scroll, OFF
RETURN

_scroll:
    MOUSEGETPOS, cur_x, cur_y
    MOUSEMOVE, st_x, st_y

IF(abs(cur_x-st_x) > abs(cur_y-st_y)) {
    cnt_x := cnt_x + (cur_x-st_x)
    ControlGetFocus, control, A 
    IF (cnt_x > 7) {
        cnt := floor(cnt_x / 8)
        LOOP, %cnt% {
            SendMessage, 0x114, 0, 0, %control%, A
        }
        cnt_x := cnt_x - 8*floor(cnt_x / 8)
    } ELSE IF (cnt_x < -7) {
        cnt := -ceil(cnt_x / 8)
        LOOP, %cnt% {
            SendMessage, 0x114, 1, 0, %control%, A
        }
        cnt_x := cnt_x - 8*ceil(cnt_x / 8)
    }
} ELSE {
    IF (cur_y >= st_y) {
        cnt_y := cnt_y + (cur_y-st_y)**1.2
    } ELSE {
        cnt_y := cnt_y -(st_y-cur_y)**1.2
    }   
    IF (cnt_y > 7) {
        cnt := floor(cnt_y / 8)
        LOOP, %cnt% {
            CLICK WheelUp
        }
        cnt_y := cnt_y - 8*floor(cnt_y / 8)
    } ELSE IF (cnt_y < -7) {
        cnt := -ceil(cnt_y / 8)
        LOOP, %cnt% {
            CLICK WheelDown
        }
        cnt_y := cnt_y - 8*ceil(cnt_y / 8)
    }
}   
RETURN

$*LButton::
    IF (status = "basic") {
        CLICK DOWN Left
    } ELSE IF (status = "scroll") {
        SEND {Browser_Back}
    }
RETURN

$*LButton UP::
    IF (status = "basic") {
        CLICK UP Left
    }
RETURN

$*RButton::
    IF (status = "basic") {
        CLICK DOWN Right
    } ELSE IF (status = "scroll") {
        SEND {Browser_Forward}
    }
RETURN

$*RButton UP::
    IF (status = "basic") {
        CLICK UP Right
    }
RETURN

答案4

我刚刚在 Windows 10 上安装了它,并且运行良好: https://github.com/Seelge/TrackballScroll

罗技 TrackMan Marble 轨迹球

相关内容