任意遥控器遥控C1测试成功,理论上可使用任意遥控

转自:http://bbs.letv.com/thread-35538-1-1.html

http://bbs.letv.com/thread-65155-1-1.html
任意遥控器遥控C1测试成功,理论上可使用任意遥控。

现在测试了乐视随机九键遥控的遥控码如下(NEC格式):
电源     00FF00FF
音量+  00FF10EF
音量-   00FF14EB
左        00FF11EE
右        00FF13EC
确定     00FF12ED
菜单     00FF2AD5
返回     00FF0EF1
HOME   00FF29D6

然后,我又找了一个遥控器,测试这九个键的代码如下(NEC格式):
电源     40400AF5
音量+  40400BF4
音量-   40400EF1
左        404010EF
右        404011EE
确定     40400DF2
菜单     404040BF
返回     404041BE
HOME   40401CE3

好了,有了遥控码,我们来分析吧,本人也第一次接触,以下是本人的理解,如有错误,还请指正,谢谢!
遥控代码接受转化为指令的是/system/etc/remote.conf这个文件
在此,我截取了一些我认为需要了解的代码来跟大家一起探讨
首先,有一句
factory_code        = 0xff000001 
我琢磨了一下,这个格式应该是0x+头代码+0001,乐视9键遥控的头代码是ff00,上面我们测试的按键都是00FF(反着记录的吗?)这个我跳过吧,等你来分析,因为我的遥控头代码是4040,正着写反着写都是4040,哈哈。
因此,我把这句改为
factory_code        = 0x40400001
接着看呗 
fn_key_scancode    = 0x15
left_key_scancode  = 0x11
right_key_scancode = 0x13
up_key_scancode    = 0x10
down_key_scancode  = 0x14
ok_key_scancode    = 0xee
pageup_key_scancode = 0x04
pagedown_key_scancode = 0x1b
这些应该是方便以后编辑留下的注译吧,乐视的程序猿好习惯啊,为了日后方便,我把我的注译改为
power_key_scancode = 0x0a
up_key_scancode    = 0x0b
down_key_scancode  = 0x0e
left_key_scancode  = 0x10
right_key_scancode = 0x11
ok_key_scancode    = 0x0d
menu_key_scancode  = 0x40
back_key_scancode  = 0x41
home_key_scancode  = 0x1c
刚好九个按键
接着分析呗,我们以确定按钮为例,分析一下
00FF00FF这个是电源按钮的值,找啊找,找到一段代码0x00 116
我估计就是这段了,因为去掉头00ff,跟着就是00,那个f f应该是尾可以去掉或者其他用途吧,继续找
0x00 116
0x10 103
0x14 108
0x11 105
0x13 106
0x12 97
0x2a 125
0x0e 15
0x29 102
九个键的键值都找到了,这更增加了我的信心,我已经迫不及待的想改为我的代码了 
好吧,改它,首先把我不要的都删除,我不用到的就没有用了嘛,当然全部删除了
0x0a 116
0x0b 103
0x0e 108
0x10 105
0x11 106
0x0d 97
0x40 125
0x41 15
0x1c 102
保存好,嘿嘿
adb connect 盒子ip
adb push remote.conf /sdcard/
adb shell
su
cp /sdcard/remote.conf /system/etc/
搞定,我们来测试一下
怎么没反应?乐视9键遥控却还行?别急,忘记重启了,喝杯茶后回到shell环境,用我的一指神功慢悠悠的逐个敲入reboot
等待一会儿后,我的遥控已经可以完美操作了,乐视的遥控已经没反映了。
嘿嘿,我搞定了,你呢?还在等什么?

增加鼠标示例:
  1. #amlogic NEC remote
复制代码
在这行下面加入
  1. fn_key_scancode = 0xc5
复制代码
鼠标开关
  1. up_key_scancode = 0xca
复制代码
鼠标上
  1. down_key_scancode = 0xd2
复制代码
鼠标下
  1. left_key_scancode = 0x99
复制代码
鼠标左
  1. right_key_scancode = 0xc1
复制代码
鼠标右
  1. ok_key_scancode = 0xce
复制代码
鼠标确定


附件里remotec1.conf是乐视c1的,remote.conf是我改的,供大家参考
  remote.zip (1.84 KB, 下载次数: 289) 

最后,请大家欣赏一下神蓝测试遥控所使用的道具积极所用到的硬件图和软件
任意遥控器遥控C1测试成功,理论上可使用任意遥控_第1张图片 

软件和硬件图纸在下面的附件里
  PC端红外线遥控器测码.zip (295.71 KB, 下载次数: 1160) 

当然,你也可以发挥你的想象,使用其他办法获取遥控的代码。
目前发现了一个问题,就是按遥控电源按钮后盒子进入睡眠状态,再按遥控电源按钮无法唤醒,要用c1自带的遥控唤醒,所以,应该还有一个定义唤醒按钮的文件,在哪里呢?[经测试,初步判断不在固件包里,除非在boot.img里定义了这个按键)。]
补充,在开机状态按下POWER按钮,有时是一红一绿,这个时候可以用自定义的按键来唤醒,有的时候是一个红灯,这个时候必须用00FF00FF这个按键唤醒。

附1,开博尔C9遥控器码表:
  1. 电源                48770AF5
  2. 设置                48770FF0
  3. 播放/暂停        487709F6
  4. 快退                487704FB
  5. 快进                487708F7
  6. 1                        487711EE        
  7. 2                        487712ED
  8. 3                        487713EC
  9. 4                        487714EB
  10. 5                        487715EA
  11. 6                        487716E9
  12. 7                        487717E8
  13. 8                        487718E7
  14. 9                        487719E6
  15. 0                        487710EF
  16. 显示                48774DB2
  17. 电视                48771BE4
  18. 信息                487740BF
  19. 主页                487705FA
  20. 返回                48771CE3
  21. 菜单                487707F8
  22. 上                        487700FF        
  23. 下                        487701FE        
  24. 左                        487703FC        
  25. 右                        487702FD
  26. 确定                48771FE0
  27. 音量小                48770BF4
  28. 静音                48770CF3
  29. 音量大                487706F9
  30. 红                        48770EF1
  31. 绿                        48771EE1
  32. 黄                        48774CB3        
  33. 蓝                        487744BB
复制代码

你可能感兴趣的:(任意遥控器遥控C1测试成功,理论上可使用任意遥控)