修改中兴860A电视盒子遥控器代码
修改中兴860A电视盒子遥控器代码
中兴860A电视盒子经过修改相应文件后,几乎可以使用任意支持nec协议的红外遥控器。
一、修改遥控代码需要需要用到的两个文件:
- remote.conf,所在路径:\system\etc\remote.conf (该文件定义遥控代码的值,主要修改这个文件)
- Vendor_0001_Product_0001.kl,所在路径:\system\usr\keylayout\Vendor_0001_Product_0001.kl(此文件用于定义遥控代码值的使用功能,一般不要动这个文件 )。
二、遥控代码修改:
- 取得遥控器按键代码:
(1)输入:
adb connect x.x.x.x
连接到盒子,然后输入:
adb shell
进入机顶盒命令模式。
(2)输入命令
dmesg -c >/tmp/c.txt
清除记录。
(3)将需要配置的遥控机对准机顶盒按压各按键。
(4)输入命令:
dmesg | grep “code is”
调取记录查看刚才按键的遥控代码,代码为8位16进制数,形如 0xee119c21。
此代码各位含义为:前两位 ee为校验码,第3-4位11为按键码,末四位9c21为工厂代码。同一遥控器每个按键的末四位都相同,可以标识遥控器类型,第3-4位用于标识你按下了哪一个键。 - 修改remote.conf文件,以适配遥控器按键。
(1)退出盒子命令行,从windows命令提示符输入命令:
adb pull \system\etc\remote.conf
从盒子里导出remote.con f文件到电脑当前目录。
接着输入:
adb pull \system\usr\keylayout\Vendor_0001_Product_0001.kl
导出按键功能定义文件。
(2)用任一文本编辑器打开remote.conf文件,将里边的 factory_code= 0xFF000001 修改为 0x9c210001,这里的9c21为上边获取的遥控代码后四位,应该按照你自己获得的代码更改,这里后边的0001是序号,通常不需要更改。
(3)在key_begin到key_end之间将上边获取到的各键第3-4位写到每行的前边,然后输入一个空格,接着输入该按键需要实现的功能代码,该代码可以到Vendor_0001_Product_0001.kl文件中查找。
(4) key_begin到key_end之间的代码编写完后,再将它们复制到repeat_key_begin与repeat_key_end之间,以实现连续按键功能。
(5) 如下的这段代码定义的是常用按键的代码,可以把上面步骤获得的按键码输在等号后边,也可以删掉,直接在key_begin下边按照普通按键代码格式编写。
fn_key_scancode = 0x15left_key_scancode = 0x1cright_key_scancode = 0x48up_key_scancode = 0x44down_key_scancode = 0x1dok_key_scancode = 0x5cpageup_key_scancode = 0x04pagedown_key_scancode = 0x1b
三、传入遥控文件到盒子内:
- 在windows命令行,输入:
adb shell mount -o remount,rw /system
将/system目录挂载为可读写状态。 - 再输入:
adb push remote.conf /system/etc/
传入修改好的遥控代码文件。 - 接着输入:
adb shell remotecfg /system/etc/remote.conf
使遥控文件立即生效。 - 这时即可按下遥控器各键查看各键功能是否正常。
四、使遥控文件在重启后自动生效:
一般的中兴盒子执行上边操作后应该已经完工了。但我的中兴860A盒子是四川电信高安版,在重启后并不能自动调用remote.conf遥控代码文件,我尝试将调用命令以service的方式写在/init.rc初始化文件中会被自动屏蔽或删除,经过多次尝试,我采用写入“寄生”命令脚本的方式终于操作成功。思路如下:
打开init.amlogic.rc文件,查看带有.sh脚本文件的service,我找到了:
service display /system/bin/set_display_mode.shclass coreoneshot
可以知道这个服务会在系统启动时自动执行/system/bin/set_display_mode.sh脚本中的命令。
所以只需要在该脚本中加入:
/system/bin/remotecfg /system/etc/remote.conf > /dev/null
这样就能让遥控代码在启动时自动生效了。
下边是具体操作过程:
- 输入命令:
adb pull /system/bin/set_display_mode.sh
将文件pull回本机,在该文件中加入如下脚本:
/system/bin/remotecfg /system/etc/remote.conf > /dev/null
我加入的位置为:
#!/system/bin/shcase `getprop sys.fb.bits` in32) osd_bits=32;;*) osd_bits=16;;esac#if [ -e /dev/dvb0.frontend0 ]; then# DVB_EXIST=yes#elseDVB_EXIST=no#fi/system/bin/remotecfg /system/etc/remote.conf > /dev/null############ if outputmode is cvbs ,and HDMI is plugged,we need clear the logo.
- 将修改好的文件用命令:
adb push set_display_mode.sh /system/bin/set_display_mode.sh
传入盒子原目录,再输入:
chmod 777 /system/bin/set_display_mode.sh
设置文件可执行权限,这一步非常重要,否则开机进不了桌面。
由此整个遥控器的适配过程操作完成。
修改中兴860A电视盒子遥控器代码相关推荐
- android 电视盒子 遥控器 获取,Android TV开发中所有的遥控器按键监听及注意事项,新增home键监听...
简单记录下android 盒子开发遥控器的监听 ,希望能帮到新入门的朋友们 不多说,直接贴代码 public class MainActivity extends Activity { private ...
- android 浏览器 遥控器 光标,论Android智能电视盒子必装应用之——飞视浏览器
原标题:论Android智能电视&盒子必装应用之--飞视浏览器 安卓智能电视的浏览器一般都有个跟随系统预装好的基础版本,不仅功能受限,而且使用不便,地址栏输入和保存页面书签是唯一可以用的.那么 ...
- 中兴B860AV2.1B电视盒子刷机固件
由于盒子出厂时间不同,主板批次也不同的, 所以在刷机的时候千万不要只看盒子背面的型号就盲目的找固件乱刷, 这是错误的, 这样很容易将开机的机器给刷的不开机,所以下载固件之前一定要对照下您的盒子里的主板 ...
- Linux网络机顶盒rom,Amlogic 电视盒子修改Rom包,升级
第一次接触电视盒子的开发,遇到一些坑,这里记录下Rom包修改和升级的方法. 这边使用的硬件是: Amlogic S905x 2GBx16GB 准备工作: 1.ROM包(aml_upgrade_pack ...
- 安卓原生电视盒子首次激活连不上wifi? Google tv adb命令 修改网络访问限制,禁用本地桌面 启用emotnUI
安卓原生电视盒子首次激活连不上wifi? 软路由里把time.android.com劫持到 203.107.6.88(阿里云的ntp服务器)就能解决原生安卓时间不对的问题 了 clash 规则加入 - ...
- 【开源项目】电视盒子好用又强大的APP: TVRemoteIME
TVRemoteIME 电视盒子的远程输入法应用,可跨屏远程输入.跨屏远程控制盒子.远程文件管理.HTTP/RTMP/MMS网络视频直播.ED2K/种子文件的视频文件边下边播 应用的诞生 自从家里有电 ...
- 有一台服务器远程失败其他电脑可以_使用闲置电视盒子打造家庭网盘和远程下载器和小型服务器(二)...
使用闲置电视盒子打造家庭网盘和远程下载器系列(二) 本系列分为五章 一.综述 二.电视盒子的root 三.app的安装和服务器环境的搭建 四.网盘系统的部署和使用 五.远程下载系统搭建和实现 昨天写了 ...
- 运营一款电视盒子需要注意什么?
现在流行的网络电视功能越来越强大,传统的视频已经慢慢被替代,如何定制一款实用的电视盒子软件呢?可以实现电视.手机.平板等终端可以同时观看,上网看剧功能完善.运营商还可以实现代理.收费功能. 点量ott ...
- 怎样定制一款电视盒子软件系统
点量电视盒子视频管理软件定制开发 点量ott是一款集直播.点播.广告.收费.视频管理于一体的多功能影音系统,目前已经实现了Android电视盒版本.Android手机.平板版本.IOS 手机/平板版本 ...
最新文章
- LinearLayout (线性布局)的分析
- 朱晔的互联网架构实践心得S1E9:架构评审一百问和设计文档五要素
- 冰岛试行四天工作制大获成功:每周缩短五小时,生产力没变!
- Mybatis是如何实现SQL语句复用功能的?
- 移动前端html5 head 头标签
- 《程序猿的呐喊》读书笔记(下)
- activemq优先级_ActiveMQ消息优先级:工作原理
- 图片切换ajax,jQuery AJAX全屏图文幻灯切换
- 设计模式之单例模式浅谈
- centos ipython tab键上下键不起作用
- 核磁共振基本原理——核磁共振现象
- 一篇文让你看懂NB-IoT、LoRa、eMTC、Sigfox及ZigBee的应用场景
- Android 仿UC首页 某个版本--coor
- 一份超详细的UI设计规范全攻略
- 没有技巧的运营公众号,大概率是用爱发电吧!
- python helper方法_Python io_utils.ImportHelper方法代碼示例
- 2018 ucla计算机排名,2018福布斯最具价值美国大学排名:加州UCLA位列榜首!
- 检索 COM 类工厂中 CLSID 为{...} 的组件时失败,出现以下错误: 80070005、8000401A的错误解决方法
- CIA-SSD: Confident IoU-Aware Single-Stage Object Detector From Point Cloud阅读
- 【进阶版】机器学习之决策树知识与易错点总结(06)