Como posso desativar a funcionalidade "colar com o botão do meio do mouse" em todos os programas?
43
Não gosto de colar o botão do meio do mouse, porque muitas vezes acabo com código não compilável no Eclipse. Como posso desativar isso (em todos os programas)? Estou executando o Fedora.
Eu não vi nenhuma maneira trivial de fazer isso sem pressionar o botão do meio do mouse por completo ou hackear X ou mexer com a área de transferência normal, então minha "solução" sugerida é apenas aprender a usar o botão do meio corretamente. É incrivelmente conveniente destacar um URL de texto em qualquer lugar e acessá-lo clicando no meio da janela do navegador (FF).
jw013
4
@ephemient "Clicar com o botão do meio para inserir a seleção é fundamentalmente parte do modo como o X11 funciona" ... quando tínhamos Sun Optical Mouses que precisavam de 1 libra de pressão no botão do meio para obter sinal. Hoje, o botão do meio está em gatilho de cabelo e além disso usado como uma roda, este "fundamental" tem que ir (como um monte de coisas "fundamental" em X btw.)
David Tonhofer
3
Sinto que a capacidade de desativar o que você quer é um aspecto ainda mais fundamental do Linux.
Wayne Bloss
Respostas:
24
Esta solução funcionará globalmente e preservará a funcionalidade do meio do mouse.
Obrigado!!! Eu não posso acreditar que a única solução de trabalho está em 0 votos por exatamente 2 anos.
Retr0id
4
Finalmente, uma solução que funcionou para mim no Ubuntu Mate 17.10. Obrigado!
Dmitry Frank
5
@spiil Tentei esta solução e ela alcança o efeito que você deseja. Cliquei com o botão do meio em um campo de texto e nada acontece, mas clique com o botão do meio em um link e clique com o botão do meio para fechar uma aba no Chromium, Firefox e Waterfox (os três navegadores que testei).
user7214865 7/01
4
A rolagem com o botão do meio do mouse pressionado não funciona mais com esta solução: /
Marc.2377
2
Você é uma lenda. Usei o botão do meio no meu trackball para rolagem, mas a funcionalidade de colar deixou minha vida miserável. Agora está em cores brilhantes novamente, obrigado!
redsPL
16
No Fedora 24, você pode instalar gnome-tweak-toolusando o seguinte comando:
$ sudo dnf install gnome-tweak-tool
Abra gnome-tweak-toole vá para a guia "Teclado e mouse" e desative "Colar com o botão do meio".
Isso também está disponível no Ubuntu 16.04: sudo apt-get install gnome-tweak-tool
Tyranin
1
Isso afeta apenas alguns programas, como o gedit, o gnome-terminal e alguns outros. Veja também o comentário em askubuntu.com/questions/4507/… .
Kvothe
11
Ter a cola do botão do meio é um padrão de interface de usuário unix, como ter o botão esquerdo selecionado ou ativado e o botão direito fazer outra coisa (como estender, alternar, abrir um menu,…). Você o encontrará vinculado à maioria dos aplicativos unix.
Se o seu problema é que o mouse é sensível demais ao colocar o dedo no volante, sugiro que você compre um mouse melhor. Existem muitos ratos decentes baratos.
Você pode reatribuir o botão 2 do mouse para um número diferente. Os aplicativos identificam os botões esquerdo, médio e direito do mouse como botões 1, 2 e 3, respectivamente. Coloque esse código em um script que é executado quando a sessão do X é iniciada (como fazer isso depende do ambiente da área de trabalho).
@balki Weird. Certamente funciona para mim. Portanto, para descobrir por que isso não funciona para você, faça uma nova pergunta. Certifique-se de mencionar em qual versão do X.org (ou outro servidor X) você tem, em qual distribuição está executando isso e em quais dispositivos de entrada estão conectados.
Gilles 'SO- stop be evil'
2
Aposto que o OP não se importa se é padrão (eu sei que não). Não importa. As ações do botão do mouse devem ser mais facilmente personalizáveis.
Marc.2377 10/03
7
Os mouses Scrollwheel suportam um evento de clique no botão do meio ao pressionar o scrollwheel. Esse é um ótimo recurso, mas você pode achar isso irritante. Felizmente, pode ser desativado.
Primeiro, você precisa conhecer o id do mouse, assim:
Funciona perfeitamente para touchpad no Slackware 14.2 (KDE).
Firelord
É melhor do que qualquer um dos itens acima que começam com "download XX". O único problema que tive foi que, para xinput set-button-map 12 1 0 3você definir todos os botões (1 a 12 para este exemplo xinput set-button-map 12 1 0 3 4 5 6 7 8 9 10 11 12)
blindguy
3
Aqui está o que você pode fazer se quiser manter o clique do meio funcional (por exemplo, para abrir links em novas guias), sem colar as coisas.
Primeiro instale o sxhkd e o xsel .
Em seguida, configure ./.config/.sxhkd/sxhkdrc da seguinte maneira
Isso ainda permite que você use o mouse do meio para rolar. Boa solução! Para mim, o arquivo estava em~/.config/sxhkd/sxhkdrc
Atnas
1
É uma convenção comum que muitos programas cumprem. Não existe uma maneira global de desativá-lo, você deve fazê-lo programa por programa.
EDIT: (além de, como Gilles diz, desabilitar o botão 2. do mouse. Mas alguns programas têm outros usos para o botão 2 do mouse, por isso eu não recomendaria isso.)
EDIT: Acabei de encontrar um problema com a solução que eu postei: em alguns programas ( gitkpelo menos, não tenho certeza de quão comum é), isso impedirá a seleção de texto de funcionar. Portanto, tente, mas se você tiver problemas para selecionar texto em um programa usado regularmente, a solução é parar de usá-lo.
Instale xsele execute o seguinte script de shell:
#!/bin/sh
while true; do
xsel -fin </dev/null
done
Enquanto esse script estiver em execução (você pode configurá-lo para executar no login), o botão do meio do mouse não será colado em nenhum aplicativo. Portanto, tecnicamente, ele ainda será colado, mas sempre haverá nada para colar.
O modo como funciona é que ele é executado xsele copia ( -i) o conteúdo de /dev/null, sem bifurcar para o plano de fundo ( -n) e, na verdade, retém a string vazia no buffer, em vez de apenas limpá-la e sair ( -f). Sempre que sair, ele será chamado xselnovamente com as mesmas opções. Como xselcontinuará em execução até que outro programa "o exija" copiando outra coisa, ele não criará constantemente novos processos, mantendo um único processo em execução precisamente até que seja necessário novamente. (A menos que você tenha várias instâncias do script em execução, mas não há necessidade de fazer isso.)
Além disso, não, isso não interferirá na cópia / colar normal, porque a pasta do clique do meio usa uma área de transferência separada.
Respostas:
Esta solução funcionará globalmente e preservará a funcionalidade do meio do mouse.
Instalar
xbindkeys xsel xdotool
Coloque isso em
~/.xbindkeysrc
recarregar
xbindkeys -p
Execute
xbindkeys
na inicialização,pkill xbindkeys
para parar.fonte
No Fedora 24, você pode instalar
gnome-tweak-tool
usando o seguinte comando:Abra
gnome-tweak-tool
e vá para a guia "Teclado e mouse" e desative "Colar com o botão do meio".fonte
Ter a cola do botão do meio é um padrão de interface de usuário unix, como ter o botão esquerdo selecionado ou ativado e o botão direito fazer outra coisa (como estender, alternar, abrir um menu,…). Você o encontrará vinculado à maioria dos aplicativos unix.
Se o seu problema é que o mouse é sensível demais ao colocar o dedo no volante, sugiro que você compre um mouse melhor. Existem muitos ratos decentes baratos.
Você pode reatribuir o botão 2 do mouse para um número diferente. Os aplicativos identificam os botões esquerdo, médio e direito do mouse como botões 1, 2 e 3, respectivamente. Coloque esse código em um script que é executado quando a sessão do X é iniciada (como fazer isso depende do ambiente da área de trabalho).
fonte
Os mouses Scrollwheel suportam um evento de clique no botão do meio ao pressionar o scrollwheel. Esse é um ótimo recurso, mas você pode achar isso irritante. Felizmente, pode ser desativado.
Primeiro, você precisa conhecer o id do mouse, assim:
que imprime algo como
Meu mouse USB Dell imprimiu aqui para o qual id = 12
para visualizar o mapeamento do botão do mouse, como:
que imprime
aqui apenas os três primeiros números têm significado para mim. Eles representam os botões esquerdo, médio e direito do mouse.
Posso desligar o botão do meio do mouse, definindo-o como 0:
Ou posso transformar o botão do meio do mouse em um botão esquerdo do mouse, definindo-o como 1:
funciona para mim (kubuntu 18.04 LTS)
fonte
xinput set-button-map 12 1 0 3
você definir todos os botões (1 a 12 para este exemploxinput set-button-map 12 1 0 3 4 5 6 7 8 9 10 11 12
)Aqui está o que você pode fazer se quiser manter o clique do meio funcional (por exemplo, para abrir links em novas guias), sem colar as coisas.
Primeiro instale o sxhkd e o xsel .
Em seguida, configure ./.config/.sxhkd/sxhkdrc da seguinte maneira
E é basicamente isso.
Agora inicie o sxhkd (ou configure-o para iniciar na inicialização). Agora, o mouse do meio não colará mais nada, mas funcionará normalmente.
fonte
~/.config/sxhkd/sxhkdrc
É uma convenção comum que muitos programas cumprem. Não existe uma maneira global de desativá-lo, você deve fazê-lo programa por programa.
EDIT: (além de, como Gilles diz, desabilitar o botão 2. do mouse. Mas alguns programas têm outros usos para o botão 2 do mouse, por isso eu não recomendaria isso.)
fonte
EDIT: Acabei de encontrar um problema com a solução que eu postei: em alguns programas (
gitk
pelo menos, não tenho certeza de quão comum é), isso impedirá a seleção de texto de funcionar. Portanto, tente, mas se você tiver problemas para selecionar texto em um programa usado regularmente, a solução é parar de usá-lo.Instale
xsel
e execute o seguinte script de shell:Enquanto esse script estiver em execução (você pode configurá-lo para executar no login), o botão do meio do mouse não será colado em nenhum aplicativo. Portanto, tecnicamente, ele ainda será colado, mas sempre haverá nada para colar.
O modo como funciona é que ele é executado
xsel
e copia (-i
) o conteúdo de/dev/null
, sem bifurcar para o plano de fundo (-n
) e, na verdade, retém a string vazia no buffer, em vez de apenas limpá-la e sair (-f
). Sempre que sair, ele será chamadoxsel
novamente com as mesmas opções. Comoxsel
continuará em execução até que outro programa "o exija" copiando outra coisa, ele não criará constantemente novos processos, mantendo um único processo em execução precisamente até que seja necessário novamente. (A menos que você tenha várias instâncias do script em execução, mas não há necessidade de fazer isso.)Além disso, não, isso não interferirá na cópia / colar normal, porque a pasta do clique do meio usa uma área de transferência separada.
fonte
Este é o meu roteiro. O seu pode precisar de ajustes
fonte