android 添加按键(一)
2015-11-19 11:41
316 查看
在Android 系统中定义了大量的物理和虚拟按键,比如返回键,home键,数字键等。
在添加按键之前,需要了解Andorid 系统的按键软件架构,以物理按键为例。
将物理按键的键值上报给按键框架层。在手机的文件系统中,有这样的一个目录 /dev/input,按键框架层,就是通过检测这个目录,看是否有按键值上报。
<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 被按下时,需要显示的字符
其他的类似。
应用层在onKeyUp,onKeyDown 中识别的就是keyCode.
在添加按键之前,需要了解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.
相关文章推荐
- ijkplayer环境搭建及编译
- android 虚拟摇杆绘制
- Android搜索功能实现
- Android 最火的快速开发框架XUtils
- 【android】开发中遇到的一些问题
- Android中Parcelable接口用法
- androidStudio导包
- Android APK的数字签名的作用和意义
- Android开发教程05:Android项目的目录结构
- Android中探讨自定义控件View
- Android开发教程02:Android四大组件简介
- android完全退出程序(android退出有多个activity的应用)
- 获取android手机信息
- Android中的Environment.getExternalStorageState使用
- Android基础入门教程——10.1 TelephonyManager(电话管理器)
- 在Android如何在保证满足面向对象的单一原则(SRP)和开闭原则(OCP)的条件下,完成线程池的使用
- Android Studio中genymotion安装方法
- Android 使用NDK编译二进制文件并运行
- android 可滑动、点击切换的导航栏
- android opencv 前置摄像头