A10开发板增加红外驱动及android层红外按键修改介绍


声明:本文基于A10方案,A10主板默认板载红外设备

转载请注明出处!

                                      by:xian

一、在linux内核中开启红外驱动编译
(1).内核配置。
   默认情况下,linux内核并未开启编译红外驱动,因此需手动修改配置以开启红外驱动。首先需进入linux内核目录运行 make ARCH=arm menuconfig,并进入 Device Drivers-->Input device support -->Keyboards  -->sun4i IR support (M) 开启内核编译配置界面,显示如下
QQ截图20120925143022.png
   若以*勾选则编译到内核中,系统启动时将自动载入该驱动。若以M方式勾选则将编译成 内核模块*.ko文件。这里以M方式动态编译为例.

  (2).编译
   在lichee目录下执行 ./build.sh -p sun4i_crane -k 3.0 (这里是针对A10 linux3.0内核编译方式,linux2.3.4 需要去掉 -k 3.0)即可开始编译。编译结束后,将生成 lichee/out/android/lib/modules/3.0.8/sun4i-ir.ko红外驱动模块

  (3).拷贝模块
  android2.3.4下需要修改 android2.3.4/device/softwinner/crane-evb/mkfs.sh  增加 cp $DRV_DIR/sun4i-ir.ko $PRODUCT_ROOT/drv/sun4i-ir.ko即可在编译时自动打包到系统固件中
  android4.0以后的版本只需在android目录下执行extract-bsp即可将内核模块全部拷贝至对应文件目录下

  (4).修改android系统以支持开机启动红外驱动

   对于android2.3版本,需要在android2.3.4/device/softwinner/crane-evb/init.sun4i.rc 中增加 insmod /drv/sun4i-ir.ko
   对于android4.0版本,需要在android4.0/device/softwinner/crane-evb/init.sun4i.rc 中增加 insmod /system/vendor/modules/sun4i-ir.ko
经过以上的修改,android系统就支持驱动红外设备了


二、在android系统中修改红外配置文件以支持任意红外遥控器
  (1)遥控器按键值查询
  首先需了解使用adb命令,将开发板通过usb线连接pc后,在命令行下输入adb shell接口进入android系统命令行。
输入 getevent即可显示输入设备信息,如:
QQ截图20120925153546.png
其中 "sun4i-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

(2)键值修改
  根据该信息修改android系统中如下两个文件即可(注意以下两个文件必须都修改,否则不会生效)
/system/usr/idc/sun4i-ir.kl
/system/usr/keylayout/sun4i-ir.kl

sun4i-ir.kl(可以以文本文档方式打开)实例内容如下
假设我们 “+”号键 的键值为d,转换为10进制为13,假设我们要将该键设置为音量+,可以在sun4i-ir.kl文件加入如下内容
key 13     VOLUME_UP                 WAKE_DROPPED

(3)将文件推送至android系统
推送时需了解 adb push 使用方法
假设需将c:\sun4i-ir.kl覆盖至android系统/system/usr/keylayout/sun4i-ir.kl下 命令如下:
adb push c:\sun4i-ir.kl /system/usr/keylayout/sun4i-ir.kl
注意/system/usr/idc/sun4i-ir.kl也需覆盖

(提示:用户可以参考附件中Generic.kl sun4i-ir.kl文件修改其他键值)


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值