分享

数码视讯Q5

 rUNoUT 2020-04-26

本教程适用于Sx05RE和CoreELEC

自从知道有一种超便宜的S905盒子,可以随便刷Linux、安卓,可以作为下载机、游戏机、高清播放器等,便立即花了几十元从咸鱼入手一台二手的二手,开始折腾。

S905盒子有很多版本,我这个是中国移动不知道哪个省的,数码视讯Q5,就是下面这个样子:


Q5Box.jpg

参考数码视讯Q5-Sx05RE系统初试这篇文章,刷了Sx05RE 2.2.1。游戏功能没什么太大问题,不过其实我更常用的是Kodi。然而盒子的遥控器无法操作Kodi界面,很不爽。经过一番搜索,参考这篇帖子完成了Kodi中遥控器的设置,现在终于可以单手遥控器躺沙发上舒服看电影了。

所有操作都是通过SSH进行的,下面说一下详细过程。

  1. SSH登录上去,停掉一个跟遥控有关的服务。Kodi可以不用停。
systemctl stop eventlircd
  1. 记录遥控器的键码

执行命令:

ir-keytable -t

执行后系统会等待你按键,按Ctrl+C退出。拿起遥控器,对着盒子逐个按下按键,每按一下控制台就会显示一些信息,你需要记录下你按的键和SSH控制台上显示的scancode。控制台大概是这个样子:

Testing events. Please, press CTRL-C to abort.
561.858906: event type EV_MSC(0x04): scancode = 0x48770e
561.858906: event type EV_SYN(0x00).
562.498391: event type EV_MSC(0x04): scancode = 0x48771e
562.498391: event type EV_SYN(0x00).
563.114650: event type EV_MSC(0x04): scancode = 0x48774c
563.114650: event type EV_SYN(0x00).
565.104314: event type EV_MSC(0x04): scancode = 0x487744
565.104314: event type EV_SYN(0x00).

最终,记录下这样的列表(仅是记录,用纸笔也可以的!):

上:0x487700
下:0x487701
左:0x487703
右:0x487702
OK:0x48771f
菜单:0x487707
主页:0x487705
返回:0x48771c
设置:0x48770f
音量+:0x487706
音量-:0x48770b
静音:0x48770c
0:0x487710
1:0x487711
2:0x487712
3:0x487713
4:0x487714
5:0x487715
6:0x487716
7:0x487717
8:0x487718
9:0x487719
小数点:0x48771d
删除:0x487720
电源:0x48770a
红:0x48770e
绿:0x48771e
黄:0x48774c
蓝:0x487744
# 下面是遥控器上电视机按键区的按钮
TV/AV:0x4877f2
TV电源:0x4877f1
TV音量+:0x4877f4
TV音量-:0x4877f3
  1. 制作遥控器按键与Kodi功能的映射文件

Kodi支持的功能键列表,可以在这里查到:https://github.com/tirithen/xbmc/blob/master/xbmc/platform/linux/input/LinuxInputDevices.cpp#L126
按你自己喜好来设计遥控器按键与Kodi功能键的对应关系,把上面记录的按键编码与Kodi的功能键名一一映射,按照后面给出的格式写好。

如果你是在Windows中编辑,要特别注意字符编码应使用UTF-8,换行应使用Unix的LF模式,而不是Windows下的CRLF,否则后面加载时会报错。编码和换行模式都可以在编辑器中切换选择。下图是Notepad++编辑器中的正确状态:
文件格式.jpg

下面是我最后编辑好的映射文件,除了遥控器最下面的彩色按钮和电视机按键区的音量按钮,其他按键都用上了,停止播放用的是电视机电源键,播放/暂停用的是电视机TV/AV键。注意最上面一行看上去是注释,但实际上后面的type: NEC是通讯协议名称,不能改,否则后面步骤会报错。

# table Q5, type: NEC
0x48770a   KEY_POWER

0x487700   KEY_UP
0x487703   KEY_LEFT
0x487702   KEY_RIGHT
0x487701   KEY_DOWN

0x487711   KEY_1
0x487712   KEY_2
0x487713   KEY_3
0x487714   KEY_4
0x487715   KEY_5
0x487716   KEY_6
0x487717   KEY_7
0x487718   KEY_8
0x487719   KEY_9
0x487710   KEY_0
0x48771d   KEY_DOT
0x487720   KEY_BACKSPACE

0x487705   KEY_HOME        #主页
0x487707   KEY_CONTEXT_MENU #菜单
0x48771f   KEY_ENTER      #选中
0x48771c   KEY_ESC       #返回
0x48770f   KEY_CONFIG   #设置

0x4877f1   KEY_STOP       #电视按键区的电源键
0x4877f2   KEY_PLAYPAUSE  #电视按键区的TV/AV键
0x48770b   KEY_VOLUMEDOWN #音量-
0x487706   KEY_VOLUMEUP   #音量+
0x48770c   KEY_MUTE   #静音

编辑完后,把文件保存到/storage/.config/rc_keymaps/文件夹下,随便用什么文件名,比如我用的是"Q5"。

如果不习惯Linux编辑器,也可以在Windows电脑上,通过网络路径直接进行文件编辑。/storage/.config/rc_keymaps/对应的网络路径是盒子IP地址\\Configfiles\rc_keymaps\

  1. 登记映射文件

/storage/.config/下的rc_maps.cfg.sample复制改名成rc_maps.cfg,打开,在最下面加入一行:
meson-ir * Q5
后面的Q5就是上一步保存的映射定义文件名,换成你自己的。
这个文件最后是这个样子:

# Keymaps table
#
# This table creates an association between a keycode file and a kernel
# driver. It can be used to automatically override a keycode definition.
#
#
# Format:
#       driver - name of the driver provided via uevent - use * for any driver
#       table -  RC keymap table, provided via uevent - use * for any table
#       file - file name. If directory is not specified, it is first looked up
#               in /storage/.config/rc_keymaps, then /usr/lib/udev/rc_keymaps
#
# For example:
#
# driver        table           file
#
# gpio-rc-recv  rc-streamzap    streamzap
# gpio-rc-recv  *               justboom
# *             rc-rc6-mce      rc6_mce_new
# *             *               hauppauge_new
meson-ir        *     Q5
  1. 加载映射文件

现在,所有的配置都完成了,我们赶快试试吧。
先执行下面的命令,加载配置文件:

ir-keytable -a /storage/.config/rc_maps.cfg -s rc0

然后,启动在第一步停掉的遥控器服务。

systemctl start eventlircd

现在,用遥控器试试操作Kodi,看看是不是如你所愿!如果有什么按键不满意,就重新编辑映射文件并加载,可以立即生效并测试。这个过程不需要停止遥控器服务。

  1. 微调遥控器按键灵敏度等(非必须)

如果对遥控器灵敏度等不满意,可以使用下面的命令进行微调。不过我调来调去都不是很完美,可能盒子的性能不太行?

ir-ctl -t 50000 # 按键识别延时(纳秒),越小反应越快,但太小有可能导致按键事件不被识别。
ir-keytable -D 375 -P 100 #按下多久后开始重复以及重复间隔时间,毫秒

后记

后来我发现其实用别的随便什么设备的红外遥控器,都能按照上述步骤进行配置,所以,如果你有闲置的更顺手的多媒体遥控器,可以拿来废物利用哦!

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约