Cintu и трекбол Logitech Trackman Marble

Алексей Федорчук

Покопавшись с настройкой трекбола в Solus’е с его Budgie, я вспомнил, что не описывал, как с этим устройством можно обращаться в Cintu. Тем более что в первом приближении это было проще пареной репы. Эмуляция средней кнопки одновременным нажатием двух крайних включается через модуль Мышь и сенсорная панель Центра управления Cintu:

trackball_01

Где, кстати, не вредно включить и опцию Показывать позицию указателя при нажатии клавиши Ctrl — зело способствует нахождению курсора, потерянного в безбрежных просторах большого широкоформатного монитора. Ибо при этом курсор обрамляется радужными кругами.

trackball_02

А вот настройкой скроллинга сразу не озаботился, а потом привык жить без него. Точнее, восстановилась память прошлого — ведь сколько лет жили без колёсика на мыши, и ничего, не умерли. Но тут мне показалось обидным, что в Solus’е скроллинг на трекболе есть, а в Cintu, и на том же устройстве, — нет. И решил я эту несправедливость исправить. Тем более что такое исправление имеет силу для всех актуальных дистрибутивов на базе Ubuntu.

Самым трудным в этом деле было — уяснить, что в Cintu, как и во всех Ubuntu’идах, настроечные файлы Иксов располагаются не в /etc/X11, «как у всех порядочных», а в /usr/share/X11/.

А дальше всё просто. В каталоге /usr/share/X11/xorg.conf.d создаётся новый файл, типа такого:

$ sudo touch 50-marblemouse.conf

Где почему «marblemouse» — понятно, а почему «50»? Подозреваю, что потому, что все так делают. И в файл этот вносятся такие строки:

Section "InputClass"
        Identifier  "Marble Mouse"
        MatchProduct "Logitech USB Trackball"
        MatchIsPointer "on"
        MatchDevicePath "/dev/input/event*"
        Driver "evdev"
...
EndSection

Эти — обязательны в любом случае. А вот в промежутке между строкой с Driver‘ом и EndSection возможны варианты. И самый простой из них — заменить многоточие такими строками:

        Option "EmulateWheel" "true"
        Option "EmulateWheelButton" "8"
        Option "Emulate3Buttons" "true"

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

Второй вариант — вписать в промежуток такие строки:

       Option "SendCoreEvents" "true"
       Option "Buttons"            "8"
       Option "ButtonMapping"      "1 8 3 4 5 6 7 2 9"
       Option "EmulateWheel"       "true"
       Option "EmulateWheelButton" "8"

После чего левая дополнительная кнопка будет и эмулятором средней кнопки при нажатии, и включателем скроллинга (вращением шара) — при её «зажатии». Правая же дополнительная кнопка будет работать по прежнему, «вперёд» — правда, зачем это нужно без возможности «назад», мне не понятно. Да и одновременное нажатие основных кнопок перестанет служить для вставки из буфера,

Если опциям «Buttons» и «EmulateWheelButton» задать значение «9», то функции правой и левой дополнительных кнопок поменяются местами. А если для одной опции проставить 8-ку, а для другой 9-ку, то за вставку ии буфера и включение скроллинга будут отвечать разные дополнительные кнопки.

Если покумекать и поэспериментировать с разными вариантами опции «ButtonMapping», возможно, придумается и ещё чего. Я же в итоге остановился на варианте, описанном первым.

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