我可以像这样禁用设备:
xinput set-prop 13 "Device Enabled" 0
但我想设置一个自定义快捷键,在 0\1 之间切换。我的 bash 技能有点生疏,我该怎么做呢?没有 get-prop 命令,我只能做到这一步:
xinput list-props 13 | grep "Device Enabled"
正确打印出来
Device Enabled (135): 1
但我不知道下一步该做什么。帮忙吗?
答案1
使用以下 bash 脚本打开或关闭 xinput 设备。
#!/bin/bash
device=13
state=$(xinput list-props "$device" | grep "Device Enabled" | grep -o "[01]$")
if [ $state == '1' ];then
xinput --disable "$device"
else
xinput --enable "$device"
fi
答案2
我做了这个单行Jason YiZhang Chen 的回答。如果您只需要一个命令来输入键盘快捷键或启动作业,它就很方便。它利用了您还可以按名称设置设备属性的事实,并且触摸板的名称不会改变。
获取设备名称:
$ xinput | grep Touchpad
⎜ ↳ ETPS/2 Elantech Touchpad id=18 [slave pointer (2)]
因此我的设备名为ETPS/2 Elantech Touchpad
。我将其硬编码到以下一行中:
[ "$(xinput list-props 'ETPS/2 Elantech Touchpad' | grep 'Device Enabled' | grep -o '[01]$')" == "1" ] && xinput --disable 'ETPS/2 Elantech Touchpad' || xinput --enable 'ETPS/2 Elantech Touchpad'