Android TV 键值修改流程

有的时候,我们需要增加一些新的按键,那么需要修改哪些地方呢?

1.Java层的修改:KeyEvent.java

修改了keyevent.java需要编译出android.policy.jar这个需要拷进去,(在/frameworks/base/policy这个目录下执行mm -B得到android.policy.jar拷贝到电视)


2.Native层的修改:KeycodeLabels.h

修改Keycodelables.h需要编译出libandroidfw.so,这个要拷进去(因为在Keyboard.cpp中有使用)


3.修改了*****.kl这个需要拷进去,kl文件的作用可以网上搜,其实也是一个映射文件,只不过这个kl的文件的加载方式通常和具体的输入设备标识有关。

因此一般针对不同的设备有不同的文件定义。(你可以通过getevent 查看事件是从哪个设备上来的,然后 dumpsys input 可以查看这个设备使用的kl文件是哪一个)


4.修改了defaultkeymap.lst,novatek-blast.kl,Tvkeymap.lst需要编译出boot.img烧进去(这部分主要用于Hid通道上报上来的键值映射)


5.修改了input.h需要编译出kernel放到BSP目录下,然后编成boot.img烧写进去(或者将input驱动,比如rc-**-tv.ko编出来替换到TV也可以,这种直接替换驱动文件,最为简单)


拓展:如果要新增事件类型,比如想为某个新的传感器定义了一些新的事件类型,同样也可以仿照这个处理流程来添加。


Android 5.0:

框架层有变化:


对scancode的映射放到了:

frameworks/native/include/android/keycodes.h

frameworks/native/include/input/InputEventLabels.h

其他的不变


具体按键上抛流程见前面写的博客,以能够有个纵向的了解:Android TV 按键流转探究

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值