T9632 遥控器按键配置

T9632 是mtk 方案的TV芯片,将mstar 原有框架进行了重新设计,很多功能的部署也发生了变化。本片主要分享一下遥控器的配置功能。

下面是遥控器功能部署的几个基本步骤在这里插入图片描述
核心步骤在1, 2 ,就是通过内核的键值(input-event-codes.h)为桥梁将遥控器的码值和Framework 按键事件连接起来。

一. 遥控器码值与键值的映射

首先我们不看遥控器协议,这部分基本是标准的,将遥控器在内核input系统注册为输入设备也是标准的。我们只看按键的配置。

我们看那个ir_config.ini
在这里插入图片描述
Protocols 定义了支持的遥控器协议,有NEC,RC5,RC6,RCMM,KONKA,HAIER,RCA,P7051,TOSHIBA,RC5X,RC6_Mode0
在这里插入图片描述
从上面看定义了三款遥控器,KIR_ChinaMobile,KIR_Cultraview,KIR_SML。接着分别配置三款遥控器当前使用的协议(Protocol),头码(Header),及码值和键值映射表(Keymap)。

下面我们以一款客户的遥控器为例:

在这里插入图片描述
keymap映射表里面,右侧是遥控器按键对应的码值,左边对应的是内核的键值头文件input-event-codes.h,另外内核里面还需要在input_keys_available.h 里面放开这些键值。
在这里插入图片描述

二. 键值与输入事件的映射

这一步主要将eventhub 从/dev/intpu/eventX 获取的键值映射framework 的input event。在Vendor_3697_Product_0001.kl 完成

在这里插入图片描述

三. 输入事件和应用层事件的映射

  将InputEventLables.h  中的event 和Keycodes.h ,Attrs.xml,keyevent.java 事件连接起来,应用层就可以直接捕获事件做响应处理了。
  • 总体流程如下:

在这里插入图片描述

  • 相关文件

1、apollo\linux_core\misdk\mi\mi\platform\m7332\linux\board_cfg\ir_config.ini
2、vendor/mediatek/proprietary_tv/open/product/m7322/preinstall/keylayout/Vendor_3697_Product_0001.kl
3、\frameworks\native\include\input\InputEventLabels.h
4、\kernel\fusion\4.19\include\uapi\linux\input-event-codes.h
5、\kernel\fusion\4.9\include\uapi\linux\input-event-codes.h
6、\kernel\fusion\mstar2\drv\ir_mirc\ir_dynamic_config\input_keys_available.h
7、\frameworks\native\include\android\keycodes.h
8、\frameworks\base\core\java\android\view\KeyEvent.java
9、\frameworks\base\core\res\res\values\attrs.xml

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值