리눅스2023. 9. 19. 08:54

 

반달가면 이글루에서 백업 - 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"

728x90
Posted by 반달가면