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