直接看修改
--- a/frameworks/base/core/java/android/view/KeyEvent.java
+++ b/frameworks/base/core/java/android/view/KeyEvent.java
@@ -824,13 +824,14 @@ public class KeyEvent extends InputEvent implements Parcelable {
public static final int KEYCODE_PROFILE_SWITCH = 288;
+ public static final int KEYCODE_SAR = 289;
- public static final int LAST_KEYCODE = KEYCODE_PROFILE_SWITCH;
+ public static final int LAST_KEYCODE = KEYCODE_SAR;
--- a/frameworks/base/core/res/res/values/attrs.xml
+++ b/frameworks/base/core/res/res/values/attrs.xml
<enum name="KEYCODE_PROFILE_SWITCH" value="288" />
+ <enum name="KEYCODE_SAR" value="289" />
--- a/frameworks/native/include/android/keycodes.h
+++ b/frameworks/native/include/android/keycodes.h
- AKEYCODE_PROFILE_SWITCH = 288
+ AKEYCODE_PROFILE_SWITCH = 288,
+ AKEYCODE_SAR = 289
--- a/frameworks/native/include/input/InputEventLabels.h
+++ b/frameworks/native/include/input/InputEventLabels.h
@@ -328,7 +328,7 @@ static const InputEventLabel KEYCODES[] = {
DEFINE_KEYCODE(THUMBS_UP),
DEFINE_KEYCODE(THUMBS_DOWN),
DEFINE_KEYCODE(PROFILE_SWITCH),
-
+ DEFINE_KEYCODE(SAR),
{ nullptr, 0 }
};
将kernel的按键值重新映射成Android新建的键值,如
--- a/frameworks/base/data/keyboards/xxxxx.kl
+++ b/frameworks/base/data/keyboards/xxxxx.kl
+key 59 SAR
然后make update-api,更新对应的txt文件,然后make(如果还报错,按提示运行其他指令,更新对应的txt文件)
遗憾的是,该修改会导致失败cts测试失败。