Eu tenho um problema que está se tornando um pesadelo, na medida em que penso que pode ser mais fácil simplesmente descartar completamente o Ubuntu e tentar outra coisa. Eu tenho um PC HP executando o Ubuntu 12.04. Quando clico com o botão esquerdo do mouse, algumas vezes ele clica duas vezes (talvez 50% do tempo).
Até agora, isso levou a: envio aleatório de emails inacabados, destaque e exclusão aleatórios de coisas que eu não queria excluir enquanto escrevia emails ( muito frustrante), exclusão aleatória de duas guias do navegador em vez de uma (várias vezes) e (em certo sentido) a mais irritante): uma experiência muito frustrante para o usuário final ao tentar mover as janelas da área de trabalho ou recortar e colar de uma janela do terminal. Graças a Deus por Alt- F7- mas eu não quero aprender atalhos de teclado para todos os programas que uso e para o sistema operacional (e não poder copiar e colar é uma grande perda para mim).
Não sou a única pessoa com esse problema, mas pesquisar no Google 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 hp.
Não é um mouse quebrado. Eu tentei dois mouses no meu sistema - ambos apresentam o problema. Ambos os ratos funcionam bem no meu laptop em casa, também executando o Ubuntu 12.04.
Meu
/etc/X11/xorg.conf
possui apenas algumas linhas e não possui a seção "InputDevice".Eu não tenho hald, ou o pacote hal instalado.
Tudo começou há cerca de uma semana e não parece estar ficando melhor ou pior.
Em desespero, acabei de atualizar para a 12.10, mas isso não resolveu o problema e agora estou executando uma distro que não é uma LTS (e, portanto, não é o ideal para mim: - \)
Mas está tornando meu sistema muito difícil de usar.
Atualização possivelmente importante : tentei fazer algumas investigações com o xev. Parece-me que parece uma conexão ruim nesses ratos - isso é comum? Posso manter pressionado o botão do mouse e obter (clique do mouse) (pausa) (liberação do mouse) (pausa muito curta) (clique do mouse) (pausa) (liberação do mouse) (pausa muito curta) (clique do mouse) etc. Eu me pergunto se, por exemplo, outros sistemas operacionais dizem "você não pode liberar e, em seguida, clica novamente em 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 de liberação e clique novamente quase instantaneamente?
Isso parece um problema de mouse ruim. Talvez eu devesse cavar um mouse mais novo? Eu só tentei muito antigos: - \
fonte
Respostas:
OK, após extensos testes usando o xev na máquina afetada e alternando entre vários mouses em vários sistemas, acredito que resolvi 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, às vezes, ao pressionar o botão, a conexão é feita e, em seguida, momentaneamente interrompida, e novamente feita, causando o clique duplo.
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 sistema operacional a seguinte linha de pseudocódigo: "se o usuário desmarca o mouse e clica novamente em 0,05 segundos, provavelmente é um conector sujo, então vamos apenas ignore isso ". Portanto, não é possível que, se você alternar o mouse para outro computador executando outro sistema operacional e / ou usando outro driver em hardware diferente (mesmo com o mesmo sistema operacional, você pode estar usando hardware diferente, certo?), Poderá obter resultados diferentes ?
Objeção: Mas tentei outro mouse antigo e ele exibiu o mesmo problema!
Contador: incrível como dois ratos velhos da mesma empresa podem quebrar da mesma maneira, não é? E você nunca notou porque o segundo mouse antigo que você tentou não exibia problemas quando conectado a um hardware diferente (consulte o contador anterior).
Se você realmente não acredita que seu mouse está quebrado, teste-o:
e encontre o quadrado com o fundo preto, clique nele e observe a saída. Definitivamente, você sempre recebe um "clique" limpo e nada mais? Frequentemente, eu recebia um clique limpo, mas ocasionalmente um "salto" (clique, clique e clique). Melhor ainda, talvez:
Agora coloque o mouse no quadrado com o contorno preto (ou em qualquer lugar dessa 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. Ocasionalmente, recebia um quando clicava.
O pesadelo acabou.
fonte
xev
teste não me deu nada de incomum, mas tenho que me perguntar se há mais nisso.xev | awk '/ButtonRelease/ {print $1,i++}'
.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 do switch saltam. Na verdade, eles não saltam, mas esfregam. Vamos chamá-lo de rejeição de qualquer maneira. Por alguma razão, os programadores deixaram cair a bola nessa. Um loop de espera com duração suficiente deve ser aplicado para que os contatos se estabilizem antes da leitura. A propósito de nada, e em uma amostra de uma, minha solução foi colocar um capacitor nos contatos do switch. Eu usei uma tampa de 0,1uF por nenhuma outra razão, a não ser que eu tivesse uma em um tamanho pequeno que caberia perfeitamente dentro do mouse. Não fiz análises sofisticadas do 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.
Estou usando essa modificação há algum tempo e o problema ainda não ressurgiu.
Para aplicar o mod. Encontre um capacitor de pequenas dimensões físicas que caiba dentro do estojo do mouse. Eu usei um 0.1uF porque eu tinha um e é um número bom, mas outros valores provavelmente funcionarão, mas não serão muito grandes ou muito pequenos. O que é grande ou pequeno demais é uma questão de experimento. Um tamanho muito grande pode afetar os cliques duplos pretendidos, e um tamanho muito pequeno não atingirá o efeito desejado. Soldei uma perna da tampa em um local conveniente, onde ela não atrapalhava a estrutura interna do mouse, no lado de cobre da placa, para o plano de 0 volts (plano de terra, se desejar). 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 com ponta fina adequado para o trabalho.
Se você não conhece capacitores. Um capacitor de 0,1 uF pode ser designado como 0,1 uF ou 104 ou 100 nF ou ter faixas marrons de cor amarela preta. Um tipo de montagem em superfície também seria uma boa escolha. Conecte-o com alguns fios de arame fino. Pode colá-lo ao lado da conexão da placa.
Eu tenho um plano B que posso tentar na próxima vez ou se o plano atual eventualmente falhar. A remoção do microinterruptor para um comutador de membrana tátil com montagem PCST spst deve resolver o problema. Esse é o tipo de chave usada nos teclados e teclados e não apresenta esse problema. O pé não imprime nada como o microinterruptor. Está disponível um interruptor com 7 mm de altura que entra na mesma altura do micro interruptor existente. Um comutador menor precisaria ser espaçado até a altura correta. Dobre as pernas em ângulo reto com o corpo do interruptor e cole-o na placa para que o atuador fique alinhado com a posição ocupada pelo atuador do microinterruptor. O botão do mouse deve atingir o local correto. Conecte os contatos da chave com algum fio fino e tudo deve ser bom em teoria.
fonte
Eu construí um patch
xserver-xorg-input-evdev
para o Ubuntu 14.10. Eu usei as instruções em http://blog.guntram.de/?p=16 (o patch pode ser encontrado aqui e aqui ) e um manual de empacotamento Debian.Aqui estão minhas anotações sobre a construção de um pacote.
edit : Obrigado @MatijaNalis, o patch para obter as etapas pode ser:
fonte
O problema, explicado por Jack Ganssle, aqui: http://www.eng.utah.edu/~cs5780/debouncing.pdf
- filtragem de rejeição por contato. O software precisa estar presente em qualquer aplicativo, de simples computadores de placa única a sistemas operacionais, de alguma forma.
https://www.google.se/?gfe_rd=cr&safe=off#q=%2Bcontact+%2Bbounce+%2Bsoftware&safe=off
À medida que os contatos / botões envelhecem, o efeito fica pior. O WD40 pode não ser o melhor spray para uso em eletrônicos, existem outros mais adequados. Spray de contato do Google.
fonte
Ocorreu um problema com um botão adicional clicando duas vezes. Como eu já o havia mapeado
xbindkeys
(consulte Como posso atribuir ações a todos os botões do mouse? Para obter mais informações), minha solução foi alterando a entrada da~/.xbindkeysrc
seguinte maneira:Isso cria um "arquivo de bloqueio" para cada botão pressionado
/dev/shm/
(que espero esteja na RAM) e o remove após 0,2 segundos. E oxte
comando 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 corrigi-la.)
fonte
Existe um erro de software e, em junho de 2014, não há solução para isso. Isso não acontece em todos os modelos de mouse. Meus mouses da Logitech estão bem, mas a maioria dos outros falha, não importa o que você faça. Isto é para RHEL, CentOS e Ubuntu. Todos os mouses funcionam em caixas de janelas puras, mas o mesmo problema existe nas KVMs
Nenhuma solução ainda, os desenvolvedores sabem disso.
Felicidades. Don.
fonte
O spray WD40 é mágico para muitos problemas, inclusive volantes com fones de ouvido com ruídos rac rac rac, também para reparar esse 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 vez…
fonte
No meu caso, era hardware ou, mais precisamente, algum problema mecânico no microinterruptor do botão do mouse.
Eu tive esse problema com dois ratos: o antigo Logitech m-uv69 e outro mouse que comprei há um ano e consegui consertar os dois sem muito esforço. Isto é o que eu fiz:
Depois disso, quase todos os cliques duplos não intencionais foram embora. Não sei exatamente o que os causou dentro do microinterruptor. Provavelmente ficou sujo ou algo assim e empurrá-lo rapidamente faz a sujeira desaparecer.
fonte