Linux прокрутка средней кнопкой мыши

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

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

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

Плагины, которые делают подобное, встречаются для Firefox и Chrome, но хочется чтобы это работало не только в отдельных приложениях, а сразу во всех элементах системы (Использую Ubuntu с оболочкой KDE, но и в GTK-приложениях чтобы тоже работало). Либо, если это нельзя сделать через xorg, то хотя бы какую-то программу запускать которая это делает — тоже было бы годно. Для виндовсов я встречал такую программу (по правой кнопки скроллит списки, но это было лет 5 назад и название уже не вспомню никак), а в линухах что-то никак не найду как это можно сделать. Подскажите пожалуйста как это можно сделать или хотя бы в какую сторону копать?

iquantii

#!/bin/bash nova_mouse_id=$(xinput list | grep pointer | grep NOVA | grep -o 33) xinput set-prop $nova_mouse_id 'Evdev Wheel Emulation' 1 xinput set-prop $nova_mouse_id 'Evdev Wheel Emulation Axes' 6 7 4 5 xinput set-prop $nova_mouse_id 'Evdev Wheel Emulation Button' 3
xinput set-prop $mouse_id 'Evdev Wheel Emulation' 1
xinput set-prop $mouse_id 'Evdev Wheel Emulation Axes' 6 7 4 5
xinput set-prop $mouse_id 'Evdev Wheel Emulation Button' 3

Murz

Благодарю, это работало на Ubuntu 14.06, но на 16.04 и более свежих перестало, видимо потому что Evdev заменили на libinput.
Вот такие свойства сейчас мышка выводит:

$ xinput list-props 10 Device 'COMPANY USB Device': Device Enabled (138): 1 Coordinate Transformation Matrix (140): 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000 libinput Accel Speed (276): 0.000000 libinput Accel Speed Default (277): 0.000000 libinput Accel Profiles Available (278): 1, 1 libinput Accel Profile Enabled (279): 1, 0 libinput Accel Profile Enabled Default (280): 1, 0 libinput Natural Scrolling Enabled (281): 0 libinput Natural Scrolling Enabled Default (282): 0 libinput Send Events Modes Available (261): 1, 0 libinput Send Events Mode Enabled (262): 0, 0 libinput Send Events Mode Enabled Default (263): 0, 0 libinput Left Handed Enabled (283): 0 libinput Left Handed Enabled Default (284): 0 libinput Scroll Methods Available (285): 0, 0, 1 libinput Scroll Method Enabled (286): 0, 0, 0 libinput Scroll Method Enabled Default (287): 0, 0, 0 libinput Button Scrolling Button (288): 3 libinput Button Scrolling Button Default (289): 2 libinput Middle Emulation Enabled (290): 1 libinput Middle Emulation Enabled Default (291): 0 Device Node (264): "/dev/input/event4" Device Product ID (265): 2522, 64059 libinput Drag Lock Buttons (292): libinput Horizontal Scroll Enabled (293): 1

Murz

Для свежих 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

Источник

Читайте также:  Internet explorer astra linux

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

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

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

Плагины, которые делают подобное, встречаются для Firefox и Chrome, но хочется чтобы это работало не только в отдельных приложениях, а сразу во всех элементах системы (Использую Ubuntu с оболочкой KDE, но и в GTK-приложениях чтобы тоже работало). Либо, если это нельзя сделать через xorg, то хотя бы какую-то программу запускать которая это делает — тоже было бы годно. Для виндовсов я встречал такую программу (по правой кнопки скроллит списки, но это было лет 5 назад и название уже не вспомню никак), а в линухах что-то никак не найду как это можно сделать. Подскажите пожалуйста как это можно сделать или хотя бы в какую сторону копать?

Читайте также:  Проверка поддержки аппаратной виртуализации linux

iquantii

#!/bin/bash nova_mouse_id=$(xinput list | grep pointer | grep NOVA | grep -o 55) xinput set-prop $nova_mouse_id 'Evdev Wheel Emulation' 1 xinput set-prop $nova_mouse_id 'Evdev Wheel Emulation Axes' 6 7 4 5 xinput set-prop $nova_mouse_id 'Evdev Wheel Emulation Button' 3
xinput set-prop $mouse_id 'Evdev Wheel Emulation' 1
xinput set-prop $mouse_id 'Evdev Wheel Emulation Axes' 6 7 4 5
xinput set-prop $mouse_id 'Evdev Wheel Emulation Button' 3

Murz

Благодарю, это работало на Ubuntu 14.06, но на 16.04 и более свежих перестало, видимо потому что Evdev заменили на libinput.
Вот такие свойства сейчас мышка выводит:

$ xinput list-props 10 Device 'COMPANY USB Device': Device Enabled (138): 1 Coordinate Transformation Matrix (140): 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000 libinput Accel Speed (276): 0.000000 libinput Accel Speed Default (277): 0.000000 libinput Accel Profiles Available (278): 1, 1 libinput Accel Profile Enabled (279): 1, 0 libinput Accel Profile Enabled Default (280): 1, 0 libinput Natural Scrolling Enabled (281): 0 libinput Natural Scrolling Enabled Default (282): 0 libinput Send Events Modes Available (261): 1, 0 libinput Send Events Mode Enabled (262): 0, 0 libinput Send Events Mode Enabled Default (263): 0, 0 libinput Left Handed Enabled (283): 0 libinput Left Handed Enabled Default (284): 0 libinput Scroll Methods Available (285): 0, 0, 1 libinput Scroll Method Enabled (286): 0, 0, 0 libinput Scroll Method Enabled Default (287): 0, 0, 0 libinput Button Scrolling Button (288): 3 libinput Button Scrolling Button Default (289): 2 libinput Middle Emulation Enabled (290): 1 libinput Middle Emulation Enabled Default (291): 0 Device Node (264): "/dev/input/event4" Device Product ID (265): 2522, 64059 libinput Drag Lock Buttons (292): libinput Horizontal Scroll Enabled (293): 1

Murz

Для свежих 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

Источник

Нажатие средней кнопки мыши

У многих мышей и некоторых сенсорных панелей имеется средняя кнопка. На мыши с колёсиком прокрутки роль нажатия средней кнопкой выполняет нажатие на колёсико. Если у мыши нет средней кнопки, вместо неё можно нажать левую и правую кнопки одновременно.

На сенсорных панелях с поддержкой многопальцевого касания для воспроизведения нажатия колёсиком мышки, используется одновременное касание тремя пальцами. Чтобы включить эту возможность, отметьте параметр щелчок при касании в настройках сенсорной панели.

Читайте также:  Install linux tools windows

Многие приложения используют нажатие средней кнопки мыши для дополнительных действий.

  • В приложениях с полосами прокрутки щелчок левой кнопкой мыши в пустом месте полосы перемещает позицию прокрутки прямо в это место. Щелчок средней кнопкой перемещает вверх на одну страницу относительно исходного положения.
  • Быстро открыть новое окно приложения из режима Обзора можно, нажав среднюю кнопку мыши. Просто нажмите средней кнопкой на значок приложения в панели задач, расположенной слева, или в обзоре приложений. Обзор приложений можно открыть, нажав на кнопку с изображением сетки внизу панели задач.
  • Большинство веб-браузеров позволяют быстро открывать ссылки во вкладках средней кнопкой мыши. Просто щёлкните любую ссылку средней кнопкой мыши, и она откроется в новой вкладке.
  • В менеджере файлов нажатие средней кнопкой выполняет две роли. При нажатии средней кнопкой на папке она открывается в новой вкладке (как в веб-браузерах). Если же нажать средней кнопкой на файл, он будет открыт, как если бы было выполнено обычное двойное нажатие.

Некоторые специализированные приложения позволяют использовать среднюю кнопку мыши для других действий. Поищите в справке приложения фразы нажатие средней кнопкой или средняя кнопка мыши .

Источник

Скроллинг нажатием на колесико в линуксе?

Поставил Deepin Linux (уж больно красив), но встретился с проблемой, что нигде не могу скроллить нажатием. Само колесо работает, могу открывать вкладки, могу просто скроллить, но так задолбишься крутить, пока дойдёшь до нужного места.
Что делать? Работает только в Огнелисе, если завести «с толчка»

Djaler

Это я и так сделал. Мне нужно, чтоб помимо одного Огнелиса можно было использовать не только в браузерах [2]

Djaler

В линуксе по умолчанию колёсо мыши используется для вставки из второго буфера обмена.
Можно переопределить в настройках каждого браузера. Например, в Firefox: Правка / Настройки / Дополнительные / Использовать автоматическую прокрутку.

Это я и так сделал. Мне нужно, чтоб помимо одного Огнелиса можно было использовать не только в браузерах

Задался таким же вопросом и нашёл ответ на зарубежном форуме: (https://askubuntu.com/questions/28150/chrome-chrom. )

Тут приведу описание способа:

для начала нужно установить xinput:

sudo apt update sudo apt install xinput

затем нужно узнать номер интересующего нас устройства командой
xinput —list
Далее. Если мы используем libinput, то команды следующие:

xinput set-prop $deviceId "libinput Scroll Method Enabled" 0, 0, 1 xinput set-prop $deviceId "libinput Button Scrolling Button" 2 xinput set-prop $deviceId "libinput Natural Scrolling Enabled" 1
xinput --set-prop $deviceId 'Evdev Wheel Emulation' 1 xinput --set-prop $deviceId 'Evdev Wheel Emulation Button' 2 xinput --set-prop $deviceId 'Evdev Wheel Emulation Axes' 6 7 4 5

Источник

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