美文网首页
数码视讯Q5-Sx05RE之Kodi红外遥控器配置

数码视讯Q5-Sx05RE之Kodi红外遥控器配置

作者: 重案组知乎 | 来源:发表于2019-02-23 21:24 被阅读34次

    本教程适用于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,否则后面加载时会报错。

    下面是我最后编辑好的映射文件,除了遥控器最下面的彩色按钮和电视机按键区的音量按钮,其他按键都用上了,停止播放用的是电视机电源键,播放/暂停用的是电视机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 #按下多久后开始重复以及重复间隔时间,毫秒
    

    后记

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

    相关文章

      网友评论

          本文标题:数码视讯Q5-Sx05RE之Kodi红外遥控器配置

          本文链接:https://www.haomeiwen.com/subject/hqbyyqtx.html