Esse recurso do Windows nunca chegou ao mundo Unix. No mundo Unix, o principal objetivo 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). Alguns aplicativos de plataforma cruzada, como Firefox e Chrome, são compatíveis com o botão do meio do mouse no estilo Linux no Windows e vice-versa, mas, além disso, a maioria dos aplicativos não suporta esse tipo de rolagem refinada.
No entanto, você pode se aproximar bastante do nível do sistema. É possível configurar um botão do mouse para que, quando pressionado, os movimentos do mouse sejam transformados em eventos de roda. Esse é o mesmo recurso ao qual você está acostumado, mas é provável que encontre o movimento instável, porque os aplicativos recebem eventos de roda, que geralmente são interpretados como rolagem por uma linha ou coluna inteira.
Para brincar com essa configuração, use o programa xinput (não sei se há uma interface gráfica para ele). 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 apontador é 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 é o de “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 = para a esquerda, 7 = para a 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 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 a sessão for iniciada ( gnome-session-properties
permite configurar isso).
Se você possui 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 estã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