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

101

Есть ли способ отключить поведение приставки средней кнопки мыши, которое здесь по умолчанию в gnome?

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

Я видел решение , которое происходит путем сопоставления средней кнопки мыши с несуществующей кнопкой мыши, но это означает, что вы вообще избавляетесь от средней кнопки мыши (т.е. нет закрытия вкладок, открытия ссылок на новую вкладку автоматически и т. д.). ). Я бы хотел, чтобы моя средняя кнопка мыши активна, просто отключите поведение вставки.

Это также происходит, когда я прокручиваю текст с помощью сенсорной панели (случайно ударил два пальца, не двигаясь, bam.)

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

    
задан levesque 21.09.2010 в 17:26
источник

22 ответа

15

Для решения проблемы, пожалуйста, ознакомьтесь с этим руководством. Я написал: Ссылка

Или, более прямо, вот патч, чтобы отключить функцию «средней кнопки мыши» в GTK: Ссылка

    
ответ дан Jelle Geerts 17.09.2011 в 23:27
источник
31

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

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

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

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

pointer = 1 25 3 4 5 6 7 8 9
    
ответ дан Jay Goldfarb 06.08.2011 в 02:32
23

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

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

middlemouse.contentLoadURL false
middlemouse.paste false

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

    
ответ дан Ben 21.01.2012 в 10:11
19

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

sudo apt install gnome-tweak-tool

Найдите «инструмент настройки» в установленных приложениях. Запустите его.

Или просто наберите gnome-tweak-tool в терминале.

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

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

    
ответ дан Sunny127 15.01.2017 в 13:03
18

В настоящее время это невозможно - хотя, как вы уже упоминали, есть способы отключить кнопку 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

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

    
ответ дан Marco Ceppi 23.09.2010 в 20:56
14

Как-то я оказался без каких-либо файлов 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 означает «выключено».

Позиция в списке показывает функцию, назначенную этой кнопке. Поэтому, если моя карта кнопок читается

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 .....

Или, в вашем случае, похоже, что вы хотите, чтобы средняя кнопка делала то же самое, что и кнопка 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 , чтобы он выполнялся каждый раз, когда я вхожу в систему или открываю терминал.

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

    
ответ дан Wes Miller 12.01.2012 в 13:58
4

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

с помощью 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

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

    
ответ дан spawn 22.02.2016 в 12:10
3

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

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

Ссылка: Ссылка

Завершить EasyStroke How-To: Ссылка

    
ответ дан dbdq 03.02.2013 в 13:13
2

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

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

    
ответ дан Florian Diesch 23.09.2010 в 20:52
2

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

Ссылка

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

$ xinput set-button-map 4 1 0 3
    
ответ дан Ahmad Bawaneh 05.01.2014 в 15:38
1

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

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

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

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

Sincerly,

    
ответ дан Jonathan 16.08.2012 в 20:44
1

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

    
ответ дан user2712329 12.09.2014 в 01:32
1

Я попробовал трюк 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 по модели мыши.

    
ответ дан Stephen Bloch 03.12.2014 в 21:13
1

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

Ссылка

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

    
ответ дан Jont Allen 15.07.2016 в 01:19
1

Вот самое простое решение, которое я нашел, чтобы поддерживать средний щелчок без его вставки.

Сначала установите sxhkd и xsel .

Затем настройте ./. config / .sxhkd / sxhkdrc так

~button2
    echo -n | xsel -n -i
~control + c
    echo -n | xsel -n -i
~control + x
    echo -n | xsel -n -i

И это в основном это.

Теперь запустите sxhkd (или настройте его для запуска при запуске). Теперь средняя мышь больше не будет вставлять что-либо, но в противном случае будет работать как обычно. (Пока вы используете только ctrl + c и ctrl + x для копирования вещей, которые есть, если вы копируете вещи с помощью мыши, они могут вставляться один раз, прежде чем он вернется в нормальное состояние.)

    
ответ дан Cestarian 01.10.2018 в 00:02
0

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

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

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

    
ответ дан phiphi 23.09.2010 в 20:08
0

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

mouse_id=$(xinput list | grep 'Mouse' | awk '{print $9}' | sed 's/[^0-9]//g') && xinput set-button-map "$mouse_id" 1 0 3
    
ответ дан Scott 04.12.2013 в 17:42
0

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

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

sudo aptitude install gpointing-device-settings

Ссылка

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

    
ответ дан Panther 12.01.2012 в 19:47
-1

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

Примечание. Эта информация получена из форумов Ubuntu , а не моего собственного noggin! :)     

ответ дан Tiede 23.09.2010 в 19:49
-1

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

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

Ссылка

    
ответ дан Robert Coleman 28.11.2011 в 07:43
-1

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

    
ответ дан Kevin McCracken 17.03.2016 в 15:44
-3

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

    
ответ дан koushik 21.09.2010 в 18:27