当前位置: 首页 > article >正文

在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系统都可以借鉴此方法,添加新的码值。 







http://www.kler.cn/a/564506.html

相关文章:

  • Leetcode 141 Linked List Cycle and Leetcode 142 Linked List Cycle II
  • 串口解析的服务器流程优化
  • Android构建系统 - 06 添加编译模块
  • 大湾区经济网报道:拉美电商交易额连续三年增速超35%
  • 每天一个Flutter开发小项目 (4) : 构建收藏地点应用 - 深入Flutter状态管理
  • 网络安全 机器学习算法 计算机网络安全机制
  • kafka-web管理工具cmak
  • 设备健康管理系统在制造业的深度应用探索
  • 3DCAPP系列:开目浏览器KMVue
  • DeepSeek 提示词:常见指令类型
  • CSS 日常开发常用属性总结
  • pytorch基础-比较矩阵是否相等
  • Java类中的this操作
  • 2025-02-27 学习记录--C/C++-PTA 7-30 字符串的冒泡排序
  • fastchat 支持llama3 harmbench PAIR攻击支持 llama3
  • Vue+Element UI table表格,数据展示错位(已解决)
  • Three.js包围盒
  • sqlmap:自动SQL注入和数据库接管工具
  • 线性回归 (Linear Regression)案例分析2
  • 0x02 js、Vue、Ajax