Thinkpad T480 上的 ubuntu 18.04.2
我想在鼠标连接时运行 udev 脚本。我很高兴地假设名为 tim 的用户正在运行 Xsession(我使用 kde plasma)。
目标是配置 Logitech USB 鼠标的中间按钮滚动,包括热插拔。
我的规则是:
/etc/udev/rules.d/41-usb-mouse-add.rules
ACTION=="add" \
, ATTRS{idProduct}=="c539" \
, ATTRS{idVendor}=="046d" \
, ENV{DISPLAY}=":0" \
, ENV{XAUTHORITY}="/tmp/xauth-1000-_0" \
, RUN+="/home/tim/scripts/tweak_libinput.sh"
XAUTHORITY 的位置是从我在 shell 中看到的内容复制而来的。
我在脚本中调用了记录器,并且它被调用多次(为什么?)因此 udev 规则正在起作用,尽管我预计它只会被调用一次。
它确实产生了一些影响,因为它破坏了我的自然滚动设置... 同一个脚本将自然滚动设置为开启,但在 udev 调用之后,自然滚动设置被重置。所以这比失败更糟糕,它实际上破坏了我的设置 :)
手动运行该脚本时,无论我调用它多少次,它都能正常工作。
编辑
ls -l /tmp/xauth-1000-_0
-rw------- 1 tim tim 53 Jun 11 20:07 /tmp/xauth-1000-_0
这个权限设置会有问题吗?
答案1
可以使用配置文件来实现/usr/share/X11/xorg.conf.d/41-libinput-local.conf
这些内容适用于特定设备:
Section "InputClass"
Identifier "Logitech USB Receiver Mouse"
MatchIsPointer "on"
MatchDevicePath "/dev/input/event*"
Driver "libinput"
Option "ScrollButton" "2"
Option "ScrollMethod" "button"
Option "NaturalScrolling" "true"
EndSection
正如 Tim(OP)所报告的,它在会话开始后设备热插拔时起作用,并且在挂起/恢复期间仍然存在。
参考:
- 手册(4) libinput
man xorg.conf
- Archlinux:鼠标加速