То, что вы хотите, это использовать метод опроса, непрерывно читать вывод xinput --list --name-only и выяснить, есть ли там имя вашей мыши или нет, а если это - запустить скрипт. Это будет примерно так:
while true; do
if xinput --list --name-only | grep -q -i 'Mouse Name' ;
then
echo "yes" # this is where you run script
break # exit the loop after running the script.
fi
done
В этом случае мы выходим из цикла, как только мышь находится. Однако вы, вероятно, хотите, чтобы это было непрерывным, чтобы вы могли подключить и отключить мышь. Вместо break я использовал бы другой цикл while, который делает наоборот - ждет, пока имя мыши исчезнет. Тело этого цикла может быть только этим - true или :.