关闭

android 添加按键(一) kl文件 kcm文件

1503人阅读 评论(0) 收藏 举报
分类:

  在Android 系统中定义了大量的物理和虚拟按键,比如返回键,home键,数字键等。

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


  1. 驱动层 


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


  2. 按键框架层


   2.1 将驱动中定义个的按键值映射成按键码.(*.kl)

   按键值映射文件 *.kl
   如Generic.kl,qwerty.kl 等。

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


   2.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.
 


1
0

猜你在找
【直播】机器学习&数据挖掘7周实训--韦玮
【套餐】系统集成项目管理工程师顺利通关--徐朋
【直播】3小时掌握Docker最佳实战-徐西宁
【套餐】机器学习系列套餐(算法+实战)--唐宇迪
【直播】计算机视觉原理及实战--屈教授
【套餐】微信订阅号+服务号Java版 v2.0--翟东平
【直播】机器学习之矩阵--黄博士
【套餐】微信订阅号+服务号Java版 v2.0--翟东平
【直播】机器学习之凸优化--马博士
【套餐】Javascript 设计模式实战--曾亮
查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:516619次
    • 积分:8228
    • 等级:
    • 排名:第2404名
    • 原创:252篇
    • 转载:103篇
    • 译文:2篇
    • 评论:159条