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

Нажатие средней кнопкой для вставки — удобно, но иногда вы рискуете случайно вставить приватные данные. Переназначить среднюю кнопку в Ubuntu просто и безопасно. В этой статье подробно описаны шаги, альтернативы, типичные проблемы и проверочные списки.
Что потребуется
- Доступ к терминалу с правами sudo.
- Установленные пакеты evtest (обычно доступен в репозиториях). Установка: sudo apt install evtest.
- Текстовый редактор (nano, vim и т. п.).
Пошаговый метод (микро-методология)
- Запустите монитор ввода и найдите устройство мыши:
sudo evtestВ списке выберите номер события для вашей мыши и нажмите среднюю кнопку. Скопируйте значение события (например, 90003).
Нажмите Ctrl + C, запустите evtest снова и выберите устройство клавиатуры. Нажмите клавишу, на которую хотите переназначить среднюю кнопку (например Backspace). Скопируйте имя ключа, например KEY_BACKSPACE.
Узнайте идентификаторы устройства (замените N на номер события вашей мыши):
grep "" /sys/class/input/eventN/id/*Запишите значения bus type, product, vendor и version.
- Создайте файл конфигурации для hwdb:
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]Пример: если вы хотите, чтобы средняя кнопка действовала как Backspace, в шаблоне вы укажете KEYBOARDKEY[scancode]=backspace (ключевой код в нижнем регистре). Чтобы переназначить на другую мышиную кнопку, используйте префикс btn_, например btn_left.
- Примените базу:
sudo systemd-hwdb updateОтключите и снова подключите мышь (или перезагрузите систему) и проверьте работу средней кнопки.
Важно: prefix btn_ обязателен при сопоставлении с кнопками мыши (btn_left, btn_right и т. д.). Также переназначение на комбинации клавиш (например Ctrl+V) через hwdb обычно невозможно.
Пример обнаружения кодов и идентификаторов



(Alt-тексты изображений описывают: скриншот evtest, вывод с кодами клавиш и пример файла hwdb в редакторе.)
Альтернативные подходы
- xinput (только для X11): позволяет временно переназначать кнопки в текущей сессии. Нельзя использовать на Wayland. Пример:
xinput list
xinput set-button-map 1 0 3 Замена 2 на 0 отключает среднюю кнопку для устройства с указанным ID.
imwheel: утилита для переназначения прокрутки и кнопок мыши на уровне X11. Подходит для тонкой настройки в X11-сессиях.
xbindkeys + xdotool: позволяет назначать скрипты на нажатия кнопок (опять же, только X11).
Драйвер/прошивка мыши: у некоторых многофункциональных мышей есть собственные утилиты или профили, позволяющие переназначать кнопки на аппаратном уровне.
Wayland vs X11: что выбрать
- Если вы используете Wayland (например, стандартная современная сессия GNOME), xinput и imwheel работать не будут. HWDB (udev) и systemd-hwdb остаются рабочими, потому что они работают на уровне ядра/udev.
- Если вы используете X11, у вас больше вариантов (xinput, imwheel, xbindkeys).
Когда этот метод не сработает (контрпримеры)
- Устройства, которые не объявляют независимые коды кнопок через evdev (редкие специализированные устройства) могут не поддерживать HWDB-переопределение.
- Аппаратные профили мыши, применённые на уровне прошивки, могут перебивать переназначение на стороне ОС.
- Попытка сопоставить на сложную комбинацию клавиш (например Ctrl+Shift+V) через hwdb обычно невозможна.
Проверочный список по ролям
Для пользователя, заботящегося о приватности:
- Найти код средней кнопки через evtest.
- Переназначить на резерв (reserved) или на btn_left/btn_right.
- Протестировать в текстовом редакторе и в браузере.
Для системного администратора:
- Автоматизировать распространение /etc/udev/hwdb.d/mouse-remap.hwdb через конфигурационный менеджер.
- Обновить systemd-hwdb и задокументировать изменения.
- Убедиться, что правило не конфликтует с корпоративными политиками устройств.
Для игрока/пользователя с многокнопочной мышью:
- Проверить, не лучше ли настроить профили через ПО производителя.
- Тестировать задержки и поведение в играх.
Критерии приёмки
- Средняя кнопка выполняет назначенное действие во всех приложениях после переподключения мыши.
- В логах udev не появляется ошибок при обновлении hwdb.
- При откате файла /etc/udev/hwdb.d/ и вызове sudo systemd-hwdb update поведение возвращается к исходному.
Отладка и типичные проблемы
Ничего не изменилось после update:
- Убедитесь, что вы правильно указали идентификаторы bus/vendor/product/version.
- Переподключите USB-порт или перезагрузите систему.
Некорректный scancode или keycode:
- Проверяйте имена ключей в evtest (они выглядят как KEY
), но в hwdb используйте нижний регистр и без префикса KEY . Например KEY_BACKSPACE -> backspace.
- Проверяйте имена ключей в evtest (они выглядят как KEY
Вы используете Wayland и пробуете xinput — это не сработает. Переключитесь на X11 или используйте hwdb/udev.
Безопасность и приватность
Переназначение кнопок не повышает уязвимость системы само по себе. Но если вы переназначаете кнопку на автоматическую последовательность действий через xbindkeys/xdotool, убедитесь, что никакие автоматические клики не будут отправлять конфиденциальные данные в непроверенные окна.
Краткая глоссарий (1 строка на термин)
- evtest — утилита для мониторинга событий устройств ввода.
- hwdb — база данных аппаратных сопоставлений udev, управляемая systemd-hwdb.
- xinput — инструмент для управления устройствами ввода в X11.
Рекомендации по выбору подхода
- Если нужна простая и постоянная переопределение на всех сессиях — используйте hwdb (udev).
- Если вы в X11 и хотите временно протестировать — используйте xinput.
- Если нужна сложная логика (скрипты при нажатии) — используйте xbindkeys + xdotool (только X11) или драйвер производителя.
Риски и смягчения
- Риск: исказить все мышиные вводы в системе. Смягчение: сохраняйте резервную копию файла hwdb и тестируйте на отдельном порту/dev.
- Риск: несовместимость с корпоративной политикой. Смягчение: согласуйте изменения с ИТ.
Короткое резюме
Переназначение средней кнопки мыши в Ubuntu надёжно выполняется через создание файла в /etc/udev/hwdb.d/ и обновление базы systemd-hwdb. Для X11 доступны альтернативы (xinput, imwheel). Всегда фиксируйте идентификаторы устройств и тестируйте изменения в безопасной среде.
Быстрый сценарий отката
- Удалите созданный файл:
sudo rm /etc/udev/hwdb.d/mouse-remap.hwdb- Обновите hwdb:
sudo systemd-hwdb update- Переподключите мышь или перезагрузите систему.
FAQ
Как узнать, X11 или Wayland используется?
Откройте терминал и выполните echo $XDG_SESSION_TYPE — результат будет x11 или wayland.
Нужно ли перезагружать систему после systemd-hwdb update?
Обычно достаточно отключить и снова подключить мышь. Иногда требуется перезагрузка, если устройство кеширует данные.
Можно ли переназначить среднюю кнопку на сочетание клавиш?
Через hwdb — нет. Для таких сценариев используйте xbindkeys + xdotool (только X11).
Похожие материалы
Градиенты в Canva: добавить и настроить
Ошибка Disabled accounts can't be contacted в Instagram
Генерация случайных чисел в Google Sheets
Прокручиваемые скриншоты в Windows 11
Как установить корпусной вентилятор в ПК