0

有谁知道LINUX中HID事件的非阻塞reed()命令 过程

目前我正在使用

            read(fd, ev, sizeof(struct hiddev_event) * EV_NUM); 

但它进入阻塞阶段,当我的 HID 指点设备不朝向传感器条时

亲切的问候,

马德尼

4

2 回答 2

1

我认为需要更多信息来回答这个问题。我看过的大多数 USB HID API 都在 Open() 方法中放置了一个异步标志。通常,您不会希望进行一次异步读取,然后再进行同步读取。您的所有 read() 调用都应使用相同的技术。

打开设备时是否使用了 O_NONBLOCK 标志?

于 2009-07-08T13:25:03.343 回答
0

谢谢

它解决了这个问题

以非阻塞模式打开 HID 设备

char *dev1="/dev/usb/hiddev0";

if ((fd = open(dev1, O_NONBLOCK)) < 0) {

  perror("evdev open");

  exit(1);

}

问候,

于 2009-07-08T13:31:46.080 回答