上一节中,我们讲解了Linux  input子系统的框架,到内核源码里详细分析了输入子系统的分离分层的框架等。

上一节文章链接:http://blog.csdn.net/lwj103862095/article/details/17733993

这一节,我们来以输入子系统的框架来写一个按键驱动。

问:怎么写符合输入子系统框架的驱动程序?

答:
1. 分配一个input_dev结构体
2. 设置
3. 注册
4. 硬件相关的代码,比如在中断服务程序里上报事件

问:如何分配input_dev结构体?

答:使用input_allocate_device函数

input_dev结构体的重要成员

struct input_dev {const char *name;const char *phys;const char *uniq;struct input_id id;unsigned long evbit[NBITS(EV_MAX)];   // 表示能产生哪类事件unsigned long keybit[NBITS(KEY_MAX)]; // 表示能产生哪些按键unsigned long relbit[NBITS(REL_MAX)]; // 表示能产生哪些相对位移事件, x,y,滚轮unsigned long absbit[NBITS(ABS_MAX)]; // 表示能产生哪些绝对位移事件, x,yunsigned long mscbit[BITS_TO_LONGS(MSC_CNT)];unsigned long ledbit[BITS_TO_LONGS(LED_CNT)];unsigned long sndbit[BITS_TO_LONGS(SND_CNT)];unsigned long ffbit[BITS_TO_LONGS(FF_CNT)];...
}

问:第二步的设置,应该怎么设置,应该设置什么?

答:举例,在此按键驱动里

</

linux输入子系统之按键驱动相关推荐

  1. linux-2.6.38 input子系统(用输入子系统实现按键操作)

    一.设备驱动程序 在上一篇随笔中已经分析,linux输入子系统分为设备驱动层.核心层和事件层.要利用linux内核中自带的输入子系统实现一个某个设备的操作,我们一般只需要完成驱动层的程序即可,核心层和 ...

  2. linux驱动通过地址配置按键,linux输入子系统之多个按键

    文章目录 linux输入子系统:驱动多个按键 驱动多个按键 一个按键有多个与其相关的元素: 中断号码 按键状态 按键的值 input_dev的详细描述如下图 在设备树文件中增加以下信息: 按键定义配置 ...

  3. [arm 驱动]Linux输入子系统分析

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

  4. 【Linux驱动】input子系统与按键驱动

    input子系统架构总览 在网上能找到一些关于input子系统架构相关的示意图,大体表达的意思都差不多. linux输入子系统(linux input subsystem)从上到下由三层实现,分别为: ...

  5. 7.Linux 输入子系统分析

    为什么要引入输入子系统? 在前面我们写了一些简单的字符设备的驱动程序,我们是怎么样打开一个设备并操作的呢? 一般都是在执行应用程序时,open一个特定的设备文件,如:/dev/buttons 1 .. ...

  6. Linux 输入子系统原理理解(原创)

    linux    输入子系统原理理解(原创) 以前学了单独的按键设备驱动以及鼠标驱动,实际上,在linux中实现这些设备驱动,有一种更为推荐的方法,就是input输入子系统.平常我们的按键,触摸屏,鼠 ...

  7. Linux输入子系统框架

    输入子系统 自己写的驱动程序,自己可以调用,我们自己写驱动的流程一般是,建立fops结构,使用register_chrdev在初始化函数中进行注册,在应用中使用open函数打开该设备.这种驱动不标准只 ...

  8. linux abs函数怎么用,Linux输入子系统详解

    原标题:Linux输入子系统详解 纯手工打造每一篇开源资讯与技术干货,数十万程序员和Linuxer已经关注. 导读 linux输入子系统由驱动层.输入子系统核心.事件处理层三部分组成.一个输入事件,如 ...

  9. 4. Linux - 输入子系统框架详解

    输入子系统概述 Linux内核为了能够处理各种不同类型的输入设备,比如 触摸屏 ,鼠标 , 键盘 , 操纵杆 ,设计并实现了为驱动层程序的实现提供统一接口函数:为上层应用提供试图统一的抽象层 , 即是 ...

最新文章

  1. asp.net断点续传技术
  2. AI一分钟 | 马斯克再放豪言:我要造的AI的芯片“全球最棒”;刚上路就被叫停,可能是美国对快递机器人最严厉的打击
  3. Nat. Mach. Intell. | FFPred-GAN:“以假乱真“—基于GAN创建合成特征样本改进蛋白质功能预测...
  4. 【转帖】计算机世界:后DRM时代的数字音乐博弈
  5. 拥抱 Java 8 并行流吧,速度飞起!
  6. ajax发送私信,$.ajax()方法详解
  7. java 的类和接口的变量调用
  8. sql server 存储过程的详解
  9. java基础知识点(2)—— 环境变量的配置
  10. 将图像平移到画布中心python_python-如何用猕猴桃中的图像填充画布?
  11. 批量生成多个账户并设置密码
  12. 【C51单片机】6-ESP8266——wifi模块联网、AT指令
  13. 基于树莓派的DLNA和Airplay无线音频传输
  14. android9.0官方下载,安卓9.0系统刷机包下载
  15. Android本地音乐播放器
  16. 排序—时间复杂度为O(n2)的三种排序算法
  17. Gin简单明了的教程---上
  18. 洛谷B2099 矩阵交换行(swap函数)
  19. 程序人生-hit计统大作业
  20. Ipconfig ping tracert netstat arp的使用

热门文章

  1. [智能门锁方案]影响智能门锁价格贵的因素
  2. 让整个页面旋转180度
  3. 期刊bibitem格式参考文献批量生成
  4. 关于伺服驱动控制的课本_电液伺服同步驱动系统控制理论与应用
  5. MySQL的索引和存储引擎
  6. (PCB系列三)AD六层板布线经验累积
  7. r2adj——调整r方Adjusted R-Squared
  8. word编辑技巧:查找替换中通配符应用
  9. 重新介绍 JavaScript(JS 教程)
  10. Windows结束掉 explorer.exe 进程,导致整个电脑屏幕黑屏