Pet*_*vel 8 mouse mouse-scroll scrolling 18.04
在我随机安装任何其他软件之前,我想了解 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)]
Run Code Online (Sandbox Code Playgroud)
“指针”下鼠标的详细信息:
$ 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
Run Code Online (Sandbox Code Playgroud)
仅与滚动相关的部分:
$ 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
Run Code Online (Sandbox Code Playgroud)
libinput
上游错误报告:freedesktop - libinput - 支持设置滚动速度 #185
\n\n旧解决方案正在使用evdev
xinput
,xorg.conf.d
(1)udev
针对特定鼠标型号的 HWDB 设置。
我确认,这是 udev 上游代码存储库的当前解决方案
\n\n检查您的鼠标标识:供应商 ID、产品 ID、设备名称
\n\n当鼠标插入时
\n\nsudo lsusb\n
Run Code Online (Sandbox Code Playgroud)\n\n运行以下命令之一,然后重新连接鼠标
\n\nsudo udevadm monitor -u\nsudo journalctl -k -b -f\n
Run Code Online (Sandbox Code Playgroud)\n\n并检查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\n
Run Code Online (Sandbox Code Playgroud)复制步骤 (1) 中的这些行并将其附加到新文件中,添加滚轮单击角度条目并根据需要设置角度(默认=15 度/单击,作为整数值),如下所示:
\n\n# Microsoft Comfort Mouse 4500\nmouse:usb:v045ep076c:name:Microsoft Microsoft\xc2\xae Comfort Mouse 4500:\n MOUSE_DPI=1000@125\n MOUSE_WHEEL_CLICK_ANGLE=15\n
Run Code Online (Sandbox Code Playgroud)\n\n如果您在 中找不到您的设备70-mouse.hwdb
,请使用步骤 (1) 中收集的信息以此格式创建它
mouse:usb:v <VendorID> p <ProductID> :name: <DeviceName> :\n
Run Code Online (Sandbox Code Playgroud)保存并关闭
\n\nCtrl+ O, Ctrl+X
更新udev硬件数据库,触发对应事件节点的变化
\n\nsudo systemd-hwdb update\nsudo udevadm trigger /dev/input/event16\n
Run Code Online (Sandbox Code Playgroud)\n\nevent16
如输出中报告的那样xinput
。
该答案是针对 OP 案例定制的,但可以针对其他模型进行调整。已经将其扩展为更通用。
\n\n完整的上游说明位于:systemd/hwdb.d/70-mouse.hwdb70-mouse.hwdb
或在系统中查找本地文件。您还可以在那里查看其他高级功能。
有MOUSE_WHEEL_CLICK_COUNT
一个 overrides MOUSE_WHEEL_CLICK_ANGLE
,当角度参数不够精确时使用它。
MOUSE_WHEEL_CLICK_COUNT
默认=24 单击/旋转或单击/360deg,接受整数值
例子:
\n\n# Microsoft Comfort Mouse 4500\nmouse:usb:v045ep076c:name:Microsoft Microsoft\xc2\xae Comfort Mouse 4500:\n MOUSE_DPI=1000@125\n MOUSE_WHEEL_CLICK_ANGLE=15\n MOUSE_WHEEL_CLICK_COUNT=24\n
Run Code Online (Sandbox Code Playgroud)\n\nMOUSE_WHEEL_CLICK_ANGLE
出于兼容性原因,这是必须的,即使它的值对声明无效MOUSE_WHEEL_CLICK_COUNT
。
(2) 可能在 GUI 工具包级别实现。Fair 希望大型免费社区项目之间的协作(就像任意 Unicode 输入的情况一样)仅在 GTK 中实现。
\n\n有些应用程序不会等待,例如某些浏览器和游戏(Firefox、Chromium、SDL 游戏等)。
\n\n上面链接的错误报告中有来自 GUI 套件的错误报告列表。
归档时间: |
|
查看次数: |
689 次 |
最近记录: |