Como desativar o botão do meio do mouse e clicar em colar?

101

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 do mouse sensível e sempre que eu rolar textos, às vezes, cola coisas aleatoriamente no texto. Perco muita credibilidade quando envio um arquivo para outra pessoa que tenha trechos de texto aleatórios colados nele.

Eu vi um solução que vai mapeando o botão do meio do mouse para um botão inexistente do mouse, mas isso significa livrar-se do botão do meio do mouse (ou seja, sem fechar guias, abrir links automaticamente para uma nova guia etc.) ). Eu gostaria de manter meu botão do meio do mouse ativo, apenas desabilite o comportamento de colar.

Isso também acontece quando rolo o texto com o touchpad (acidentalmente batoque dois dedos sem mover, bam.)

Assim, o problema não será corrigido apenas mudando para um novo mouse (na verdade, acredito que isso ocorra mais frequentemente com o touchpad do que com o mouse).

    
por levesque 21.09.2010 / 17:26

22 respostas

15

Para uma solução para o problema, consulte este guia que escrevi: link

Ou, mais diretamente, aqui está o patch para desabilitar a funcionalidade 'colar do botão do meio do mouse' no GTK: link

    
por Jelle Geerts 17.09.2011 / 23:27
31

Jared Robinson deu uma solução simples que funciona na minha máquina:

Execute o seguinte comando:

xmodmap -e "pointer = 1 25 3 4 5 6 7 8 9"

Para persistir esse comportamento, edite ~ / .Xmodmap e adicione

pointer = 1 25 3 4 5 6 7 8 9
    
por Jay Goldfarb 06.08.2011 / 02:32
23

Eu percebo que esta não é exatamente a resposta que você quer, mas você pode desligar isso no Firefox (por exemplo, se você não se importa com o recurso em outro lugar, mas ainda quer clique no meio do Firefox para abrir links em novas abas)

Em about: config, defina

middlemouse.contentLoadURL false
middlemouse.paste false

Não é o que você pediu, mas como esta pergunta está vinculada a alguns lugares, espero que alguém encontre essa resposta útil.

    
por Ben 21.01.2012 / 10:11
19

Eu uso o gnome-tweak-tool para desabilitar a pasta do botão do meio no Ubuntu 16.04.

sudo apt install gnome-tweak-tool

Pesquise "ferramenta de ajuste" nos aplicativos instalados. Execute-o.

Ou apenas digite gnome-tweak-tool em um terminal.

Vá para "Teclado e mouse" - > "Clique com o botão do meio na pasta" Desligue.

É isso. Testado no Ubuntu 16.04

    
por Sunny127 15.01.2017 / 13:03
18

No momento, isso não é possível - embora, como você mencionou, haja maneiras de desativar o botão MOUSE 3 - ou de remapear -, nenhuma delas chega à origem do problema. A seleção primária X11.

Embora isto não seja uma solução, espero que esta explicação torne claro porquê. No Ubuntu existem duas pranchetas no trabalho. Um, que todo mundo conhece, a área de transferência do freedesktop.org (captura o comando Ctrl + C ) O segundo é um gerenciador de área de transferência que está em jogo desde antes mesmo do Ubuntu existir - X11 O X Server (X11) gerencia três outras pranchetas: Seleção Primária , Seleção Secundária e Área de Transferência . Quando você seleciona o texto com o ponteiro, ele é copiado para um buffer no XServer, a Seleção Primária e aguarda a colagem por meio do botão Mouse 3. Os outros dois foram projetados para serem usados por outros aplicativos em um meio de compartilhar uma área de transferência comum entre aplicativos. Neste caso, o gerenciador de clipboard freedesktop.org no Ubuntu já faz isso para nós.

Através da extensão da 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. Há várias maneiras de contornar isso por aplicativo (a maioria dessas aplicações são de linha de comando) - mas nada em escala global.

Eu percebo que esta não é uma solução ideal - mas parece ser a verdade para a questão. A única solução relevante que pude reunir é, na verdade, um hack, criar um script que executa um loop while infinito que apenas substitui a Seleção Primária por um valor nulo.

Primeiro instale xsel (Ferramenta para manipulação da seleção X) sudo apt-get install xsel

O código é o seguinte:

while(true)
do
    echo -n | xsel -n -i
    sleep 0.5
done

Se você colocar isso em um script e adicioná-lo aos seus scripts de inicialização, isso não deve ser um problema.

    
por Marco Ceppi 23.09.2010 / 20:56
14

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 .

xinput list | grep -i mouse

que lista informações sobre seu mouse. Ele mostra que meu mouse é "Mouse óptico USB Premium da Dell" e também que eu tenho "Emulação de botão do mouse para Macintosh". Armado com essa informação, eu posso

xinput get-button-map "Dell Premium USB Optical Mouse"

que me dá uma listagem parecida com

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18

Aqui está o conhecimento útil e necessário. Meu mouse tem, 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 faz a ação 1, o botão 4 faz a ação 4, etc. Ação 0 significa "desligado".

A posição na listagem mostra a função atribuída a esse botão. Então, se meu mapa de botões for lido

1 3 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 

isto significaria que o botão 1 (posição 1) faz a ação 1 (botão esquerdo normal), o botão 2 (posição 2) faz a ação 3 (botão do meio) e o botão 3 (posição 3) faz a ação 2 (botão direito). / p>

Para criar um mouse canhoto, tudo o que você precisaria seria um mapa de botões que começa

3 2 1 4 5 .....

Ou, no seu caso, parece que você quer que o botão do meio faça o mesmo que o botão 1 (botão esquerdo) para que seu mapa precise ser iniciado

1 1 3 ....

Eu redefiniria meus mapeamentos de botão do mouse assim:

xinput set-button-map "Dell Premium USB Optical Mouse" 1 1 3 5 6 6 7 8 9 10 11 12 13 14 15 16 17 18

No seu caso, você pode ter um número diferente de botões mapeados e ter algum mapa de botões especial já definido. Provavelmente, o mouse também tem um nome diferente. Primeiro, pegue o "nome" do seu mouse. Em seguida, use a operação get-button-map para encontrar o 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 isso ajude.

    
por Wes Miller 12.01.2012 / 13:58
4

Sugiro usar um deles, que funciona bem para mim:

usando xbindkeys: sempre que o botão do meio é pressionado, limpe a área de transferência principal. Pelo menos no meu sistema está desmarcado, antes da colagem acontecer. Detalhes: create xbindkeys-config:

xbindkeys --defaults > $HOME/.xbindkeysrc

Cole a seguinte nova tecla de atalho:

"xclip -i /dev/null"    
    b:2''

Recarregar xbindkeys (por exemplo, xbindkeys killall; xbindkeys). Feito.

usando o xdotool: Limpe a área de transferência na mudança de foco da janela (deve funcionar com a maioria dos gerenciadores de janela). Detalhes: Execute o seguinte comando:

xdotool search --onlyvisible . behave %@ focus exec xclip -i /dev/null

Note que com este comando você ainda pode usar a área de transferência principal dentro da mesma janela ou pressionar middlemouse em outra janela ANTES de focar nela (se você não tiver "foco segue mouse" ou algo ativado).

    
por spawn 22.02.2016 / 12:10
3

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 um botão do meio apenas em determinados aplicativos.

Você pode adicionar um "grupo" no EasyStroke para aplicar essa interceptação em vários aplicativos de uma só vez. Eu configurei para desabilitar o clique do meio em alguns dos meus editores de texto, IDE e MATLAB apenas e funciona como pretendido.

Referência: link

Como fazer o EasyStroke completo: link

    
por dbdq 03.02.2013 / 13:13
2

Esse comportamento de colar do botão do meio do mouse é um recurso do servidor X (e gpm no console de texto) e, até onde eu sei, pelo menos o X.org não pode ser configurado para desativá-lo - tudo que você pode fazer é altere o mapeamento dos botões físicos do mouse como outros já sugeriram.

É muito provável que você possa configurar seu touchpad para evitar cliques médios indesejados, consulte gpointing-device-settings (não instalado por padrão) ou a página de manual synaptics se você preferir usar seu editor para configuração.

    
por Florian Diesch 23.09.2010 / 20:52
2

o link abaixo corrigiu o problema para mim.

link

a página referenciada pelo link acima tem uma seção sobre como desabilitar a pasta do meio do mouse na roda de rolagem, executando alguns comandos que o usuário pode buscar no mapeamento dos botões do mouse e também pode alterar o mapeamento. como explicado na página i desativei o botão do meio executando o comando:

$ xinput set-button-map 4 1 0 3
    
por Ahmad Bawaneh 05.01.2014 / 15:38
1

Aqui está a solução mais simples que encontrei para manter o clique do meio funcional sem colar as coisas.

Primeiro, instale sxhkd e xsel .

Em seguida, configure ./. config / .sxhkd / sxhkdrc da mesma forma

~button2
    echo -n | xsel -n -i
~control + c
    echo -n | xsel -n -i
~control + x
    echo -n | xsel -n -i

E é basicamente isso.

Agora inicie o sxhkd (ou configure-o para iniciar na inicialização). Agora, o mouse do meio não vai mais colar nada, mas funcionará como normal. (Contanto que você use somente ctrl + c e ctrl + x para copiar coisas, se você copiar coisas com o mouse, ele pode colar uma vez antes de retornar ao normal.)

    
por Cestarian 01.10.2018 / 00:02
1

Eu tive o mesmo problema há alguns meses e resolvi mudando o mouse! Mas, como você, eu estava frustrado que o simples problema de mapeamento de botões não pode ser resolvido elegantemente 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 solução gratuita!

Acho que uma implementação adequada de hardware de mouse não deve enviar cliques intermediários aleatórios durante a rolagem. Recentemente eu encontrei este comportamento para ficar chato mesmo usando o Windows!

Agora que eu consertei o bug de hardware com a solução de hardware apropriada (mude o mouse), eu até iniciei um vício para "colar no comportamento do clique do meio" !!

Feliz linuxing!

Atenciosamente,

    
por Jonathan 16.08.2012 / 20:44
1

SW: Ubuntu 14.04, com o Gnome retrocedendo. HW: Eu tenho um laptop e então o botão do meio é na verdade o mouse no / no laptop. Solução: Vá ao centro do Ubuntu SW e faça o download da ferramenta Unity Tweak. Inicie a ferramenta Tweak. Nas configurações do mouse, ele tem a opção de ativar / desativar a inserção do clique do meio. Tenha um ótimo dia.

    
por user2712329 12.09.2014 / 01:32
1

Eu tentei o truque de redirecionamento de 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 coisas em lugares aleatórios no meio do meu código-fonte enquanto eu passava.

No meu caso, o comando era

xinput set-button-map "PixArt USB Optical Mouse" 1 1 3 4 5 6 7 8 9 10 11 12 13 14 15 16

mas YMMV por modelo de mouse.

    
por Stephen Bloch 03.12.2014 / 21:13
1

Eu posso ter uma resposta parcial para você, se você estiver usando um X lenovo ... com touchpoint / touchpad. Existe um bug "conhecido" com os botões do mouse synaptics. Se você tentar um mouse USB e não tem nenhum problema, mas com o mouse touchpad / touchpoint (embutido no teclado) você tem respostas aleatórias que podem excluir faixas de texto enquanto você digita, então este pode ser o bug do qual estou falando.

link

Se isso se adequar à sua situação, adicione seu nome à lista de pessoas que identificaram esse bug nesse relatório de bug. Talvez se houver muitos mais de nós relatando isso, seria consertado.

    
por Jont Allen 15.07.2016 / 01:19
0

É mais do que um recurso de gnomo, eu acho que funciona em quase todos os lugares, ele funciona no console também, e acho que funcionou mesmo no meu "Linux from Scratch".

Então, é realmente um recurso básico, talvez até mesmo em algum lugar no kernel.

BTW: É realmente útil, e não é a pasta comum como Ctrl + V, tudo o que está marcado com o cursor vai em um segundo armazenamento e com o middleclick pode colar, o que você marcou por último.

    
por phiphi 23.09.2010 / 20:08
0

Usando o que eu aprendi nas postagens acima, este one-liner funciona perfeitamente para mim ...

mouse_id=$(xinput list | grep 'Mouse' | awk '{print $9}' | sed 's/[^0-9]//g') && xinput set-button-map "$mouse_id" 1 0 3
    
por Scott 04.12.2013 / 17:42
0

Você pode querer tentar emular um mouse de dois botões. Com um mouse de dois botões, cole clicando nos dois botões do mouse ao mesmo tempo (em vez da roda de rolagem).

Instale as configurações do dispositivo de identificação:

sudo aptitude install gpointing-device-settings

link

Como alternativa, se você não deseja instalar o gpointing-device-settings, e não estiver incomodado com as opções de linha de comando, veja link Nesta página da wiki existem várias opções de linha de comando / configuração, escolha a que você preferir.

    
por Panther 12.01.2012 / 19:47
-1

Essa é uma boa pergunta, para a qual não tenho uma resposta (ainda). Uma solução rápida e suja é remapá-lo NÃO para 0, mas para 1. Desta forma, ele se transforma em "clique" do meio para clicar com o botão esquerdo e não afeta o seu scroller ... Até agora é o melhor que consigo pensar.

Nota: Esta informação veio de Fóruns do Ubuntu , não da minha própria noggin! :)

    
por Tiede 23.09.2010 / 19:49
-1

Se você estiver usando o Chrome / Chromium, poderá instalar uma extensão que proporcionará rolagem na maioria das páginas da web.

Link da extensão AutoScroll:

link

    
por Robert Coleman 28.11.2011 / 07:43
-1

Vocês poderiam resolver o problema de maneira simples e rápida, como acabei de fazer, desparafusando o mouse, pegando um alicate de ponta fina e puxando fisicamente o botão do meio do mouse para fora. Garantido para corrigir o problema - supondo que você nunca o use de qualquer maneira - como eu.

    
por Kevin McCracken 17.03.2016 / 15:44
-3

você conferiu o gpm? Mais informações no link . Disponível via sudo aptitude install gpm no lucid. Eu não vejo o programa de colar e desabilitar no pacote do Ubuntu, no entanto, a opção -A pode valer a pena tentar.

    
por koushik 21.09.2010 / 18:27