터치패드를 비활성화하고 바로가기에 바인딩하는 간단한 스크립트를 만들었습니다.
enabled=true
if enabled
then
xinput -disable "TouchPad" enabled=false
else
xinput -enable "TouchPad" enabled=true
외부에서 변수를 활성화하려면 어떻게 해야 합니까? 아니면 변수를 생성하고 다른 스크립트에서 액세스하려면 어떻게 해야 합니까?
답변1
나는 그것을 할 것이다:
#! /bin/sh -
device=TouchPad
if
LC_ALL=C xinput list-props "$device" |
grep -q 'Device Enabled.*1$'
then
xinput disable "$device"
else
xinput enable "$device"
fi
즉, 별도의 정보를 유지하는 대신 장치가 실제로 활성화 또는 비활성화되었는지 확인하십시오.바꾸다조만간 이는 현실과 동기화되지 않게 될 것이므로 동시 액세스를 방지하기 위해 독점적인 잠금 메커니즘을 마련해야 합니다. 저것바꾸다현재 X 서버 호출과 연결되어야 합니다(루트 창에 표시된 속성을 사용할 수 있음).
설명: xinput list-props "$device"
장치의 속성(영어 포함 LC_ALL=C
)을 나열합니다. 그 중 하나는 입니다 Device Enabled
. 다음을 포함하고 끝나는 줄을 grep
찾아 반환합니다 .Device Enabled
1
진짜(0) 발견된 경우 종료 상태(아무 것도 인쇄하지 않음 -q
). 발견되면(장치가 활성화된 경우) 이를 호출하고 xinput disable
, xinput enable
그렇지 않으면 호출합니다.