Android TV添加遥控按键的整体流程方法

本文详细解析了Android系统中遥控事件的传递与处理过程。从kernel接收红外信号开始,经由按键板解析并最终映射到特定按键。事件随后传递至framework层的PhoneWindowManager.java与WindowManager.java进行全局设置与逻辑处理。为了使新按键生效,需在KeyEvent.java等文件中定义按键映射,并在系统编译中加入预设的遥控定义文件,确保kernel与framework间的通信无误。

1.Android事件传递是从kernel开始传递,由遥控红外发送给按键板子,然后进行事件解析,遥控最后会解析到是那个遥控按键

2.kernel把事件再传递到framework,那么就去到PhoneWindowManager.java,这是核心的管理上层的事件文件,还有一个是WindowManager.java,那么所定义的按键就可以在这里进行全局设置逻辑了。

3.因为在kernel定义了按键,同样地也需要在framework里定义一系列的按键映射.需要对应修改KeyEvent.java,current.txt,KeycodeLabels.h,attrs.xml和keycodes.h。

4.最后还要在系统编译里,加上预制的遥控定义,用来映射kernel和framework之间的联系.文件名是XXXXX_Product_0001.kl

 

*各个文件的对应关系是xxxtv.c遥控文件里的key名对应input.h的key名

预制的XXXXX_Product_0001.kl的value对应input.h的value

XXXXX_Product_0001.kl的key名对应所有framework的key名,当然framework的value要自己定义啦

具体是在KeyEvent.java定义,注意的是要把新增的按键设置为LAST_KEYCODE

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值