android 菜单键 键值,Android 8.0 (Oreo) 添加按键及键值【物理按键】
步骤1.framework层添加前,要确定按键驱动是否调好:adb shell getevent后按下按键/dev/input/event3: 0001 02fe 00000001/dev/input/event3: 0000 0000 00000000/dev/input/event3: 0001 02fe 00000000/dev/input/event3: 0000 0000 000...
步骤1.framework层添加前,要确定按键驱动是否调好:
adb shell getevent 后按下按键
/dev/input/event3: 0001 02fe 00000001
/dev/input/event3: 0000 0000 00000000
/dev/input/event3: 0001 02fe 00000000
/dev/input/event3: 0000 0000 00000000
其中02fe就是驱动上报的值,两次的1,0是指按下和弹起的动作。
步骤2 . 确定KL键值映射文件
当得到上图你所需要的key信息后就可以在framework中将要添加的keycode添加进去了。
1./frameworks/base/data/keyboards/Generic.kl
在该文件添加key的value值并且定义key的名称:key 645 XXXXXX 其中645和xxxx为驱动定义的value值,XXXXXX在madev.h中定义的,766在input-event-codes.h中定义的(02fe ==766) 。
将驱动上报的02fe转为十进制的766, 并且定义:
key 766 F14
这样就完成了对物理按键kl文件的映射到“F14”
步骤3.framework native 中定义:
/frameworks/native/include/android/keycodes.h
AKEYCODE_F14 = 901
/frameworks/native/include/input/InputEventLabels.h
DEFINE_KEYCODE(F14)
步骤4.framework base下的定义:
frameworks/base/core/java/android/view/KeyEvent.java:
定义按键的keyCode 也就是 APP 在onKeyDown() 获取的keyCode
public static final int KEYCODE_F14 = 901; // 注意APP获取的keyCode是901 不是766
frameworks/base/core/res/res/values/attrs.xml:
步骤5.android O 需要添加:
frameworks/base/data/keyboards/Generic.kl
frameworks/base/data/keyboards/qwerty.kl
key 766 F14
完成这一步才会生效。
键值最大767
更多推荐
所有评论(0)