安卓盒子开发之遥控器调试

1、首先我们要知道需要改动遥控器的配置文件,
盒子里面的遥控器配置文件一般是在 /system/etc/remote.conf和/system/usr/keylayout/Vendor_0001_Product_0001.kl
2.在源码的位置是红色目录标注下的两个文件
安卓盒子开发之遥控器调试_第1张图片
3.遥控器更换后,你按键会出现如下打印信息:
安卓盒子开发之遥控器调试_第2张图片
如果按键没打印信息, 请在终端执行remotecfg,如果还是没有执行下dmesg查看下内核信息.
记录下来所有键的打印code值,遥控器功能多的时候,比如我调的这款
如下图所示:
安卓盒子开发之遥控器调试_第3张图片

这里按下ALT、CAPS键,键值会发生改变,因为这个遥控器有三个红外,caps键对应大写锁定键,alt切换功能键
这时你就要把所有的键值都记录下来,因为下面的改动会用到。
4.vi system/etc/ remote.conf文件,会看到如下
安卓盒子开发之遥控器调试_第4张图片
这里的key_begin后的0x11 <->102都是系统对应的键码
这些数据得到是从

得到的
比如我按ok键的打印是

去掉厂家id  e71b只剩0x0bf4,这里说一下, factory_code    = 0xfe010000 ,fe01即是此遥控器的厂商id,
一般一个遥控器只有一个厂商的id的,
像我调的这款有两个厂商id,e71b和0707,那么就要和客户沟通,做哪个的id,我做的是e71b的,另外的就不用管了。
在remote.conf更改厂商的id 为e71b
终端下,chmod 777 /system/etc/remote.conf&sync&reboot
再按ok键会打印如下:
安卓盒子开发之遥控器调试_第5张图片
显然ok键的键码是0xf4
打开remote.conf,查找
安卓盒子开发之遥控器调试_第6张图片
对应的value是28,打开 Vendor_0001_Product_0001.kl文件,找到28值,对应的KEYCODE是ENTER
安卓盒子开发之遥控器调试_第7张图片
其他的一些找不到的键值都可以在 /frameworks/base/core/res/res/values/下的attrs.xml文件里寻找
这里说一下,如果不清楚attrs.xml文件中的keycode对应的意思,
打开盒子的浏览器输入框,在终端下,输入比如:
input  keyevent  EQUALS,会看到“=”
在frameworks中本来没有的键值,如WWW,.com,这些只能去输入法中找实现的方法了,后续找到了方法,我会记录下来的

你可能感兴趣的:(安卓盒子开发之遥控器调试)