mouse, por vezes, doubleclicks quando clico uma vez

33

Eu tenho um problema que está se tornando um pesadelo, na medida em que estou pensando que seria mais fácil simplesmente descartar o Ubuntu completamente e tentar outra coisa. Eu tenho um PC HP com Ubuntu 12.04. Quando eu cliquei com o mouse, às vezes ele clica duas vezes (talvez 50% do tempo).

Até agora, isso levou a: envio aleatório de e-mails inacabados, destaque e exclusão aleatórios de itens que eu não queria excluir enquanto escrevia e-mails ( muito frustrante), excluindo aleatoriamente duas guias do navegador em vez de uma (várias vezes) e (de certa forma, o mais irritante) uma experiência de usuário final muito frustrante ao tentar mover janelas pela área de trabalho ou recortar e colar a partir de uma janela de terminal. Graças a Deus por Alt - F7 - mas eu não quero ter que aprender atalhos de teclado para cada programa que eu uso, assim como para o SO (e não ser capaz de copiar e colar é uma grande perda para mim).

Eu não sou a única pessoa com esse problema, mas googling indica que pode haver várias razões para isso; nenhuma das correções que li online funcionou para mim. Deixe-me passar por tudo, incluindo correções que funcionaram para outras pessoas, mas não para mim. Oh - Eu tenho um mouse óptico da HP.

  • Não é um rato quebrado. Eu tentei dois ratos no meu sistema - ambos apresentam o problema. Ambos os ratos funcionam bem no meu laptop doméstico também rodando o Ubuntu 12.04.

  • Meu /etc/X11/xorg.conf tem apenas algumas linhas e não possui seção "InputDevice".

  • Eu não tenho o hald ou o pacote hal instalado.

  • Começou há uma semana e parece que não está melhorando nem pior.

  • Em desespero, acabei de atualizar para 12.10, mas isso não resolveu o problema e agora estou executando uma distro que não é uma LTS (e, portanto, não é ideal para mim: - \)

Mas está tornando meu sistema muito difícil de usar.

Possivelmente importante atualização : tentei fazer algumas investigações com o xev. Parece-me que parece uma conexão ruim nesses ratos - isso é comum? Eu posso segurar o botão do mouse e, em seguida, obter (clique do mouse) (pausa) (liberação do mouse) (muito muito curta pausa) (clique do mouse) (pausa) (liberação do mouse) (muito muito curta pausa) Eu me pergunto se por exemplo outros sistemas operacionais dizem "você não pode liberar e, em seguida, clique novamente dentro de 0,05 segundos, então isso deve ter sido uma falha e eu assumirei que o botão nunca foi liberado". Posso dizer ao Ubuntu para ignorar os eventos release-and-then-reclick-almost-instantaneamente ??

Isso parece um problema de mouse ruim. Talvez eu deva desenterrar um mouse novo? Eu só tentei os mais antigos: - \

    
por Kevin Buzzard 19.07.2013 / 11:01

8 respostas

37

OK após testes extensivos usando xev na máquina afetada e alternando entre vários mouses em vários sistemas, acredito ter resolvido esse problema. Claro YMMV.

Minha solução: é um mouse quebrado.

Mais precisamente, o conector ativado ao clicar é um pouco velho ou sujo ou algo assim, e algumas vezes, ao segurar o botão, a conexão é feita e depois momentaneamente quebrada, e então feita novamente, causando o duplo clique. / p>

Objeção: Mas o mouse funciona bem quando eu o conecto na minha máquina Windows!

Contador: Não seria trivial colocar em um driver, ou em um SO, a seguinte linha de pseudocódigo: "se o usuário desbloquear o mouse e clicar novamente em 0.05 segundos, provavelmente é um conector sujo então vamos apenas ignorar isso ". Assim, não é possível que, se você mudar o mouse para outro computador que esteja executando outro sistema operacional e / ou usando outro driver em hardware diferente (mesmo com o mesmo sistema operacional, pode estar usando hardware diferente, certo?), Você poderá obter resultados diferentes ?

Objeção: Mas eu tentei outro mouse antigo e ele exibiu o mesmo problema!

Counter: incrível como dois mouses antigos da mesma empresa podem quebrar da mesma maneira, hein? E você nunca notou porque o segundo mouse antigo que você tentou não estava exibindo nenhum problema quando conectado a um hardware diferente (veja o contador anterior).

Se você realmente não acredita que seu mouse está quebrado, teste-o:

$ xev

e, em seguida, localize o quadrado com o fundo preto, clique nele e observe a saída. Você definitivamente sempre recebe um "clique" limpo e nada mais? Eu costumava receber um clique limpo, mas ocasionalmente uma "rejeição" (clique em desmarcar clique). Melhor ainda, talvez:

$ xev | grep ButtonRelease

Agora, coloque o mouse no quadrado com o contorno preto (ou em qualquer lugar da janela) e clique e desmarque 20 vezes. Você deve obter uma linha "ButtonRelease" toda vez que soltar o botão, e nunca o contrário. Eu ocasionalmente pegava uma quando clicava.

Pesadelo terminado.

    
por Kevin Buzzard 22.07.2013 / 11:40
6

Manutenção de zen e mouse. Parece que muitos estão tendo problemas com o clique duplo do mouse quando um clique é aplicado. O botão do mouse é um microinterruptor. O fato da vida é que os contatos da chave saltam. Eles não saltam, mas esfregam. Nós vamos chamá-lo saltar de qualquer maneira. Por alguma razão, os programadores deixaram cair a bola nesta. Um loop de espera com duração suficiente deve ser aplicado para que os contatos sejam resolvidos antes da leitura. A propósito de nada e em uma amostra de uma minha solução foi colocar um capacitor através dos contatos do switch. Eu usei uma capa de 0.1uF sem nenhuma outra razão que eu tivesse uma em tamanho pequeno que coubesse bem dentro do mouse. Não fiz nenhuma análise sofisticada de tempo de permanência, constantes de tempo ou níveis de decisão para encontrar um valor ideal. Vários modelos terão parâmetros diferentes de qualquer maneira.

Eu tenho usado essa modificação há algum tempo e o problema não ressurgiu até agora.

Para aplicar o mod. Encontre um capacitor de pequenas dimensões físicas que caiba dentro do case do mouse. Eu usei um 0,1uF porque eu tinha um e é um bom número, mas outros valores provavelmente funcionarão, mas não serão muito grandes ou muito pequenos. O que é muito grande ou pequeno é uma questão de experiência. Muito grande pode afetar os cliques duplos pretendidos, muito pequenos não alcançarão o efeito desejado. Eu soldei uma perna da tampa em um local conveniente, onde ela não ficou com a estrutura interna do mouse, no lado de cobre da placa, no plano de 0 volts (plano de terra, se você quiser). outra perna da tampa para o interruptor ativo com um pouco de fio fino. Eu usei um componente reciclado com pernas curtas. Um novo provavelmente teria pernas longas o suficiente para chegar onde é necessário. Você precisará de um ferro de solda adequado para o trabalho.

Se você não conhece capacitores. Um condensador de 0,1 fF pode ser designado de 0,1 fF ou 104 ou 100 fF ou ter bandas de cor amarela castanha preta. Um tipo de montagem de superfície também seria uma boa escolha. Prendê-lo com alguns fios de arame fino. Poderia colá-lo ao lado da conexão da placa.

Eu tenho um plano B que eu posso tentar da próxima vez ou se o plano atual eventualmente falhar. A substituição do microinterruptor por um interruptor de membrana táctil spst mount da PCB deve resolver o problema. Esse é o tipo de switch usado em teclados e teclados e não apresenta esse problema. O pé imprime nada como o micro interruptor. Está disponível um interruptor com 7 mm de altura que ficará na mesma altura que o microinterruptor existente. Um interruptor menor precisaria ser espaçado até a altura correta. Dobre as pernas em ângulos retos ao corpo do interruptor e cole-o na placa de forma que o atuador fique alinhado com a posição ocupada pelo atuador da micro-chave. O botão do mouse tem que acertar o ponto correto. Conecte os contatos do switch com algum fio fino e tudo deve ser bom na teoria.

    
por user277786 12.02.2015 / 11:28
5

Eu criei um xserver-xorg-input-evdev corrigido para o Ubuntu 14.10. Eu usei as instruções do link (o patch pode ser encontrado aqui e aqui ) e um manual de empacotamento da Debian.

Aqui estão minhas anotações sobre como criar um pacote.

#!/bin/bash
# http://blog.guntram.de/?p=16
#

apt-get build-dep xserver-xorg-input-evdev

dquilt="quilt --quiltrc=${HOME}/.quiltrc-dpkg"

wget --output-document=evdev-debounce.patch http://blog.guntram.de/?ddownload=20
apt-get source xserver-xorg-input-evdev

cd xserver-xorg-input-evdev-*

$dquilt new debounce.patch
$dquilt add include/evdev-properties.h src/Makefile.am src/debounce.c src/evdev.c src/evdev.h src/debounce.c
patch -p1 <../evdev-debounce.patch

$dquilt refresh
$dquilt header -e

debuild -us -uc -b
cd ..

sudo dpkg -i xserver-xorg-input-evdev_*.deb
  • Boas notícias: funcionou.
  • Notícia ruim: nem sempre ajuda. Meu contato do botão do mouse foi tão ruim que precisou de um atraso de 200 ms, o que me impede de clicar duas vezes. Outro mouse funcionou.

Obrigado @MatijaNalis, os passos de obtenção de patches podem ser:

wget https://aur.archlinux.org/packages/xf/xf86-input-evdev-debounce/xf86-input-evdev-debounce.tar.gz
tar xzf xf86-input-evdev-debounce.tar.gz
# ...
patch -p1 < ..xf86-input-evdev-debounce/debounce.patch
    
por Victor Sergienko 01.05.2015 / 18:22
3

O problema explicado aqui: link
 - entre em contato com a filtragem de rejeição. O software precisa estar presente em qualquer aplicativo, de simples computadores de placa única a sistemas operacionais, de alguma forma.

link

À medida que os contatos / botões ficam mais antigos, o efeito piorará. WD40 pode não ser o melhor spray para usar em eletrônica, há outros mais adequados. Google 'Contact spray'.

    
por Hannu 27.06.2014 / 21:32
2

Há um bug de software e, a partir de junho de 2014, não há nenhuma correção para ele. Isso não acontece em todos os modles de mouse. Meus mouses logitech estão bem, mas a maioria dos outros falha, não importa o que você faça. Isso é para RHEL, CentOS e Ubuntu. Todos os ratos trabalham em caixas de janelas puras, mas o mesmo problema está lá no KVM

Nenhuma solução ainda, os desenvolvedores sabem disso.

Felicidades. Don.

    
por Don 27.06.2014 / 20:23
1

No meu caso, era hardware ou, mais precisamente, algum problema mecânico com o microinterruptor do botão do mouse.

Eu tive esse problema com 2 mouses: o antigo Logitech m-uv69 e outro mouse que comprei há cerca de um ano e consegui consertar os dois sem muito esforço. Isso é o que eu fiz:

  • tirou a tampa do mouse
  • diretamente pressionado micro botão pequeno interruptor muitas vezes

Depois disso, quase todos os cliques duplos não intencionais foram embora. Eu não sei o que exatamente os causou dentro do micro switch. Provavelmente ficou sujo ou algo assim e empurrando rapidamente faz a sujeira ir embora.

    
por ks1322 14.10.2017 / 20:33
1

O Spray WD40 é mágico para muitos problemas, incluindo o volante de volume em fones de ouvido com rac rac rac ruídos, também para reparar este problema de cliques do mouse ...

Teste, é muito rápido, não precisa abrir o mouse ou abrir os fones de ouvido, borrifar e ir bem outra hora…

    
por user259941 19.03.2014 / 16:48
0

Eu tive um problema com um botão adicional clicando duas vezes. Como eu já tinha mapeado com xbindkeys (veja Como posso atribuir ações a todos os botões do meu mouse? para obter mais informações sobre isso) minha solução estava alterando a entrada no ~/.xbindkeysrc da seguinte maneira:

"if [ ! -e /dev/shm/button ]; then touch /dev/shm/button; /usr/bin/xte 'keydown Control_L' 'key Page_Down' 'keyup Control_L'; sleep 0.2; rm  /dev/shm/button; fi"
b:7

Isso cria um "arquivo de trava" para cada botão pressionado em /dev/shm/ (que eu espero que esteja na RAM) e o remove após 0,2 segundo. E o comando xte deve ser feito com o clique do mouse e não deve ser feito duas vezes em 0,2 segundos.

(Apenas pensei em compartilhar minha solução, caso alguém queira copiá-la ou consertá-la.)

    
por pirad 21.03.2018 / 16:25