我有一个旧的 IBM SpaceSaver II,我已经使用了一段时间了。更新到 Ubuntu 20.04 后,我决定再试一次 Wayland。唯一让我无法完全使用它的是鼠标中键单击滚动不起作用。
在 X 下它也不能开箱即用,但您可以通过 xinput 设置滚动方法来启用它:
xinput --set-prop "USBPS2 Mouse" "libinput Scroll Method Enabled" 0, 0, 1
但我还没有找到在 Wayland 下设置它的方法。
在这个线程中,他们使用 更改内置跟踪点的属性/etc/udev/hwdb.d
,但我不确定如何正确使用它以及在哪里可以找到给定设备的属性。我尝试使用:
evdev:name:USBPS2 Mouse
MOUSE_SCROLL_METHOD=button
evdev:name:USBPS2 Mouse
SCROLL_METHOD_ENABLED=button
evdev:name:USBPS2 Mouse
SCROLL_METHOD_ENABLED=0,0,1
但它没有效果。你能告诉我我是否在正确的轨道上吗?如何找出设备的属性?有没有办法验证选择器?
键盘通过 PS/2 到 USB 适配器连接,因此在列出 libinput 设备时它显示为USBPS2 :
Device: USBPS2
Kernel: /dev/input/event18
Group: 5
Seat: seat0, default
Capabilities: keyboard
Tap-to-click: n/a
Tap-and-drag: n/a
Tap drag lock: n/a
Left-handed: n/a
Nat.scrolling: n/a
Middle emulation: n/a
Calibration: n/a
Scroll methods: none
Click methods: none
Disable-w-typing: n/a
Accel profiles: n/a
Rotation: n/a
Device: USBPS2 Mouse
Kernel: /dev/input/event19
Group: 5
Seat: seat0, default
Capabilities: pointer
Tap-to-click: n/a
Tap-and-drag: n/a
Tap drag lock: n/a
Left-handed: disabled
Nat.scrolling: disabled
Middle emulation: disabled
Calibration: n/a
Scroll methods: button
Click methods: none
Disable-w-typing: n/a
Accel profiles: flat *adaptive
Rotation: n/a
Device: USBPS2 Consumer Control
Kernel: /dev/input/event20
Group: 5
Seat: seat0, default
Capabilities: keyboard pointer
Tap-to-click: n/a
Tap-and-drag: n/a
Tap drag lock: n/a
Left-handed: n/a
Nat.scrolling: disabled
Middle emulation: n/a
Calibration: n/a
Scroll methods: none
Click methods: none
Disable-w-typing: n/a
Accel profiles: n/a
Rotation: n/a
Device: USBPS2 System Control
Kernel: /dev/input/event21
Group: 5
Seat: seat0, default
Capabilities: keyboard
Tap-to-click: n/a
Tap-and-drag: n/a
Tap drag lock: n/a
Left-handed: n/a
Nat.scrolling: n/a
Middle emulation: n/a
Calibration: n/a
Scroll methods: none
Click methods: none
Disable-w-typing: n/a
Accel profiles: n/a
Rotation: n/a
如您所见,USBPS2 鼠标具有可用的滚动方法按钮,但未启用(至少我认为是这样,因为它之前没有星号)。对于集成的 Trackpoint,它开箱即用。
在玩弄 udev 规则时想出来:
原来问题是 ID_INPUT_POINTINGSTICK 没有设置,所以我猜 libinput 不能完全识别设备。可以用一个简单的 udev 规则来解决:
这适用于 Wayland 和 Xorg,无需再设置它
xinput --set-prop
。