가장 먼저해야 할 일은 마우스를 끄는 것인데 X에서만 가능합니다 xinput
. 이를 위해 우리는를 사용할 수 있습니다 .
컴퓨터 (X 서버)에 연결된 입력 장치를 검색해야합니다.
pbm@tauri ~ $ xinput list
⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ A4Tech USB Mouse id=10 [slave pointer (2)]
⎜ ↳ Macintosh mouse button emulation id=11 [slave pointer (2)]
⎣ Virtual core keyboard id=3 [master keyboard (2)]
[...]
우리가 사용해야하는 기기는 A4Tech USB Mouse
입니다 id=10
. 다음으로 해당 장치의 속성을 확인해야합니다.
pbm@tauri ~ $ xinput list-props "A4Tech USB Mouse"
Device 'A4Tech USB Mouse':
Device Enabled (121): 1
[....]
장치를 끄려면 속성을 변경해야합니다 Device Enabled
.
xinput set-prop DEV PROP STATE
xinput set-prop "A4Tech USB Mouse" "Device Enabled" 0
켜려면 :
xinput set-prop "A4Tech USB Mouse" "Device Enabled" 1
다음은 자동으로 수행하는 것입니다 ...;)이 예제에서는 키보드 단축키로 마우스를 비활성화하고 마우스 왼쪽 + 오른쪽 버튼을 눌러 활성화합니다.
이를 위해 X 서버 외부에서 작동하는 바로 가기 데몬 인 actkbd를 사용할 수 있습니다 .
먼저 actkbd에 대한 빈 구성 파일을 만들어야 touch /etc/actkbd.conf
합니다. 다음은 컴퓨터에 연결된 장치를 발견하는 것입니다.
pbm@tauri ~ $ cat /proc/bus/input/devices
I: Bus=0003 Vendor=046d Product=c312 Version=0110
N: Name="BTC USB Multimedia Keyboard"
P: Phys=usb-0000:00:1d.0-1.6/input0
S: Sysfs=/devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.6/2-1.6:1.0/input/input6
U: Uniq=
H: Handlers=kbd event3
B: EV=120013
B: KEY=1000000000007 ff9f207ac14057ff febeffdfffefffff fffffffffffffffe
B: MSC=10
B: LED=7
I: Bus=0003 Vendor=09da Product=000a Version=0110
N: Name="A4Tech USB Mouse"
P: Phys=usb-0000:00:1d.0-1.5/input0
S: Sysfs=/devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.5/2-1.5:1.0/input/input8
U: Uniq=
H: Handlers=mouse1 event5
B: EV=17
B: KEY=ff0000 0 0 0 0
B: REL=343
B: MSC=10
[...]
이 부분에서 가장 흥미로운 것은 키보드와 마우스 장치의 이름과 핸들러입니다.
먼저 키보드 단축키로 마우스 끄기를 처리하므로 키 ID를 찾아야합니다.
pbm@tauri ~ $ sudo actkbd -s -d /dev/input/event3
Keys: 29+41+42 //we need to press keys that will turn off mouse, 29+41+42 is Ctrl + Shift + `
키 ID가 무엇인지 알면 구성 파일 ( /etc/actkbd.conf
)에 키 ID를 넣어야합니다 .
29+41+42:::sudo -u pbm DISPLAY=:0 xinput set-prop "A4Tech USB Mouse" "Device Enabled" 0
테스트하려면 actkbd
데몬 모드에서 실행해야 합니다.
pbm@tauri ~ $ sudo actkbd -d /dev/input/event3 -D
같은 방식으로 "켜기"이벤트를 처리해야합니다.
- 마우스 장치의 핸들러 확인
- 마우스 왼쪽 버튼으로 키 코드 확인
actkbd
- 그것을 넣어
actkbd.conf
- actkbd 데몬을 실행하여 마우스 입력 장치를 모니터링
실행중인 데몬은 환경에서 init 스크립트 또는 자동 실행 스크립트로 실현 될 수 있습니다.
마우스를 자동으로 끄려면 입력 장치 ( cat /dev/input/event5
)를 모니터링하고 입력 이 없을 때 장치 를 끌 수 있습니다 ...
나는 짧은 소개가 당신을 도울 수 있기를 바랍니다 ...;)
actkbd
! 내 질문을 게시 한 후 이미을 사용하기xinput
로 결정했지만 마우스 버튼을 눌러 마우스를 다시 활성화하는 방법을 찾지 못했습니다.