Modificador de desplazamiento para mouse/trackball en Windows

Modificador de desplazamiento para mouse/trackball en Windows

Tengo una bola de seguimiento (Logitech Trackman Marble en este caso, aunque esto podría aplicarse a cualquier mouse o dispositivo señalador) donde me gustaría usar uno de los botones como clic central cuando hago clic en él, pero para activar la acción de desplazamiento cuando lo hago. mantenlo presionado y mueve la pelota.

Podría hacer esto con bastante facilidad en Linux configurando el modificador de desplazamiento en la configuración X, pero el controlador que viene con el trackball (Logitech) solo permite uno u otro. ¿Hay alguna manera de configurar esto en Windows 8?

Respuesta1

El control del botón X-Mouse debería funcionar. http://www.highrez.co.uk/downloads/XMouseButtonControl.htm Sólo necesita configurar uno de los botones para "Cambiar movimiento para desplazarse". La forma en que funciona con mi mouse es que mantengo presionado el botón y luego, al mover el mouse, se desplaza la página en lugar de mover el puntero. Debería funcionar de la misma manera para una trackball.

Respuesta2

Rueda de ratón de mármol

Rollo de mármol

Ejecutable similar, ubicación diferente:

Respuesta3

Acabo de adquirir un mouse Logitech Marble y también tuve el problema del desplazamiento. Así que hice este script en AutoHotKey. El botón X izquierdo permite el desplazamiento, lo que significa que mientras estás abajo puedes desplazarte vertical y horizontalmente con la bola, y avanzar y retroceder en el navegador con los botones izquierdo y derecho. El botón X derecho tiene la misma acción que el botón central.

Estoy en 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

Respuesta4

Acabo de instalar esto en Windows 10 y está funcionando muy bien: https://github.com/Seelge/TrackballScroll

Trackball de mármol Logitech TrackMan

información relacionada