мышь иногда дважды щелкает, когда я нажимаю один раз

У меня есть проблема, которая становится кошмаром, поскольку я думаю, что было бы проще просто полностью отказаться от Ubuntu и попробовать что-то еще. У меня есть ПК HP под управлением Ubuntu 12.04. Когда я щелкаю левой кнопкой мыши, иногда дважды (возможно, в 50% случаев).

До сих пор это приводило к: случайной отправке незаконченных электронных писем, случайному выделению и удалению вещей, которые я не хотел удалять, при написании электронных писем ( очень расстраивает), случайному удалению двух вкладок браузера вместо одного (несколько раз) и (в некотором смысле наиболее раздражающего) очень и очень разочаровывающего опыта конечного пользователя при попытке перемещения окон на рабочем столе или вырезания и вставки из окна терминала. Слава Богу, что Alt - F7 - но я не хочу изучать сочетания клавиш для каждой программы, которую я использую, а также для ОС (и не могу копипаста - большая потеря для меня).

Я не единственный человек с этой проблемой, но поиск в Google указывает на то, что для этого может быть несколько причин; ни одно из исправлений, которые я прочитал онлайн, не сработало для меня. Позвольте мне пройти через все, включая исправления, которые сработали для других людей, но не для меня. Ох, у меня есть оптическая мышь HP.

  • Это не сломанная мышь. Я попробовал две мыши в моей системе - обе демонстрируют проблему. Обе эти мыши прекрасно работают на моем домашнем ноутбуке, на котором также установлена ​​Ubuntu 12.04.

  • My /etc/X11/xorg.conf имеет длину всего несколько строк и не имеет секции «InputDevice».

  • У меня нет hald или установлен пакет hal.

  • Это началось около недели назад, и, похоже, не становится лучше или хуже.

  • В отчаянии я только что обновился до 12.10, но это не устранило проблему, и теперь я использую дистрибутив, который не является LTS (и, следовательно, не идеален для меня:

Но это делает мою систему очень сложной в использовании.

Возможно важное обновление : я попытался провести некоторые исследования с xev. Мне кажется, что у этих мышей плохая связь - это часто встречается? Я могу удерживать кнопку мыши, а затем получить (щелчок мыши) (пауза) (отпускание мыши) (очень очень короткая пауза) (щелчок мыши) (пауза) (отпускание мыши) (очень очень короткая пауза) (щелчок мыши) и т. Д. Интересно, например, другие операционные системы говорят: «Вы не можете отпустить, а затем снова щелкнуть в течение 0,05 секунды, так что это должно быть сбой, и я буду считать, что кнопка не была отпущена». Могу ли я сказать Ubuntu игнорировать события отпускания и повторного нажатия почти мгновенно ??

Это похоже на проблему с мышью. Может быть, я должен выкопать более новую мышь? Я пробовал только очень старые: - \

39
задан 22 July 2013 в 13:24

8 ответов

Хорошо, после тщательного тестирования с использованием xev на зараженной машине и переключения между разными мышами в разных системах, я думаю, что я решил эту проблему. Конечно, YMMV.

Мое решение: это сломанная мышь.

Точнее, активируемый при нажатии разъем немного устарел или загрязнен или что-то в этом роде, а иногда, удерживая кнопку нажатой, соединение устанавливается, а затем на мгновение разрывается, а затем снова устанавливается, вызывая двойной нажмите.


Возражение: Но мышь работает нормально, когда я подключаю ее к моей машине с Windows!

Счетчик: Не будет ли просто вставить в драйвер или ОС следующую строку псевдокода: «если пользователь отменит щелчок мыши, а затем щелкнет ее снова в течение 0,05 секунды, то это, вероятно, грязный разъем, поэтому давайте просто проигнорируем это». Таким образом, не возможно ли, что если вы переключите мышь на другой компьютер, работающий под управлением другой ОС и / или использующий другой драйвер на другом оборудовании (даже при использовании той же ОС вы вполне могли бы использовать другое оборудование, верно?), Вы могли бы получить разные результаты ?

Возражение: Но я попробовал другую старую мышь, и она показала ту же проблему!

Счетчик: удивительно, как две старые мыши из одной компании могут сломаться одинаково, а? И вы никогда не замечали, потому что у второй старой мыши, которую вы попробовали, не было проблем при подключении к другому оборудованию (см. Предыдущий счетчик).


Если вы действительно не верите, что ваша мышь сломана, протестируйте ее:

$ xev

, а затем найдите квадрат с черным фоном, нажмите на него и посмотрите результат. Вы определенно всегда получаете один чистый «щелчок» и ничего больше? Я часто получал чистый щелчок, но иногда «отскок» (щелчок без щелчка). Возможно, даже лучше:

$ xev | grep ButtonRelease

Теперь наведите мышью на квадрат с черным контуром (или где-нибудь в этом окне) и нажмите и отмените щелчок 20 раз. Вы должны получать строку «ButtonRelease» каждый раз, когда отпускаете кнопку, и никогда иначе. Я иногда получал один, когда нажимал.

Кошмар закончился.

0
ответ дан 22 July 2013 в 13:24

Проблема объясняется здесь: http://www.eng.utah.edu/~cs5780/debouncing.pdf
- фильтрация отказов контактов. Программное обеспечение должно присутствовать в любом приложении, от простых одноплатных компьютеров до операционных систем, в той или иной форме.

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

в качестве контактов / кнопок с возрастом эффект будет ухудшаться. WD40 может быть не лучшим спреем для электроники, есть и другие, более подходящие. Google 'Contact spray'.

0
ответ дан 22 July 2013 в 13:24

Я собрал патч xserver-xorg-input-evdev для Ubuntu 14.10. Я использовал инструкции из http://blog.guntram.de/?p=16 (патч можно найти здесь и здесь ) и упаковку Debian руководство.

Вот мои заметки о создании пакета.

#!/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
  • Хорошие новости: это сработало.
  • Плохие новости: это не всегда помогает. Мой контакт с кнопкой мыши был настолько плох, что потребовалась задержка в 200 мс, что не давало мне дважды щелкнуть мышью. Еще одна прыгающая мышь начала работать нормально.

edit : Спасибо @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
0
ответ дан 22 July 2013 в 13:24

У меня была проблема с двойным нажатием дополнительной кнопки. Как у меня уже было сопоставлено с xbindkeys (см. Как я могу назначить действия для всех моих кнопок мыши? для получения дополнительной информации об этом)) мое решение было изменить запись в ~/.xbindkeysrc следующим образом: [ 116]

"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/ (которое, я надеюсь, находится в оперативной памяти) и удаляет его через 0,2 секунды. А команда xte должна выполняться по щелчку мыши и не должна выполняться дважды за 0,2 секунды.

(Просто подумал, что поделюсь своим решением на тот случай, если кто-нибудь захочет скопировать его или исправить.)

0
ответ дан 22 July 2013 в 13:24

В программном обеспечении имеется ошибка, и по состоянию на июнь 2014 года ее не исправили. Это не происходит на всех моделях мышей. Мои мыши Logitech в порядке, но большинство других не справляются, что бы вы ни делали. Это для RHEL, CentOS и Ubuntu. Все мыши работают на чистых окнах, но та же проблема существует в KVM

Пока нет решения, разработчики знают об этом.

Ура. Дон.

0
ответ дан 22 July 2013 в 13:24

Обслуживание дзен и мыши. Кажется, у многих возникают проблемы с двойным щелчком мыши, когда применяется один щелчок. Кнопка мыши представляет собой микровыключатель. Факт жизни состоит в том, что контакты переключателя отскакивают. Они на самом деле не подпрыгивают, но тереть. Мы будем называть это отказов в любом случае. По какой-то причине программисты сбросили мяч на этом. Для установления контактов перед чтением должна быть применена достаточная продолжительность цикла ожидания. По поводу ничего и на примере одного моего решения было разместить конденсатор через контакты переключателя. Я использовал колпачок 0,1 мкФ ни по какой другой причине, за исключением того, что у меня был колпачок небольшого размера, который бы идеально подходил для мыши. Я не проводил ни одного причудливого анализа времени задержки, постоянных времени или уровней принятия решений, чтобы найти оптимальное значение. В любом случае разные модели будут иметь разные параметры.

Я использовал эту модификацию в течение некоторого времени, и проблема до сих пор не всплыла.

Для применения мод. Найдите конденсатор небольших физических размеров, который поместится внутри корпуса мыши. Я использовал 0.1uF, потому что у меня был один, и это хорошее число, но другие значения, вероятно, будут работать, но не слишком большие или слишком маленькие. То, что слишком велико или мало, является предметом эксперимента. Слишком большое значение может повлиять на предполагаемые двойные щелчки, а слишком маленькое не приведет к желаемому эффекту. Я припаял одну ногу кепки в удобном месте, где она не выходила из-под внутренней структуры мыши, на медной стороне платы, к плоскости 0 вольт (земная плоскость, если хотите), я подключил другая часть колпачка к переключателю активна с небольшим количеством тонкого провода. Я использовал переработанный компонент с короткими ногами. У нового, вероятно, будет достаточно длинных ног, чтобы добраться туда, где это необходимо. Для этой работы вам понадобится подходящий паяльник с тонким наконечником.

Если вы не знаете конденсаторы. Конденсатор емкостью 0,1 мкФ может быть обозначен как 0,1 мкФ, или 104, или 100 нФ, или иметь коричнево-черные желтые полосы. Поверхностный тип установки также будет хорошим выбором. Зацепите его несколькими нитями тонкой проволоки. Может приклеить его к плате со стороны подключения вверх.

У меня есть план B, который я могу попробовать в следующий раз или, если текущий план в конечном итоге потерпит неудачу. Отключение микровыключателя для тактильного мембранного переключателя, установленного на плате SPST, должно решить проблему. Это тип переключателя, используемого в клавиатурах и клавиатурах, и не имеет этой проблемы. Нога печатает это не что иное как микровыключатель. Имеется переключатель высотой 7 мм, который входит на ту же высоту, что и существующий микровыключатель. Меньший переключатель должен быть расположен на правильной высоте. Согните ножки под прямым углом к ​​корпусу переключателя и приклейте его к плате так, чтобы привод совпадал с положением, занимаемым приводом микропереключателя. Кнопка мыши должна попасть в нужное место. Соедините контакты переключателя каким-нибудь тонким проводом, и все должно быть хорошо в теории.

0
ответ дан 22 July 2013 в 13:24

Spray WD40 - волшебство для многих проблем, включая колесо регулировки громкости в наушниках с шумом rac rac rac, также для устранения этой проблемы щелчков мыши…

Тест, очень быстрый, не нужно открывать мышь открой наушники, спрей и иди хорошо в другой раз ...

0
ответ дан 22 July 2013 в 13:24

В моем случае это была аппаратная или, точнее, какая-то механическая проблема с микропереключателем кнопки мыши.

У меня была эта проблема с двумя мышами: старой Logitech m-uv69 и другой мышью, которую я купил около года назад, и мне удалось отремонтировать обе из них без особых усилий. Это то, что я сделал:

  • снял верхнюю крышку мыши
  • , быстро быстро нажал маленькую кнопку микровыключателя много раз

После этого почти все непреднамеренно двойные клики исчезли. Я не знаю, что именно вызвало их внутри микровыключателя. Возможно, он испачкался или что-то в этом роде, и быстрое нажатие заставляет грязь уходить.

0
ответ дан 22 July 2013 в 13:24

Другие вопросы по тегам:

Похожие вопросы: