Почему ничего не связано со скоростью прокрутки в xinput для Microsoft Comfort Mouse 4500
Прежде чем приступить к произвольной установке какого-либо дополнительного программного обеспечения, я хотел бы понять, как работает 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 список реквизитов 14 | grep -i 'свиток' Включена ли естественная прокрутка libinput (289): 0 libinput Естественная прокрутка включена по умолчанию (290): 0 Доступные методы прокрутки libinput (293): 0, 0, 1 Метод прокрутки libinput включен (294): 0, 0, 0 Метод прокрутки libinput включен по умолчанию (295): 0, 0, 0 Кнопка прокрутки кнопки libinput (727): 2 Кнопка прокрутки libinput Кнопка по умолчанию (728): 2 Горизонтальная прокрутка libinput включена (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
2 ответа
Не исправлю, по крайней мере, это текущий статус с
libinput
Отчет об ошибке апстрима: freedesktop - libinput - поддержка настройки скорости прокрутки #185
- Производитель мышей использует различные реализации прокрутки с высоким разрешением
- Скорость прокрутки должна быть переменной и контролироваться приложениями в зависимости от контекста.
Старое решение работало с
evdev
- Метод установки:
xinput
,xorg.conf.d
Обходной путь с использованием Udev HWDB (исправление низкого уровня)
(1) Настройка HWDB в
udev
для конкретной модели мыши.Источник: U&L: изменение скорости прокрутки с помощью libinput
Подтверждаю, это текущее решение из репозитория исходного кода udev.
Проверьте идентификацию вашей мыши: идентификатор поставщика, идентификатор продукта, имя устройства
Пока мышь подключена
sudo lsusb
Выполните одну из команд ниже и снова подключите мышь.
sudo udevadm monitor -u sudo journalctl -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.hwdb
Скопируйте из шага (1) эти строки и добавьте их в новый файл, добавьте запись угла щелчка колесика и установите угол по своему усмотрению (по умолчанию =15 градусов / щелчок, как целочисленное значение), как показано ниже:
# Microsoft Comfort Mouse 4500 mouse:usb:v045ep076c:name:Microsoft Microsoft® Comfort Mouse 4500: MOUSE_DPI=1000@125 MOUSE_WHEEL_CLICK_ANGLE=15
Если вы не можете найти свое устройство в
70-mouse.hwdb
, создайте его в этом формате с информацией, собранной на шаге (1)mouse:usb:v <VendorID> p <ProductID> :name: <DeviceName> :
Сохрани и закрой
Ctrl+ O, Ctrl+X
Обновите базу данных оборудования udev, активируйте изменение для соответствующего узла событий
sudo systemd-hwdb update sudo udevadm trigger /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 mouse:usb:v045ep076c:name:Microsoft Microsoft® Comfort Mouse 4500: MOUSE_DPI=1000@125 MOUSE_WHEEL_CLICK_ANGLE=15 MOUSE_WHEEL_CLICK_COUNT=24
MOUSE_WHEEL_CLICK_ANGLE
является обязательным по причинам совместимости, даже если его значение не действует с заявленнымиMOUSE_WHEEL_CLICK_COUNT
.
Будущее, наборы инструментов GUI (исправление высокого уровня)
(2) Вероятно, будут реализованы на уровне наборов инструментов графического интерфейса. Хорошие надежды, когда дело доходит до сотрудничества между крупными проектами свободного сообщества, например, в случае произвольного ввода Unicode, это реализовано только в GTK.
Некоторые приложения этого не ждут, например, некоторые браузеры и игры (Firefox, Chromium, игры SDL и т. Д.).
В связанном выше отчете об ошибке есть список отчетов об ошибках из наборов графического интерфейса.
udev
правило работает для меня с:
# Microsoft Comfort Mouse 4500
mouse:usb:v045ep076c:name:Microsoft Microsoft® Comfort Mouse 4500:
MOUSE_DPI=1000@125
MOUSE_WHEEL_CLICK_ANGLE=35
Спасибо