한 번 클릭하면 마우스가 두 번 클릭되는 경우가 있음


39

우분투를 완전히 긁어 내고 다른 것을 시도하는 것이 더 쉬울 것이라고 생각할 정도로 악몽이되는 문제가 있습니다. Ubuntu 12.04를 실행하는 HP PC가 있습니다. 마우스로 마우스 왼쪽 버튼을 클릭하면 두 번 클릭되는 경우가 있습니다 (시간의 50 % 정도).

지금까지 이것은 완료되지 않은 이메일을 무작위로 전송하고, 이메일을 작성하는 동안 삭제하고 싶지 않은 항목을 무작위로 강조 표시 및 삭제합니다 ( 매우 실망스러운). 하나 (몇 번) 대신 두 개의 브라우저 탭을 무작위로 삭제합니다 (어떤 의미에서). 가장 성가신) 데스크톱에서 창을 이동하거나 터미널 창에서 잘라내어 붙여 넣기를 시도 할 때 매우 실망스러운 최종 사용자 경험. 대한 이여 감사 Alt- F7-하지만 난 내가 사용하는 모든 프로그램뿐만 아니라 OS에 대한 키보드 단축키를 배우고 싶지 않아 (붙여 넣기를 복사 할 수 없다는 것은 나에게 큰 손실이다).

나는이 문제를 가진 유일한 사람은 아니지만 인터넷 검색은 여러 가지 이유가있을 수 있음을 나타냅니다. 온라인에서 읽은 수정 사항 중 어느 것도 나를 위해 일하지 않았습니다. 다른 사람에게는 효과가 있지만 나에게는 효과가없는 수정 프로그램을 포함하여 모든 것을 살펴 보겠습니다. 아 — hp 광학 마우스가 있습니다.

  • 깨진 마우스가 아닙니다. 시스템에서 두 개의 마우스를 사용해 보았습니다. 둘 다 문제가 있습니다. 이 두 마우스는 Ubuntu 12.04를 실행하는 가정용 랩톱에서도 잘 작동합니다.

  • /etc/X11/xorg.conf줄은 몇 줄에 불과하며 "InputDevice"섹션이 없습니다.

  • 중단되었거나 hal 패키지가 설치되어 있지 않습니다.

  • 약 일주일 전에 시작되었으며 더 나아지는 것 같지 않습니다.

  • 필사적으로 방금 12.10으로 업그레이드했지만 문제가 해결되지 않았으므로 이제 LTS가 아닌 배포판을 실행 중입니다 (따라서 나에게 이상적이지 않습니다 :-\)

그러나 그것은 내 시스템을 사용하기가 매우 어려워지고 있습니다.

아마도 중요한 업데이트 : xev로 조사를 시도했습니다. 이 마우스에서 나쁜 연결처럼 보이는 것 같습니다. 이것이 일반적입니까? 마우스 버튼을 누른 다음 (마우스 클릭) (일시 중지) (마우스 릴리스) (매우 짧은 일시 중지) (마우스 클릭) (일시 중지) (마우스 릴리스) (매우 짧은 일시 중지) (마우스 클릭) 등 예를 들어 다른 운영 체제에서 "0.0 초 내에 해제 한 다음 다시 클릭 할 수 없으므로 고장이 났으며 버튼을 놓지 않은 것으로 가정합니다."라는 메시지가 표시되는지 궁금합니다. Ubuntu에 릴리스 후 다시 클릭하면 거의 즉시 발생하는 이벤트를 무시하도록 할 수 있습니까?

이것은 나쁜 마우스 문제처럼 보입니다. 새로운 마우스를 찾아야할까요? 나는 아주 오래된 것들만을 시도했다 :-\


런치 패드의 버그로보고 했습니까?
Alvar

일주일 전에 일어난 일을 모두 기억할 수 있습니까?
hytromo

일주일 전에 일어난 일은 정확히 매주 일어나는 것입니다. "업그레이드 설치"를 클릭하고 때로는 "컴퓨터를 재부팅하여 설치를 마칩니다"를 클릭하기 만하면됩니다. 이 시스템은 바로 사용이 가능합니다. 기본적으로 제공되는 패키지 이외의 다른 패키지 만 Sparkshare를 실행하는 데 필요한 패키지라고 생각합니다.
케빈 버저 드

@ Alvar :이 버그에 대해 런치 패드에 혼란이있는 것 같습니다. 내 일반적인 인상은 어떤 사람들은이 문제를 겪고 문제는 마우스가 고장 나고 어떤 사람들은이 문제를 겪고 문제는 일부 로지텍 드라이버이며 어떤 사람들은이 문제를 겪고 다른 문제가 있다는 것입니다. 보고하고 소음을 줄이려고합니다 ...
Kevin Buzzard

파이어 폭스 제스처와 함께 마우스가 부러 졌다고 생각되는 관련 문제에 부딪 쳤지 만 "파이어 폭스 백"을 수행하는 마우스의 사이드 버튼 인 것으로 나타났습니다
Matija Nalis

답변:


47

영향을받는 컴퓨터에서 xev를 사용하여 광범위한 테스트를 수행하고 다양한 시스템의 다양한 마우스 사이를 전환 한 후에 OK, 나는이 문제를 해결했다고 생각합니다. 물론 YMMV.

내 솔루션 : 마우스가 부러졌습니다.

보다 정확하게 말하면 클릭 할 때 활성화 된 커넥터가 약간 오래되었거나 더러워 졌거나 때로는 버튼을 누르고있을 때 연결이 끊어지고 잠시 끊어진 다음 다시 연결되어 더블 클릭이 발생하는 경우가 있습니다.


이의 제기 : 그러나 마우스를 Windows 컴퓨터에 연결하면 마우스가 제대로 작동합니다!

카운터 : 의사 코드의 다음 줄을 드라이버 나 OS에 넣는 것이 간단하지 않습니까? "사용자가 마우스를 클릭하지 않고 0.05 초 이내에 다시 클릭하면 커넥터가 더러워 질 수 있습니다. 그냥 무시하십시오 " 따라서 마우스를 다른 OS를 실행하거나 다른 하드웨어에서 다른 드라이버를 사용하는 다른 컴퓨터로 전환하면 (같은 OS에서도 다른 하드웨어를 사용하고있을 수도 있습니다), 다른 결과를 얻을 수는 없습니다 ?

이의 제기 :하지만 다른 오래된 마우스를 사용해 보았는데 같은 문제가있었습니다!

카운터 : 같은 회사의 오래된 쥐 두 마리가 어떻게 같은 방식으로 깰 수 있는지 놀랍습니다. 그리고 당신이 시도한 두 번째 오래된 마우스가 다른 하드웨어에 연결되었을 때 아무런 문제가 없었기 때문에 눈치 채지 못했습니다 (이전 카운터 참조).


마우스가 손상되었다고 생각하지 않으면 테스트하십시오.

$ xev

그런 다음 검은 색 배경의 사각형을 찾아 클릭 한 다음 출력을 확인합니다. 항상 한 번의 "클릭"만하면됩니까? 클릭이 자주 발생하지만 '반복'(클릭 클릭 클릭)이 발생하는 경우가 종종 있습니다. 아마도 더 좋을 것입니다 :

$ xev | grep ButtonRelease

이제 검은 색 외곽선 (또는 해당 창의 아무 곳이나)을 사용하여 마우스를 사각형에 붙이고 20 번 클릭하고 클릭을 해제하십시오. 버튼을 놓을 때마다 "ButtonRelease"줄이 나타나야합니다. 클릭 할 때 가끔씩 얻을 것입니다.

악몽.


최근에 예기치 않은 클릭이 발생하는 것을 발견 한 두 개의 동일한 마우스가 있는데 둘 다 같은 주에 '입고'하지는 않았습니다. 귀하의 xev테스트에서 이상한 점은 없었지만 더 많은 것이 있는지 궁금합니다.
Tom Brossman

맞아요-두 대의 마우스를 가지고 있고 한 대의 컴퓨터에서 작업하지 않고 다른 마우스에서 작업하는 것도 매우 의심 스러웠습니다. 나는 "모두 부러진 마우스와 OS가 다른 OS뿐만 아니라 그것을 보상하지 않는 것"이외의 문제가 있다고 믿는 사람들이 있다고 확신합니다. 반면에 나는 오늘 아침 배를 뛰어 넘었다. 내 시스템이 다시 작동하고 있었고 지난주에는 마우스가 문제가 될 수 없다고 확신했지만 실제로는 그랬다.
케빈 버저 드

2
나와 함께 xev를 가지고 놀고 출력을 보는 데 5-10 분을 보냈습니다. 끊임없이 클릭 및 클릭 해제 등-클릭하지 않을 때 가끔 예기치 않은 클릭이 발생합니다. 80x24 터미널 창에서 xev의 출력을 보는 것은 "클릭하지 않은"클릭이 xev에 의해 전체 정보를 출력 할 수 있고 클릭하지 않은 클릭이 충분히 빨리 발생하기 때문에 오해의 소지가 있다고 말할 수 있습니다. (필자의 경우) xev 출력은 이전 페이지와 거의 동일하기 때문에 눈치 채지 못할 수도 있습니다.
케빈 버저 드

7
더 나은 아직 xev | awk '/ButtonRelease/ {print $1,i++}'.
arekolek

저에게 이것은 마우스 휠을 위로 스크롤 할 때 가끔 신호를 보내는 "버튼 3"(오른쪽 마우스 버튼)으로 나타납니다. 기괴한.
carbocation

9

선 및 마우스 유지 관리. 한 번의 클릭이 적용될 때 많은 사람들이 마우스 더블 클릭에 문제가있는 것 같습니다. 마우스 버튼은 마이크로 스위치입니다. 인생의 사실은 스위치 접점이 바운스된다는 것입니다. 그들은 실제로 튀지 않고 문지릅니다. 어쨌든 바운스라고 부릅니다. 어떤 이유로 프로그래머는 이것에 공을 떨어 뜨 렸습니다. 읽기 전에 접점이 안정되도록 충분한 지속 시간의 대기 루프를 적용해야합니다. 아무것도하지 않고 하나의 샘플에 대한 제안은 스위치 접점에 커패시터를 배치하는 것이 었습니다. 마우스 안에 잘 들어가는 작은 크기의 것 이외의 특별한 이유없이 0.1uF 캡을 사용했습니다. 최적의 가치를 찾기 위해 체류 시간, 시간 상수 또는 의사 결정 수준에 대한 멋진 분석을 수행하지 않았습니다. 어쨌든 다양한 모델에는 다른 매개 변수가 있습니다.

나는이 수정을 한동안 사용해 왔으며 문제는 지금까지 재 포장되지 않았습니다.

모드를 적용합니다. 마우스 케이스에 맞는 작은 물리적 크기의 커패시터를 찾으십시오. 하나를 가지고 있기 때문에 0.1uF를 사용했는데 좋은 숫자이지만 다른 값은 작동하지만 너무 크거나 작지 않습니다. 너무 크거나 작은 것은 실험의 문제입니다. 너무 크면 의도 된 더블 클릭에 영향을 줄 수 있으며 너무 작 으면 원하는 효과를 얻을 수 없습니다. 캡의 한쪽 다리를 편리한 위치에 납땜하여 마우스의 내부 구조를 보드의 구리면에서 0 볼트 평면 (원하는 경우 접지면)에 손상시키지 않았습니다. 캡의 다른 다리는 스위치에 약간의가는 선으로 활성화됩니다. 다리가 짧은 재활용 부품을 사용했습니다. 새로운 다리는 필요한 곳에 도달하기에 다리가 충분히 길 것입니다. 작업에 적합한 정밀한 팁 납땜 인두가 필요합니다.

커패시터를 모른다면. 0.1uF 커패시터는 0.1uF 또는 104 또는 100nF로 지정되거나 갈색 검은 노랑색 밴드를 가질 수 있습니다. 표면 실장 유형도 좋은 선택입니다. 미세한 철사로 연결하십시오. 보드 연결면에 붙일 수 있습니다.

다음에 시도하거나 현재 계획이 결국 실패 할 경우 계획 B가 있습니다. spst PCB 마운트 촉각 멤브레인 스위치 용 마이크로 스위치를 버리는 것은 문제를 해결해야합니다. 이것이 키보드와 키패드에서 사용되는 스위치 유형이며이 문제를 나타내지 않습니다. 발은 마이크로 스위치처럼 아무것도 인쇄하지 않습니다. 기존 마이크로 스위치와 동일한 높이로 제공되는 7mm 높이의 스위치를 사용할 수 있습니다. 더 작은 스위치는 올바른 높이까지 이격되어야합니다. 다리를 스위치 본체에 직각으로 구부려 보드에 접착하여 액추에이터가 마이크로 스위치 액추에이터가 차지하는 위치와 정렬되도록합니다. 마우스 버튼이 올바른 지점에 부딪쳐 야합니다. 스위치 접점을 미세한 와이어로 배선하십시오. 이론상 모두 양호해야합니다.


5
귀하의 답변은 100 % 정확하지만 하드웨어 Q & A가 아닌 소프트웨어 Q & A 사이트입니다. 따라서 : 1 / SW 문제에 대한 HW 솔루션을 제공한다는 적절한 경고를 추가하고, 2 / 답변을 줄입니다. 3 /이 작업을 수행하는 방법에 대한 그림에 대한 링크를 추가하십시오
Fabby

@Fabby 귀하의 제안 (1) 및 (3)은 훌륭하지만 (2)에는 그다지 많지 않으며 (3) 사소한 / 불필요합니다. 또한 약간 울퉁불퉁하고 간결합니다. 새로운 사용자에게 친숙해 지도록 노력해야합니다! :)

@Joe 1 / 의견을 위해 upvotes를보십시오. 2 / 예, 멋지지 않은 전보 스타일이므로 더 좋을 수 있습니다. 내 수비에서 : 나는 인간이 아니라 Vorlon 이고 여전히 공감에 노력하고 있습니다 ... ;-)
Fabby

9

xserver-xorg-input-evdev우분투 14.10 용 패치 를 만들었습니다 . http://blog.guntram.de/?p=16 (패치 여기여기에 있음 ) 의 지침 과 데비안 패키징 매뉴얼을 사용했습니다.

다음은 패키지 작성에 대한 참고 사항입니다.

#!/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
  • 좋은 소식 : 효과가있었습니다.
  • 나쁜 소식 : 항상 도움이되는 것은 아닙니다. 마우스 버튼 접촉이 너무 나빠서 200ms 지연이 필요하여 더블 클릭을 막을 수 있습니다. 또 다른 수신 거부 마우스가 제대로 작동하기 시작했습니다.

편집 : 감사 @MatijaNalis, 패치 획득 단계는 다음과 같습니다.

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

1
스크립트 변경 필요- "dquilt new"에서 "$"가 누락 됨, "patch"는 "$ dquilt add"및 "$ dquilt refresh"이전에 있어야하며 blog.guntram.de의 패치는 오래되었으며 aur의 다른 패치를 사용해야합니다. .archlinux.org. "apt-get build-dep xserver-xorg-input-evdev"도 추가해야합니다. 또한 (지정되지 않은) 구성 파일 대신 퀼트 환경 변수를 사용해야합니다 ( wiki.debian.org/UsingQuilt) . 그렇지 않으면 마우스가 부러 졌을 때 훌륭한 해결 방법처럼 보입니다.
Matija Nalis

3
수신 거부 기능이 libinput 1.9에 추가되었습니다 ( unix.stackexchange.com/a/451864/116842 ).
Jérôme

5

Jack Ganssle이 설명하는 문제는 다음과 같습니다. http://www.eng.utah.edu/~cs5780/debouncing.pdf-
접촉 바운스 필터링. 소프트웨어는 간단한 단일 보드 컴퓨터에서 운영 체제에 이르기까지 모든 응용 프로그램에 어떤 형태로든 있어야합니다.

https://www.google.se/?gfe_rd=cr&safe=off#q=%2Bcontact+%2Bbounce+%2Bsoftware&safe=off

연락처 / 버튼이 오래되면 효과가 악화됩니다. WD40은 전자 제품에 사용하기에 가장 적합한 스프레이가 아닐 수 있습니다. 더 적합한 스프레이가 있습니다. 구글 '콘택트 스프레이'.


4

추가 버튼을 두 번 클릭하는 데 문제가있었습니다. 이미 매핑 한 상태에서 xbindkeys( 내 마우스 버튼에 작업을 할당하는 방법은 무엇입니까? 를 참조하십시오) 솔루션은 ~/.xbindkeysrc다음과 같이 항목을 변경했습니다 .

"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

이것은 버튼을 누를 때마다 "잠금 파일"을 생성하고 /dev/shm/(RAM에 있음을 희망) 0.2 초 후에 제거합니다. 그리고 xte명령은 마우스 클릭시 수행되어야하며 0.2 초에 두 번 수행되지 않아야합니다.

(누구든지 솔루션을 복사하거나 수정하려는 경우 솔루션을 공유한다고 생각했습니다.)


마우스가 연속 ButtonPress / ButtonRelease 이벤트 스트림을 보내지 만 단일 이벤트로 변환하려는 경우에 탁월한 솔루션입니다. 이는 Microsoft 블루투스 마우스 및 틸트 휠 버튼과 같은 경우에 발생합니다.
Leo Alekseyev

2

소프트웨어 버그가 있으며 2014 년 6 월 현재 수정 된 버그가 없습니다. 모든 마우스 모델에서 발생하는 것은 아닙니다. 내 로지텍 마우스는 훌륭하지만 대부분의 다른 마우스는 당신이 무엇을하든 실패합니다. RHEL, CentOS 및 Ubuntu 용입니다. 모든 마우스는 순수한 윈도우 박스에서 작동하지만 KVM의 동일한 문제가 있습니다.

아직 해결책이 없습니다. 개발자는 이에 대해 알고 있습니다.

건배. 님.


1
버그에 대한 링크를 추가하고 그것에 대한 약간의 배경을 줄 수 있습니까?
Oli


1
다른 답변 (및 버그 보고서)에서 볼 수 있듯이 이것은 실제로 버그가 아니라 누락 된 기능입니다. Windows는 기본적으로 마우스에서 필터링을 디 바운스하지만 Linux는 그렇지 않습니다.
Hjulle

1

스프레이 WD40은 많은 문제, 마술처럼 rac rac rac 소음이있는 헤드폰의 볼륨 휠, 마술 같은 마우스 클릭 문제를 해결합니다.

테스트는 매우 빠르며 마우스를 열거 나 헤드폰을 열 필요가 없습니다.


1

제 경우에는 하드웨어 또는보다 정확하게는 마우스 버튼 마이크로 스위치의 기계적 문제였습니다.

나는 2 마리의 생쥐에서이 문제를 겪었다 : 구식 Logitech m-uv69와 약 1 년 전에 구입 한 또 다른 생쥐로 많은 노력을 기울이지 않고 두 마리를 수리 할 수 ​​있었다. 이것이 내가 한 일입니다.

  • 마우스 상단 덮개를 벗어
  • 직접 마이크로 스위치 작은 버튼을 여러 번 직접 누르면

그 후 거의 모든 의도하지 않은 더블 클릭이 사라졌습니다. 마이크로 스위치 내부에서 정확히 무엇이 원인인지 모르겠습니다. 아마 더러워 졌거나 무언가를 빨리 밀면 더러움이 사라질 것입니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.