美文网首页
A3. MTK矩阵按键

A3. MTK矩阵按键

作者: 拂去尘世尘 | 来源:发表于2020-06-23 14:52 被阅读0次

    首先查看原理图用的是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

    相关文章

      网友评论

          本文标题:A3. MTK矩阵按键

          本文链接:https://www.haomeiwen.com/subject/xqlhfktx.html