本帖最后由 dearmb 于 2020-12-7 21:37 编辑
手头是H96X3,自带遥控器必须要对的很准才好用,之前解决的是斐讯遥控器OK键的问题https://www.znds.com/tv-1185424-1-1.html
但是由于斐讯遥控器过一段时间不用之后,再使用需要重新连接蓝牙,虽然按一下遥控是自动连接,但是还是要等个3秒5秒的,也是很烦人的,用着也不爽。其实解决斐讯遥控器的问题的本质也就是自定义OK键给改成正确的按键。
手头还有一个中国移动蓝牙遥控器,其他按键基本还是可以比较完美的遥控盒子的,但是无法开关机盒子,本教程自定义将静音键改为开关键,解决盒子开关机的问题,静音反正我是不怎么用,就算再常用也应该是没有开关机键重要。其他想法修改别的按键的也可以参考,比如语音键改成开关键或者别的什么什么功能的。下面开始:
1,盒子先蓝牙连接遥控器,使之可以遥控盒子
2,adb连接盒子,xxx为盒子的IP地址,命令:adb connect xxx.xxx.xxx.xxx
3,进入盒子shell模式,命令:adb shell
4,获取遥控器输入事件,命令:getevent -l
5,按遥控器按键,使盒子获取到遥控器输入信息,此处我想修改的是“静音”键,所以需要按“静音”键,查看按静音键出现的功能是MUTE,翻译过来就是静音,为何不修改遥控器的开关键?因为此时你按开关键,发现根本什么都没获取到,所以只好修改其他按键完成目的,其他比如小米遥控器可以试试按开关键是否能获取到遥控信息,因为不带语音的小米要遥控器好像没有多余的按键,如果开关键获取不到,没多余的按键也没法改成开关啊,我手头没有,无法测试。
6,获取到输入信息后,按ctrl+c,退出shell模式
7,cmd下输入命令,获取遥控文件路径,命令:adb shell dumpsys input >D:\3.txt
8,打开D盘下3.txt,找到“IFLY REMOTE”,我的中国移动蓝牙遥控器是这个名字,其中有如下内容·
Identifier: bus=0x0005, vendor=0x0416, product=0x0300, version=0x0000
KeyLayoutFile: /vendor/usr/keylayout/Generic.kl
此处我们需要的信息是vendor=0x0416, product=0x0300与第二行的遥控配置文件位置KeyLayoutFile: /vendor/usr/keylayout/Generic.kl(我记得是这个默认文件,记不清了,不想重新刷机写教程,太麻烦,反正你那里是哪个文件就拉取哪个文件,自己领悟一下,谢谢)
9,cmd下输入命令,拉取遥控配置文件到D盘,命令:adb pull /vendor/usr/keylayout/Generic.kl d:/
10,打开D盘找到Generic.kl,复制一份备份并改名为Vendor_0416_Product_0300.kl,此处的0416和0300由第8步得到,根据自己的遥控编号进行修改。
11,打开Vendor_0416_Product_0300.kl(用记事本打开会很乱看不明白,我用的是SublimeText打开),查找文字“MUTE",一共有两个地方有,一个是led 0x07 MUTE,看起来不像是我们要修改的内容,另一个是key 113 VOLUME_MUTE,然后这一行下面是key 114 VOLUME_DOWN和key 115 VOLUME_UP,恩恩,看起来很靠谱,就是这个了。
12,将VOLUME_MUTE按照格式修改为POWER,然后保存文件。
13,在盒子上打开ES文件浏览器,打开“Root工具箱”,使用“加载为只读/可写”功能,将"/"路径设置为“RW”
14,用ES文件浏览器进入路径/vendor/usr/keylayout/,将修改完成的Vendor_0416_Product_0300.kl复制进去,然后重启盒子,重启后遥控器静音键功能实际为开关机,为了使遥控器的盒子开关键好用,建议将盒子开关键功能设置为“休眠”,因为关机之后断开蓝牙连接后无法开机,“休眠”的话是可以开机的,配合电视CEC功能,同时开关盒子与电视近乎完美,完毕!
|