android接触--遥控的配置

来源:互联网 发布:wdi数据库 编辑:程序博客网 时间:2024/04/29 21:15

第三个星期,接到第一个有实际意义的任务,要求:把一个旧版本上的遥控配置移植到新的版本上。

一个非常简单的任务,而且把基本的配置文件路径都大概跟我说了一下,最主要的是还有旧版本的git修改记录可以看,这对于任何一个人来书都是一件非常简单的事吧,但是我做得很不简单。

配置文件,xx.conf,很简单,很快,我就能在git历史上找到,更新了。

还有keylayout文件,就是键盘映射,这个貌似改来改去都是一个样,也八九不离十了。

但是结果一直是遥控没效果,搞了几天,看了一天又一天的android按键流程,但网上的博客都是你抄我的,我抄你的,一个样。

最后才在一个偶然的事情上,得到公司硬件的同事关注,原来遥控有问题,也好像是板子接收器有问题,也好像是电源有问题,这个我不懂,也没法涉及,所以等待他给我弄好,最后,回来试了一下,果然OK,什么按键都OK了,可是,还是在另外一个问题上花费了几天,到现在还没解决。

那就是怎么样才能让我的遥控对应自己的字符映射?android上,按键流程基本是linux底层通过.conf文件得到按键扫描码,这个扫描码是在linux上input设备用的,然后扫描码通过andriod访问.kl文件,得到按键的键盘映射,也就是所谓的A,B,C,,1,2,3,CTRL键,对于A,B,C和数字键,在不同情况有不同意义,比如加上CAP后是大写或者加上shift是小写等等都是通过kcm文件来映射,也就是字符映射,最后才得出输入框上的a,b,c或@#$,但是,遥控上的键盘是数字键盘,也就是以前手机的键盘类型,通过多次按,来得到不同的字符,而android本身的虚拟键盘或usb键盘都是全键盘,就是所有字符都有,问题就来了,怎么让不同的输入设备对于不同的kcm文件,好让映射成功?

在尝试了N次之后,发现了遥控和虚拟键盘都是使用virtual.kcm文件来映射,一但改了,两个输入设备都变了,就像把virtual.kcm的类型改成NUMERIC类型,遥控能正常实现一键通过多次按,实现多字符的情况,但是发现虚拟键盘里面的数字键也跟着改变,按一次改变一个字符,不断切换。。。

想到的办法肯定是新建一个kcm文件,让我的遥控器独自去映射一个文件,可想法简单,需要接触到的内核结构不简单的。

网上有个办法,是配置系统属性,system.prop,或通过setprop来设置,但是都没效果,不知道是我弄错了还是怎么了,所以到现在没搞定。

由于老大发现我搞这个问题,就说之前的遥控只用来输数字的,所以不用管那么多,不需要切换字符。。。

在继续深入下去肯定不简单,但是,老大说做别的就做别的吧。

原创粉丝点击