remédio para um trackball sem roda de rolagem?

26

Estou pensando em comprar um trackball e minha opção é o mármore trackman da Logitech. Mas então descobri que não há roda de rolagem. Como você lida com isso? Eu definitivamente quero comprar um trackball com roda de rolagem? Eu rodo muito usando o facebook.

Eu não quero clicar com o meu índice e o dedo do meio, então alguns mouses trackball não funcionarão para mim, como o Trackman Wheel.

    
por lamwaiman1988 29.06.2011 / 03:14

15 respostas

13

Se você estiver no Windows, eu sugiro testar o AutoHotKey, outros usuários já abordaram a rolagem com o Marble Mouse (usei o script na parte inferior):

link

A solução da Logitech que vem com seus drivers é estranha: você clica uma vez para ativar a rolagem em 4 direções e clica novamente para desativá-la. Você não pode segurar e rolar que é o que eu estava depois. Acabei de desinstalar o software deles.

    
por 02.04.2013 / 17:51
9

Eu tenho o mesmo trackball e a solução é muito elegante: quando você clica em um botão escolhido, a própria bola se torna uma roda de rolagem. Eu escolhi o grande botão direito que eu pressiono com o dedo mindinho.

Isso é muito conveniente e leva apenas alguns dias para ser usado.

Você considerará rapidamente que qualquer roda de rolagem (em um mouse ou trackball) é algo inutilizável. Confie em mim, vale a pena;)

Vantagens:

  • rolagem 2D em vez de 1D
  • rolagem mais rápida e precisa do que uma roda
  • mais confortável para rolagem longa (graças à inércia da bola). Perfeito para o seu exemplo no Facebook.

Eu não posso mais viver sem isso.

Configurar isso sob qualquer sistema operacional Linux não é difícil. Apenas requer que você crie um arquivo /etc/X11/xorg.conf (veja minha configuração aqui: Configure um trackball no Linux sem editar o Xorg.conf )

Mais detalhes podem ser encontrados aqui: link

No Windows, não tenho experiência, mas acho que uma ferramenta de configuração é fornecida com o trackball.

    
por 06.01.2012 / 13:52
8

Você pode experimentar a roda de rolagem do mouse em mármore, desenvolvida especialmente para esse mouse:

Marble Mouse Scroll Wheel, or just Marble Scroll, is a small program designed to simulate a scroll wheel on any trackball or mouse without one. It was specifically designed for the Logitech Marble Mouse but can work with any standard mouse or trackball. It is designed for Windows 2000 and up.

Marble Scroll is a replacement for Logitech's Autoscroll and Universal Scroll functions; neither properly emulate a real scroll wheel and both have limitations and flaws.

Marble Scroll works with any mouse or trackball and does not require Logitech's SetPoint or MouseWare drivers to be installed.

Features

  • Add a scroll wheel to any mouse with more than two buttons
  • Compatiblity with most applications that support a scroll wheel (for any type of input)
  • Adjustable acceleration
  • Adjustable scrolling distance (per "step" - see below)
  • Stepped scrolling to simulate a real mouse wheel
  • Quick left/right handed mode switcher
  • Quick enable/disable by clicking on the tray icon
  • Small and light on system resources

O site do produto parece estar inoperante mas aqui está uma cópia do texto do site em Archive.org .

Um link de download está aqui .

    
por 28.08.2013 / 13:55
5

Existe uma alternativa C ++ simples de 100 linhas que é bastante semelhante às soluções AutoHotKey, ou seja

  • enviando eventos de roda de rolagem vertical / horizontal movendo o trackball enquanto segura um dos botões X e
  • clique do meio ao pressionar e soltar um X-Button sem mover o trackball.

link

Editar: versões mais recentes fornecem um ícone systray, funcionam no Windows 10 e são baseadas em C #.

    
por 13.07.2014 / 14:43
4

Aqui está o script AutoHotKey que eu uso. Você rola segurando o botão esquerdo pequeno e rolando a bola para cima / baixo. No entanto, clicar no botão esquerdo pequeno ainda faz BACK. Ele também pode rolar para a esquerda / direita, mas isso era muito sensível para mim, por isso é comentado aqui (o bloco que começa com ;timesX := Abs(movedx) / 4 ).

Eu encontrei a versão original em link . Eu postei minha versão lá como outra pessoa8923.

$*XButton1::
Hotkey, $*XButton1 Up, XButton1up, off
;KeyWait, XButton1, T0.4
;If ErrorLevel = 1
;{
   Hotkey, $*XButton1 Up, XButton1up, on
   MouseGetPos, ox, oy
   SetTimer, WatchTheMouse, 5
   movedx := 0
   movedy := 0
   pixelsMoved := 0
;   TrayTip, Scrolling started, Emulating scroll wheel
;}
;Else
;   Send {XButton1}
return

XButton1up:
Hotkey, $*XButton1 Up, XButton1up, off
SetTimer, WatchTheMouse, off
;TrayTip
If (pixelsMoved = 0)
{
    ;The mouse was not moved, send the click event
    ; (May want to make it PGUP or something)
    Send {XButton1}
    Send {XButton1Up}
}
return

WatchTheMouse:
MouseGetPos, nx, ny
movedx := movedx+nx-ox
movedy := movedy+ny-oy

pixelsMoved := pixelsMoved + Abs(nx-ox) + Abs(ny-oy)

;timesX := Abs(movedx) / 4
;ControlGetFocus, control, A
;Loop, %timesX%
;{
;    If (movedx > 0)
;    {
;        SendMessage, 0x114, 1, 0, %control%, A ; 0x114 is WM_HSCROLL
;        movedx := movedx - 4
;    }
;    Else
;    {
;        SendMessage, 0x114, 0, 0, %control%, A ; 0x114 is WM_HSCROLL
;        movedx := movedx + 4
;    }
;}

timesY := Abs(movedy) / 4
Loop, %timesY%
{
    If (movedy > 0)
    {
        Click WheelDown
        movedy := movedy - 4
    }
    Else
    {
        Click WheelUp
        movedy := movedy + 4
    }
}   

MouseMove ox, oy
return
    
por 24.04.2014 / 18:36
3

É uma pena que a Logitech não tenha implementado uma simulação de roda de rolagem. Seu driver promete um recurso para isso, mas não funciona para todos os aplicativos, tornando-o inútil. Eles estavam tão perto de criar o mouse perfeito! : s

A única solução encontrada é usar um script AutoHotkey para ele. Com ele você pode fazer com que os pequenos botões esquerda / direita rolem para cima e para baixo. Funciona perfeitamente, mas é um incômodo real configurá-lo: você precisará aprender primeiro os conceitos básicos do AutoHotkey. Se você decidir fazer isso, aqui está o meu script AutoHotkey. É uma adaptação do roteiro original de Jerbo . Um único clique começará a rolar em um ritmo normal, mas um clique duplo ou tripple começará a rolar mais rápido.

; This script remaps the two small buttons on a Logitech Trackman® Marble® Mouse
; to act as scroll up and scroll down

global lastXButton1ClickTime := 0
global nrSubsequentXButton1Clicks := 0

ScrollTheWheel(direction, scrollKey)
{
    now := A_TickCount
    timeSinceLastClick := now - lastXButton1ClickTime 
    lastXButton1ClickTime := now
    if (timeSinceLastClick < 300)
    {
        nrSubsequentXButton1Clicks := nrSubsequentXButton1Clicks + 1
    }
    else
    {
        nrSubsequentXButton1Clicks := 1
    }        

    sleepingFraction := 5

    if (nrSubsequentXButton1Clicks <= 1)
        scrollSpeed := 30
    if (nrSubsequentXButton1Clicks == 2)
        scrollSpeed := 15
    if (nrSubsequentXButton1Clicks >= 3)
        scrollSpeed := 5

    timeSlept := scrollSpeed

    loop 
    {
        if (direction == 1) ; Scroll down
        {
            static downKeyState
            if (scrollKey == 0) 
                GetKeyState, downKeyState, XButton1, P
            else
                GetKeyState, downKeyState, PgDn, P

            if downKeyState = U ; The key has been released, so break out of the loop
               break

            if (timeSlept >= scrollSpeed)
            {
                Send {WheelDown}
                timeSlept = 0                
            }
        }
        else ; Scroll up
        {
            static upKeyState
            if (scrollKey == 0)
                GetKeyState, upKeyState, XButton2, P
            else
                GetKeyState, upKeyState, PgUp, P

            if upKeyState = U ; The key has been released, so break out of the loop
               break            

            if (timeSlept >= scrollSpeed)
            {
                Send {WheelUp}
                timeSlept = 0                
            }
        }   

        Sleep, sleepingFraction
        timeSlept := timeSlept + sleepingFraction
    }    
}

XButton2::
    ScrollTheWheel(0, 0)
    return
XButton1::
    ScrollTheWheel(1, 0)
    return
!PgUp::
    ScrollTheWheel(0, 1)
    return
!PgDn::
    ScrollTheWheel(1, 1)
    return
    
por 30.05.2013 / 15:15
2

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 10.07.2015 / 20:02
1

Dependendo do seu sistema operacional, você pode configurar um dos botões para ativar a rolagem, movendo o ponteiro quando pressionado. Por exemplo. o seguinte script habilita isso no botão 10 do meu mouse (o botão "top middle" do Logitech MX310):

#!/bin/sh
xinput set-prop "Logitech USB-PS/2 Optical Mouse" 290 10
xinput set-prop "Logitech USB-PS/2 Optical Mouse" 286 1
xinput set-prop "Logitech USB-PS/2 Optical Mouse" 287 6 7 4 5
    
por 29.06.2011 / 03:36
1

Existem tais ratos de mármore (ratos) que têm uma roda de rolagem incluída. Caso contrário, parece que um aplicativo ou algum script seria necessário para um mouse não rodado, juntamente com o uso de um dos botões para ativar uma função de rolagem (que você anotou em um comentário para outra resposta, não como uma solução aceitável).

Então "Por que reinventar a roda?" é um bom provérbio neste caso.

Nestes exemplos, o elemento é fisicamente instalado e há muitos tipos para escolher. Abaixo estão dois exemplos e estilos.

Oualgoassim: Adesso

    
por 01.09.2013 / 02:48
1

Duas opções não convencionais

  • Use um Apple Magic Trackpad além do trackball. (Esta é a minha solução atual) link

  • Compre um controlador leapmotion e use-o em adição ao trackball. Agite sua mão na frente do dispositivo para rolar para cima e para baixo. link

Créditodaimagem link

    
por 04.09.2013 / 06:07
1

Uma solução simples (e ousada ergonomia, digo eu) é colocar a função de rolagem na sua mão esquerda.

Isso pode ser feito usando um mouse com a mão esquerda / usando um teclado com uma roda de rolagem embutida na borda esquerda / atribuindo funções de rolagem às teclas de um teclado programável com um programa como o Mkey (< href="http://www.seriosoft.org/en/index.php"> link ).

Por que eu acho isso mais ergonômico - porque essa abordagem distribui a tensão de maneira mais uniforme em ambas as mãos. (Mais sobre isso: link ).

    
por 16.09.2014 / 13:34
1

Estou no Windows 7 e usando o Kensington Óbtico Trackball sem rolagem - é um trackball de dois botões, sem os botões X exigidos pela maioria dos scripts e aplicativos do AHK apontados por outras pessoas .

No entanto, o MouseImp está funcionando para mim no Windows7. É configurável, mas eu configurei para right-click + roll para obter uma tela de rolagem. É mais como um arrasto, então o ponteiro se move, e você só tem uma tela por vez [atualização: a taxa de rolagem é configurável, então pode ser mais do que "uma página"].

Ao mesmo tempo, o TrackballWorks do Kensington foi configurado para fornecer me uma rolagem de página para baixo em left-click + right-click . Infelizmente, não é possível voltar para uma página de cada vez (uma ou outra).

Este não é um plug de produto - é apenas o que eu encontrei para trabalhar com este modelo / tipo de trackball .

Ressalva: você está constantemente clicando com a tecla direita e esquerda, o que pode levar a confusões, e links sendo seguidos / js -ativados quando você só quer parar de rolar . ::: suspiro :::

    
por 13.08.2014 / 15:52
1

Acabei de ter um trackball sem fio orbital de kensington, é incrível. Você tem a bola, você tem os dois botões de cada lado e você tem um tipo de círculo fora do trackball que torna possível rolar a página para cima ou para baixo. Ele realmente funciona e estou usando no Windows e no Mac OSX.

    
por 12.02.2015 / 15:51
1

Eu realmente fiz algo para isso usando o AutoHotkey há algum tempo e imaginei que também o compartilharia aqui: Emulador de roda do mouse

Isso emula a rolagem da roda do mouse movendo o mouse enquanto mantém pressionados os botões esquerdo e direito do mouse.

Você também pode emular um clique do meio clicando nos botões esquerdo e direito do mouse ao mesmo tempo.

    
por 08.08.2015 / 08:48
0

Outra solução para o Windows 7 que permite a rolagem em todos os aplicativos, incluindo o Internet Explorer:

  1. Instale o AutoHotKey .
  2. Salve este script como scroll.ahk na área de trabalho.
  3. Clique com o botão direito do mouse em scroll.ahk .
  4. Selecione Executar script .
  5. Confirme, se solicitado.

Isso fará com que o pequeno botão direito role verticalmente ao mover o trackball. O pequeno botão esquerdo é o botão Voltar.

    
por 06.04.2016 / 22:19