0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

迅为RK3568开发板驱动开发指南-输入子系统

北京迅为电子 2024-02-23 15:11 次阅读

《iTOP-RK3568开发板驱动开发指南》更新,本次更新内容对应的是驱动(第十三篇 输入子系统)视频,帮助用户快速入门,大大提升研发速度。

第13篇-输入子系统目录

第1篇 驱动基础篇

第2篇 字符设备基础
第3篇 并发与竞争
第4篇 高级字符设备进阶
第5篇 中断

第6篇 平台总线

第7篇 设备树

第8篇 设备树插件

第9篇 设备模型

第10篇 热插拔

第11篇 pinctrl子系统

第12篇GPIO子系统

第13篇输入子系统

驱动基础-进阶篇

未完待续,持续更新中...

初识 input 子系统

137.1 什么是输入子系统?

Linux 中,input 子系统是专门为处理输入类设备而设计的一个子系统或框架。它提供了一套通用的接口和机制,用于驱动开发人员编写和管理输入设备的驱动程序。输入设备包括键盘、鼠标、触摸屏、游戏手柄等,具体示意图如下所示:

wKgZomXYROOAM4BvAABxMYZPrxs895.pngwKgZomXYROuAEBbQAADJhDNflF4891.png

使用 input 子系统的主要目的是规范和简化输入设备驱动的开发过程,以提高驱动的通用性和兼容性。它通过将输入设备的共同功能和处理逻辑提取出来,编写成通用的代码,将差异化的代码留给具体的设备驱动开发人员,这种分工合作的方式使得驱动开发人员可以更专注地处理设备特定的细节,从而大大降低工程师的开发难度。

在不使用输入子系统的情况下,可能会使用不同的代码来表示相同的动作。例如,一个同学可能使用数字 1 来表示按键按下,数字 0 来表示按键松开;而另一个同学可能使用数字 2来表示按键按下,数字 3 来表示按键松开。这样的情况下,应用程序很难适配所有不同的驱动程序,从而导致程序的兼容性和移植性较差。

而在使用输入子系统后就可以解决这个问题。例如,当不同厂家的键盘连接到计算机上时,它们的驱动程序都是按照输入子系统框架来编写的。这意味着所有厂家的驱动程序都使用相同的代码规范来表示按键动作,例如使用 1 表示按下,使用 0 表示松开。这样一来,无论是哪个厂家的键盘,都可以在任意计算机上正常使用。

使用输入子系统的另一个好处是驱动开发人员不需要自己实现文件操作集函数。输入子系统已经提供了一套标准的接口和函数,开发人员只需要按照这些接口进行开发,而无需关心底层的文件操作细节。这样可以大大降低开发的难度和复杂度。

综上使用 input 子系统的作用如下所示:

(1)兼容性: 输入子系统提供了一个统一的框架和接口,使得不同厂家的输入设备都可 以按照相同的规范进行驱动开发。无论是键盘、鼠标还是其他输入设备,只要符合输入子系统定义的接口和事件格式,都可以在 Linux 系统中正常工作。这样一来,工程师不需要针对每个厂家的设备编写和维护不同的驱动代码,大大提高了设备的兼容性。

(2)统一的驱动编程方式: 输入子系统定义了一套通用的驱动编程方式,工程师只需要按照输入子系统的规范进行开发即可。输入设备的驱动模块需要实现相应的接口函数,如初始化函数、事件处理函数等。这些接口函数的实现方式是相同的,不论是键盘驱动还是鼠标驱动,都可以按照统一的方式进行开发。这样一来,工程师可以更加专注于设备特定的细节,而无需关心通用的驱动框架,简化了开发过程。

(3)统一的应用操作接口: 输入子系统通过提供一组统一的应用操作接口,如

/dev/input/eventX,使得应用程序可以方便地与输入设备进行交互。应用程序可以通过读取这些设备节点,获取输入事件的信息,并进行相应的处理。无论是哪种类型的输入设备,应用程序都可以使用相同的方式进行访问和操作。这样一来,应用程序的开发人员不需要关心底层输入设备的细节,可以更加专注于应用程序的逻辑开发。

更多关注北京迅为电子了解详细教程

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 驱动
    +关注

    关注

    12

    文章

    1838

    浏览量

    85263
  • 开发板
    +关注

    关注

    25

    文章

    5032

    浏览量

    97375
  • RK3568
    +关注

    关注

    4

    文章

    514

    浏览量

    5034
收藏 人收藏

    评论

    相关推荐

    【教程上新】基于iTOP-RK3568开发板的OpenCV开发手册

    【教程上新】基于iTOP-RK3568开发板的OpenCV开发手册
    的头像 发表于 02-08 15:22 1098次阅读
    【教程上新】基于<b class='flag-5'>迅</b><b class='flag-5'>为</b>iTOP-<b class='flag-5'>RK3568</b><b class='flag-5'>开发板</b>的OpenCV<b class='flag-5'>开发</b>手册

    RK3568开发板资料20个+手册+配套视频教程

    RK3568开发板资料20个+手册+配套视频教程
    的头像 发表于 02-14 14:37 7168次阅读
    <b class='flag-5'>迅</b><b class='flag-5'>为</b><b class='flag-5'>RK3568</b><b class='flag-5'>开发板</b>资料20个+手册+配套视频教程

    RK3568 arm开发板全面支持国产翼辉SylixOS实时操作系统

    RK3568开发板全面支持国产翼辉SylixOS实时操作系统
    的头像 发表于 04-06 16:42 1434次阅读
    <b class='flag-5'>迅</b><b class='flag-5'>为</b><b class='flag-5'>RK3568</b> arm<b class='flag-5'>开发板</b>全面支持国产翼辉SylixOS实时操作<b class='flag-5'>系统</b>

    基于RK3568开发板的嵌入式学习之Linux驱动视频

    基于RK3568开发板的嵌入式学习之Linux驱动视频
    的头像 发表于 05-19 16:30 969次阅读
    <b class='flag-5'>迅</b><b class='flag-5'>为</b>基于<b class='flag-5'>RK3568</b><b class='flag-5'>开发板</b>的嵌入式学习之Linux<b class='flag-5'>驱动</b>视频

    RK3568开发板系统编程手册全新升级

    RK3568开发板系统编程手册全新升级
    的头像 发表于 06-25 15:50 1130次阅读
    <b class='flag-5'>迅</b><b class='flag-5'>为</b><b class='flag-5'>RK3568</b><b class='flag-5'>开发板</b><b class='flag-5'>系统</b>编程手册全新升级

    RK3568开发板GPIO之外接模块

    RK3568开发板GPIO之外接模块
    的头像 发表于 08-24 17:41 1392次阅读
    <b class='flag-5'>迅</b><b class='flag-5'>为</b><b class='flag-5'>RK3568</b><b class='flag-5'>开发板</b>GPIO之外接模块

    RK3568开发板可实现多屏异显控方案

    RK3568开发板可实现多屏异显控方案
    的头像 发表于 07-15 17:30 1839次阅读
    <b class='flag-5'>迅</b><b class='flag-5'>为</b><b class='flag-5'>RK3568</b><b class='flag-5'>开发板</b>可实现多屏异显控方案

    RK3568开发板外接模块之HX711 称重模块

    RK3568开发板外接模块之HX711 称重模块
    的头像 发表于 08-30 15:24 1563次阅读
    <b class='flag-5'>迅</b><b class='flag-5'>为</b><b class='flag-5'>RK3568</b><b class='flag-5'>开发板</b>外接模块之HX711 称重模块

    RK3568开发板Debian系统使用python 进行摄像头开发

    RK3568开发板Debian系统使用python 进行摄像头开发
    的头像 发表于 09-14 16:58 1508次阅读
    <b class='flag-5'>迅</b><b class='flag-5'>为</b><b class='flag-5'>RK3568</b><b class='flag-5'>开发板</b>Debian<b class='flag-5'>系统</b>使用python 进行摄像头<b class='flag-5'>开发</b>

    【北京】itop-RK3568开发板驱动开发指南

    《iTOP-RK3568开发板驱动开发指南》更新,本次更新内容对应的是驱动(第六期_平台总线_全新升级)视频,后续资料会不断更新,不断完善,
    发表于 08-29 16:32 30次下载

    RK3568开发板助力智能车载产业快速发展

    RK3568开发板助力智能车载产业快速发展
    的头像 发表于 01-23 13:59 567次阅读
    <b class='flag-5'>迅</b><b class='flag-5'>为</b><b class='flag-5'>RK3568</b><b class='flag-5'>开发板</b>助力智能车载产业快速发展

    北京RK3568开发板嵌入式学习之Linux驱动全新更新-CAN+

    北京RK3568开发板嵌入式学习之Linux驱动全新更新-CAN+
    的头像 发表于 09-04 15:29 496次阅读
    北京<b class='flag-5'>迅</b><b class='flag-5'>为</b><b class='flag-5'>RK3568</b><b class='flag-5'>开发板</b>嵌入式学习之Linux<b class='flag-5'>驱动</b>全新更新-CAN+

    iTOP-RK3568/RK3588开发板获麒麟软件适配认证

    iTOP-RK3568/RK3588开发板获麒麟软件适配认证
    的头像 发表于 10-18 14:56 514次阅读
    <b class='flag-5'>迅</b><b class='flag-5'>为</b>iTOP-<b class='flag-5'>RK3568</b>/<b class='flag-5'>RK</b>3588<b class='flag-5'>开发板</b>获麒麟软件适配认证

    】瑞芯微RK3588开发板RK3568开发板区别及优势

    RK3568开发板
    的头像 发表于 11-18 14:19 347次阅读
    【<b class='flag-5'>迅</b><b class='flag-5'>为</b>】瑞芯微<b class='flag-5'>RK</b>3588<b class='flag-5'>开发板</b><b class='flag-5'>RK3568</b><b class='flag-5'>开发板</b>区别及优势

    电子】叮!您的RK3568开发板系统镜像备份方法请查收

    电子】叮!您的RK3568开发板系统镜像备份方法请查收
    的头像 发表于 11-27 14:02 297次阅读
    【<b class='flag-5'>迅</b><b class='flag-5'>为</b>电子】叮!您的<b class='flag-5'>RK3568</b><b class='flag-5'>开发板</b><b class='flag-5'>系统</b>镜像备份方法请查收