HOGP/HID 设备 新增自定义按键

起因

经常听客户反馈, 怎么这个按键不响应?? 怎么RC 部分按键 scan code不正确?
netflix key 怎么不能唤醒app? 怎么新增一个特殊的功能按键?
或者遇到一个更加鲜活的情形,某天,你手上有一个非常nice的蓝牙遥控器,你想好好利用起来,用来控制你的平台,该如何实现呢?

HID 设备的映射信息

针对 一个陌生的设备,可能你无法提前获得到该设备设计规范,
但是仍有几种方法可以在使用期间获得到映射信息(report description)

HOGP/HID设备需要遵守 USB-HID Usge table,按键发出的物理编码叫做scan code,与红外遥控器一样。
通常情况下满足标准的usb-hid usge table 的按键,不需要特殊处理,无论是android 还是linux,上层都能有对应的event 相应。

例如: keyboard 支持的键值范围0-231
大多数蓝牙遥控器都可以控制不同平台,就是这个原因,大家都使用的标准keyboard map 表。

但是往往有很多大厂,会自定义一些专用按键,启动特殊功能,针对特殊类型的键值需要在uhid kernel 和input kernel 层做特别处理,才不至于key 被kernel 层丢掉。

回归正题,怎么获取到未知设备的映射信息? 以便于我们找到该设备的自定义按键。

将该设备与任意平台(linux或android 都行)配对,然后有如下两种方法&

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值