在双屏异显产品中,有时候主副屏都带有触摸屏,并且要求主副屏触摸各自操作互不干扰。
Android 现有框架中已经支持副输入设备的逻辑,只是默认将所有的外部热插拔设备统一指定为副输入设备,这种逻辑我们如果是一个 i2c 加上一个 usb 触摸那么默认就可以支持,usb触摸就是副tp。
但,有时候我们是双 i2c 或双 usb 的搭配,我们就需要改造现有逻辑,方案如下:
通过属性配置副屏 tp 的: 设备名、pid&vid、usb端口,在 EventHub 中获取输入设备的设备名、pid&vid、usb端口与属性值进行对比,如果是配置中的设备就将其标记为副输入设备。
源码
实现
diff --git a/frameworks/native/services/inputflinger/EventHub.cpp b/frameworks/native/services/inputflinger/EventHub.cpp
old mode 100644
new mode 100755
index 2bcc5c7..1542a7b
--- a/frameworks/native/services/inputflinger/EventHub.cpp
+++ b/frameworks/native/services/inputflinger/EventHub.cpp
@@ -64,6 +64,11 @@
#define