博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Linux的input子系统分析
阅读量:2238 次
发布时间:2019-05-09

本文共 582 字,大约阅读时间需要 1 分钟。

Linux下的Input子系统主要任务是处理输入事务,任何输入设备的驱动程序都可以通过Input子系统提供的接口注册到内核,利用子系统提供的统一数据接口与用户空间交互。

一、linuxinput子系统架构

 

Ø 输入设备(input device)

指具体硬件设备,:鼠标、键盘、触摸屏等。

Ø 输入设备驱动(input device driver)

该部分就是作为linux驱动开发者需要设计的部分,驱动开发者需要为具体的输入设备编写合适的驱动程序。

Ø Input子系统核心(inputcore)

Linux内核提供,子系统核心是链接其他两层的纽带和桥梁,向下提供驱动层接口,向上提供事件处理层接口。

Ø Input 事件处理层(input event Hander)

Linux内核提供,负责和用户程序打交道,将硬件驱动层传来的事件以统一的数据格式(struct input_event)报告给用户程序。

Ø 应用层

应用程序可以通过读取相应“设备文件”(/dev/input/eventx)来获取输入事件值。

二、input设备驱动开发

Linux系统中,input核心层和input事件处理层已经为我们做了很多事情,而作为驱动开发者,只需调用input核心层为我们提供的编程接口,就可以轻松完成输入设备驱动开发。以下是输入设备驱动开发的标准流程:

你可能感兴趣的文章
判断数据的JS代码
查看>>
js按键事件说明
查看>>
AJAX 初次体验!推荐刚学看这个满好的!
查看>>
AJAX 设计制作 在公司弄的 非得要做出这个养的 真晕!
查看>>
Linux 查看文件大小
查看>>
Java并发编程:线程池的使用
查看>>
redis单机及其集群的搭建
查看>>
Java多线程学习
查看>>
检查Linux服务器性能
查看>>
Java 8新的时间日期库
查看>>
Chrome开发者工具
查看>>
【LEETCODE】102-Binary Tree Level Order Traversal
查看>>
【LEETCODE】106-Construct Binary Tree from Inorder and Postorder Traversal
查看>>
【LEETCODE】202-Happy Number
查看>>
和机器学习和计算机视觉相关的数学
查看>>
十个值得一试的开源深度学习框架
查看>>
【LEETCODE】240-Search a 2D Matrix II
查看>>
【LEETCODE】53-Maximum Subarray
查看>>
【LEETCODE】215-Kth Largest Element in an Array
查看>>
【LEETCODE】241-Different Ways to Add Parentheses
查看>>