저는 최근 Raspberry Pi 3에서 OSMC(debian + kodi)를 실행하는 미디어 센터를 사용하기 시작했습니다. 이를 제어하기 위해 다른 미디어 센터의 키보드를 에뮬레이션하는 리모콘을 사용합니다. 일부 키가 반복되지 않는다는 점을 제외하면 대부분 잘 작동합니다. 즉, kodi에서 길게 누르기를 지원하지 않는다는 의미입니다. 이는 250밀리초 또는 그 순서대로 반복되는 키 누름에 의해 감지되기 때문입니다.
키는 중복되지 않으므로 완벽하게 이해됩니다. 전원, 음소거, 재생/일시 중지 및 홈에 대해 이야기하고 있지만 버튼이 거의 없는 리모컨에서는 길게 누르는 것이 좋습니다.
내가 생각했던 해결책으로
어떻게든 이러한 키의 복제를 활성화합니다. 하지만 코디에 영향을 미칠 만큼 깊어야 합니다.
키를 다른 것으로 다시 매핑예반복하다. Kodi는 내부적으로 다시 매핑을 쉽게 처리하므로 사용하지 않은 문자 등이 모두 작동합니다.
지금까지 나는 두 번째 솔루션을 사용했으며 가장 좋은 솔루션은 udev의 hwdb 파일을 사용하는 것 같습니다. 하지만 스캔코드를 생성하는 키는 두 개뿐이고 showkey
두 키 모두 두 개의 키(전원 생성 0x74 0xf4
, 음소거 )를 생성 하므로 약간의 문제가 발생했습니다. 0x71 0xf1
그리고 올바르게 입력하는 방법을 잘 모르겠습니다. hwdb 파일. 지금까지 두 코드를 모두 다운/업으로 처리하는 시도는 다음과 같습니다. 이 중 어느 것도 작동하지 않는 것 같습니다 KEYBOARD_KEY_74f4
.
evdev:input:b0003v2252p0120*
KEYBOARD_KEY_74=y
KEYBOARD_KEY_71=u
다른 키는 키코드를 생성하지만 해당 키를 확인할 때 스캔코드는 생성하지 않습니다. 또 다른 스레드에서 해당 수표를 언급했으며 dmsg
문서화되었습니다.
[ 2804.839920] keyboard: can't emulate rawmode for keycode 164
[ 3319.596577] keyboard: can't emulate rawmode for keycode 172
그러면 키 입력이 작동하고 키코드를 생성하지만 어떻게든 스캔코드가 없습니까?
요약: 내 hwdb 파일에 어떤 문제가 있나요? 마지막 두 키의 스캔 코드를 찾을 수 없는 이유는 무엇입니까? 내가 하려는 일이 가능한 일인가요, 아니면 제가 놓치고 있는 일을 더 쉽게 달성할 수 있는 방법이 있나요?