Android配置蓝牙键值的步骤和一般的键值基本相同,但是有几点区别需要注意

kl文件修改

蓝牙键值的kl有特殊的形式

key usage 0x0c008c HOME

第一列表示这是一个键值,第二列可以先不管,第三列是蓝牙键值,第四列是Android键名,可以在前一篇博客中对此深入了解。

linux键值映射getScanCode

这个需求其实挺偏门的,因为我们在驱动层用多个红外键值对应了一个Android键值,在应用层靠KeyEvent.getScanCode()函数获取linux键值来加以区分。红外这么做已经比较熟,有方案商提供的文档。但是蓝牙用的是Linux默认的一套流程,需要花时间去搞。

这个文件其实就是

/apollo/linux_core/kernel/linux-3.10/drivers/hid/hid-input.c

在mapped标志后面添加判断我这里是936

mapped:    printk("before BT transfer code is %d the  hid is 0x%x \n",usage->code,usage->hid);    if (usage->code==169 && usage->hid==0x0c008c)    {/*freeze*/        usage->code=231;    }

169是该蓝牙键值默认的linux键值,0x0c008c是蓝牙键值的hid码值,231是需求的linux码值,也就是getScanCode希望返回的键值。

串口调试

查看蓝牙设备的Vendor ID和Product ID

cat /proc/bus/input/devices

设备对应keylayout文件

dumpsys input 查看按键设备对应的键值映射表

更多相关文章

  1. NPM 和webpack 的基础使用
  2. 【阿里云镜像】使用阿里巴巴DNS镜像源——DNS配置教程
  3. 如何在Android工程中导入其它工程作为引用,解决NoClassDefFound
  4. 在Android(安卓)so文件的.init、.init_array上和JNI_OnLoad处下
  5. AllJoyn+Android开发案例-android跨设备调用方法
  6. Android高手进阶教程(四)之----Android(安卓)中自定义属性(attr.
  7. android 对于asset下文件的操作
  8. Android(安卓)使用多线程来做多文件上传Or下载
  9. 安卓系统设备升级巨慢 为什么安卓设备系统升级慢

随机推荐

  1. 【Android布局】在程序中设置android:gra
  2. Hello Android
  3. android WebView总结
  4. android 布局特殊的属性介绍
  5. Android学习笔记__1__Android体系架构
  6. android:layout_gravity="bottom"不起作
  7. AndroidMenifest.xml中android:sharedUse
  8. Android(安卓)底部导航栏
  9. android drawable中的state属性说明
  10. Android(安卓)Robotium自动化测试入门