Como desativar os botões Avançar / Voltar no meu mouse

29

Meu mouse tem um recurso infeliz. No lado esquerdo, bem onde meu polegar fica tão gentilmente quando estou usando, há dois botões que são tão sensíveis que um simples pincel os fará clicar.

Estou falando, é claro, dos irritantes botões de avançar / retroceder, que, se pressionados em um navegador, podem tornar muito mais difícil assistir a esse vídeo de uma hora no youtube. Existe uma maneira de eu desativá-los? Isso seria tratado por X?

    
por n0pe 12.09.2011 / 16:38

3 respostas

37

Inicie o programa xev em um terminal. Mova o mouse dentro da janela xev ; você verá muitas coisas rolando. Pressione cada botão por sua vez. Em seguida, volte para a janela do terminal e pressione Ctrl + C . xev mostra uma descrição de cada evento de entrada, em particular ButtonPress e ButtonRelease para cliques do mouse (você também verá um número de MotionNotify para movimentos do mouse e outros eventos).

É provável que seus botões de avançar e voltar estejam mapeados para os botões do mouse, talvez os botões 8 e 9:

ButtonPress event, serial 29, synthetic NO, window 0x2e00001,
    root 0x105, subw 0x0, time 2889100159, (166,67), root:(1769,98),
    state 0x0, button 8, same_screen YES

Se for esse o caso, remapeie esses botões para uma ação diferente no seu navegador; ou para desabilitar os botões, coloque essas linhas em um arquivo chamado ~/.Xmodmap :

! Disable buttons 8 and 9
pointer = 1 2 3 4 5 6 7 0 0

Teste-o com o comando xmodmap ~/.Xmodmap . A maioria dos ambientes de área de trabalho e gerenciadores de janela executam esse comando automaticamente quando você efetua login; se o seu não acontecer, providencie para que ele seja executado quando o X começar.

Também é possível que o mouse envie um evento de teclado quando você pressionar esses botões:

KeyPress event, serial 32, synthetic NO, window 0x2e00001,
    root 0x105, subw 0x0, time 2889100963, (957,357), root:(2560,388),
    state 0x0, keycode 166 (keysym 0x1008ff26, XF86Back), same_screen YES,
    XLookupString gives 0 bytes: 
    XmbLookupString gives 0 bytes: 
    XFilterEvent returns: False

Nesse caso, coloque linhas como essas em ~/.Xmodmap :

keycode 166 = NoSymbol
keycode 167 = NoSymbol
    
por 13.09.2011 / 08:20
1

Você pode usar xev para descobrir quais mapas de tecla o mapa mapeia e usar o código abaixo (em $ HOME / .xsessionrc) para mapeá-lo para algo que você não está usando.

xmodmap -e 'keycode THE_CODE_HERE = XF86Launch1'

Como alternativa, você deve ser capaz de fazer isso a partir de uma GUI de uso do Gnome / KDE ou de qualquer outro desktop moderno.

Ainda outra opção seria hackear o xorg.conf para remover as definições dos botões.

    
por 12.09.2011 / 18:23
0

Pode ser feito com o arquivo de configuração do xorg

Aqui está um exemplo que desativa a rolagem horizontal (salve o novo arquivo e reinicie)

nano /etc/X11/xorg.conf.d/40-libinput-mouse-left-right.conf

Section "InputClass"
        Identifier "Logitech catchall"
        MatchIsPointer  "on"
        Driver "libinput"
        Option "HorizontalScrolling" "false"
EndSection

Outros comandos úteis

xinput list
xinput list-props 15

Agora, para esta questão, o arquivo de configuração do xorg pode ser usado para remapear o botão aqui é um exemplo

Section "InputClass"
    # ...
    Option "ButtonMapping" "1 9 3 4 5 6 7 8 2"
    # ...
EndSection
    
por 29.10.2018 / 23:16

Tags