起因
在 B 站看到一期视频禁用笔记本内置键盘,感觉手动操作还是有一点麻烦,所以写了一个小的 shell 脚本,在 zsh 中设置 alias 别名使用,但还是觉得有一些麻烦,改进了第二版,对是否插着外接键盘进行判断,再进行禁用,第三版目标,实现自动化
第一版
1 2 3
| id=$(xinput | grep AT | cut -c53-54) xinput set-prop $id "Device Enabled" 0
|
第二版
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
|
if [ $1 == "disable" ] then usbkeyboard='' usbkeyboard=$(xinput | grep "USB Keyboard" | sed -n '2p') if [ -n "$usbkeyboard" ] then echo "USB Keyboard Plugged" id=$(xinput | grep AT | cut -c53-54) xinput set-prop $id "Device Enabled" 0 echo "Inner Keyboard disabled" else echo " USB Keyboard NOT Plugged,please check!" fi elif [ $1 == "enable" ] then id=$(xinput | grep AT | cut -c53-54) xinput set-prop $id "Device Enabled" 1 echo "Inner Keyboard enabled" fi
|
第三版
使用 udev 规则进行触发脚本
参考文章
Linux Udev
udev 的使用
通过udev自动检测外置键盘并开启关闭内置键盘
外接鼠标禁用触摸板