当前位置: 首页 > article >正文

linux驱动—input输入子系统

        什么是输入设备?如键盘,鼠标,触摸屏,游戏手柄。
        编写输入设备驱动:
        假设我们写一个键盘驱动,创建文件,硬件初始化,实现文件操作集函数,中断等等,非常
麻烦。

        假设我们写一个鼠标驱动,创建文件,硬件初始化,实现文件操作集函数,中等等,非常
麻烦。
        这些输入设备驱动当中是有共同点的,共同点就是获取数据,上报给用户。所以nux 就将
通用的代码编写好,将差异化的代码留给驱动攻城狮。从而出现了input子系统
        所以:input 系统是 Linux 专门为输入类设备编写的一个子系统(框架)。从而规范驱动开发,降低开发难度。并且驱动的通用性兼容性会更好。

        为什么有输入子系统就可以降低开发难度。并且驱动的通用性兼容性会更好?

举例:
比如按键驱动,在不使用input 子系统前提下:
A同学:使用1代表按下,使用0代表松开
B同学:使用2代表按下,使用3代表松开
所以不同的人相同的动作用不同的代码去表示。而应用程序是没有办法把所有的驱动全部适
配,这样兼容性,移植性就不好。
使用input 子系统前提下:
再比如现在同学们使用的键盘有不同的厂家,但是这些厂家的键盘连接到电脑上都可以正常
使用,因为这些厂家的驱动都是按照input 这个子系统框架来编写的。
B:
所有的厂家都使用1代表按下,使用0代表松开。并且使用input 子系统可以不用自己实现
文件操作集函数,也就是不用我们去实现读写等函数,所有可以降低开发难度。
再次总结input 子系统的作用
1.兼容所有的输入设备
2.统一的驱动编程方式
3.统一的应用操作接口:/dey/input

        所以应用层对input子系统操作,就可以控制鼠标、键盘、摇杆等这些设备了。


http://www.kler.cn/a/376510.html

相关文章:

  • matlab实现了基于移动可变形组件(Moving Morphable Components,MMC)的拓扑优化算法
  • Excel:vba实现插入图片
  • InnoDB: corruption in the InnoDB tablespace
  • linux 上使用 D-Bus 控制Onboard
  • FineReport 倒计时特效
  • ctfshow(89,90)--PHP特性--intval函数
  • 稀疏检索器除了 TF-IDF、BM25 算法外
  • django请求与响应
  • pdf怎么转换成ppt?有详细的步骤
  • 如何为STM32的串口编写中断程序
  • 491.递增子序列
  • Android各种调试命令
  • 2、片元着色器之有向距离场(SDF)运算:并集、差集、交集
  • go语言中interface之间嵌入与struct之间的嵌入实现多态
  • aws boto3 下载文件
  • 螺旋式开发是不是就是敏捷开发?
  • Jenkins面试整理-如何在 Jenkins 中进行并行构建?
  • 手把手写Linux第一个小程序 - 进度条(5种版本)
  • OpenSSH用户枚举漏洞修复——ubuntu升级ssh版本
  • 线程函数和线程启动的几种不同形式
  • 掌握ElasticSearch(七):相关性评分
  • Axios-Mock-Adapter mock数据
  • 《卷积、卷积操作、卷积神经网络原理探索》
  • 3. 探索 Netty 的粘包与拆包解决方案
  • ARM base instruction -- mneg
  • 正点原子阿尔法ARM开发板-IMX6ULL(十一)——IIC协议和SPI协议--AP3216C环境光传感器和ICM20608六轴传感器