Ubuntu 16.04でタッチパッドを微調整しようとしていますが、通常の方法はどれも機能していないようです。例えば.
synclient touchpadOff=1
それでも機能します!
$ xinput set-prop $DEVICE_ID "Device Enabled" 0
$ xinput list-props 15 |head -n2
Device 'SynPS/2 Synaptics TouchPad':
Device Enabled (168): 0
...それでも動作します!
設定アプリから無効にできます。しかし、これをキーボードショートカットにマッピングできるようにしたいので、コマンドラインソリューションを探しています。
Gnome-ShellとUnityで回答した場合のボーナスポイント:-)
$ xinput
⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ ELAN Touchscreen id=12 [slave pointer (2)]
⎜ ↳ DLL06E4:01 06CB:7A13 Touchpad id=13 [slave pointer (2)]
⎜ ↳ SynPS/2 Synaptics TouchPad id=15 [slave pointer (2)]
⎣ Virtual core keyboard id=3 [master keyboard (2)]
↳ Virtual core XTEST keyboard id=5 [slave keyboard (3)]
↳ Power Button id=6 [slave keyboard (3)]
↳ Video Bus id=7 [slave keyboard (3)]
↳ Video Bus id=8 [slave keyboard (3)]
↳ Power Button id=9 [slave keyboard (3)]
↳ Sleep Button id=10 [slave keyboard (3)]
↳ Integrated_Webcam_HD id=11 [slave keyboard (3)]
↳ AT Translated Set 2 keyboard id=14 [slave keyboard (3)]
↳ Dell WMI hotkeys id=16 [slave keyboard (3)]
Nb。 $DEVICE_ID
に15を使用しました
あなたは1つのライナーでそれを行うことができますが、この方法でも素敵な通知を受け取ります。これをショートカットキーに添付しましたが、これは魅力的です。皆さんありがとう。
#!/bin/bash
if xinput list-props 13 | grep "Device Enabled (168):.*1" >/dev/null
then
xinput disable 13
notify-send -u low -i mouse "Trackpad disabled"
else
xinput enable 13
notify-send -u low -i mouse "Trackpad enabled"
fi
次のコマンドを使用して、タッチパッドをオフに切り替えることができます。
xinput disable 13
で有効にする
xinput enable 13
デバイスはpsmouse
によって制御されません。 synaptics_i2c
によって制御されます。そして、それはデバイス13です。
IDに依存するのではなく、以前に試したように名前で切り替えることもできます。ただし、新しい入力デバイスを接続しない場合、IDはそのままである必要があります。
詳細については、 この回答 をご覧ください。
誤って検出されたデバイスを削除するには、i8042.nopnp
カーネルブートパラメーターを追加する必要があります。
Ifgsettings
で設定を変更できます。通常はこれが推奨されるオプションです。システム設定からタッチパッドを有効/無効にすることができ、システム設定doesがgsettings
を使用していることを確信しているため、以下の方法のように見えますデルでも同様です。
14.04
#!/usr/bin/env python3
import subprocess
key = "org.gnome.settings-daemon.peripherals.touchpad" ;val = "touchpad-enabled"
curr = subprocess.check_output(["gsettings", "get", key, val]).decode("utf-8").strip()
newval = "false" if curr == "true" else "true"
subprocess.Popen(["gsettings", "set", key, val, newval])
15.04 +
#!/usr/bin/env python3
import subprocess
key = "org.gnome.desktop.peripherals.touchpad" ;val = "send-events"
curr = subprocess.check_output(["gsettings", "get", key, val]).decode("utf-8").strip()
newval = "disabled" if curr == "'enabled'" else "enabled"
subprocess.Popen(["gsettings", "set", key, val, newval])
toggle_touchpad.py
として保存します次のコマンドをショートカットに追加します。
python3 /path/to/toggle_touchpad.py
システム設定>「キーボード」>「ショートカット」>「カスタムショートカット」を選択します。 「+」をクリックして、コマンドを追加します。
python3 /path/to/toggle_touchpad.py
タッチパッドを無効にするコマンド:
14.04の場合:
gsettings set org.gnome.settings-daemon.peripherals.touchpad touchpad-enabled false
15.04の場合:
gsettings set org.gnome.desktop.peripherals.touchpad send-events disabled
スクリプトを使用して、コマンドによって現在の設定を読み取る場合:
gsettings get org.gnome.settings-daemon.peripherals.touchpad touchpad-enabled
(14.04)、または
gsettings get org.gnome.desktop.peripherals.touchpad send-events
(15.04+)
スクリプトに反対の値を設定させ、タッチパッドをtoggleにすることができます。
完成させるために、OPはpython
スクリプトが機能しているが、python
を使用したくないことを示しているため、2つのトグルスクリプトのbash
バージョンは、
14.04
#!/bin/bash
key="org.gnome.settings-daemon.peripherals.touchpad"
val="touchpad-enabled" ;curr="$key $val"
if [ "$(gsettings get $curr)" == "false" ]
then
gsettings set $key $val true
else
gsettings set $key $val false
fi
15.04 +
#!/bin/bash
key="org.gnome.desktop.peripherals.touchpad"
val="send-events" ;curr="$key $val"
if [ "$(gsettings get $curr)" == "'enabled'" ]
then
gsettings set $key $val disabled
else
gsettings set $key $val enabled
fi
toggle_touchpad.sh
として保存します次のコマンドをカスタムショートカットの下に配置します。
/bin/bash /path/to/toggle_touchpad.sh
私も16.04です。私は通常、キーボードショートカットに配置する小さなスクリプトを使用します。実行するとタッチパッドがオフになります...しかし、オンになってから数秒後に...
スクリプト:
#!/bin/sh
STATUS=`synclient | grep TouchpadOff | awk '{ print $3}'`
if [ $STATUS != 1 ];
then
synclient touchpadOff=1;
else
synclient touchpadOff=2;
fi
exit 0
私はあなたの質問を見る前にそれを使用しようとしません...