当前位置: 首页 > news >正文

RK3568平台(触摸篇)双屏异触调试

一.现象

现象:准备两块主屏都接触摸框,A屏的HDMIOUT外接B屏的HDMIIN,用手触摸A屏,发现A屏没有触摸,A屏幕的触摸现象在B屏那边。

现要求:用手触摸A屏,A屏要有现象,不能现象在B屏那边。

二.调试记录

双屏异触的修改方法有两种:

1、修改 EventHub.cpp 代码。

2、 配置触摸屏的IDC文件。

目前我们采用第一种方式来修改。

EventHub.cpp 代码路径:

frameworks\native\services\inputflinger\reader\EventHub.cpp

显示先确认HDMIOUT的输出是作为主屏还是副屏:

130|console:/ # getprop | grep hwc
[debug.sf.enable_hwc_vds]: [true]
[init.svc.vendor.hwcomposer-2-1]: [running]
[init.svc_debug_pid.vendor.hwcomposer-2-1]: [431]
[ro.boottime.vendor.hwcomposer-2-1]: [12279171464]
[vendor.ghwc.version]: [HWC2-1.5.122]
[vendor.hwc.device.display-0]: [HDMI-A-1:108:connected]
[vendor.hwc.device.extend]: [HDMI-A-2]  //副屏
[vendor.hwc.device.primary]: [HDMI-A-1]  //主屏
[vendor.hwc.enable_sideband_stream_2_mode]: [1]
[vendor.hwc.hdr_state]: [NORMAL]

这里与硬件确认HDMIOUT是HDMI-A-2作为副屏。

RK文档中提供的修改方法:

// Determine whether the device is external or internal.
if (device->isExternalDeviceLocked()) {device->classes |= InputDeviceClass::EXTERNAL;
}

 这里device->classes |= InputDeviceClass::EXTERNAL;表示将触摸指定到副屏幕。

这里尝试将device->classes |= InputDeviceClass::EXTERNAL屏蔽掉。

if (device->isExternalDeviceLocked()) {//device->classes |= InputDeviceClass::EXTERNAL;
}

看还是一样的效果,不能将触摸修改放在主屏上。

尝试查看InputDeviceClass中属性的定义:

InputDeviceClass定义在:

frameworks\native\services\inputflinger\reader\include\EventHub.h

找到InputDeviceClass::TOUCH

尝试修改:

if (device->isExternalDeviceLocked()) {device->classes |= InputDeviceClass::TOUCH;
}

最终将触摸修改在主屏上。

http://www.lryc.cn/news/412163.html

相关文章:

  • angular cmd
  • [ACTF2020 新生赛]BackupFile1
  • Springboot学习-day16
  • Map 31
  • dfs,CF 196B - Infinite Maze
  • 鸿蒙应用框架开发【JS注入与执行】 Web
  • AI问答:理解 DRG / Diagnosis Related Group / 按疾病诊断相关分组
  • 多个线程同时调用接口
  • 本科阶段最后一次竞赛Vlog——2024年智能车大赛智慧医疗组准备全过程——1到手测试
  • 2024第三届钉钉杯大学生大数据挑战赛【A题】完整分享
  • 下面关于数组排序的说明那项是错误的?
  • 【第二篇章】优秀的机器学习策略 超参数优化之决策树
  • httprunner转载
  • 反序列化漏洞vulhub靶场serial
  • C++ 文件流详解
  • docker compse简介与安装
  • 基于深度学习的零样本学习
  • C++——list容器以及手动实现
  • Win11系统文件资源管理器鼠标右键卡顿解决方法
  • 零基础学Python之 第十八讲 文件读写
  • 检索增强生成(RAG):智能内容生成的新纪元
  • ubuntu2204安装elasticsearch7.17.22
  • 介绍Servlet后端中两种接收参数方式req.getAttributer和req.getParameter的区别
  • Delphi FMX安卓Android播放mp3音频内存流
  • MapUtils常用方法
  • 自定义PasswordEditText控件,在手机字体应用后,字体样式未发生改变
  • 学习打卡第31天
  • opencascade AIS_TexturedShape源码学习 贴纹理
  • C# winform 串口读取字节流,MB级别字节流
  • 创建一个简单的单链表