Configurando mouses com 5 botões e rodinha no X

Publicado por Perfil removido em 31/03/2006

[ Hits: 14.518 ]

 


Configurando mouses com 5 botões e rodinha no X



Esta dica foi adaptada de um pedaço de um artigo do Piter Punk sobre mouses publicada na Slackware Zine nº 5.

Para que os botões laterais funcionem, deve-se mapear o movimento de subir e descer do mouse para usar os últimos botões do mouse e assim liberar os botões laterais. Abaixo o exemplo publicado no artigo (inserir essas linhas no arquivo /etc/X11/xorg.conf):

Section "InputDevice"
	Identifier "Mouse1"
	Driver "mouse"
	Option "Device" "/dev/psaux"
	Option "Protocol" "ExplorerPS/2"
	Option "Buttons" "7"
	Option "ZAxisMapping" "6 7"
EndSection

Na opção "Buttons" deve ser colocado 7, que significa os 5 botões mais o movimento da rodinha (sobe e desce). Em um mouse normal (três botoes mais a rodinha) este valor é 5. Na opção "ZAxisMapping" deve ser colocado "6 7", que diz para usar os últimos botões para ser o movimento da rodinha (no mouse normal este valor seria "4 5").

Outra coisa interessante de ser notada é o protocolo, que não é mais um dos típicos "PS/2" ou "IMPS/2", mas sim "ExplorerPS/2". Esta alteração é por que a maioria dos mouses com 5 botões usa este protocolo, mas pode haver variações, então tente esse e, se não funcionar, tente os outros.

Isso deve funcionar, mas pode surgir outro problema. Muitos gerenciadores de janelas e programas mapeiam o movimento da rodinha nos botões 4 e 5, então uma solução para isso é alterar o código que os botões enviam para os aplicativos. Digite o seguinte comando:

$ xmodmap -pp

Deverá aparecer algo como:
There are 7 pointer buttons defined.

    Physical	    Button
     Button	     Code
        1	       1
	2	       2
	3	       3
	4	       4
	5	       5
	6	       6
	7	       7
Isto significa que cada botão manda o seu próprio código (botão 1 manda código 1, botão 2 manda código 2 e assim por diante) a idéia é fazer com que o botão 4 mande o código 6, o botão 5 mande o código 7 e vice-versa. Para que isso aconteça, digite o comando:

$ xmodmap -e "pointer = 1 2 3 6 7 4 5"

Agora, se você repetir o comando "xmodmap -pp" deverá aparecer:
There are 7 pointer buttons defined.

    Physical	    Button
     Button	     Code
        1	       1
	2	       2
	3	       3
	4	       6
	5	       7
	6	       4
	7	       5
Se você usar isto, deverá refazer o trecho do xorg.conf como mostra o exemplo abaixo (talvez exija algumas alteracões):

Section "InputDevice"
	Identifier "Mouse1"
	Driver "mouse"
	Option "Device" "/dev/psaux"
	Option "Protocol" "IMPS/2"
	Option "Buttons" "5"
	Option "ZAxisMapping" "4 5"
	Option "Resolution" "400"
EndSection

O ultimo parâmetro, "Resolution", serve para você modificar a velocidade do mouse para mais ou para menos.

Dica anti-social: você pode alterar a ordem dos botões à vontade. Isso é útil para traumatizar seu irmãozinho e evitar que ele volte a mexer com o seu computador amado. Para fazer isso, torne-se root e coloque o código em um dos arquivos de inicialização dele, como o .bashrc ou o .xinitrc. Ou caso ele saiba demais, e você acha que ele pode achar ali, coloque um código como o abaixo em um arquivo global que seja executado após o login de qualquer usuário:

if [ $USER = "[login do peste]" ]; then
  [comando esculachante com o qual você pretende atormentá-lo]
fi

Sempre que ele se logar com o usuário dele, o comando será executado. Recomendo a mudança de botões do mouse (o que pode ser bem eficiente dependendo de como foi feito) ou a exibição de mensagens com o uso do dialog ou do Xdialog (apesar de não ser suficientemente chato para ele desistir de usar). Caso você seja um especialista, ou pesquise muito sobre isso, pode mudar as teclas do teclado, o que é muito eficiente. Não recomendo nem incentivo o uso desta idéia para a criação de shell scripts maléficos que possam prejudicar a terceiros. Lembre-se: liberdade (leia-se: free software) caminha com responsabilidade!

Abraços,

Marcos Henrique Esteves Barbosa
marcosestevesbarbosa@gmail.com

Outras dicas deste autor

DVDisaster - Software de recuperação de mídias

Como adicionar swap no Linux CentOS 7 usando espaço de um Volume Group

anyRemote - Controlando o GNU/Linux pelo celular

NVIDIA e Debian 10: resolvendo o problema com lentidão e travamento com GNOME

Desinstalando o Freerock Gnome

Leitura recomendada

Adicionando o Timestamp no History

Scripts de configuração do Slackware

Verificando a configuração de um servidor DNS rapidamente!

rcconf: configure e controle os serviços de inicialização do Debian ou Ubuntu

Linux em SSD não reconhecido no BIOS [Resolvido]

  

Comentários

Nenhum comentário foi encontrado.



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts