Featured image of post 为Kodi适配遥控器

为Kodi适配遥控器

本文为《PVE安装Kodi》系列文章的一部分。

前言

虽然安装好Kodi后,可以在手机上使用Yatse、Kore等软件来遥控Kodi(当然这需要在Kodi设置中启用“允许通过 HTTP 远程控制”),但家人、朋友怎么办,难道为每个人都装一下?所以还是需要有一个实体遥控器来控制Kodi。

注意事项

如果没有打开Kodi,遥控器的电源键按下会关闭PVE系统,推荐适配遥控器之后按照《像使用盒子/LibreELEC一样使用PVE直装的Kodi,实现遥控器启停》一文进行按键劫持,并可以实现遥控器来启动/关闭Kodi。

适配遥控器

当然主要有两种方式(另外还有红外遥控器,这个不好用,就不写了),一是2.4G无线遥控器,一是蓝牙遥控器,经过本人踩坑,我更推荐2.4G无线遥控器2023年8月补充说明:Linux内核支持关闭USB设备进入suspend状态的功能,也可以实现蓝牙遥控器永不断连)。总得说来,二者都可以非常舒服地使用,对比如下:

  • 蓝牙遥控器即使设置好了永远保持连接,但毕竟需要蓝牙适配器和蓝牙遥控器两个配合,事实上在我的环境中5分钟左右遥控器没有动作二者就失联了,总是需要多按几次遥控器才会有反应。2.4G无线遥控器自带接收器,不存在断连问题。

  • 2.4G无线飞鼠遥控器点出鼠标。

  • 2.4G飞鼠遥控器成本25块左右,而蓝牙适配器加蓝牙遥控器加起来要50块左右,前者更划算一点。

  • 蓝牙可以连接多个设备,而2.4G无线遥控器和接收器就只能一对一。

  • 蓝牙设备可以设置永不断连,但似乎不能劫持电源键,2.4G无线遥控器可以正常劫持。

无线遥控器

谈不上适配,如果是直接在PVE中安装Kodi,插上USB接收器就能用了。如果是直通显卡和声卡给 LibreELEC/CoreELEC 虚拟机的话,就设置下USB接口直通。其他方式安装的Kodi/LibreELEC/CoreELEC,只要该系统能访问USB接口,就可以用这种方式。

购买关键词:遥控器 2.4G 飞鼠 空中鼠标 空中键鼠 Air Mouse 键鼠,注意要自带接收器的。

蓝牙遥控器

注:我购买的是胜为蓝牙适配器5.0和小米蓝牙语音遥控器这两样东西。但我现在不推荐用这种方式,除非你需要连接多个蓝牙设备才考虑。(2023年8月补充说明:Linux内核支持关闭USB设备进入suspend状态的功能,也可以实现蓝牙遥控器永不断连。)

以下为蓝牙遥控器适配流程:

以下相关命令均为root用户执行的。 如果需要新建文件,请直接在Linux环境中使用nano XXXX创建,请不要在Windows环境中创建后再上传。

  1. 在USB接口上插入蓝牙适配器,可以在PVE打开的情况下插入。插入后可以命令检测一下:

    1
    2
    
    lsusb | grep bluetooth -i
    Bus 003 Device 003: ID 0a12:0001 Cambridge Silicon Radio, Ltd Bluetooth Dongle (HCI mode)
    
  2. 安装蓝牙管理器:

    1
    
    apt install -y bluetooth
    
  3. 适配遥控器,请自行将以下的mac地址更改你的设备的mac地址:

     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    
    ## 进入蓝牙管理器
    $ bluetoothctl
    [NEW] Controller 00:10:20:30:40:50 hostname [default]
    
    ## 设置agent
    [bluetooth]# default-agent
    Default agent request successful
    
    ## 开启蓝牙适配器
    [bluetooth]# power on
    Changing power on succeeded
    [CHG] Controller 00:10:20:30:40:50 Powered: yes
    
    ## 使蓝牙遥控器进入待配对状态,比如我购买的小米蓝牙语音遥控器是同时按住遥控器上的主页键和菜单键不放,其他遥控器根据其说明操作
    ## 然后再让蓝牙适配器开始扫描,要配对好后再松开遥控器
    [bluetooth]# scan on
    Discovery started
    [CHG] Controller 00:10:20:30:40:50 Discovering: yes
    [NEW] Device 00:12:34:56:78:90 device name
    [CHG] Device 00:12:34:56:78:90 LegacyPairing: yes
    
    ## 扫描到你的蓝牙遥控器后,开始配对,配对完成就可以松开遥控器了
    [bluetooth]# pair 00:12:34:56:78:90
    Attempting to pair with 00:12:34:56:78:90
    [CHG] Device 00:12:34:56:78:90 Connected: yes
    [CHG] Device 00:12:34:56:78:90 Paired: yes
    Pairing successful
    
    ## 配对并连接成功后提示符会变成这样
    [小米蓝牙语音遥控器]# 
    
    ## 可以信任该遥控器
    [小米蓝牙语音遥控器]# trust 00:12:34:56:78:90
    
    # 如想了解更多信息,请自行查看帮助
    [小米蓝牙语音遥控器]# help
    
    ## 退出蓝牙管理器
    [小米蓝牙语音遥控器]# exit
    
  4. ~~让遥控器一直保持连接不断开,修改/etc/bluetooth/main.conf,找到对应的行取消注释并修改为以下内容:~~让遥控器不断连,实际上是不让USB设备进入suspend状态(遥控器并没有真正的断开蓝牙适配器),首先修改/etc/bluetooth/input.conf,设置IdleTimeout0

    1
    2
    
    [General]
    IdleTimeout=0
    

    然后根据内核帮助文档 Power Management for USB,修改Linux启动参数。

    • 方式一,重启后生效。修改内核启动参数,如果是传统方式安装的PVE/Linux,修改/etc/default/grubGRUB_CMDLINE_LINUX_DEFAULT行,如果是ZFS安装的PVE/Linux,修改/etc/kernel/cmdlineroot行,增加一个参数usbcore.autosuspend=-1,然后运行下列命令更新内核:
    1
    
    update-grub && update-initramfs -u -k all
    
    • 方式二,重启后生效。新建/etc/modprobe.d/disable_usbcore_autosuspend.conf,内容如下:
    1
    
    options usbcore autosuspend=-1
    
    • 方式三,仅本次启动有效,并且需要在运行下面命令之后插入的设备才会生效。
    1
    
    echo -1 >/sys/module/usbcore/parameters/autosuspend
    

    上述修改是禁用所有USB设备自动挂起(毕竟是服务器,不需要挂起),但如果你确实需要针对某些设备保留自动挂起,而只针对遥控器禁用自动挂起,请参考 USB自动挂起 进行针对性的设置。

在这里也简单的提一下 LibreELEC/CoreELEC 如何适配蓝牙遥控器,安装好适配器后,进入LibreELEC/CoreELEC系统设置菜单的蓝牙子菜单后,根据遥控器说明书使遥控器进入待配对状态,然后在LibreELEC/CoreELEC中开始扫描,扫描到后点击配对即可。

红外遥控器

不好用,教程就不写了。

再次提醒

如果没有打开Kodi,遥控器的电源键按下会关闭PVE系统,推荐适配遥控器之后按照《像使用盒子/LibreELEC一样使用PVE直装的Kodi,实现遥控器启停》一文进行按键劫持,并可以实现遥控器来启动/关闭Kodi。

Built with Hugo
主题 StackJimmy 设计