完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
1 先配置好双屏异显功能,具体参考以下链接
由于我们项目不需要副屏触摸功能,保证主屏使用u***接口触摸功能 在路径为/frameworks/native/services/inputflinger/EventHub.cpp屏蔽掉 device->classes |= INPUT_DEVICE_CLASS_EXTERNAL;这句话 wangxd@build-server-100:~/work/dsy/rk3288-Android-7.0/frameworks/native((4e55453...))$ git diff services/inputflinger/EventHub.cpp diff --git a/services/inputflinger/EventHub.cpp b/services/inputflinger/EventHub.cpp old mode 100644 new mode 100755 index 03de939..620e492 --- a/services/inputflinger/EventHub.cpp +++ b/services/inputflinger/EventHub.cpp @ -1330,17 +1323,8 @@ status_t EventHub::openDeviceLocked(const char *devicePath) { //} // Determine whether the device is external or internal. if (isExternalDeviceLocked(device)) { //这个决定异显后u***接口的触摸屏会在调用到副屏上 - device->classes |= INPUT_DEVICE_CLASS_EXTERNAL; + // device->classes |= INPUT_DEVICE_CLASS_EXTERNAL; } if (device->classes & (INPUT_DEVICE_CLASS_JOYSTICK | INPUT_DEVICE_CLASS_DPAD) 2 双屏异触原理说明 在原生的 Android 系统代码中,触摸的事件实体中已经包含了一个叫做 displayId 的成员。 这说明双触摸的框架 Android 基本已经做好,如果触摸事件的 displayId 对应的是主屏,那么它 就会把事件送给主屏的 TouchdedWindow。同理,如果触摸事件的 displayId 对应的是副屏, 那么它就会把该事件送给副屏的 TouchedWindow。因此关键的地方就是这个 displayId 是如何 被赋值的,在 inputflinger 的 Eventhub.cpp 代码中,openDeviceLocked 函数会通过 ioctl() 获取设备信息,并根据获取到的信息判断设备的类型,在 device.classes 中对其相应的属性赋值, 其中 INPUT_DEVICE_CLASS_EXTERNAL 标识该设备是否为外接设备。当有 USB 或蓝牙接口 的触摸屏,该触摸设备会设置 INPUT_DEVICE_CLASS_EXTERNAL 属性,input 框架就是根据 这个属性来最终将其的 event 送给副屏的 TouchedWindow。 // Determine whether the device is external or internal.标识该设备是否为外接设备 if (isExternalDeviceLocked(device)) { device->classes |= INPUT_DEVICE_CLASS_EXTERNAL; } 所以如果使用触摸屏,主屏使用的是 I2C 接口,副屏使用的是 USB 或者蓝牙接口,那么就可以实现双触摸。如果两个都使用的是 I2C,或者都使用的是 USB(蓝牙),只要修改代码保证主屏上的触摸设备不带 INPUT_DEVICE_CLASS_EXTERNAL 属性,副屏上的触摸设备带上这个属性,也可以实现双触摸功能。 |
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
基于米尔瑞芯微RK3576核心板/开发板的人脸疲劳检测应用方案
1162 浏览 0 评论
1330 浏览 1 评论
1015 浏览 1 评论
2345 浏览 1 评论
3671 浏览 1 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-31 02:16 , Processed in 0.467085 second(s), Total 43, Slave 36 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号