是否有人知道LINUX中HID事件的非阻塞 reed()命令的过程
目前我正在使用
read(fd, ev, sizeof(struct hiddev_event) * EV_NUM);
但是当我的HID指针设备没有朝向传感器栏时,它会进入 BLOCKING 阶段
亲切的问候,
Madni
答案 0 :(得分:1)
我认为需要更多信息来回答这个问题。我看过的大多数USB HID API都在Open()方法中放置了一个异步标志。一般情况下,您不打算一次进行异步读取,然后使用同步读取进行异步读取。所有read()调用都应使用相同的技术。
打开设备时是否使用O_NONBLOCK标志?
答案 1 :(得分:0)
谢谢
它解决了问题
以非阻止模式打开HID设备
char *dev1="/dev/usb/hiddev0";
if ((fd = open(dev1, O_NONBLOCK)) < 0) {
perror("evdev open");
exit(1);
}
此致