Linux获取 dev input目录下的event对应的设备_linux dev event能否指定

收集整理了一份《2024年最新物联网嵌入式全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升的朋友。
img
img

如果你需要这些资料,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人

都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

当我们在Linux操作系统下使用input子系统时,当我们先插鼠标,在插上摄像头与先插摄像头,在插鼠标,操作系统为两个设备分配的event号不是固定的,先插上的是event0,后插上的是event1 。那么问题来了,我们写应用程序,我们怎么知道那个设备对应那个event接口,我们不可能认为指定使用那个接口,因为有时候插播顺序并不一致,下面我用代码来获取event接口。

使用cat /proc/bus/input/devices

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

N: Name=“AT Translated Set 2 keyboard”

P: Phys=isa0060/serio0/input0

S: Sysfs=/devices/platform/i8042/serio0/input/input2

U: Uniq=

H: Handlers=kbd event2

B: EV=120013

B: KEY=4 2000000 3803078 f800d001 feffffdf ffefffff ffffffff fffffffe

B: MSC=10

B: LED=7

I: Bus=0011 Vendor=0002 Product=0005 Version=0000

N: Name=“ImPS/2 Generic Wheel Mouse”

P: Phys=isa0060/serio1/input0

S: Sysfs=/devices/platform/i8042/serio1/input/input3

U: Uniq=

H: Handlers=mouse1 event3

B: EV=7

B: KEY=70000 0 0 0 0 0 0 0 0

B: REL=103

主要观察打印信息,Name项是不一样的,我们就可以从这里下手,读取到这个名字,然后在这一类中读取event的值。

#include <stdlib.h>
#include <stdio.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <unistd.h>
#include <string.h>
 #include <sys/mman.h>

//#define DBG_PRINTF(...)  
#define DBG_PRINTF printf

char *command="cat /proc/bus/input/devices > log.txt" ;
char *file_path="./log.txt";
char  *file_buff;
 int number;
int find_event()
{
	int iFd;
    FILE *tFp;
	struct stat tStat;
	char *sub_buff="Handlers=mouse1";  
	/* according  to mouse name find event number*/
	
	char *buff;

	tFp=fopen(file_path,"r+");    /* check if have log.txt file */
	if(NULL!=tFp)
	{
	  fclose(tFp);
	  system("rm log.txt");
	}

	system(command);
	/* 打开文件 */
	tFp = fopen(file_path, "r+");
	if (tFp == NULL)
	{
		DBG_PRINTF("can't open %s\n", file_path);
		return -1;
	}
	
    iFd = fileno(tFp);

	fstat(iFd, &tStat);


![img](https://img-blog.csdnimg.cn/img_convert/dbf93c6e55bf10eda2a710563b0a153e.png)
![img](https://img-blog.csdnimg.cn/img_convert/ebc8d635cb62924cd6f131d28516d212.png)

**既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上物联网嵌入式知识点,真正体系化!**

**由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、电子书籍、讲解视频,并且后续会持续更新**

**[如果你需要这些资料,可以戳这里获取](https://bbs.csdn.net/topics/618679757)**

比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、电子书籍、讲解视频,并且后续会持续更新**

**[如果你需要这些资料,可以戳这里获取](https://bbs.csdn.net/topics/618679757)**

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值