前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >MTK添加按键流程

MTK添加按键流程

作者头像
开源519
发布2020-07-23 17:09:19
2K0
发布2020-07-23 17:09:19
举报
文章被收录于专栏:开源519

首先查看原理图用的是gpio还是矩阵按键。

1. 矩阵按键

1.1 kernel更改

① 先查看原理图,看下按键位置对应的位置,并查看其对应的矩阵管脚。

② 更改input_event_codes.h,增加新增按键键值。(找不到路径就搜索)

③ 配置dws矩阵管脚,并在keypad对应位置指定按键。(新增的按键,需要先在Yusu.cmp增加按键并增加与input_event_codes.h相同的键值)

④ 查看按键按下时是否有键值上报(键值与input_event_codes.h定义相同)

adb shell getevent

1.1 adb查看时间

查看指定事件上报:getevent /dev/input/event1

1.2 指定事件

看到上报键值,说明添加成功。

1.2 framework更改

① 先搜索keycodes.h文件

1.3 搜索keycodes路径

找到路径 frameworks/native/include/android/keycodes.h

1.4 keycodes.h

在末尾添加需要的按键,注意看NOTE:

NOTE: If you add a new keycode here you must also add it to several other files.

Refer to frameworks/base/core/java/android/view/KeyEvent.java for the full list.

② 在KeyEvent.java添加

1.5 KeyEvent.java

并按提示在相应文件添加按键定义。

最后需要在Generic.kl添加PTT键值。

③ 测试logcat 查看应用层接收到的键值

adb shell

logcat | grep WindowManager

1.6 上报事件

显示接收到的按键 scancode 249 //kernel 键值

keycode 289//应用层键值

添加成功。

2. GPIO按键添加

与keypad按键不同的是:GPIO按键需要自写驱动,keypad用的系统自带keypad驱动。

① 添加键值与keypad流程一致。

② 在keypad驱动probe中,写上GPIO键值中断上报即可。

应该也可以使用系统自带的gpio-keys.c驱动,需要配置dws,dts文件。

2020-06-23

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-06-30,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 开源519 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1.1 kernel更改
  • 1.2 framework更改
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档