Existe uma maneira de desativar o comportamento de colar do botão do meio do mouse que está aqui por padrão no gnome?
Eu tenho uma roda sensível do mouse e sempre que rolar textos, às vezes cola coisas aleatoriamente no texto. Perco muita credibilidade quando envio um arquivo para outra pessoa que possui trechos de texto aleatórios colados por todo o arquivo.
Eu vi uma solução que mapeava o botão do meio do mouse para um botão inexistente, mas implica em se livrar completamente do botão do meio (por exemplo, sem fechamento de abas, abrir links para uma nova aba automaticamente etc.) . Gostaria de manter meu botão do meio do mouse ativo, basta desativar o comportamento de colagem.
Isso também acontece quando eu rolar o texto com o touchpad (toque acidentalmente em dois dedos sem mover, bam.)
Portanto, o problema não será resolvido apenas mudando para um novo mouse (na verdade, acredito que isso acontece com mais frequência no meu touchpad do que no meu mouse).
Respostas:
Para uma solução para o problema, consulte este guia que escrevi
Ou, mais diretamente, aqui está o patch para desativar a funcionalidade 'colar do botão do meio do mouse' no GTK.
fonte
--source-option=--auto-commit
opção pode ser passada paradpkg-buildpackage
(o que é um pouco mais conveniente, pois não é necessário editar o log de alterações). Atualizei o guia para refletir isso.sudo apt-get build-dep libgtk2.0-0
parte, recebia um erro naPicking 'gtk+2.0' as source package instead of 'libgtk2.0-0' E: Unable to find a source package for gtk+2.0
Ajuda?dpkg -l | grep libgtk
. Provavelmente é algo como libgtk-3-0. Eu verifiquei meu patch para funcionar nas versões anteriores do GTK3; espero que ainda funcione.Eu uso o gnome-tweak-tool para desativar a colagem do botão do meio no Ubuntu 16.04.
Instale-o
Execute-o pesquisando a "ferramenta de ajuste" nos aplicativos instalados ou apenas digite
gnome-tweak-tool
um terminal.Desligar.
É isso aí.
Ou usando apenas CLI
Testado em 16.04.
fonte
Jared Robinson deu uma solução simples que funciona na minha máquina:
Execute o seguinte comando:
Para persistir nesse comportamento, edite ~ / .Xmodmap e adicione
fonte
Sei que essa não é exatamente a resposta que você deseja, mas você pode desativá-la no Firefox (por exemplo, se você não se importa com o recurso em outro lugar, mas ainda deseja clicar com o botão do meio no Firefox para abrir links em novas guias)
Em about: config, defina
Não é o que você perguntou, mas como essa pergunta está vinculada a partir de alguns lugares, espero que alguém ache útil essa resposta.
fonte
Tools/Options/LibreOffice/View/Mouse
alterando o botão do meio do mouse para a sua configuração preferida.No momento, isso não é possível - embora, como você mencionou, há maneiras de desativar o botão MOUSE 3 - ou remapear - nenhum deles chega à origem do problema. A seleção primária X11.
Embora essa não seja uma solução, espero que esta explicação deixe claro por que. No Ubuntu, existem duas pranchetas em funcionamento. Um, com o qual todos estão familiarizados, a área de transferência do freedesktop.org (captura Ctrl+ Ccomando) O segundo é um gerenciador de área de transferência que está em jogo desde antes da existência do Ubuntu - X11. O X Server (X11) gerencia três outras áreas de transferência: Seleção Primária , Seleção Secundária e Área de Transferência. Quando você seleciona texto com o ponteiro, ele é copiado para um buffer no XServer, a Seleção Principal, e aguarda a colagem por meio do botão Mouse 3. Os outros dois foram projetados para serem usados por outros aplicativos de forma a compartilhar uma área de transferência comum entre aplicativos. Nesse caso, o gerenciador de área de transferência do freedesktop.org no Ubuntu já faz isso por nós.
Durante toda a minha pesquisa, não consigo encontrar uma maneira de desativar o gerenciador de seleção X11. Não há sinalizadores de compilação, aplicativos ou valores de configuração que possam desabilitar isso. Existem várias maneiras de contornar isso em uma base por aplicativo (a maioria desses aplicativos são de linha de comando) - mas nada em escala global.
Sei que essa não é uma solução ideal - mas parece ser a verdade para o problema. A única solução relevante que eu poderia reunir é, na verdade, um hack, crie um script que execute um loop while infinito que apenas substitua a Seleção Primária por um valor nulo.
Primeira instalação
xsel
(Ferramenta para manipulação da seleção X)sudo apt-get install xsel
O código é o seguinte:
Se você colocar isso em um script e adicioná-lo aos scripts de inicialização, isso não deve ser um problema.
fonte
while(true)
problema não é porque o loop contém osleep 0.5
que perde meio segundo de tempo de CPU em cada uma das iterações do loop. Por causa disso (e a leveza daxsel
chamada de comando que compreende a outra parte do loop), os recursos da CPU ocupados pelo loop serão extremamente pequenos, mesmo nas máquinas Ubuntu mais lentas.De alguma forma, acabei sem nenhum arquivo xmodmap na minha instalação do Ubuntu, então tive que encontrar uma abordagem diferente para esse problema.
Dê uma olhada no comando xinput .
que lista informações sobre o mouse. Ele mostra que meu mouse é "Mouse óptico USB Premium da Dell" e também que tenho "emulação de botão de mouse do Macintosh". Armado com essa informação, eu posso
o que me dá uma listagem que parece
Aqui está o conhecimento útil e necessário. Meu mouse possui, teoricamente, 18 botões. A ação padrão de cada botão tem o mesmo nome que o número do botão. Em outras palavras, o botão 1 executa a ação 1, o botão 4 executa a ação 4, etc. Ação 0 significa "desativado".
A posição na listagem mostra a função atribuída a esse botão. Então, se meu mapa de botões ler
isso significa que o botão 1 (posição 1) executa a ação 1 (botão esquerdo normal), o botão 2 (posição 2) executa a ação 3 (botão do meio) e o botão 3 (posição 3) faz a ação 2 (botão direito).
Para criar um mouse para canhotos, tudo o que você precisaria seria um mapa de botões que
Ou, no seu caso, parece que você deseja que o botão do meio faça o mesmo que o botão 1 (botão esquerdo), para que seu mapa precise iniciar
Eu redefiniria meus mapeamentos de botões do mouse assim:
No seu caso, você pode ter um número diferente de botões mapeados e algum mapa de botão especial já definido. Provavelmente, seu mouse também tem um nome diferente. Primeiro, obtenha o "nome" do seu mouse. Em seguida, use a operação get-button-map para encontrar seu mapa de botões base. finalmente, use a opção set-button-map , modificando o botão 2 para executar a ação 1.
Esta não é uma mudança permanente. Eu adicionei o código necessário ao meu .bashrc para que ele seja executado sempre que eu fizer login ou abrir um terminal.
Espero que isto ajude.
fonte
get-button-map
no teclado Lenovo volta com 22 botões para mim, mas a mesmaset-button-map <<name-or-id>> 1 0 3
abordagem funciona para mimSugiro usar um destes, que funcionam principalmente bem para mim:
usando xbindkeys: sempre que o botão do meio for pressionado, limpe a área de transferência principal. Pelo menos no meu sistema, é limpo antes que a colagem aconteça. Detalhes: crie xbindkeys-config:
Cole a seguinte nova tecla de acesso:
Recarregue xbindkeys (por exemplo, killall xbindkeys; xbindkeys). Feito.
using xdotool: Limpe a área de transferência na alteração do foco da janela (deve funcionar com a maioria dos gerenciadores de janelas). Detalhes: Execute o seguinte comando:
Observe que, com esse comando, você ainda pode usar a área de transferência principal na mesma janela ou pressionar o mouse em outra janela ANTES de focalizá-la (se você não tiver "o foco segue o mouse" ou algo ativado).
fonte
A melhor maneira que encontrei até agora é usar o EasyStroke, que pode interceptar globalmente o clique do botão do meio e permitir que ele se comporte como botão do meio apenas em alguns aplicativos.
Você pode adicionar um "grupo" no EasyStroke para aplicar essa interceptação em vários aplicativos ao mesmo tempo. Eu configurei para desativar o clique do meio em alguns dos meus editores de texto, IDE e MATLAB, apenas e funciona conforme o esperado.
Referência: http://ubuntuforums.org/showpost.php?p=11811126&postcount=25
Instruções completas do EasyStroke: http://sourceforge.net/apps/trac/easystroke/wiki/Documentation
fonte
Esse comportamento de colar do botão do meio do mouse é um recurso do servidor X (e gpm no console de texto) e, pelo que sei, pelo menos o X.org não pode ser configurado para desativá-lo - tudo o que você pode fazer é alterar o mapeamento dos botões físicos do mouse, como outros já sugeriram.
É bem provável que você configure o touchpad para evitar cliques intermediários indesejados, consulte configurações do dispositivo de apontamento (não instalado por padrão) ou a página de manual do synaptics, se você preferir usar o editor para configuração.
fonte
Aqui está a solução mais simples que encontrei para manter o clique do meio funcional 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. (Desde que você use apenas ctrl + ce ectrl + x para copiar itens, se você copiar itens com o mouse, ele poderá colar uma vez antes de retornar ao normal.)
fonte
Eu tive o mesmo problema há alguns meses e resolvi-o alterando o mouse! Mas, como você, fiquei frustrado porque o simples problema de mapeamento de botões não pode ser resolvido com elegância por uma correção de software. Felizmente, tive o problema no meu computador de trabalho e meu empregador possui uma variedade de controladores de mouse sobressalentes. Foi uma correção sem custo!
Eu acho que uma implementação adequada de hardware do mouse não deve enviar cliques aleatórios no meio enquanto rola a rolagem. Recentemente, achei esse comportamento irritante mesmo usando o Windows!
Agora que corrigi o bug do hardware com a solução de hardware adequada (troque o mouse), comecei um vício em "colar no clique do meio"!
Linuxing feliz!
Atenciosamente,
fonte
o link abaixo resolveu o problema para mim.
https://wiki.ubuntu.com/X/Config/Input#Example:_Disabled_middle-mouse_button_paste_on_a_scrollwheel_mouse
a página referida no link acima possui uma seção sobre como desativar a colar do meio do mouse na roda de rolagem, executando poucos comandos, o usuário pode buscar o mapeamento dos botões do mouse e também pode alterar o mapeamento. conforme explicado na página, desativei o botão do meio executando o comando:
fonte
SW: Ubuntu 14.04, com o Gnome disponível. HW: Eu tenho um laptop e, portanto, o botão do meio é realmente o mouse no / no laptop. Solução: acesse o centro SW do Ubuntu e baixe a Unity Tweak Tool. Inicie a ferramenta Tweak. Nas configurações do mouse, há um botão para ativar / desativar a inserção do clique do meio. Tenha um ótimo dia.
fonte
Eu tentei o truque de redirecionamento xinput, alterando o "botão" central do mouse (na verdade uma roda) para que ele funcionasse exatamente como o botão esquerdo do mouse. Ele ainda funciona como uma roda e (aparentemente) parou de colar as coisas em lugares aleatórios no meio do meu código-fonte enquanto eu passava.
No meu caso, o comando foi
mas YMMV pelo modelo do mouse.
fonte
Talvez eu tenha uma resposta parcial para você, se você estiver usando um lenovo X ... com touchpoint / touchpad. Há um erro "conhecido" nos botões sinápticos do mouse. Se você tentar um mouse USB e não tiver nenhum problema, mas com o touchpad / mouse touchpoint (embutido no teclado), você terá respostas aleatórias que podem excluir faixas de texto enquanto você digita, esse pode ser o problema de que estou falando .
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1506817
Se isso se adequar à sua situação, adicione seu nome à lista de pessoas que identificaram esse bug, nesse relatório. Talvez se houvesse muitos outros relatando isso, isso seria corrigido.
fonte
Usando o que aprendi nas postagens acima, essa linha de base do bash funciona perfeitamente para mim ...
fonte
xinput list | grep 'Mouse' | grep -o 'id=[0-9]*' | grep -o '[0-9]*' | xargs -i xinput set-button-map "{}" 1 0 3
Você pode tentar emular um mouse de dois botões. Com um mouse de dois botões, você cola clicando nos dois botões ao mesmo tempo (em vez da roda de rolagem).
Instale gpointing-device-settings:
http://live.gnome.org/GPointingDeviceSettings
Como alternativa, se você não deseja instalar as configurações do dispositivo de apontamento e não se incomoda com as opções da linha de comando, consulte https://wiki.ubuntu.com/X/Config/Input Nesta página da wiki, existem várias linhas de comando / opções de configuração, escolha a que você preferir.
fonte
Para aplicativos Gnome, você pode usar
gnome-tweaks
(novo nome dognome-tweak-tool
pacote) na guia "Teclado e mouse", existe a opção "Colar de clique intermediário" ou editar diretamente a opção org.gnome.desktop.interface / gtk-enable-primary-paste Gnome.Para aplicativos do KDE, parece haver uma solução equivalente .
Para todo o X (incluindo aplicativos que não são do Gnome), você pode instalar o XMousePasteBlock, que deve estar em execução (pelo usuário é suficiente, sem necessidade de raiz) para funcionar. Isso desativa completamente a colagem do clique do meio sem desativar as outras funções do clique do meio.
fonte
A única resposta que funcionou para mim foi dada em https://unix.stackexchange.com/a/277488/288916 Radivarig (todos os créditos são para ele). Observe que eu tive que fazer uma alteração para fazê-la funcionar:
Instale xbindkeys:
Crie um arquivo de configuração para xbindkeys
~/.xbindkeysrc
com o texto:Carregue o arquivo de configuração usando
Adicione esta linha a ~. / Bashrc para que o xbindkeys sempre seja carregado na inicialização.
É isso que funciona para mim, mas o que Radivarig sugere é usar a linha
Este último não funciona para mim, mas se a versão não funcionar, sugiro tentar o outro.
Depois de muito tempo procurando, essa é a única solução que encontrei para trabalhar que desativa o botão de colar do meio do mouse universalmente, sem ter que desativar completamente o botão do meio do mouse.
Observe que, para as respostas votadas existentes, elas não respondem à pergunta, dizendo como desativar completamente o botão do meio do mouse ou fornecem uma solução que funciona apenas em alguns programas (tweak-solution somente nos terminais gedit e gnome e poucos outros) ou simplesmente dizem que é impossível.
A resposta da spawn é de espírito semelhante e também pode funcionar, eu não a vi antes de encontrar esta solução.
fonte
Essa é uma boa pergunta, para a qual ainda não tenho uma resposta. Uma solução rápida e suja é remapear NÃO para 0, mas para 1. Dessa forma, ele gira o "clique" do meio para o botão esquerdo e não afeta o seu scroller ... Até agora, é o melhor que posso pensar .
Nota: Esta informação veio dos fóruns do Ubuntu , não do meu próprio noggin! :)
fonte
É mais do que um recurso do gnome, acho que funciona em quase todos os lugares, também funciona no console e acho que funcionou mesmo no meu "Linux from Scratch".
Portanto, é realmente um recurso básico, talvez até em algum lugar do kernel.
BTW: É realmente útil, e não é a colagem normal, como Ctrl + V, tudo o que é marcado com o cursor passa para um segundo armazenamento e, com o clique do meio, pode colar o que você marcou por último.
fonte
você conferiu o gpm? Mais informações em http://manpages.ubuntu.com/manpages/lucid/man8/gpm.8.html . Disponível via
sudo aptitude install gpm
lucid. Não vejo o programa disable-paste no pacote ubuntu, no entanto, a opção -A pode valer a pena tentar.fonte