根据android SDK上描述的android体系结构,将android keyboard 过程分为四步。
1.Application
2.Application Framework
3.C/C++ Library
4.Linux kernel
事件处理
1.
当我们按下手机上的任何一个按键时都会产生一个事件,操作系统都会针对这一事件进行处理,Windows操作系统采用消息机制进行处理事件,而Android系统针对键盘按键的处理则采用映射机制。
当我们按下手机上的任何一个按键时都会产生一个事件,操作系统都会针对这一事件进行处理,Windows操作系统采用消息机制进行处理事件,而Android系统针对键盘按键的处理则采用映射机制。
当然android系统针对其他模块也会有消息机制,在此只针对键盘的实现。
2.
映射原理:采用二进制0/1机制来实现对键盘是否按下的标记,然后通过键盘按键码来标识当前按下的是哪个按键。
映射原理:采用二进制0/1机制来实现对键盘是否按下的标记,然后通过键盘按键码来标识当前按下的是哪个按键。
Android keyboard 整体框架
上图源文件代码所在地如下:
n应用层框架类WindowManagerService
/frameworks/base/services/java/com/android/server
/frameworks/base/services/java/com/android/server
nKeyboard JNI代码
/frameworks/base/services/jni
/frameworks/base/services/jni
n本地框架代码
头文件在 /frameworks/base/libs/ui
源文件在/frameworks/base/libs/ui
n与kernel层接口代码
头文件在/frameworks/base/include/ui
源文件在/frameworks/base/libs/ui