认识linux input子系统 (一)

-0-.序

本来只是想写个内核态的键盘记录的,但是发现现在的linux驱动模型已经和以前版本不同,增加了input层,几乎所有的底层驱动都把数据封装在event里上报给input子系统,这样一来,kernel看起来更加模块化,但是没有原来键盘驱动那种一站通的感觉了。

于是研究起input层比起键盘记录更有意思了:)这里只是记录下自己学习后理清的思路,其实自己学习过程挺乱的,最近才有所感悟input层,毕竟硬件的底子我是没有的。

-1-.从用户层看input(event事件)

经常捣鼓linux一定会对/dev,/sys,/proc这几个目录有所印象,这是从内核导出到用户层的接口(从这里几乎可以观览内核)。这下就方便了,kernel为我们导出了input在用户态的接口,就是/dev/input/下的接口,这里我们只关注此目录下的eventX字符设备。

那么这些eventX是干什么用的?简单来说就是我们对计算机的输入(包括敲击键盘,移动鼠标等等操作)经过内核(底层驱动,input)处理最后就上报到这些eventX里面了。

而这里event0,event1,..就是用来区分各个外设的,可以通过命令来查看外设具体和哪个event相关联:

cat /proc/bus/input/devices 这里结果比较多,应为现在PC外设也蛮多的,我们可以看下键盘对应的条目,这里我截取2段:

I: Bus=0011 Vendor=0001 Product=0001 Version=ab54

N: Name="AT Translated Set 2 ke

linux的input命令,认识linux input子系统(一)相关推荐

  1. LInux 项目二命令总结,linux项目管理常用命令小结

    当前位置:我的异常网» 项目管理 » linux项目管理常用命令小结 linux项目管理常用命令小结 www.myexceptions.net  网友分享于:2015-08-26  浏览:13次 li ...

  2. linux中make命令大全,Linux中的命令 make -f 是什么意思

    二.Makefile的文件名 默认的情况下,make命令会在当前目录下按顺序找寻文件名为"GNUmakefile"."makef ile"."Make ...

  3. linux 限制带宽命令,Linux服务器限制网络带宽流量速率(限制应用程序和指定网卡的流量)

    linux 限制带宽命令,Linux服务器限制网络带宽流量速率 一.限制应用程序的网络流量速率 1.trickle介绍 2.如何判断trickle对应用程序是否有效? 3.Linux安装Trickle ...

  4. linux开放端口命令tcp,linux开放端口命令

    linux系统中控制端口的开启与关闭可以由命令来执行.下面由学习啦小编为大家整理了linux下开放端口命令的相关知识,希望对大家有所帮助! linux开放端口命令1 打开指定端口:/sbin/ipta ...

  5. linux怎么配置命令模式,Linux几种命令模式

    原标题:Linux几种命令模式 必须掌握的几个Linux命令 我们为什么要学习Linux的命令? 初学者上手Linux系统会很懵.不管你是否安装了图形化界面,或者去网上找一些教程.或者一些Linux的 ...

  6. linux中find命令列举,Linux中常见find命令的使用

    Linux下find命令在目录结构中搜索文件,并执行指定的操作.Linux下find命令提供了相当多的查找文件,功能很强大.由于find具有强大的功能,所以它的选项也很多,需要我们花时间来了解. 命令 ...

  7. linux安装virtualbox命令,在Linux中从命令行查找Virtualbox Version的方法

    在我的Ubuntu无头服务器上使用Virtualbox时,我需要找到Virtualbox的版本,如果是GUI,我可以通过导航到Virtualbox->About->Help轻松找到它,但我 ...

  8. linux进程管理命令kill,Linux进程管理命令-kill | IT运维网

    格式:kill -l [signal] -l:显示当前系统可用信号 -l:显示当前系统可用信号 [root@localhost ~]# kill -l 1) SIGHUP 2) SIGINT 3) S ...

  9. 【Linux】ls命令查看linux目录下的内容

    ls 命令是Linux下最常用的命令之一,用于显示指定工作目录下之内容(列出目前工作目录所含之文件及子目录). 本文将介绍其基本的用法和一些典型的用例 Usage: ls [OPTION]... [F ...

  10. linux系统rar命令行,Linux下rar命令详解

    Linux下rar命令详解 发布时间:2010-05-24 23:28:23   作者:佚名   我要评论 通常rar命令由一个主命令加若干选项(可选)构成,操作文档为操作施加的.rar文件对象,文件 ...

最新文章

  1. Newtonsoft.Json(Json.net)的基本用法
  2. poj1061-青蛙的约会(拓展欧几里得java)
  3. 安卓程序如何保证低内存下依然存在
  4. SQLServer常用的日期和时间函数梳理
  5. Github上最受欢迎的Python轻量级框架Flask入门
  6. leetcode—7.同向双指针—快慢指针题型python解答
  7. js 阻止冒泡 在控件的 onxxx 事件中调用就可以阻止父控件也响应消息了
  8. 【redis源码】(五)Ziplist
  9. java 文字生成表格图片
  10. 牛津大学教授Michael Wooldridge:AI社区40+年如何看待神经网络
  11. 使用 Onedrive 来同步Mac 桌面
  12. odl源码系列一restconf模块
  13. GetLastError() 返回值对照表
  14. html换行不出现横线,wps为什么在换行空格下划线不显示
  15. 怎样实现在单片机上跑LINUX系统,简述Linux如何应用在嵌入式单片机上
  16. 解决MAC上Django连接Mysql django.db.utils.OperationalError: (2003, Can't connect to MySQL 的问题
  17. Java基础练习项目【飞机大战】
  18. pandas 库简介
  19. 微信的NATIVE支付提示201商户订单号重复的解决方案
  20. 洛谷p1618 三连击(升级版)(python)

热门文章

  1. vim java win
  2. canvas实现打字输入效果
  3. wpf初学者-wpf控件简单介绍
  4. 如何查看MySQL的表空间
  5. 刚写完的 基于微信的房产中介预约看房小程序 毕业设计毕设源码
  6. mac charles网页代理https使用笔记
  7. python绘制分形图形教程_#python绘制分形图形教程#如何用Python绘制Circos图
  8. Android手机投屏后没有声音,乐播投屏电视没有声音怎么办_乐播投屏电视没有声音手机有声音解决办法_3DM手游...
  9. 千亿级服务器监控数据存储实践
  10. 仅用1/4数据量还原真人语音100%细节 火山语音上新超自然对话语音合成技术