cat /proc/bus/input/devices 解读

在linux系统下输入cat /proc/bus/input/devices,将会得到系统上所有注册的input设备信息,下面截取鼠标的示例来进行讲解。
在这里插入图片描述
N:描述这个设备的名字,这里为鼠标。
H:表示哪个设备,这里为event4,所以,当我们需要读取鼠标设备的数据时,可以自己写个程序,然后open(“/dev/input/event4”, O_RDONLY),接着就可以读取input_event数据了。或者在命令行下面使用hexdump /dev/input/event4查看设备数据。
B:EV=17 ,这个是16进制,换算为二进制为10111。把它当做是个位图,因为第0, 第1, 第2, 第4位为1,并且根据内核的按键码头文件input-event-code.h可得,这个设备注册的功能为同步功能,按键功能,相对功能,杂项功能。所以在它的下面会有三个功能,从上到下分别为按键功能,相对功能,杂项功能。不考虑同步功能,它就是个同步的作用。
在这里插入图片描述
B:KEY,表示这是一个按键功能,且为16进制。这一行扩展为16进制,KEY=0x00070000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000。也把它当做是一个位图,观察可知第272位, 第273位,第274位为1,其他都为0,接着查看头文件,可得这三个键为BTN_LEFT, BTN_RIGHT, BTN_MIDDLE,对应一个的左键,中键,右键。十进制的272=十六进制的0x110。
在这里插入图片描述

B:REL,表示这个功能上报的是相对数据,符合鼠标这个功能,因为鼠标移动时上报的是偏移量数据。同理,把它当做16进制,则扩展为二进制:100000011。观察可知,第0,第1, 第8位为1,所以它的功能为x偏移量,y偏移量,滚轮偏移量。
在这里插入图片描述
B:MSC,这个是杂项功能,同理它的功能是MSC_SCAN功能,暂时不知它做什么用。
在这里插入图片描述

测试
  执行evtest命令,并选择具体的input设备,然后按下设备的按钮,就可以看到按键数据了。

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值