Cubietruck android4.2修改红外遥控器按键码

首先安装android adb工具,进CT android系统。插上刷机线。运行adb devices命令,可以看到设备名称,如:google xxxxx。

先进入android shell并且执行按键时间检测:

adb shell //进入shell

root@android:/ #getevent 		//监控外设输入事件

 

把按键映射配置文件pull出来:

adb pull /system/usr/keylayout/sun7i-ir.kl ~/somedir/keylayout/sun7i-ir.kl 
adb pull /system/usr/keylayout/Generic.kl ~/somedir/keylayout/Generic.kl

 

输出类似如下图:

QQ截图20120925153546.png

A20的android4.2.2下图中的name是sun7i-ir,此时将红外遥控器对准板载 红外接口头 按键即会显示对应键值,如:

QQ截图20120925153845.png

/dev/input/event3: 0001 00af 00000001  表示按下  af为键值(16进制)
/dev/input/event3: 0000 0000 00000000
/dev/input/event3: 0001 00af 00000000  表示弹起
/dev/input/event3: 0000 0000 00000000

先将遥控器上所有按键值都捕获,然后用windows7自带计算器设置成程序员模式(查看—程序员),讲得到的值转换为10进制,比如上图中的是af,选择十六进制,输入af

calc1
在选择“十进制”,会得到175,如图:

calc2
将此值,对应16进制对应按键说明记录下来,比如我的一个遥控器的键位转换如下:

code1

修改sun7i-ir.kl里面的键值为我们转换的10进制数值,里面有说明。把不需要的键值用#注释掉,保证没有重复的键值,改完保存。

修改Generic.kl,查找sun7i-ir.kl里添加的键值在此处是否有重复,重复全注释掉,比如我在sun7i-ir.kl里添加了4是音量减,Generic.kl里也有一个键值为4,这样就要把Generic.kl里的注释掉:

code2
上图这些key都是我注释掉的。一定不能有重复的!改完保存。

下面进入android文件系统,备份这两个文件:

adb shell
cd /system/usr/keylayout/
mv Generic.kl Generic.kl.old
mv sun7i-ir.kl sun7i-ir.kl.old
exit

将新改的文件push到CT上:

adb push ~/somedir/keylayout/sun7i-ir.kl /system/usr/keylayout/sun7i-ir.kl
adb push ~/somedir/keylayout/Generic.kl /system/usr/keylayout/Generic.kl

重启CT,没错的话遥控器应该可以用了。注意:这样改会破坏键盘布局!!

参考资料:

http://blog.csdn.net/a181622974/article/details/8017467

http://forum.cubietech.com/forum.php?mod=redirect&goto=findpost&ptid=693&pid=10364&fromuid=5045

 

 

上一篇
下一篇