Я недавно купил Logitech Trackman Marble. Я нашел, что путь при помощи xinput превратил один из ключей в ключ прокрутки. Сценарий похож:
xinput set-button-map "Logitech USB Trackball" 1 2 3 4 5 6 7 8 9
xinput set-int-prop "Logitech USB Trackball" "Evdev Wheel Emulation Button" 8 8
xinput set-int-prop "Logitech USB Trackball" "Evdev Wheel Emulation" 8 1
xinput set-int-prop "Logitech USB Trackball" "Evdev Wheel Emulation Axes" 8 6 7 4 5
xinput set-int-prop "Logitech USB Trackball" "Evdev Wheel Emulation X Axis" 8 6
Когда я запускаю этот скрипт, функция прокрутки работает некоторое время, но через какое-то время это прекращает работать, и кнопки возвращаются к своим исходным функциям.
Теперь вопрос, как я могу решить эту проблему?
карта кнопки набора xinput "Logitech USB Trackball" 1 2 3 4 5 6 7 5 4
2 маленьких кнопки будут прокруткой вверх и вниз, но только перемещают немного каждого нажатия
Решение состоит в том, чтобы обновить файл xorg conf.
Создайте /etc/X11/xorg.conf.d/10-libinput.conf
со следующим
Section "InputClass" Identifier "Marble Mouse" MatchProduct "Logitech USB Trackball" Driver "libinput" Option "ScrollMethod" "button" Option "ScrollButton" "8" Option "AccelSpeed" "1" # Option "TransformationMatrix" "2.4 0 0 0 2.4 0 0 0 1" EndSection
Это позволяет прокручивать колесо, нажав на левую маленькую кнопку. Закомментированная TransformationMatrix позволяет пропускать пиксели и двигаться быстрее, но вместо этого я предпочитаю менять DPI, как в https://askubuntu.com/a/1288288/285057.