LinuxForum.Fans
Тема

Скрипт для тачпада

Автор: Samath 11 сообщений 4031 просмотров
#117861

Хочу сделать скрипт, который должен включать\отключать тачпад, в зависимости от состояния тачпада. Включается и выключается тачпад командой synclient TouchpadOff=0 и synclient TouchpadOff=1 соответственно.
Как я понял, можно использовать оператор if.
Как это можно осуществить? Программирование шелл пока что не знаю. Разве что могу сделать скрипт, который запускает команду.
пока что сделал так:
#!/bin/bash
if условие1
then synclient TouchpadOff=1
elif условие2
then synclient TouchpadOff=0
fi

Как правильно указать условие1 и условие2 ?

#117868

Samath, не до конца понял условия стоящей перед вами задачи: вы хотите при определённых условиях (кстати, каких именно?) включать или выключать тачпад, либо включение или выключение тачпада должно приводить к срабатыванию определённых команд?

#117870

Lupo Alberto, я хотел, что бы скрипт выключал тачпад, если он (тачпад) включен. И наоборот, если тачпад выключен, то скрипт должен его включить.

#117871
Samath написал:
в зависимости от состояния тачпада. Включается и выключается тачпад командой synclient TouchpadOff=0 и synclient TouchpadOff=1 соответственно.

какой командой считывать "состояние тачпада", и вообще, что это такое?!

Samath написал:
пока что сделал так:
#!/bin/bash
if условие1
then synclient TouchpadOff=1
elif условие2
then synclient TouchpadOff=0
fi

Как правильно указать условие1 и условие2 ?

именно так и указать. Вопрос непонятен.
например, если в file.txt есть строка "string", то условие выглядит так:

text
if grep "string" file.txt
then
  действие
fi
#117873

Samath, всё равно как-то от меня логика ускальзывает: объясните какую задачу вы пытаетесь решить?

#117876
Lupo Alberto написал:
объясните какую задачу вы пытаетесь решить?

наверное это решается так:

text
synclient TouchpadOff && synclient TouchpadOff=0 || synclient TouchpadOff=1

подразумевается, что synclient TouchpadOff завершается со значением "истинно", если тачпад выключен.

#118599
Samath написал:
так и есть, правильно. Решение нашел здесь http://dmych.tumblr.com/post/1447832897

там они никак не проверяют состояние тачпада. просто создают файл когда он выключается. и убивают файл при включении.

Нижеприведенный скрипт работает как переключатель — он выключает тачпад если он включен, и включает если выключен:
text
#!/bin/bash
LOCKFILE="/tmp/touchpad_off"
if [[ -f "$LOCKFILE" ]]
then
    xinput set-prop 'PS/2 Generic Mouse' 'Device Enabled' 1
    rm $LOCKFILE
else
    xinput set-prop 'PS/2 Generic Mouse' 'Device Enabled' 0
    touch -f $LOCKFILE
fi

При выключении тачпада скрипт создает лок-файл в каталоге /tmp, по наличию или отсутствию которого определяется состояние тачпада. В “исходном состоянии” после включения компьютера каталог /tmp пуст, а тачпад включен.
#118701

пофиг, главное что он включает/выключает тачпад

#118727
Samath написал:
пофиг, главное что он включает/выключает тачпад

хм... ну вы-бы ТЗ оформили, тогда я и сразу написал-бы ;)

#118748

drBatty, а так не интересно )))

Войдите или зарегистрируйтесь, чтобы ответить.