Eu tenho um trackball (Logitech Trackman Marble neste caso, embora isso possa se aplicar a qualquer mouse ou dispositivo apontador) onde gostaria de usar um dos botões como um clique do meio quando clico nele, mas para acionar a ação de rolagem quando eu segure-o e mova a bola.
Eu poderia fazer isso facilmente no Linux configurando o modificador de rolagem na configuração do X, mas o driver que vem com o trackball (Logitech) permite apenas um ou outro. Existe alguma maneira de configurar isso no Windows 8?
Responder1
O controle do botão X-Mouse deve funcionar. http://www.highrez.co.uk/downloads/XMouseButtonControl.htm Você só precisa definir um dos botões para "Alterar movimento para rolar". A maneira como funciona com o mouse é segurar o botão e mover o mouse para rolar a página em vez de mover o ponteiro. Deve funcionar da mesma maneira para um trackball.
Responder2
Roda do mouse de mármore
- Baixe a roda do mouse de mármore (http://marble-mouse-scroll-wheel.software.informer.com/download)
- Ignore ou cancele os anúncios, baixe apenas mármoreinst.exe
- Após a instalação execute-o em modo de compatibilidade para Windows 7.
- Defina Voltar (Button4) como botão de rolagem.
Pergaminho de Mármore
Executável semelhante, local diferente:
Responder3
Acabei de comprar um mouse Logitech Marble e também tive problemas de rolagem. Então fiz esse 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 retroceder 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
Responder4
Acabei de instalar isso no Windows 10 e está funcionando muito bem: https://github.com/Seelge/TrackballScroll
Trackball Logitech TrackMan Marble