机顶盒匹配遥控器
一. 安卓6/7,遥控器配置文件在 /system/etc/remote.conf
ssh到机顶盒,准备修改 remote.conf 文件
- 设置厂家代码
机顶盒终端执行 dmesg -c
遥控器按任意键
再执行一遍 dmesg -c 得到”wrong custom code is 0x12345678″
其中后四位5678即厂家代码,修改为
factory_code=0x56780001 - 保存remote.conf文件,执行 remotecfg remote.cfg
遥控器俺任意键,执行 dmesg -c 如果得到类似”remote: scancode is 0x0043,invalid key is 0x00434040″
表示厂家设置成功 - 设置键映射,在文件的 key_begin 和 key_end 之间
遥控器上按 电源键,执行 dmesg -c 得到”remote: scancode is 0x0043,invalid key is 0x00434040″
其中 43 即电源键代码,修改为
0x43 116 #Power (0x43是需修改的项;116是linux的电源键代码,无需修改;#后面是说明)
重复本步骤,将遥控器上所有的键都修改一遍 - 设置鼠标键
按遥控器*键,执行 dmesg -c 得到的代码替换 fn_key_scancode 一行
再根据前面keycode,修改上、下、左、右、确定键代码fn_key_scancode = 0x99 #MOUSE
left_key_scancode = 0x25 #LEFT
right_key_scancode = 0x27 #RIGHT
up_key_scancode = 0x26 #UP
down_key_scancode = 0x28 #DOWN
ok_key_scancode = 0x0d #OK
mouse_begin
0 0x25 #LEFT
1 0x27 #RIGHT
2 0x26 #UP
3 0x28 #DOWN
mouse_end - 设置重复键
将需要设置的重复键代码(例如上、下、左、右),从前面的代码复制到 repeat_key_begin 和 repeat_key_end 之间 - 如果机顶盒是晶晨(Amlogic)芯片,可以同时设置两个遥控器,保留remote.conf不变,将第二个遥控器保存为remotesecond.conf
并在机顶盒启动时,执行命令: remotecfg remotesecond.conf
Android启动自动执行脚本的几种方式:
(1) 添加到文件 /system/bin/install-recovery.sh
(2) 添加到目录 /system/etc/init.d/
(3) 添加到文件 /data/init.sh
(4) 如果有magisk,添加到 /sbin/.magisk/img/.core/service.d 或 /sbin/.magisk/img/.core/post-fs-data.d
以上方法只需其中之一即可
二. 安卓4.4,遥控器配置文件在 /system/etc/key.xml
1. key.xml文件可以映射四组不同的遥控器,选择其中一组子项来修改键值,无需写入厂家代码。
<other-key> <key value="0x6a951104" name="KEY_F10" /> <!--key FactoryTest--> <key value="0xe51aee11" name="KEY_F11" /> <key value="0xf40b4040" name="KEY_UP" /> <!--key up--> <key value="0xf10e4040" name="KEY_DOWN" /> <!--key down--> <key value="0xee114040" name="KEY_RIGHT" /> <!--key right--> <key value="0xef104040" name="KEY_LEFT" /> <!--key left --> <key value="0xf20d4040" name="KEY_ENTER" /> <!--key ok --> <key value="0xbd424040" name="KEY_BACK" /> <!--Back --> <key value="0xba454040" name="KEY_MENU" /> <!-- --> ... </other-key>
2. 从方法一第3步获得遥控器的各个键值,比如按方向“上”键,dmesg -c 得到信息是:”remote: scancode is 0x0043,invalid key is 0xf40b4040″,那么修改 KEY_UP 的 value=”0xf40b4040″
3. 不要删除子项(比如)中遥控器没有的键值,如果是在电脑上修改key.xml,注意修改后的文件权限要与原文件一致。