По материалам журнала OpenSource c моими собственными модификациями:Итак, предположим, есть многокнопочная мышь (тестил на Microsoft Intellimouse Optical, в журнале описывалась мышь A4Tech с 2мя колесами прокрутки)
Задача - задействовать доп кнопки, привязывая к ним произвольные действия
В винде к Microsoft Intellimouse Optical идет специальная утилита Intellipoint, позволяющая в разных приложениях привязать к кнопкам мыши разные действия. Мне очень понравилось вешать на мышь кнопки управления буфером обмена. Про вставку нажатием на колесо я знаю
Хотелось повесить на доп кнопки копирование в буфер и удаление в буфер
1. Надо задействовать доп кнопки в Xserver. Для этого правим xorg.conf к виду:
Section "InputDevice"
# generated from default
Identifier "Mouse0"
Driver "mouse"
# Option "Protocol" "auto"
Option "Protocol" "ExplorerPS/2"
Option "Device" "/dev/psaux"
Option "Emulate3Buttons" "no"
Option "Buttons" "7"
Option "ButtonMapping" "1 2 3 6 7"
Option "ZAxisMapping" "4 5"
EndSection
Это для мыши с одним колесом
с 2мя колесами будет
Option "ButtonMapping" "1 2 3 8 9"
Option "ZAxisMapping" "4 5 6 7"
2. Перезапускаем X (я просто перезагрузился)
3. в терминале запускаем
xev
нажимаем доп кнопки мыши и смотрим на реакцию
xevКак ни странно, вместо ожидаемых
button 6 и
button 7 я увидел
button 8 и
button 9Ну и фиг с ним, лишь бы работало
Теперь надо научиться привязывать на доп кнопки нажатия произвольных клавиш
Я использовал пакеты
xbindkeys и
xdotool. В журнале рекомендовалось
xvkbd, но я так и не смог заставить ее работать, а с
xdotool все получилось
4. Итак, ставим указанные пакеты. В
/usr/share/doc/xbindkeys/examples берем копию
xbindkeysrc и копируем в домашний каталог под именем
.xbindkeysrc5. В хвост этого файла дописываем
"xdotool key Control+Insert"
b:8
"xdotool key Control+X"
b:9
То есть, привязываем управление буфером обмена к
button 8 и
button 9Почему Control+Insert, а не Control+С? - А чтобы и в терминале работало
6. Запускаем в терминале
xbindkeys
и проверяем как оно работает
Если работает правильно - идем в Гноме в Система->Параметры->Запускаемые приложения и добавляем
xbindkeys в автозагрузку
С помощью
xbindkeys и
xdotool можно делать еще более интересные вещи, в частности, менять размеры и расположение окон и эмулировать нажатия клавиш и кнопок мыши. man достаточно понятный