gpt4 book ai didi

c++ - 在/dev/input/event*中动态找到鼠标事件id

转载 作者:太空狗 更新时间:2023-10-29 12:35:45 29 4
gpt4 key购买 nike

我正在使用这段代码读取 linux 中的鼠标输入事件。

      #define MOUSEFILE "/dev/input/event13"

if((fd = open(MOUSEFILE, O_RDONLY)) == -1) {
perror("opening device");
exit(EXIT_FAILURE);
}

while(read(fd, &ie, sizeof(struct input_event)))
{

}

我在终端中手动使用 cat/proc/bus/input/devices 来查找我连接的鼠标的事件 ID,每次我重新启动 linux 时它都不一样。有没有一种方法可以动态地找到我连接的鼠标的事件 ID。

最佳答案

您可以使用自定义 udev 规则保持相同的设备名称。参见 this例如。

基本上,只需在 /etc/udev/rule.d 下创建一个文件,内容如下:

 KERNEL=="event*", SYSFS{manufacturer}=="Microsoft", SYSFS{idProduct}=="0023", NAME="input/mstrackball"

您可以在您的 sysfs 中找到产品 ID 和其他内容。

关于c++ - 在/dev/input/event*中动态找到鼠标事件id,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12173670/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com