Переназначение средней кнопки мыши в Ubuntu

Пастинг средней кнопкой — удобная функция, но случайное вставление конфиденциальных данных неприятно. К счастью, переназначить среднюю кнопку в Ubuntu можно вручную и достаточно просто.
Как переназначить среднюю кнопку мыши в Ubuntu
Переназначение выполняется через создание конфигурационного файла hwdb (hwdb.d). Основные шаги:
- Найти устройство мыши в списке событий.
- Определить код события, который генерирует средняя кнопка.
- Получить идентификационные числа устройства (bus, vendor, product, version).
- Создать файл /etc/udev/hwdb.d/mouse-remap.hwdb с правилом, где подставить найденные значения.
- Обновить hwdb и переподключить устройство.
Ниже детально.
1) Определите event-номер устройства и код средней кнопки
Откройте терминал и запустите evtest от root, чтобы прослушать события ввода:
sudo evtestВ списке вы увидите устройства ввода и попроситe выбрать номер события (eventN). Найдите свою мышь и введите соответствующий номер. После этого в терминале будут печататься события от устройства.
Удержите курсор и нажмите среднюю кнопку мыши один раз. В выводе появится строка с информацией о событии; в ней ищите значение, соответствующее среднему клику. В примере в статье это было значение 90003 — используйте своё значение.
Примечание: Нажмите Ctrl+C, чтобы прекратить мониторинг событий.
2) Узнайте коды клавиш, если будете привязывать к клавиатурной клавише
Если вы хотите привязать среднюю кнопку к клавиатурной клавише (например, Backspace), запустите evtest и выберите устройство клавиатуры. При нажатии желаемой клавиши evtest покажет её имя, например KEY_BACKSPACE. Запишите это имя точно; в конфигурации оно должно быть в нижнем регистре (см. пример ниже).
3) Получите идентификаторы устройства (bus, vendor, product, version)
Чтобы корректно адресовать правило только для вашей мыши, получите четыре кода устройства. Замените N на номер event, который соответствует вашей мыши:
grep "" /sys/class/input/eventN/id/*В выводе будут строки с bus, vendor, product и version. Запишите их — они нужны для шаблона hwdb.
4) Создайте файл hwdb с правилом для переназначения
Откройте новый файл в редакторе от root:
sudo nano /etc/udev/hwdb.d/mouse-remap.hwdbВставьте шаблон правила и подставьте ваши значения (объяснение полей ниже):
evdev:input:b[bustype]v[vendor]p[product]e[version]*
ID_INPUT_KEY=1
KEYBOARD_KEY_[scancode]=[keycode]Где:
- b[bustype], v[vendor], p[product], e[version] — замените на значения из /sys/class/input/eventN/id/. Пример: evdev:input:b0003v046dpc0047e0001 (точный формат зависит от выводимых вами чисел).
- ID_INPUT_KEY=1 — включает возможность подмены событий кнопок у этого устройства.
- KEYBOARDKEY[scancode]=[keycode] — укажите scancode (код события кнопки мыши), равный значению, полученному в evtest для средней кнопки (например, 90003), и keycode — имя клавиши, на которую хотите сделать привязку, в нижнем регистре (например backspace) или специальный код типа btn_left.
Пример заполненного правила (по мотивам приведённого в статье):
evdev:input:b0003v046dpc0047e0001*
ID_INPUT_KEY=1
KEYBOARD_KEY_90003=backspaceВажно: Для привязки к другой кнопке мыши используйте префикс btn_. Например, btn_left, btn_right, btn_middle. Для отключения используйте keycode reserved (описано ниже).
5) Примените правила и переподключите мышь
После сохранения файла выполните:
sudo systemd-hwdb updateЗатем отключите и снова подключите мышь (или перезагрузите систему), чтобы правило вступило в силу. Проверьте работу средней кнопки в приложении, где ранее происходили нежелательные вставки.
Если правило не сработало сразу, перезагрузка обычно закрывает все вопросы с кэшированием hwdb.
Как полностью отключить среднюю кнопку мыши
Если вы хотите не переназначать, а именно отключить среднюю кнопку, в hwdb используйте ключевое слово reserved как keycode:
KEYBOARD_KEY_90003=reservedЭто заставит систему игнорировать события от этой кнопки.
Отключение через xinput (временный вариант для X11)
Если вы используете X11, можно временно изменить отображение кнопок через xinput. Сначала найдите все указатели мыши:
xinput listЗапишите ID для каждой записи типа “pointer”. Затем для каждого ID выполните команду, где в примере мы выключаем среднюю кнопку (второй слот) и оставляем левую и правую:
xinput set-button-map N 1 0 3
xinput set-button-map M 1 0 3Здесь последовательность чисел соответствует номерам логических кнопок: 1 — левая, 2 — средняя, 3 — правая. Значение 0 отключает кнопку. Этот подход работает до перезапуска X/сессии и удобен для быстрого теста.
Примечание: Wayland не поддерживает xinput; для Wayland используйте hwdb/udev или настройки окружения рабочего стола, если они есть.
Когда переназначение может не сработать
- Если ваша среда использует Wayland и конкретный compositor блокирует udev-правила — большинство современных окружений (GNOME на Wayland) всё же применяют hwdb, но поведение может различаться.
- Если устройство объединяет несколько интерфейсов и события идут не от ожидаемого eventN — проверьте все перечисленные в evtest устройства.
- Если вы ошиблись в номере scancode или в формате строки evdev — правило будет проигнорировано.
- Некоторые проприетарные драйверы или поверхностные утилиты производителя могут перехватывать кнопки до hwdb.
Альтернативные подходы
- GUI-утилиты: некоторые окружения и сторонние приложения (piper для игровых мышей, настройки Logitech на Linux) позволяют переназначать кнопки через интерфейс.
- Конфигурация драйвера (например, libinput): можно попытаться настроить поведение через параметры libinput, но для глобального переназначения hwdb обычно проще.
- Скрипты-обработчики: прослушивать события через evdev-приложение и программно подменять события — гибко, но сложнее и менее устойчиво.
Практический SOP по переназначению (короткая инструкция для администратора)
- Подключите мышь и откройте терминал.
- Выполните sudo evtest, выберите устройство мыши, нажмите среднюю кнопку и запишите код события.
- Выполните grep “” /sys/class/input/eventN/id/* и запишите bus, vendor, product, version.
- Создайте /etc/udev/hwdb.d/mouse-remap.hwdb с правилом, подставив значения.
- Выполните sudo systemd-hwdb update.
- Отключите/подключите мышь или перезагрузите.
- Проверить действие, при необходимости исправить scancode или keycode.
Чек-лист по ролям
Для пользователя:
- Сделать резервную копию текущих конфигураций, если есть.
- Протестировать изменения через xinput (если X11) прежде чем править hwdb.
Для системного администратора:
- Проверить совместимость с Wayland/композитором.
- Документировать правило и хранить его в системе контроля версий конфигураций.
- Убедиться, что правило применяется только к нужному устройству.
Критерии приёмки
- Средняя кнопка больше не вызывает вставку в целевом приложении (или выполняет назначенное действие).
- Правило применено только к нужной мыши (остальные устройства не затронуты).
- Изменение устойчиво после переподключения устройства и/или перезагрузки.
Факт-бокс с ключевыми моментами
- Основной инструмент: udev hwdb (файлы в /etc/udev/hwdb.d/).
- Альтернативный временный инструмент для X11: xinput.
- Пример scancode: 90003 (в вашем случае будет своё значение).
- Для отключения используйте keycode reserved.
Краткий глоссарий
- hwdb — база данных аппаратных соответствий udev, используемая systemd для сопоставления устройств с параметрами.
- scancode — код события, генерируемый устройством при нажатии кнопки.
- keycode — целевое имя клавиши/действия, например backspace, btn_left.
- xinput — утилита для управления устройствами ввода в X11.
Тест-кейсы и приёмка
- Тест 1: Нажать среднюю кнопку в текстовом поле — сообщение не вставляет текст (при отключении) или выполняет заданную клавишу (при переназначении).
- Тест 2: Переподключить мышь — поведение сохраняется.
- Тест 3: Подключить другую мышь — её функции не должны меняться, если правило привязано по vendor/product.
Заключение
Переназначение средней кнопки мыши в Ubuntu даёт контроль над нежелательными вставками и позволяет настроить поведение мыши под свои нужды. Для устойчивого и системного решения предпочтителен метод с hwdb; для быстрого теста под X11 подойдёт xinput. Всегда сохраняйте оригинальные конфигурации и тестируйте изменения локально перед развёртыванием на рабочих машинах.
Важно: Wayland и специфичные драйверы могут изменять поведение; при проблемах проверьте документацию вашего окружения рабочего стола или производителя мыши.
Краткое резюме приведено в начале статьи. Удачной настройки!
Похожие материалы
Как добавить подпись в Outlook — все версии
Настроить Избранное в Health на iPhone
Отложить уведомления на Android — быстро
Поиск похожих изображений Google по сайту
Google Photos на Chromecast с Google TV