반달가면 이글루에서 백업 - http://bahndal.egloos.com/647077 (2021.3.22)
xinput을 이용해서 X윈도우 기반의 리눅스 데스크탑 환경(아마도 거의 대부분의 데스크탑 환경)에서 입력장치를 확인하고 활성화/비활성화할 수 있다. 터미널창에서 아래와 같이 작업 가능.
# 입력장치 목록 출력
xinput
활성화는 --enable 옵션, 비활성화는 --disable 옵션을 이용한다. 예시를 가지고 생각해 보자.
xinput
⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ USB Optical Mouse id=10 [slave pointer (2)]
⎜ ↳ ELAN1300:00 04F3:3087 Mouse id=12 [slave pointer (2)]
⎜ ↳ ELAN1300:00 04F3:3087 Touchpad id=13 [slave pointer (2)]
⎣ Virtual core keyboard id=3 [master keyboard (2)]
↳ Virtual core XTEST keyboard id=5 [slave keyboard (3)]
↳ Power Button id=6 [slave keyboard (3)]
↳ Video Bus id=7 [slave keyboard (3)]
↳ Power Button id=8 [slave keyboard (3)]
↳ Sleep Button id=9 [slave keyboard (3)]
↳ USB2.0 HD UVC WebCam: USB2.0 HD id=11 [slave keyboard (3)]
↳ Asus WMI hotkeys id=14 [slave keyboard (3)]
↳ AT Translated Set 2 keyboard id=15 [slave keyboard (3)]
예를 들어 위의 출력 결과에서 USB에 연결한 유선 마우스와 터치패드를 비활성화하려면 --disable 옵션을 적용한다.
# 입력장치 "USB Optical Mouse" 비활성화(--disable)
xinput --disable "USB Optical Mouse"
# 입력장치 "ELAN1300:00 04F3:3087 Touchpad" 비활성화
xinput --disable "ELAN1300:00 04F3:3087 Touchpad"
마우스 입력이 차단될 것이다. 다시 되살리려면 --enable 옵션을 적용.
# 입력장치 "USB Optical Mouse" 활성화(--enable)
xinput --enable "USB Oprical Mouse"
# 입력장치 "ELAN1300:00 04F3:3087 Touchpad" 활성화
xinput --enable "ELAN1300:00 04F3:3087 Touchpad"
마찬가지로 위의 예시에서 입력장치 "AT Translated Set 2 keyboard"를 비활성화해서 키보드 입력을 차단할 수도 있는데, 다시 활성화하기 위한 명령을 입력할 수 없게 되므로 키보드에 대한 비활성화가 필요할 경우에는 스크립트로 만들어 작업이 끝난 후에 활성화하도록 해 주는 것이 좋겠다.
# 키보드 입력 차단
echo "키보드 입력을 차단합니다."
xinput --disable "AT Translated Set 2 keyboard"
# 작업 수행
...
# 키보드 입력 활성화
echo "작업 완료. 키보드 입력을 활성화합니다."
xinput --enable "AT Translated Set 2 keyboard"
'리눅스' 카테고리의 다른 글
ufw - 리눅스용 방화벽 (0) | 2023.09.19 |
---|---|
tmux - 리눅스 터미널창 분할 (0) | 2023.09.19 |
csvtool - 리눅스에서 CSV 파일 처리 (0) | 2023.09.19 |
리눅스에서 명령어로 모니터를 강제로 끄기 (0) | 2023.09.18 |
espeak - 텍스트를 음성으로 변환(text-to-speech, TTS) (1) | 2023.09.18 |