linux之input子系统存在的意义

前言
本文章介绍input子系统为什么存在,以一个全新的角度从全局的观念来分析linux中input子系统存在的作用,为什么要存在。

输入的信息
输入类设备顾名思义即为将确定的信息传输到操作系统,例如系统接受到一个按键按下去的键值,串口端接受到一段字符,usb接口接受到一包信息等。

信息的获取过程中存在的问题
在工作中随着键盘,鼠标的敲击,系统时刻不停的接受着海量信息。例如鼠标,我们知道在不同的APP中鼠标担任着不同的角色,在这个交互的过程中存在以下问题。
<1>: 不同款鼠标按键数量不同,例如有些鼠标没有中间滑轮,造成输入信息有差异。
<2>:各APP在开发时无法确定所需信息来源,因为APP开发者永远不会知道在PC端APP所需要的信息将会以何种方式输入,故无法准确获取信息,造成程序可移植性差
总结:同一系统中不同输入类设备存在差异,不方便通信,为解决这一系列问题我我们引入input子系统。
input子系统的引入
input的引入其目的是在信息接受后按照一个事先规定好的方式对信息进行一个特殊的处理并放在统一的位置,使得处理过之后的信息可以直接被各APP访问获取使用,避免了不同输入类设备之间的差异对系统造成影响,同时提高了效率。

对input子系统的构成做一个简单介绍

input有主要分为三层,分别为输入事件驱动层(最上层),输入核心层(中间层),输入设备驱动层(最下层)。
<1>:输入设备驱动层(最下层);这一层主要作用是将输入信息按照一定方式进行深加工。
<2>:输入事件驱动层(最上层):这一层保存着深加工之后的数据,各app可以直接通过访问这一层得到当前输入类设备输入的信息,其信息存放在dev/input/event
dev/input/mouse 等设备文件中。
<3>:输入核心层(中间层):顾名思义这一层起到最上层与最下层之间交互的作用。
总结
input子系统不能单独存在,其是依赖于一个信息接受端而存在的,例如usb,串口等输入类设备驱动而存在,其本身起到一个在信息接受后进行深加工的作用,方便各APP获取数据。

注:对input子系统之事件驱动层深入分析见下一篇
注:创作不易,如有收获,欢迎点赞评论
注:本文为博主自身对input子系统的见解,存在不足或错误之处,仅供参考!!!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值