Faça movimentos do mouse rolando quando o botão do meio estiver pressionado

24

No Windows, estou acostumado a clicar no botão central e oferecer uma opção de "rolagem rápida" para cima ou para baixo. Como posso obter esse comportamento no Linux? Atualmente, parece usar o botão Voltar ao clicar no centro.

Eu uso o Gnome no CentOS.

    
por some1 20.11.2013 / 04:02

2 respostas

25

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
    
por 21.11.2013 / 02:16
22

Acontece que isso pode ser feito através das preferências do Firefox.

  1. No menu suspenso: Editar - > Preferências
  2. Em seguida, selecione as guias: Avançado - > geral
  3. Em seguida, marque "Usar autoscrolling"

Screenshot

    
por 29.11.2013 / 22:02