如何在 Libinput (Debian Gnome) 下的 Wayland 中设置设备特定的鼠标设置?

如何在 Libinput (Debian Gnome) 下的 Wayland 中设置设备特定的鼠标设置?

我正在运行 Thinkpad T470。我经常对此进行对接,这意味着我有 3 个鼠标输入设备(外部 Microsoft 鼠标、Trackpoint 和 Trackpad)。我正在 Wayland 下使用 Gnome 运行 Debian 10(测试 - Buster)。

在 Gnome 设置(如下)中,我可以通过配置“鼠标灵敏度”来更改“鼠标”的灵敏度。然而,这改变了灵敏度两个都外接鼠标和指点杆。我喜欢将指点杆设置为低灵敏度,将鼠标设置为高灵敏度。

Gnome 鼠标设置

在 Xorg 下,我可以编写一个简单的脚本来设置设备特定的配置设置。我如何在 Wayland 实现这一目标?

答案1

韦兰预计所有老鼠的运动都是归一化,因此只有一种全局可更改配置。您可能需要编辑您的哈瓦德数据库您的一台设备的条目可以纠正错误,或者只是使其符合您的偏好。

或者,您也可以libevdev-tweak-device从包装中使用libevdev-tools(或libevdev-utils)。它说它可以动态改变 evdev 设备的定义。你会做类似的事情

sudo libevdev-tweak-device --abs ABS_X --res 99 /dev/input/event99
sudo libevdev-tweak-device --abs ABS_Y --res 99 /dev/input/event99

您需要更换的地方99根据您想要的分辨率,以及事件99通过输入设备。您可以从以下位置找到输入设备:

$ ls -l /dev/input/by-id/
lrwxrwxrwx ... usb-Logitech_USB_Optical_Mouse-event-mouse -> ../event5

要查找当前分辨率,请尝试sudo evemu-describeevemu-tools包装中获取,或使用mouse-dpi-tool尝试选择一个好的值。

答案2

/etc/udev/hwdb.d/71-mouse-local.hwdb遇到了同样的问题,并尝试通过添加一个使用 的条目来修复它,mouse-dpi-tool回答目前得票最多的。这是一个很棒的工具,它让我觉得我走在正确的轨道上,但无论我尝试什么,它都不起作用。话虽如此,400 和 800 DPI 之间的一些差异似乎会产生影响,但将其提高到 800 以上似乎又会产生相反的效果。

然后通过使用以下方法更改加速度曲线成功地提高了速度dconf 编辑器at org/gnome/desktop/peripherals,可以从您的 Linux 存储库安装。还使用速度变量,接受 -1 到 1 范围内的(双精度)值。双精度意味着它可以是分数,例如 -0.5 或 0.5。最终将其设置为 1.0,这是我开始使用 dconf 编辑器时的初始值。不确定更改它是否是解决方案的一部分,或者我选择的自适应加速配置文件是否必须自行校准。说是花了几分钟终于把鼠标指针移动得更快了。

答案3

我在 Debian 10 的 x230 上通过将此文件写入“/etc/udev/hwdb.d/71-pointingstick-local.hwdb”来完成此操作:

# /etc/udev/hwdb.d/71-pointingstick-local.hwdb
#
# This file contains a custom "hwdb" entry to set pointing stick speed for
# Wayland by "normalizing" device dpi. (for details see:
# https://wayland.freedesktop.org/libinput/doc/latest/normalization-of-relative-motion.html).
# 
# My purpose is to set touchpoint speed seperate from external mouse so I don't have
# to change it by hand every time I plug in a mouse. The touchpoint got un-useably 
# over sensitive with the last update. This worked on Debian 10, might also 
# work on Ubuntu or other derivates, circa ~2019. Good luck until they change it again :/
#
# copy the stanza for your device from /usr/lib/udev/hwdb.d/70-pointingstick.hwdb
# into this file.
#
# per https://cgit.freedesktop.org/systemd/systemd/tree/hwdb/70-mouse.hwdb
# edit sensitivity, then run:
# sudo udevadm hwdb --update
# sudo udevadm trigger /dev/input/event6 #(with your device number)
# 
# input device can be discovered with:
# sudo libinput list-devices | grep -A 20 TrackPoint

# Lenovo Thinkpad X230
evdev:name:TPPS/2 IBM TrackPoint:dmi:bvn*:bvr*:bd*:svnLENOVO:pn*:pvrThinkPadX230:*
#POINTINGSTICK_SENSITIVITY=400 # Too fast!
 POINTINGSTICK_SENSITIVITY=100 # better...
 POINTINGSTICK_CONST_ACCEL=1.0

相关内容