LINUX.ORG.RU

Автоматическое отключение тачпада при подключении bluetooth мыши

 ,


0

2

Добрый день! Задача "Отключение тач пад при подключении bluetooth мыши ", увы у меня не получается, делал вот так

в файле /etc/udev/rules.d/76-muse.rules, прописал такое правило

ACTION=="add|remove", SUBSYSTEM=="input", ENV{PRODUCT}=="5/46d/b034/3", RUN+="/usr/local/sbin/fixmouse/TouchPad.sh"


в файле скрипта /usr/local/sbin/fixmouse/TouchPad.sh (отдельно скрипт работает, включает выключает тачпад)

#!/bin/bash

read TPdevice <<< $( xinput | sed -nre '/TouchPad|Touchpad/s/.*id=([0-9]*).*/\1/p' )
state=$( xinput list-props "$TPdevice" | grep "Device Enabled" | grep -o "[01]$" )

if [ "$state" -eq '1' ];then
    xinput --disable "$TPdevice" && notify-send -i emblem-nowrite "Touchpad" "Disabled"
else
    xinput --enable "$TPdevice" && notify-send -i input-touchpad "Touchpad" "Enabled"
fi
echo "added" >> /tmp/myusb.log

udevadm control --reload-rules && udevadm trigger

скрипт TouchPad.sh в лог файл пишет, а панель не отключает.



Последнее исправление: samun (всего исправлений: 2)

udevadm test /sys_path_твоё-устройство&&||udevadm monitor – это не команда в буквальном смысле, а направления для поиска причины.

Из того, что я помню: «вселенная» выполнения правила udev сильно отличается от «вселенной» шелла исполняющего скрипты. У тебя слишком мало отладочной информации в скрипте. Я бы добавил ещё echo-сообщений в лог и дополнительных проверок для отладки…

master_0K
()

Утилита xinput будет работать только в терминале, запущенном в x сессии, ищи другой способ получения сведений об устройствах.

Скрипты в udev выполняются не в x сессии.

kostik87 ★★★★★
()