
我想知道是否有一種方法可以使用 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"