当前位置:编程学习 > wap >>

Android 4.0 Home键失效 keycode = 122错误

RT,编译高通M8660 ics运行后 menu, search , back 都正常,只有HOME键出问题。
查找之后发现EventHub.cpp中打印的event->keyCode =122 与 KeycodeLabels.h 中 home值 = 3 不同,
其他三个键值都是对的。
请问各位大侠这个是什么问题?event->keyCode匹配是在哪个地方?
代码:
EventHub.cpp getEvent():
                        if (iev.type == EV_KEY && device->keyMap.haveKeyLayout()) {
                            status_t err = device->keyMap.keyLayoutMap->mapKey(iev.code,
                                        &event->keyCode, &event->flags);
                            LOGW("iev.code=%d keyCode=%d flags=0x%08x err=%d\n",
                                    iev.code, event->keyCode, event->flags, err);
                        }
KeycodeLabels.h 定义:
static const KeycodeLabel KEYCODES[] = {
    { "SOFT_LEFT", 1 },
    { "SOFT_RIGHT", 2 },
    { "HOME", 3 },
    { "BACK", 4 },
    { "CALL", 5 },
    { "ENDCALL", 6 }, --------------------编程问答-------------------- 问题已经解决 。呵呵  --------------------编程问答-------------------- 那是什么问题呢·
--------------------编程问答-------------------- 是ics 4.0 通过属性系统获取键值表出错。 --------------------编程问答-------------------- 建议不要使用属性系统的方法 --------------------编程问答--------------------
引用 4 楼 kin95 的回复:
建议不要使用属性系统的方法


求详细代码!!! --------------------编程问答-------------------- 哥们,知道了就告知一下大家吧。 --------------------编程问答-------------------- 大哥,能否稍稍说细一点,不明白呀~~多谢了! --------------------编程问答-------------------- 最近移植Android 4.0.3的时候也发现了这个问题,MENU,BACK,SEARCH可以用,就是HOME有问题。
最后发现问题是系统加载按键映射文件不对导致的,系统会默认加载system/usr/keylayout下的Generic.kl映射文件,这个与我们实际的不符合。
解决方法是添加自己的kl文件到keylayout目录下,注意文件的名字要与你在按键驱动中注册的输入设备名字一致。 --------------------编程问答-------------------- 我最近也遇到了同样的问题,event->keyCode =122 ,这个键值从哪个属性文件中得来的?我的HomeKey是虚拟按键。 --------------------编程问答-------------------- kernel发上来的键值,需要重新map一下才能和上面的对应上啊。
呵呵,基础的移植知识哦

这里有个貌似是韩国人整理的移植文档,新入android的同学们可以看看的
http://www.kandroid.org/online-pdk/guide/index.html
--------------------编程问答-------------------- 存新手不会弄的路过! --------------------编程问答-------------------- 4.0之后的就有很多的麻烦,希望大神努力解决啊,
补充:移动开发 ,  Android
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,