必杀忍蜂:Android Event输入设备驱动
来源:百度文库 编辑:偶看新闻 时间:2024/04/27 23:19:53
/*
* J.
* Fri Oct 29,2010
*/
Input驱动程序是Linux输入设备的驱动程序,分成游戏杆(joystick),鼠标(mouse和mice)
和事件设备(Event queue)3种驱动程序。其中事件驱动程序是目前通用的驱动程序,可支持
键盘,鼠标,触摸屏等多种输入设备。
Input驱动程序的主设备号是13,3种驱动程序的设备号分配是:
*joystick游戏杆:0~61;
*mouse鼠标:33~62;
*mice鼠标:63;
*事件设备(Event queue):64~95.
实际上,每一种Input设备占用5位,因此每种设备个数是32个。
Event设备在用户空间大多使用read,ioctl,poll等文件系统的接口进行操作,read用于读取
输入信息,ioctl用于获取和设置信息,poll调用可以进行用户空间的阻塞,当内核有按键等中断
时,通过在中断中唤醒poll的内核实现,这样在用户空间的poll调用也可以返回。
Event设备在文件系统中的设备节点为:/dev/input/eventX.
主设备号为13,次设备号递增生成,为64~95,各个具体的设备在misc,touchscreen,keyboard等
目录中。
Event输入驱动的架构如下:
Input驱动程序的头文件:include/linux/input.h
Input驱动程序的核心和Event部分代码:
* drivers/input/input.c 核心代码
* drivers/input/evdev.c Event部分的实现
input.h中定义了struct input_dev结构,它表示Input驱动程序的各种信息,对于Event
设备分为同步设备,键盘,相对设备(鼠标),绝对设备(触摸屏)等。
Event驱动程序通过Input驱动程序的统一函数进行注册:
int __must_check input_register_device(struct input_dev *);
具体的Event驱动程序需要定义struct input_dev结构体,并且通过input_register_device()
函数进行注册。
Input设备驱动在内核进行menuconfig配置时,配置选项为"Device Drivers" > "Input Device Drivers"
Event驱动程序配置对应的文件是driver/input/Kconfig
其中,Event的配置选项是Event Interface,各个具体设备的接口在各自下面进行支持。
Android中使用Event驱动作为标准的输入设备,在GUI系统中打开Event驱动程序的设备节点,
通常的输入设备是鼠标和触摸屏。
备: Android由init进程在/dev/input/自动建立Event设备的节点,被libui库调用作为
系统的输入。
* J.
* Fri Oct 29,2010
*/
Input驱动程序是Linux输入设备的驱动程序,分成游戏杆(joystick),鼠标(mouse和mice)
和事件设备(Event queue)3种驱动程序。其中事件驱动程序是目前通用的驱动程序,可支持
键盘,鼠标,触摸屏等多种输入设备。
Input驱动程序的主设备号是13,3种驱动程序的设备号分配是:
*joystick游戏杆:0~61;
*mouse鼠标:33~62;
*mice鼠标:63;
*事件设备(Event queue):64~95.
实际上,每一种Input设备占用5位,因此每种设备个数是32个。
Event设备在用户空间大多使用read,ioctl,poll等文件系统的接口进行操作,read用于读取
输入信息,ioctl用于获取和设置信息,poll调用可以进行用户空间的阻塞,当内核有按键等中断
时,通过在中断中唤醒poll的内核实现,这样在用户空间的poll调用也可以返回。
Event设备在文件系统中的设备节点为:/dev/input/eventX.
主设备号为13,次设备号递增生成,为64~95,各个具体的设备在misc,touchscreen,keyboard等
目录中。
Event输入驱动的架构如下:
Input驱动程序的头文件:include/linux/input.h
Input驱动程序的核心和Event部分代码:
* drivers/input/input.c 核心代码
* drivers/input/evdev.c Event部分的实现
input.h中定义了struct input_dev结构,它表示Input驱动程序的各种信息,对于Event
设备分为同步设备,键盘,相对设备(鼠标),绝对设备(触摸屏)等。
Event驱动程序通过Input驱动程序的统一函数进行注册:
int __must_check input_register_device(struct input_dev *);
具体的Event驱动程序需要定义struct input_dev结构体,并且通过input_register_device()
函数进行注册。
Input设备驱动在内核进行menuconfig配置时,配置选项为"Device Drivers" > "Input Device Drivers"
Event驱动程序配置对应的文件是driver/input/Kconfig
其中,Event的配置选项是Event Interface,各个具体设备的接口在各自下面进行支持。
Android中使用Event驱动作为标准的输入设备,在GUI系统中打开Event驱动程序的设备节点,
通常的输入设备是鼠标和触摸屏。
备: Android由init进程在/dev/input/自动建立Event设备的节点,被libui库调用作为
系统的输入。
输入设备怎样驱动
设备驱动
paranoid android中文歌词
输入设备问题
radiohead 的 Paranoid Android 中文翻译
关于蓝牙设备驱动
未知设备 驱动 PCI
游戏设备驱动
游戏设备驱动?/
关于声音设备驱动
DELL710M 在装了输入设备驱动后,为什么触摸鼠标还是不能使用。(鼠标属性中无法设置)
VB6 Event
人体学输入设备是什么?
话筒无法成为输入设备
描述一种计算机输入设备
有语音输入设备吗?
USB人体学输入设备
USB人体学输入设备
usb人体学输入设备
USB设备的驱动在那里?
蓝牙设备驱动哪儿下载
USE设备驱动安装不正确
为什么安不上声卡驱动设备?
一个设备有几个驱动