文档章节

输入子系统

xiaocui911
 xiaocui911
发布于 2016/05/22 15:07
字数 661
阅读 57
收藏 1

输入子系统,顾名思义这本身是大神撸的一个系统。这个系统它不仅把输入设备底层驱动的共性部分(比如注册设备,open、write等)编写成一个大集合 以供调用,而且把与底层相匹配的处理事件程序也完成了。所以你只需要用这些集合把相对应的底层驱动设置好后注册进系统就可以了,这样不仅省去了很多事而且 保护了内核的统一。

首先我们先设置好相应的驱动(这其中最主要还是设置input_dev这个结构体和set_bit()等函数),然后注册。当输入事件发生时(按下 鼠标、点开显示屏),内核通过(input_report_...)函数向输入子系统报告发生的事件(其中这个函数最主要的部分还是 input_event函数),然后通过输入子系统匹配到相应的处理事件中去,而通过这个处理事件函数我们就可以连接到上层的应用中去,这就是大致的过程 了。

通过这个过程知道事件驱动一部分,输入子系统本身一部分和底层驱动三部分组成了输入子系统。而和上层有关的函数无非就是 open,write.read.close等,和底层有关的无非就是寄存器的操作等。这些在输入子系统其实同样适用,不过对输入子系统这个要更简单,因 为在事件处理部分我们的linux大神已经帮你完成了,你只需要把相应的底层驱动匹配上去就行,所以我们要做得就是完成底层驱动的部分,但是呢,对底层驱 动大神们怕你撸的还是不够规范所以也把一些简单的接口给你,你只需要直接调用就可以了。。说是输入子系统,但我已经把这么明显的分离分层思想已经暴露出来 了。我们把整个系统分层为上层应用----下层驱动(这就是分层)然后又把下层驱动分离为事件驱动和设备驱动(这就是分离)。

这只是输入子系统的主要部分,其他的部分一样。。

一个例程:http://www.oschina.net/code/snippet_2241389_52566(只有部分注释)

© 著作权归作者所有

共有 人打赏支持
上一篇: 关于多线程
下一篇: 分离与分层
xiaocui911
粉丝 6
博文 69
码字总数 14765
作品 0
深圳
程序员
私信 提问
③tiny4412 Linux驱动开发之输入子系统

本次介绍Linux的输入子系统的驱动开发. Linux 内核的输入子系统为鼠标、键盘、触摸屏、游戏杆等输入设备提供了驱动框架。 当程序员要为自己的输入设备编写驱动程序时,只需要实现从设备获取输...

qq_23922117
2018/04/13
0
0
大型网站架构系列:电商网站架构案例

大型分布式网站架构 大型分布式网站架构技术总结 大型网站架构系列:电商网站架构案例 分布式大型网站,目前看主要有几类1.大型门户,比如网易,新浪等;2.SNS网站,比如校内,开心网等;3.电...

陶邦仁
2016/03/15
1K
0
史上最全win10下Linux子系统的安装及优化方案

相信大家都会对Linux系统有一定程度的需求,但是目前所有Linux发行版的桌面环境实在是不太友好,并不能完全满足我们所有的学习和娱乐。于是我们会想到安装Windows+Linux双系统,或者在Windo...

昌南何许人
2018/04/18
0
0
[arm 驱动]Linux输入子系统分析

首先说明一下,本文是基于Linux-2.6.38版本内核来分析Linux输入子系统架构和原理的。这阵子本来没有打算花时间来分析Linux input system的,然而当在研究S3C6410触摸屏驱动的时候悲剧不期而至...

lilin9105
2018/06/26
0
0
Bash On Windows beta版食用笔记

微软于今天发布了Windows一周年版(RS1,1607版,10.0.14393,版本名真多),其中我感兴趣的就是Bash On Windows这个功能了,这个就是Windows内嵌了一个Linux子系统,只不过目前还是beta版,所...

╭ァの修罗
2016/08/05
327
0

没有更多内容

加载失败,请刷新页面

加载更多

Linux Wireshark普通用户启动使用方案

当系统安装好Wireshark后请正常启动是否可以进行正常使用,如果不行请参考下列指导 向系统添加一个用户组 sudo groupadd wireshark //如提示此组存在可跳过 将指定用户添加到这个组中 sudo...

CHONGCHEN
今天
2
0
CSS 选择器参考手册

CSS 选择器参考手册 选择器 描述 [attribute] 用于选取带有指定属性的元素。 [attribute=value] 用于选取带有指定属性和值的元素。 [attribute~=value] 用于选取属性值中包含指定词汇的元素。...

Jack088
今天
2
0
数据库篇一

数据库篇 第1章 数据库介绍 1.1 数据库概述  什么是数据库(DB:DataBase) 数据库就是存储数据的仓库,其本质是一个文件系统,数据按照特定的格式将数据存储起来,用户可以对数据库中的数据...

stars永恒
今天
4
0
Intellij IDEA中设置了jsp页面,但是在访问页面时却提示404

在Intellij IDEA中设置了spring boot的jsp页面,但是在访问时,却出现404,Not Found,经过查找资料后解决,步骤如下: 在Run/Debug Configurations面板中设置该程序的Working Directory选项...

uknow8692
昨天
4
0
day24:文档第五行增内容|每月1号压缩/etc/目录|过滤文本重复次数多的10个单词|人员分组|

1、在文本文档1.txt里第五行下面增加如下内容;两个方法; # This is a test file.# Test insert line into this file. 分析:给文档后增加内容,可以用sed 来搞定;也可以用while do done...

芬野de博客
昨天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部