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

如何确认Linux嵌入式系统的触摸屏对应的是哪个设备文件(/dev/input/event1)?如何查看系统中所有的输入设备?输入设备的设备文件有什么特点?

Linux嵌入式系统的输入设备的设备文件有什么特点?

在 Linux 中,所有的输入设备(如键盘、鼠标、触摸屏等)都会被内核识别为 输入事件设备,并在 /dev/input/ 目录下创建相应的 设备文件,通常是:

  • /dev/input/event0(可能是按键设备)
  • /dev/input/event1(在我的开发板中,是触摸屏)
  • /dev/input/mouse0(如果有鼠标设备)
  • /dev/input/js0(如果有游戏手柄)
    在这里插入图片描述

如何查看系统中所有的输入设备的详细情况

运行下面的命令即可查看:

cat /proc/bus/input/devices

运行结果如下:
在这里插入图片描述

I: Bus=0019 Vendor=0000 Product=0000 Version=0000
N: Name="20cc000.snvs:snvs-powerkey"
P: Phys=snvs-pwrkey/input0
S: Sysfs=/devices/soc0/soc/2000000.aips-bus/20cc000.snvs/20cc000.snvs:snvs-powerkey/input/input0
U: Uniq=
H: Handlers=kbd event0 evbug 
B: PROP=0
B: EV=3
B: KEY=100000 0 0 0I: Bus=0018 Vendor=dead Product=beef Version=28bb
N: Name="goodix-ts"
P: Phys=input/ts
S: Sysfs=/devices/virtual/input/input1
U: Uniq=
H: Handlers=event1 evbug 
B: PROP=2
B: EV=b
B: KEY=1c00 0 0 0 0 0 0 0 0 0 0
B: ABS=6e18000 0

如何确认Linux嵌入式系统的触摸屏对应的是哪个设备文件?

运行下面的命令然后分析运行结果:

cat /proc/bus/input/devices

运行结果如下:

I: Bus=0019 Vendor=0000 Product=0000 Version=0000
N: Name="20cc000.snvs:snvs-powerkey"
P: Phys=snvs-pwrkey/input0
S: Sysfs=/devices/soc0/soc/2000000.aips-bus/20cc000.snvs/20cc000.snvs:snvs-powerkey/input/input0
U: Uniq=
H: Handlers=kbd event0 evbug 
B: PROP=0
B: EV=3
B: KEY=100000 0 0 0I: Bus=0018 Vendor=dead Product=beef Version=28bb
N: Name="goodix-ts"
P: Phys=input/ts
S: Sysfs=/devices/virtual/input/input1
U: Uniq=
H: Handlers=event1 evbug 
B: PROP=2
B: EV=b
B: KEY=1c00 0 0 0 0 0 0 0 0 0 0
B: ABS=6e18000 0

分析如下:

cat /proc/bus/input/devices 的输出中,你可以根据以下几个关键点来识别触摸屏输入设备:

1. 设备名称 (N: Name=...)

  • 你有两个输入设备:

    1. “20cc000.snvs:snvs-powerkey”(电源按键)
    2. “goodix-ts”(可能是触摸屏)
  • goodix-ts 这个名称通常对应 Goodix 公司的触摸屏控制器,所以这个很可能是触摸屏设备。

2. 设备支持的事件类型 (B: EV=...)

  • 电源按键 (snvs-powerkey) 的 EV=3
    • EV=3 仅表示键盘事件EV_KEY),说明它只是一个普通的按键设备。
  • goodix-ts 设备的 EV=b
    • EV=b 表示 EV_KEY (0x01) 和 EV_ABS (0x03),说明它支持 绝对坐标输入,符合触摸屏的特征。

3. 绝对坐标 (B: ABS=...)

  • 触摸屏通常会包含 绝对坐标 (EV_ABS),用于检测手指的触摸位置:
    B: ABS=6e18000 0
    
    • ABS 代表 Absolute axes(绝对坐标),典型的触摸屏会报告 X/Y 轴坐标,而普通按键设备不会有这个字段。
    • 6e18000 这一串值对应 X/Y 轴数据,符合触摸屏的特征。

最终结论
从这些特征可以判断:

  • 设备 "goodix-ts" 是触摸屏输入设备
  • 它的 事件设备节点是 /dev/input/event1

进一步验证分析结果是否正确

可以运行下面的命令将触摸屏的数值打印出来:

hexdump /dev/input/event1

上面这条命令运行完成后,用手点击触摸屏,能得到很多数值,如下图所示:
在这里插入图片描述

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

相关文章:

  • FFmpeg:多媒体处理的瑞士军刀
  • 电控三周速成计划参考
  • Ubuntu修改配置文件--编辑操作
  • 2021版小程序开发5——小程序项目开发实践(1)
  • 二分/双指针/单调栈队列专题
  • XCCL、NCCL、HCCL通信库
  • 【Deep Seek本地化部署】模型实测:规划求解python代码
  • MySQL锁类型(详解)
  • 搜索插入位置(35)
  • 八. Spring Boot2 整合连接 Redis(超详细剖析)
  • VDSuit-Full惯性动捕设备:高效率、高品质动画制作的利器
  • 【环境搭建】1.1源码下载与同步
  • 开源智慧园区管理系统对比其他十种管理软件的优势与应用前景分析
  • C语言可变参数
  • (1)Linux高级命令简介
  • frida 入门
  • 基于STM32的智能健康监测手环
  • neo4j-community-5.26.0 install in window10
  • Linux+Docer 容器化部署之 Shell 语法入门篇 【Shell 循环类型】
  • WAWA鱼2024年终总结,关键词:成长
  • 【Redis】hash 类型的介绍和常用命令
  • 二分基础两道
  • Skyeye 云 VUE 版本 v3.15.7 发布
  • 位运算和操作符属性
  • php的使用及 phpstorm环境部署
  • 高阶开发基础——快速入门C++并发编程6——大作业:实现一个超级迷你的线程池
  • Jupyterlab和notebook修改文件的默认存放路径的方法
  • 吴恩达深度学习——有效运作神经网络
  • 享元模式——C++实现
  • 【Go语言圣经】第五节:函数