스페인어 QWERTY 키보드가 있는 Ubuntu 20 LTS 노트북이 있습니다. 코딩하는 동안 백틱 및 기타 특수 문자를 쉽게 찾을 수 있도록 외부 USB 키보드를 추가로 구입했습니다.
외부 키보드가 연결되면 기본 키보드가 비활성화되도록 만들고(키를 눌러 원치 않는 입력이 발생하지 않도록 상단에 배치할 수 있도록) 외부 키보드 연결이 끊어지면 메인이 다시 활성화됩니다.
나는 데몬으로 실행하고 외부 키보드가 연결되어 있는지 확인하기 위해 폴링하는 스크립트를 생각해 냈습니다.
#!/bin/bash
while true; do
if [ $(xinput -list | grep "SEM USB Keyboard" | wc -l) -gt 0 ]; then
echo "External keyboard found"
xinput --disable "AT Translated Set 2 keyboard"
echo "Main keyboard disabled"
else
echo "External keyboard NOT found"
xinput --enable "AT Translated Set 2 keyboard"
echo "Main keyboard enabled"
fi
echo "Waiting..."
sleep 5
done
여기에 두 가지 질문이 있습니다.
- 스크립트는 포그라운드에서 실행될 때 완벽하게 작동하지만 백그라운드에서 실행될 때는 다음과 같습니다.
setsid kb-disabler-daemon.sh >/dev/null 2>&1 < /dev/null &
그런 다음 외부 키보드 연결이 끊어지면 기본 키보드를 다시 활성화하지 못합니다. 내가 도대체 뭘 잘못하고있는 겁니까?
- 이를 수행하는 더 간단한 방법이 있습니까? 어쩌면 이 작업을 수행할 유틸리티 앱이나 일종의 구성이 있을까요?