Задать вопрос
Murz
@Murz
Разработка сайтов на Drupal, поисковая оптимизация

Как настроить прокрутку элемента по зажатию средней кнопки мышки в Linux Xorg?

Хочется сделать так, чтобы при зажатой средней (или правой) кнопке мышки таскание мышки вверх-вниз прокручивало текущий элемент интерфейса вверх-вниз, т.е. делало скроллинг также как будто я тяну за полоску скролла справа. Именно так работает работает прокрутке на ноутбуке через тачпад двумя пальцами вверх вниз, но на полноценном компьютере тачпада нет, а прокрутку очень хочется ;)


Насколько я разобрался, нужно копать где-то в огороде xorg xinput. По-идее такой функционал уже есть в системе, т.к. при использовании тачпада когда делаешь скролл вниз двумя пальцами — работает именно так как надо. Вопрос в том как привязать включение этого режима к зажатию средней кнопки мышки. При этом хотелось бы оставить работоспособным обычный клик мышкой как нажатие третьей кнопки мышки. Может быть xinput тут не причем и нужно копать в display manger (использую kdm), но там тоже не нашёл похожего ничего.


Плагины, которые делают подобное, встречаются для Firefox и Chrome, но хочется чтобы это работало не только в отдельных приложениях, а сразу во всех элементах системы (Использую Ubuntu с оболочкой KDE, но и в GTK-приложениях чтобы тоже работало). Либо, если это нельзя сделать через xorg, то хотя бы какую-то программу запускать которая это делает — тоже было бы годно. Для виндовсов я встречал такую программу (по правой кнопки скроллит списки, но это было лет 5 назад и название уже не вспомню никак), а в линухах что-то никак не найду как это можно сделать. Подскажите пожалуйста как это можно сделать или хотя бы в какую сторону копать?
  • Вопрос задан
  • 8836 просмотров
Подписаться 6 Оценить Комментировать
Ответ пользователя Алексей Murz Корепов К ответам на вопрос (4)
Murz
@Murz Автор вопроса
Разработка сайтов на Drupal, поисковая оптимизация
Для свежих Ubuntu 18.04 старое решение перестало работать, поэтому пришлось изобретать новое - в папке /etc/X11/Xsession.d создать файл вида 99mouse-middle-scroll с примерно таким содержимым:
IDS=`xinput list | grep 'slave  pointer' | grep -v Virtual | grep -o -P 'id=(\d+)' | grep -o -P '\d+'`

for ID in $IDS
do
  xinput set-prop $ID "libinput Scroll Method Enabled" 0, 0, 1
done
Ответ написан