Навешиваем действия на дополнительные кнопки мыши

дополнительные кнопки мыши в XУ меня есть мышка, на боку которой есть пара дополнительных кнопок. Что нужно сделать, чтобы их можно было использовать в X? Итак, по шагам:

  1. Запускаем программу xev. Она отслеживает активность клавиатуры и мыши, выводя на экран все события типа “нажата кнопка”, “отпущена кнопка”, “перемещена мышь” и т.д.
    ButtonPress event, serial 25, synthetic NO, window 0x5000001,
    root 0x1a6, subw 0x0, time 1238685884, (294,593), root:(295,714),
    state 0x10, button 8, same_screen YES
    ButtonRelease event, serial 25, synthetic NO, window 0x5000001,
    root 0x1a6, subw 0x0, time 1238686020, (294,593), root:(295,714),
    state 0x10, button 8, same_screen YES

    Вывод на экран идёт достаточно большой, но если сильно не двигать мышкой, вполне можно отследить, под какими номерами идут дополнительные кнопки. У меня это оказались 8 и 9.

  2. Далее, задействуем программу xbindkeys. Если она не установлена, устанавливаем из репозитория или исходников (берём отсюда, далее стандартно: ./configure && make && make install).
  3. Запускаем xbindkeys -d >~/.xbindkeysrc . Получаем дефолтный конфиг, который можно поправить под свои нужды. Обратите внимание, что нажатие control+shift + q выводит текущую конфигурацию xbindkeys. Как выяснилось, при внесении изменений перезапускать xbindkeys не нужно, он всё подхватывает “на лету” (хотя не всегда это отображает по control+shift + q 🙂 )
  4. BTW, закомментируйте в дефолтном конфиге строки
    "xterm"
    c:41 + m:0x4

    а то будете неприятно удивлены, когда вместо поиска по control + f (используется в большинстве броузеров, да и в некоторых других приложениях) у вас будет запускаться терминал 🙂

  5. Для запуска приложения по нажатию кнопки (например, xterm) добавляем в /.xbindkeysrc строки:
  6. "xterm"
    b:8
  7. Если же нужно эмулировать нажатие клавиши на клавиатуре, то понадобится программа виртуальной клавиатуры xvkbd. Я подвесил “виртуальный Enter” на 9 кнопку:
    "xvkbd  -text "\r""
    b:9

    Получилось довольно удобно: выделяем текст мышью, по нажатию на колёсико вставляем его в форму из буфера обмена X и по нажатию на доп. кнопку 8 отправляем по Enter. Так что можно не переносить правую руку на клавиатуру.

  8. Проверяем, что всё работает так как мы задумывали и ставим xbindkeys в автозагрузку (например, в ~/.xinitrc).

Естественно, здесь описан только принцип, у каждого предпочтения приложений/нажатий будут свои (кстати, интересно у кого какие?).

Сделано по материалам жуйко-треда.

Навешиваем действия на дополнительные кнопки мыши: 2 комментария

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

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