当前位置:  技术问答>linux和unix

如何读取 /dev/input 下的键盘鼠标事件

    来源: 互联网  发布时间:2017-02-10

    本文导语:  问题1: 我的 设备在 /dev/eventX  而不是 /dev/input/eventX, 用的mdev, 如何修改 mdev.conf呢 问题2: 我的USB鼠标会显示1个 event, 而USB键盘会显示2个, 为什么呢 问题3: 这个event跟插入顺序有关, 如先插入 鼠标, 鼠标就是ev...

问题1:
我的 设备在 /dev/eventX  而不是 /dev/input/eventX, 用的mdev, 如何修改 mdev.conf呢

问题2:
我的USB鼠标会显示1个 event, 而USB键盘会显示2个, 为什么呢

问题3:
这个event跟插入顺序有关, 如先插入 鼠标, 鼠标就是event0, 先插入键盘, 键盘就是event0, 编程时怎么判断呢

|
 cat  /proc/bus/input/devices 可以打印各个设备节点的信息,借此可以判断设备的类型

|
第二个问题:如果是键盘,应该显示一个对应的mouse和一个event才对啊。说详细点你的问题吧!

|
这个不用判断,你直接从那几个描述符读就可以了,根据读出来的内容区分键盘鼠标就可以了

|
[root@localhost device]# cat  /sys/class/input/event1/device/name
Macintosh mouse button emulation
[root@localhost device]# cat  /sys/class/input/event2/device/name
AT Translated Set 2 keyboard
[root@localhost device]# cat  /sys/class/input/event3/device/name
ImPS/2 Generic Wheel Mouse
  
读出名字进行比较。因为这些名字都是固定的

|
读取/dev/input/mice可以得到所有鼠标的信息,只要有鼠标读它就行,因为所有的鼠标的消息都会发给它一份,而且mice是全局唯一且固定的。

至于键盘,顺序读取各个eventX,看看消息类型是不是按键时间就行了。是按键事件的就对应键盘。

这样你觉得怎么样?

    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • C++ I/O 成员 getline():读取一行字符
  • read函数读取文件时如何一行一行的读取,请指教!
  • C++ I/O 成员 tellg():使用输入流读取流指针
  • linux 下使用 FREETDS 访问数据库 image 字段的问题, 仅能读取 64K ,超出部分读取不到?
  • C++ I/O 成员 ignore():读取字符并忽略指定字符
  • java中读取.txt和读取.ini文件的方式和命令是否一样
  • C++ I/O 成员 read():读取字条符
  • 上传文件时,如何在读取文件内容之前中断读取,并返回客户端错误信息?
  • C++ I/O 成员 gcount():返回读取的最后一次输入的字符数
  • 光驱中有一张光盘,成功读取,现在想换另一张光盘并读取,该如何做
  • C++ I/O 成员 get():读取字符
  • 请问在Java程序中能否直接读取ini文件,如何读取?
  • C++ I/O 成员 tellp():使用输出流读取流指针
  • 高手帮忙:如何用java读取数据(从ftp服务器上一个文本文件)但不采用get的方式直接读取,打印数据内容(web方式)
  • 使用libpcap读取tcpdump抓取的文件并解析c代码实例
  • python读取浮点数和读取文本文件示例
  • 读取spring配置文件的方法(spring读取资源文件)
  • 串口读取数据的问题
  • 能否读取一个二进制文件的大小
  • c语言读取csv文件和c++读取csv文件示例分享
  • linux下的mib读取问题?大虾帮解答下


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3