web-dev-qa-db-ja.com

他のアプリケーションをインストールせずにXubuntu 14.04でタッチパッドをすばやく有効/無効にする方法は?

Xubuntu 14.04で。設定にアクセスしてタッチパッドを無効または有効にすることは少し非表示です-[設定]-[マウス]および[タッチパッド]で、一度クリックすると、他にいくつかのクリックが必要になります。

enter image description here

パネルアプリケーションtouchpad-indicatorをインストールしてみましたが、Xfceでバグがあるようです。Xfce設定との競合が原因である可能性があります...

タッチパッドを有効/無効にする迅速で安全な方法はありますか?

16
user47206

これは、次の2つのコマンドで簡単に実行できます(異なる answer に触発された)。

無効にする:

synclient TouchpadOff=1

有効にする:

synclient TouchpadOff=0

私の最初の答えは

xinput set-prop 15 "Device Enabled" 0

そして

xinput set-prop 15 "Device Enabled" 1

ここでID番号は15以外の場合があります:実行することで見つけることができます

xinput list

これらのコマンドについては、 thisタッチパッドを無効にする方法に関する質問 の下の回答で見つけました。


コマンドはランチャーに追加できます。

Whisker Menu、Synapseなどのランチャーで2つのコマンドを簡単に実行できるように、.desktopファイル(usr/share/applicationsまたは.local/share/applications)を作成することを好みます。


また:

  • それらを単一のランチャーに追加することにより、

  • 下の画像のような高度なプロパティの設定

enter image description here

(つまり、「最後に使用したアイテムを表示」および「ボタンの内側」)、

  • 2つの特定のアイコンを追加し、

ランチャーは常にタッチパッドの現在の状態を表示します

enter image description here


また、2つのコマンドにショートカットを割り当てる([設定マネージャー]-[キーボード]-[アプリケーションのショートカット])を実行するのも悪い考えではありません。

22
user47206

また、synclientこの回答のように を使用することもできます。

タッチパッドをオフにするには:

synclient TouchpadOff=1

電源を入れる:

synclient TouchpadOff=0

これはもっと便利な方法だと思います。デバイスIDを知る必要はありません。

だから私の解決策はbashスクリプトを作成することです〜/ toggle-touchpad.sh

#!/bin/bash
if synclient | grep --quiet 'TouchpadOff             = 0'; then
  synclient TouchpadOff=1
  notify-send Touchpad Disabled
else
  synclient TouchpadOff=0
  notify-send Touchpad Enabled
fi

ファイル許可の変更:

Sudo chmod +x ./toggle-touchpad.sh

次に、設定-キーボード-アプリケーションのショートカットに移動して、新しいショートカットを追加します。スクリプトへのパスを入力します(/home/your_username/toggle-touchpad.sh-たとえば)。ショートカット(私の場合はFn + F9)を指定します。

できたこれで、タッチパッドを切り替えることができ、通知が表示されます。

11
Demeter

非ランチャーバージョン:

#!/bin/bash

# toggle state of synaptics touchpad

tpid=`xinput list | grep SynPS | sed 's/.*id\=\([0-9]\+\).*/\1/g'`

declare -i status
status=`xinput list-props ${tpid} | grep Device\ Enabled | sed -e 's/.*\:[ \t]\+//g'`

if [ 0 -eq ${status} ] ; then
    xinput enable ${tpid}
else
    xinput disable ${tpid}
fi
8
Dr Bombay

私は@cipricusと@Demeterの回答を使用しましたが、synclientを使用せずに、共有するとよいと思いました。

#!/bin/sh

TOGGLE=$HOME/.toggle
TOUCHPAD_ID=$(xinput list | grep "Touchpad" | grep -Eow '[0-9]{2}')

if [ ! -e $TOGGLE ]; then
   touch $TOGGLE
   xinput set-prop $TOUCHPAD_ID "Device Enabled" 0
else
   rm $TOGGLE
   xinput set-prop $TOUCHPAD_ID "Device Enabled" 1
fi
2
Pedro Galvao