[Android6.0][RK3399] 修改默认按键 KEY-PAD 的功能

来源:互联网 发布:导航网站用什么域名好 编辑:程序博客网 时间:2024/05/21 19:36

Platform: RK3399
OS: Android 6.0
Kernel: 4.4
Version: v2017.04

    • 需求
    • Key-Pad 原理
    • 实现
      • getevent 获得键值
      • 修改按键功能
    • 验证
    • 其他方法

需求

需求是将 Menu 键修改为 Home 键。

Key-Pad 原理

按键部分原理图如下

可以看到不同按键串联的电阻值也不同。所以按下不同按键时 ADKEY_IN 的检测电压也会不同(不同阻值分压不同),平台端设计好接收不同电压时对应的功能,就实现了功能按键。

实现

getevent 获得键值

adb shellgetevent 

可以看到我们的 key pad 设备


按下我们需要修改的按键(现在的 MENU 键)

获得键值 0x003b,即 10 进制的 59

修改按键功能

在 SDK/device/rockchip/common/rk29-keypad.kl 修改

vi SDK/device/rockchip/common/rk29-keypad.kl-key 59    MENU+key 59   HOME-key 102   HOME+key 102  MENUkey 114   VOLUME_DOWNkey 115   VOLUME_UPkey 116   POWER             WAKEkey 143   NOTIFICATION      WAKEkey 158   BACKkey 212   CAMERAkey 217   SEARCH

我们把 key 59 的功能改为 MENU

验证

按键生效。

其他方法

另外 adb pull /system/usr/keylayout/rk29-keypad.kl
修改后直接 push 进去也可以完成任务。

0 0
原创粉丝点击