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

如何确认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 0

I: 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 0

I: 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.kler.cn/a/531675.html

相关文章:

  • kaggle-ISIC 2024 - 使用 3D-TBP 检测皮肤癌-学习笔记
  • hypermesh中用tcl脚本生成多个线段
  • 力扣动态规划-19【算法学习day.113】
  • 前端版本号管理:理解和应用
  • 亚博microros小车-原生ubuntu支持系列:20 ROS Robot APP建图
  • 【C语言入门】解锁核心关键字的终极奥秘与实战应用(二)
  • Linux进阶——例行性工作
  • PDFBox 替代方案(以及何时考虑更换)
  • 测试工程师的DS使用指南
  • 栈(5题)
  • 并行计算、分布式计算与云计算:概念剖析与对比研究(表格对比)
  • 【hot100】刷题记录(12)-回文链表
  • DeepSeek 核心技术全景解析
  • 排序算法3
  • Heptagon 同步语言介绍
  • 基于kamailio开发一个voip管理系统需要实现的基础功能
  • 如何在5步内使用 Spring AI 和 OpenAI 的 DALL-E 3 生成图像
  • 顺序打印数字的进一步理解
  • M. Triangle Construction
  • 注解与反射基础
  • 巧妙利用数据结构优化部门查询
  • Nginx 命令行参数
  • 深入探讨DICOM医学影像中的WADO服务及其具体实现
  • 内核定时器1-普通定时器
  • 浅谈线段树
  • 【Linux】25.进程信号(2)