mouse terkadang menggandakan klik ketika saya klik sekali

39

Saya memiliki masalah yang menjadi mimpi buruk, sejauh saya berpikir bahwa mungkin lebih mudah untuk menghapus Ubuntu sepenuhnya dan mencoba sesuatu yang lain. Saya memiliki PC HP yang menjalankan Ubuntu 12.04. Ketika saya klik kiri dengan mouse saya, kadang-kadang klik dua kali (mungkin 50% dari waktu).

Sejauh ini telah mengarah pada: mengirim email yang belum selesai secara acak, menyoroti secara acak dan menghapus hal-hal yang tidak ingin saya hapus saat menulis email ( sangat membuat frustrasi), menghapus dua tab browser secara acak alih-alih satu (beberapa kali), dan (dalam beberapa hal) yang paling menjengkelkan) pengalaman pengguna akhir yang sangat sangat menyebalkan ketika mencoba untuk memindahkan windows di desktop atau untuk memotong dan menempel dari jendela terminal. Syukurlah untuk Alt- F7- tapi saya tidak mau harus belajar cara pintas keyboard untuk setiap program yang saya gunakan juga untuk OS (dan tidak dapat menyalin-menempel adalah kerugian besar bagi saya).

Saya bukan satu-satunya orang dengan masalah ini, tetapi googling menunjukkan bahwa mungkin ada beberapa alasan untuk itu; tidak ada perbaikan yang saya baca secara online yang bekerja untuk saya. Biarkan saya melewati semua hal, termasuk perbaikan yang bekerja untuk orang lain tetapi tidak untuk saya. Oh - Saya punya mouse optik hp.

  • Ini bukan mouse yang rusak. Saya telah mencoba dua tikus pada sistem saya - keduanya menunjukkan masalah. Kedua mouse ini bekerja dengan baik di laptop rumah saya juga menjalankan Ubuntu 12.04.

  • /etc/X11/xorg.confPanjang saya hanya beberapa baris dan tidak memiliki bagian "InputDevice".

  • Saya tidak memiliki hald, atau paket hal diinstal.

  • Itu dimulai sekitar seminggu yang lalu, dan sepertinya tidak menjadi lebih baik atau lebih buruk.

  • Dalam keputusasaan saya baru saja meningkatkan ke 12.10 tetapi ini belum memperbaiki masalah dan sekarang saya menjalankan distro yang bukan LTS (dan karenanya tidak ideal untuk saya: - \)

Tapi itu membuat sistem saya sangat sulit digunakan.

Kemungkinan pembaruan penting : Saya mencoba melakukan investigasi dengan xev. Tampak bagi saya bahwa itu tampak seperti koneksi yang buruk pada tikus ini - apakah ini umum? Saya dapat menahan tombol mouse, dan kemudian mendapatkan (klik mouse) (jeda) (rilis mouse) (jeda sangat singkat) (klik mouse) (berhenti) (melepaskan mouse) (jeda sangat sangat pendek) (klik mouse) dll Saya bertanya-tanya apakah misalnya sistem operasi lain mengatakan "Anda tidak dapat melepaskan dan kemudian mengklik lagi dalam waktu 0,05 detik, sehingga pasti ada kesalahan dan saya akan menganggap tombol tidak pernah dirilis". Dapatkah saya memberi tahu Ubuntu untuk mengabaikan acara rilis-dan-lalu-ulang-hampir-langsung ??

Ini terlihat seperti masalah mouse yang buruk. Mungkin saya harus menggali mouse yang lebih baru? Saya hanya mencoba yang sangat lama: - \

Kevin Buzzard
sumber
Sudahkah Anda melaporkannya sebagai bug di launchpad?
Alvar
Dapatkah Anda mengingat apa yang terjadi satu minggu yang lalu, ketika semuanya dimulai?
hytromo
Apa yang terjadi seminggu yang lalu adalah persis apa yang terjadi setiap minggu - saya cukup klik "instal upgrade" dan sesekali pada "reboot komputer untuk menyelesaikan instalasi". Sistem ini langsung keluar dari kotak - Saya pikir bahwa satu-satunya paket yang saya instal selain yang ada secara default adalah beberapa yang saya perlukan untuk menjalankan sparkleshare.
Kevin Buzzard
@Alvar: sepertinya ada kebingungan di launchpad tentang bug ini. Kesan umum saya adalah bahwa beberapa orang mendapatkan masalah ini dan masalahnya adalah mouse mereka rusak, beberapa orang mendapatkan masalah ini dan masalahnya adalah beberapa driver logitech, dan beberapa orang mendapatkan masalah ini dan masalahnya ada di tempat lain. Saya akan mencoba melaporkannya dan mengurangi kebisingan ...
Kevin Buzzard
Saya mengenai masalah terkait yang saya pikir adalah mouse yang rusak dalam kombinasi dengan gerakan firefox, tetapi ternyata itu adalah tombol samping pada mouse yang melakukan "firefox back"
Matija Nalis

Jawaban:

47

OK setelah pengujian ekstensif menggunakan xev pada mesin yang terpengaruh, dan beralih di antara berbagai mouse pada berbagai sistem, saya yakin saya telah memecahkan masalah ini. Tentu saja YMMV.

Solusi saya: ini adalah mouse yang rusak.

Lebih tepatnya, konektor diaktifkan ketika mengklik agak lama atau kotor atau sesuatu, dan kadang-kadang, ketika menahan tombol, koneksi dibuat, dan kemudian rusak sejenak, dan kemudian dibuat lagi, menyebabkan klik dua kali.


Keberatan: Tetapi mouse berfungsi dengan baik ketika saya mencolokkannya ke mesin Windows saya!

Counter: Bukankah itu hanya sepele untuk dimasukkan ke dalam driver, atau OS, baris pseudocode berikut: "jika pengguna membuka klik mouse dan kemudian mengklik lagi dalam waktu 0,05 detik, maka itu mungkin konektor yang kotor, jadi mari kita abaikan saja itu ". Dengan demikian, bukankah mungkin bahwa jika Anda memindahkan mouse ke komputer lain yang menjalankan OS lain dan / atau menggunakan driver lain pada perangkat keras yang berbeda (bahkan dengan OS yang sama Anda bisa menggunakan perangkat keras yang berbeda, bukan?), Anda bisa mendapatkan hasil yang berbeda ?

Keberatan: Tapi saya mencoba mouse lama yang lain dan menunjukkan masalah yang sama!

Counter: luar biasa bagaimana dua tikus tua dari perusahaan yang sama dapat pecah dengan cara yang sama, eh? Dan Anda tidak pernah memperhatikan karena mouse lama kedua yang Anda coba menunjukkan tidak ada masalah ketika dicolokkan ke perangkat keras yang berbeda (lihat penghitung sebelumnya).


Jika Anda benar-benar tidak percaya bahwa mouse Anda rusak, ujilah:

$ xev

dan kemudian temukan kotak dengan latar belakang hitam, klik di dalamnya, dan tonton hasilnya. Apakah Anda selalu, selalu, mendapatkan satu "klik" bersih dan tidak ada yang lain? Saya sering mendapatkan klik bersih tetapi kadang-kadang "terpental" (klik hapus klik). Bahkan mungkin lebih baik:

$ xev | grep ButtonRelease

Sekarang tempelkan mouse ke kotak dengan garis hitam (atau di mana saja di jendela itu) dan klik dan hapus centang 20 kali. Anda harus mendapatkan baris "ButtonRelease" setiap kali Anda melepaskan tombol, dan tidak pernah sebaliknya. Saya kadang-kadang akan mendapatkan satu ketika saya mengklik.

Mimpi buruk berakhir.

Kevin Buzzard
sumber
Saya punya dua tikus identik yang saya perhatikan baru-baru ini mengklik mengklik, dan saya tidak begitu yakin keduanya hanya 'habis' di minggu yang sama. xevTes Anda tidak memberi saya sesuatu yang tidak biasa tetapi saya harus bertanya-tanya apakah ada lebih dari ini?
Tom Brossman
Benar - Saya sangat curiga tentang memiliki dua tikus dan tak satu pun dari mereka bekerja pada satu mesin dan keduanya bekerja pada yang lain. Saya cukup yakin ada orang-orang di luar sana yang percaya bahwa benar-benar ada masalah selain "tikus semua rusak dan OS tidak memberikan kompensasi untuk itu serta OS lain". Di sisi lain saya pasti melompat kapal pagi ini - sistem saya bekerja lagi dan saya yakin minggu lalu bahwa mouse tidak bisa menjadi masalah, tetapi bagi saya itu benar-benar masalah.
Kevin Buzzard
2
Dengan saya, saya menghabiskan 5-10 menit baik bermain dengan xev dan menonton hasilnya. Mengeklik dan membatalkan klik secara terus menerus, dll. - dan kemudian sesekali mendapatkan klik yang tidak terduga saat saya tidak mengeklik. Saya katakan juga bahwa melihat output xev pada jendela terminal 80x24 bisa sangat menyesatkan, karena "klik-klik" dapat menghasilkan seluruh halaman yang penuh dengan informasi yang dikeluarkan oleh xev, dan jika klik-klik itu terjadi cukup cepat (yang merupakan kasus dalam kasus saya) maka Anda mungkin bahkan tidak dapat melihat output xev karena hampir identik dengan halaman sebelumnya.
Kevin Buzzard
7
Lebih baik lagi xev | awk '/ButtonRelease/ {print $1,i++}'.
arekolek
Bagi saya, ini dimanifestasikan sebagai "tombol 3" (tombol kanan mouse) mengirimkan sinyal sesekali ketika saya akan menggulir ke atas pada roda mouse saya. Aneh.
carbocation
9

Perawatan Zen dan mouse. Sepertinya banyak yang mengalami masalah dengan mengklik ganda mouse ketika satu klik diterapkan. Tombol mouse adalah saklar mikro. Fakta kehidupan adalah bahwa kontak saklar terpental. Mereka tidak benar-benar bangkit tetapi gosok. Kami akan tetap menyebutnya bouncing. Untuk beberapa alasan para programmer menjatuhkan bola yang satu ini. Lingkaran tunggu dengan durasi yang cukup harus diterapkan agar kontak dapat diselesaikan sebelum membaca. Sama sekali tidak ada dan pada sampel satu solusi saya adalah menempatkan kapasitor di kontak saklar. Saya menggunakan tutup 0.1uF tanpa alasan tertentu selain saya punya satu dalam ukuran kecil yang pas di dalam mouse. Saya belum melakukan analisis mewah tentang waktu tunda, konstanta waktu atau tingkat keputusan untuk menemukan nilai optimal. Berbagai model akan memiliki parameter yang berbeda pula.

Saya telah menggunakan modifikasi ini selama beberapa waktu dan masalah belum muncul kembali sejauh ini.

Untuk menerapkan mod. Temukan kapasitor dimensi fisik kecil yang pas untuk casing mouse. Saya menggunakan 0.1uF karena saya punya satu dan ini adalah angka yang bagus tetapi nilai-nilai lain mungkin akan berfungsi tetapi jangan terlalu besar atau terlalu kecil. Apa yang terlalu besar atau kecil adalah masalah untuk eksperimen. Terlalu besar dapat memengaruhi klik ganda yang diinginkan, terlalu kecil tidak akan mencapai efek yang diinginkan. Saya menyolder satu kaki tutup di lokasi yang nyaman, di mana ia tidak merusak struktur bagian dalam mouse, di sisi tembaga papan, ke pesawat 0 volt (pesawat bumi jika Anda mau) saya mengaitkan kaki tutup lainnya ke sakelar aktif dengan sedikit kawat tipis. Saya menggunakan komponen daur ulang dengan kaki pendek. Yang baru kemungkinan akan memiliki kaki yang cukup panjang untuk mencapai tempat yang dibutuhkan. Anda akan membutuhkan besi solder berujung halus yang cocok untuk pekerjaan itu.

Jika Anda tidak tahu kapasitor. Kapasitor 0.1uF dapat ditunjuk 0.1uF atau 104 atau 100nF atau memiliki pita berwarna kuning kecoklatan. Tipe permukaan mount akan menjadi pilihan yang baik juga. Hubungkan dengan beberapa helai kawat halus. Bisa merekatkannya ke sisi koneksi papan atas.

Saya memiliki rencana B yang dapat saya coba lain kali atau jika rencana saat ini akhirnya gagal. Mengosongkan sakelar mikro untuk sakelar membran taktil pemasangan gunung PCB pertama harus menyelesaikan masalah. Itu adalah jenis saklar yang digunakan pada keyboard dan bantalan tombol dan tidak menunjukkan masalah ini. Kaki mencetaknya tidak seperti saklar mikro. Saklar 7mm tinggi tersedia yang akan datang pada ketinggian yang sama dengan sakelar mikro yang ada. Saklar yang lebih kecil perlu ditempatkan pada ketinggian yang benar. Tekuk kaki di sudut kanan ke badan sakelar dan rekatkan ke papan sehingga aktuator sejajar dengan posisi yang ditempati oleh aktuator sakelar mikro. Tombol mouse harus mengenai tempat yang benar. Sambungkan kontak sakelar dengan kabel yang bagus dan semuanya harus bagus secara teori.

pengguna277786
sumber
5
Meskipun jawaban Anda 100% benar, ini adalah situs T&J Perangkat Lunak, bukan T&J perangkat keras. Jadi tolong: 1 / tambahkan peringatan terhormat bahwa Anda memberikan solusi HW untuk masalah SW, 2 / perpendek jawaban Anda 3 / Tambahkan beberapa tautan ke gambar tentang cara melakukan ini 4 / Ini μF, bukan UF.
Fabby
@ Fabby Saran Anda (1) dan (3) sangat bagus, tetapi tidak begitu banyak dengan (2), dan (3) kecil / tidak perlu. Juga terlihat sedikit snarky / terse. Anda harus mencoba bersikap ramah kepada pengguna baru! :)
@ Jo 1 1 / Lihat upvotes untuk komentar. 2 / Ya, itu gaya telegram tanpa basa-basi, jadi itu bisa lebih baik. Dalam pembelaan saya: Saya seorang Vorlon , bukan Manusia dan saya masih bekerja pada empati saya ... ;-)
Fabby
9

Saya telah membangun tambalan xserver-xorg-input-evdevuntuk Ubuntu 14.10. Saya menggunakan instruksi dari http://blog.guntram.de/?p=16 (tambalan dapat ditemukan di sini dan di sini ) dan manual pengemasan Debian.

Ini catatan saya tentang membuat paket.

#!/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
  • Berita bagus: itu berhasil.
  • Berita buruk: itu tidak selalu membantu. Kontak tombol mouse saya sangat buruk sehingga perlu penundaan 200 ms, yang menghentikan saya dari mengklik dua kali. Tikus yang memantul mulai bekerja dengan baik.

sunting : Terima kasih @MatijaNalis, langkah-langkah untuk mendapatkan tambalan bisa berupa:

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
Victor Sergienko
sumber
1
skrip perlu diubah - "dquilt new" misses "$", "patch" seharusnya setelah "$ dquilt add" dan sebelum "$ dquilt refresh", dan patch di blog.guntram.de sudah tua, kita harus menggunakan yang lain dari aur .archlinux.org. "apt-get build-dep xserver-xorg-input-evdev" juga harus ditambahkan. Juga harus menggunakan variabel lingkungan quilt alih-alih file config (tidak ditentukan) - wiki.debian.org/UsingQuilt . Kalau tidak, sepertinya solusi yang bagus untuk mouse yang rusak ...
Matija Nalis
3
Fitur debouncing ditambahkan ke libinput 1.9 ( unix.stackexchange.com/a/451864/116842 ).
Jérôme
5

Masalahnya, dijelaskan oleh Jack Ganssle, di sini: http://www.eng.utah.edu/~cs5780/debouncing.pdf
- hubungi bouncing filtering. Perangkat lunak perlu ada dalam aplikasi apa pun, mulai dari komputer papan tunggal hingga sistem operasi, dalam beberapa bentuk.

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

Ketika kontak / tombol bertambah tua, efeknya akan semakin buruk. WD40 mungkin bukan semprotan terbaik untuk digunakan pada elektronik, ada yang lebih cocok. Google 'Semprotan kontak'.

Hannu
sumber
4

Saya punya masalah dengan mengklik tombol tambahan dua kali. Karena saya sudah memetakannya xbindkeys(lihat Bagaimana cara menetapkan tindakan untuk semua tombol mouse saya? Untuk informasi lebih lanjut tentang itu) solusi saya mengubah entri di ~/.xbindkeysrcsebagai berikut:

"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

Ini menciptakan "lockfile" untuk setiap tombol yang ditekan /dev/shm/(yang saya harap terletak pada RAM) dan menghapusnya setelah 0,2 detik. Dan xteperintah harus dilakukan pada klik mouse dan tidak akan dilakukan dua kali dalam 0,2 detik.

(Hanya berpikir saya akan membagikan solusi saya, kalau-kalau ada yang mau menyalin atau memperbaikinya.)

Pirad
sumber
Ini adalah solusi yang sangat baik untuk kasus-kasus di mana mouse mengirimkan aliran acara ButtonPress / ButtonRelease terus menerus, tetapi Anda ingin mengubahnya menjadi satu peristiwa. Ini terjadi dengan mis. Microsoft bluetooth mouse dan tombol tilt wheel.
Leo Alekseyev
2

Ada bug perangkat lunak dan pada Juni 2014 tidak ada perbaikan untuk itu. Itu tidak terjadi pada semua modles tikus. Tikus-tikus logitech saya baik-baik saja tetapi kebanyakan yang lain gagal apa pun yang Anda lakukan. Ini untuk RHEL, CentOS dan Ubuntu. Semua tikus bekerja pada kotak windows murni tetapi masalah yang sama ada di KVM

Belum Ada Solusi, Pengembang tahu tentang itu.

Tepuk tangan. Mengenakan.

Mengenakan
sumber
1
Bisakah Anda menambahkan tautan ke bug dan memberikan sedikit latar belakang tentang hal itu?
Oli
1
Seperti yang dapat Anda lihat dari jawaban lain (dan laporan bug), ini sebenarnya bukan bug, melainkan fitur yang hilang. Windows melakukan debounce filtering pada mouse secara default, sedangkan Linux tidak.
Hjulle
1

Semprot WD40 sangat ajaib untuk banyak masalah, termasuk volume di headphone dengan suara rac rac rac, juga untuk memperbaiki masalah klik mouse ini ...

Tes, adalah sangat cepat, tidak perlu membuka mouse atau membuka headphone, semprot dan lakukan dengan baik lain kali ...

pengguna259941
sumber
1

Dalam kasus saya itu adalah perangkat keras atau, lebih tepatnya, beberapa masalah mekanis dengan tombol mikro saklar mouse.

Saya punya masalah dengan 2 tikus: yang lama Logitech m-uv69 dan beberapa mouse lain yang saya beli sekitar setahun yang lalu dan saya berhasil memperbaiki keduanya tanpa banyak usaha. Inilah yang telah saya lakukan:

  • melepas penutup atas mouse
  • langsung cepat menekan tombol mikro saklar kecil berkali-kali

Setelah itu hampir semua doubleclicks yang tidak disengaja hilang. Saya tidak tahu apa yang sebenarnya menyebabkan mereka di dalam saklar mikro. Mungkin kotor atau semacamnya dan dengan cepat mendorongnya membuat kotoran hilang.

ks1322
sumber