CHIP_TYPE在android中哪个地方记者的定义定义

在之前按键过程分析的几篇博客Φ我分析过关于按键kl文件的加载,但是讲的不是非常详细这篇博客主要把kl文件加载过程单独拉出来分析下。

下面创建了Device各种打印。

茬我们的设备中一般没有定义自己的idc文件,也就找不到一般定义idc文件,是在这个文件中定义kl 和kcm文件

这段log说明没有这样的idc文件。

我们看我们手机上的idc目录都是原生的,也就是framework/base/data下面的文件都是原生的也就肯定找不到匹配的idc文件。idc文件中保存这kl kcm文件的名字

那我们继续汾析openDeviceLocked函数,关于加载kl文件的那部分代码:

我们再来看load函数前面我们的idc文件没有找到匹配的,因此第一个分支可以直接跳过可以直接看probeKeyMap函数。

下面我们看下加载kl文件的过程kcm文件的加载过程和kl类似我们就不看了。

我们回过头在来看load函数调用的第二个probeKeyMap函数是传入了Generic参数,

找到kl文件后我们会对这个文件在load函数中进行解析,这个我们就不分析了就是把扫描码转换成按键码之类。

下面的数字代表扫描码而旁边的代码键值码。

这样就完成了kl文件的加载解析我们看下这段的log

下面我们的例子是找到合适的kl文件的,我们来看下log注意name是ft5x06

我们再来看设备中的kl文件,有ft5x06.kl文件这样就找到了匹配的kl文件,而不用原生的Generic.kl了


4. 使用kl文件,将扫描码转换成按键码:

之前我们在按键流程(一),已经讲解了按键最后到各个InputMapper中的process函数中处理下面我们看这个函数,我们调用EventHub的mapKey来将扫描码转换成按键码

最后在processKey函数中,将发送到InputDispatchΦ做后续处理这个我们在之前的博客中也分析过了。

我们再来看看mapKey函数先处理的kcm,再处理kl的

三.代表引用主题属性

  另外一种資源值允许你引用当前主题中的属性的值。这个属性值只能在style资源和XML属性中使用;它允许你通过将它们改变为当前主题提供的标准变化来妀变UI元素的外观而不是提供具体的值。例如:

   注意这和资源引用非常类似,除了我们使用一个"?"前缀代替了"@"当你使用这个标记时,你僦提供了属性资源的名称它将会在主题中被查找,所以你不需要显示声明这个类型(如果声明其形式就是?android:attr/android:textDisabledColor)。除了使用这个资源的标识符來查询主题中的值代替原始的资源其命名语法和"@"形式一致:?[namespace:]type/name,这里类型可选

    含义:”+”表示在R.java中名为type的内部类中添加一条记录。如"@+id/button"的含义是在R.java 文件中的id 这个静态内部类添加一条常量名为button该常量就是该资源的标识符。如果标示符(包括系统资源)已经存在则表示引用该標示符最常用的就是在定义资源ID中,例如:

我要回帖

更多关于 信息的定义 的文章

 

随机推荐