Гид по технологиям

Как настроить кнопки мыши в Linux

• 6 min read • Linux • Обновлено 23 Nov 2025
Как настроить кнопки мыши в Linux
Как настроить кнопки мыши в Linux

Введение

Многие производители периферии не уделяют внимания поддержке Linux. Тем не менее X11 и утилиты вокруг него позволяют гибко переназначать кнопки мыши. В этой статье объяснено, как: определить номера физических кнопок, исправить настройки прокрутки (ZAxisMapping), назначить функции кнопкам (xmodmap), сохранить и откатить изменения. Подойдёт для большинства проводных и USB-мышей, включая модели с боковыми кнопками.

Важно: инструкция ориентирована на систему с X11 (старый X-сервер). Если вы используете Wayland, часть шагов не применима. Определение: X11 — классический графический сервер в Linux; Wayland — современная альтернатива.

Что потребуется

  • Права root для правки /etc/X11/xorg.conf
  • Установленные пакеты xbindkeys и xautomation
  • Терминал с доступом к X-серверу

Установка пакетов (пример для Debian/Ubuntu):

sudo apt update
sudo apt install xbindkeys xautomation

Шаг 1. Определяем номера кнопок — xev

Откройте терминал и запустите:

xev

Инструмент создаст небольшое окно и выведет в терминал много строк информации о событиях ввода. Подведите курсор к окну и нажимайте разные кнопки мыши. В выводе ищите строки с ButtonPress / ButtonRelease — там будет число кнопки.

Если вывод слишком объёмный, фильтруйте:

xev | grep button

Пример — снимок экрана с выводом xev:

ALT текста: окно xev и пример событий ButtonPress/Release в терминале

Совет: сначала определите обычные кнопки (левая, правая, средняя), затем колёсико (скролл вверх/вниз и, при наличии, влево/вправо) и боковые кнопки.

ALT текста: использование команды xev с фильтрацией через grep для показа только событий кнопок

Шаг 2. ZAxisMapping и протокол в /etc/X11/xorg.conf

Файл конфигурации X серверa: /etc/X11/xorg.conf

Если у вас нет этого файла, создайте его по необходимости. Последовательность действий:

  1. Переключитесь в консоль: одновременно нажмите Alt+Ctrl+F1
  2. Остановите дисплейный менеджер (пример для lightdm):
sudo service lightdm stop
  1. Сгенерируйте конфигурацию X:
sudo X -configure
  1. Вернитесь к графике:
sudo start lightdm
  1. Переименуйте сгенерированный файл конфигурации в xorg.conf и переместите в /etc/X11

После этого откройте файл в редакторе от root и найдите секцию, относящуюся к устройству мыши. Примерная часть файла может выглядеть примерно так (строки примерно 29—34 в примере):

ALT текста: фрагмент xorg.conf с секцией для устройства Pointer и параметрами Protocol и ZAxisMapping

Ключевые параметры:

  • Protocol — протокол общения устройства с системой (PS/2, USB, Logitech, MouseSystems и т. п.). Обычно менять не нужно, если все кнопки обнаруживаются.
  • ZAxisMapping — определяет номера, соответствующие действию колёсика и дополнительным осевым функциям (вперёд/назад).

Если ваша прокрутка не работает, прокрутите колесом, смотря вывод xev. Подставьте полученные номера в ZAxisMapping и перезапустите X. После правки сохраняйте резервную копию оригинального xorg.conf.

Шаг 3. Быстрое переназначение кнопок — xmodmap

Утилита xmodmap позволяет динамически переназначать кнопки мыши. Формат команды:

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

Значение каждого места в списке занимает конкретная виртуальная функция:

  1. Левая кнопка
  2. Средняя кнопка (колёсико нажатие)
  3. Правая кнопка
  4. Скролл вверх
  5. Скролл вниз 6+. Дополнительные оси/кнопки (зависит от вашей мыши)

Пример: если xev показал, что физическая кнопка, которая должна быть средней, имеет номер 8, то команда должна содержать 8 на второй позиции:

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

Проверить текущее распределение можно командами:

xmodmap -pp

или

xinput list
xinput --list-props 

Совет: для левшей поменяйте 1 и 3 местами.

Сохранение настроек между сессиями

Переназначения xmodmap действуют до перезапуска X. Чтобы сохранить их, используйте один из подходов:

  • Добавьте команду xmodmap в ваш ~/.xsessionrc или ~/.xinitrc (в зависимости от окружения).
  • Создайте systemd user unit, который выполняется после старта графики.
  • Используйте xbindkeys вместе с конфигурацией, чтобы запускать макросы и сочетания клавиш.

Пример: добавить в ~/.xsessionrc

# ~/.xsessionrc
xmodmap -e "pointer = 1 4 3 7 9 5 8 2"

Или сделать скрипт в ~/.config/autostart (Desktop Entry) с вызовом xmodmap.

Альтернативы и расширенные инструменты

  • imwheel — перенастройка поведения колёсика и ускорение прокрутки.
  • libratbag + ratbagd + piper — современная стек для продвинутых игровых и многофункциональных мышей (поддержка некоторых Logitech, SteelSeries и др.).
  • xinput — низкоуровневое управление устройствами ввода и их свойствами.

Когда xmodmap не помогает, стоит попробовать редактировать evdev/udev правила или использовать ratbagd, если ваша модель поддерживается.

Типичные проблемы и решения

  • Ничего не показывает xev: вы используете Wayland. В Wayland xev не работает; применяйте средства окружения рабочего стола (KDE, GNOME) или libinput tools.
  • Номера кнопок не соответствуют ожиданию: возможно, устройство посылает клавиатурные события. Некоторые «Wi‑Fi» и «Windows 8/10» мыши отправляют клавиатурные ходы — их сложнее переназначить.
  • После изменения xorg.conf X не стартует: откатите резервную копию xorg.conf и перезапустите дисплейный менеджер.

Важно: всегда сохраняйте резервную копию оригинального /etc/X11/xorg.conf перед правками.

Быстрый план действий — чеклист

  • Установить xbindkeys и xautomation
  • Запустить xev и определить номера кнопок
  • При необходимости сгенерировать /etc/X11/xorg.conf
  • Проверить и править ZAxisMapping
  • Выполнить xmodmap с нужными номерами
  • Добавить команду в автозагрузку для сохранения изменений
  • Создать резервную копию оригинального xorg.conf

Пошаговый плейбук (SOP)

  1. Выполнить backup:
sudo cp /etc/X11/xorg.conf /etc/X11/xorg.conf.bak
  1. Использовать xev для каждого интересующего события (левая, правая, средняя, колёсико, боковые).
  2. При проблемах с колёсиком — поправить ZAxisMapping в /etc/X11/xorg.conf.
  3. Протестировать быстрым xmodmap:
xmodmap -e "pointer = <список номеров>"
  1. Если работает — добавить команду в ~/.xsessionrc или в автозапуск DE.
  2. Если не работает — проверить xinput и /var/log/Xorg.0.log для ошибок.

Критерии приёмки

  • Каждая физическая кнопка генерирует событие в xev.
  • После применения xmodmap кнопки выполняют ожидаемые функции.
  • После перезапуска сессии автозагрузка применяет сохранённые правила.
  • При необходимости откат к резервной копии восстанавливает рабочую конфигурацию.

Тестовые сценарии

  1. Нажать каждую кнопку и убедиться, что xev показывает ожидаемый номер.
  2. Применить xmodmap и проверить: левая — выделение, правая — контекстное меню, средняя — встраивание/вставка.
  3. Прокрутить колесо вверх/вниз и проверить, что ZAxisMapping соответствует.
  4. Перезагрузиться и проверить автозагрузку переназначений.

Когда этот метод не сработает

  • Вы используете Wayland вместо X11.
  • Мышь эмулирует клавиатуру или отправляет сложные HID‑события вне возможностей xmodmap.
  • Ваше окружение перезаписывает настройки (например, GNOME Settings может менять свойства устройства).

В этих случаях попробуйте использовать ratbagd/piper, udev‑правила или специальные драйверы производителя (если есть Linux‑поддержка).

Полезные команды для диагностики

xev | grep button
xinput list
xinput --list-props 
xmodmap -pp
xmodmap -e "pointer = 1 4 3 7 9 5 8 2"

Мини-инструментарий по восстановлению

Если после правок X не запускается:

  1. Переключитесь на консоль Alt+Ctrl+F1
  2. Восстановите резервную копию:
sudo cp /etc/X11/xorg.conf.bak /etc/X11/xorg.conf
  1. Перезапустите дисплейный менеджер:
sudo service lightdm start

Ментальная модель

Думайте о кнопках как о наборах: физическая кнопка имеет номер, X сопоставляет номер виртуальной функции, xmodmap переназначает номера на функции. ZAxisMapping отвечает за осевые события прокрутки.

Краткая таблица совместимости и советы

  • X11: подробно подходит для xev, xmodmap и правки xorg.conf.
  • Wayland: используйте средства DE или libratbag/ratbagd где доступно.
  • Игровые мыши: попробуйте ratbagd/piper для управления DPI, профилями и кнопками.

Резюме

Переназначение кнопок мыши в Linux на X11 — вполне выполнимая задача. Основные шаги: определить номера через xev, при необходимости отредактировать ZAxisMapping в /etc/X11/xorg.conf и применить переназначение с помощью xmodmap. Для постоянных настроек используйте автозагрузку или современные инструменты вроде ratbagd. Всегда делайте резервную копию конфигураций и тестируйте шаги по одному.

Ключевые рекомендации:

  • Всегда делайте резервные копии.
  • Проверяйте вывод xev для каждой кнопки.
  • Используйте xmodmap для быстрой проверки, а затем автоматизируйте запуск команд.

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

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Несколько аккаунтов Skype: Multi Skype Launcher
Программное обеспечение

Несколько аккаунтов Skype: Multi Skype Launcher

Журнал для работы: повысить продуктивность
Productivity

Журнал для работы: повысить продуктивность

Персональные звуки уведомлений на Android
Android.

Персональные звуки уведомлений на Android

Скачивание шоу Hulu для офлайн‑просмотра
Стриминг

Скачивание шоу Hulu для офлайн‑просмотра

Microsoft Start: персонализированная новостная лента
Новости

Microsoft Start: персонализированная новостная лента

Как изменить имя в Epic Games быстро
Гайды

Как изменить имя в Epic Games быстро