Clique do botão central do mouse no Linux (Auto Scroll, copiar e colar)

Boa tarde pessoal,

Procurei aqui no forum algum tópico sobre este assunto e não encontrei nada a respeito e, por se tratar de um detalhe que pode atrapalhar muito algumas pessoas (como a mim mesmo), achei que seria pertinente trazer essa dúvida para este forum.

Estou acostumado, no windows, a usar o clique do botão do meio do mouse para funções diversas nos programas. Em alguns editores de texto/código, este clique abre uma pequena circunferência que pode ser usada para scrollar o texto ou o código, em navegadores pode ser usado para abrir links em novas abas ou para fechar abas e assim vai, com cada programa remapeando o uso desse botão de sua forma.

Contudo, no linux o uso deste botão trás uma experiência terrível, ainda mais para quem está acostumado a usar com tanta frequência essas funcionalidades. Por padrão, ele vem configurado para “colar”. No início pensei que fosse só questão de me acostumar a usar o mouse de outra forma, mas hoje, que estou sendo forçado a utilizar o linux (xUbuntu 20.04 para ser mais exato) por conta de um novo emprego para programar, estou quase comprando um mouse e arrancando a wheel só para usar no linux. Já perdi a conta de quantas vezes colei blocos de código sem perceber no meio de milhares de linhas só por clicar acidentalmente o botão do meio do mouse.

Visto tal problema comecei a pesquisar soluções para isso, mas infelizmente toda solução que encontro se resume a remapear os botões do mouse de forma a desabilitar completamente a usabilidade dessa tecla (sendo que ela ainda pode ser usada no navegador, por exemplo, então eu não gostaria de fazer isso), ou se não, encontro outras soluções que simplesmente limpam a área de transferência quando o botão é pressionado para “evitar” que algo seja colado, o que gera um grande transtorno já que o conteúdo da área de transferência pode estar em uso no momento do clique.

Tentei usar o gnome-tweak-tools mas este desabilita a função apenas em uma lista de aplicativos e não de forma geral no sistema, o que não me ajuda.

Alguém conhece alguma forma de desabilitar essa “função” de colar com o clique do meio do mouse que não seja desabilitar completamente a tecla do mouse ou limpar a área de transferência ?

1 curtida

Opa, tudo bem?

Essa função pode ser replicada em browsers com o uso de extensões. Creio que ela não foi implementada em outros ambientes por ser uma patente da Microsoft, seria “ilegal” usar por padrão nas aplicações.

Eu uso aqui no Chrome esta, já que era o único lugar onde eu realmente achava que fazia sentido: AutoScroll - Chrome Web Store

O botão do meio no Linux serve para copiar/colar, o que acaba sendo um atalho útil também, ao invés de um CTRL+C CTRL+V você pode selecionar uma palavra, clicar com o botão do meio para copiar, e depois clicar novamente com o botão do meio onde quiser para colar. :slight_smile:

3 curtidas

Essa opção me pareceu desabilitar em todos os apps que eu testei, mas ela é super prática, não me vejo usando o PC sem isso, é uma questão de desenvolver o hábito. Abraços! :slight_smile:

1 curtida

Obrigado Dio pelas respostas, não sabia que a “bolinha” era patente da microsoft, é até legal saber que existem extensões que “fazem o trabalho dela” mas infelizmente o problema é justamente a quebra do meu fluxo de trabalho por conta da funcionalidade de “copiar e colar” colocada de uma forma que ocorre acidentalmente com muita frequência.

Obrigado pela resposta, mesmo, mas essa opção que você listou na segunda postagem não funciona no XFCE, mesmo que eu instale o gnome-tweak-tool (que é quem adiciona esse menu). Tentei instalar o mesmo aqui e não faz diferença alguma tanto no VScode quanto no Spyder. Talvez no gnome até funcione, mas no XFCE não teve resultado algum.

Achei uma solução.

Eu sei que estou respondendo ao meu próprio tópico com uma solução mas a ideia aqui era trazer para este forum uma discussão sobre as possíveis soluções para este problema, lembrando que o problema não é a existência da possibilidade de copiar e colar com o botão do meio do mouse, mas sim a impossibilidade de desabilitar isso.

O Dio já mostrou que existe ao menos um plugin para “emular” o comportamento do clique do meio do mouse existente no windows para o Chrome e uma forma de desabilitar a função colar no gnome.

Achei no github uma solução que me pareceu mais generalista e que funcionou muito bem aqui em casa, o XMousePasteBlock.

Caso mais alguém conheça outras formas de configurar o clique central do mouse, ou ao menos desabilitar o “copiar e colar” dele, seria muito bem vindo como mais possibilidades para solução deste problema!

2 curtidas

Funcionou bem pra mim fazendo assim:

No Gnome

$ dconf write /org/gnome/desktop/interface/gtk-enable-primary-paste false

Ou pelo gsettings

$ gsettings set org.gnome.desktop.interface gtk-enable-primary-paste false

Pra habilitar de volta é só substituir o false por true

No Firefox:

Digite about:config na URL, pesquise por middlemouse.paste e mude para false

1 curtida

O botão do meio do mouse serve para Colar, mas ele cola o buffer do PRIMÁRIO.
A não ser que tu tenha um gerenciador de áreas de transferência que sincroniza
os bufferes PRIMÁRIO e da Área de Transferência propriamente dita…

Tenho um vídeo no meu canal do Youtube que explica como se adquirir proficiência no X:
\https://www.youtube.com/watch?v=UXHlzaIDjP8

Então meu amigo, se tu quer desabilitar essa função complica muito por que ela é do X…
Mas se tu usar o Wayland, não vai ter essa função!
Abraço

1 curtida

Cheguei muito próximo de comprar um mouse e arrancar o switch do clique central só por causa disso. Essa função estava literalmente me enlouquecendo, perdi horas de trabalho só porque alguma coisa foi colada no lugar errado no meio de milhares de linhas!

Enfim, achei um programa que burla esse problema (pra mim essa função é um defeito já que ela atrapalha o meu workflow e não é desabilitável).

2 curtidas

Eh uma funcionalidade que eu gosto muito do X11…
Inclusive eu ainda não me acostumei com a ideia de migrar para o Wayland por causa dessa funcionalidade do X (e outras coisas)…

Eu gosto de ter duas seleções carregadas. A seleção PRIMÁRIA é volátil e vc carrega ela simplesmente selecionado um texto com o cursor do mouse. E para colar, vc deve clicar Exatamente onde deseja colar com o botão do meio do rato.

O copiar e colar mais comum (função importada do Windows), eh o selecionar o texto com o cursor do mouse e apertar CTRL+C e colar com CTRL+V. Esse eh o buffer da Área de Transferência propriamente dito, um cache que tem mais estabilidade do que o cache da Seleção do PRIMÁRIO, que muda a cada seleção nova com o mouse.

Então eh necessário ter proficiência com o mouse do X para usar essas duas áreas de transferência simultâneamente.

1 curtida

Tudo bem que você goste, cada um se acostuma com um workflow diferente. O problema é que essa opção não é desligável, então quem usa o mouse3 para outras funções se ferra porque se você erra a posição do clique ou se você pressiona “sem querer” o mouse3, o estrago pode ser gigantesco.

Como foi o meu caso, onde eu perdi literalmente 5 horas de trabalho só porque uma letra foi colada numa string e, por sorte, era um índice válido dentro do meu dataframe, ou seja, ele começou a errar todos os cálculos e eu tive que rever o código inteiro para descobrir que um “paste acidental” tinha me ferrado.

Se essa opção fosse desabilitável seria ótimo, perfeito, mas ela é enfiada goela abaixo do usuário.

2 curtidas

Eh uma função hackeavel, como tudo no workspace do usuário do Unix.
Sei que vc escolheu um hack preferido mas existem inúmeros outros.
Nukeshell: migre pro Wayland (vc nem falou nada do Wayland, por isso insisto…)

Brincadeiras a parte, os aplicativos padrão do X eram muito bizarros e você ainda pode utilizar alguns deles! Tipo o XTerm tem umas funções muito loucas com o mouse… Se vc usar os desktops padrão do X só por curiosidade, como o `twm’ e afins, que ainda são super utilizáveis hoje em dia, vai ter uma experiência muito diferente com mouse janelas etc do que hoje se tornou… também dá para instalar vários aplicativos padrão do xorg que muitos ainda retém workflows com o mouse bastante bizarros… Mas que bom que conseguiu hackear!

1 curtida

Infelizmente isso não é viável, muito trabalho, muita mudança e muita coisa nova para se acostumar por causa de um problema pontual (sério, mas pontual).

A solução que achei está muito longe de ser a melhor, já que, ele literalmente torna o clique do mouse3 como um clique do mouse1, assim, se eu clicar sem querer em algum lugar “errado” é o efeito análogo à clicar com o botão esquerdo. Problema esse que é muito mais ameno do que “colar coisas aleatórias”.

Outra solução que foi bastante sugerida aqui também foi mudar para o gnome, que implementou uma solução para esse defeito, mas ai entra novamente o meu primeiro ponto, mudança total de costumes/workflow para solucionar um problema pontual.

Só para fazer uma analogia aqui, trocar de servidor gráfico ou de DE por causa de um problema pontual como esse, seria o equivalente a vender sua casa e mudar de endereço só porque você achou um rato na sala.

Enfim, a solução que achei não é a que considero “melhor” mas sim, a “menos pior” e a que me trás menor transtorno.

1 curtida

Não consigo atualizar a postagem original onde sugeri o XMousePasteBlock então vou atualizar aqui.

Recentemente voltei a usar o OpenSUSE e acabei descobrindo que o XMousePasteBlock não é uma solução completa. Não são todos os programas que têm a área de transferência do clique central desabilitada (aparentemente apenas aplicativos Qt funcionam no OpenSUSE, enquanto no Xubuntu funcionava com todos os programas).

Contudo encontrei no Stack Exchange uma solução que funcionou completamente no OpenSUSE:

1 - Instale os pacotes xbindkeys, xsel e xdotool. Encontrei estes pacotes tanto no repositório oficial do Ubuntu 20.04 quanto no do OpenSUSE Tumbleweed

2 - Caso não exista, crie o arquivo ~/.xbindkeysrc e coloque o seguinte script nele:

"echo -n | xsel -n -i; pkill xbindkeys; xdotool click 2; xbindkeys"
b:2 + Release

3 - Execute o xbindkeys (coloque na inicialização) e, caso modifique o arquivo, reinicie o processo com xbindkeys -p

Obs.: Encontrei algumas pessoas alegando que tiveram que mudar a linha b:2 + Release por b:2 para que esta solução funcione.

1 curtida

Se estiver usando o vscode entre em configurações e pesquise por selectionClipboard, logo em seguida desmarque esse opção.

1 curtida

Olha só, não sabia que o VScode suportava este recurso (de desabilitar por conta o primary clipboard). Obrigado!

1 curtida

Este tópico foi fechado automaticamente 180 dias depois da última resposta. Novas respostas não são mais permitidas.