Bash:如何在 Bash 中查找鼠标

Bash:如何在 Bash 中查找鼠标

我想知道是否有办法使用 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"

相关内容