之前调试安卓的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接口的触摸屏会在调用到副屏上,这里注释掉就是禁止

触摸屏识别为鼠标的解决方法相关推荐

  1. 计算机无法识别3.0u盘启动,USB3.0接口不能识别U盘的解决方法

    USB3.0接口不能识别U盘的解决方法 USB接口可以说是电脑的标配,现在基本上所有电脑都会搭载USB接口.而USB标准从1.0发展到现在的3.0,甚至更新的也已出来.不过,如果USB3.0无法识别U ...

  2. 鸿合一体机触屏没反应怎么办_电脑一体机触摸屏没反应 触摸屏电脑一体机常见故障解决方法...

    触摸屏电脑一体机常见故障解决方法 1.触摸屏不准 一台五线电阻触摸屏,用手指触摸显示器屏幕的部位不能正常地完成对应的操作. [故障分析处理] 这种现象可能是电阻屏的校对有问题. 在下列情况下可运行屏幕 ...

  3. vb.net程序可以在触摸屏上运行么_触摸屏amp;触控一体机常见故障解决方法

    ■一体机电脑触摸屏使用时间一长,容易出现这样或那样的故障,以下触摸屏一体机常见故障及解决方法,供参考. 01 触摸屏不准 一台五线电阻触摸屏,用手指触摸显示器屏幕的部位不能正常地完成对应的操作. 故障 ...

  4. 联想小新pro无法人脸识别自动开机的解决方法

    联想小新pro无法人脸识别自动开机的解决方法 联想小新pro无法人脸识别自动开机,只能输入PIN解锁. 文章目录 联想小新pro无法人脸识别自动开机的解决方法 一.问题 二.解决方法 一.问题 打开电 ...

  5. 服务器固态硬盘无法识别硬盘,固态硬盘无法识别的原因及解决方法

    硬盘故障的原因很多,排除硬盘出现坏道.电路板烧毁等本身硬件损坏外,因主板或系统设置不正确而无法找到硬盘的现象也是时时发生的.譬如在更换计算机主板.电源后,或多或少的因为设置不正确而使系统无法正确识别硬 ...

  6. 计算机黑屏但是有鼠标,电脑黑屏但是鼠标能动解决方法

    电脑黑屏但是鼠标能动解决方法 深圳电脑维修    电脑维修    2018-11-1    16693    0评论 电脑开机后黑屏但鼠标能动怎么办?笔记本电脑开机后黑屏但鼠标能动怎么办?电脑黑屏但是 ...

  7. 计算机启动后只有鼠标桌面黑屏,电脑开机黑屏只有鼠标的解决方法

    电脑开机黑屏只有鼠标怎么办?开机后黑屏,只有鼠标能动.这个问题困扰了大概一年多,每次遇到都要花好久去折腾,以前还愿意装系统,现在软件多了,装系统代价太高.对此,有什么方法可以轻松的解决电脑开机黑屏只有 ...

  8. win10打开计算机黑屏怎么办,win10电脑黑屏只有鼠标箭头怎么办_win10电脑打开黑屏只有鼠标的解决方法...

    最近有朋友问小编win10电脑黑屏只有鼠标箭头怎么办,对于win10屏幕黑屏就剩鼠标的问题,应该有很多人遇到过,有的朋友发现w10电脑开机黑屏只有鼠标箭头,不知道怎么回事,那么win10开机黑屏只有鼠 ...

  9. 惠普服务器装系统无法识别u盘,惠普uefi bios无法识别u盘的解决方法

    3.如何解决惠普电脑uefi识别不了u盘 2.进入bios后,切换到system configuration选项卡,在按"↓"键移动到boot options并按回车键,如图所示: ...

最新文章

  1. LeetCode Add Two Numbers II(栈)
  2. .Net Core下如何管理配置文件
  3. HDU2018题求母牛数量C++
  4. 【⛔拒绝内卷,学会shell,走遍天下都不怕⛔】shell编程基础
  5. docker add-host hostAliases配置/etc/hosts
  6. bzoj1601: [Usaco2008 Oct]灌水
  7. MFC 窗体样式修改
  8. SQL语句(DQL)
  9. oracle静默安装访问数据库慢,Oracle数据库静默安装总结
  10. Web 浏览器相关的一些概念
  11. 六大方法来对付网站出现的负面信息
  12. 洛谷 P2181 对角线
  13. kalilinux装到u盘上的弊端_你有一个 U 盘制作多系统安装盘的需求吗,YUMI 帮你秒实现!...
  14. redis copy-on-write机制
  15. 模糊c均值聚类_聚类算法及其数据可视化
  16. 2019上半年软件设计师考试大纲
  17. 图片压缩工具ImageOptim
  18. 如何修改计算机的ip地址在哪里设置路由器,win7系统电脑无线路由器IP地址如何修改?电脑修改路由器IP地址的方法...
  19. 移动硬盘写保护,无法格式化的解决办法。
  20. Nginx 配置根据表示进行PC与移动的跳转

热门文章

  1. java kill 进程命令_Windows使用Java调用taskkill命令结束进程
  2. html如何退出登录,睡眠、退出登录和关机快捷键
  3. 使用fastapi完成一个车辆违章查询,可以看到实现页面
  4. 数据结构之C++实现顺序表(SeqList)无主函数
  5. SpringCloud - 整合Nacos启动报错Consider defining a bean of type IClientConfig
  6. 八股文--MySql
  7. shell if else 语句 写成一行
  8. linux内核模块调试信息,linux 内核模块调试
  9. Python 如何利用selenium爬取同花顺网上市公司2020一季度利润报表
  10. UE5 实现fps类游戏 note2