原标题:RK3128平台android系统修改添加遥控器键值码值

最近帮客户定制RK3128平台的 ,涉及到定制新的遥控器,需要添加或修改遥控码值。RK3128平台Android系统修改遥控器码值比全志A20、A31s稍微麻烦一些,其实本质是一样的。

具体的修改方法如下:

1,先弄清楚遥控器的状况,包括遥控器用户码、键值对应的码值。方法:adb shell,输入echo1 >/sys/module/rockchip_pwm_remotectl/parameters/code_print,

再输入,cat /proc/ksmg,也可以通过串口搞。

遥控器对着灯板按,会发现终端界面有反应,会出现类似下面的信息

其中USERCODE=0xff00是遥控器用户码,fa是按键对应的码值。

2,就这样把遥控器按顺序按一遍,记录所有的键和对应的码值。

3,进入kernel/arch/arm/boot/dts目录,找到rk3128-box-rk88.dts文件,键值就定义在这个里面,复制出来编辑。

4,打开dts文件,找到下面这个方法

其中usercode是遥控器用户码,在这个地方改成你的遥控器用户码如(0xff00)就行,或者在ir_key1{}代码块后面再加一个代码块ir_key2{},格式一样。

Key_table=下面就是码值和对应的键。其中,以上图为例第六个键,0xec是我们前面按遥控器键获取的遥控码值,KEY_MENU是我们为遥控器上面删除键定义的键值名称,KEY_MENU这个键必须在device/rockchip/rksdk目录下的映射的键值文件 20050030_pwm.kl中有定义过才行,而且这个键一定要在KeyEvent.Java中有定义才行。我们找到20050030_pwm.kl文件,打开,会发现里面定义的格式如下:

我们会发现,左边是数字,右边是定义的名称,dts中直接填KEY_MENU或139都行。

注意这里面删除键定义的是key 111 DEL,而dts里面是DELETE,不知为何,定义成一样不行。如果出现无论怎么改都不行,直接在dts文件中写111就行,这个是扫描码。

这些常用的键都是系统帮忙定义好的,如果遥控器上有要新增一个按键肿么办?

这时就要自定义键了。简单的办法是找几个系统里面已经定义过的键,而且系统又没有用到,而且这个键一定要在KeyEvent.java中有定义才行,在20050030_pwm.kl文件(不同平台这个kl文件可能不一样)中按格式定义,如#key99 SYSRQ,这个系统里面有定义,KeyEvent.java中有定义,但不知道是用来搞啥子的,而且又没用到,可以把它拿来功能定义成直播键,。

搞之前先看下系统和frameworks/base/core/java/android/view/KeyEvent.java里面有木有定义,查找Linux标准键值命令:在kernel目录下,输入,find . -name"*.h" |xargs grep -r "SYSRQ",如下图,说明系统有定义

其中99是扫描码。关于3128遥控器系统定义的键可参考文档:3128红外遥控器键值参考文档

更简单的办法是只改个PhoneWindowManager.java文件,如Setting键在新遥控器上没有用到,可以把这个里面的功能直接替换成要添加的功能(如直播)。

复杂点的办法就是在系统中添加额外的键了,这个等有时间了专门写个文章叙述一下。

5,对于有需求的按键,如遥控器上面一个直播键,在前面几步定义好后,需要在frameworks/base/policy/src/com/android/internal/policy/impl/PhoneWindowManager.java这个类中interceptKeyBeforeDispatching(WindowState win, KeyEvent event, intpolicyFlags)这个方法中拦截,并执行相应功能(如进入直播)。

上面的方法都是RK3128系统最快速的修改或添加遥控器码值的方法了。返回搜狐,查看更多

责任编辑:

android 遥控器 地址码,RK3128平台android系统修改添加遥控器键值码值相关推荐

  1. android修改默认遥控器键值,RK3128平台android系统修改添加遥控器键值码值

    本帖最后由 微笑,一路向前 于 2017-1-4 15:34 编辑 最近帮客户定制RK3128平台的固件,涉及到定制新的遥控器,需要添加或修改遥控码值.RK3128平台Android系统修改遥控器码值 ...

  2. Java生鲜电商平台-促销系统的架构设计与源码解析

    Java生鲜电商平台-促销系统的架构设计与源码解析 说明:本文重点讲解现在流行的促销方案以及源码解析,让大家对促销,纳新有一个深入的了解与学习过程. 促销系统是电商系统另外一个比较大,也是比较复杂的系 ...

  3. 在Android系统中添加组合键快捷启动功能

    启动系统特定功能的组合键的判断应该在系统分发按键消息前处理, 这样从系统运行 的角度来说成本最低. 添加组合键处理需要先搞清楚按键消息在framework中采集 和分发子系统的工作流程, 虽然有and ...

  4. android ROM ---(1)高通平台 Android O 升级学习

    1. Android Project Treble 与iOS相比,安卓系统有一个致命弱点,那就是新版本系统升级太慢,除了谷歌Nexus和Pixel等亲儿子机型,其他OEM商的机型更新新系统需要用户漫长 ...

  5. Java生鲜电商平台-优惠券系统的架构设计与源码解析

    电商后台:实例解读促销系统 电商后台系统包括商品管理系统.采购系统.仓储系统.订单系统.促销系统.维权系统.财务系统.会员系统.权限系统等,各系统之间相互关联.相互依托,为前端的正常业务流转建立结实稳 ...

  6. android获取地址api,如果在Android中使用位置API给出纬度和经度,如何获取地址

    我有一个应用程序,我试图根据纬度.经度坐标获得一个位置的地址.当我试图打印所有特定坐标的地址时,我只得到一个地址.有没有办法获得所提供坐标的所有地址列表?我的代码段如下: 其中locationLati ...

  7. java微博系统源码_JAVA仿微博系统(JAVA毕业设计含源码和运行教程)

    前言 课设毕设源码收集已上传到github,包括:C,C#,C++,JAVA,PHP 等源码,更多源码在整理中.地址:https://github.com/52JDK/Source-Collectio ...

  8. 高通MSM8909平台L1系统修改LDO电压值

    文档说明 本文档以SC806-CN-00(MSM8909平台)为例,说明如何修改LDO电压值. 修改方法 以修改LDO5,从1.8V改为1.9V为例. 首先查看PM8909的IC specificat ...

  9. 基于Android的校园一卡通App平台

    演示视频信息: A6604基于Android的校园一卡通 一.研究背景.目的及意义 (一)研究背景         二十一世纪是信息化的时代,信息化建设成为我们的首要任务.当前我国大力发展信息产业,在 ...

  10. idea运行jsp显示源码_基于jsp+mysql+Spring+mybatis的SSM在线个人PC电脑商城平台网站系统...

    运行环境: 最好是java jdk 1.8,我们在这个平台上运行的.其他版本理论上也可以.IDE环境: Eclipse,Myeclipse,IDEA都可以tomcat环境: Tomcat 7.x,8. ...

最新文章

  1. 企业分布式微服务云SpringCloud SpringBoot mybatis - 服务消费者(Feign)
  2. 为了进行差错控制,必须对传送的数据帧进行校验。在局域网中广泛使用的校验方法是循环冗余校验。当接收端发现错误后采取的措施是
  3. nessus安全工具主要用途_发电技术 | 发电厂DCS 网络安全评估与防护
  4. 对于基础太模糊下一步需要清晰 几个目标
  5. Sedgwick Museum of Earth Sciences
  6. 南昌大学c程序计算机作业,南昌大学计算机作业第二章答案
  7. xtrabackup安装使用
  8. win7旗舰版6l打印机咋安驱动_在w7旗舰版上怎么安装HPlaserjet6L打印机?
  9. linux启动本地远程服务,如何使用SSH在本地控制远程服务器执行命令
  10. Tensorflow rnn-word2vec-电影评论
  11. 传智播客ajax视频教程 百度云,传智播客AJAX视频资料分享
  12. 用vs2010写c语言调试,vs2010怎么写c语言调试
  13. 《炬丰科技-半导体工艺》晶片键合技术和薄膜传输技术
  14. 数据防泄密方案与需求匹配程度分析
  15. uniapp做自己的启动页
  16. 成语接龙 给一个很大的成语库 如何找出其中最长的一条线
  17. RabbitMQ手动确认模式(项目开发常用模式)
  18. offer_II_109开密码锁
  19. 使用a标签时不用href=““调转页面
  20. 文法和语言的基本知识

热门文章

  1. 【我的OpenGL学习进阶之旅】如何抽取着色器代码到assets目录下的GLSL文件,以及如何通过Java或者C++代码来加载着GLSL文件?
  2. 三星android安装到sd卡,三星怎么安装sd卡 三星手机怎么安装sim卡
  3. Python 爬虫---百度首页
  4. 嵌入式Linux入门-代码重定位和清除bss段讲解
  5. 单例模式实现负载均衡器案例
  6. 机器学习 一元非线性回归模型
  7. c++中getline()函数用法与坑
  8. 谷歌浏览器打开页面出现(任何网页包括设置)崩溃解决方法。
  9. C++_primer_plus学习笔记 第14章 C++中的代码重用
  10. 《编译原理(英文版.第2版)》