Android按键移植

1. 在linux内核中实现基于input子系统的按键驱动

2. Android通过EventHub不断读取内核报告的EV_KEY*事件,然后根据key layout文件将其转换成KEYCODE_* 事件

    linux内核中关于按键事件的定义在kernel/include/linux/input.h文件里,例如:

    #define KEY_UP          103

    android源码关于KEYCODE的定义在frameworks/base/core/java/android/view/KeyEvent.java文件里,例如:

    public static final int KEYCODE_VOLUME_UP       = 24;

    注意,在Android平台上编写按键处理程序时,一般使用的是KEYCODE_*码

    keylayout文件后缀为*.kl,这些文件在android源码device/$(company)/$(board)/目录下

    当然,也可以在线直接把*.kl文件从机器上pull下来,修改之后再push上去。路径是system/usr/keylayout/目录

    例如,将内核的KEY_UP事件转换成KEYCODE_VOLNUME_UP事件,可以编写keylayout文件,内容如下:

    key 103   VOLUME_UP       WAKE

    关于keylayout文件的介绍,可以看官方介绍 ---> 点击打开链接

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值