Назначение операций на дополнительные кнопки мыши (Linux Wayland)

Оцените статью

Пришла мне в голову гениальная мысль «забиндить» операции копировать-вставить на две дополнительные кнопки у моей ZET GAMING Prime и казалось бы, что могло пойти не так? Конечно же оказалось в X11 этот вопрос решается элементарно, а вот в Wayland … «Хьюстон у нас проблемы».

ZET GAMING Prime биндинг дополнительных кнопок в Linux 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
Запуск утилиты Input Remapper

При первом запуске потребуется ввести пароль sudo, потому что утилите нужны права на чтение событий из /dev/input/.

Kubuntu Sudo

Интерфейс состоит из трёх основных страниц:

  1. Devices — выбор устройства (ваша мышь).
  2. Presets — создание и управление наборами правил (пресетами).
  3. Mapping — добавление и редактирование конкретных правил.
Интерфейс Input Remapper

Определение кнопок мыши

Дополнительные кнопки мыши (например, боковые кнопки «вперёд»/«назад») в системе могут иметь следующие имена:

  • BTN_SIDE (часто боковая кнопка, ближняя к большому пальцу),
  • BTN_EXTRA,
  • BTN_FORWARD, BTN_BACK,
  • BTN_0, BTN_1 и т.д.
Дополнительные кнопки мыши

Чтобы точно узнать, какой код соответствует вашей кнопке:

  1. В интерфейсе Input Remapper выберите вашу мышь на странице Devices.
  2. Перейдите на страницу Mapping.
  3. Нажмите кнопку Record и нажмите нужную кнопку мыши. В поле Input появится её имя (например, BTN_SIDE).

Создание пресета для мыши

  1. На странице Devices выберите вашу мышь.
  2. Перейдите на страницу Presets.
  3. Нажмите «+» (Create new preset), введите имя, например Mouse Copy/Paste.
  4. Новый пресет появится в списке. Выберите его, чтобы начать редактирование.
Выберите устройство

Добавление правила для копирования (Ctrl+Insert)

Предположим, вы хотите назначить боковую кнопку BTN_SIDE на комбинацию Ctrl+Insert.

  1. На странице Mapping нажмите «+» (Add mapping).
  2. В поле Input нажмите Record и нажмите боковую кнопку мыши (появится, например, BTN_SIDE).
  3. В поле Output введите: Control_L + Insert (Это означает: зажать левый Ctrl и нажать Insert).
  4. Нажмите Enter (поле превратится в многострочный редактор, но можно оставить как есть).
  5. Измените имя правила (опционально), например «Copy».
Пресет копировать

Добавление правила для вставки (Shift+Insert)

Аналогично создайте второе правило, например для кнопки BTN_EXTRA (или другой свободной кнопки).

Пресет для вставки

Теперь у вас должно быть два правила в пресете.

Применение пресета

  1. Убедитесь, что пресет выбран в списке на странице Presets.
  2. Нажмите кнопку Apply (в верхней части окна). Это активирует все правила пресета для выбранного устройства.
  3. Теперь нажмите боковые кнопки мыши — должны выполняться действия копирования и вставки в активном окне.
Применить пресет

Важно: Если вы хотите изменить уже записанный ввод, сначала нажмите кнопку 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_combination": [
            {"type": 1, "code": 275}
        ],
        "target_uinput": "keyboard",
        "output_symbol": "Control_L + c"
    },
    {
        "input_combination": [
            {"type": 1, "code": 276}
        ],
        "target_uinput": "keyboard",
        "output_symbol": "Control_L + v"
    }
]

Input Remapper предоставляет гибкий и удобный способ кастомизации устройств ввода в Linux. С его помощью вы можете не только назначать кнопкам мыши действия копирования/вставки, но и создавать сложные макросы, комбинации клавиш, эмулировать движения мыши и многое другое.

Похожие записи

Добавление резервного контроллера домена РЕД АДМ

В прошлой статье мы рассмотрели настройку контроллера домена РЕД АДМ, а сейгодня мы доделаем базовую инфраструктуру РЕД АДМ добавив резерный контроллер домена на случай сбоя основого. Настраиваем зону условной пересылки…

Установка и настройка Keycloak в CentOS 8

Keycloak — это сервер аутентификации, который поддерживает множество протоколов (OpenID Connect, SAML) и позволяет интегрироваться с различными источниками пользователей, такими как LDAP/Active Directory. Подготовка сервера CentOS 8 Обновление системы После…

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Читать еще статьи

Добавление резервного контроллера домена РЕД АДМ

Добавление резервного контроллера домена РЕД АДМ

Установка и настройка Keycloak в CentOS 8

Установка и настройка Keycloak в CentOS 8

Интеграция Gitea и Active Directory

Интеграция Gitea и Active Directory

Назначение операций на дополнительные кнопки мыши (Linux Wayland)

Назначение операций на дополнительные кнопки мыши (Linux Wayland)

Настройка CI в Gitea (Action Runner)

Настройка CI в Gitea (Action Runner)

Подключение NFS-шары в качестве хранилища резервных копий ZVirt

Подключение NFS-шары в качестве хранилища резервных копий ZVirt