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

全志T113的触摸屏

写了程序,结果没法运行

image-20260121211307073

从网上查找问题,废了老长时间,结果是开发板的bug

首先用命令cat /proc/bus/input/devices查看 Linux 系统中所有已识别的输入设备

输出

root@TinaLinux:/tmp# cat /proc/bus/input/devices
I: Bus=0000 Vendor=0000 Product=0000 Version=0000
N: Name="audiocodec sunxi Audio Jack"
P: Phys=ALSA
S: Sysfs=/devices/platform/soc@3000000/2030340.sound/sound/card0/input0
U: Uniq=
H: Handlers=event0
B: PROP=0
B: EV=23
B: KEY=40 0 0 0 0 0 0 0 0 0 0 4 0 0 0 c0000 0 0 0
B: SW=14从N可以看出系统当前仅识别到一个与音频相关的输入设备
这不是自己想用的触摸屏

联系客服,说TF不能烧录系统,只能当存储用

用Nand启动后就可以找到了

root@TinaLinux:/tmp# cat /proc/bus/input/devices
I: Bus=0000 Vendor=0000 Product=0000 Version=0000
N: Name="audiocodec sunxi Audio Jack"
P: Phys=ALSA
S: Sysfs=/devices/platform/soc@3000000/2030340.sound/sound/card0/input0
U: Uniq=
H: Handlers=event0
B: PROP=0
B: EV=23
B: KEY=40 0 0 0 0 0 0 0 0 0 0 4 0 0 0 c0000 0 0 0
B: SW=14I: Bus=0019 Vendor=0001 Product=0001 Version=0100
N: Name="sunxi-gpadc0"
P: Phys=sunxigpadc0/input0
S: Sysfs=/devices/virtual/input/input1
U: Uniq=
H: Handlers=event1
B: PROP=0
B: EV=100003
B: KEY=200000 0 0 0 0 0 0 0 8c0000 0 0 10000000I: Bus=0018 Vendor=dead Product=beef Version=28bb
N: Name="gt9xxnew_ts"
P: Phys=▒A-▒P▒▒
S: Sysfs=/devices/virtual/input/input2
U: Uniq=
H: Handlers=event2
B: PROP=2
B: EV=b
B: KEY=400 0 0 7f8 0 0 0 100000 0 0 0
B: ABS=2650000 0

从这知道,触摸屏是event2

但是自己的程序,还是没有反应

下载了evtest 这个工具,专门用于调试输入设备(触摸屏、键盘、鼠标、按键等) 的开源命令行工具

root@TinaLinux:/tmp# ./evtest /dev/input/event2
Input driver version is 1.0.1
Input device ID: bus 0x18 vendor 0xdead product 0xbeef version 0x28bb
Input device name: "gt9xxnew_ts"
Supported events:Event type 0 (EV_SYN)Event type 1 (EV_KEY)Event code 116 (KEY_POWER)Event code 227 (KEY_SWITCHVIDEOMODE)Event code 228 (KEY_KBDILLUMTOGGLE)Event code 229 (KEY_KBDILLUMDOWN)Event code 230 (KEY_KBDILLUMUP)Event code 231 (KEY_SEND)Event code 232 (KEY_REPLY)Event code 233 (KEY_FORWARDMAIL)Event code 234 (KEY_SAVE)Event code 330 (BTN_TOUCH)Event type 3 (EV_ABS)Event code 48 (ABS_MT_TOUCH_MAJOR)Value      0Min        0Max      255Event code 50 (ABS_MT_WIDTH_MAJOR)Value      0Min        0Max      255Event code 53 (ABS_MT_POSITION_X)Value      0Min        0Max     1024Event code 54 (ABS_MT_POSITION_Y)Value      0Min        0Max      600Event code 57 (ABS_MT_TRACKING_ID)Value      0Min        0Max      255
Properties:Property type 1 (INPUT_PROP_DIRECT)
Testing ... (interrupt to exit)

就可以触摸得到数据

image-20260122133906507

说明当前的触摸屏工作在纯多点触摸模式

核心事件都是 ABS_MT_* 开头的多点触摸事件(ABS_MT_POSITION_X/YABS_MT_TOUCH_MAJOR 等),没有普通的 ABS_X/Y 事件。

每次触摸都会先上报 SYN_MT_REPORT(多点触摸同步),再上报 SYN_REPORT(最终同步),这是多点触摸设备的典型特征。

最终得出自己写的代码是按照普通触摸屏写的,而不是多触点触摸模式

image-20260122135132582

Event: time 167564714.841917, type 3 (EV_ABS), code 53 (ABS_MT_POSITION_X), value 11

翻译:事件时间戳 167564714.841917,事件类型为 EV_ABS(绝对坐标事件),编码为 53(多点触摸 X 坐标),数值为 11当前触摸点的 X 坐标是 11


Event: time 167564714.841917, type 3 (EV_ABS), code 54 (ABS_MT_POSITION_Y), value 20

翻译:事件时间戳 167564714.841917,事件类型为 EV_ABS,编码为 54(多点触摸 Y 坐标),数值为 20当前触摸点的 Y 坐标是 20


Event: time 167564714.841917, type 3 (EV_ABS), code 48 (ABS_MT_TOUCH_MAJOR), value 18

翻译:事件时间戳 167564714.841917,事件类型为 EV_ABS,编码为 48(触摸椭圆长轴),数值为 18触摸点的大小为 18 个单位(一般不需要解析)。


Event: time 167564714.841917, type 3 (EV_ABS), code 50 (ABS_MT_WIDTH_MAJOR), value 18

翻译:事件时间戳 167564714.841917,事件类型为 EV_ABS,编码为 50(触摸工具长轴),数值为 18手指触摸的宽度为 18 个单位(一般不需要解析)。


Event: time 167564714.841917, type 3 (EV_ABS), code 57 (ABS_MT_TRACKING_ID), value 0

翻译:事件时间戳 167564714.841917,事件类型为 EV_ABS,编码为 57(触摸点唯一 ID),数值为 0这是一个有效的触摸点(触摸屏用value=0标记触摸有效)。

Event: time 167564714.841917, -------------- SYN_REPORT ------------

翻译:事件时间戳 167564714.841917,收到最终同步事件 SYN_REPORT,表示上一组触摸事件已全部上报完毕。


http://www.jsqmd.com/news/285606/

相关文章:

  • 泰国海外仓如何精准履约?基于海外仓WMS的拣货防错解决方案
  • 2026年1月高效空气过滤器厂家推荐榜单:覆盖W型/板式/袋式/耐高温/无隔板等全品类,专业净化解决方案深度解析与选购指南
  • 1.22假期记录
  • uniapp 请求封装!Token 过期自动刷新+队列缓存!CV即用
  • 2026年1月深圳跨境电商财税服务厂家推荐榜:合规记账/税务筹划/风险规避/代理申报一站式解决方案深度解析
  • C#每日面试题-简述反射
  • 日程7
  • 【Redis典型应用——缓存详解】 - 指南
  • C#每日面试题-简述异常处理
  • 重庆明镜滩项目-11-脚本学习-260122DataPreV5MissAna2
  • James 个人介绍(用于企业数字化服务咨询)
  • 勾股定理简单学习
  • Spring Boot 三种方式登录系统:集成微信扫码、短信验证码、邮箱验证码
  • Oracle 19c入门学习教程,从入门到精通,Oracle 数据表对象 —— 语法知识点详解与案例实践(10)
  • Cadence推出人工智能语音助手Tensilica HiFi iQ DSP IP
  • 鸿蒙 HarmonyOS 6 | 系统能力 (04):构建专业级媒体应用 PhotoAccessHelper 与复杂媒体库管理
  • 基于python的智慧农场管理系统
  • 【鸿蒙原生开发会议随记 Pro】拒绝面条代码 基于 MVVM 的代码架构与状态管理选型
  • aiSim领衔!国内外自动驾驶仿真软件大全:热门推荐与选择指南
  • 芒格的“反向激励“分析在量子计算云服务定价中的应用
  • 基于springboot的植物花卉销售管理系统
  • 20252803-Linux安全类实验-ShellShock 攻击实验 - 详解
  • 铟材料:稀散金属隐形明星,半导体+光伏核心刚需
  • 自动驾驶仿真软件推荐:康谋aiSim——ISO 26262 ASIL-D 认证的高保真选择
  • 关于Uvicorn:一个遵循ASGI规范的异步Web服务器
  • 9个最佳性能测试工具(2026)
  • 058.质数判断 +质数筛 + 质因子分解
  • 超融合 “进化论”:当 HCI 遇上云原生技术栈,下一代基础设施雏形初现
  • 从零构建云原生“试验田”:超融合的自我修养
  • 智慧园区智能照明控制系统解决方案