Как отключить среднюю кликовную кнопку мыши?

У меня была очень похожая проблема с моим адаптером usb TP-Link TL-WN821N v2 '802.11n. Я использую Elementary OS, основанный на Ubuntu.

Я нашел веб-страницу, где-то советую кому-то с той же проблемой обновить свое ядро. Я решил сделать то же самое во время его работы. Я обновил ядро ​​Linux с 3.2.0.54.64 до 3.8.0-32.47, перезагрузился и обнаружил, что полностью решил эту проблему.

Я нашел, что это сработало:

sudo modprobe -r carl9170
sudo modprobe carl9170 noht=1
[d3 ] Я хотел, чтобы мой беспроводной адаптер работал нормально в режиме N, и он вообще не имеет проблем. Infact даже лучше, чем в Windows XP.

Надеюсь, это может помочь кому-то.

1
задан 11 December 2013 в 17:31

20 ответов

Джаред Робинсон дал простое решение, которое работает на моей машине:

Выполните следующую команду:

xmodmap -e "pointer = 1 25 3 4 5 6 7 8 9"

Чтобы сохранить это поведение, отредактируйте ~ / .Xmodmap и добавьте [ ! d3]

pointer = 1 25 3 4 5 6 7 8 9
32
ответ дан 26 May 2018 в 01:18
  • 1
    Разве это вообще не отключает среднюю кнопку? Как насчет закрытия вкладок, открытия ссылок на новые вкладки и т. Д.? – levesque 7 August 2011 в 22:36
  • 2
    Хотя это теоретически может ответить на вопрос , было бы предпочтительно включить здесь основные части ответа и предоставить ссылку для справки. – Kris Harper 2 September 2011 в 22:02
  • 3
    Спасибо, это исправлено. Теперь я получаю контекстное меню при нажатии колеса, что намного лучше, чем вставить. – umpirsky 30 November 2011 в 13:59
  • 4
    @HDave Как это должно быть отмечено как ответ на вопрос, в котором конкретно говорится, что он видел решения, которые перетаскивают среднюю мышь на другой ключ, но это неудовлетворительно ? Это именно то, что делает этот ответ. – Thor84no 2 April 2014 в 19:56
  • 5
    @Neil Traft Я havent слишком сильно заглянул в эту точную конфигурацию, но из моего понимания систем входных событий, когда у вас есть устройство ввода, такое как мышь, он отправляет стандартные входные события, когда кнопки нажаты, эти события говорят вам, что нажата кнопка состо ние "," эта кнопка имеет идентификатор X ", и" это текущее состо ние нажата / отпущена " обычно gtk изменяет входные события, которые он получает, на кнопки кнопок карты [0,1,2,3,4,5,6,7,8] - [1,2,3,4,5,6,7,8,9 ] имейте в виду, что только первые 3 кнопки ids используются на большинстве мышей, чтобы указать идентификатор кнопки для левого, среднего и правого. так что средний теперь id 25 – S E 3 November 2015 в 18:09

Я понимаю, что это не совсем тот ответ, который вы хотите, но вы можете отключить его в Firefox (например, если вы не против этой функции в другом месте, но все же хотите, чтобы средний щелчок в Firefox открыл ссылки на новых вкладках) [ ! d0]

Примерно: config, установите

middlemouse.contentLoadURL false
middlemouse.paste false

Не то, что вы просили, но поскольку этот вопрос связан с несколькими местами, я надеюсь, что кто-то найдет этот ответ полезным.

23
ответ дан 26 May 2018 в 01:18
  • 1
    +1 Это полезно. Я также добавлю, что в LibreOffice вы можете сделать это в Tools/Options/LibreOffice/View/Mouse смените «Средняя кнопка мыши» на предпочтительную настройку. – Tom Brossman 3 October 2012 в 15:30

В настоящее время это невозможно - хотя, как вы уже упоминали, есть способы отключить кнопку MOUSE 3 - или переназначить ее - ни один из них не попадает в исходную ситуацию. Основной выбор X11.

Хотя это не решение, мы надеемся, что это объяснение даст понять, ПОЧЕМУ. В Ubuntu работают два буфера обмена. Один, с которым все знакомы, буфер обмена freedesktop.org (захватывает команду Ctrl + C). Второй - менеджер буфера обмена, который был в игре, так как до того, как Ubuntu даже существовал - X11. X Server (X11) управляет тремя другими буферами обмена: Первичный выбор, Вторичный выбор и Буфер обмена. Когда вы выбираете текст с помощью указателя, он копируется в буфер на XServer, Primary Selection и ожидает вставки с помощью кнопки мыши 3. Остальные два были разработаны для использования другими приложениями, чтобы совместно использовать общий буфер обмена между приложениями. В этом случае менеджер буфера обмена freedesktop.org в Ubuntu уже делает это для нас.

В рамках моих исследований я не могу найти способ отключить диспетчер выбора X11. Нет флагов компиляции, приложений или значений конфигурации, которые могут отключить это. Существуют различные способы для этого на основе каждого приложения (большинство из этих приложений являются командной строкой), но ничего в глобальном масштабе.

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

Сначала установите xsel (Инструмент для управления X) sudo apt-get install xsel

Код выглядит следующим образом:

while(true)
do
    echo -n | xsel -n -i
    sleep 0.5
done

Если вы поместите это в сценарий и добавьте его в сценарии запуска, это не должно быть проблемой .

18
ответ дан 26 May 2018 в 01:18
  • 1
    Любой шанс для скрипта, который просто очищает буфер вместо отмены всех выборов? – levesque 30 October 2010 в 01:16
  • 2
    в то время как (правда)? Похоже, он убьет CPU :) – umpirsky 8 July 2011 в 15:54
  • 3
    Я пробовал сопоставление бутов, добавив Option " ButtonMapping " "1 1 3 4 5" к xorg.conf, но проблема сопротивляется. – umpirsky 8 July 2011 в 16:32
  • 4
    @umpirsky while(true) не проблема, потому что цикл содержит sleep 0.5, который отказывается на полсекунды процессорного времени в каждой из итераций цикла. Из-за этого (и легковесности вызова команды xsel, который содержит другую часть цикла), ресурсы ЦП, занятые циклом, будут чрезвычайно незначительными даже на самых медленных машинах Ubuntu. – Eliah Kagan 28 November 2011 в 13:16
  • 5
    Это, похоже, не очень хорошо работает в Unity, потому что скрипт очищает любой существующий выбор в терминале, что означает, что вы не можете копировать тест с терминала любыми способами (к тому времени, когда вы попытаетесь скопировать, текст не выбран). – Fantius 18 May 2012 в 23:45

Как-то я оказался без каких-либо файлов xmodmap в моей установке Ubuntu, поэтому мне пришлось найти другой подход к этой проблеме.

Взгляните на команду xinput.

xinput list | grep -i mouse

, в котором перечислены сведения о вашей мыши. Это показывает, что моя мышь - это «оптическая мышь Dell Premium USB», а также что у меня есть эмуляция мыши для Macintosh. Вооружившись этой информацией, я могу

xinput get-button-map "Dell Premium USB Optical Mouse"

, которая дает мне список, который выглядит как

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18

Вот полезное, необходимое знание. У моей мыши есть теоретически 18 кнопок. Действие каждой кнопки по умолчанию имеет то же имя, что и номер кнопки. Другими словами, кнопка 1 выполняет действие 1, кнопка 4 выполняет действие 4 и т. Д. Действие 0 означает «выключено».

В xinput в листинге показана функция, назначенная этому кнопка. Поэтому, если моя карта кнопок читается

1 3 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 

, это означает, что кнопка 1 (позиция 1) выполняет действие 1 (нормальная левая кнопка), кнопка 2 (позиция 2) выполняет действие 3 (средняя кнопка) и кнопка 3 (позиция 3) выполняет действие 2 (правая кнопка).

Чтобы сделать левую мышь, вам понадобится карта кнопок, которая начнется

3 2 1 4 5 .....

Или, в вашем case, похоже, что вы хотите, чтобы средняя кнопка делала то же самое, что и кнопка 1 (левая кнопка), чтобы ваша карта начиналась с

1 1 3 ....

Я бы сбросил свои сопоставления с кнопками мыши таким образом:

xinput set-button-map "Dell Premium USB Optical Mouse" 1 1 3 5 6 6 7 8 9 10 11 12 13 14 15 16 17 18

В вашем случае у вас может быть другое количество отображаемых кнопок и определенная специальная карта кнопок. Иначе у вашей мыши тоже другое имя. Сначала введите «имя» вашей мыши. Затем, используя операцию get-button-map, найдите карту базовой кнопки. наконец, используйте опцию set-button-map, модифицируя кнопку 2 для выполнения действия 1.

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

Надеюсь, это поможет.

14
ответ дан 26 May 2018 в 01:18
  • 1
    Спасибо за информацию. Это объясняет немного больше о кнопках мыши и действиях, применяемых к ним. Однако это не то решение, которое я ищу. Если вы щелкнули левой кнопкой мыши вкладку в Chrome (чтобы использовать мой пример), она выбирает ее (если она еще не выбрана). Нажав на нее средней кнопкой, закройте ее (т. Е. Без щелчка по X). Я также пропустил средний щелчок по ссылке, чтобы открыть ее на новой вкладке для последующего чтения. Я понимаю, что могу преодолеть эти альтернативы, но я привык к этому способу работы ... – neildeadman 12 January 2012 в 20:18
  • 2
    Просто мысль; любая из других кнопок на вашей мыши, я говорю, что у меня есть 18 кнопок, хотя мне еще физически удается найти более 8 из них) может быть той функцией, которую вы хотите. Попробуйте сопоставить другие кнопки с третьей кнопкой и посмотреть, найдете ли вы что-то полезное. – Wes Miller 13 January 2012 в 19:04
  • 3
    Если вы переназначаете в качестве мыши с двумя кнопками, это не должно меняться, потому что рулоны колеса нажимают кнопки 5 и 6 (или 7 и 8 или что-то в этом роде). – Wes Miller 13 January 2012 в 19:09
  • 4
    Я могу подтвердить, что это работает как на встроенной трек-площадке ThinkPad, так и на клавиатуре Lenovo с одинаковой компоновкой. [F1] на клавиатуре Lenovo возвращается с 22 кнопками для меня, но для меня работает тот же подход set-button-map <<name-or-id>> 1 0 3 – Milimetric 17 August 2015 в 17:44
  • 5
    этот является ответом (хотя я думаю, что ваше описание выключено) - get-button-map связывает позицию в списке с физической кнопкой, которая является противоположной xmodmap, которая связывает позицию в список функции. Используя карту set-button, мы можем сопоставить две физические кнопки в одной логической позиции. Работает на asus zenbook pro для меня. – zzzeek 7 September 2016 в 18:01

Я использую gnome-tweak-tool для отключения средней кнопки в Ubuntu 16.04. Загрузите здесь:

https://apps.ubuntu.com/cat/applications/gnome-tweak-tool/

Установите его. Поиск «tweak tool» в установленных приложениях. запустить его. Перейдите в раздел «Клавиатура и мышь» -> «Среднее нажатие пасты». Выключите.

Вот оно. Протестировано на Ubuntu 16.04

11
ответ дан 26 May 2018 в 01:18

Я предлагаю использовать один из них, который работает в основном для меня:

с помощью xbindkeys: всякий раз, когда нажата средняя кнопка, очистите основной буфер обмена. По крайней мере, в моей системе это очищается, прежде чем произойдет склеивание. Подробности: создать xbindkeys-config:

xbindkeys --defaults > $HOME/.xbindkeysrc

Вставить следующую новую горячую клавишу:

"xclip -i /dev/null"    
    b:2``

Обновить xbindkeys (например, killall xbindkeys; xbindkeys). Выполнено.

с помощью xdotool: очистите буфер обмена при изменении фокуса окна (должен работать с большинством оконных менеджеров). Подробности: Выполните следующую команду:

xdotool search --onlyvisible . behave %@ focus exec xclip -i /dev/null

Обратите внимание, что с помощью этой команды вы все равно можете использовать основной буфер обмена в одном окне или нажимать среднюю мышцу на другое окно, прежде чем фокусировать его (если у вас нет «focus follow mouse», или somthing, активирован).

4
ответ дан 26 May 2018 в 01:18

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

Вы можете добавить «группу» в EasyStroke, чтобы применить этот перехват в нескольких приложениях одновременно. Я решил отключить средний клик в некоторых текстовых редакторах, IDE и MATLAB и работает по назначению.

Ссылка: http://ubuntuforums.org/showpost.php?p=11811126&postcount = 25

Завершить EasyStroke How-To: http://ubuntuforums.org/showpost.php?p=11811126&postcount=25

3
ответ дан 26 May 2018 в 01:18
  • 1
    Спасибо за будущее за этот совет. Сначала я просто использовал xinput, чтобы полностью отключить его, и не нужно запускать какую-то дополнительную программу, но EasyStroke позволял устанавливать группы, где я мог бы отключить среднюю кнопку для определенных приложений (главным образом, мой редактор) и добавлять жесты в некоторые другие приложения и использовать среднюю кнопку. До сих пор хорошо работает (14.04 Gnome fallback). – Marty Fried 1 August 2015 в 21:30
  • 2
    Добавлено в мой комментарий: после использования EasyStroke некоторое время я обнаружил, что часто не удается заблокировать средний клик. Поскольку я не использовал жесты, я отказываюсь от этой программы для xinput. – Marty Fried 19 August 2015 в 19:26

Это среднее поведение кнопки мыши - это функция X-сервера (и gpm на текстовой консоли), и насколько я знаю, по крайней мере, X.org не может быть настроен для его отключения - все, что вы можете сделать, это измените отображение физических кнопок мыши, как уже указывали другие.

Скорее всего, вы можете настроить тачпад, чтобы избежать нежелательных средних щелчков, см. настройки gpointing-device (не установлены по умолчанию) или синаптику manpage, если вы предпочитаете использовать свой редактор для настройки.

2
ответ дан 26 May 2018 в 01:18

ссылка ниже исправила проблему для меня.

https://wiki.ubuntu.com/X/Config/Input#Example:_Disabling_middle-mouse_button_paste_on_a_scrollwheel_mouse

ссылающаяся страница в приведенной выше ссылке есть раздел о том, как отключить среднюю вставку мыши на scrollwheel, выполнив несколько команд, пользователь может получить отображение кнопок мыши и также может изменить отображение. как объясняется на странице I, отключена средняя кнопка, выполнив команду:

$ xinput set-button-map 4 1 0 3
2
ответ дан 26 May 2018 в 01:18
  • 1
    ОП особо упомянул, что он не хотел полностью отключать среднюю кнопку щелчка. – cpburnz 25 August 2014 в 19:09

У меня была такая же проблема несколько месяцев назад, и я решил ее, изменив мышь! Но, поскольку вы, я был расстроен, что простая проблема с отображением кнопок не может быть решена изящно с помощью программного исправления. К счастью, у меня была проблема на моем рабочем компьютере, и мой работодатель владеет множеством запасных контроллеров мыши. Это было безрезультатно!

Я думаю, что правильная аппаратная реализация мыши не должна посылать случайные средние клики во время прокрутки. Недавно я обнаружил, что это поведение вызывает раздражение даже при использовании Windows!

Теперь, когда я исправил аппаратную ошибку с помощью соответствующего аппаратного решения (сменил мышь), я даже начал пристрастие к «вставке на середину, нажмите «поведение!

Счастливое linuxing!

Искренне,

1
ответ дан 26 May 2018 в 01:18

SW: Ubuntu 14.04, с возвращением Гнома. HW: У меня есть ноутбук, поэтому средняя кнопка - это на самом деле мышь на ноутбуке. Решение. Перейдите в центр Ubuntu SW и загрузите инструмент Unity Tweak Tool. Запустите инструмент Tweak. В настройках «Мышь» есть переключатель для включения / выключения средней вставки. Приятного дня.

1
ответ дан 26 May 2018 в 01:18
  • 1
    У меня такая же система. Я загрузил инструмент Unity Tweak Tool и потратил время, глядя на каждую настройку, но такой настройки не было. Возможно, вы имели в виду «Tweak Tool», который, я думаю, Gnome Tweak Tool. У него есть настройки, хотя, похоже, он не работает. – Marty Fried 1 August 2015 в 19:42

Я попробовал трюк xinput-redirection, изменив центральную кнопку мыши (на самом деле колесо), так что он действует так же, как левая кнопка мыши.

В моем случае команда была

xinput set-button-map "PixArt USB Optical Mouse" 1 1 3 4 5 6 7 8 9 10 11 12 13 14 15 16

, но YMMV с помощью мышиной модели.

1
ответ дан 26 May 2018 в 01:18

У меня может быть частичный ответ для вас, если вы используете lenovo X ... с touchpoint / touchpad. Существует «известная» ошибка с кнопками мыши synaptics. Если вы попробуете USB-мышь и не испытываете никаких проблем, но с сенсорной панелью / сенсорной мышью (встроенной в клавиатуру) у вас есть случайные ответы, которые могут удалять строки текста при вводе, то это может быть ошибка, о которой я говорю .

https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1506817

Если это соответствует вашей ситуации, добавьте свое имя в список люди, которые идентифицировали эту ошибку, в этом отчете об ошибке. Может быть, если еще многие из нас сообщают об этом, это будет исправлено.

1
ответ дан 26 May 2018 в 01:18

Это больше, чем функция gnome, я думаю, что она работает почти везде, она работает и в консоли, и я думаю, что она работала даже в моей «Linux от Scratch».

Так что это действительно базовая функция, возможно, даже где-то в ядре.

BTW: Это действительно полезно, и это не обычная паста, как Ctrl + V, все, что отмечено курсор идет во втором хранилище, а с помощью middleclick можно вставить, что вы отметили последним.

0
ответ дан 26 May 2018 в 01:18
  • 1
    BTW2: Это пасты, где вы нажимаете, а не там, где находится курсор текста. – phiphi 23 September 2010 в 23:13
  • 2
    Замечательно, что у вас есть это мнение, но это не то, о чем спрашивал OP! – Matt Fletcher 13 September 2013 в 14:55

Используя то, что я узнал в сообщениях выше, этот однострочный bash отлично работает для меня ...

mouse_id=$(xinput list | grep 'Mouse' | awk '{print $9}' | sed 's/[^0-9]//g') && xinput set-button-map "$mouse_id" 1 0 3
0
ответ дан 26 May 2018 в 01:18
  • 1
    ОП особо упомянул, что он не хотел полностью отключать среднюю кнопку щелчка. – cpburnz 25 August 2014 в 19:10

Возможно, вы захотите попробовать эмуляцию мыши с двумя кнопками.

Установить настройки gpointing-device:

sudo aptitude install gpointing-device-settings

http: //live.gnome.org/GPointingDeviceSettings

В качестве альтернативы, если вы не хотите устанавливать gpointing-device-settings, и вас не беспокоят параметры командной строки, см. http: // live .gnome.org / GPointingDeviceSettings На этой странице вики доступны несколько параметров командной строки / конфигурации, выберите тот, который вы предпочитаете.

0
ответ дан 26 May 2018 в 01:18
  • 1
    Будет ли это по-прежнему позволять мне прокручивать приложения (например, Chrome) с помощью колеса? Я попробую, спасибо! – neildeadman 13 January 2012 в 14:12
  • 2
    Приложение устанавливает, но не может понять, как это может помочь. Ссылка на документы не работает. – HDave 8 February 2014 в 01:48

Это хороший вопрос, на который у меня нет ответа (пока). Быстрое и грязное обходное решение состоит в том, чтобы переназначить его не на 0, а на 1. Таким образом, он поворачивается на середину щелчка на левый клик и не влияет на ваш скроллер ... Пока это лучшее, что я могу придумать .

Примечание: эта информация была получена на форумах Ubuntu, а не на моем собственном noggin! :

)
-1
ответ дан 26 May 2018 в 01:18

Если вы используете Chrome / Chromium, вы можете установить расширение, которое даст вам прокрутку на большинстве веб-страниц.

Ссылка на расширение AutoScroll:

https: // chrome. google.com/webstore/detail/occjjkgifpmdgodlplnacmkejpdionan

-1
ответ дан 26 May 2018 в 01:18
  • 1
    Я не понимаю, он хочет отключить средний щелчок мыши, а не включить автопрокрутку. : S – Evandro Silva 6 November 2012 в 15:31

Y'all мог просто и быстро решить эту проблему, как я только что сделал, отвинтив мышь, взяв пару плоскогубцев с игольным носом и физически выдернув кнопку средней мыши. Гарантировано, чтобы исправить проблему - если вы никогда не используете ее, как я.

-1
ответ дан 26 May 2018 в 01:18

Вы проверили gpm? Дополнительная информация доступна по адресу http://manpages.ubuntu.com/manpages/lucid/man8/gpm.8.html. Доступно через sudo aptitude install gpm на прозрачном. Однако я не вижу программу disable-paste в пакете ubuntu, опция -A может стоить попробовать.

-3
ответ дан 26 May 2018 в 01:18
  • 1
    Я не понимаю gpm .. в описании пакета они заявляют: «Этот пакет пытается быть полезным сервером мыши для приложений, запущенных на консоли Linux. & Quot; Что это связано с приложениями, запущенными в оконном режиме? – levesque 21 September 2010 в 21:35

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

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