Shell-Script
在 Xfce 中打開/關閉觸摸板的命令
我發現了類似的問題:
和
如何在 linux(True 或 False)bash 命令上設置切換?
但這些都是基於 gnome 的,他們的解決方案使用
gsettings
命令,這些命令在 Xfce 中不起作用(如org.gnome.settings-daemon.peripherals.touchpad touchpad-enabled
)。我在 Xfce 中使用的命令是
synclient touchpadoff=1
和synclient touchpadoff=0
。如何在一個像開/關切換一樣操作的命令中調整它們?
來源:https ://www.commandlinefu.com/commands/view/19659/toggle-the-touchpad-on-or-off
將命令放入腳本中:
#!/bin/bash tp=$(synclient -l | grep TouchpadOff | awk '{ print $3 }') && tp=$((tp==0)) && synclient TouchpadOff=$tp
另一個可以使用的命令是
synclient TouchpadOff=$(synclient -l | grep -q 'TouchpadOff.*1'; echo $?)
使該腳本可執行。創建一個快捷方式來執行腳本。
更新:由於該
synclient
方法可能不適用於較新的系統:#!/bin/sh # This shell script is PUBLIC DOMAIN. You may do whatever you want with it. TOGGLE=$HOME/.toggle_touchpad if [ ! -e $TOGGLE ]; then touch $TOGGLE xinput disable 14 notify-send -u low -i mouse --icon=/usr/share/icons/HighContrast/256x256/status/touchpad-disabled.png "Trackpad disabled" else rm $TOGGLE xinput enable 14 notify-send -u low -i mouse --icon=/usr/share/icons/HighContrast/256x256/devices/input-touchpad.png "Trackpad enabled" fi
在上面的命令
14
中是一個變數來標識xinput list
~$ xinput list ⎡ Virtual core pointer id=2 [master pointer (3)] ⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)] ⎜ ↳ Sony Vaio Jogdial id=8 [slave pointer (2)] ⎜ ↳ BM30X mouse id=12 [slave pointer (2)] ⎜ ↳ AlpsPS/2 ALPS GlidePoint id=14 [slave pointer (2)] ⎣ Virtual core keyboard id=3 [master keyboard (2)] ↳ Virtual core XTEST keyboard id=5 [slave keyboard (3)] ↳ Video Bus id=6 [slave keyboard (3)] ↳ Sony Vaio Keys id=7 [slave keyboard (3)] ↳ Video Bus id=9 [slave keyboard (3)] ↳ Power Button id=10 [slave keyboard (3)] ↳ USB 2.0 Camera: USB Camera id=11 [slave keyboard (3)] ↳ AT Translated Set 2 keyboard id=13 [slave keyboard (3)]
要辨識該列表中設備的名稱,請查看滑鼠和触摸板設置
此腳本還顯示帶有圖示的通知以及消息。