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

原创 2015年11月19日 11:41:40

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


版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

android kl 文件的作用

首先看touchscreen的kl文件 # Copyright (c) 2014, The Linux Foundation. All rights reserved. # # Redistrib...

android kl文件

android kl(key layout)文件是一个映射文件,是标准linux与anroid的键值映射文件,kl文件可以有很多个,但是它有一个使用优先级:/system/usr/keylayout/...

android 按键映射***.kl文件中的WAKE和WAKE_DROPPED的定义

android系统中,获取到键盘的键值后,会搜索/system/usr/keylayout/*.kl这个文件 key 115   VOLUME_UP         WAKE_DROPPED ...

android4.4 车载灭屏 按任意键及触摸屏幕恢复亮屏

车载上的android4.4系统,基本上常亮。但最近需要一个新功能可以在launcher新增一个按钮,点击的时候。屏幕亮度为0,但实际上不等于按power键,不会睡眠。 然后可以按任意键恢复亮度,包括...

理解kcm文件的意义

理解kcm文件的意义# keycode display number base caps fn caps_fn ...

理解kcm文件的意义

理解kcm文件的意义 view plainprint? # keycode       display number  base  ...

e科士威创业这样一个绝佳的创业机会

很庆幸能遇到e科士威创业这样一个绝佳的创业机会,"个人创业"是当今很流行的一个词,可是传统行业的生意,动轧几万几十万的创业资本,使得那些有创业理想可是囊中羞涩的年轻人望而却步。 天降大任于斯人也,必先...

android input进程(模拟按键)

我们可以在手机adb shell中,使用input来模拟按键,和之前的sm类似,input也是一个进程,在framework/base/cmds目录下。 一、Input源码 下面我们先看下input的...

android添加按键(二) 添加按键流程、出现问题

Android 系统对加载键盘布局文件(Generic.kl ). 在 开发板的文件目录 /system/usr/idc 中有一系列的 *.idc  框架层会根据驱动中的配置,自动生成设备的idc 文...

Android6.0 按键kl文件加载过程分析

在之前按键过程分析的几篇博客中,我分析过关于按键kl文件的加载,但是讲的不是非常详细,这篇博客主要把kl文件加载过程单独拉出来分析下。 1. 获取InputDeviceIdentifier的nam...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)