USB 카메라의 스냅샷 버튼을 눌렀을 때를 감지하려고 합니다.
제가 카메라에 관해 수집한 정보는 다음과 같습니다 cat /proc/bus/input/devices
.
I: Bus=0003 Vendor=0c45 Product=6353 Version=0150
N: Name="USB Microscope"
P: Phys=usb-3f980000.usb-1.3/button
S: Sysfs=/devices/platform/soc/3f980000.usb/usb1/1-1/1-1.3/1-1.3:1.0/input/input14
U: Uniq=
H: Handlers=kbd event0
B: PROP=0
B: EV=3
B: KEY=100000 0 0 0 0 0 0
평소와 마찬가지로 내 특정 모델에 대한 문서나 식별 정보가 없습니다. :)
Listen /dev/input/event0 을 사용해 보았지만 cat /dev/input/event0
마우스나 키보드와 달리 아무런 결과도 볼 수 없었습니다. 나는 또한 이 핸들러를 듣기 위해 Python 모듈 evdev를 사용해 보았지만 성공하지 못했습니다...
이 사건에 대한 단서가 있는 사람이 있나요?
답변1
명시적으로 언급된 경우 input14
(특정 출시 후 구성에서 번호가 변경될 수 있음) 물론 event0
아무것도 표시되지 않습니다.
1) evtest
루트로 실행하고 설명을 보고 들어봄으로써 어떤 장치인지 알아낼 수 있는지 확인합니다(내 USB 웹캠이 생성함 KEY_CAMERA
).
2) 실행하고 xev
커서를 창으로 이동하여 이벤트가 나타나는지 확인합니다(내 USB 웹캠이 나타남 XF86WebCam
).
luvcview
3) 이벤트를 생성하려면 카메라를 활성화하기 위해 또는 이와 유사한 프로그램을 사용해야 할 수도 있습니다 .
4) 입력 계층 인터페이스를 사용하기로 결정한 경우 항목을 살펴보고 /dev/input/by-id
항목이 없으면 부팅 프로세스 전반에 걸쳐 지속되도록 보장되는 장치에 대한 심볼릭 링크를 /dev/input/by-path
살펴보세요 .event*
답변2
vlc(또는 이와 유사한 것)를 실행하고 웹캠 비디오 장치에서 비디오 캡처를 시작하십시오. 그것이 없으면 버튼에서 evtest 및 xev에 대한 이벤트를 볼 수 없습니다.