我想知道是否有办法使用 bash 脚本来检查系统是否有鼠标(计算机)或没有鼠标(平板电脑),不是像鼠标在屏幕上的位置那样,而是像检测它是否是平板电脑或者您是否在设备上使用鼠标...
用途:让桌面自动在平板电脑上更好地运行
答案1
bluedxca93ish 替代方案,无需退出。
if [ -n "$(ls /dev/input/by-id/*mouse 2>/dev/null | grep -i 'usb\|PS\|COM')" ]; then echo "Bluedxca93 found a mice thats nice";fi
if [ -n "$(xinput --list | grep TouchPad)" ]; then echo "Bluedxca93 found a damn tablet";fi
这肯定比你的方法慢,但我担心它不像你的方法那样依赖于 bash 版本。而且只有两行。
答案2
此类信息稍微依赖于特定的 Linux 发行版。
遵循几个可能有帮助的命令......
ls /dev/input/by-id/*mouse && echo "yes" || echo "no"
cat /proc/bus/input/devices | grep -E 'Name|Handler'
cat /proc/bus/input/devices | awk -v RS="" '/TouchPad/ {print "laptop";last}'
xinput --list
sudo dmidecode --string chassis-type
--> 最后一个将返回类似“笔记本电脑”,“笔记本”,“便携式”,“子笔记本电脑”,“主服务器机箱”等内容...(cat /sys/class/dmi/id/chassis_type
以避免 sudo)
答案3
我设法为鼠标和触摸板制作了一个工作脚本,并正确检测触摸屏,这是我所做的:
#/bin/bash -e
ls /dev/input/by-id/*mouse && echo "Desktop Mode" && exit
xinput --list | grep TouchPad && echo "Desktop Mode" || echo "Tablet Mode"