USB 수신기 연결이 가능한 오래된 적외선 리모컨을 찾았습니다. 내 Linux 컴퓨터(Mint LMDE 커널 3.2.0-4-amd64)에 연결했습니다. lsusb
"Zydacron HID 원격 제어"로 식별됩니다 .
작동합니다...거의...볼륨을 변경하고, 미디어 플레이어를 시작/중지하고, 재생 목록에서 트랙을 선택할 수 있습니다.
그러나 일부 키는 응답하지 않는 것 같습니다(구성되지 않음).
- 모든 키를 구성하는 방법은 무엇입니까?
- "lirc"를 설치해야 합니까?
답변1
그래서 저는 LIRC(IMHO)가 없는 "더 나은" 솔루션을 찾았기 때문에 이 문제로 다시 돌아와야 합니다!
제가 말했듯이 USB 수신기를 처음 연결했을 때 추가 소프트웨어나 구성 없이도 리모컨의 거의 모든 버튼이 작동했습니다.
(여기뿐만 아니라) 다양한 제안에 따라 제가 가장 많이 사용하는 소프트웨어에 대해 찾은 LIRC와 플러그인을 설치했습니다.
약간의 어려움 끝에 컴퓨터가 스캔 코드를 수신하고 번역되면서 LIRC를 구성했습니다. 그 후 "Totem"을 시작하고 LIRC 플러그인을 활성화했지만... 아무것도 작동하지 않았습니다! :-( 이전에 작동했던 키조차 아닙니다.
Banshee나 VLC도 마찬가지입니다!
그러나 앱을 닫거나 LIRC 플러그인을 비활성화하면 키가 다시 작동하고 볼륨을 설정하고 mp3 또는 비디오 등을 시작, 중지 및 일시 중지할 수 있습니다.
내가 이해한 바로는 LIRC가 리모컨을 인식하도록 하는 것만으로는 충분하지 않습니다. 사용하려는 각 프로그램에 대한 구성 파일을 작성해야 합니다...심지어 LIRC 없이 작동하는 키도 마찬가지입니다. 이상하게 들리네요... 모든 플러그인이 허용하는 LIRC 작업을 찾는 것이 매우 어려운 것 같고 일부 소프트웨어(예: Banshee)는 LIRC 섹스 없이 이미 제공하는 것보다 더 많은 가능성을 제공하지 않는다는 사실은 말할 것도 없습니다.
그래서 검색해보니...
우선 2.6.36 커널부터 LIRC 드라이버가 통합되어 있는 것을 확인했습니다.이것이 바로 LIRC를 구성할 때 "devinput" 드라이버를 사용해야 하는 이유입니다.
이번 버전부터 모든 리모컨이 외부 키보드로 인식됩니다! 이는 또한 대부분의 키가 기본적으로 작동하는 이유를 설명합니다. 따라서 키보드이기 때문에 우리가 해야 할 일은 작동하지 않는 키를 다른 코드/작업에 "다시 매핑"하는 것뿐입니다. 아래와 같은 방법:
먼저 "lsusb"를 실행하고 리모컨을 식별하십시오.
Bus 006 Device 002: ID 13ec:0006 Zydacron HID Remote Control
아이디를 적어주셔야 해요13ec:0006, 이것은 유용할 것입니다.
이제 /dev/input/by-id의 내용이 긴 형식으로 표시됩니다.
ls -l /dev/input/by-id/
lrwxrwxrwx 1 root root 10 Apr 15 19:27 usb-13ec_0006-event-kbd -> ../event10
ID 및 이와 관련된 이벤트를 통해 올바른 행을 찾을 수 있습니다! 이제 이 정보를 사용하여 원격에서 읽으려고 합니다.
sudo /lib/udev/keymap -i input/event10
리모컨의 키를 누르면 스캔 코드와 현재 연결된 키 코드가 표시됩니다.
scan code: 0xC00CD key code: playpause
scan code: 0x70028 key code: enter
scan code: 0x7002A key code: backspace
scan code: 0x7001E key code: 1
scan code: 0x70022 key code: 5
일부 키는 창 관리자(내 경우에는 Gnome3)에서 인식되지 않는 키코드를 반환할 수 있습니다. 또는 키코드가 올바르지 않습니다. 내 경우에는 키 번호를 키보드(벨기에 키보드)에 다시 매핑하고 특수 키(오디오, 비디오, DVD...)를 일부 사용되지 않는 기능 키에 다시 매핑해야 했습니다.
이제 키맵 파일을 작성하겠습니다. 어떤 이름이든 사용할 수 있습니다. 제 경우에는 "zydacron"이라고 명명했습니다.
sudo vi /lib/udev/keymaps/zydacron
이 폴더에는 이미 여러 개의 파일이 있습니다. 형식은 매우 간단합니다.
<scan code> <keycode> <# comment eventually>
예:
0x70027 kp0
0x7001E kp1
0x7001F kp2
0xC0047 f13 # music
0xC0049 f14 # photo
0xC004A f15 # video
0xC00CD playpause # Play/Pause
다시 매핑해야 하는 키만 배치할 수 있습니다! 이 페이지에서 찾을 수 있습니다모든 키 코드의 공식 목록. 다시 말하지만, 이는 창 관리자가 이 목록의 모든 키 코드를 지원한다는 의미는 아니며 확실히 알기 위해 테스트해야 합니다.
파일이 완성되면 다음 명령을 사용하여 테스트할 수 있습니다.
sudo /lib/udev/keymap input/event10 /lib/udev/keymaps/zydacron
문제가 해결되지 않으면 다른 키코드를 시도해야 합니다. 그런 다음 매핑을 다시 실행하세요.
모든 일이 뜻대로 되면 우리는 그것을 영구적으로 만들 것입니다. /lib/udev/rules.d/95-keymap.rules 파일을 편집합니다.
sudo vi /lib/udev/rules.d/95-keymap.rules
파일에 넣은 후tag="keyboard_usbcheck"하지만 전에GOTO="키보드 끝"다음 줄을 추가합니다.
ENV{ID_VENDOR_ID}=="13ec", ENV{ID_MODEL_ID}=="0006", RUN+="keymap $name zydacron"
다음에서 찾은 ID의 두 부분으로 공급업체 ID와 모델 ID를 식별할 수 있습니다.LSSB, 그리고 내 파일 이름. 자신의 값으로 조정하세요.
udev 프로세스를 다시 시작합니다.
sudo service udev restart
(또는 컴퓨터를 다시 시작하면) 작업이 완료됩니다.
이제 수신기를 연결할 때마다 어떤 USB 포트가 켜져 있는지, 시스템에서 제공하는 이벤트 번호에 관계없이 매핑이 자동으로 수행됩니다.
팁: 한 키는 "tab"에, 다른 키는 "F10"에 매핑했습니다. 이는 Banshee에서 하위 창을 "점프"하고 메인 메뉴를 여는 데 매우 유용합니다.
답변2
꼭 설치해보겠습니다좋다. 지원되는 리모컨 목록을 찾아볼 수 있습니다.여기. 리모컨이 직접 지원되지 않더라도 모든 것이 손실되는 것은 아닙니다.
여기에서 리모컨을 찾을 수 없다면 리모컨이 지원되지 않는다는 의미는 아니지만 아직 구성 파일이 없다는 의미입니다. Learning Remote가 지원하는 모든 리모컨(즉, 거의 모든 리모컨)은 LIRC에서도 작동해야 합니다. 새 리모컨을 추가하는 경우 구성 파일을 보내주세요.
나는 이전에 이것을 해본 적이 있으며 대부분의 리모콘은 lirc와 함께 작동합니다. 모든 키가 제대로 작동하도록 구성 파일을 조정하기만 하면 됩니다. 매우 간단합니다. 살펴보세요더 많은 정보를 얻으세요.