Android添加物理按键
背景
- Platform: RK3399
- OS: Android7.1.2
- Kernel: v4.4.103
调试
- 通过命令
cat /proc/bus/input/devices
确认按键使用的键值对的文件名 通过“name”字段判断。 getevent
可以查看上报的键值和状态
添加android已有的功能按键
当新增的按键功能是android系统默认自带的,
需要在frameworks/base/data/keyboards/Generic.kl 中找到你需要的按键键值
然后在对应的dts中添加对应的按键映射就可以了。
需确保使用的键值对的文件device/rockchip/common/rk29-keypad.kl
里也有该键值对
添加自定义按键
具体可以参考某个已有的按键,在同一位置添加自定义按键
- 在
device/rockchip/common/rk29-keypad.kl
中添加按键的键值对。驱动上报的键值。 frameworks/native/include/android/keycodes.h
和frameworks/native/include/input/InputEventLabels.h
中添加android层键值定义。frameworks/base/core/java/android/view/KeyEvent.java
和frameworks/base/core/res/res/values/attrs.xml
定义APP层按键常量。frameworks/base/data/keyboards/Generic.kl
中添加键值对。frameworks/base/services/core/java/com/android/server/policy/PhoneWindowManager.java
中的interceptKeyBeforeQueueing()
函数中添加系统层按键处理
参考
评论