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

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

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

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

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

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

179
задан 11 December 2013 в 15:31

23 ответа

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

Или, более непосредственно, вот патч для отключения функции "вставки средней кнопки мыши" в GTK.

16
ответ дан 11 December 2013 в 15:31

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

-3
ответ дан 11 December 2013 в 15:31

Для приложений Gnome вы можете использовать gnome-tweaks (новое имя пакета gnome-tweak-tool ) в разделе " На вкладке «Клавиатура и мышь» есть опция «Вставить средним щелчком» или непосредственное редактирование параметра Gnome org.gnome.desktop.interface / gtk-enable-primary-paste.

Для приложений KDE существует эквивалентное решение. .

Для всего X (включая приложения, не относящиеся к Gnome) вы можете установить XMousePasteBlock , который затем должен быть запущен (пользователем достаточно, root не требуется) для работы. Это полностью отключает вставку с помощью среднего щелчка без отключения других функций среднего щелчка.

0
ответ дан 11 December 2013 в 15:31

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

Примечание:Эта информация пришла с Ubuntu Forums, а не с моей собственной ноги! :)

-1
ответ дан 11 December 2013 в 15:31

Используя то, что я узнал в сообщениях выше, этот однострочник 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
ответ дан 11 December 2013 в 15:31

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

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

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

1
ответ дан 11 December 2013 в 15:31

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

Установите gpointing-device-settings:

sudo aptitude install gpointing-device-settings

http://live.gnome.org/GPointingDeviceSettings

В качестве альтернативы, если вы не хотите устанавливать gpointing-device-settings и вас не беспокоят параметры командной строки, см. https://wiki.ubuntu.com/X/Config/Input На странице вики есть несколько параметров командной строки / конфигурации, выберите тот, который вам больше нравится.

0
ответ дан 11 December 2013 в 15:31

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

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

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
ответ дан 11 December 2013 в 15:31

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

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

2
ответ дан 11 December 2013 в 15:31

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

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

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

Счастливого линуксирования!

Искренне,

1
ответ дан 11 December 2013 в 15:31

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

1
ответ дан 11 December 2013 в 15:31

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

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

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

Полное практическое руководство по EasyStroke: http://sourceforge.net/apps/trac/easystroke/wiki/Documentation

3
ответ дан 11 December 2013 в 15:31

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

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

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

5
ответ дан 11 December 2013 в 15:31

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

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

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

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

Сначала установите xsel (Tool for manipulation of the X selection) sudo apt-get install xsel

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

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

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

21
ответ дан 11 December 2013 в 15:31

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

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

xinput list | grep -i mouse

, в котором отображается информация о вашей мыши. Он показывает, что моя мышь - это «оптическая USB-мышь Dell Premium», а также что у меня есть «эмуляция кнопок мыши 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 , чтобы он выполнялся каждый раз, когда я вхожу в систему или открываю терминал.

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

20
ответ дан 11 December 2013 в 15:31

من فهمیدم که این دقیقاً همان پاسخی نیست که شما می خواهید ، اما می توانید این کار را در Firefox خاموش کنید (به عنوان مثال اگر از ویژگی دیگری در جای دیگری ناراحت نیستید ، اما همچنان می خواهید در Firefox کلیک متوسط ​​کنید تا پیوندها را در برگه های جدید باز کنید)

در مورد: پیکربندی ، تنظیم کنید

middlemouse.contentLoadURL false
middlemouse.paste false

نه آنچه شما پرسیده اید ، اما چون این سوال از چند مکان به آن پیوند داده شده است امیدوارم کسی این پاسخ را مفید بداند.

43
ответ дан 11 December 2013 в 15:31

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

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

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

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

pointer = 1 25 3 4 5 6 7 8 9
37
ответ дан 11 December 2013 в 15:31

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

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

4
ответ дан 11 December 2013 в 15:31

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

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

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

-2
ответ дан 11 December 2013 в 15:31

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

  1. Установите его

     sudo apt install gnome-tweak-tool
     
  2. Запустите его, выполнив поиск «инструмент настройки» в установленных приложениях или просто введите gnome-tweak-tool в терминале.

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

    screenshot

Вот и все.

Или использовать только интерфейс командной строки

gsettings set org.gnome.desktop.interface gtk-enable-primary-paste false

Проверено 16.04.

66
ответ дан 11 December 2013 в 15:31

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

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

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

$ xinput set-button-map 4 1 0 3
2
ответ дан 11 December 2013 в 15:31

Единственный ответ, который сработал для меня, был дан на https://unix.stackexchange.com/a/ 277488/288916 Радивариг (Все кредиты принадлежат ему). Обратите внимание, что мне пришлось внести одно изменение, чтобы заставить его работать:

Установить xbindkeys:

sudo apt-get install xbindkeys xsel xdotool

Создать файл конфигурации для xbindkeys ~ / .xbindkeysrc с текстом:

"echo -n | xsel -n -i; pkill xbindkeys; xdotool click 2; xbindkeys"
b:2

Загрузить файл конфигурации using

xbindkeys -p

Добавьте эту строку в ~. / bashrc , чтобы xbindkeys всегда загружался при запуске.

Это то, что у меня работает, но Радивариг предлагает вместо этого использовать line

"echo -n | xsel -n -i; pkill xbindkeys; xdotool click 2; xbindkeys"
    b:2 + Release

Последняя не работает для меня, но если одна из версий не работает, я предлагаю попробовать другую.

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


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


ответ spawn аналогичен и может также работать, я не видел его, пока не нашел это решение.

4
ответ дан 5 September 2019 в 09:45

В KDE5 в Панели управления есть опция для включения / выключения центрального щелчка, который отключен.

sudo apt install xserver-xorg-input-synaptics

После установки этого пакета и перезапуска опция отключения центрального щелчка становится доступно.

0
ответ дан 5 January 2021 в 23:58

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

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