Пришла мне в голову гениальная мысль «забиндить» операции копировать-вставить на две дополнительные кнопки у моей ZET GAMING Prime и казалось бы, что могло пойти не так? Конечно же оказалось в X11 этот вопрос решается элементарно, а вот в Wayland … «Хьюстон у нас проблемы».
Преамбула
Сразу оговоримся, что все операции будут проводиться применительно к Kubuntu Linux и конкретно к мышке на картинке выше, но в реальности все применимо к любому дистрибутиву где графика на «вяленом».
Если следовать логике нормальных людей, то нам достаточно перейти «Система» -> «Параметры системы» -> «Мышь» -> «Настроить дополнительные кнопки».
Увы, это все конечно работает, но работает только в режиме X11, а вот в режиме Wayland (не потому что Wayland это стильно и молодежно) так уже не работает. Этот казус по старой Linux традиции привело меня к поиску альтернатив и как оказалось не напрасно.
Утилита Input Remaper (работает как для Wayland так и для X11)
Официальный сайт на GitHub находится по адресу https://github.com/sezanzeb/input-remapper. Сразу скажу, что функционал утилиты выходит далеко за рамки моей задачи «повесить» копипасту на дополнительные кнопки мыши.
Input Remapper — это мощный инструмент для Linux, позволяющий переназначать поведение любых устройств ввода (клавиатур, мышей, джойстиков, педалей и т.д.). С его помощью можно создавать сложные макросы, комбинации клавиш, эмулировать движения мыши и многое другое. Сейчас я подробно расскажу, как установить и настроить утилиту, а также приведу конкретный пример назначения функций копировать (Ctrl+Insert) и вставить (Shift+Insert) на дополнительные кнопки компьютерной мыши. Естественно, вашем случае комбинации клавиш для копировать-вставить могут отличаться.
Установка Input Remaper
Самый простой способ — установить пакет из репозитория вашего дистрибутива (если он есть). Для Ubuntu/Debian он есть и установка производится одной командой.
# apt install input-remapper
Или из графического интерфейса Discover.
Запуск графического интерфейса
Запустите программу из меню приложений (обычно называется Input Remapper) или из терминала.
$ input-remapper-gtk
При первом запуске потребуется ввести пароль sudo, потому что утилите нужны права на чтение событий из /dev/input/.
Интерфейс состоит из трёх основных страниц:
Devices — выбор устройства (ваша мышь).
Presets — создание и управление наборами правил (пресетами).
Mapping — добавление и редактирование конкретных правил.
Определение кнопок мыши
Дополнительные кнопки мыши (например, боковые кнопки «вперёд»/«назад») в системе могут иметь следующие имена:
BTN_SIDE (часто боковая кнопка, ближняя к большому пальцу),
BTN_EXTRA,
BTN_FORWARD, BTN_BACK,
BTN_0, BTN_1 и т.д.
Чтобы точно узнать, какой код соответствует вашей кнопке:
В интерфейсе Input Remapper выберите вашу мышь на странице Devices.
Перейдите на страницу Mapping.
Нажмите кнопку Record и нажмите нужную кнопку мыши. В поле Input появится её имя (например, BTN_SIDE).
Создание пресета для мыши
На странице Devices выберите вашу мышь.
Перейдите на страницу Presets.
Нажмите «+» (Create new preset), введите имя, например Mouse Copy/Paste.
Новый пресет появится в списке. Выберите его, чтобы начать редактирование.
Добавление правила для копирования (Ctrl+Insert)
Предположим, вы хотите назначить боковую кнопку BTN_SIDE на комбинацию Ctrl+Insert.
На странице Mapping нажмите «+» (Add mapping).
В поле Input нажмите Record и нажмите боковую кнопку мыши (появится, например, BTN_SIDE).
В поле Output введите: Control_L + Insert (Это означает: зажать левый Ctrl и нажать Insert).
Нажмите Enter (поле превратится в многострочный редактор, но можно оставить как есть).
Измените имя правила (опционально), например «Copy».
Добавление правила для вставки (Shift+Insert)
Аналогично создайте второе правило, например для кнопки BTN_EXTRA (или другой свободной кнопки).
Теперь у вас должно быть два правила в пресете.
Применение пресета
Убедитесь, что пресет выбран в списке на странице Presets.
Нажмите кнопку Apply (в верхней части окна). Это активирует все правила пресета для выбранного устройства.
Теперь нажмите боковые кнопки мыши — должны выполняться действия копирования и вставки в активном окне.
Важно: Если вы хотите изменить уже записанный ввод, сначала нажмите кнопку Stop, иначе программа не сможет считать исходные события мыши.
Дополнительные настройки и советы
Автозагрузка пресета
Чтобы пресет автоматически применялся при подключении мыши, на странице Presets включите переключатель Autoload рядом с именем пресета.
Отладка
Если что-то не работает, запустите графический интерфейс с выводом отладочной информации. Логи помогут понять, какие события генерируются и как они обрабатываются.
$ input-remapper-gtk -d
Отключение кнопки
Если вы хотите полностью отключить какую-либо кнопку (чтобы она ничего не делала), в поле Output введите disable.
Использование нескольких модификаторов
Можно создавать сложные комбинации, например Control_L + Shift_L + v (вставить без форматирования).
Просто перечислите их через «+».
Control_L + Shift_L + v
Пример готового пресета (конфигурационный файл)
Если вы предпочитаете редактировать конфигурацию вручную, пресет сохраняется в файле ~/.config/input-remapper-2/presets/<имя_устройства>/<имя_пресета>.json.
Пример содержимого для нашего пресета (имена кнопок могут отличаться).
Input Remapper предоставляет гибкий и удобный способ кастомизации устройств ввода в Linux. С его помощью вы можете не только назначать кнопкам мыши действия копирования/вставки, но и создавать сложные макросы, комбинации клавиш, эмулировать движения мыши и многое другое.
В прошлой статье мы рассмотрели настройку контроллера домена РЕД АДМ, а сейгодня мы доделаем базовую инфраструктуру РЕД АДМ добавив резерный контроллер домена на случай сбоя основого. Настраиваем зону условной пересылки…
Keycloak — это сервер аутентификации, который поддерживает множество протоколов (OpenID Connect, SAML) и позволяет интегрироваться с различными источниками пользователей, такими как LDAP/Active Directory. Подготовка сервера CentOS 8 Обновление системы После…