Esse recurso do Windows nunca chegou ao mundo Unix. No mundo Unix, o objetivo principal do botão do meio do mouse é colar o conteúdo da área de transferência (ou, mais precisamente, o texto selecionado com o mouse, que é copiado automaticamente). Um par de aplicativos de plataforma cruzada, como o Firefox e o Chrome, que suportam o botão do meio do mouse no Windows e vice-versa, mas além disso, a maioria dos aplicativos não oferece suporte a esse tipo de rolagem de baixa granularidade.
No entanto, você pode se aproximar bastante no nível do sistema. É possível configurar um botão do mouse de tal forma que quando ele é pressionado, os movimentos do mouse são transformados em eventos de roda. Esse é o mesmo recurso ao qual você está acostumado, mas é provável que você encontre o movimento agitado, porque os aplicativos recebem eventos de roda, que são normalmente interpretados como rolagem por uma linha ou coluna inteira.
Para jogar com essa configuração, use o xinput programa (não sei se há uma interface gráfica para isso). Primeiro, execute o seguinte comando para ver o nome do seu dispositivo apontador:
$ xinput --list
⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ Generic USB Mouse id=8 [slave pointer (2)]
⎜ ↳ Macintosh mouse button emulation id=12 [slave pointer (2)]
⎣ Virtual core keyboard id=3 [master keyboard (2)]
↳ Virtual core XTEST keyboard id=5 [slave keyboard (3)]
↳ Power Button id=7 [slave keyboard (3)]
↳ USB Keyboard id=9 [slave keyboard (3)]
Por exemplo, na saída acima, o dispositivo de ponteiro é Generic USB mouse
. Você pode executar o seguinte comando para listar as propriedades que podem ser ajustadas:
xinput --list-props 'Generic USB Mouse'
O conjunto de propriedades que você está procurando são as "emulação de roda Evdev". Com as seguintes configurações, quando o botão do meio do mouse (botão 2) é pressionado, mover o mouse envia eventos de roda (4 = para cima, 5 = para baixo, 6 = esquerda, 7 = direita).
xinput --set-prop 'Generic USB Mouse' 'Evdev Wheel Emulation' 1
xinput --set-prop 'Generic USB Mouse' 'Evdev Wheel Emulation Button' 2
xinput --set-prop 'Generic USB Mouse' 'Evdev Wheel Emulation Axes' 6 7 4 5
Você pode querer ajustar outros parâmetros (inércia, tempo limite).
Você pode colocar esses comandos em um script. Adicione #!/bin/sh
como a primeira linha e torne o arquivo de script executável (por exemplo, chmod +x ~/bin/activate-wheel-emulation.sh
). Em seguida, adicione esse script à lista de comandos a serem executados quando sua sessão for iniciada ( gnome-session-properties
permite configurar isso).
Se você tem acesso root e deseja fazer a alteração para todos os usuários (aceitável em uma máquina doméstica), é mais simples fazê-lo através do arquivo de configuração do servidor X.org . Como root, crie um arquivo chamado /etc/X11/xorg.conf.d/wheel-emulation.conf
contendo configurações para o driver do mouse . As configurações são as mesmas, mas são organizadas de maneira um pouco diferente.
Section "InputClass"
Identifier "Wheel Emulation"
MatchProduct "Generic USB Mouse"
Option "EmulateWheel" "on"
Option "EmulateWheelButton" "2"
Option "XAxisMapping" "6 7"
Option "YAxisMapping" "4 5"
EndSection