文章目录
🧩 背景:Linux 输入子系统结构图
Linux 输入子系统主要由以下几部分组成:
+----------------+
| input_event | ← 用户空间读取设备事件
+----------------+
↑
+----------------+
| input_handler | ← 处理 input_dev 事件(例如 evdev, mousedev)
+----------------+
↑
+----------------+
| input_dev | ← 设备驱动注册的输入设备
+----------------+
input_dev
由设备驱动注册,
input_handler
由上层“协议”驱动注册(比如 evdev/mousedev/joydev)
两者配对后,用户程序就可以通过/dev/input/eventX
获取事件。
1️⃣ struct input_dev — 表示一个输入设备
该结构体定义于 <linux/input.h>
,是设备驱动(比如触摸屏、按键