У меня есть старый IBM SpaceSaver II, который я уже давно использую. После обновления до Ubuntu 20.04 я решил еще раз попробовать Wayland. Единственное, что мешает мне использовать его постоянно, это прокрутка средней кнопкой мыши, не работающая.
Под X это тоже не сработает, но вы можете включить его, установив метод прокрутки с помощью xinput:
xinput --set-prop "USBPS2 Mouse" "Метод прокрутки libinput включен" 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, поэтому она отображается как USBPS2 при перечислении устройств 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 есть кнопка метода прокрутки, которая доступна, но не включена (по крайней мере, я так думаю, поскольку перед ней нет звездочки). Для интегрированной трекпойнта это работает из коробки.
Figured it out while playing around with udev rules:
Turns out the issue is that ID_INPUT_POINTINGSTICK is not set, so I guess libinput does not fully recognize the device. Can be solved with a simple udev rule:
ACTION=="add|change", ENV{ID_VENDOR_ID}=="0d3d", ATTRS{name}=="*USBPS2 Mouse*", ENV{ID_INPUT_POINTINGSTICK}="1"
This works for both Wayland and Xorg, no need to set it with xinput --set-prop
anymore.