首页 收藏 QQ群
 网站导航
开启辅助访问

QQ登录

只需一步,快速开始

扫一扫,访问微社区

立即注册 找回密码
查看: 187858|回复: 432
[教程]

一个帖子教你如何让所有遥控器都能遥控天猫魔盒

  [复制链接]
发表于 2016-7-4 14:44 | 显示全部楼层 |阅读模式

让所有遥控器都能遥控天猫魔盒,从此,就可以告别看电视时同时用两个遥控器的尴尬,而且天猫魔盒遥控器功能极少,数字键都没有。另一方面,学完本帖,你可以用任何一个遥控器,并且自定义遥控器按键的功能,遥控器坏了也不需要买原装去替代!

需要工具:
游客,如果您要查看本帖隐藏内容请回复

第一,Amlogic的芯片机顶盒通常带有一个38Khz的红外接收器(相当常见的廉价传感器约$1.50)。在晶晨半导体的SOC中具有一个硬件NEC远程协议解码器。晶晨半导体远程软件还可以支持RC5和RC6软件远程协议,但我还没弄清楚。所以你需要个使用NEC远程协议的遥控器。我使用的是普通的红外遥控器。在配置过程中,您将使用以下四个文件或程序:
  1. * dmesg :     获取内核报告的信息
  2. * Remotecfg :     加载/system/etc/remote.conf文件、检测其中的错误
  3. * /system/etc/Remote.conf :     将scancodes与linux的keycodes对应的配置文件
复制代码
默认情况下,原始 Remote.conf 都会启用调试,并且设置为 0xff000001 工厂代码。
如果您将遥控器对准盒子,按几个按钮,然后在盒子终端里运行"busybox dmesg",您应该看到类似于:
  1. [ 5094.377000] Wrong custom code is 0xXXYYZZZZ
复制代码
如果你没有看到类似的信息,说明你的遥控器不是使用NEC协议,再换个遥控器试试。如果你看到,这个代码以0x(十六进制)中断,XX(可能是Checksum),YY(scancode),ZZZZ(设备码)
这样的话,你就可以将factorycode=0xZZZZ0001写到 remote.conf。
在我们修改remote.conf文件之前,需要先将遥控器的各个按键的scancodes记下来
1、运行  demsg -c  清理内核中的信息
2、按顺序按遍遥控器的每个按钮(如果你觉得没按到,你可以多按几次,但一定要按顺序)
3、运行 dmesg | grep "code is 0x" | rev |cut -c 5-6 -c 9-10| rev |uniq >> /sdcard/IRdump.log
然后会在/sdcard/下创建包含scancodes的IRdump.log文件,这些会被用在remote.conf文件中,所以请务必按顺序按下,否则 之后你会搞乱。
下一步就是remote.conf文件了,默认路径是/system/etc/remote.conf。这是安卓init进程默认加载的路径。由于启动时,/system 被默认挂载为只读,所以请先运行下 mount -o remount rw /system  ,然后备份下remote.conf文件 输入  cp /system/etc/remote.conf /system/etc/remote.conf.bak  
现在我们可以编辑remote.conf了,首先将之前获取的 factorycode 填入对应位置 (我的factorycode = 0x9c210001)
第二步 就是删除 key_begin 和 key_end 之间的所有东西 ,然后将IRdump.log内的文件复制进去,
下面开始烦人的操作了,将每个scancode 与 keycode 匹配,格式是:
  1. 0x57 116   #scancode  keycode;
  2. <span style="line-height: 28.8px;">                </span><span style="line-height: 1.8em;">0x5B 60</span><blockquote>                0x0B 121
复制代码
在 scancode  和 keycode 之间只能是空格,不是用tab这其他的字符 不然 之后用 remotecfg 都会报错
amlogic默认的keycode值在/system/usr/keylayout/Vendor_0001_Product_0001.kl文件里,格式是:
<font face="Arial" size="2">
  1. #key  Linux_keycode  android_keycode
复制代码
</font>
keycode 随着 scancode的产生而产生,然后 Linux子系统会根据以上文件的对应关系把android_keycode 传给安卓系统
keycode 很严格,必须将remote.conf 和 Vendor_0001_Product_0001.kl文件匹配一致。
  1. <blockquote>Remote.conf         |   Vendor_0001_Product_0001.kl
复制代码
就是说 当你按下 主页键的时候,它会产生 scancode 0xff 然后你需要到Vendor_0001_Product_0001.kl文件中寻找 home键的keycode  将其填在 scancode后
当然你也可以直接编辑 Vendor_0001_Product_0001.kl ,但是不建议这样做。
修改好了之后,测试你做的remote.conf   运行 remotecfg /system/etc/remote.conf
然后你会看到输出一下东西,接着你可以按键了。。
最后你也可以配置同时支持多个遥控器哦!只需要再增加一个factorycode、 key_begin和key_end部分即可:
  1. # Comcast Universal Remote NEC Code 00899 (Cable)
  2. <blockquote>repeat_enable    = 1
复制代码
由于天猫魔盒的接收器2.4G的而非红外的,所以其他的红外遥控器是无法适配的。我测试了6个遥控器(2.4G的除外),其中只有小米盒子1S的遥控器不能适配,其他均可以,理论上应可以适配市面上绝大部分红外遥控器。写在这里,只为有需要的人提供方便。
关于天猫盒子的代码


修改安卓系统网络电视盒子的遥控器代码需要用到盒子安卓系统的\system\etc\remote.conf 文件(该文件定义遥控代码的值),和\system\usr\keylayout\Vendor_0001_Product_0001.kl文件(该文件定义遥控代码值的使用功能),关于remote.conf文件网上介绍的很多,下面我就Vendor_0001_Product_0001.kl文件给大家讲解一下每个代码代表的什么意思,翻译的不一定对,仅供参考。
例如remote.conf文件中的下面代码:
*************************
#电源休眠
0x40 116
************************
“#电源休眠”是注释,只要前面带“#”系统认为后面的都是注释,不做任何的代码定义使用“0x40”是遥控器的按键的键值,就是与这个功能对应的遥控器的按键键值,最后面的“116”代表的什么意思就要看\system\usr\keylayout\Vendor_0001_Product_0001.kl文件了,下面的表格就是这个文件的详细内容,对应下面的第2列键值序号,对应的功能见第3列“键值功能”,是英文,第4列“中文说明”是我给大家标注的,有很多按键不知道是什么意思,是自己胡诌的,谁知道请回帖告知,我马上修改过来,谢谢
另外很多键值的功能都是一样的,我也不知道他们有什么区别,大家还是自己实验吧,我也不是很懂!

1 返回
2 按键1
3 按键2
4 按键3
5 按键4
6 按键5
7 按键6
8 按键7
9 按键8
10 按键9
11 按键0
12 减号=
13 等于号=
14 删除
15 返回
16 Q
17 W
18 E
19 R
20 T
21 Y
22 U
23 I
24 O
25 P
26 左括号(
27 右括号)
28 回车
30 A
31 S
32 D
33 F
34 G
35 H
36 J
37 K
38 L
39 分号
40 撇号'
42 左边的SHIFT
43 反斜线符号/
44 Z
45 X
46 C
47 V
48 B
49 N
50 M
51 逗号,
52 句号.
53 \
54 右SHIFT
56 左边的ALT
57 空格
58 右按键
60 通知?
61 呼叫?
62 结束呼叫?
70 浏览器
97 光标中心
100 右边的ALT
102 主页
103 光标上
104 音量上
105 光标左
106 光标右
107 结束呼叫?
108 光标下
109 音量下
113 静音
114 音量下
115 音量上
116 电源休眠/唤醒
117 电源关闭
119 媒体播放/暂停
120 媒体快进
121 媒体倒退
122 媒体上一个
123 媒体下一个
125 菜单
127 搜索
128 媒体停止
130 放大
131 缩小
133 TAB切换
139 菜单
140 F10
155 邮件?
158 返回
212 相机?
215 AT
217 搜索
227 推荐?
228 付费?
231 呼叫?
232 光标中心
399 重点?


修改代码时用adb可以方便地从电脑远程操作

天猫魔盒M13开启USB调试进行远程操作的方法
亲测可用,可以数字键换台,一键直达应用

评分

参与人数 2威望 +9 金币 +14 Z币 +1 收起 理由
lywq + 3 + 8 精品文章^_^
人见百态 + 6 + 6 + 1 精品文章^_^

查看全部评分

发表于 2016-7-7 14:53 | 显示全部楼层
正需要啊,感谢楼主无私分享!
回复 支持 0 反对 1

使用道具 举报

发表于 2016-7-4 14:46 | 显示全部楼层
正需要这个,真是难得的好帖   感谢楼主的分享!
回复 支持 反对

使用道具 举报

发表于 2016-7-4 15:03 | 显示全部楼层
sdsadasdasdasdasd
回复 支持 反对

使用道具 举报

发表于 2016-7-4 15:26 | 显示全部楼层
小手一抖,金币拿走。
回复 支持 反对

使用道具 举报

发表于 2016-7-4 15:37 | 显示全部楼层
本帖最后由 luyangp 于 2016-7-4 15:40 编辑

希望楼主再交代清楚一些,看不明白!让菜鸟能看懂,如“在盒子终端里运行"busybox dmesg",如何操作?因为太需要拉。谢谢!
回复 支持 反对

使用道具 举报

发表于 2016-7-5 17:20 | 显示全部楼层
楼主用心了,内容非常精彩。
回复 支持 反对

使用道具 举报

发表于 2016-7-6 15:53 | 显示全部楼层
流弊呀
回复 支持 反对

使用道具 举报

发表于 2016-7-7 16:43 来自ZNDS手机版 | 显示全部楼层
000
回复 支持 反对

使用道具 举报

发表于 2016-7-9 15:31 | 显示全部楼层
楼主用心了,内容非常精彩。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐应用 上一条 /6 下一条

Archiver|新帖|标签|软件|Sitemap|ZNDS智能电视网 ( 浙ICP备14000780号 )

增值电信业务经营许可证:浙B2-20150411 丨 浙公网安备 33010802006145号

浙网文(2016)6491-366号 | GMT+8, 2018-6-23 12:23 , Processed in 0.066857 second(s), 19 queries , MemCache On.

Powered by Discuz!

监督举报:report#znds.com (请将#替换为@)

© 2007-2018 ZNDS.Com

快速回复 返回顶部 返回列表