'xinput list' '가상 코어 포인터의 ID는 항상 '2'입니까?

'xinput list' '가상 코어 포인터의 ID는 항상 '2'입니까?

안녕하세요 저는 우분투 초보자입니다.

.sh쉘 파일( 확장자) Chrome 에서 사용하려면 가상 코어 포인터 ID를 알아야 합니다 . 명령을 사용했는데 --touch-devices=2잘 작동합니다. 하지만 가상 코어 포인터 값이 항상 2인지는 확실하지 않습니다. (실제 하드웨어 장치 ID가 Logitech Optical USB Mouse id=9항상 9일 필요는 없기 때문에 달라질 수 있다는 것을 알고 있습니다. )

⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ Logitech Optical USB Mouse id=9 [slave pointer (2)]
⎜ ↳ SynPS/2 Synaptics TouchPad id=11 [slave pointer (2)]
⎣ Virtual core keyboard id=3 [master keyboard (2)]
↳ Virtual core XTEST keyboard id=5 [slave keyboard (3)]

일반 명령을 다음과 같이 사용하고 싶습니다.

<some_command> --touch-devices=$(xinput --list --id-only 'Virtual core pointer')

하지만 작동하지 않습니다.

어떻게 접근해야 하는지 추천해주세요.

답변1

내가 무엇을 해야할지 알아낸 방법은 다음과 같습니다.

xinput --list
xinput --list| grep "Virtual core pointer"
xinput --list| grep "Virtual core pointer" | awk '{print $5}'
xinput --list| grep "Virtual core pointer" | awk '{print $5}' | cut -d= -f2

따라서 귀하의 대답은 다음과 같습니다.

<some_command> --touch-devices=$(xinput --list| grep "Virtual core pointer" | awk '{print $5}' | cut -d= -f2)  

파이프는 재미있지만 수행해야 하는 작업 awk에만 사용하는 것이 더 좋습니다 .grepcut

<some_command> --touch-devices=$(xinput --list | awk '/Virtual core pointer/ { print(substr($5, 4)); exit; }')

좋은 프로그래밍 연습! 옛날 옛적에 옳았던 숫자를 하드 코딩하는 대신 지금 시스템에서 알려주는 숫자가 사실인지 확인하세요.

관련 정보