A20红外遥控器与Android功能的适配
来源:互联网 发布:mac的option键 编辑:程序博客网 时间:2024/06/11 22:04
WAKE_DROPPED
底层Driver应该有个列表来对应红外按键和KeyCode。
当前我们就从底层开始,一步步把红外遥控器的Firmware Key Code与 Android 底层 Input Device中读取的Code 以及 Android 上层功能联系起来。
0. 让红外遥控器被A20所识别:
红外遥控器有很多,他们针对不同的设备,设备如何知道哪个红外遥控器发送的红外码是传给它的呢?
我们知道,NEC码有客户码。 当红外信号中的客户码和设备所需的客户码相同时,则设备认为此码是发给它的。
这个地址码在:
A20-Homlet-V1.0_ss/lichee/linux-3.3/drivers/input/keyboard/ir-keymap.h
因为Sam所用遥控器用户(系统)码为:0x7F80.
所以:
#define IR_ADDR_CODE
1. 红外遥控器 Firmware Key Code 与 Android Linux Input Device Key Code 的联系:
#lsmod
可以看到sun7i-ir. 通过它,Sam找到 Linux Kernel 中 driver/input/keyboard/sun7i-ir.c
1.2: Firmware中的红外码:
例如:某键发送码:AC 53
1.3: Driver 中的处理:
在中端处理程序中,Driver得到码值: ir_code. 并利用ir_keycodes列表中的对应项作为发给Input 子系统的KeyCode。
input_report_key(ir_dev, ir_keycodes[(ir_code>>16)&0xff], 0);
input_sync(ir_dev);
所以:按键 AC 53. 则发送: ir_keycodes[0x53] . 这个值为83. 也就是说:它向Input 子系统中发送的KeyCode= 83。
2. Input 子系统的KeyCode与Android功能的对应:
代码稍后分析:
只需要看kl文件中:
83对应的是 8。 则说明按下这个键后。 Android认为有人按下了8 这个Key。
如需要修改,可以修改:
A20-Homlet-V1.0_ss/android/device/softwinner/sugar-xbh_bst/sun7i-ir.kl
最终,这个文件会被copy到Image中,烧入系统;
/system/usr/keylayout/sun7i-ir.kl
- A20红外遥控器与Android功能的适配
- A20红外遥控器与Android功能的适配
- 微雪A20 配置 红外遥控器
- 全志A20[android教程]-红外遥控器调试
- A20 Bull(A20金牛)示波器测量红外遥控器客户码
- [Androidstudio]的坑之适配红外遥控器
- Android 红外遥控器实现
- android 手机红外遥控器
- Android红外遥控器编码
- amlogic 红外遥控器适配 remote.conf
- Android 手机红外遥控器实现
- 使用Arduino录制与播放遥控器的红外信号
- STM32-录制与播放空调/TV遥控器的红外信号
- Android源码编译——RK3128开发板多款红外遥控器常用按键适配
- 红外遥控器
- android遥控器适配
- 基于stm32C8T6的红外遥控器制作 stm做遥控器
- 红外遥控器信号的接收和转发
- 配置Apache服务器,提供一个Tomcat虚拟主机和一个静态内容虚拟主机的服务
- JNI中的全局引用、局部引用、弱全局引用 AND 缓存jfieldID和jmethodID的两种方法
- 中高考改革方案落地?专家:还在酝酿中
- String to Integer (atoi)
- document.form1.(可以根据id=“” 和name=" ").value得到值
- A20红外遥控器与Android功能的适配
- LCS(最长公共子序列)dp模板,长度和打印子序列
- UITbableView的用法
- redis学习笔记
- 块设备驱动程序设计
- TF-IDF与余弦相似性的应用(二):找出相似文章
- iOS 绘图
- CCRender使用
- 读取EXCEL文件并查询