Android 事件处理流程
2010-03-19 07:14:00 来源:WEB开发网核心提示:key 193 HOME WAKEkey 107 DEL WAKEkey 102 CALL WAKE_DROPPEDkey 158 ENDCALL WAKE_DROPPEDkey 28 DPAD_CENTER WAKEkey 115 VOLUME_UPkey 114 VOLUME_DOWN如果没有定义键盘映射文件,那么
key 193 HOME WAKE
key 107 DEL WAKE
key 102 CALL WAKE_DROPPED
key 158 ENDCALL WAKE_DROPPED
key 28 DPAD_CENTER WAKE
key 115 VOLUME_UP
key 114 VOLUME_DOWN
如果没有定义键盘映射文件,那么默认使用系统的 /system/usr/keylayout/qwerty.kl
可以修改 /system/usr/keylayout/qwerty.kl 文件改变Android公司的按键映射。
device->layoutMap->load(keylayoutFilename) 调用的是文件:
KeyLayoutMap.cpp (frameworksaselibsui)中的函数:
status_t KeyLayoutMap::load(const char* filename)通过解析 pxa27x-keypad.kl
把按键的映射关系保存在 :KeyedVector m_keys; 中。
当获得按键事件以后调用:
status_t KeyLayoutMap::map(int32_t scancode, int32_t *keycode, uint32_t *flags)
由映射关系 KeyedVector m_keys 把扫描码转换成andorid上层可以识别的按键。
[]
赞助商链接