LinuxMintでタッチパッドの有効無効をショートカットで切り替える


タッチパッドが煩わしい

 文字入力中にタッチパッドが反応して、誤タイプが発生して困ることがありませんか?私はあります。Windowsなら大体の場合はタッチパッドの有効無効を切り替えるショートカットがありますが、LinuxMintには無さそうです。
 文章やソースコードを書いていると煩わしいので、ショートカット用のシェルを書いて、それをショートカットとして登録してみました。不明点・改善点などあれば、お気軽にコメントくださると嬉しいです。

環境

OS
LinuxMint 19.3 Cinamon
PC
ASUS E203

流れ

①シェルを用意する
②ショートカットへ登録する

①シェルを用意する

 適当なファイル名で良いので、sh形式のファイルを用意してそこへ下記のコードをコピペします。ただし、デバイス名は後述の方法でタッチパッドのデバイス名を取得して、置き換えてください。

toggleTotchpad.sh
#!/bin/bash

# タッチパッドのdevicenameをいれる。
TOUCHPAD="(デバイス名)"

# 下記の値が1ならタッチパッドが有効0なら無効。最初は1を入れておく
isTouchpadEnable=1

# タッチパッドの現在の状態を取得
touchpadStateStr=$(xinput list-props "$TOUCHPAD" | grep "Device Enabled")
touchpadStateStrLength=$((${#touchpadStateStr}-1))
touchpadState=${touchpadStateStr:$touchpadStateStrLength:1}

# タッチパッドの現在の状態が有効(=1)なら無効(=0)にするため0を代入
if [ "$touchpadState" = "1" ];then 
    isTouchpadEnable=0
fi

# タッチパッドの有効無効を切り替え
xinput set-prop "$TOUCHPAD" --type=int --format=8 "Device Enabled" $isTouchpadEnable

 色々調べてみたのですが、xinputを使ったものが一番分かりやすかったので、それを使いました。ぶっちゃけかなり力技なコードなので、修正点あったら教えてくださると嬉しいです。

タッチパッドのデバイス名取得

 上記のシェル内にあるタッチパッドのデバイス名は以下のコマンドで取得できます。取得といっても、接続されている入力デバイスの一覧が出てくるだけなので、末尾がTouchpadとなっているやつを探してください。

xinput --list

下記のリンクが参考になります。
http://www7b.biglobe.ne.jp/~nishigo/linux/Disable_of_touchpad2.html

②ショートカットへ登録する

メニューバーからキーボードショートカットの設定を開きます。

 追加をクリックして、名前とコマンドを入力します。名前は自分がわかれば何でも良いです。コマンドは下記のように入力してください。

bash (①で作ったshの絶対パス) 

 登録したショートカットが無効になっていると思うので、そこをクリックして好きなショートカットを登録すれば完了です。

 私は、WindowsKey+Tにしました。

参考リンクです。
https://www.shangtian.tokyo/entry/2019/01/05/104136