我最近开始在 Raspberry Pi 3 上使用运行 OSMC(debian + kodi)的媒体中心。为了控制它,我使用来自不同媒体中心的模拟键盘的遥控器。它在大多数情况下都工作得很好,除了一些按键是不重复的,这意味着它们不支持 kodi 中的长按,因为这是通过 250 毫秒内的按键重复或按该顺序检测到的。
这些键不重复,这是完全有道理的,我们谈论的是电源、静音、播放/暂停和主页,但长按在按钮很少的遥控器上会很好。
作为解决方案,我在想
以某种方式启用这些键的重复。但它必须足够深才能影响 kodi。
将键重新映射到其他东西是重复。 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 文件有什么问题?为什么我找不到最后两个按键的扫描码?我正在尝试的事情是否可能,或者是否有一些更简单的方法来实现我所缺少的?