我有一个 Logitech MX Master 鼠标,带有垂直和水平滚轮。一切工作正常,鼠标事件工作/可以重新映射,两个滚轮都完成其工作,等等。唯一烦人的是水平滚动非常慢,因此几乎无用......
那么如何调整水平滚轮的滚轮灵敏度呢?
我尝试了很多选择但没有运气:
solaar
不提供任何附加设置。- xinput有一个与滚动相关的设置
Evdev Scrolling Distance
,但它似乎除了滚动方向没有改变更多。 - xconf 设置也没有
HorizResolution
改变滚动行为(就像建议的那样)这里)。 - 正如我发现的
xev
,滚轮会触发按钮单击事件(按钮 6 和 7)。所以我尝试了一个xbindkeys
绑定,再次触发按钮单击三次(使用xdotool
)。这显然导致了事件 → 触发器 → 事件 → 触发器 → ... 的无限循环,使 xserver 达到 100% CPU。没有睡眠延迟或类似的帮助...... - 没有任何一个XF86 键盘符号似乎代表垂直滚动 → 无法将按钮 6/7 重新映射到 XF86 键盘事件。
有什么想法可以让水平鼠标滚动得更快吗?我很乐意提供帮助!
我的系统:Linux Mint 18(基于Ubuntu 16.04 LTS),KDE Plasma 5.8.5
答案1
好吧,我突然想到一个解决这个问题的想法:
1) 将与水平滚动相关的“按钮”从 6/7 重新映射到未使用的 id 10/11,以xinput
避免递归无限循环。将此称为~/.profile
或类似的(灵感来自这个答案):
#!/bin/bash
# improve Logitech MX Master horizontal scroll sensitivity
logitech_mouse_id=$(xinput | grep "Logitech MX Master" | sed 's/.*id=\([0-9]\+\).*/\1/')
xinput set-button-map $logitech_mouse_id 1 2 3 4 5 10 11 8 9
2) 用 触发重复的水平滚动事件xdotool
。设置在~/.xbindkeysrc
:
# thumb wheel up => scroll left
"xdotool click --repeat 10 --delay 1 6"
b:10
# thumb wheel down => scroll right
"xdotool click --repeat 10 --delay 1 7"
b:11
答案2
不需要按钮重新映射的解决方案,这对我有用,尽管我不是 Mint,我使用的是 Ubuntu 和 Logitech MX Master 3 鼠标。
- 通过探测找到您的鼠标
cat /sys/class/input/event3/device/name
,然后尝试不同的数字event
,在我的情况下是这样的3
。记住结果名称。 - 创建文件
/etc/udev/hwdb.d/99-mx3-click-angle.hwdb
(可以选择其他名称,以99开头即可)。 - 文件内容:
mouse:*:name:Logitech MX Master 3000:
MOUSE_WHEEL_CLICK_ANGLE_HORIZONTAL=10
将您在第一阶段获得的设备名称而不是我的Logitech MX Master 3000
.
- 更新硬件数据库:
sudo udevadm hwdb -u
- 断开并重新连接鼠标。
- 要验证是否已添加属性,请运行
> udevadm info --query=all --name=/dev/input/event3 | grep MOUSE_WHEE
E: MOUSE_WHEEL_CLICK_ANGLE_HORIZONTAL=10
这里使用您在第一阶段的号码而不是我的活动号码3
。
使用不同的值MOUSE_WHEEL_CLICK_ANGLE_HORIZONTAL
,10 最适合我。
还有其他需要调整的参数。例如,我使用 调整垂直滚动速度MOUSE_WHEEL_CLICK_ANGLE=2
,因为我的 Logitech MX Master 3 在默认设置下滚动速度太快。
基于这评论。
答案3
我在寻找解决方案时发现了这篇文章。我想将它传递给将来帮助任何人:
https://forums.virtualbox.org/viewtopic.php?f=3&t=79002
向下滚动到2017 年 9 月 22:39经过地狱袋熊
这对我来说非常有效。我正在运行 VirtualBox 5.1.30 r118389 和 Mint 18.3 Cinnamon 64Bit 所有功劳归于地狱袋熊在那篇文章上。我只是想传递它。对我来说,文件是,90-libinput.conf
但其他一切都是一样的。
如果您不想进入该页面,解决方案是编辑一个文件,/usr/share/X11/xorg.conf.d/
查找XX-libinput.conf
其中 XX 可能是 40 的文件,如原始帖子中所示,或者对我来说是 90。
重要的您需要确保安装了 evdev 驱动程序。对我来说,它已经安装了。
Section
我的文件中有三个块。找到Identifier "libinput pointer cachall"
该块的最后一行,将Driver "libinput"
其更改为Drive "evdev"
并重新启动客户机。
如果这不起作用,我无法提供建议,因为我没有提出解决方案,我只是想将其作为解决方案/解决方法传递。