设为首页 加入收藏

TOP

Android 中如何添加新的键值
2014-11-24 08:42:18 来源: 作者: 【 】 浏览:0
Tags:Android 如何 添加

这里以imx515平台为例来说明


对keypad来说,涉及到的文件有以下几个:



1.vendor/fsl/imx51_BBG/mxckpd.kl


首先在此文件中,添加新的键值信息:


Example:


key 59 OFFHOOK
key 60 ONHOOK
key 61 HANDFREE
key 62 PSTNCALLIN


注意:新加的键值不要与已有的重复。

2. kernel_imx/drivers/input/keyboard/imx51-key.c


在键盘驱动中定义相应的键盘扫描码:



3. 在frameworks/base/include/ui/KeycodeLabels.h

(1)在数组keycodes 中添加 新定义的信息,要在{NULL, 0}之前添加



(2)枚举类型 KeyCode 中添加



4. frameworks/base/core/res/res/values/attrs.xml

添加如下:



5. frameworks/base/core/java/android/view/KeyEvent.java



注意:private static final int LAST_KEYCODE = KEYCODE_MUTE; 应改为:private static final int LAST_KEYCODE = KEYCODE_PSTNCALLIN;

在函数 public final boolean isSystem() 中,同样需要添加:



通过以上的更改,新的键值就添加上去了,由于更改了 KeyEvent,影响到了API,所以需要make update-api

如果对新键值进行处理,可以通过获取相应的keycode,对它进行处理.

6. frameworks/policies/base/phone/com/android/internal/policy/impl/PhoneWindowManager.java
综上可知,我们可以根据需求定义自己的键值,并对键值所对应的事 件信息进行合理化处理。

注:
vendor/fsl/imx51_BBG/mxckpd.kl 是专门给imx515输入设备使用的keylayout文 件,所以修改mxckpd.kl 文件只是给键盘输入增加键值。如果是其他设备的输入, 如x_input,而且当没有x_iput.kl存在的时候,那么默认的kl文件就是 qwerty.kl(android-root/development/emulator/keymaps/qwerty.kl)

这个很重要。也就是说需要实现明白添加的键值是否是mxckpd.kl的input event


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇Android 怎么样调用HAL的 下一篇Linux input子系统代码阅读简单记..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·有没有哪些高效的c++ (2025-12-27 08:20:57)
·Socket 编程时 Accep (2025-12-27 08:20:54)
·计算机网络知识点总 (2025-12-27 08:20:52)
·一篇说人话的文章, (2025-12-27 07:50:09)
·Python Web框架哪家 (2025-12-27 07:50:06)