双屏异触 — 实现指定触摸为副屏触摸功能

在双屏异显产品中,有时候主副屏都带有触摸屏,并且要求主副屏触摸各自操作互不干扰。

Android 现有框架中已经支持副输入设备的逻辑,只是默认将所有的外部热插拔设备统一指定为副输入设备,这种逻辑我们如果是一个 i2c 加上一个 usb 触摸那么默认就可以支持,usb触摸就是副tp。

但,有时候我们是双 i2c 或双 usb 的搭配,我们就需要改造现有逻辑,方案如下:

通过属性配置副屏 tp 的: 设备名、pid&vid、usb端口,在 EventHub 中获取输入设备的设备名、pid&vid、usb端口与属性值进行对比,如果是配置中的设备就将其标记为副输入设备。

源码

Android-MultiTouchPanel

实现

属性配置格式说明

属性名:ro.input.external
属性值:

设备类型 格式 例如
usb vid:pid 222a:0001
usb usb端口 usb-1.4
i2c 设备名 Hanvon electromagnetic pen

也可以同时配置多个设备,各属性值之间用“,”隔开。

例如:

以上属性配置“vid=222a,pid=0001”的 usb tp 和设备名为“Hanvon electromagnetic pen”的 i2c tp 以及 usb 端口为 1.4 的 tp 为副屏 tp,其它未配置的都默认为主屏 tp。

最后

如果你看到了这里,觉得文章写得不错就给个赞呗!欢迎大家评论讨论!如果你觉得那里值得改进的,请给我留言。一定会认真查询,修正不足,定期免费分享技术干货。谢谢!

双屏异触 --- 实现指定触摸为副屏触摸功能

来源:Android架构师丨小熊

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2019年7月24日
下一篇 2019年7月24日

相关推荐