Эта функция Windows никогда по-настоящему не попала в мир Unix. В мире Unix основная цель средней кнопки мыши - вставить содержимое буфера обмена (или, точнее, текст, выделенный с помощью мыши, который автоматически копируется). Пара кроссплатформенных приложений, таких как Firefox и Chrome, которые поддерживают среднюю кнопку мыши в стиле Linux под Windows и наоборот, но, кроме этого, большинство приложений не поддерживают этот вид детальной прокрутки.
Тем не менее, вы можете подойти довольно близко на системном уровне. Можно настроить кнопку мыши таким образом, чтобы при ее нажатии движения мыши превращались в события колесика. Это та же самая функция, к которой вы привыкли, но вы, вероятно, найдете прерывистое движение, потому что приложения получают события колесика, которые обычно интерпретируются как прокрутка одной целой строкой или столбцом.
Чтобы поиграть с этой конфигурацией, используйте программу xinput (я не знаю, есть ли для нее интерфейс GUI). Сначала запустите следующую команду, чтобы увидеть имя вашего указывающего устройства:
$ xinput --list
⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ Generic USB Mouse id=8 [slave pointer (2)]
⎜ ↳ Macintosh mouse button emulation id=12 [slave pointer (2)]
⎣ Virtual core keyboard id=3 [master keyboard (2)]
↳ Virtual core XTEST keyboard id=5 [slave keyboard (3)]
↳ Power Button id=7 [slave keyboard (3)]
↳ USB Keyboard id=9 [slave keyboard (3)]
Например, в приведенном выше выводе указатель устройства имеет вид Generic USB mouse
. Вы можете запустить следующую команду, чтобы получить список свойств, которые можно настроить:
xinput --list-props 'Generic USB Mouse'
Набор свойств, которые вы ищете, это «Эмуляция колеса Evdev». При следующих настройках, когда нажата средняя кнопка мыши (кнопка 2), перемещение мыши отправляет события вращения колеса (4 = вверх, 5 = вниз, 6 = влево, 7 = вправо).
xinput --set-prop 'Generic USB Mouse' 'Evdev Wheel Emulation' 1
xinput --set-prop 'Generic USB Mouse' 'Evdev Wheel Emulation Button' 2
xinput --set-prop 'Generic USB Mouse' 'Evdev Wheel Emulation Axes' 6 7 4 5
Вы можете настроить другие параметры (инерция, время ожидания).
Вы можете поместить эти команды в скрипт. Добавьте #!/bin/sh
в качестве самой первой строки и сделайте исполняемый файл скрипта (например chmod +x ~/bin/activate-wheel-emulation.sh
). Затем добавьте этот сценарий в список команд, запускаемых при запуске сеанса ( gnome-session-properties
это можно настроить).
Если у вас есть root-доступ и вы хотите внести изменения для всех пользователей (приемлемо для домашнего компьютера), это проще сделать с помощью файла конфигурации сервера X.org . В качестве пользователя root создайте файл, /etc/X11/xorg.conf.d/wheel-emulation.conf
содержащий настройки для драйвера мыши . Настройки одинаковы, но они организованы немного по-другому.
Section "InputClass"
Identifier "Wheel Emulation"
MatchProduct "Generic USB Mouse"
Option "EmulateWheel" "on"
Option "EmulateWheelButton" "2"
Option "XAxisMapping" "6 7"
Option "YAxisMapping" "4 5"
EndSection