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 @@ staticconst 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
<enumname="KEYCODE_TV_MEDIA_MULT_BACKWARD"value="292"/><enumname="KEYCODE_TV_MEDIA_PLAY"value="293"/><enumname="KEYCODE_TV_MEDIA_PAUSE"value="294"/>
-<!--$_rbox_$_modify_$_end-->
+ <!--$_rbox_$_modify_$_end-->
+
+ <enumname="KEYCODE_SYSTEM_RESERVE_1"value="296"/>
+ <enumname="KEYCODE_SYSTEM_RESERVE_2"value="297"/>
+ <enumname="KEYCODE_SYSTEM_RESERVE_3"value="298"/>
+ <enumname="KEYCODE_SYSTEM_RESERVE_4"value="299"/>
+ <enumname="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 @@ publicclassKeyEventextendsInputEventimplementsParcelable{publicstaticfinalint KEYCODE_TV_KEYMOUSE_MODE_SWITCH =284;/*$_rbox_$_modify_$_zhangwen_20140224: for support Tv Media controller*/-//$_rbox_$_modify_$_begin+//$_rbox_$_modify_$_beginpublicstaticfinalint KEYCODE_TV_MEDIA_PLAY_PAUSE =285;publicstaticfinalint KEYCODE_TV_MEDIA_STOP =286;publicstaticfinalint KEYCODE_TV_MEDIA_NEXT =287;
@@ -795,9+795,16 @@ publicclassKeyEventextendsInputEventimplementsParcelable{publicstaticfinalint KEYCODE_TV_MEDIA_MULT_BACKWARD =292;publicstaticfinalint KEYCODE_TV_MEDIA_PLAY =293;publicstaticfinalint KEYCODE_TV_MEDIA_PAUSE =294;-//$_rbox_$_modify_$ end+//$_rbox_$_modify_$ end-privatestaticfinalint LAST_KEYCODE = KEYCODE_TV_MEDIA_PAUSE;+// Modify Tower 20191112, add 5 reserve key.+publicstaticfinalint KEYCODE_SYSTEM_RESERVE_1 =296;+publicstaticfinalint KEYCODE_SYSTEM_RESERVE_2 =297;+publicstaticfinalint KEYCODE_SYSTEM_RESERVE_3 =298;+publicstaticfinalint KEYCODE_SYSTEM_RESERVE_4 =299;+publicstaticfinalint KEYCODE_SYSTEM_RESERVE_5 =300;++privatestaticfinalint LAST_KEYCODE = KEYCODE_SYSTEM_RESERVE_5;// NOTE: If you add a new keycode here you must also add it to:// isSystem()