- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
09_Input_event驱动1.ppt
Input event驱动 Andrew Huang bluedrum@163.com Input event 事件驱动 Linux 专门对输入设备。 键盘,鼠标,手柄,触摸屏。按键。封装一个类驱动。 主要统一与应用程序接口。这一类的设备结点都是在/dev/input/eventn( 0=n) 用户程序读驱动的输入都采用统一格式,即struct input_event,方便应用程序来读写。 Linux/input.h. Input驱动查看 查看设备结点 ls -l /dev/input 查看设备信息 ls -l /proc/bus/input/ cat /proc/bus/input/devices 查看input class信息 ls /sys/class/input Input device优点 统一应用程序使用外部输入设备的接口。这样简化编程。 Input core是没有缓存队列的,如果应用程序没有及时取事件,则事件被丢弃。 Input 输入驱动编程 输入驱动数据结构 struct input_dev *input_dev; 在驱动中必须动态分配input_dev结构,这里使用 input_allocate_device(); 初始化input_dev的参数 调用 input_register_device()注册, 退出时调用 input_unregister_device() 与应用程序的交互 Input 驱动的子系统已经控制I/O,换句话read/write不需要驱动直接. 驱动只需要input_report_xxx()上传信息 input_report_key()上传按键 input_report_abs() 绝对坐标 它们最终调用input_event来向input core上传信息,并最后转交给应用程序. Input core没有缓存事件信息,这样在应用程序开始read前的信息全部被丢弃. Input_dev的初始化 evbit 表示这个驱动支持哪一些事件,有两种等效的方法 set_bit(EV_KEY, input_dev-evbit); set_bit(EV_REL, input_dev-evbit); input_dev-evbit = BIT_MASK(EV_KEY) | BIT_MASK(EV_REL); 初始化/proc/bus/input/devices的信息 输入系统的测试 USB键盘测试 USB键盘是在 hid/usbhid/usbkbd.c Autoconf类项目移植 Andrew Huang bluedrum@163.com Makefile 这一类开源项目是没有Makefile,一般只带configure.由configure检测编译环境来生成Makefile. 如果x86,一般用./configure 即可生成X86 Makefile. 如果ARM,需要加入 --host=arm-linux,让configure生成针对ARM-Linux的Makefile 需要configure支持--host参数,可以用./configure --help 来检查是否支持 关于安装 Autoconf的Makfile 的安装都执行make install。 Make install.默认安装/usr/local下 头文件是安装/usr/local/include 库是安装/usr/local/lib 执行程序安装/usr/local/bin 文档安装在/usr/local/man ARM-Linux的项目要指向一个自己目录,防止冲掉X86同名文件。 用--prefix 这个参数来指定的。 ARM-Linux移植 ./configure --host=arm-linux --prefix=$PWD/../../ouput/arm-linux 多个项目组织 建立一个基准项目 rootfs/linux 所有第三方的源码放解压在lib 调用库的程序放在app 最终输出目录是 output/arm-linux * struct input_event { struct timeval time; __u16 type; __u16 code; __s32 value; }; Input core Input driver 用户程序 Input filer write/read Input_event EV_LED/EV_SND #define DEVICE_NAME s3c6410 gpio button myinput_dev-name = DEVICE_NAME; myinput_dev-phys = gpio-button/input100; myinput_dev-id
您可能关注的文档
- !!!!u-boot中NAND_flash的MTD驱动移植.doc
- !!!Mergers--Wealth effectives..Franks&Harris-1989.pdf
- %9A计信息系统、ERP基础与审计》补充讲义.pdf
- %B5%DA1%D5%C2 %CA%FD%BEݿ%E2%B8%C5%C2%DB.ppt
- %B8%DF%D2%BB%C6%DA%D6%D0%C4%A3%C4%E2%D2%BB.doc
- Über die innere und äußere Organisation.pdf
- •MicroBlaze Hardware Platforms Overview (READ ME FIRST).pdf
- çin- Medical Devices Directive 93 42 EEC updated July 2016.ppt
- ()通过MES+ERP+条码系统,实现汽配生产精益化.doc
- (C H3)2 N H2) (Ga Ge3 O8).pdf
- 湖南省衡阳市第八中学2026届高三上学期第一次月考物理(原卷版).doc
- 浙江省普通高中尖峰联盟2026届高三上学期10月联考英语(原卷版).doc
- 四川省绵阳市南山中学实验学校2026届高三上学期10月月考英语(原卷版).doc
- 湖南省衡阳市第八中学2026届高三上学期第二次月考历史 Word版含解析.doc
- 福建中考物理5年(2021-2025)真题分类汇编:专题09 功和机械能(原卷版).doc
- 福建中考物理5年(2021-2025)真题分类汇编:专题10 内能及其利用(原卷版).doc
- 福建中考物理5年(2021-2025)真题分类汇编:专题07 压强(原卷版).doc
- 福建中考物理5年(2021-2025)真题分类汇编:专题01 机械运动(原卷版).doc
- 福建中考物理5年(2021-2025)真题分类汇编:专题02 声现象(解析版).doc
- 福建中考物理5年(2021-2025)真题分类汇编:专题02 声现象(原卷版).doc
最近下载
- DB45-T2120-2024高速公路隧道消防设计技术规范-(高清可复制).pptx VIP
- 沉默的基因杀手:法布雷病全解析.docx VIP
- 苏州甲辰巷砖塔|七塔八幢费思量.docx VIP
- 四川省拟任县处级试题 四川省拟任县处级党政领导干部任职资格考试题.doc VIP
- 汽车起重机液压系统设计.docx VIP
- 高中主题班会 赢在细节,重在执行课件--高二下学期细节决定成败主题班会.pptx VIP
- 实施指南(2025)《GB_T14789-2017水貂皮》.pptx
- 《市政大直径排水管道非开挖修复施工及验收规程》征求意见稿.docx VIP
- 中国法布雷病超声心动图规范化筛查指南(2024版).pdf VIP
- 高数极限必做150题及答案.docx VIP
原创力文档


文档评论(0)