当前位置: 首页 > 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;
}

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

相关文章:

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

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

angular cmd

npm uninstall -g angular/cli npm install -g angular/cli npm install -g angular/cli17 ng update angular/core17 angular/cli17 # 安装 typescript npm i -g typescript5.3.2 # 安装 Angular CLI npm install -g angular/cli17.3.8 # 或者 cnpm install -g angular/cli…...

[ACTF2020 新生赛]BackupFile1

打开题目 利用disearch扫描&#xff0c;发现源文件index.php.bak 下载下来 打开文件 代码审计&#xff0c;翻译一下 翻译代码为&#xff1a; <?php include_once "flag.php"; //这一行使用 include_once 函数来包含&#xff08;或插入&#xff09;另一个 PHP …...

Springboot学习-day16

Springboot学习-day16 Springboot是spring家族中的一个全新框架&#xff0c;用来简化spring程序的创建和开发过程。在以往我们通过SpringMVCSpringMybatis框架进行开发的时候&#xff0c;我们需要配置web.xml&#xff0c;spring配置&#xff0c;mybatis配置&#xff0c;然后整…...

Map 31

...

dfs,CF 196B - Infinite Maze

一、题目 1、题目描述 2、输入输出 2.1输入 2.2输出 3、原题链接 https://codeforces.com/problemset/problem/196/B 二、解题报告 1、思路分析 考虑如何判断一条路径可以无限走&#xff1f; 我们对朴素的网格dfs改进&#xff0c;改进为可以dfs网格外的区域 如果存在某个…...

鸿蒙应用框架开发【JS注入与执行】 Web

JS注入与执行 介绍 本示例基于H5游戏&#xff0c;通过arkui的button实现对游戏实现基本控制&#xff0c;展示webview的JS注入与执行能力&#xff0c;及native应用与H5的通信能力。 效果预览 使用说明 1.设备连接热点&#xff0c;可访问互联网。 2.打开应用&#xff0c;通过…...

AI问答:理解 DRG / Diagnosis Related Group / 按疾病诊断相关分组

DRG&#xff08;Diagnosis Related Group&#xff09;系统&#xff0c;中文译作“按疾病诊断相关分组”&#xff0c;是一种根据病情临床相似程度和资源消耗水平将住院病人进行分组的系统。以下是对DRG系统的详细理解&#xff1a; 一、定义与原理 1.1、定义&#xff1a;DRG系统…...

多个线程同时调用接口

1、线程的基本概念 线程是程序执行的最小单元。每个线程可以独立执行一段代码&#xff0c;与其他线程并行运行。Java提供Thread类和Runnable接口来创建和管理线程。 2、创建线程 1&#xff09;继承Thread类并重写run()方法&#xff1a; class MyThread extend Thread{ pub…...

本科阶段最后一次竞赛Vlog——2024年智能车大赛智慧医疗组准备全过程——1到手测试

本科阶段最后一次竞赛Vlog——2024年智能车大赛智慧医疗组准备全过程——1到手测试 ​ 大家好&#xff0c;今天给大家带来的是购买到小车或者说RDK X3之后直接快速体验&#xff0c;今天主要围绕官方的快速入门手册进行逐步测试 1.知识补充1 ​ 在这里首先要给新手小白补充几…...

2024第三届钉钉杯大学生大数据挑战赛【A题】完整分享

2024第三届钉钉杯大学生大数据挑战赛已经开赛&#xff0c;小编给大家带来非常实用的助力【A题】完整&#xff0c;&#xff08;看图片下方的说明&#xff09;&#xff0c;资料预览&#xff1a; 微信公众号...

下面关于数组排序的说明那项是错误的?

下面关于数组排序的说明那项是错误的&#xff1f; A. java.util.Arrays类提供有数组排序的支持方法&#xff1a;sort()&#xff1b; B. 通过java.util.Arrays类排序的对象所在类需要实现Comparable或Comparator接口&#xff1b; C. String数组可以进行排序&#xff0c;是因为St…...

【第二篇章】优秀的机器学习策略 超参数优化之决策树

在机器学习的浩瀚星空中&#xff0c;决策树作为一颗璀璨的星辰&#xff0c;以其直观易懂、解释性强以及高效处理分类与回归任务的能力&#xff0c;赢得了众多数据科学家与工程师的青睐。随着大数据时代的到来&#xff0c;如何从海量数据中提炼出有价值的信息&#xff0c;构建出…...

httprunner转载

基于 HttpRunner4.0 的接口自动化测试实践 测试之家 from httprunner import HttpRunner, Config, Step, RunRequest, RunTestCase # 配置数据库连接信息 config ( Config("database test") .variables( **{ "db_host": &…...

反序列化漏洞vulhub靶场serial

环境搭建 下载 https://download.vulnhub.com/serial/serial.zip 解压出来就是这种 你会得到一个这样的文件&#xff0c;这里使用VMware新建一个虚拟机&#xff0c;这里记录比较重要的几部分。 这里就是使用我们刚才下过来的。 漏洞过程详解 1.信息收集 打开靶机&#xff0…...

C++ 文件流详解

在 C 中&#xff0c;文件处理是一个常见且重要的任务。标准库提供了三种主要的文件流类来处理文件输入和输出&#xff1a;fstream、ifstream 和 ofstream。这些类都在 <fstream> 头文件中定义。 一、fstream 类 fstream 是文件流类的基类&#xff0c;既可以用于读操作&…...

docker compse简介与安装

目录 1. Docker Compose 简介 2. Docker Compose 安装 2.1 在 Ubuntu 上安装 Docker Compose 2.1.1 通过 apt 安装 2.1.2 使用官方脚本安装最新版本 2.2 在 CentOS 上安装 Docker Compose 2.2.2 使用官方脚本安装最新版本 2.2.3 使用 pip 安装 2.3 在 openEuler 上安装…...

基于深度学习的零样本学习

零样本学习&#xff08;Zero-Shot Learning, ZSL&#xff09;是深度学习中的一个前沿研究领域&#xff0c;其目标是在没有见过目标类别的样本的情况下&#xff0c;对这些新类别进行识别或分类。这种方法特别适用于在实际应用中存在大量未标注类别或新类别不断涌现的场景&#x…...

C++——list容器以及手动实现

LIST容器 list概述列表容器属性例子 list函数构造函数默认构造函数&#xff1a;带有元素个数和元素初值的构造函数&#xff1a;范围构造函数&#xff1a;拷贝构造函数&#xff1a;移动构造函数&#xff1a;示例 赋值运算符重载拷贝赋值操作符 (1)&#xff1a;移动赋值操作符 (2…...

Win11系统文件资源管理器鼠标右键卡顿解决方法

引用链接&#xff1a; Windows 11文件资源管理器崩溃怎么解决&#xff1f;看看这7个解决办法&#xff01;...

丹青识画系统Prompt工程指南:如何用文本描述引导更精准的风格鉴定

丹青识画系统Prompt工程指南&#xff1a;如何用文本描述引导更精准的风格鉴定 丹青识画这类AI系统&#xff0c;很多人以为它就是个“看图说话”的工具&#xff0c;把图片丢进去&#xff0c;它告诉你这是什么风格、哪个流派。这确实没错&#xff0c;但如果你只这么用&#xff0…...

vue3-composition-admin TypeScript最佳实践:类型安全与开发效率的完美平衡

vue3-composition-admin TypeScript最佳实践&#xff1a;类型安全与开发效率的完美平衡 【免费下载链接】vue3-composition-admin &#x1f389; 基于vue3 的管理端模板(Vue3 TS Vuex4 element-plus vue-i18n-next composition-api) vue3-admin vue3-ts-admin 项目地址: http…...

Cogito-v1-preview-llama-3B效果展示:STEM题目分步推导+代码生成真实截图

Cogito-v1-preview-llama-3B效果展示&#xff1a;STEM题目分步推导代码生成真实截图 1. 模型能力概览 Cogito v1 预览版是Deep Cogito推出的混合推理模型系列&#xff0c;在大多数标准基准测试中均超越了同等规模下最优的开源模型。这个3B参数的模型在编码、STEM题目解答、指…...

2分钟搞定:Windows包管理器Winget一键安装全攻略

2分钟搞定&#xff1a;Windows包管理器Winget一键安装全攻略 【免费下载链接】winget-install Install winget tool using PowerShell! Prerequisites automatically installed. Works on Windows 10/11 and Server 2022. 项目地址: https://gitcode.com/gh_mirrors/wi/winge…...

别再只会docker push了!Harbor镜像上传的5个隐藏技巧与实战避坑指南

Harbor镜像上传实战&#xff1a;5个高阶技巧与避坑指南 当你在凌晨三点被CI/CD流水线的失败通知惊醒&#xff0c;发现又是镜像上传问题导致整个发布流程卡住时&#xff0c;就会明白掌握Harbor的进阶用法有多重要。作为企业级容器镜像仓库&#xff0c;Harbor远比简单的docker pu…...

ollama-QwQ-32B模型微调+OpenClaw:个性化自动化助手训练实录

ollama-QwQ-32B模型微调OpenClaw&#xff1a;个性化自动化助手训练实录 1. 为什么需要个性化AI助手&#xff1f; 去年处理法律文书时&#xff0c;我发现通用大模型对专业术语的理解总差那么点意思。一个简单的"请整理这份合同中的关键条款"指令&#xff0c;模型返回…...

OpenClaw浏览器自动化:ollama-QwQ-32B驱动的研究资料收集系统

OpenClaw浏览器自动化&#xff1a;ollama-QwQ-32B驱动的研究资料收集系统 1. 为什么需要自动化研究资料收集 作为一名经常需要查阅大量文献的技术写作者&#xff0c;我长期被资料收集的效率问题困扰。传统工作流程中&#xff0c;我需要手动在Google Scholar、arXiv、知乎等平…...

2026考公全攻略:在校生如何选岗、如何备考、如何上岸一次讲清

很多在校生最近都在问&#xff1a;现在开始准备公务员考试&#xff0c;还来得及吗先说结论&#xff1a;来得及&#xff0c;但前提是你要走对路径这几年考公环境已经发生明显变化报考人数持续增加岗位信息越来越透明单纯刷题已经不再有效考公正在从拼努力&#xff0c;变成拼策略…...

ai结对编程实践:如何利用kimi在快马平台智能辅助完成用户认证系统开发

AI结对编程实践&#xff1a;如何利用Kimi在快马平台智能辅助完成用户认证系统开发 最近在开发一个需要用户认证功能的项目&#xff0c;后端用Node.js Express&#xff0c;前端用Vue。作为一个独立开发者&#xff0c;面对这种前后端都要兼顾的情况&#xff0c;我决定尝试用Kimi…...

ubuntu系统检测内核配置是否支持Docker核心模块

有一些内核缺少 Docker 所需的核心模块&#xff08;overlayfs、bridge、iptables 相关等&#xff09;所以在安装docker之前可以先检查一下。 脚本&#xff0c;可以检测Kernel配置是否符合Docker的运行要求 源地址&#xff1a;https://github.com/moby/moby/blob/master/contr…...