Android TV 键值修改流程
2015-07-01 22:14
627 查看
有的时候,我们需要增加一些新的按键,那么需要修改哪些地方呢?
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 按键流转探究
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 按键流转探究
相关文章推荐
- 双击事件
- 【翻】Android Design Support Library 的 代码实验——几行代码,让你的 APP 变得花俏
- android四种启动模式
- LinearLayout设置 weight 无法绘制的问题
- android使用ffmpeg
- 要看的书
- Android 第一行代码
- Android_开源框架xUtils详解
- android之LruCache源码解析
- Android下如何mount光盘镜像ISO文件 (2012-03-06 22:01:29)
- Android_使用StrictMode 调试开发
- Android的原始资源Raw和Assert资源的使用-android学习之旅(五十七)
- Android的原始资源Raw和Assert资源的使用-android学习之旅(五十七)
- Android的原始资源Raw和Assert资源的使用-android学习之旅(五十七)
- Android的原始资源Raw和Assert资源的使用-android学习之旅(五十七)
- Android基础知识_绑定Service
- 非常值得推荐的Android开源框架
- Android打包混淆时报:Conversion to Dalvik format failed with error 1
- Android手机安装原版BT5[ARM]
- android中菜单的使用(xml)