Modificador de rolagem para mouse / trackball no windows

1

Eu tenho um trackball (Logitech Trackman Marble, neste caso, embora isso possa se aplicar a qualquer mouse ou dispositivo apontador) onde eu gostaria de usar um dos botões como um clique do meio quando eu clico nele, mas para acionar a rolagem ação quando eu segurá-lo e mover a bola ao redor.

Eu poderia fazer isso com bastante facilidade no Linux, definindo o modificador de rolagem na configuração X, mas o driver que acompanha o trackball (Logitech) permite apenas um ou outro. Existe alguma maneira de configurá-lo no Windows 8?

    
por askvictor 02.11.2012 / 07:07

3 respostas

5

O controle de botão do X-Mouse deve funcionar. link Você só precisa definir um dos botões para "Alterar movimento para rolar". A maneira como funciona com o meu mouse é que eu mantenho o botão, em seguida, movendo o mouse rola a página em vez de mover o ponteiro. Deve funcionar da mesma maneira para um trackball.

    
por 10.11.2012 / 20:17
1

Roda Do Rato De Mármore

  • Faça o download da roda do mouse em mármore ( link )
  • Ignore ou cancele os anúncios, baixe apenas marbleinst.exe
  • Após a instalação, execute-o no modo de compatibilidade do Windows 7.
  • Set Back (Button4) como botão de rolagem.

Pergaminho em Mármore

Similar executável, localização diferente:

por 30.07.2014 / 23:50
0

Acabei de adquirir um mouse Logitech Marble e também tive o problema de rolagem. Então eu fiz este script no AutoHotKey. O botão X esquerdo permite a rolagem, o que significa que, enquanto estiver para baixo, você pode rolar vertical e horizontalmente com a bola, e avançar e voltar no navegador com os botões esquerdo e direito. O botão X direito tem a mesma ação que o botão do meio.

Estou no 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
    
por 11.07.2015 / 10:14