首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Android Q 按键添加流程

和你一起终身学习,这里是程序员Android

本篇文章主要介绍开发中的部分知识点,通过阅读本篇文章,您将收获以下内容:

一、驱动通过GPIO连接的按键

二、Framework 层添加按键响应方法

一、驱动通过GPIO连接的按键

此类按键采用GPIO来连接,通过监测其中断来判断按键的动作,需要根据具体硬件设计在项目对应的dts文件配置gpio_keys节点。

底层驱动主要修改以下两个文件上报键值。

1.修改 sp9863a-3c10.dts

修改方法如下:

2. 修改pinmap-sp9863a.c文件

修改方法如下:

二、Framework 层添加按键响应方法

通过查看驱动调节的按键值是否上传ok。

命令查看方法如下:

其中:

: 是十六进制数,对应十进制数为352.

,: 是指按下和弹起的动作。

1.在 gpio-keys.kl 文件中添加自定义key值

在kl文件中我们可以仿照power键添加key 值。

这样就可以完成物理按键 kl 文件到 KEY_OK的映射。

这个kl 文件是通过中编译到系统中,在手机/system/usr/keylayout目录下可以找到。

不同平台代码可能存在差异。

的部分代码如下:

2. 在Generic.kl 文件中添加key 值

修改方法如下:

3.在 qwerty.kl文件中添加key值

修改方法如下:

4.在Native 层添加keycode 值与标签

注意下面的289 keycode 值,是延续上面288 keycode 的值,跟驱动上报的352不一样,那是底层的数值,上层最好跟底层差分。

修改方法如下:

同样我们仿照288的定义,在InputEventLabels.h 添加标签定义

5. 在attrs.xml 中添加属性值

修改方法如下:

6.在KeyEvent 中添加key 值方便PhoneWindowMangager中调用

修改方法如下:

7. 最后我们在PhoneWindowManager 中处理按键行为

调通之后,我们就可以在PWM 的方法处理我们想做的事情,比如 吊起Google Assist等。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20200313A0CDTM00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券