本章讲解Linux input输入子系统驱动相关应用层程序的控制原理。
1. input子系统
input子系统是Linux对输入设备提供的统一驱动框架。如按键、键盘、触摸屏和鼠标等输入设备的驱动方式是类似的,当出现按键、触摸等操作时,硬件产生中断,然后CPU直接读取引脚电平,或通过SPI、I2C等通讯方式从设备的寄存器读取具体的按键值或触摸坐标,然后把这些信息提交给内核。使用input子系统 驱动的输入设备可以通过统一的数据结构提交给内核,该数据结构包括输入的时间、类型、代号以及具体的键值或坐标,而内则通过/dev/input目录下的文件接口传递给用户空间。
在Linux内核源码的“Documentation/input”目录包含了input子系统相关的说明。
2. input事件目录
2.1. 使用evtest工具测试
在开发input子系统驱动时,常常会使用evtest工具进行测试,此处我们通过该工具来了解Ubuntu主机或开发板上的输入设备。
在Ubuntu主机下使用如下命令测试:
#在主机下执行如下命令
#安装evtest工具
sudo apt install evtest -y
#使用sudo权限运行evtest工具
sudo evtest
#根据自己主机的输出来选择某个设备测试,下图选择的是“6”,鼠标
#根据选择的设备测试,如选择的键盘就按键盘,选择鼠标就移植鼠标
订阅专栏 解锁全文
1415

被折叠的 条评论
为什么被折叠?



