
나는 두 개의 HP 리모콘을 가지고 있는데, 하나는 TV 튜너와 미디어 센터를 위한 거대한 리모콘이고, 다른 하나는 단지 미디어 센터를 제어하기 위한 작은 리모콘입니다.
LIRC를 사용하여 Ubuntu(11.04)에서 작동하도록 할 수 있습니까? 버튼 중 하나를 사용하여 화면을 끌 수 있으므로 그 중 적어도 하나가 인식된다는 것을 알고 있습니다.
완전한 지원을 받으려면 무엇이 필요합니까? (노트북은 HP DV7 1020us이지만 이 시기의 거의 모든 HP 노트북에는 리모컨이 있습니다.)
답변1
LIRC가 리모컨을 지원하는 두 가지 주요 방법이 있습니다.
하나는 일반 IR 수신기를 통한 것입니다. 이를 "훈련"하여 구성 파일을 얻거나 다운로드할 수 있습니다. 여기에는 각 버튼의 펄스 타이밍이 나열되어 있습니다.
다른 방법은 이벤트 장치를 이용하는 것입니다. 이는 이미 시스템에 영향을 미치기 때문에 갖고 있는 리모콘의 메커니즘일 가능성이 높습니다. 이것은 커널이 이 리모컨에 대한 드라이버를 가지고 있고 펄스를 이벤트로 변환하는 곳입니다.
장치는 몇 가지 이상한 키가 있는 추가 키보드로 효과적으로 연결되며 그 중 일부는 X에 바인딩되어 있습니다. LIRC를 사용하여 evdev(이벤트 장치) 모듈을 통해 이러한 장치에 추가 바인딩을 추가할 수 있습니다.
하다
lsmod | grep evdev
그리고 evdev 모듈이 로드되었는지 확인하세요. 이는 종종 이러한 원격 수신기 중 하나에 대한 응답입니다. 이러한 모듈의 커널 드라이버는 일반적으로 이벤트를 표준 키 코드 세트에 매핑합니다. 일부 키는 일반적인 키맵에 있을 수도 있습니다. 제가 가지고 있는 리모컨은 숫자, Enter 등에 대한 올바른 키코드를 생성하며 다른 HID 키보드처럼 응용 프로그램에 키를 입력하는 것을 볼 수 있습니다.
리모컨이 어떤 /dev/input/eventN 장치인지 알아보세요. 출력을 살펴보세요 dmesg
. 예/g/
dmesg | grep event
그런 다음 LIRC 디버그 도구 중 하나인 irw를 실행합니다.
irw /dev/input/eventN
# 가리키고 쏘면 버튼 식별자 목록이 생성되어야 합니다. 이 작업이 완료되면 ...
여기에서 특정 버튼 누름을 수신하고 다른 키를 애플리케이션에 보내도록 LIRC를 구성할 수 있습니다. MythTV에 대한 혼합 설정이 있습니다. 버튼 중 일부는 어쨌든 원하는 값입니다(OK == ENTER, 0-9 등). 그 중 일부는 LIRC에서 다시 매핑합니다(삭제의 경우 STOP == d).