在 Wayland 下为我的 IBM SpaceSaver II (RT3200) 启用 Trackpoing 滚动

在 Wayland 下为我的 IBM SpaceSaver II (RT3200) 启用 Trackpoing 滚动

我有一台旧的 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

相关内容