Прежде чем я наугад установлю какое-либо дополнительное программное обеспечение, я хотел бы понять, как работает xinput и почему скорость прокрутки моей мыши никак не связана.
Не могли бы вы просветить меня?
Ubuntu 18.04.1 LTS x64, GNOME 3.28.2 (не уверен, что это имеет значение). Своевременно.
$ xinput list
⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ ETPS/2 Elantech Touchpad id=11 [slave pointer (2)]
⎜ ↳ Microsoft Microsoft® Comfort Mouse 4500 id=14 [slave pointer (2)]
⎣ Virtual core keyboard id=3 [master keyboard (2)]
↳ Virtual core XTEST keyboard id=5 [slave keyboard (3)]
↳ Power Button id=6 [slave keyboard (3)]
↳ Video Bus id=7 [slave keyboard (3)]
↳ HP TrueVision HD Camera: HP Tru id=8 [slave keyboard (3)]
↳ Intel Virtual Button driver id=9 [slave keyboard (3)]
↳ AT Translated Set 2 keyboard id=10 [slave keyboard (3)]
↳ HP Wireless hotkeys id=12 [slave keyboard (3)]
↳ HP WMI hotkeys id=13 [slave keyboard (3)]
↳ Microsoft Microsoft® Comfort Mouse 4500 id=15 [slave keyboard (3)]
↳ Chicony USB Keyboard id=16 [slave keyboard (3)]
↳ Chicony USB Keyboard id=17 [slave keyboard (3)]
Подробности мыши в разделе «указатели»:
$ xinput list-props 14
Device 'Microsoft Microsoft® Comfort Mouse 4500':
Device Enabled (142): 1
Coordinate Transformation Matrix (144): 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
libinput Natural Scrolling Enabled (289): 0
libinput Natural Scrolling Enabled Default (290): 0
libinput Scroll Methods Available (293): 0, 0, 1
libinput Scroll Method Enabled (294): 0, 0, 0
libinput Scroll Method Enabled Default (295): 0, 0, 0
libinput Button Scrolling Button (727): 2
libinput Button Scrolling Button Default (728): 2
libinput Middle Emulation Enabled (729): 0
libinput Middle Emulation Enabled Default (730): 0
libinput Accel Speed (296): -0.258993
libinput Accel Speed Default (297): 0.000000
libinput Accel Profiles Available (731): 1, 1
libinput Accel Profile Enabled (732): 1, 0
libinput Accel Profile Enabled Default (733): 1, 0
libinput Left Handed Enabled (298): 0
libinput Left Handed Enabled Default (299): 0
libinput Send Events Modes Available (266): 1, 0
libinput Send Events Mode Enabled (267): 0, 0
libinput Send Events Mode Enabled Default (268): 0, 0
Device Node (269): "/dev/input/event16"
Device Product ID (270): 1118, 1900
libinput Drag Lock Buttons (300): <no items>
libinput Horizontal Scroll Enabled (301): 1
Только части, связанные с прокруткой:
$ xinput list-props 14 | grep -i 'scroll' libinput Natural Scrolling Enabled (289): 0 libinput Natural Scrolling Enabled Default (290): 0 libinput Scroll Methods Available (293): 0, 0, 1 libinput Scroll Method Enabled (294): 0, 0, 0 libinput Scroll Method Enabled Default (295): 0, 0, 0 libinput Button Scrolling Button (727): 2 libinput Button Scrolling Button Default (728): 2 libinput Horizontal Scroll Enabled (301): 1
Подробности мыши в разделе «клавиатура»:
$ xinput list-props 15
Device 'Microsoft Microsoft® Comfort Mouse 4500':
Device Enabled (142): 1
Coordinate Transformation Matrix (144): 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
libinput Send Events Modes Available (266): 1, 0
libinput Send Events Mode Enabled (267): 0, 0
libinput Send Events Mode Enabled Default (268): 0, 0
Device Node (269): "/dev/input/event16"
Device Product ID (270): 1118, 1900
libinput
Отчет об ошибке восходящего потока: freedesktop - libinput - Поддержка настройки скорости прокрутки # 185
Старое решение работало с evdev
xinput
, xorg.conf .d
(1) Настройка HWDB в udev
для конкретной модели мыши.
Источник: U&L: изменение скорости прокрутки с помощью libinput
Подтверждаю, это текущее решение из репозитория исходного кода udev
Проверьте идентификацию мыши: идентификатор производителя, идентификатор продукта, имя устройства
Пока мышь подключена
sudo lsusb
Выполните одну из приведенных ниже команд, затем снова подключите мышь
sudo udevadm monitor -u
судожурналctl -k -b -f
И проверьте systemd/hwdb.d/70-mouse.hwdb или найдите локальный файл /lib/udev/hwdb.d/70-mouse.hwdb
в вашей системе . Поиск такого же или похожего устройства.
Откройте терминал, создайте файл 71-mouse-local.hwdb
sudo nano /etc/udev/hwdb.d/71-mouse-local.хвдб
Скопируйте из шага (1) эти строки и добавьте их в новый файл. Добавьте запись угла поворота колесика и установите нужный угол (по умолчанию = 15 градусов/щелчок, целочисленное значение), как показано ниже:
# Мышь Microsoft Comfort 4500
мышь:usb:v045ep076c:имя:Microsoft Microsoft® Comfort Mouse 4500:
МЫШЬ_DPI=1000@125
MOUSE_WHEEL_CLICK_ANGLE=15
Если вы не можете найти свое устройство в 70-mouse.hwdb
, создайте его в этом формате с информацией, собранной на шаге (1)
mouse:usb:v p < ProductID> :name: :
Сохранить и закрыть
Ctrl+O , Ctrl+X
Обновить базу данных оборудования udev, активировать изменение для соответствующего узла событий
обновление sudo systemd-hwdb
sudo udevadm триггер /dev/input/event16
event16
, как сообщается в выводе xinput
.
Этот ответ настроен для случая OP, но может быть настроен для другой модели. Уже израсходовал его, чтобы быть более общим.
Полные инструкции для основной ветки разработки находятся здесь: systemd/hwdb.d/70-mouse.hwdb или найдите локальный файл 70-mouse.hwdb
в вашей системе. Также вы можете посмотреть другие расширенные функции там.
Существует MOUSE_WHEEL_CLICK_COUNT
, который переопределяет MOUSE_WHEEL_CLICK_ANGLE
. Используйте его, когда параметр угла недостаточно точен.
MOUSE_WHEEL_CLICK_COUNT
по умолчанию=24 щелчка/поворот или щелчок/360 градусов, принимает целочисленное значение
Пример:
# Microsoft Comfort Mouse 4500
мышь:usb:v045ep076c:имя:Microsoft Microsoft® Comfort Mouse 4500:
МЫШЬ_DPI=1000@125
MOUSE_WHEEL_CLICK_ANGLE=15
MOUSE_WHEEL_CLICK_COUNT=24
MOUSE_WHEEL_CLICK_ANGLE
является обязательным по соображениям совместимости, даже если его значение не действует с объявленным MOUSE_WHEEL_CLICK_COUNT
.
(2) Вероятно, будут реализованы на уровне наборов инструментов для графического интерфейса. Справедливые надежды, что когда дело доходит до сотрудничества между большими бесплатными проектами сообщества, как в случае с произвольным вводом Unicode, это было реализовано только в GTK.
Некоторые приложения этого не ждут, например, некоторые браузеры и игры (Firefox, Chromium, игры SDL и т. д.).
В приведенном выше отчете об ошибках есть список отчетов об ошибках из наборов GUI.