触摸屏识别为鼠标的解决方法
之前调试安卓的tp的时候遇到一个问题,就是系统将触摸设备识别为usb鼠标设备
一、修改方法
在对应的device/nxp/imx8m/evk_8mp目录下,添加一个Goodix_Capacitive_TouchScreen.idc
其内容如下
这个idc的名字好像也有关系,到时候你们可以自己看看,不同的tp这个名字好像有关系。
touch.deviceType = touchScreen
/*如果值为 touchScreen,那么触摸设备是与显示屏相关联的触摸屏。如果值为 touchPad,那么触摸设备是不与显示屏相关联的触摸板。如果值为 pointer,那么触摸设备是不与显示屏相关联的触摸板,并且其动作用于间接多点触控指控手势。如果值为 default,系统将根据分类算法自动检测设备类型。
*/
touch.orientationAware = 1
/*如果值为 1,只要显示屏的方向更改了,触摸设备报告的触摸位置就会旋转。如果值为 0,触摸设备报告的触摸位置将不受显示屏方向更改的影响。
*/
touch.size.calibration = none
/*指定触摸驱动程序报告触摸尺寸和工具尺寸时所用的测量类型。如果值为 none,那么尺寸设为零。如果值为 geometric,那么假定以与位置相同的 Surface 单元指定尺寸,从而以相同的方式对尺寸进行缩放。如果值为 diameter,那么假定尺寸与触摸或工具直径(宽度)成比例。如果值为 area,那么假定尺寸与触摸或工具面积成比例。如果值为 default,那么在 raw.touchMajor 或 raw.toolMajor 轴可用的情况下,系统将使用 geometric 校准,否则使用 none 校准。
*/
touch.orientation.calibration = none
/*指定触摸驱动程序报告方向时所用的测量类型。如果值为 none,方向未知,则设为 0。如果值为 interpolated,则方向被线性插入,使得 raw.orientation.min 的原始值映射到 -PI/2,raw.orientation.max 的原始值映射到 PI/2。(raw.orientation.min + raw.orientation.max) / 2 的中心值映射到 0。如果值为 vector,则方向表示为包含两个带符号的 4 位字段的压缩向量。该表示法用于 Atmel 基于对象的协议部分。当解码时,向量生成定向角和置信度。置信度用于缩放尺寸信息,除非它是几何图形。如果值为 default,那么在方向轴可用的情况下,系统将使用 interpolated 校准,否则使用 none。
*/
关于触摸的官方详细解释可以看:
触摸官方网址
修改对应的imx8m/evk_8mp/BoardConfig.mk
添加下面对应的一行
PRODUCT_COPY_FILES += \device/nxp/imx8m/evk_8mp/Goodix_Capacitive_TouchScreen.idc:vendor/usr/idc/Goodix_Capacitive_TouchScreen.idc
编译烧录
二、修改usb触摸跟随HDMI分辨率
遇到一个新bug就是我使用usb触摸的时候,插入HDMI会导致我的usb触摸跟随HDMI的分辨率,而不是屏幕的分辨率。
拔出HDMI
log显示:
03-21 09:52:47.400 543 626 I InputReader: Reconfiguring input devices, changes=DISPLAY_INFO |
03-21 09:52:47.400 543 626 W InputReader: Input device ILITEK ILITEK-TP should be associated with external display, fallback to internal one for the external viewport is not found.
03-21 09:52:47.400 543 626 I InputReader: Device reconfigured: id=2, name='ILITEK ILITEK-TP', size 1280x800, orientation 0, mode 1, display id 0
插入HDMI
LOG显示:
03-21 09:53:22.735 543 626 I InputReader: Reconfiguring input devices, changes=DISPLAY_INFO |
03-21 09:53:22.735 543 626 I InputReader: Device reconfigured: id=2, name='ILITEK ILITEK-TP', size 1422x800, orientation 0, mode 1, display id 0
很明显分辨比变
原因就是每次插拔显示外设的时候,usb触摸就会去重新配置一次,我们关闭触摸跟随外设就行。
屏蔽掉frameworks/native/下的代码
diff --git a/services/inputflinger/reader/EventHub.cpp b/services/inputflinger/reader/EventHub.cpp
index a1514af66..630079555 100644
--- a/services/inputflinger/reader/EventHub.cpp
+++ b/services/inputflinger/reader/EventHub.cpp
@@ -1459,7 +1459,7 @@ status_t EventHub::openDeviceLocked(const char* devicePath) {// Determine whether the device is external or internal.if (isExternalDeviceLocked(device)) {- device->classes |= INPUT_DEVICE_CLASS_EXTERNAL;
+ //device->classes |= INPUT_DEVICE_CLASS_EXTERNAL;
//这个决定异显后usb接口的触摸屏会在调用到副屏上,这里注释掉就是禁止
触摸屏识别为鼠标的解决方法相关推荐
- 计算机无法识别3.0u盘启动,USB3.0接口不能识别U盘的解决方法
USB3.0接口不能识别U盘的解决方法 USB接口可以说是电脑的标配,现在基本上所有电脑都会搭载USB接口.而USB标准从1.0发展到现在的3.0,甚至更新的也已出来.不过,如果USB3.0无法识别U ...
- 鸿合一体机触屏没反应怎么办_电脑一体机触摸屏没反应 触摸屏电脑一体机常见故障解决方法...
触摸屏电脑一体机常见故障解决方法 1.触摸屏不准 一台五线电阻触摸屏,用手指触摸显示器屏幕的部位不能正常地完成对应的操作. [故障分析处理] 这种现象可能是电阻屏的校对有问题. 在下列情况下可运行屏幕 ...
- vb.net程序可以在触摸屏上运行么_触摸屏amp;触控一体机常见故障解决方法
■一体机电脑触摸屏使用时间一长,容易出现这样或那样的故障,以下触摸屏一体机常见故障及解决方法,供参考. 01 触摸屏不准 一台五线电阻触摸屏,用手指触摸显示器屏幕的部位不能正常地完成对应的操作. 故障 ...
- 联想小新pro无法人脸识别自动开机的解决方法
联想小新pro无法人脸识别自动开机的解决方法 联想小新pro无法人脸识别自动开机,只能输入PIN解锁. 文章目录 联想小新pro无法人脸识别自动开机的解决方法 一.问题 二.解决方法 一.问题 打开电 ...
- 服务器固态硬盘无法识别硬盘,固态硬盘无法识别的原因及解决方法
硬盘故障的原因很多,排除硬盘出现坏道.电路板烧毁等本身硬件损坏外,因主板或系统设置不正确而无法找到硬盘的现象也是时时发生的.譬如在更换计算机主板.电源后,或多或少的因为设置不正确而使系统无法正确识别硬 ...
- 计算机黑屏但是有鼠标,电脑黑屏但是鼠标能动解决方法
电脑黑屏但是鼠标能动解决方法 深圳电脑维修 电脑维修 2018-11-1 16693 0评论 电脑开机后黑屏但鼠标能动怎么办?笔记本电脑开机后黑屏但鼠标能动怎么办?电脑黑屏但是 ...
- 计算机启动后只有鼠标桌面黑屏,电脑开机黑屏只有鼠标的解决方法
电脑开机黑屏只有鼠标怎么办?开机后黑屏,只有鼠标能动.这个问题困扰了大概一年多,每次遇到都要花好久去折腾,以前还愿意装系统,现在软件多了,装系统代价太高.对此,有什么方法可以轻松的解决电脑开机黑屏只有 ...
- win10打开计算机黑屏怎么办,win10电脑黑屏只有鼠标箭头怎么办_win10电脑打开黑屏只有鼠标的解决方法...
最近有朋友问小编win10电脑黑屏只有鼠标箭头怎么办,对于win10屏幕黑屏就剩鼠标的问题,应该有很多人遇到过,有的朋友发现w10电脑开机黑屏只有鼠标箭头,不知道怎么回事,那么win10开机黑屏只有鼠 ...
- 惠普服务器装系统无法识别u盘,惠普uefi bios无法识别u盘的解决方法
3.如何解决惠普电脑uefi识别不了u盘 2.进入bios后,切换到system configuration选项卡,在按"↓"键移动到boot options并按回车键,如图所示: ...
最新文章
- LeetCode Add Two Numbers II(栈)
- .Net Core下如何管理配置文件
- HDU2018题求母牛数量C++
- 【⛔拒绝内卷,学会shell,走遍天下都不怕⛔】shell编程基础
- docker add-host hostAliases配置/etc/hosts
- bzoj1601: [Usaco2008 Oct]灌水
- MFC 窗体样式修改
- SQL语句(DQL)
- oracle静默安装访问数据库慢,Oracle数据库静默安装总结
- Web 浏览器相关的一些概念
- 六大方法来对付网站出现的负面信息
- 洛谷 P2181 对角线
- kalilinux装到u盘上的弊端_你有一个 U 盘制作多系统安装盘的需求吗,YUMI 帮你秒实现!...
- redis copy-on-write机制
- 模糊c均值聚类_聚类算法及其数据可视化
- 2019上半年软件设计师考试大纲
- 图片压缩工具ImageOptim
- 如何修改计算机的ip地址在哪里设置路由器,win7系统电脑无线路由器IP地址如何修改?电脑修改路由器IP地址的方法...
- 移动硬盘写保护,无法格式化的解决办法。
- Nginx 配置根据表示进行PC与移动的跳转
热门文章
- java kill 进程命令_Windows使用Java调用taskkill命令结束进程
- html如何退出登录,睡眠、退出登录和关机快捷键
- 使用fastapi完成一个车辆违章查询,可以看到实现页面
- 数据结构之C++实现顺序表(SeqList)无主函数
- SpringCloud - 整合Nacos启动报错Consider defining a bean of type IClientConfig
- 八股文--MySql
- shell if else 语句 写成一行
- linux内核模块调试信息,linux 内核模块调试
- Python 如何利用selenium爬取同花顺网上市公司2020一季度利润报表
- UE5 实现fps类游戏 note2