我有一台旧的 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 适配器连接,因此它显示为USB2.0接口列出 libinput 设备时:
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,它开箱即用。
答案1
在玩弄 udev 规则时发现了这一点:
问题出在 ID_INPUT_POINTINGSTICK 未设置,因此我猜测 libinput 无法完全识别该设备。可以使用简单的 udev 规则解决:
ACTION=="add|change", ENV{ID_VENDOR_ID}=="0d3d", ATTRS{name}=="*USBPS2 Mouse*", ENV{ID_INPUT_POINTINGSTICK}="1"
这适用于 Wayland 和 Xorg,无需再进行设置xinput --set-prop
。