XubuntuをノートPCで使っていたところ、タッチパッドにより誤操作が発生し、USB接続マウスの挿抜により、
タッチパッドを自動的にオン・オフしたいなぁ。と思いシェルスクリプトを作成しました。
適当に作ったサンプルスクリプトなので他にも良い方法があると思います。
シェルスクリプトのサンプルということで活用してください。
また皆様の環境では正常に動作しない可能性もありますので、ご了承ください。
$ lsb_release -cd Description: Ubuntu 18.04.2 LTS Codename: bionic
以下、USB接続マウスの挿抜によりノートPCのタッチパッドをオン・オフするサンプルシェルスクリプトになります。
#!/bin/bash SLEEP_TIME=2 GREP_WORD='Mouse' TOUCHPAD='ON' while : do (lsusb -v | grep $GREP_WORD) > /dev/null 2>&1 status=$? if [ $status -eq 0 -a $TOUCHPAD = 'ON' ]; then TOUCHPAD='OFF' synclient TouchpadOff=1 > /dev/null 2>&1 # touchpad off elif [ $status -ne 0 -a $TOUCHPAD = 'OFF' ]; then TOUCHPAD='ON' synclient TouchpadOff=0 > /dev/null 2>&1 # touchpad on fi sleep $SLEEP_TIME done
上記のシェルスクリプトについて説明します。
synclientコマンドがあるパッケージをdpkgコマンドで調べました。
$ dpkg -S `which synclient` xserver-xorg-input-synaptics: /usr/bin/synclient
synclientコマンドは、xserver-xorg-input-synaptics パッケージにあることがわかりました。
以下のコマンドでインストールすることができます。
sudo apt install xserver-xorg-input-synaptics
本スクリプトを設置し自動実行するようにしてみます。
尚、本スクリプトは ~/bin に保存したと仮定し以下に記します。
mkdir $HOME/bin
$ ls ~/bin/ touchpad_auto_on_off.sh
chmod +x $HOME/bin/touchpad_auto_on_off.sh
$ ~/bin/touchpad_auto_on_off.shCtrl+Cで停止することもできます。
上記のシェルスクリプトにnotify-sendコマンドを追加し、通知メッセージが表示されるようにしたものになります。
#!/bin/bash SLEEP_TIME=2 GREP_WORD='Mouse' # NOTIFY SEND PARAMETER NOTIFY_TITLE='Touchpad' NOTIFY_TIME=5000 TOUCHPAD='ON' while : do notify='' (lsusb -v | grep $GREP_WORD) > /dev/null 2>&1 status=$? if [ $status -eq 0 -a $TOUCHPAD = 'ON' ]; then TOUCHPAD='OFF' synclient TouchpadOff=1 > /dev/null 2>&1 # touchpad off notify='Disabled Touchpad.' elif [ $status -ne 0 -a $TOUCHPAD = 'OFF' ]; then TOUCHPAD='ON' synclient TouchpadOff=0 > /dev/null 2>&1 # touchpad on notify='Enabled Touchpad.' fi if [ "$notify" != "" -a "$DISPLAY" != "" ]; then notify-send -t $NOTIFY_TIME "$NOTIFY_TITLE" "$notify" fi sleep $SLEEP_TIME done
以上、USB接続マウスの抜き挿しにより、ノートPCのタッチパッドをオン・オフするサンプルシェルスクリプトの紹介でした。