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--> 이 마지막 항목은 "Laptop", "Notebook" "Portable", "Sub Notebook", "Main Server Chassis", ...( 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"

관련 정보