插入鼠标时触摸板速度会发生变化

插入鼠标时触摸板速度会发生变化

Ubuntu 18.10

每次插入鼠标(Razer Deathadder)时,触摸板速度都会显著降低。我可以通过进入触摸板设置来暂时修复此问题,它会显示以下消息:

“活动设置与已保存的设置不匹配。您当前看到的是已保存的设置。”

然后只需按“应用”即可。我该如何修复此问题,或者编写一个脚本,每次插入鼠标时都重新应用设置?

编辑:使用 xinput,我发现了正在更改的属性。最初,accel 设置为:

libinput Accel Speed (292):     0.000000

插上鼠标后设置为:

libinput Accel Speed (292):     -0.780000

因此,我可以使用以下方式通过终端设置加速度:

xinput set-prop --type=float 18 "libinput Accel Speed" 0.000000

我查找了如何在插入鼠标时运行脚本。我制定了一条 udev 规则/etc/udev/rules.d/100-reset-touchpad-accel.rules

ACTION=="add", ATTRS{idVendor}=="1532", ATTRS{idProduct}=="0037", OWNER="tuna", RUN+="/home/tuna/bin/reset_touchpad_accel.sh"

并编写了一个脚本/home/tuna/bin/reset_touchpad_accel.sh

#!/bin/bash

xinput set-prop --type=float 18 "libinput Accel Speed" 0.000000

但它不起作用。

编辑 2:我了解到我可以使用它tail -f /var/log/syslog进行调试。看来我必须重新启动 udev 才能使更改生效sudo service udev restart

查看系统日志,我发现了一个权限问题,我通过将其添加/usr/bin/sudo -u tuna到我的 udev 规则中解决了该问题。

ACTION=="add", ATTRS{idVendor}=="1532", ATTRS{idProduct}=="0037", RUN+="/usr/bin/sudo -u tuna /usr/local/bin/reset_touchpad_accel_udev.sh"

但是,它仍然无法运行。系统日志显示

Feb  1 19:11:00 tuna-Latitude-3350 systemd-udevd[21199]: Process '/usr/bin/sudo -u tuna /usr/local/bin/reset_touchpad_accel_udev.sh' failed with exit code 1.

编辑 3:我尝试使用ENV{SYSTEMD_WANTS}+="/etc/systemd/system/reset-touchpad-accel.service"而不是RUN+=并创建了一个 .service 文件

[Unit]
Type=oneshot

[Service]
ExecStart=/usr/local/bin/reset_touchpad_accel.sh

这也不起作用。

相关内容