您的位置:首页 > 移动开发 > Android开发

android 添加按键(一)

2015-11-19 11:41 316 查看
 在Android 系统中定义了大量的物理和虚拟按键,比如返回键,home键,数字键等。

在添加按键之前,需要了解Andorid 系统的按键软件架构,以物理按键为例。



1. 驱动层

将物理按键的键值上报给按键框架层。在手机的文件系统中,有这样的一个目录 /dev/input,按键框架层,就是通过检测这个目录,看是否有按键值上报。



2. 按键框架层

<1>将驱动中定义个的按键值映射成按键码.(*.kcl)

按键值映射文件 *.kl

如Generic.kl,qwerty.kl 等。

key 123 BACK, 这句话的意思是 将驱动上报的键值 123 映射城按键码 BACK,BACK 有自己的值(KeycodeLabel.h).

<2>将按键码映射成用户可见的字符.(*.kcm)

按键字符映射文件 *.kcm

将按键码映射成多个可显示的用户可以看到的字符。

如 qwerty.kcm(全键盘)

META Keys:就是ALT、SHIFT、CAPS_LOCK 这几个键。

key A {

label: 'A'

number: '2'

base: 'a'

shift, capslock: 'A'

alt: '#'

shift+alt, capslock+alt: none

}

label 表示显示的字符 'A"

number 表示这个按键码对应的数字,如在 九宫格中,按下包含a的那个键时,对应的数字键就是2

base 表示,ALT,SHIFT,CAPS_LOCK 这些按键没有被按下时,需要显示的字符

shift,capslock 表示shift或者capslock 被按下时,需要显示的字符

其他的类似。



3. 按键应用层

应用层在onKeyUp,onKeyDown 中识别的就是keyCode.




内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: