1、Input驱动程序是Linux输入设备的驱动程序,分成游戏杆(joystick)、鼠标(mouse和mice)和事件设备(Event queue)3种驱动程序。其中事件驱动程序是目前通用的驱动程序,可支持键盘、鼠标、触摸屏等多种输入设备。
1.输入驱动是Linux输入设备的驱动,分为操纵杆、鼠标和鼠标、事件队列三个驱动。其中,事件驱动是目前通用的驱动,可以支持键盘、鼠标、触摸屏等输入设备。
支持的输入设备
2.输入驱动的主设备号为13,三个驱动的设备号分布如下:
操纵杆操纵杆:0~31
老鼠:32~62
老鼠:63只
事件:*** ~ 95
实际上,每个输入设备占用5位,所以每个设备的数量是32。
3.事件设备大多使用read、ioctl、poll等文件系统的接口,用户之间空。read用于读取输入信息,ioctl用于获取和设置信息。轮询调用可以阻止用户空。当内核出现关键中断时,通过在中断过程中唤醒poll的内核来实现,这样users 空
Event设备在文件系统中的设备节点为:/dev/input/eventX。
文件系统中事件的设备节点是:/dev/input/eventX。
输入设备节点
主设备号是13,次设备号是递增生成的,范围从***到95。每个特定设备都列在misc、触摸屏、键盘和其他目录中。
4、Event输入驱动的架构图如下所示:
4.事件输入驱动程序的架构图如下:
事件驱动架构图
进入设备驱动的头文件:include/linux/input.h。
输入驱动程序的核心和事件代码分别是drivers/input/input.c和drivers/input/evdev.c。
struct Input_dev结构在input.h中定义,表示输入驱动的各种信息。对于事件设备,可以分为同步设备、键盘、相对设备(鼠标)、绝对设备(触摸屏)等。
input_dev中定义归纳了各种设备的信息,例如按键,相对设备、绝对设备、杂项设备、LED、声音设备、强制反馈设备、开关设备等。
input_dev中的定义总结了各种设备的信息,如按键、相对设备、绝对设备、杂项设备、led、声音设备、强制反馈设备、开关设备等。
输入开发结构
在具体的Event驱动程序的实现中,如果得到按键的事件,通常需要通过以下的接口向上进行通知,这些内容也是在input.h中定义的,如下所示:在具体事件驱动的实现中,如果得到按键事件,通常需要通过下面的接口通知它。这些内容也在input.h中定义,如下所示:
5、对不同设备内容的报告均是通过input_event()函数来完成的,选择使用了不同参数而已。在定位器系统中经常使用的键盘(keyboard)和小键盘(keypad)属于按键设备EV_KEY,轨迹球属于相对设备EV_REL,触摸屏属于绝对设备ABS。5.不同设备的报表都是由input_event()函数完成的,只是选取了不同的参数。***系统中经常用到的键盘和小键盘属于按键设备EV_KEY,轨迹球属于相对设备EV_REL,触摸屏属于绝对设备ABS。
键值的定义片段如下:
6、可以使用getevent对Event设备进行调试。
6.getevent可用于调试事件设备。
getevent
getevent
getevent -l
点击鼠标会出现上面的信息:第一栏是设备节点,第二栏是输入设备类型,第三栏是按键扫码,第四栏是附加信息(按下、抬起、移动等。).
本文来自止步投稿,不代表舒华文档立场,如若转载,请注明出处:https://www.chinashuhua.cn/24/579759.html