文章目录
- 简述
- 连接蓝牙
- 代码流程
- 总结
简述
使用android 10平台来适配蓝牙遥控器新增的键值
连接蓝牙
当使用遥控器与蓝牙进行配对成功后,就可以通过getevent获取蓝牙打印的信息,如下所示
其中000700a0是发送过来的协议(0007)和码值(00a0)的组合。0xfa是驱动定义好的值,如果此处的值为0xf0表示该键还没有定义。
代码流程
1.hid-input.c
kernel/msm-4.14/drivers/hid/hid-input.c
找下关键字段case HID_UP_KEYBOARD:
由于不同的蓝牙遥控器对应的协议会存在差别,此时需要根据实际情况来进行修改。
switch (usage->hid & HID_USAGE_PAGE) {
// usage->hid &HID_USAGE_PAGE -->000700a0 & 0xffff0000 = 00070000-->HID_UP_KEYBOARD
/** 以上值的定义可在kernel/msm-4.14/include/linux/hid.h中查到
#define HID_UP_KEYBOARD 0x00070000
#define HID_USAGE 0x0000ffff
#define HID_USAGE_PAGE 0xffff0000
*/
...
case HID_UP_KEYBOARD:
set_bit(EV_REP, input->evbit);
if ((usage