Скрипт udev для изменения настроек libinput

Ubuntu 18.04.2 на Thinkpad T480.

Я хочу запустить скрипт udev, когда моя мышь подключена. Я рад предположить, что у пользователя с именем tim запущен Xsession (я использую kde plasma).

Мое правило в:

/etc/udev/rules.d/41-usb-mouse-add.rules


ACTION=="add" \
, ATTRS{idProduct}=="c539" \
, ATTRS{idVendor}=="046d" \
, ENV{DISPLAY}=":0" \
, ENV{XAUTHORITY}="/tmp/xauth-1000-_0" \
, RUN+="/home/tim/scripts/tweak_libinput.sh"

Местоположение XAUTHORITY скопировано с того, что я вижу в оболочке.

У меня есть вызов logger в сценарии, и он вызывается несколько раз (почему?). Так что правило udev работает, хотя я ожидал, что оно будет вызываться только один раз.

Это оказывает некоторый эффект, потому что нарушает мои естественные настройки прокрутки ... этот же скрипт включает естественную прокрутку, но после вызова udev естественные настройки прокрутки сбрасываются. Так что это хуже, чем провал, это фактически нарушает мои настройки:)

Когда скрипт запускается вручную, он работает нормально. Независимо от того, сколько раз я призываю это.

Редактировать

ls -l /tmp/xauth-1000-_0 
-rw------- 1 tim tim 53 Jun 11 20:07 /tmp/xauth-1000-_0

Будет ли эта установка прав доступа проблемой?

1
задан 11 June 2019 в 13:35

1 ответ

Возможно сделать это с конфигурационным файлом по телефону /usr/share/X11/xorg.conf.d/41-libinput-local.conf

Это содержание работа для определенного устройства:

Section "InputClass"
        Identifier "Logitech USB Receiver Mouse"
        MatchIsPointer "on"
        MatchDevicePath "/dev/input/event*"
        Driver "libinput"
        Option "ScrollButton" "2"
        Option "ScrollMethod" "button"
        Option "NaturalScrolling" "true"
EndSection

Это работает, когда устройство заменено в горячем режиме после того, как сессия начинается, и это выживает во время, приостанавливают/возобновляют, как сообщил Tim (OP).

Ссылки:

1
ответ дан 24 October 2019 в 14:41

Другие вопросы по тегам:

Похожие вопросы: