按键从Linux到Android -HMS篇

本篇文章是讲解如何合并多个按键事件,到android层面只有一个keyCode键值.

自己修改了Android source code中的按键映射关系,将多个功能作用相同的按键映射成同一个KEYCODE值,这样在应用层就不需要知道是哪个设备产生了按键事件,也不需要单独处理了.步骤如下:

 

<1> : 进入android source code,进行搜索Generic.kl文件,当然也有可能不是这个kl文件,不过无论如何,先要知道从linux driver层映射到android层之间的映射文件的路径.其他类似的键盘映射关系都在同一个文件夹下.参见下图:

 

<2> : 搜索到路径后,由于这边的source是改在一处,放又是在另外一处,主要是在build系统时自动拷贝到本身放置的地方,如果本身放置的地方存在这个文件就会被覆盖 .

 

<3> : 比如我要修改F6,F7,将F6和F7合并成一个映射按键出来,修改如下图:

 

<4> : 如果修改个别机器做测试用,可以使用adb shell进入,然后mount -o rw,remount /system,Generic.kl放在/system/usr/keylayout/参见下图,在这个目录下直接修改Generic.kl文件中的值,改成和上图一样就可以了,然后重启.

 

 

 

posted @ 2014-06-13 19:09  MMLoveMeMM  阅读(335)  评论(0)    收藏  举报