在android 平台上添加新的遥控器码值
在android framework层添加系统键值:
framework 改动如下,注意添加的键值要放在其他键值的后面,另外将新增的键值定义为最后的键值序号
按照这个依次排布
frameworks/native$ git diff include/android/keycodes.h
diff --git a/include/android/keycodes.h b/include/android/keycodes.h
index f8fb256fae..3bd7134143 100644
--- a/include/android/keycodes.h
+++ b/include/android/keycodes.h
@@ -840,6 +840,7 @@ enum {
/** User customizable key #4. */
AKEYCODE_MACRO_4 = 316,
+ AKEYCODE_AGING = 317,
// 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.
};
frameworks/base$ git diff core/java/android/view/KeyEvent.java
diff --git a/core/java/android/view/KeyEvent.java b/core/java/android/view/KeyEvent.java
index 858da554c670..e818d5f2f61f 100644
--- a/core/java/android/view/KeyEvent.java
+++ b/core/java/android/view/KeyEvent.java
@@ -922,13 +922,14 @@ public class KeyEvent extends InputEvent implements Parcelable {
*/
public static final int KEYCODE_MACRO_4 = 316;
+ public static final int KEYCODE_AGING = 317;
- /**
+ /**
* Integer value of the last KEYCODE. Increases as new keycodes are added to KeyEvent.
* @hide
*/
@TestApi
- public static final int LAST_KEYCODE = KEYCODE_MACRO_4;
+ public static final int LAST_KEYCODE = KEYCODE_AGING;
// NOTE: If you add a new keycode here you must also add it to:
// isSystem()
frameworks/base$ git diff core/res/res/values/attrs.xml
diff --git a/core/res/res/values/attrs.xml b/core/res/res/values/attrs.xml
index f0f39d160b59..8823656191eb 100644
--- a/core/res/res/values/attrs.xml
+++ b/core/res/res/values/attrs.xml
@@ -2138,7 +2138,8 @@
<enum name="KEYCODE_DEMO_APP_1" value="301" />
<enum name="KEYCODE_DEMO_APP_2" value="302" />
<enum name="KEYCODE_DEMO_APP_3" value="303" />
- <enum name="KEYCODE_DEMO_APP_4" value="304" />
+ <enum name="KEYCODE_DEMO_APP_4" value="304" />
+ <enum name="KEYCODE_AGING" value="305" />
</attr>
<!-- ***************************************************************** -->
添加完了以后,对系统的api 进行更新, 执行make update-api
source build/envsetup.sh
lunch project-userdebug
make update-api -j16
make -j16
修改完系统后,修改对应的遥控映射文件xxxx.kl (名称根据系统映射而定)
通过 dumpsys input 命令找到遥控对应的xxxx.kl文件,添加一个kl文件中没有存在过的键值188,映射上面定义的KEYCODE_AGING , 即下面的AGING
Vendor_0001_Product_0001.kl:119:key 188 AGING
Generic.kl:203:key 188 AGING
remote.tab2:56: 0x1b 188 #AGING
定义完成以后,将对应的红外码 对应 上 键值对 188
mesonsm1.dtsi:950: REMOTE_KEY(0x1b, 188)>;/*KEY_AGING*/
至此新的红外码值添加已经完成(任意平台对应的码值文件名称可能不一样),但是整个Android系统都可以借鉴此方法,添加新的码值。