嵌入式系统移植 - Framework : 添加 5 个自定义保留按键

添加 5 个自定义保留按键

说明

按键自定义
usr/keylayout/xxxx.kl
kernel/include/dt-bindings/input/input.h
frameworks/native/include/input/InputEventLabels.h
frameworks/native/include/android/keycodes.h
frameworks/base/core/java/android/view/KeyEvent.java
frameworks/base/core/res/res/values/attrs.xml
系统层使用自定义按键
PhoneWindowManager.java
应用层使用自定义按键
类方法里覆写 onKey() 即可.

修改源码

# rk29-keypad.kl
key 296   SYSTEM_RESERVE_1
key 297   SYSTEM_RESERVE_2
key 298   SYSTEM_RESERVE_3
key 299   SYSTEM_RESERVE_4
key 300   SYSTEM_RESERVE_5
diff --git a/include/dt-bindings/input/input.h b/include/dt-bindings/input/input.h
old mode 100644
new mode 100755
index 2b1990d..3745328
--- a/include/dt-bindings/input/input.h
+++ b/include/dt-bindings/input/input.h
@@ -313,6 +313,12 @@

 #define KEY_MICMUTE            248     /* Mute / unmute the microphone */

+#define KEY_SYSTEM_RESERVE_1 296
+#define KEY_SYSTEM_RESERVE_2 297
+#define KEY_SYSTEM_RESERVE_3 298
+#define KEY_SYSTEM_RESERVE_4 299
+#define KEY_SYSTEM_RESERVE_5 300
+
 /* Code 255 is reserved for special needs of AT keyboard driver */

 #define BTN_MISC               0x100
diff --git a/include/android/keycodes.h b/include/android/keycodes.h
old mode 100644
new mode 100755
index e391dc9..6faa3e2
--- a/include/android/keycodes.h
+++ b/include/android/keycodes.h
@@ -728,8 +728,14 @@ enum {
     AKEYCODE_TV_KEYMOUSE_RIGHT = 281,
     AKEYCODE_TV_KEYMOUSE_UP = 282,
     AKEYCODE_TV_KEYMOUSE_DOWN = 283,
-    AKEYCODE_TV_KEYMOUSE_MODE_SWITCH = 284
+    AKEYCODE_TV_KEYMOUSE_MODE_SWITCH = 284,

+       AKEYCODE_SYSTEM_RESERVE_1 = 296,
+       AKEYCODE_SYSTEM_RESERVE_2 = 297,
+       AKEYCODE_SYSTEM_RESERVE_3 = 298,
+       AKEYCODE_SYSTEM_RESERVE_4 = 299,
+       AKEYCODE_SYSTEM_RESERVE_5 = 300
+
     // 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.
 };
diff --git a/include/input/InputEventLabels.h b/include/input/InputEventLabels.h
old mode 100644
new mode 100755
index bcce2d3..a079f80
--- a/include/input/InputEventLabels.h
+++ b/include/input/InputEventLabels.h
@@ -308,6 +308,12 @@ static const InputEventLabel KEYCODES[] = {
     DEFINE_KEYCODE(NAVIGATE_NEXT),
     DEFINE_KEYCODE(NAVIGATE_IN),
     DEFINE_KEYCODE(NAVIGATE_OUT),
+
+       DEFINE_KEYCODE(SYSTEM_RESERVE_1),
+       DEFINE_KEYCODE(SYSTEM_RESERVE_2),
+       DEFINE_KEYCODE(SYSTEM_RESERVE_3),
+       DEFINE_KEYCODE(SYSTEM_RESERVE_4),
+       DEFINE_KEYCODE(SYSTEM_RESERVE_5),

     { NULL, 0 }
 };
diff --git a/core/res/res/values/attrs.xml b/core/res/res/values/attrs.xml
old mode 100644
new mode 100755
index b1fb725..76bc2dc
--- a/core/res/res/values/attrs.xml
+++ b/core/res/res/values/attrs.xml
@@ -1827,7 +1827,13 @@ i
         <enum name="KEYCODE_TV_MEDIA_MULT_BACKWARD" value="292" />
         <enum name="KEYCODE_TV_MEDIA_PLAY" value="293" />
         <enum name="KEYCODE_TV_MEDIA_PAUSE" value="294" />
-<!--$_rbox_$_modify_$_end-->
+        <!--$_rbox_$_modify_$_end-->
+
+        <enum name="KEYCODE_SYSTEM_RESERVE_1" value="296" />
+        <enum name="KEYCODE_SYSTEM_RESERVE_2" value="297" />
+        <enum name="KEYCODE_SYSTEM_RESERVE_3" value="298" />
+        <enum name="KEYCODE_SYSTEM_RESERVE_4" value="299" />
+        <enum name="KEYCODE_SYSTEM_RESERVE_5" value="300" />
     </attr>
diff --git a/core/java/android/view/KeyEvent.java b/core/java/android/view/KeyEvent.java
index ffbede4..c184451 100755
--- a/core/java/android/view/KeyEvent.java
+++ b/core/java/android/view/KeyEvent.java
@@ -784,7 +784,7 @@ public class KeyEvent extends InputEvent implements Parcelable {
     public static final int KEYCODE_TV_KEYMOUSE_MODE_SWITCH = 284;

     /*$_rbox_$_modify_$_zhangwen_20140224: for support Tv Media controller*/
-//$_rbox_$_modify_$_begin
+       //$_rbox_$_modify_$_begin
     public static final int KEYCODE_TV_MEDIA_PLAY_PAUSE = 285;
     public static final int KEYCODE_TV_MEDIA_STOP = 286;
     public static final int KEYCODE_TV_MEDIA_NEXT = 287;
@@ -795,9 +795,16 @@ public class KeyEvent extends InputEvent implements Parcelable {
     public static final int KEYCODE_TV_MEDIA_MULT_BACKWARD = 292;
     public static final int KEYCODE_TV_MEDIA_PLAY = 293;
     public static final int KEYCODE_TV_MEDIA_PAUSE = 294;
-//$_rbox_$_modify_$ end
+       //$_rbox_$_modify_$ end

-    private static final int LAST_KEYCODE = KEYCODE_TV_MEDIA_PAUSE;
+    // Modify Tower 20191112, add 5 reserve key.
+    public static final int KEYCODE_SYSTEM_RESERVE_1 = 296;
+    public static final int KEYCODE_SYSTEM_RESERVE_2 = 297;
+    public static final int KEYCODE_SYSTEM_RESERVE_3 = 298;
+    public static final int KEYCODE_SYSTEM_RESERVE_4 = 299;
+    public static final int KEYCODE_SYSTEM_RESERVE_5 = 300;
+
+    private static final int LAST_KEYCODE = KEYCODE_SYSTEM_RESERVE_5;

     // NOTE: If you add a new keycode here you must also add it to:
     //  isSystem()
发布了53 篇原创文章 · 获赞 19 · 访问量 8万+

猜你喜欢

转载自blog.csdn.net/qq_33443989/article/details/103028244