我们可以使用 xinput
来管理输入设备。
首先我们使用 xinput list
来获取输入设备的id号:
xinput list
触摸板的关键字是 TouchPad
,因此我们可以通过下面命令来获取触摸板的id号:
xinput list | grep -iEo 'touchpad.*id=[0-9]{1,2}' | grep -Eo '[0-9]{1,2}'
下一步我们通过这个id号查看对应设备的状态:
xinput list-props 13
这里 Device Enabled (162): 1
中的 1
就是状态. 所以我们可以通过下面命令来获取状态
xinput list-props 13|grep 'Device Enabled'|awk '{print $4}'
这里的 1
表示设备被启用, 0
表示设备被禁用。
获取了设备状态后,我们就可以通过 xinput disable $ID
或 xinput enable $ID
来禁用或启用设备。
最终得到的接本如下:
#!/bin/bash
declare -i ID
ID=$(xinput list | grep -iEo 'Touchpad.*id=[0-9]{1,2}' | grep -Eo '[0-9]{1,2}')
declare -i STATE
STATE=$(xinput list-props $ID|grep 'Device Enabled'|awk '{print $4}')
if [ $STATE -eq 1 ]
then
xinput disable $ID
echo "Touchpad disabled."
# notify-send -a 'Touchpad' 'Disabled' -i /usr/share/icons/Adwaita/48x48/devices/input-touchpad*.png
else
xinput enable $ID
echo "Touchpad enabled."
# notify-send -a 'Touchpad' 'Enabled' -i /usr/share/icons/Adwaita/48x48/devices/input-touchpad*.png
fi