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 },
查找之后发现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 },
解决方案 »
- 如何开机延迟启动activity
- 如何解决地图加载图层较多时,滑动地图出现的不流畅现象
- 请教各位,android双卡手机上,应用层是如何控制使用哪个卡的?
- 高手,请问这是什么控件
- 有用过libcolorconvert.so这个文件吗?
- 求推荐从服务器发出消息给android手机通知的工具
- tabHost问题
- 求个基于安卓的eclipse 记事本卓
- 如何关闭Android Studio对于错误拼写的英文单词的提示
- 华为手机蓝牙调用 disconnect无效,手机还是和设备的蓝牙处于连接状态,为什么?
- Android客户端不能接收到PC服务器Socket返回的数据
- 求助:android编程怎么读取FTP中的指定TXT文件中的内容?
最后发现问题是系统加载按键映射文件不对导致的,系统会默认加载system/usr/keylayout下的Generic.kl映射文件,这个与我们实际的不符合。
解决方法是添加自己的kl文件到keylayout目录下,注意文件的名字要与你在按键驱动中注册的输入设备名字一致。
呵呵,基础的移植知识哦这里有个貌似是韩国人整理的移植文档,新入android的同学们可以看看的
http://www.kandroid.org/online-pdk/guide/index.html